FAQ to Object Oriented Analysis
|
|  |  |  |  |  |  |
What is OOA?
OOA is short for Object Oriented Analysis. OOA is elicitation and documentation of requirements to a soft- or hardware system with help of object oriented methods and a suited object oriented notation. The goal is, to depict the real world of the system to be created in all relevant aspects.. |
Which other concepts belong to OOA? |
- OOSE (Object oriented software development)
- Business process modeling
- Domain Model
- Use-Case-Analysis
|
| Are there any definitions of OOA? |
|  |  |  |  |  |  |
Heide Balzert:
"Elicitation and description of requirements to a software system with object oriented concept and notation. The result is an OOA-model."
Grady Booch:
"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." |
|  |  |  |  |  |  |
| What is OOA used for ? |
|  |  |  |  |  |  |
OOA is used to document domain logic of a complex system in an easy, short and clear way. Object orientation helps to document a complex system with appropriate means without getting lost in extensive wording.
The object oriented semi formal notation also helps to find gaps in requirements fast and effectively. The object oriented process supports an iterative process ideally, because the system can be structured clearly and the transformation from analysis to design is easily possible. |
|  |  |  |  |  |  |
| When and how is OOA used? |
|  |  |  |  |  |  |
| OOA is a technique of system analysis. After first visions, goals and requirements to a new system have been elicited, the detailed professional requirements have been modeled per OOA. Afterwards the model is refined that it can be used as basis for the design and the architecture of the system, according the respective development process. |
|  |  |  |  |  |  |
| What can happen if OOA is not used? |
|  |  |  |  |  |  |
| If no OOA was implemented at the time of analysis in a large, complex system the system description may become incomprehensible and confusing. In the worst case the project participants do not comprehend the system and implement it in a wrong way. In this case OOA usually is "made up incidentally" in other project activities. This is one of the most common reasons for exceeding time budgets for architecture, design- and test activities. |
|  |  |  |  |  |  |
| Is it necessary to have a tool? |
|  |  |  |  |  |  |
| Theoretically, OOA-Models can be drawn with pen and paper. However, tool support offers considerable advantages when creating a model. For mid-sized to large projects with several analysts a tool is imperative. By model views and consistency checking the model complexity can be reduced. |
|  |  |  |  |  |  |
| How much does OOA cost, what does it yield? |
|  |  |  |  |  |  |
To implement OOA , some effort is necessary in order to elicit and complete professional requirements in form of models. This effort pays off quickly, because it is needed anyway, and it can not be accrued at other project activities.
Because the complexity of each single activity is reduced, the total effort is also reduced. As a result of the OOA, professional logic and complex system connections exist as an input for design and implementation activities. With OOA legal binding analysis results may be used as contract basis in customer- and supplier relationships. |
|  |  |  |  |  |  |
| Who would (typically) use OOA? |
|  |  |  |  |  |  |
Generally, OOA is used in projects that have a running time of at least one year, and have to manage a mass of requirements (> 1000 pages of requirements documentation).
Another motivation is little domain knowledge of the software developers. OOA aids to understand the areas of application systematically. This happens independently of project size. |
|  |  |  |  |  |  |
| What kind of training is needed for using OOA? |
|  |  |  |  |  |  |
The knowledge of object oriented methods is necessary to do OOA. The understanding of OO-techniques, such as classes, generalization, composition and of OO-concepts such as coupling and cohesion, is crucial for an analyser to be able to implement OOA.
Additionally, for OOA, knowledge of a standard notation is needed, the Unified Modeling Language (UML). An OO-analyst needs to know the different available diagrams and their application areas. |
|  |  |  |  |  |  |
| Which websites/books are providing additional information? |
|  |  |  |  |  |  |
Booch, G.: Object-Oriented Analysis and Design, Benjamin/Cummings Publishing Company, 1994
Larman C.: Applying UML and Patterns, Prentice Hall 2001
http://www.cetus-links.com
http://hillside.net/patterns/ |