Object-oriented analysis and design (OOAD) is a popular technical approach to analyzing, designing an application, system, or business by applying the object-oriented paradigm and visual modeling throughout the development lifecycles to foster better Communication and product quality. According to the popular Unified Process guide, OOAD in modern software engineering is best done iteratively and incrementally. Iteration iteration, OOAD activity results, OOA analysis models, and OOD design models respectively, will be continuously refined and evolved driven by key factors such as risk and business value.
Object-oriented methods allow us to create sets of objects that work together synergistically to produce software that better modulate their problem domains than similar systems produced by traditional techniques. The system created using object-oriented methods is easier to adapt to changing requirements, easier to maintain, more robust, promote greater design.
History
In the early days of object-oriented technology before the mid-1990s, there were many different competing methodologies for software development and object-oriented modeling, often linked to manufacturers of computer-aided software engineering tools ( CASE). There are no standard notations, consistent terms and process guides were the main concerns at the time, which degraded communication efficiency and the lengthening of learning curves. Some of the well-known early object-oriented methodologies were inspired by gurus such as Grady Booch, James Rumbaugh, Ivar Jacobson (The Three Amigos), Robert Martin, Peter Coad, Sally Shlaer, Stephen Mellor and Rebecca Wirfs-Brock.
In 1994, Rational Software's Three Friends began working together to develop the Unified Modeling Language (UML). Together with Philippe Kruchten and Walker Royce, Winston Royce's eldest son, they have led a successful mission to merge their own methodologies, OMT, OOSE and Booch, with various ideas and experiences from other industry leaders in the Rational Unified Process (RUP), a comprehensive guide and framework for iterative and incremental processes for learning best practices in software development and project management. Since then, the Unified Process family has probably become the most popular methodology and reference model for object-oriented analysis and design.