OBJECT ORIENTED
SYSTEMS
DEVELOPMENT
Ali Bahrami
Bocit Rasoarch & Technclooy
Irwin
itd McGraw-Hill
Boston Burr Rdge, IL Cubugue, IA. Maison, WI New York. San Francisco
Bangkok Gogold. Caracas Usbon London Marico
biCONTENTS
Introduction
AM OVERVIEW OF OBJECT.
ORIENTED SYSTEMS
DEVELOPMENT
1.1 Introduction
1.2 Two Orthogonal Views of the
‘Software
1.3 Object-Oriented Systems
Development Methodology
1.4. Why an Object Orientation?
1.5 Overview of the Unified
Approach 6
1.6 Organization of This Book 6
1.7 Summary un
‘2, OBJECT BASICS 13,
2.1 Introduction B
2.2 An Object-Oriented Philosophy 14
28 Objects 1s
2.4 Objects Are Grouped In Classes 16.
[2.5 Attrbutes: Object State and
Properties 7
2.6 Object Behavior and Methods 18
2,7 Objects Respond to Messages 18
2 Encapauitlon and ntormation
Hiding 20
29 Class Hierarchy a
2.9.1 Inheritance 2B
2.9.2 Multiple Inheritance 25
_2210 Polymorphism 2s
2.11 Object Relationships and
Associations: 6
2.11.1 Consumer-Producer
Association 6
2.12 Aggregations and Object
Containment 2
2.13 Case Study: A Payroll Program 28
2.13.1 Structured Approsch 28
2.13.2 The Object-Oriented
Approach 30
viiiili contents
2.14 Advanced Topics
2.14.1 Object and Identity
2.142 Static and Dynamic
Binding
2.143 Object Persistence
2.144 Meta-Classes
2.45 Summary
3. OBJECT-ORIENTED SYSTEMS:
DEVELOPMENT LIFE CYCLE
3.1 Introduction
3.2 The Software Development
Process
3.3 Building High-Quality Software
34 Object-Oriented Systems
Development: A Use-Case
Driven Approach
3.4.1 Object-Oriented Analysis—
Use-Case Driven
3.4.2 Object-Oriented Design
3.43 Prototyping
3.4.4 Implementation: Component-
Based Development
3.4.5 Incremental Testing
3.5 Reusability.
3.6 Summary
88
PoE
Methodology, Modeling, and
Unified Modeling Language
4. OBJECT-ORIENTED
METHODOLOGIES
4.1 Introduction: Toward
Unification—Too Many
Methodologies
4.2 Survay of Some of the Object-
Oriented Methodologies
4.3 Rumbaugh et al’s Object
Modeling Technique
4.3.1 The Object Model
43.2 The OMT Dynamic Model
43.3 The OMT Functional Model
4.4 The Booch Methodology
44.1 The Macro Development
Process
4.42 The Micro Development
Process
45 The Jacobson et al.
Methodologies:
45.1 Use Cases,
4.5.2 Object-Oriented Software
Engineering: Objectory
4.53 Object-Oriented Business
Engineering
436 Patterns:
4.6.1 Generative and
Nongenerative Pattems
4.622 Patterns Template
4.63 Antipatterns
4.64 Capturing Patterns
4.7 Frameworks
48 The Unified Approach
48.1 Object-Oriented Analysis
4.8.2 Object-Oriented Design
4.8.3 Iterative Development and
Continuous Testing.
484 Modeling Based on the
Unified Modeling Language
48.5 The UA Proposed
Repository
48.6 The Layered Approach to
Software Development
486.1 The Business Layer
4862 The User Interface (View)
Layer
4863 The Access Layer
4.9 Summary
8
8
ae
o
8
0
n
n
80
81
2
3
gee
5, UNIFIED MODELING LANGUAGE £9
5.1 Introduction
8.2 Static and Dynamic Models
L 5.2.1 Static Model
5.2.2. Dynamic Model
53 Why Modeling?
5.4 Introduction to the Unified
Modeling Language
5.5 UML Diagrams.
SA UML Class Diagram
5.6.1 Class Notation: Static
Structure
5.6.2 Object Diagram
5.6.3 Class Interface Notation
5.6.4 Binary Association Notation
5.65 Association Role
5.6.6 Qualifier
5.6.7 Multiplicity
5.6.8 OR Association
5.6.9. Association Class
5.6.10 N-Ary Association
5.6.11 Aggregation and
‘Composition
12. Generalization
[57 Use-Case Diagram
5.8 UML Dynamic Modeling
5.8.1 UML Interaction Diagrams
S811 UML Sequence Diagram
: 58.2. UML Collaboration Diagram
5.82 UML Statechart Diagram
583 UML Activity Diagram
i 5.8.4 Implementation Diagrams
5.84.1 Component Diagram
5.84.2 Deployment Diagram
5.9 Model Management: Packages
and Model Organization
‘5.10 UML Extensibility
5.10.1 Model Constraints and
‘Comments
9
90
90
1
a
95
95
SEEKER
98
101
103
104
104
105
106
109
m
12
m2
4
us
116
5.10.2 Note
5.103 Stereotype
6.11 UML Meta-Model
6.12 Summary
Object-Oriented Analysis:
Use-Case Driven
6, OBJECT-ORIENTED ANALYSIS.
PROCESS: IDENTIFYING USE
CASES
{641 Introduction
6.2 Why Analysis Is # Difficult
Activity
6.3 Business Object Analysis:
Understanding the Business
Layer
64 Use-Case Driven Object-
‘Oriented Analysis: The Unified
‘Approach
6.5 Business Process Modeling
6.6 Use-Case Mode!
6.6.1 Use Cases under the
Microscope
6.62 Uses and Extends
Associations
6.63 Identifying the Actors
6.64 Guidelines for Finding Use
Cases
6.65 How Detailed Must a Use
Case Be? When to Stop
Decomposing and When
to Continue
6.66 Dividing Use Cases into
Packages
66.7 Naming a Use Case
15
15
126
12
128
19
BI
133
134
136
136
137
137