Practical Object-Oriented Design with UML
معرفی کتاب «Practical Object-Oriented Design with UML» نوشتهٔ Honorary Research Associate Mark Priestley در سال 2003. این کتاب در 6 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Practical Object-Oriented Design with UML» در دستهٔ بدون دستهبندی قرار دارد.
The new second edition of "Practical Object Oriented Design with UML" provides a concise introduction to the design of object-oriented programs using UML. The book focuses on the application of UML in the development of software, and also offers a detailed tutorial introduction to the UML notation and its application. The book provides the ideal introduction to UML for undergraduates taking modules in object-oriented techniques as part of a Computer Science or Software Engineering degree programme. Front cover 1 Half title 2 Title page 4 Copyright page 5 Contents 6 Preface 12 Chapter 1 Introduction to UML 16 1.1 Models and modelling 16 1.2 Methodologies 20 1.3 The Unified Modeling Language 22 1.4 Design models and code 26 1.5 The software development process 27 1.6 summary 27 1.7 Exercises 28 Chapter 2 Modelling with Objects 29 2.1 The object model 29 2.2 Classes and objects 31 2.3 Object properties 34 2.4 Avoiding data replica 36 2.5 Links 36 2.6 Associations 39 2.7 Message passing 40 2.8 Polymorphism 42 2.9 Dynamic binding 47 2.10 The applicability of the object model 48 2.11 Summary 50 2.12 Exercises 51 Chapter 3. Software Development Process 54 3.1 The waterfall model 54 3.2 Alternative to the waterfall model 58 3.3 The Unified Process 61 3.4 The role of models in development 62 3.5 The use of UML in the United Process 64 3.6 Summary 66 3.7 Exercises 67 Chapter 4 Restaurant System: Buisness Modelling 68 4.1 Informal requirements 68 4.2 Use case modelling 70 4.3 Describing use cases 73 4.4 Structuring the use case model 76 4.5 Completing the use case model 80 4.6 Domain modelling 82 4.7 Glossaries 86 4.8 Summary 86 4.9 Exercises 87 Chapter 5 Restaurant System: Analysis 90 5.1 The purpose of analysis 90 5.2 Object design 92 5.3 Software architecture 93 5.4 Use case realization 97 5.5 Recording new bookings 103 5.6 Cancelling bookings 105 5.7 Updating bookings 107 5.8 Completing the analysis model 109 5.9 Summary 109 5.10 Exercises 111 Chapter 6 Restaurant System: Design 113 6.1 Receiving input from the user 113 6.2 Producing output 116 6.3 Persistent data storage 119 6.4 The design model 124 6.5 Detailed class design 124 6.6 Dynamic modelling of behaviour 126 6.7 A statechart for the booking system 128 6.8 A statechart for reservations 132 6.9 summary 134 6.10 Exercises 134 Chapter 7 Restaurant System: Implementation 136 7.1 Implementation diagram 136 7.2 Implementation strategies 139 7.3 Application frameworks 140 7.4 The java AWT framework 143 7.5 Implementation of classes 145 7.6 Implementation of associations 149 7.7 Implementation of operations 152 7.8 Summary 154 7.9 Exercises 155 Chapter 8 Class and Object Diagrams 156 8.1 Data types 157 8.2 Classes 159 8.3 Describing objects with classes 160 8.4 Associations 165 8.5 Generalization and specialization 171 8.6 Inheritance of attributes and operations 175 8.7 Aggregation 179 8.8 Composition 181 8.9 Association classes 183 8.10 N-ary association 186 8.11 Qualified association 187 8.12 Interfaces 190 8.13 Templated 191 8.14 Summary 192 8.15 Exercises 193 Chapter 9 Interaction Diagrams 202 9.1 Collaborations 202 9.2 Classifier roles 204 9.3 Association roles 205 9.4 Interaction diagrams 207 9.5 Object creation 210 9.6 Object destruction 211 9.7 Role multiplicity and iterated messages 212 9.8 Multiobjects 213 9.9 Conditional messages 215 9.10 Messages to self 218 9.11 Summary 219 9.12 Exercises 220 Chapter 10 Statechart 223 10.1 State-dependent behaviour 224 10.2 States, events and transitions 225 10.3 Initial and final states 226 10.4 Guard conditions 227 10.5 Actions 229 10.6 Activities 231 10.7 Composite states 233 10.8 History states 236 10.9 Summary of the CD player 237 10.10 Dynamic modelling in practice 238 10.11 Time events 243 10.12 Activity states 243 10.13 Summary of the ticket machine 244 10.14 Summary 244 10.15 Exercises 246 Chapter 11 Component Diagrams 250 11.1 Dependencies 251 11.2 Components and artefacts 252 11.3 Component diagrams 254 11.4 Some common physical relationships 254 11.5 Complication dependencies 256 11.6 Components and interfaces 260 11.7 Summary 261 11.8 Exercises 261 Chapter 12 Constraints 263 12.1 Standard constraints 264 12.2 The object constraint language 265 12.3 The context o0f a constraints 266 12.4 Navigation expressions 268 12.5 OCL data types and operations 271 12.6 Constraints 275 12.7 Stereotyped constraints 278 12.8 Constraints and generalization 281 12.9 Summary 282 12.10 Exercises 283 Chapter 13 Implementation Strategies 285 13.1 Implementing associations 286 13.2 Unidirectional implementations 287 13.3 Bidirectional implementations 290 13.4 Implementing qualified associations 297 13.5 Implementing association classes 298 13.6 implementing constraints 300 13.7 Implementing statecharts 301 13.8 Reverse engineering 304 13.9 Summary 308 13.10 Exercises 309 Chapter 14 Principles and Patterns 313 14.1 The open-closed principle 314 14.2 No concrete superclasses 318 14.3 Decouple the interface hirarchy 320 14.4 The liskov substitution principle 322 14.5 Interactions determine structure 323 14.6 Design patterns 325 14.7 Recursive structures 327 14.8 The state and statergy patterns 331 14.9 MVC, document/view and observer 332 14.10 Applying visitor to the stock control program 335 14.11 Summary 339 14.12 Exercises 339 Appendix A 341 A.1 General concept 341 A.2 Model structure 344 A.3 Use case diagrams 345 A.4 Object diagrams 345 A.5 Collaborations 346 A.6 Messages 347 A.7 Collaboration diagrams 348 A.8 Sequence diagrams 348 A.9 Class diagrams 350 A.10 Statechart diagrams 353 A.11 Component diagrams 354 A.12 Templates 355 Appendix B 356 B.1 Constraints 356 B.2 Expressions 356 B.3 Basic types 357 B.4 Model types 359 B.5 Collections 359 Appendix C 363 References and Bibliography 365 Index 368 Back cover 373 This is a revised and updated edition of this title, which provides a practical introduction to the design of object-oriented programs using UML. It includes detailed coverage of modelling techniques and notation, with worked examples throughout. The book contains substantial code examples in Java. It clearly connects design concepts with code, and is useful for people with programming experience who wish to learn about design. It is also useful for computer science and software engineering undergraduates taking courses covering object-oriented techniques. The book provides explanations of UML and OCL notation emphasis on transitions from design to code, as well as including complete case studies with code, and many exercises Provides an introduction to the design of object-oriented programs using UML. This book focuses on the application of UML in the development of software, and offers a tutorial to the UML notation and its application. The book is useful for undergraduates taking modules as part of a Computer Science or Software Engineering degree programme.
دانلود کتاب Practical Object-Oriented Design with UML