03-01-2013, 04:36 PM
Analysis,Object Modeling
1Analysis,.ppt (Size: 820.5 KB / Downloads: 97)
Activities during Object Modeling
Main goal: Find the important abstractions
Steps during object modeling
1. Class identification
Based on the fundamental assumption that we can find abstractions
2. Find the attributes
3. Find the methods
4. Find the associations between classes
Order of steps
Goal: get the desired abstractions
Order of steps secondary, only a heuristic
What happens if we find the wrong abstractions?
We iterate and revise the model
Class Identification
Class identification is crucial to object-oriented modeling
Helps to identify the important entities of a system
Basic assumptions:
1. We can find the classes for a new software system (Forward Engineering)
2. We can identify the classes in an existing system (Reverse Engineering)
Why can we do this?
Philosophy, science, experimental evidence.
Class identification is a Hard Problem
One problem: Definition of the system boundary:
Which abstractions are outside, which abstractions are inside the system boundary?
Actors are outside the system
Classes/Objects are inside the system.
An other problem: Classes/Objects are not just found by taking a picture of a scene or domain
The application domain has to be analyzed
Depending on the purpose of the system different objects might be found
How can we identify the purpose of a system?
Scenarios and use cases => Functional model
Naming Object Types in UML
UML provides the stereotype mechanism to introduce new types of modeling elements
A stereotype is drawn as a name enclosed by angled double-quotes and placed before the name of a UML element (class, method, attribute, ….)
Notation
Finding Participating Objects in Use Cases
Pick a use case and look at flow of events
Do a textual analysis (noun-verb analysis)
Nouns are candidates for objects/classes
Verbs are candidates for operations
This is also called Abbott’s Technique
After objects/classes are found, identify their types
Identify real world entities that the system needs to keep track of (FieldOfficer Entity Object)
Identify real world procedures that the system needs to keep track of (EmergencyPlan Control Object)
Identify interface artifacts (PoliceStation Boundary Object).