Object-oriented analysis and design (OOAD) is a technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development process to guide stakeholder communication and product quality.
OOAD in modern software engineering is typically conducted in an iterative and incremental way. The outputs of OOAD activities are analysis models (for OOA) and design models (for OOD) respectively. The intention is for these to be continuously refined and evolved, driven by key factors like risks and business value.
Object-oriented analysis is a method of analysis that examines requirements from
the perspective of the classes and objects found in the vocabulary of the problem
domain.
How are OOA, OOD, and OOP related? Basically, the products of object-oriented
analysis serve as the models from which we may start an object-oriented design;
the products of object-oriented design can then be used as blueprints for completely
implementing a system using object-oriented programming methods.
The underlying concept of object-oriented analysis is that one should
model software systems as collections of cooperating objects, treating individual
objects as instances of a class within a hierarchy of classes. Object oriented
analysis and design directly reflects the topology of high-order
programming languages such as Smalltalk, Object Pascal, C++, the Common
Lisp Object System (CLOS), Ada, Eiffel, Python, Visual C#, and Java
The boundaries between analysis and design are fuzzy, although the focus of each
is quite distinct. In analysis, the focus is to fully analyze the problem at hand and
to model the world by discovering the classes and objects that form the vocabulary
of the problem domain. In design, we invent the abstractions and mechanisms
in our models that provide the design of the solution to be built.
What is Object Oriented Analysis (OOA)?
Object Oriented Analysis (OOA) is process of discovery where a development team understands and models the requirements of the system. In OOA requirements are organized as objects. It integrates all the process and data. But in others or traditional structural analysis both process and data are considered independently/separately. They use flow chart/structure charts for process and ER diagrams for data.
But In OOA some advance models are used. The common models used in OOA are: Use cases, Object models. Use cases describe pictures or overview for standard domain functions that the system must achieved. Object models describe the names, class relations, operations, and properties of the main objects. User-interface prototypes can also be created for better understanding.
Object Oriented Analysis (OOA) begins by looking at the problem domain (the area of expertise or application that needs to analyze in order to solve a problem). Its aim is to produce a conceptual model of the information that exists in the area being analyzed. For the analysis there are a variety of sources. It can be a formal document, a written requirements statement, interviews with stakeholders/other interested parties, other methods, etc. The final result of object oriented analysis will appear in the form of a conceptual model that describes what the system is functionally required to do.
Functionalities of OOA
The core activities in OOA are given bellow:
- Find the objects
- Organize the objects by creating object model diagram
- Explain how the objects communicates with each others
- Set the characteristic or behavior of the objects
- Set the internal of the objects
Advantages of OOA
The OOA provides better performance. Some common advantages of OOA are given bellow:
- Its focuses on data rather than the procedures as in Structured Analysis
- The objectives of encapsulation and data hiding help the developer to develop the systems that cannot be tampered by other parts of the system
- It allows effective software complexity management by the virtue of modularity
- It can be upgraded from small to large system easily
Structured Analysis VS Object Oriented Analysis
Some differences between Structured Analysis and Object Oriented Analysis are given bellow:
- Structured Analysis treats processes and data as separate components. Where, OO Analysis Combines processes and data into single component which called object
- Structured Analysis does not support re-usability of code. So, the development time and cost is naturally high. But OO analysis supports code re-usability which reduce the development time and cost
- The Object Oriented Analysis and Design (OOAD) is a new dimension to develop the software system. It provides better performance comparatively to tradition structured analysis. But in some case it is inappropriate. We should consider the advantages and disadvantages of both OOA and structured analysis to choice correct techniques.
Example - Simple Library Management System
The requirement is to develop a software to run a small library.
The library consists of a set of books specialized in computer science, categorized based on technologies.
Librarian
- The librarian is responsible for the inventory.
- Enrolls new subscribers
- Removes subscribers
- Catalogs the new books
- Decatalog damaged or lost books
- Place them physically in correct racks
- Issues the books to the subscribers
- Restocks the returned books
- Alerts subscribers who overborrowed the books
Subscribers
- Borrows books from the library
- Returns books from the library
Implementation
During OOA we develop two different perspectives of a system:
1. Use-Case Model
2. Domain Class Model
Use Case Analysis
Use cases describe sequences of events
- The user interacting with the product to achieve his/her goal
The goals of use case analysis:
- Design system from user’s perspective
- Communicate system behavior in user’s terms
- Comprehensive insight into the behavior of system
Use cases come in two flavors:
Use case texts:
- a sequence of numbered steps
- describes a user goal
- maybe developed from a scenario
Use case diagrams:
- illustrates a use case text as a stylized diagram

No comments:
Post a Comment