Extreme Architecture Amplifying the UML Phil Robinson Lonsdale Systems
Package
The UML is a notation not a methodology
Class
Object
Activity
Use Case «» «»
www.extremearchitecture.org
Unified Modelling Language (UML)
Actor Component
Node
1
www.extremearchitecture.org
History of the UML 1995
Unified Method 0.8 (Booch & Rumbaugh)
1996
Unified Modelling Language (UML) 0.9 (Jacobson joins and they become the Three Amigos)
1997
(Jan)
1998
UML 1.2
1999
UML 1.3 (first formal version)
2001
UML 1.4
2002 2003
UML 1.4.1 (Mar) - UML 1.5 (Aug) - UML 2.0 ISO Standard (based on UML 1.4.1!)
????
- UML 1.0 (Sep) - UML1.1 (adopted by OMG)
www.extremearchitecture.org
What is the UML used for?
The Unified Modeling Language is a visual language for specifying, constructing and documenting the artifacts of systems. OMG UML 2.0 Superstructure Specification
2
www.extremearchitecture.org
Which systems?
Industry Sector Enterprise
Human Activity Systems
Business Process Application Component
Software Systems
www.extremearchitecture.org
System views
Structure diagrams show the static structure of the objects in a system. OMG UML 2.0 Superstructure Specification
3
www.extremearchitecture.org
System views
Structure Diagram
Class Diagram
Deployment Diagram Component Diagram
Package Diagram Object Diagram
www.extremearchitecture.org
System views
Behavior diagrams show the dynamic behavior of the objects in a system… OMG UML 2.0 Superstructure Specification
4
www.extremearchitecture.org
System views Behaviour Diagram
Use Case Diagram
Activity Diagram Interaction Diagram
Sequence Diagram
State Chart Diagram
Collaboration Diagram
www.extremearchitecture.org
System views
• The taxonomy of UML diagrams is based on abstract system views • This has two disadvantages – Diagrams tend to be drawn because they are “in the UML and therefore must be required” – There is an assumption that these are the only types of diagram that can be drawn
5
www.extremearchitecture.org
System views
…this taxonomy provides a logical organization for the various major kinds of diagrams. However, it does not preclude the mixing different kinds of diagram types… …the boundaries between the various kinds of diagram types are not strictly enforced... OMG UML 2.0 Superstructure Specification
The enterprise architecture view
Business
Technology
Data
Software
Information
Enterprise Architecture
Activity
www.extremearchitecture.org
Information Systems
Infrastructure
6
www.extremearchitecture.org
The Extreme Architecture framework
Activity
Information
Software
Data
Technology
Sector Enterprise Process Application
Architecture Content
Component
www.extremearchitecture.org
Why extreme?
• Pragmatic – adopts a ‘middle path’ between the extremes of chaos and perfection • Easy to describe – single 6 x 6 matrix • Minimal work products – simple bullet point lists will do!
• Unifies disparate disciplines – Business modelling – Requirements analysis – Software construction – IT infrastructure management
• Encourages a shared understanding
7
www.extremearchitecture.org
Business modelling Activity
Information
Software
Data
Technology
Sector Enterprise Process
Application
Component
www.extremearchitecture.org
Business modelling Activity
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector Scope
Enterprise
Activities Workflow
Subject Areas Information Requirements
Process
Application
Component
8
www.extremearchitecture.org
Requirements analysis Activity
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector Scope
Enterprise
Activities Workflow
Subject Areas Information Requirements
Process Vision
Application
Use Cases
Interface Requirements
Functional Requirements
Storage Requirements
Non-Functional Requirements
Component
www.extremearchitecture.org
Software construction Activity
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector Scope
Enterprise
Activities Workflow
Subject Areas Information Requirements
Process Vision
Application
Use Cases
Interface Requirements
Functional Requirements
Storage Requirements
Non-Functional Requirements Architecture
Component
User Interface
Code
Schemas
Test Cases
9
www.extremearchitecture.org
Infrastructure management Activity
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector Scope
Enterprise
Subject Areas
Activities
Information Requirements
Workflow
Process Vision
Application
Interface Requirements
Use Cases
Functional Requirements
Platforms Storage Requirements
Networks
Non-Functional Requirements Architecture
Component
User Interface
Code
Schemas
Test Cases
Activity
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector
www.extremearchitecture.org
Subject Areas Enterprise
Information Requirements
Scope
Process
Activities
Platforms
Vision
Application
Use Cases
Interface Requirements
Functional Requirements
Storage Requirements
Networks
Non-Functional Requirements
Workflow Architecture
Component
User Interface
Code
Schemas
Test Cases
10
Activity
Activity Diagram
Information
Software
Sector
Data
Technology
Housekeeping
Laundry
Subject Areas
www.extremearchitecture.org
Enterprise
Functional Areas
Information Requirements
Business Objects
H
Scope
Process
Activities
Platforms
Vision
Application
Use Cases
Interface Requirements
Functional Requirements
Storage Requirements
Networks
Non-Functional Requirements
Workflow
Record Minibar Usage
Make Up Room
Collect Laundry
Architecture
Component
User Interface
Code
Schemas
Test Cases
Restock Minibar
Wash Laundry
Return Clothes
H
Activity Activity Diagram Diagram
Activity
Customer
Information
Software
Data
Technology
Store Staff
Sector
Housekeeping
Laundry
www.extremearchitecture.org
Subject Areas
Select Video
Enterprise
Information Requirements
Functional Areas
Business Objects
VideoCopy [onShelf]
H
Scope
Process
Activities Membership
Platforms
Vision
VideoCopy [selected] Application
VideoCopy Use Cases [presented]
Interface Requirements
Functional Requirements
Storage Requirements
Networks
Shelve Video
Non-Functional Requirements
Workflow
Record Minibar Make Up Room Rent Video Usage Architecture
Request Video Rental Component
User Interface
MembershipCard
Code
Loan Collect Laundry [current]
Schemas
Test Cases
VideoCopy [rented] Restock Minibar
Watch Video
VideoCopy [watched]
Wash Laundry
Normal Return
VideoCopy [returned]
Return Clothes
Loan [returned]
H
11
Activity
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector
www.extremearchitecture.org
Scope Enterprise
Activities Workflow
Process
Subject Areas
Platforms
Vision
Application
Use Cases
Interface Requirements
Functional Requirements
Storage Requirements
Networks
Non-Functional Requirements
Information Requirements Architecture Component
User Interface
Code
Schemas
Test Cases
Activity
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector
www.extremearchitecture.org
Scope Enterprise
Activities Workflow
Process
Subject Areas
Platforms
Vision
Application
Use Cases
Interface Requirements
Functional Requirements
Storage Requirements
Networks
Non-Functional Requirements
Information Requirements Architecture Component
User Interface
Code
Schemas
Package Diagram
Test Cases
«subject area» Accommodation
«subject area» Food and Beverage
«subject area» House Keeping
«database» Accommodation
«database» Room Service
«database» Laundry
12
Package Diagram Activity
www.extremearchitecture.org
«subject area» Housekeeping
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector Scope
Enterprise
Activities Workflow
Process «information requirement» Cleaning Request
«functional requirement» The application shall debit the guest’s account is Subject Areas debited with Functional a single night’s accommodation Business Information Areas Objects charge each day Requirements
Non-Functional «functional requirement» Requirements The application shall debit the accommodaiton charge at 12 am each night
«functional requirement» The application shall use the stanbdrad room raqte and apply appropriate customer discounts in order to to calculate the accommodation charge «functional requirement» The applicaiton will add GST to the accomodation charge using the standard GST rate
Activity
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector
www.extremearchitecture.org
Scope Enterprise
Activities Workflow
Subject Areas Information Requirements
Process
Platforms
Application
Use Cases
Interface Requirements
Storage Requirements
Architecture Component
User Interface
Networks
Vision
Functional Requirements
NonNon-Functional Requirements Code
Schemas
Test Cases
20
Activity
Information
Software
Data
Functional Areas
Business Objects
Technology
Sector
www.extremearchitecture.org
Scope Enterprise
Activities Workflow
Subject Areas Information Requirements
Object Diagram
Process
Non-Functional Requirements Application
Use Cases
Storage Requirements
Functional Requirements
Architecture User Interface
Networks
Vision
Quality of Service Component
Platforms
Interface Requirements
NonNon-Functional Requirements Code
Schemas
External Constraints
Test Cases
Application Life Cycle
Design Guidelines
«non-functional requirement» The application shall be capable of being fully recovered within fifteen minutes
«non-functional requirement» The application shall provide a full audit trail of all database updates
«non-functional requirement» The application shall authenticate all users attempting to log on