Beruflich Dokumente
Kultur Dokumente
• Analysis is the process of extracting the needs of a system and what the
system must do to satisfy the users’ requirement.
• Analysis is the process of transforming a problem definition from a fuzzy
set of facts and myths in to a coherent statements of a system’s
requirement
• Analysis step starts to identify some of the candidate objects / classes
that will be needed in the system.
• Object Oriented Analysis (OOA) concerned with developing an object
oriented model of the application domain.
• Analysis is different from requirements elicitation in that developers
focus on structuring and formalizing the requirements elicited from users
02/09/2021 O-O Software Engineering 3
Benefits of OOA
• Maintainability
less analysis effort
Less complexity in the system design
Easier verification by the user
• Reusability
Reuse of the analysis artifacts that are independent of the analysis
method or programming language
• Productivity: direct mapping to features of OOP languages
• Analysis activity
• Identify one control object per use case or more if the use case
is complex and if it can be divided into shorter flows of events.
• Identify one control object per actor in the use case.
• The life span of a control object should be extent of the use
case or the extent of a user session.
• If it is difficult to identify the beginning and the end of a control
object activation, the corresponding use case may not have a
well-defined entry and exit condition.
• Properties that are represented by objects are not attributes. For example, every
EmergencyReport has an author represented by an association to the FieldOfficer
class.
• Developers should identify as many associations as possible before identifying
attributes to avoid confusing attributes and objects.
• Any property that needs to be stored by the system is a candidate attribute.
02/09/2021 O-O Software Engineering 34
Heuristics for identifying attributes