UML 2.0 in Action: A project-based tutorial
()
About this ebook
Related to UML 2.0 in Action
Related ebooks
Introduction to Algorithms & Data Structures 2: A solid foundation for the real world of machine learning and data analytics Rating: 0 out of 5 stars0 ratingsBPMN: the Business Process Modeling Notation Pocket Handbook Rating: 0 out of 5 stars0 ratingsUML Summarized: Key Concepts and Diagrams for Software Engineers, Architects, and Designers Rating: 0 out of 5 stars0 ratingsUML: A Beginner's Guide Rating: 3 out of 5 stars3/5Object –Oriented Analysis and Design Using UML Rating: 5 out of 5 stars5/5RESTful API Design - Best Practices in API Design with REST: API-University Series, #3 Rating: 5 out of 5 stars5/5Mastering Non-Functional Requirements Rating: 5 out of 5 stars5/5UML Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsLearning .NET High-performance Programming Rating: 0 out of 5 stars0 ratingsIncremental Software Architecture: A Method for Saving Failing IT Implementations Rating: 5 out of 5 stars5/5Git Essentials Rating: 4 out of 5 stars4/5Concurrency in .NET: Modern patterns of concurrent and parallel programming Rating: 0 out of 5 stars0 ratingsUML Demystified Rating: 0 out of 5 stars0 ratingsAvoiding Software Project Pitfalls: Seven Simple Ground Rules That Could Save Your Career Rating: 4 out of 5 stars4/5Learning Object-Oriented Programming Rating: 0 out of 5 stars0 ratingsIntegration Architecture Rating: 5 out of 5 stars5/5A Concise Guide to Object Orientated Programming Rating: 0 out of 5 stars0 ratingsIrresistible APIs: Designing web APIs that developers will love Rating: 0 out of 5 stars0 ratingsUML A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsEnterprise Integration Patterns A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsCracking the IT Architect Interview Rating: 5 out of 5 stars5/5Git Best Practices Guide Rating: 0 out of 5 stars0 ratingsJavaScript Domain-Driven Design Rating: 3 out of 5 stars3/5.NET Design Patterns Rating: 3 out of 5 stars3/5Data-Oriented Programming: Reduce software complexity Rating: 4 out of 5 stars4/5Mastering Windows Presentation Foundation Rating: 4 out of 5 stars4/5Schematron: A language for validating XML Rating: 0 out of 5 stars0 ratingsMicroservices Architecture Handbook: Non-Programmer's Guide for Building Microservices Rating: 4 out of 5 stars4/5Test-Driven Java Development Rating: 4 out of 5 stars4/5
Information Technology For You
Summary of Super-Intelligence From Nick Bostrom Rating: 5 out of 5 stars5/5ChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5CompTIA A+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Core 1 Exam 220-1101 Rating: 0 out of 5 stars0 ratingsHow To Use Chatgpt: Using Chatgpt To Make Money Online Has Never Been This Simple Rating: 0 out of 5 stars0 ratingsCreating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5An Ultimate Guide to Kali Linux for Beginners Rating: 3 out of 5 stars3/5Data Analytics for Beginners: Introduction to Data Analytics Rating: 4 out of 5 stars4/5Supercommunicator: Explaining the Complicated So Anyone Can Understand Rating: 3 out of 5 stars3/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5Raspberry Pi :Raspberry Pi Guide On Python & Projects Programming In Easy Steps Rating: 3 out of 5 stars3/5Personal Knowledge Graphs: Connected thinking to boost productivity, creativity and discovery Rating: 0 out of 5 stars0 ratingsInkscape Beginner’s Guide Rating: 5 out of 5 stars5/520 Windows Tools Every SysAdmin Should Know Rating: 5 out of 5 stars5/5WordPress Plugin Development: Beginner's Guide Rating: 0 out of 5 stars0 ratingsData Governance For Dummies Rating: 2 out of 5 stars2/5Health Informatics: Practical Guide Rating: 0 out of 5 stars0 ratingsLinux Command Line and Shell Scripting Bible Rating: 3 out of 5 stars3/5CompTIA Network+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam N10-008 Rating: 0 out of 5 stars0 ratingsAWS Certified Cloud Practitioner: Study Guide with Practice Questions and Labs Rating: 5 out of 5 stars5/5CompTia Security 701: Fundamentals of Security Rating: 0 out of 5 stars0 ratingsPanda3d 1.7 Game Developer's Cookbook Rating: 0 out of 5 stars0 ratingsA Mind at Play: How Claude Shannon Invented the Information Age Rating: 4 out of 5 stars4/5Cybersecurity for Beginners : Learn the Fundamentals of Cybersecurity in an Easy, Step-by-Step Guide: 1 Rating: 0 out of 5 stars0 ratingsHow to Find a Wolf in Siberia (or, How to Troubleshoot Almost Anything) Rating: 0 out of 5 stars0 ratingsGetting an IT Help Desk Job For Dummies Rating: 0 out of 5 stars0 ratingsWho Says Elephants Can't Dance?: Leading a Great Enterprise Through Dramatic Change Rating: 4 out of 5 stars4/5Learning Microsoft Endpoint Manager: Unified Endpoint Management with Intune and the Enterprise Mobility + Security Suite Rating: 0 out of 5 stars0 ratings
Reviews for UML 2.0 in Action
0 ratings0 reviews
Book preview
UML 2.0 in Action - Patrick Grassle
Table of Contents
UML 2.0 in Action A Project-Based Tutorial
Credits
Preface
About the Authors
About This Book
What This Book Covers
Conventions
Reader Feedback
Customer Support
Errata
Questions
1. Introduction
2. Basic Principles and Background
2.1 Introduction to the Case Study
2.2 Models, Views, and Diagrams
2.2.1 What is a Model?
2.2.2 Why do we Need Models?
2.2.3 Purpose and Target Group of a Model
Practical Tips
2.2.4 Process of Analysis
Practical Tips
2.2.5 Diagrams as Views
2.3 Information Systems and IT Systems
2.4 The Models of our Case Study
2.5 History of UML: Methods and Notations
2.6 Requirement Specification
2.6.1 Guidance for Decision Making
2.6.2 Verification
2.7 UML 2.0
2.7.1 Overview of UML 2.0
2.7.2 Effects on the Business System Model
2.7.3 Effects on the IT System Model
2.7.4 Effects on the Systems Integration Model
2.7.5 Conclusion
3. Modeling Business Systems
3.1 Business Processes and Business Systems
3.1.1 What is a Business Process?
3.1.2 Definition of the Workflow Management Coalition
3.1.3 Business Systems
3.1.4 Using UML to Model Business Processes and Business Systems
3.1.5 Practical Tips for Modeling Business Processes
3.2 One Model—Two Views
3.3 External View
3.3.1 What Benefit does a Business System Provide?
Business Use Cases
Actors
3.3.2 The Elements of a View
3.3.3 Use Case Diagrams
Reading Use Case Diagrams
3.3.4 Constructing Use Case Diagrams
Collecting Information Sources—How am I Supposed to Know That?
Identifying Potential Actors—Which Partners and Customers Use the Goods and Services of the Business System?
Identifying Potential Business Use Cases—Which Goods and Services can Actors Draw Upon?
Practical Tips
Connecting Business Use Cases—Who Can Make Use of What Goods and Services of the Business System?
Describing Actors—Who or What do the Actors Represent?
Searching for More Business Use Cases—What else Needs to be Done?
Editing Business Use Cases—What actually has to be Included in a Business Use Case?
Documenting Business Use Cases—What Happens in a Business Use Case?
Modeling Relationships between Business Use Cases—What Activities are Conducted Repeatedly?
Verifying the View—Is Everything Correct?
Practical Tips
3.3.5 Activity Diagrams
Reading Activity Diagrams
3.3.6 Constructing Activity Diagrams
Collect Information Sources—How am I Supposed to Know That?
Find Activities and Actions—What has to be Done When Actors Draw upon Offered Goods and Services?
Connect Actions—In Which Order are Actions Processed?
Refine Activities—Do any Other Activity Diagrams have to be Added?
Adopt Actors from Business Use Cases—Who is Responsible for Each Action?
Verify the View—Is Everything Correct?
3.3.7 Sequence Diagrams
Reading Sequence Diagrams
3.3.8 Constructing Sequence Diagrams
Designate Actors and Business System—Who is Taking Part?
Designate Initiators—Who Starts Interactions?
Describe the Message Exchange between Actors and the Business System—Which Messages are being Exchanged?
Identify the Course of Interactions—What is the Order?
Insert Additional Information—What Else is Important?
Verify the View—Is Everything Correct?
3.3.9 High-Level Sequence Diagrams
3.3.10 Sequence Diagrams for Scenarios of Business Use Cases
The Internal View
3.4.1 The Elements of the View
3.4.2 Package Diagram
Reading Package Diagrams
3.4.3 Constructing Package Diagrams
Develop an Initial Package Diagram of the Business System—Which Workers and Business Objects Make up the Business System?
Find Additional Organization Units—Who Else is There?
Assign Workers and Business Objects to the Organization Units—Who Belongs Where?
Find Additional Organization Units, Workers, or Business Objects—What Else is There?
Verify the View—Is Everything Correct?
3.4.4 Class Diagram
Reading Class Diagrams
3.4.5 Constructing Class Diagrams
Find Classes—Which Classes Exist in the Class Diagram?
Create Associations Between Classes—Which Classes Deal with Each Other?
Substantiate Associations—What do these Relationships Mean?
Insert Generalizations—Can Business Objects be Grouped?
Verify the View—Is Everything Correct?
3.4.6 Activity Diagram
Reading Activity Diagrams
3.4.7 Constructing Activity Diagrams
Collect Information Sources—How am I Supposed to Know That?
Find Activities and Actions—Which Activities Have to be Performed so that the Goods and Services Utilized by Actors can be Provided and Delivered?
Adopt Actors from Business Use Cases—Who is Responsible for Each Action?
Connect Actions—In Which Order are Actions Processed?
Refine Activities—Do any Other Activity Diagrams Have to be Added?
Verify the View—Is Everything Correct?
4. Modeling IT Systems
4.1 External View
4.1.1 The User View or I don't care how it works, as long as it works.
4.1.2 The Elements of a View
4.1.3 Use Case Diagram
Reading Use Case Diagrams
4.1.4 Query Events and Mutation Events
4.1.5 Use Case Sequence Diagram
Reading Use Case Sequence Diagrams
4.1.6 Constructing the External View
Collect Information Sources—How Am I Supposed to Know That?
Identify Potential Actors—Who Works with the IT System?
Identify Potential Use Cases—What Can be Done With the IT System?
Connect Actors and Use Cases—Who Can Do What with the IT System?
Describe Actors—Who or What do the Actors Represent?
Search for More Use Cases—What Functionalities does the IT System have to Provide?
Edit Use Cases—What Actually Has to be Included in a Use Case?
Document Use Cases—What Happens in a Use Case?
Model Relationships between Use Cases—What can be Reused?
Verify the View—Is Everything Correct?
4.2 Structural View
4.2.1 Objects and Classes
4.2.2 Generalization, Specialization, and Inheritance
4.2.3 Static and Dynamic Business Rules
4.2.4 Elements of the View
4.2.5 Class Diagram
Reading Class Diagrams
4.2.6 Constructing Class Diagrams
Identify and Model Classes—Which Classes do We Need?
Identify and Model Associations—How Are the Classes Connected?
Define Attributes—What do We Want to Know about the Objects?
List Required Queries and Inputs—What does the IT System Need to Deliver and Accept?
Formulate Queries and Inputs—How Exactly Should the Display Look?
Conduct Information Analysis—Which Classes, Associations, and Attributes Do We Need?
Consolidate Class Diagrams—How Does Everything Fit Together?
Verify the Class Diagrams—Is Everything Correct?
4.3 The Behavioral View
4.3.1 The Life of an Object
4.3.2. The Elements of the View
4.3.3 Statechart Diagram
Reading Statechart Diagrams
4.3.4 Constructing Statechart Diagrams
Identify Mutation Events Relevant for the Object—What Affects the Object?
Group Relevant Events Chronologically—How Does a Normal Life Look?
Model States and Transitions—Which States are There?
Add Actions to the Statechart Diagram—What do Objects Do?
Verify Statechart Diagram—Is Everything Correct?
4.4 Interaction View
4.4.1 Seeing What Happens Inside the IT System
4.4.2 Elements of the View
4.4.3 Communication Diagram
Reading Communication Diagrams
4.4.4 Sequence Diagram
Reading Sequence Diagrams
4.4.5 Constructing Communication Diagrams
Draft Query Result—What do We Want?
Identify Involved Classes—Which Classes Do We Need?
Define Initial Object—Where Do We Start?
Design Event Path—Where Do We Go?
Amend Event Path—Exactly Which Objects do We Need?
Identify Necessary Attributes—What Exactly Do We Want to Know?
Verify the Communication Diagram—Is Everything Correct?
4.4.6 Constructing Sequence Diagrams
Identify Involved Classes—What is Affected by Mutation Events?
Determine Initial Object—Where does the Mutation Event go First?
Propagate Events—How is the Mutation Event Forwarded?
Specify Event Parameter—What do Objects have to Know?
Verify the Sequence Diagram—Is Everything Correct?
5. Modeling for System Integration
5.1 Terminology of System Integration
Interfaces
Messages
Enterprise Application Integration
Electronic Data Interchange
UN/EDIFACT
XML
5.2 Messages in UML
5.3 One Model—Two Views
5.4 Process View
5.4.1 The Business System Model as Foundation
5.4.2 Elements of the View
5.4.3 Activity Diagrams
Reading Activity Diagrams
5.4.4 Sequence Diagram
Reading Sequence Diagrams
5.4.5 Constructing Diagrams in the Process View
Determine Interfaces—Between Which IT Systems Should Communication Take Place?
Identify Involved Systems—Which IT Systems Exchange Information?
Identify Activities and Control Flow—What has to be Done and Who is Responsible for It?
Define Messages—Which Messages have to be Exchanged?
Define Rules—What Influences Actions?
Verify the View—Is Everything Correct?
5.5 The Static View
5.5.1 Elements of the View
5.5.2 Class Diagram
Reading Class Diagrams
5.5.3 Constructing Class Diagrams
Collect Information Relevant for the Business Objects—What Do We Want to Read?
Construct Class Diagram—What is the Structure of the Business Object?
Adopt Classes and Attributes from the Class Diagram of the IT System—What is Present in the Class Diagram?
Derive Remaining Data Elements—From Where Do I Get the Rest?
Define Classes and Relationships of the Business Object—Which Class Relationships do We Need?
Verify the View—Is Everything Correct?
5.5.4 Transforming Data from the IT System to the Message passenger list
Transformation of Flight Data
Transformation of Passenger Data
5.5.5 Transformation of UML Messages into Various Standard Formats
Index
UML 2.0 in Action A Project-Based Tutorial
Patrick Grassle
Henriette Baumann
Philippe Baumann
UML 2.0 in Action A Project-Based Tutorial
Copyright © 2005 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: September 2005.
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 1-904811-55-8
www.packtpub.com
Cover Design by www.visionwt.com
Authorized translation from the German Edition:
UML 2.0 projektorientiert
© 2004 by Galileo Press
GALILEO COMPUTING is an imprint of Galileo Press,
Fort Lee, NJ (USA), Bonn (Germany).
German Edition first published 2004 by Galileo Press.
Credits
Authors
Patrick Grässle
Henriette Baumann
Philippe Baumann
Illustrators
Nilesh Mohite
Dinesh Kandalgaonkar
Cover Designer
Helen Wood
Technical Editor
Chris Smith
Paramita Chakrabarti
Translator
Silvia Saint-Vincent
Proofreader
Chris Smith
Layout
Paramita Chakrabarti
Manjiri Nadkarni
Preface
The advantage of this book lies in its restriction to practical matters. Like many innovative subjects in business computing, the development of technical literature about UML takes place in a highly dynamic manner. The economic interests of producers of relevant tools, of consultants, and of authors are obviously directed towards differentiating every topic and constructing individual opinions. However, this leads to a blurring of the essential advantages—especially with UML. The success of this approach lies in its simplicity, its practicality, and its ability to be integrated. Easily comprehensible and carefully coordinated approaches were developed from real-life problems. These approaches get project parties in different positions, as represented in every project by customer and system-developer, to work together productively on a long-term basis. An excess of methodology is counterproductive because it is only comprehensible to the expert and therefore not widely used.
That is exactly where the authors start. Recognizing the clear advantages of UML, they reduce it to its essential concepts. The authors have the courage to narrow UML appropriately from their own practical experience. The foundation is a pointblank subjective portrayal of their own project experience, which can be confirmed by anyone who has ever attempted professional systems development. Based on this experience, they critically evaluate UML. The result is a handy guide for the use of UML, with countless practice-oriented tips for conquering sub-problems in projects, and checklists to verify goals. The desire is not to present an extensive methodology. On the contrary, the examples are deliberately kept simple, which again helps with the reduction of UML to its essential elements and goals.
Therefore, a project leader who wants to professionally model, coordinate, and control UML projects, won't be able to find solutions for every particular problem in this book. However, it will significantly ease the process of critically evaluating and selecting appropriate literature and tools. For the practice-oriented realist, this book could be the key to solving daily problems.
Prof. Dr. Rainer Thome
Chair of Business Administration and Business Computing,
University of Würzburg.
About the Authors
Patrick Grässle is the co-founder and board member of KnowGravity Inc. (www.knowgravity.com) in Zürich, a leading supplier of MDA and Business Rules know-how. Patrick studied Informatics and Economics at the University of Zürich. In 1986, he built his first model of an IT system using structured analysis and did not stop modeling since then. He has applied UML in many projects. He used and consulted structured and object-oriented methods for system specification. In the nineties, he helped develop the first localized UML trainings in Switzerland.
The UML-based 'Model Driven Architecture' and the 'Business Rules Approach' absorb his main interest nowadays, but he is still doing UML training and consulting. Patrick can be reached at <[email protected]>.
Henriette Baumann is the co-founder and board member of integratio GmbH (www.integratio.com), based in Zurich. Henriette studied Informatics and Economics and was involved in software development and engineering since the mid-eighties, particularly with the transformation of business requirements in software systems. In 1998, she started with UML business modeling and has used UML in several projects. Today her main focus is on project management and consulting for business analysis, business requirements engineering, and business specifications based on UML, especially for financial service companies.
Henriette can be reached at <[email protected]>.
Philippe Baumann is co-founder and member of the board of integratio GmbH (www.integratio.com), based in Zurich.
Philippe studied Informatics at the University of Hagen (D) and was involved in software development and application integration since the mid-eighties. In 1998, he started with UML, and its usage in system integration and electronic data interchange between companies.
Today he is the project manager and consultant for technical aspects and implementation of software integration using UML. He is also active in the field of implementation and integration of Open Source business software such as ERP and CRM.
Philippe can be reached at <[email protected]>.
About This Book
The OMG Specification states:
The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system.
Modeling is an essential part of large software projects, which also helps in the development of medium and small projects. UML can be used to model a variety of systems: software systems, business systems, or any other system. With its changes and extensions, UML 2.0 now supports the modeling of business processes much better.
What This Book Covers
This book shows how, with UML, simple models of business processes and specification models can be created and read with little effort. Most books deal with UML almost in its entirety. However, often lack of time, previous knowledge, or motivation to deal with the topic with the necessary intensity prevents us from understanding the material completely and putting it into action. This book is meant for exactly these cases. It presents UML only partially and in a simplified manner. We put together those parts of UML whose application has proven to be practical.
Chapter 1 introduces us to UML and lists the advantages of using UML as a Modeling Language.
Chapter 2 introduces us to the case study. The purpose of choosing a case study is to provide a coherent example through the chapters of this book. The chapter also explains several basic terms and concepts like models, views, diagrams, information systems, methods, and notations. The models and views provided by this book help choose the most suitable model for a requirement specification.
Chapter 3 discusses the construction of business system models. It explains the benefits of the different views in a business system and discusses the elements of each view. It also provides instructions about how to construct use case diagrams.
Chapter 4 illustrates how a conceptual model of an IT system can be developed with the help of UML.
Chapter 5 describes the integration of the IT system into its environment. It discusses how to model the messages that are exchanged between the various IT systems, and the processes that are necessary to exchange these messages.
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: clicking the Next button moves you to the next screen
.
Note
Tips, suggestions, or important notes appear in a box like this.
Reader Feedback
Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply drop an e-mail to [email protected], making sure to mention the book title in the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or e-mail [email protected].
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Customer Support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Errata
Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book.
If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the Submit Errata link, and entering the details of your errata. Once your errata have been verified, your submission will be accepted and the errata added to the list of existing