You are on page 1of 56
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 bi CONTENTS 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 viii ili 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

You might also like