Professional Documents
Culture Documents
Object Oriented Analysis
Object Oriented Analysis
SOFTWARE ENGINEERING
UNIT 04 : Object Oriented Analysis
REQUIREMENTS ELICITATION
References:
Bruegge B., and Dutoit A. H. 2010, Object-oriented Software Engineering using UML, Patterns and Java, 3rd ed., Prentice Hall (Chapter 4)
Pressman, R. S., 2001, Software Engineering - A Practitioner's Approach, Fifth Ed., McGrawHill (Chapter 21)
REQUIREMENTS ELICITATION
REQUIREMENTS ELICITATION ACTIVITIES
Identify actors Source of information
Identify scenarios Client-supplied documents
Identify use cases Manuals
Refine use cases Technical documentation of
Identifying relationships legacy systems
among use cases End-user discussions
Identifying nonfunctional
requirements
TWO METHODS FOR ELICITING INFORMATION
REQUIREMENTS ANALYSIS
References:
Bruegge B., and Dutoit A. H. 2010, Object-oriented Software Engineering using UML, Patterns and Java, 3rd ed., Prentice Hall (Chapter 5)
Pressman, R. S., 2001, Software Engineering - A Practitioner's Approach, Fifth Ed., McGrawHill (Chapter 21)
DOMAIN ANALYSIS
REQUIREMENTS ELICITATION AND ANALYSIS
ANALYSIS MODEL
ANALYSIS CONCEPTS
Analysis object models and dynamic models
– Object model – system, properties and relationships (class diagram)
– Dynamic model – behavior of system (sequence diagram, state
machine)
ANALYSIS CONCEPTS
Classes
ANALYSIS CONCEPTS
Entity, boundary, and control objects
– Entity – objects
– Boundary – interactions between actors and system
– Control – realising use cases
ANALYSIS CONCEPTS
Generalisation and specialisation
– Generalisation – identify abstract concepts from lover-
level ones
– Specialisation – identify more specific concepts from
high-level one
ANALYSIS CONCEPTS
Generalisation and specialisation
ANALYSIS ACTIVITIES
1. Identifying Entity Objects 7. Identifying Aggregates
2. Identifying Boundary Objects 8. Identifying Attributes
3. Identifying Control Objects 9. Modeling State-Dependent
4. Mapping Use Cases to Objects Behavior of Individual Objects
with Sequence Diagrams 10. Modeling Inheritance
5. Modeling Interactions among Relationships
Objects with CRC Cards 11. Reviewing the Analysis Model
6. Identifying Associations
1. IDENTIFYING ENTITY OBJECTS
IDENTIFYING ENTITY OBJECTS
ReportEmergency USE CASE
2. IDENTIFYING BOUNDARY OBJECTS
ReportEmergency BOUNDARY OBJECTS
3. IDENTIFYING CONTROL OBJECTS
IDENTIFYING CONTROL OBJECTS
USE CASES
Define functional and operational requirements
of the system by defining a scenario of usage.
Provide a clear and unambiguous description of
how the end-user and system interact with one
another.
Provide a basis for validation testing.
USE CASES
USE CASES
4. MAPPING USE CASES TO OBJECTS WITH SEQUENCE
DIAGRAMS
Class-responsibility-collaborator modeling
Classes – have characteristics: retained information, needed services, multiple
attributes, common attributes, common operations, essential requirements
Class types:
device class (e.g. sensor)
property class (e.g. rating)
interaction class (e.g. purchase, license, acquisition)
MAPPING INTERACTIONS AMONG OBJECTS WITH CRC CARDS
Are there objects with similar attributes and associations that are
not in the same generalization hierarchy?
A REALISTIC MODEL?
Are there any novel features in the system? Were any studies or
prototypes built to ensure their feasibility?
4. Glossary
ASSIGNING RESPONSIBILITIES
End-user - functions, workflows, data
Client – integration role, scope of system
Analyst – application domain expert, models current system and
future system, detailed use cases
Architect – integrates use cases and object models
Document editor – documentation
Configuration manager – maintains revisions, decompositions
Reviewer – validates correctness, completeness, consistency, and
clariy
Revision
process
SELF STUDY
5.5.3. Analysis communication
5.5.4. Iterating over analysis model
5.5.5. Client sign-off
5.6. ARENA Case Study
End of Unit 04 : Object-oriented Analysis