Reliable Object-Oriented Software: Applying Analysis and Design

Front Cover
Cambridge University Press, 1995 - Computers - 413 pages
Reliable Object-Oriented Software presents the underlying principles associated with object-orientation and its practical application. More than just another text on methodology, this book focuses on the fundamental concepts related to the process of software development and architectural design in order to lay the basis necessary for the development of robust, maintainable, and evolvable software. The authors present both formal concepts and practical applications. The book includes proven problem-solving techniques designed to develop readers' engineering judgment and to focus their attention on the principles of good software design and its successful application. In addition, an extensive bibliography has been compiled to guide the reader in further studies and to crystallize what is commonly accepted in the field and what is still controversial.
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

Software Engineering
3
11 Background
4
The softwaredevelopment process
6
12 The Waterfall Life Cycle
7
The analysis phase
8
The design phase
10
The implementation phase
11
The acceptancetesting phase
12
Essential functionality
162
Constructors and destructors
168
Iterators
171
52 Event Analysis
173
Control objects
174
Recognizer objects
176
Scenarios
183
Dynamic relationships
186

Configuration management
13
Large projects
14
The spiral model
16
High reuse and the domainengineering process
18
Further Reading
22
Object Orientation
23
Highlevel languages
24
Objectoriented software engineering
26
Encapsulation
27
23 Functional Abstraction
28
Function specifications
29
Function implementations
31
History sensitivity
32
24 Object Abstraction
34
Abstract state machines
35
Object implementation
38
Relationships
40
Composition
42
Messages
43
25 Class Abstraction
47
Abstract data types
48
Class implementation
51
Dependencies
53
Uniqueness
58
Cardinality
60
Inheritance
65
Polymorphism
70
Further Reading
73
Exercises
74
Process
77
31 Requirements Definition
81
32 Domain Analysis
83
Static analysis
84
The domain model
90
33 System Analysis
93
Dynamic analysis
94
The system specification
103
34 System Design
105
A requirements validation prototype
107
A user interface prototype
108
A distributed system
111
The production system
115
35 Summary
117
Further Reading
119
Exercises
120
Techniques
123
Classes and Dependencies
125
42 Dependencies
128
Monodirectional dependencies
129
Bidirectional dependencies
130
Relationship classes
133
Multiway relationships
135
43 Composite Classes
136
Composition attributes
137
Composition association and containment
140
44 Superclasses
141
Inheritance
142
Roles
145
Superclasses and composite classes
148
45 Subdomains
150
Subdomain diagrams
152
Defining subdomains
155
Further Reading
156
Exercises
157
Objects and Messages
161
53 Inheritance
189
Selfreference
193
Delegation
199
Further Reading
205
Exercises
206
States and Transitions
209
State conditions
210
Transitions
212
Nested state conditions
213
62 Actions
217
63 RealTime Behavior
222
Further Reading
225
Applications
229
The Superbike Control System
231
72 Domain Analysis
234
The measurement abstraction
235
The bicyclecontrol abstraction
236
The domain model
238
73 System Analysis
241
Riding
243
Monitoring
250
74 System Design
255
System architecture
256
Monitoring
259
Ride control
263
Further Reading
266
The Fantasy Baseball Statistics System
269
81 Requirements Definition
270
The real world
271
The fantasy world
276
82 Domain Analysis
278
Fantasy baseball
283
83 System Analysis
288
Creating a fantasy league
289
Handling draft day
296
Processing transactions
299
Generating standings
308
84 System Design
319
Data model
322
Transactions
329
Further Reading
334
Exercises
335
The ACME Satellite Data System
339
Onboard computer
343
Mission control center
344
Operations concept
345
92 System Design
346
MCC data system architecture
347
93 Domain Analysis
348
Mission control center
353
Domain model
357
94 System Analysis
359
Further Reading
364
Afterword
367
Textual Notation
369
A2 Function Specifications
370
Direct selectors
371
A3 Type Specifications
372
Graphical Notation
375
B2 ObjectMessage Diagrams
376
B3 StateTransition Diagrams
377
Glossary of Concepts and Principles
379
References
391
Index
395
Copyright

Common terms and phrases

Popular passages

Page ix - The term methodology is defined as "A body of methods, rules, and postulates employed by a discipline: a particular procedure or set of procedures" by the Merriam- Webster dictionary [6].
Page v - Mr. Seidewitz has two bachelor of science degrees from the Massachusetts Institute of Technology, one in Aeronautics and Astronautics and one in Computer Science and Engineering.

Bibliographic information