2 ARCH-05 UML 101© 2005 Progress Software Corporation
Agenda
History and goals of UML
Why learn UML
Types of diagrams
Diagramming in detail
Applying use cases
Summary and conclusions
3 ARCH-05 UML 101© 2005 Progress Software Corporation
History of UML
Diagrams became a part of software engineering practice– Flow charts– Data flow diagrams– State transition diagrams
Modern languages and design emerge (1980s) More formal and structured modeling techniques
(early 1990s)– OMT, Booch, State Charts
UML– Booch + OMT + Others
4 ARCH-05 UML 101© 2005 Progress Software Corporation
The Result
Full view of application– Fundamental views
Architecture, behavior, collaboration
– System/application states State chart, activity diagram
– Interactions and physical structures Sequence, component, deployment
– Why multiple diagrams?
5 ARCH-05 UML 101© 2005 Progress Software Corporation
Goals of UML
Provide a visual way of building and exchanging models
Provide ways to extend the core concepts Be independent of programming language
and development processes Provide a formal basis for working with
models Support higher-level development concepts
– Frameworks, patterns and components Integrate best practices
6 ARCH-05 UML 101© 2005 Progress Software Corporation
Agenda Slide
History and goals of UML
Why learn UML
Types of diagrams
Diagramming in detail
Applying use cases
Summary and conclusions
7 ARCH-05 UML 101© 2005 Progress Software Corporation
Why Learn About Modeling?
Promotes better communication earlier– Within the development team
– With customers Enables architects and designers to think
about solving the business problem– Implementation details don’t impede solution
Can produce software that better meets customers’ needs
8 ARCH-05 UML 101© 2005 Progress Software Corporation
Why Learn UML in Particular?
Becoming the de facto standard for modeling
Provides for formal modeling– Models can be proven consistent and
correct
– Models can be tested
– Accurate code generation is possible Can connect the business problem to the
technology solution
9 ARCH-05 UML 101© 2005 Progress Software Corporation
Agenda Slide
History and goals of UML
Why learn UML
Types of diagrams
Diagramming in detail
Applying use cases
Summary and conclusions
10 ARCH-05 UML 101© 2005 Progress Software Corporation
Types of Diagrams
Use case diagrams– Shows the relationship among actors and cases
Class diagrams– Show class structure and contents
Interaction diagrams– Sequence diagrams
display the time sequence of component interactions
– Collaboration diagrams display components and their links to one another
11 ARCH-05 UML 101© 2005 Progress Software Corporation
Types of Diagrams
State diagrams– Shows the sequences of states an application
goes through Activity diagrams
– Focuses on flows driven by processing Physical diagrams
– Component diagrams shows the high level structure of the code itself
– Deployment diagrams shows the configuration of elements at runtime
12 ARCH-05 UML 101© 2005 Progress Software Corporation
Agenda Slide
History and goals of UML
Why learn UML
Types of diagrams
Diagramming in detail
Applying use cases
Summary and conclusions
13 ARCH-05 UML 101© 2005 Progress Software Corporation
Use Case Diagrams
Using use case diagrams– Visualizing functional
requirements How to draw use case
diagrams– Actors and cases
Sam Service
Receive order
Check inventory
Accept order
Send confirmation
14 ARCH-05 UML 101© 2005 Progress Software Corporation
Class Diagrams
Class diagrams – describe types of components in a system and their relationships – Consist of a name,
attributes, and operations
+EnterOrder()
-Item Ordered : String-When Ordered : Date-Quantity Ordered : Integer-Ordered By : String
Receive Order
+Available() : Boolean
-Item Type : String-Quantity Available : Integer-Shipment Date : Date
Check Inventory
+DebitInventory() : Integer+ShipProduct()
-Available : Boolean
Accept Order
-Receive
-Check
-Check
-Accept
+ShipProduct() : String
-Available : Boolean-ShipDate : Date
SendConfirmation
-Accept-Confirm
15 ARCH-05 UML 101© 2005 Progress Software Corporation
Interaction Diagrams
Sequence diagrams and collaboration diagrams are used to demonstrate the interaction of components in a use case
Sequence diagrams– Components and messages/data
Customer1 Item1 Confirmation1
Message1
Inventory1
Message2 Message3
16 ARCH-05 UML 101© 2005 Progress Software Corporation
Interaction Diagrams
Collaboration diagram– Relationships
between components
– Ordering of messages
regForm : RegistrationFormapplicant : Applicant
application : Application
2: Application()
as : AppStatus
3: AppStatus()
1: registrationform()
psc : PermittedStatusChange
4: Per m
itte dSt atus C
ha nge ()
17 ARCH-05 UML 101© 2005 Progress Software Corporation
State Diagrams
State diagrams – notes changes of state in the system– Adds state, activity, and transition
CustomerCall OrderPlaced CheckInventory/ InStock
AcceptOrder SendConfirmation
RejectOrder
OrderCancelled
/ NotInStock
18 ARCH-05 UML 101© 2005 Progress Software Corporation
Activity Diagrams
Activity diagrams– Workflow and behavior
– Think of the old dataflow diagram
CustomerOrder CheckInventory
[] / NotInStock
[] / InStock
OrderCancelled
ConfirmOrder
19 ARCH-05 UML 101© 2005 Progress Software Corporation
Physical Diagrams
Physical diagrams are used when development is complete– Descriptions of physical information
– Component and deployment diagrams Component diagrams
– Dependencies among code components
20 ARCH-05 UML 101© 2005 Progress Software Corporation
Physical Diagrams
Deployment diagram– Contains nodes and connections
The two diagrams are often combined
CustomerServiceSystem
OrderComponent
InventorySystem
InventoryCheck
TCP/IP
21 ARCH-05 UML 101© 2005 Progress Software Corporation
Common Questions on UML
Why multiple diagram types?– Different views into the same application
– Mostly orthogonal
– Needed to represent very different systems Are they all necessary?
– Not for most applications
– Concentrate on the ABCs Architecture, Behavior, Collaboration
22 ARCH-05 UML 101© 2005 Progress Software Corporation
Agenda Slide
History and goals of UML
Why learn UML
Types of diagrams
Diagramming in detail
Applying use cases
Summary and conclusions
23 ARCH-05 UML 101© 2005 Progress Software Corporation
Applying UML
Always start with your use cases– Help you determine
what to build
– Establish effective communication with users
An auto dealership application
ud Business Process Model
External User
(from Actors)
Manage TestDriv e Requests
Manage Inv entory
Manage Customers
Manager
(from Actors)
Salesrep
(from Actors)
Manage Customers
Manage Inventory
Manage TestDrives
24 ARCH-05 UML 101© 2005 Progress Software Corporation
Define the Architecture
Class diagrams – How will the application be structured?– The data structure of the auto customer
Business Entities::Customer
- FirstName: CHARACTER- LastName: CHARACTER- PhoneNumber: CHARACTER- BirthDate: DATE- LicenseDate: DATE- email: CHARACTER
+ createCustomer() : LOGICAL+ deleteCustomer() : LOGICAL+ updateCustomer() : LOGICAL+ getCustomerList() : CHARACTER+ findCustomer() : CHARACTER+ validateCustomer() : LOGICAL
Architecture Entities::Language
- Language: CHARACTER- Description: CHARACTER
25 ARCH-05 UML 101© 2005 Progress Software Corporation
Look at Application Behavior
Activity diagram– Steps in requesting a
test drive
Start Create Testdrive Request
Enter Customer Details
Select Car
Select Requested Date
Finish Create Testdrive Request
Brwose Inventory
26 ARCH-05 UML 101© 2005 Progress Software Corporation
Study Collaboration Between Components
Collaboration diagrams show interactions– How the auto dealer
application components work together
Presentation
+ UI Components
+ UI Controllers
+ UI Model
Enterprise Services
+ Enterprise Service Bus
+ Integration Adapters
Business Services Layer
+ Business Entities
+ Business Service Interface
+ Business Task
+ Business Workflow
DataAccess Layer
+ DataAccess Services
+ Persistent Storage Services
DataStore
+ Managed DataStore
+ UnManaged DataStore
27 ARCH-05 UML 101© 2005 Progress Software Corporation
Applying UML
You have enough to get started coding– Involve other diagrams when different
views are needed
– Don’t hesitate to modify or add a view if the situation requires
These are living diagrams The purpose is to communicate
28 ARCH-05 UML 101© 2005 Progress Software Corporation
In Summary
Using UML helps create applications that achieve important business goals– Better meet customer needs
– Higher quality application
– Better communication between designers, developers, and customers
Top Related