You are previewing UML 2.0 in Action.
O'Reilly logo
UML 2.0 in Action

Book Description

A detailed and practical walk-through showing how to apply UML to real world development projects

  • Shows how to really use UML

  • Rich book length case study project

  • Covers only the UML you actually need

In Detail

Most books about UML describe it almost in its entirety. Inevitably you're left with only a superficial knowledge of the range of UML elements, without a deep and intuitive understanding of how to apply UML as a whole to real world design problems. This book doesn't set out to cover all of UML, but instead pulls together those parts of UML with immediate practical relevance and presents them as part of a coherent process for using UML in your actual development projects.

This book is designed to be read while you work on a real project. After an initial review of the essentials of UML and the design process, it begins with the modeling of a business system and its business processes, in this case an airport.Then the IT system intended to serve that business process is described and analysed. Finally the integration of the system into the production environment is covered in detail.

The book can be used in two ways: it can be read through as a thorough grounding in how UML really works in practice; in addition it can be used as stand alone guide to that particular aspect of your own project. Both result in an intuitive understanding of how to actually use UML.

If you've read the UML documentation or a guide to the UML syntax, but don't feel you really know where to start with UML on a live project, then this unique book is what you need. Written as a practical case study, the book sets out to give you the intuitive feel for UML you need to confidently add it to your core development toolkit. The authors walk through a rich analysis and design scenario, explaining which parts of UML to use, and how to use them. The emphasis is on the systematic and practical application of UML to real business cases.

Table of Contents

  1. UML 2.0 in Action
    1. UML 2.0 in Action
    2. Credits
    3. About the Authors
    4. Preface
    5. About This Book
      1. What This Book Covers
      2. Conventions
      3. Reader Feedback
      4. Customer Support
        1. Errata
        2. Questions
    6. 1. Introduction
    7. 2. Basic Principles and Background
      1. 2.1 Introduction to the Case Study
      2. 2.2 Models, Views, and Diagrams
        1. 2.2.1 What is a Model?
        2. 2.2.2 Why do we Need Models?
        3. 2.2.3 Purpose and Target Group of a Model
          1. Practical Tips
        4. 2.2.4 Process of Analysis
          1. Practical Tips
        5. 2.2.5 Diagrams as Views
      3. 2.3 Information Systems and IT Systems
        1. 2.4 The Models of our Case Study
      4. 2.5 History of UML: Methods and Notations
      5. 2.6 Requirement Specification
        1. 2.6.1 Guidance for Decision Making
        2. 2.6.2 Verification
      6. 2.7 UML 2.0
        1. 2.7.1 Overview of UML 2.0
        2. 2.7.2 Effects on the Business System Model
        3. 2.7.3 Effects on the IT System Model
        4. 2.7.4 Effects on the Systems Integration Model
        5. 2.7.5 Conclusion
    8. 3. Modeling Business Systems
      1. 3.1 Business Processes and Business Systems
        1. 3.1.1 What is a Business Process?
        2. 3.1.2 Definition of the Workflow Management Coalition
        3. 3.1.3 Business Systems
        4. 3.1.4 Using UML to Model Business Processes and Business Systems
        5. 3.1.5 Practical Tips for Modeling Business Processes
      2. 3.2 One Model—Two Views
      3. 3.3 External View
        1. 3.3.1 What Benefit does a Business System Provide?
          1. Business Use Cases
          2. Actors
        2. 3.3.2 The Elements of a View
        3. 3.3.3 Use Case Diagrams
          1. Reading Use Case Diagrams
        4. 3.3.4 Constructing Use Case Diagrams
          1. Collecting Information Sources—How am I Supposed to Know That?
          2. Identifying Potential Actors—Which Partners and Customers Use the Goods and Services of the Business System?
          3. Identifying Potential Business Use Cases—Which Goods and Services can Actors Draw Upon?
          4. Practical Tips
          5. Connecting Business Use Cases—Who Can Make Use of What Goods and Services of the Business System?
          6. Describing Actors—Who or What do the Actors Represent?
          7. Searching for More Business Use Cases—What else Needs to be Done?
          8. Editing Business Use Cases—What actually has to be Included in a Business Use Case?
          9. Documenting Business Use Cases—What Happens in a Business Use Case?
          10. Modeling Relationships between Business Use Cases—What Activities are Conducted Repeatedly?
          11. Verifying the View—Is Everything Correct?
          12. Practical Tips
        5. 3.3.5 Activity Diagrams
          1. Reading Activity Diagrams
        6. 3.3.6 Constructing Activity Diagrams
          1. Collect Information Sources—How am I Supposed to Know That?
          2. Find Activities and Actions—What has to be Done When Actors Draw upon Offered Goods and Services?
          3. Connect Actions—In Which Order are Actions Processed?
          4. Refine Activities—Do any Other Activity Diagrams have to be Added?
          5. Adopt Actors from Business Use Cases—Who is Responsible for Each Action?
          6. Verify the View—Is Everything Correct?
        7. 3.3.7 Sequence Diagrams
          1. Reading Sequence Diagrams
        8. 3.3.8 Constructing Sequence Diagrams
          1. Designate Actors and Business System—Who is Taking Part?
          2. Designate Initiators—Who Starts Interactions?
          3. Describe the Message Exchange between Actors and the Business System—Which Messages are being Exchanged?
          4. Identify the Course of Interactions—What is the Order?
          5. Insert Additional Information—What Else is Important?
          6. Verify the View—Is Everything Correct?
        9. 3.3.9 High-Level Sequence Diagrams
        10. 3.3.10 Sequence Diagrams for Scenarios of Business Use Cases
      4. The Internal View
        1. 3.4.1 The Elements of the View
        2. 3.4.2 Package Diagram
          1. Reading Package Diagrams
        3. 3.4.3 Constructing Package Diagrams
          1. Develop an Initial Package Diagram of the Business System—Which Workers and Business Objects Make up the Business System?
          2. Find Additional Organization Units—Who Else is There?
          3. Assign Workers and Business Objects to the Organization Units—Who Belongs Where?
          4. Find Additional Organization Units, Workers, or Business Objects—What Else is There?
          5. Verify the View—Is Everything Correct?
        4. 3.4.4 Class Diagram
          1. Reading Class Diagrams
        5. 3.4.5 Constructing Class Diagrams
          1. Find Classes—Which Classes Exist in the Class Diagram?
          2. Create Associations Between Classes—Which Classes Deal with Each Other?
          3. Substantiate Associations—What do these Relationships Mean?
          4. Insert Generalizations—Can Business Objects be Grouped?
          5. Verify the View—Is Everything Correct?
        6. 3.4.6 Activity Diagram
          1. Reading Activity Diagrams
        7. 3.4.7 Constructing Activity Diagrams
          1. Collect Information Sources—How am I Supposed to Know That?
          2. Find Activities and Actions—Which Activities Have to be Performed so that the Goods and Services Utilized by Actors can be Provided and Delivered?
          3. Adopt Actors from Business Use Cases—Who is Responsible for Each Action?
          4. Connect Actions—In Which Order are Actions Processed?
          5. Refine Activities—Do any Other Activity Diagrams Have to be Added?
          6. Verify the View—Is Everything Correct?
    9. 4. Modeling IT Systems
      1. 4.1 External View
        1. 4.1.1 The User View or "I don’t care how it works, as long as it works."
        2. 4.1.2 The Elements of a View
        3. 4.1.3 Use Case Diagram
          1. Reading Use Case Diagrams
        4. 4.1.4 Query Events and Mutation Events
        5. 4.1.5 Use Case Sequence Diagram
          1. Reading Use Case Sequence Diagrams
        6. 4.1.6 Constructing the External View
          1. Collect Information Sources—How Am I Supposed to Know That?
          2. Identify Potential Actors—Who Works with the IT System?
          3. Identify Potential Use Cases—What Can be Done With the IT System?
          4. Connect Actors and Use Cases—Who Can Do What with the IT System?
          5. Describe Actors—Who or What do the Actors Represent?
          6. Search for More Use Cases—What Functionalities does the IT System have to Provide?
          7. Edit Use Cases—What Actually Has to be Included in a Use Case?
          8. Document Use Cases—What Happens in a Use Case?
          9. Model Relationships between Use Cases—What can be Reused?
          10. Verify the View—Is Everything Correct?
      2. 4.2 Structural View
        1. 4.2.1 Objects and Classes
        2. 4.2.2 Generalization, Specialization, and Inheritance
        3. 4.2.3 Static and Dynamic Business Rules
        4. 4.2.4 Elements of the View
        5. 4.2.5 Class Diagram
          1. Reading Class Diagrams
        6. 4.2.6 Constructing Class Diagrams
          1. Identify and Model Classes—Which Classes do We Need?
          2. Identify and Model Associations—How Are the Classes Connected?
          3. Define Attributes—What do We Want to Know about the Objects?
          4. List Required Queries and Inputs—What does the IT System Need to Deliver and Accept?
          5. Formulate Queries and Inputs—How Exactly Should the Display Look?
          6. Conduct Information Analysis—Which Classes, Associations, and Attributes Do We Need?
          7. Consolidate Class Diagrams—How Does Everything Fit Together?
          8. Verify the Class Diagrams—Is Everything Correct?
      3. 4.3 The Behavioral View
        1. 4.3.1 The Life of an Object
        2. 4.3.2. The Elements of the View
        3. 4.3.3 Statechart Diagram
          1. Reading Statechart Diagrams
        4. 4.3.4 Constructing Statechart Diagrams
          1. Identify Mutation Events Relevant for the Object—What Affects the Object?
          2. Group Relevant Events Chronologically—How Does a Normal Life Look?
          3. Model States and Transitions—Which States are There?
          4. Add Actions to the Statechart Diagram—What do Objects Do?
          5. Verify Statechart Diagram—Is Everything Correct?
      4. 4.4 Interaction View
        1. 4.4.1 Seeing What Happens Inside the IT System
        2. 4.4.2 Elements of the View
        3. 4.4.3 Communication Diagram
          1. Reading Communication Diagrams
        4. 4.4.4 Sequence Diagram
          1. Reading Sequence Diagrams
        5. 4.4.5 Constructing Communication Diagrams
          1. Draft Query Result—What do We Want?
          2. Identify Involved Classes—Which Classes Do We Need?
          3. Define Initial Object—Where Do We Start?
          4. Design Event Path—Where Do We Go?
          5. Amend Event Path—Exactly Which Objects do We Need?
          6. Identify Necessary Attributes—What Exactly Do We Want to Know?
          7. Verify the Communication Diagram—Is Everything Correct?
        6. 4.4.6 Constructing Sequence Diagrams
          1. Identify Involved Classes—What is Affected by Mutation Events?
          2. Determine Initial Object—Where does the Mutation Event go First?
          3. Propagate Events—How is the Mutation Event Forwarded?
          4. Specify Event Parameter—What do Objects have to Know?
          5. Verify the Sequence Diagram—Is Everything Correct?
    10. 5. Modeling for System Integration
      1. 5.1 Terminology of System Integration
          1. Interfaces
          2. Messages
          3. Enterprise Application Integration
          4. Electronic Data Interchange
          5. UN/EDIFACT
          6. XML
      2. 5.2 Messages in UML
      3. 5.3 One Model—Two Views
      4. 5.4 Process View
        1. 5.4.1 The Business System Model as Foundation
        2. 5.4.2 Elements of the View
        3. 5.4.3 Activity Diagrams
          1. Reading Activity Diagrams
        4. 5.4.4 Sequence Diagram
          1. Reading Sequence Diagrams
        5. 5.4.5 Constructing Diagrams in the Process View
          1. Determine Interfaces—Between Which IT Systems Should Communication Take Place?
          2. Identify Involved Systems—Which IT Systems Exchange Information?
          3. Identify Activities and Control Flow—What has to be Done and Who is Responsible for It?
          4. Define Messages—Which Messages have to be Exchanged?
          5. Define Rules—What Influences Actions?
          6. Verify the View—Is Everything Correct?
      5. 5.5 The Static View
        1. 5.5.1 Elements of the View
        2. 5.5.2 Class Diagram
          1. Reading Class Diagrams
        3. 5.5.3 Constructing Class Diagrams
          1. Collect Information Relevant for the Business Objects—What Do We Want to Read?
          2. Construct Class Diagram—What is the Structure of the Business Object?
          3. Adopt Classes and Attributes from the Class Diagram of the IT System—What is Present in the Class Diagram?
          4. Derive Remaining Data Elements—From Where Do I Get the Rest?
          5. Define Classes and Relationships of the Business Object—Which Class Relationships do We Need?
          6. Verify the View—Is Everything Correct?
        4. 5.5.4 Transforming Data from the IT System to the Message "passenger list"
          1. Transformation of Flight Data
          2. Transformation of Passenger Data
        5. 5.5.5 Transformation of UML Messages into Various Standard Formats