Preface | p. xi |
Acknowledgment | p. xv |
Object-Oriented Paradigm | |
Object-Oriented Evolution | p. 3 |
Why Objects? | p. 3 |
Quest for Objects | p. 4 |
Defining Objects | p. 5 |
Understanding an Object-Oriented Approach | p. 6 |
Object-Oriented Principles | p. 7 |
Importance of an Object-Oriented Approach | p. 9 |
Object-Oriented Software Engineering Evolution | p. 10 |
Object-Oriented Concept | p. 17 |
Object-Oriented Characteristics | p. 17 |
Abstraction | p. 17 |
Classification | p. 18 |
Encapsulation | p. 19 |
Inheritance | p. 20 |
Polymorphism | p. 24 |
Object-Oriented Software Engineering Goals | p. 26 |
Principles of Object-Oriented Software Engineering | p. 27 |
Object-Oriented versus Conventional Methods | p. 30 |
Object-Oriented Standards | p. 33 |
Study of Current Standards | p. 33 |
2B or Not 2B Prophesy | p. 34 |
MIL-STD-SDD (498) | p. 34 |
Major Features | p. 35 |
Characteristics of a Good Object-Oriented Standard | p. 38 |
Suggested Object-Oriented Standard | p. 38 |
Object-Oriented Design Method Notation | p. 45 |
Hardware Diagram | p. 45 |
Class Structure | p. 46 |
Object Diagram | p. 48 |
Architecture Diagram | p. 49 |
Object-Oriented Software Development Life Cycle | p. 51 |
Tailoring Standards Techniques | p. 52 |
Object-Oriented Database | p. 55 |
Object-Oriented Database Concept | p. 55 |
Object Identity | p. 56 |
Persistence | p. 56 |
Secondary Storage Management | p. 56 |
Concurrency | p. 56 |
Consistency and Recovery | p. 56 |
Query Language | p. 57 |
Characteristics of an Object-Oriented Database | p. 57 |
Objectivity/DB | p. 58 |
System Highlights | p. 60 |
Objectivity/DB Concept | p. 60 |
Accessing Objects | p. 62 |
Physical File Organization | p. 63 |
Association | p. 64 |
Concurrency and Consistency | p. 67 |
Locking | p. 67 |
Transactions | p. 68 |
Check-in and Checkout | p. 68 |
Object-Oriented Database Management | p. 69 |
Object-Oriented Database Management System | p. 69 |
Distributed Object Management | p. 70 |
Server | p. 70 |
Clients | p. 70 |
Concurrency Control in a Client/Server Environment | p. 71 |
Selection Criteria of a Good OODBMS | p. 73 |
Performance | p. 73 |
Ease of Use | p. 75 |
Migration | p. 75 |
Data Modeling Capabilities | p. 76 |
ObjectStore OODBMS | p. 79 |
ObjectStore Architecture | p. 79 |
Reusability and Portability Strategy | p. 81 |
Software Reusability | p. 81 |
Software Reusability Process | p. 83 |
Software Reusability Process Activities | p. 83 |
Domain Analysis for Reusability | p. 85 |
Context Modeling | p. 86 |
Domain Modeling | p. 86 |
Architecture Modeling | p. 88 |
Selection Criteria of a Suitable Reusable Software | p. 88 |
Establishing a Reusable Repository | p. 90 |
Portability Strategy | p. 91 |
Object-Oriented Software Architecture | |
Object-Oriented System Engineering | p. 95 |
System Requirements Analysis Process | p. 95 |
System Environment | p. 96 |
System Boundary | p. 96 |
Identify Domain | p. 97 |
System Requirements Specification | p. 97 |
Performance Requirements Specification | p. 98 |
Design Requirements Specification | p. 98 |
Interface Requirements Specification | p. 98 |
Testing Specification | p. 99 |
Requirements Specification Document | p. 100 |
Characteristics of System Engineering Requirements | p. 101 |
Building a System | p. 102 |
New Development | p. 102 |
Reusable Software | p. 104 |
Reverse Engineering | p. 104 |
Reengineering | p. 104 |
Computer Software Configuration Item Selection Criteria | p. 104 |
Allocating Requirements to CSCI | p. 105 |
System Engineering Design Document | p. 105 |
System Engineering Design Review | p. 107 |
Multiple Views of Software Requirements Model | p. 108 |
Requirements Traceability | p. 110 |
Object-Oriented Software Development Plan | p. 110 |
Object-Oriented Software Life Cycle | p. 115 |
Object-Oriented Software Life-Cycle Issues | p. 115 |
Modeling Concepts | p. 118 |
Object-Oriented Software Life Cycle Model | p. 119 |
Waterfall Model | p. 119 |
Incremental Model | p. 121 |
Prototyping and Simulation Model | p. 122 |
Assembling Reusable Components Model | p. 122 |
Spiral Model | p. 123 |
Operational Model | p. 124 |
Transformational Model | p. 125 |
Object-Oriented Life-Cycle Model and MIL-STD-498/IEEE 1498 | p. 125 |
Domain Engineering Model | p. 126 |
Domain Analysis Model | p. 128 |
Benefits of Domain Analysis | p. 130 |
Domain Design Model | p. 130 |
Integrated Computer-Aided Manufacturing (ICAM) DEFinition (IDEFO) Process Model | p. 130 |
Object-Oriented Software Requirements Analysis Method | p. 135 |
OOM Overview | p. 135 |
OOM Goals | p. 136 |
OOM Concepts | p. 136 |
Object Analysis Model | p. 136 |
Object Information Model | p. 137 |
Object Behavior Model | p. 142 |
Object Process Model | p. 145 |
Requirements Definition Model | p. 146 |
Object-Oriented Design | p. 146 |
OOM and DOD-STD-2167A or MIL-STD-498/IEEE 1498 | p. 146 |
OOM Benefits | p. 147 |
OOM Weaknesses | p. 147 |
Object-Oriented Software Development Methods | p. 149 |
ObjectOry | p. 149 |
System Development | p. 149 |
System Analysis | p. 151 |
Use Cases | p. 151 |
Entities | p. 153 |
Interface Objects | p. 154 |
Services | p. 155 |
System Design | p. 157 |
ObjectOry Methodology Discussion | p. 158 |
Advantages of ObjectOry | p. 162 |
Object-Oriented Structured Design | p. 162 |
OOSD goals | p. 163 |
OOSD concepts | p. 163 |
OOSD approach | p. 163 |
OOSD notation | p. 164 |
OOSD benefits | p. 168 |
OOSD Application Example | p. 169 |
Object-Oriented Design Methods and CASE Tools | p. 179 |
Object-Oriented Design by Palladio Software | p. 179 |
OOD Models | p. 179 |
ObjectTeam | p. 182 |
ObjectTeam for Rumbaugh Methodology | p. 183 |
ObjectTeam for Shlaer/Mellor Methodology | p. 187 |
ObjectMaker | p. 189 |
ProcessMaker | p. 190 |
MethodMaker | p. 190 |
Object-Oriented Software Implementation | |
Object-Oriented Programming Languages | p. 193 |
Object-Oriented Programming | p. 193 |
OOP Languages | p. 194 |
Simula | p. 194 |
SmallTalk | p. 195 |
Ada 95 | p. 196 |
Highlights of Ada 95 | p. 200 |
Ada 95's major improvements | p. 200 |
Object COBOL | p. 201 |
Distributed Object Environment | p. 201 |
Ada--An Overview | p. 205 |
Ada's Construct | p. 205 |
Ada's Main Features | p. 206 |
Data Typing | p. 206 |
Data Type Classes | p. 207 |
Scalar | p. 207 |
Numerics | p. 207 |
Composite | p. 209 |
Access | p. 210 |
Private | p. 210 |
Ada Packages | p. 210 |
Subprograms | p. 212 |
Procedure | p. 212 |
Function | p. 215 |
A Case Study | p. 216 |
Conditional Statements | p. 217 |
IF...THEN...ELSE | p. 217 |
Loops | p. 219 |
Exit statement | p. 219 |
Exception Handling | p. 220 |
Generics | p. 221 |
Tasks | p. 222 |
Ada Code Generation Example | p. 224 |
Abstract data type | p. 225 |
Realization as a type | p. 226 |
Ada implementation | p. 227 |
Side effects of the approach | p. 228 |
Appendix | p. 228 |
Sample Output | p. 232 |
C++ An Overview | p. 233 |
Introduction | p. 233 |
Class | p. 234 |
Objects | p. 235 |
Data Hiding | p. 236 |
Polymorphism | p. 237 |
Inheritance | p. 237 |
Object-Oriented Analysis and Design | p. 238 |
Sample Program | p. 238 |
Building and Running the Application | p. 240 |
Software Reuse | p. 245 |
Acronyms | p. 247 |
References | p. 251 |
List of Vendors | p. 257 |
Index | p. 259 |
Table of Contents provided by Syndetics. All Rights Reserved. |