Additional Information
Book Details
Abstract
One of the first textbooks to be fully up-to-date with the new and expanded UML 2.0 standard, this is an ideal introduction to the Unified Modelling Language for students learning about object and component-based software design and development.
The book encourages a pragmatic and open-minded approach to real-life software engineering. It places UML in the context of the software engineering discipline as a whole, providing students with a practical understanding of best practice in software design and development.
The authors present a broad view of the subject area, enabling students to see for themselves how different practices may be appropriate for different situations.
The book is divided into four parts covering:
- Part 1 - Introductory Concepts
- Part 2 - UML, the language
- Part 3 - Case studies
- Part 4 - Applying UML in practice
Table of Contents
Section Title | Page | Action | Price |
---|---|---|---|
Cover | Cover | ||
Using UML 2nd edition | iii | ||
Contents | vii | ||
Preface | xvi | ||
First edition acknowledgments | xxi | ||
List of Figures | xiii | ||
part I Conceptualbackground | 1 | ||
Software engineering with components | 2 | ||
What is a good system? | 2 | ||
Do we have good systems? | 3 | ||
What are good systems like? | 6 | ||
How are good systems built? | 13 | ||
Object concepts | 14 | ||
What is an object? | 14 | ||
How does this relate to the aims of the previous chapter? | 20 | ||
Inheritance | 22 | ||
Polymorphism and dynamic binding | 24 | ||
Introductory case study | 27 | ||
The problem | 27 | ||
Scope and iterations | 31 | ||
Identifying classes | 32 | ||
Relations between classes | 34 | ||
The system in action | 36 | ||
Design by Contract 1 | 38 | ||
Persistence | 41 | ||
The developmentprocess | 44 | ||
Defining terms | 44 | ||
The development process | 47 | ||
System, design, model, diagram | 52 | ||
part II The Unified Modeling Language | 55 | ||
Essentials of classmodels | 56 | ||
Identifying objects and classes | 56 | ||
Associations | 60 | ||
Attributes and operations | 63 | ||
Generalization | 65 | ||
Design by Contract 2 – Substitutivity | 66 | ||
The class model during the development | 69 | ||
CRC cards | 69 | ||
More on classmodels | 74 | ||
More about associations | 74 | ||
OCL, the Object Constraint Language | 82 | ||
More about classes | 84 | ||
Stereotypes | 85 | ||
Properties and Tagged Values | 88 | ||
Parameterized classes | 89 | ||
Dependency | 91 | ||
Components and packages | 91 | ||
Visibility, protection | 91 | ||
Essentials of usecase models | 93 | ||
Actors in detail | 95 | ||
Use cases in detail | 97 | ||
System boundary | 98 | ||
Using use cases | 99 | ||
Possible problems with use cases | 101 | ||
Use Case Driven Development? | 102 | ||
More on usecase models | 104 | ||
Relationships between use cases | 104 | ||
Generalizations | 109 | ||
Actors and classes | 110 | ||
Essentialsof interactiondiagrams | 112 | ||
Collaborations | 113 | ||
Communication diagrams | 114 | ||
Sequence diagrams | 116 | ||
Where Should Messages Go? Law of Demeter | 117 | ||
More advanced features | 119 | ||
Interaction diagrams for other purposes | 122 | ||
More oninteractiondiagrams | 124 | ||
Beyond simple sequences of messages | 124 | ||
Concurrency | 127 | ||
Essentials ofstate and activitydiagrams | 132 | ||
State diagrams | 132 | ||
Designing Classes with State Diagrams | 139 | ||
Activity diagrams | 141 | ||
More on statediagrams | 145 | ||
Other kinds of events | 145 | ||
Other kinds of actions | 146 | ||
Looking inside states | 147 | ||
Concurrency within states | 149 | ||
Architectural andimplementationdiagrams | 150 | ||
Component structure diagrams | 150 | ||
Deployment model | 152 | ||
The Deployment Model in the Project | 153 | ||
Packagesand models | 155 | ||
Packages | 155 | ||
Models | 158 | ||
part III Case studies | 161 | ||
CS4administration | 162 | ||
The case study | 162 | ||
Discussion | 168 | ||
Board games | 170 | ||
Scope and preliminary analysis | 171 | ||
Interaction | 175 | ||
Back to the framework | 178 | ||
States | 180 | ||
Discrete eventsimulation | 182 | ||
Requirements | 182 | ||
Outline class model | 184 | ||
Use cases | 185 | ||
Standard mechanism for process-based simulation | 188 | ||
Associations and navigability | 189 | ||
Classes in detail | 192 | ||
Class Report | 197 | ||
Class Statistic | 198 | ||
Building a complete simulation model | 199 | ||
The dining philosophers | 199 | ||
part IV Towards practice | 203 | ||
Reuse:components,patterns | 204 | ||
Practicalities of reuse | 204 | ||
Design patterns | 211 | ||
Frameworks | 215 | ||
Product quality:verification,validation, testing | 217 | ||
Quality review | 217 | ||
How can high quality be achieved? | 218 | ||
Verification | 218 | ||
Validation | 220 | ||
Testing | 221 | ||
Reviews and inspections | 226 | ||
Process quality:management,teams, QA | 229 | ||
Management | 229 | ||
Teams | 233 | ||
Leadership | 234 | ||
Quality assurance | 236 | ||
Quality Assurance: The Case Against | 238 | ||
Further reading | 239 | ||
Bibliography | 241 | ||
Index | 245 |