Learning UML 2.0: A Pragmatic Introduction to UML

Learning UML 2.0: A Pragmatic Introduction to UML

Learning UML 2.0: A Pragmatic Introduction to UML
Автор: Hamilton Kim, Miles Russell
Дата выхода: 2006
Издательство: O’Reilly Media, Inc.
Количество страниц: 409
Размер файла: 3.3 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

Learning UML 2.0....1

Table of Contents....3

Copyright....7

Preface....9

Chapter 1. Introduction....14

Section 1.1. What's in a Modeling Language?....15

Section 1.2. Why UML 2.0?....24

Section 1.3. Models and Diagrams....27

Section 1.4. ....28

Section 1.5. UML and the Software Development Process....29

Section 1.6. Views of Your Model....30

Section 1.7. A First Taste of UML....32

Section 1.8. Want More Information?....36

Chapter 2. Modeling Requirements: Use Cases....37

Section 2.1. Capturing a System Requirement....39

Section 2.2. Use Case Relationships....49

Section 2.3. Use Case Overview Diagrams....60

Section 2.4. What's Next?....61

Chapter 3. Modeling System Workflows: Activity Diagrams....62

Section 3.1. Activity Diagram Essentials....63

Section 3.2. Activities and Actions....67

Section 3.3. Decisions and Merges....69

Section 3.4. Doing Multiple Tasks at the Same Time....72

Section 3.5. Time Events....75

Section 3.6. Calling Other Activities....76

Section 3.7. Objects....78

Section 3.8. Sending and Receiving Signals....81

Section 3.9. Starting an Activity....83

Section 3.10. Ending Activities and Flows....84

Section 3.11. Partitions (or Swimlanes)....87

Section 3.12. Managing Complex Activity Diagrams....90

Section 3.13. What's Next?....92

Chapter 4. Modeling a System's Logical Structure: Introducing Classes and Class Diagrams....93

Section 4.1. What Is a Class?....94

Section 4.2. Getting Started with Classes in UML....99

Section 4.3. Visibility....100

Section 4.4. Class State: Attributes....106

Section 4.5. Class Behavior: Operations....112

Section 4.6. Static Parts of Your Classes....115

Section 4.7. What's Next....120

Chapter 5. Modeling a System's Logical Structure: Advanced Class Diagrams....121

Section 5.1. Class Relationships....122

Section 5.2. Constraints....131

Section 5.3. Abstract Classes....133

Section 5.4. Interfaces....137

Section 5.5. Templates....141

Section 5.6. What's Next....143

Chapter 6. Bringing Your Classes to Life: Object Diagrams....144

Section 6.1. Object Instances....145

Section 6.2. Links....147

Section 6.3. Binding Class Templates....151

Section 6.4. What's Next?....154

Chapter 7. Modeling Ordered Interactions: Sequence Diagrams....155

Section 7.1. Participants in a Sequence Diagram....157

Section 7.2. Time....159

Section 7.3. Events, Signals, and Messages....160

Section 7.4. Activation Bars....163

Section 7.5. Nested Messages....164

Section 7.6. Message Arrows....165

Section 7.7. Bringing a Use Case to Life with a Sequence Diagram....172

Section 7.8. Managing Complex Interactions with Sequence Fragments....179

Section 7.9. What's Next?....184

Chapter 8. Focusing on Interaction Links: Communication Diagrams....185

Section 8.1. Participants, Links, and Messages....186

Section 8.2. Fleshing out an Interaction with a Communication Diagram....191

Section 8.3. Communication Diagrams Versus Sequence Diagrams....197

Section 8.4. What's Next?....201

Chapter 9. Focusing on Interaction Timing: Timing Diagrams....202

Section 9.1. What Do Timing Diagrams Look Like?....203

Section 9.2. Building a Timing Diagram from a Sequence Diagram....205

Section 9.3. Applying Participants to a Timing Diagram....207

Section 9.4. States....209

Section 9.5. Time....211

Section 9.6. A Participant's State-Line....214

Section 9.7. Events and Messages....217

Section 9.8. Timing Constraints....218

Section 9.9. Organizing Participants on a Timing Diagram....223

Section 9.10. An Alternate Notation....226

Section 9.11. What's Next?....230

Chapter 10. Completing the Interaction Picture: Interaction Overview Diagrams....231

Section 10.1. The Parts of an Interaction Overview Diagram....232

Section 10.2. Modeling a Use Case Using an Interaction Overview....235

Section 10.3. What's Next?....243

Chapter 11. Modeling a Class's Internal Structure: Composite Structures....246

Section 11.1. Internal Structure....247

Section 11.2. Showing How a Class Is Used....256

Section 11.3. Showing Patterns with Collaborations....258

Section 11.4. What's Next?....262

Chapter 12. Managing and Reusing Your System's Parts: Component Diagrams....263

Section 12.1. What Is a Component?....264

Section 12.2. A Basic Component in UML....265

Section 12.3. Provided and Required Interfaces of a Component....266

Section 12.4. Showing Components Working Together....269

Section 12.5. Classes That Realize a Component....272

Section 12.6. Ports and Internal Structure....274

Section 12.7. Black-Box and White-Box Component Views....278

Section 12.8. What's Next?....279

Chapter 13. Organizing Your Model: Packages....280

Section 13.1. Packages....282

Section 13.2. Namespaces and Classes Referring to Each Other....286

Section 13.3. Element Visibility....288

Section 13.4. Package Dependency....289

Section 13.5. Importing and Accessing Packages....291

Section 13.6. Managing Package Dependencies....295

Section 13.7. Using Packages to Organize Use Cases....297

Section 13.8. What's Next?....299

Chapter 14. Modeling an Object's State: State Machine Diagrams....300

Section 14.1. Essentials....302

Section 14.2. States....304

Section 14.3. Transitions....305

Section 14.4. States in Software....309

Section 14.5. Advanced State Behavior....311

Section 14.6. Composite States....313

Section 14.7. Advanced Pseudostates....315

Section 14.8. Signals....317

Section 14.9. Protocol State Machines....318

Section 14.10. What's Next?....319

Chapter 15. Modeling Your Deployed System: Deployment Diagrams....320

Section 15.1. Deploying a Simple System....321

Section 15.2. Deployed Software: Artifacts....323

Section 15.3. What Is a Node?....327

Section 15.4. Hardware and Execution Environment Nodes....328

Section 15.5. Communication Between Nodes....331

Section 15.6. Deployment Specifications....333

Section 15.7. When to Use a Deployment Diagram....335

Section 15.8. What's Next?....337

Appendix A. Object Constraint Language....338

Section A.1. Building OCL Expressions....340

Section A.2. Types....342

Section A.3. Operators....343

Section A.4. Pulling It Together....344

Section A.5. Context....346

Section A.6. Types of Constraints....348

Section A.7. OCL Automation....350

Appendix B. Adapting UML: Profiles....351

Section B.1. What Is a Profile?....352

Section B.2. Stereotypes....353

Section B.3. Tagged Values....355

Section B.4. Constraints....357

Section B.5. Creating a Profile....358

Section B.6. Working with the Meta-Model....360

Section B.7. Using a Profile....361

Section B.8. Why Bother with Profiles?....363

Appendix C. A History of UML....364

Section C.1. Take One Part OOAD.......365

Section C.2. ...with a Sprinkling of OOSE.......366

Section C.3. ...Add a Dash of OMT.......368

Section C.4. ...and Bake for 10 to 15 Years....369

About the Authors....372

Colophon....373

Index....374

SYMBOL....375

A....376

B....379

C....380

D....383

E....386

F....387

G....388

H....389

I....390

J....391

K....392

L....393

M....394

N....395

O....396

P....397

R....400

S....401

T....404

U....406

V....408

W....409

If you're like most software developers, you're building systems that are increasingly complex. Whether you're creating a desktop application or an enterprise system, complexity is the big hairy monster you must manage.

The Unified Modeling Language (UML) helps you manage this complexity. Whether you're looking to use UML as a blueprint language, a sketch tool, or as a programming language, this book will give you the need-to-know information on how to apply UML to your project. While there are plenty of books available that describe UML, Learning UML 2.0 will show you how to use it. Topics covered include:

  • Capturing your system's requirements in your model to help you ensure that your designs meet your users' needs
  • Modeling the parts of your system and their relationships
  • Modeling how the parts of your system work together to meet your system's requirements
  • Modeling how your system moves into the real world, capturing how your system will be deployed

Engaging and accessible, this book shows you how to use UML to craft and communicate your project's design. Russ Miles and Kim Hamilton have written a pragmatic introduction to UML based on hard-earned practice, not theory. Regardless of the software process or methodology you use, this book is the one source you need to get up and running with UML 2.0.


Похожее:

Список отзывов:

Нет отзывов к книге.