Beruflich Dokumente
Kultur Dokumente
Analysis results in a model of the system that aims to be correct, complete, consistent and
verifiable.
O-O Analysis is important because we cannot build software (O-O and otherwise) until
we have a reasonable understanding of the system or product. It offers us a concrete way
in which we may represent our understanding of requirements and then test that
understanding against the customers' perception of the system to be built.
Steps:
1. Begin with a description of Use Cases
2. Translate the information in the use cases into Class-Responsibility-Collaboration
(CRC) models of representation of classes and their collaborators with other
classes.
3. Model the static and dynamic characteristics of classes using UML or some other
method.
Static – Structural in nature/holds throughout the operational life
Dynamic – Focus on control and are sensitive to timing and event processing
To build the O-O Analysis model, five (5) basic principles are applied
1. Model the information domain
2. Describe the function of the system
Analysis model:
Model
Analysis Concepts
• Entity, boundary and control objects
• Association multiplicity
• Qualified association
• Generalization
Association multiplicity
When we model with UML, the end of an association can be labeled by a set of integers
called multiplicity. The multiplicity indicates the number of links that can legitimately
originate from an instance of the class connected to the association end.
2Bwatch
1 1
2 1
Button LCD-Display
Qualified Association
Qualification is a technique for reducing multiplicity-using keys. Association with a 0…1
or 1 multiplicity are easier understood than association with a 0…n or 1…n multiplicity.
Without Qualification
File
Directory *
1 Filename
1 0…1 File
Directory Filename
Reducing multiplicity is always preferable as the model becomes clearer and fewer cases
have to be taken into account.
Generalization
Generalization enables us to organize concepts into hierarchies. At the top is a general
concept and at the bottom of the hierarchy are the most specified concepts. See example
Incident
Earthquake ChemicalLeak
CatInTree
TrafficAccident BuildingOnFire
below.
Example of Generalization
Generalization and inheritance are closely related concepts, they are however not
identical. Inheritance is a mechanism for reusing attributes and behaviours, even when
the classes involved in the inheritance do not have a generalization.
The DA Process
Definition:
Software domain analysis is the identification, analysis, and specification of common
requirements from a specific application domain, typically for reuse on multiple projects
within that application domain… [Object-Oriented Domain Analysis is] the
Additionally create a set of reuse guidelines and develop an example that illustrates how
the domain objects could be used to create a new application.
Ultimately, the goal of DA is to create software within the domain with a high percentage
of reusable components, lower costs, higher quality and improved time to market.