Title: OBJECTORIENTED METHODS Ch6' Objectoriented analysis and design
1OBJECT-ORIENTED METHODSCh6. Object-oriented
analysis and design
- Ian Graham
- 2004. 5. 4
- SE Lab KAIST
- Lee Hee-Jin
2Contents
- Introduction
- History of object-oriented method
- Influences on UML
- Reusable specs
- Early analysis methods
- Classify methods
- Responsibility VS Data
- Translational VS Elaborational
- Summary
3Introduction
- History of UML
- Object-oriented methods
- Design methods
- Analysis methods
4History of Object-Oriented Method
- Object-oriented design (Grady Booch, 1991, 1994)
- Object-oriented systems analysis (Shlaer and
Mellor, 1988, 1992) - Simple object-oriented methods( Coad and Yourdon
, 1990)
5History of Object-Oriented Method
- OMT
- Rambaygh et al. 1991
- Data-driven method (relational database design)
- Separation process from data
- C , Relational database
- Extended E-R approach
- UML-gt programming applicationOMT-gt database
application
6History of Object-Oriented Method
- RDD
- Wirfs-Brock
- Responsibility driven design
- Extension of using CRC card for design
- Introduction of stereotypes
- CRC cards (classes with responsibilities and
collaborations as starting point ) - Objectory
- Proprietary method
- Swedish company , Jacobson (OOSE)
- Starting analysis with use case not class model.
- First method including bona fide
7History of Object-Oriented Method
- MOSES
- Henderson-Sellers and Edwards, 1994
- Full- brown development process
- Metrics suite and an approach to reuse management
- SOMA
- Graham, 1995
- Influenced by MOSES
- Requirements engineering, process, agent-based
systems
8History of Object-Oriented Method
- Fusion
- Coleman , 1994
- Combining techniques to published methods
- OPEN
- Informal group of 30 methodologists
- Brain-Henderson-Sellers, Graham, Don Firesmith
9History of Object-Oriented Method
- UML
- Jim Rumbaugh, Gradyy Booch(Rational Inc.), Ivar
Jacobson - Real-time elements (ROOM )
- Formal constraint language (Syntropy)
- Multiple interfaces to class (COM)
- Activity diagrams for process modeling
(Martin-Odell method) - Stereotypes (Rebecca Wirfs-Brook)
- Catalysis (naissance of UML)
- Techniques for component-based development along
with coherent guidance for UML
10Influences on UML
11Reusable specs (1/3)
- Less than half of system (Biggerstaff and
Richter) - Raising the level of abstraction of the
components. - Abstraction
-
- Reusable specification suitable for any business
(e.g. BIS mortgage model.)
Analysis, specification
Design
Code
12Reusable specs (cont) (2/3)
- Analysis-specification and logical modeling
- Design-architectural modeling
- Coding and testing implementation
- Overlapping between design analysis
13Reusable specs (cont) (3/3)
- Design
- Logical
- No difference between object-oriented design and
analysis. - Physical
- Structured analysis , Structured design
- Lack of overlap
- Smooth transition between two
- Tracing problem
- Overcoming traceability problem
- Better than DFD or Structure chart
14Early Analysis methods (1/3)
- Primary aspects of a system
- Data (data, objects or concepts and structure)
- Process (architecture or temporal process)
- Control (dynamic or system behavior)
- Object orientation combines data, process
15Early Analysis methods(cont)(2/3)
- CRUD(Create,Read,Update,Delete)
- Which processor
- Which entities
- How they are used
- Data-centered
- Data model
- Process-oriented
- DFD or activity diagram
- Real time
- Finite state machines
- STDs (n attributes -gt 2n states)
16Early Analysis methods (cont)(3/3)
- Coad(coad and Yourdon, 1991)
- Simple, lack support for describing system
dynamics - OMT(Rumbaugh , 1991) and Shlaer-Mellor
- Richer, complex to learn
- OSA
- Constraints on the diagrams as a sort of
afterthought - SOMA
- Object-oriented analysis notation with
knowledge-based system style - Supporting fuzz generalization,
17Classifying Methods (1/2)
- Responsibility-driven vs data-driven approaches
- Data-driven
- Usually preferred.
- Entity-Relationship modeling (Shalaer/Mellor )
- Most of static data stores classes (like main
routine in C) - Tend to produce un-reusable class
- Responsibility-driven
- Wirfs-Brock
- More reusable classes.
- Responsibility-driven is better.
18Classifying Methods (cont)(2/2)
- Translational vs Elaborational
- Elaboration
- OMT,RUP
- Creating an initial model
- Adding more detail
- Translational
- Shlaer-Mellor
- Process-sequence of separate model
19Summary
- History of UML
- Object-oriented methods