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 |