Upload
marvin-wheeler
View
220
Download
2
Tags:
Embed Size (px)
Citation preview
Practical Business Modeling in the Unified Process
Tom Morgan Software Architect, Fidelity National Information [email protected]
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Agenda
Brief Business Modeling introduction
Artifact production in reference implementation
Transformation into Requirements Use-Case Model
Simple steps for Business Rules Model
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Business Modeling overview
Challenges addressed How do you know your software directly addresses business issues? How do you know your use cases are accurate? What is the big picture, or context, to is being developed?
Small knowledgebase – techniques from various sources A lot of “feel your way” needed Different approaches depending on objective
Lifecycle timing Started in early Inception, peeking near end of Inception, trailing off through Elaboration and
Construction phases.
Consists of: Business Use-Case Model - The “What” (actors, goals, use cases) Business Analysis Model - The “How” (workers, entities, events, automation) Business Rules Model - The “Constraints” on the “How” (rules)
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 1: Determine boundaries (or scope) of target business Main business
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 1: Determine boundaries (or scope) of target business Main business comprised of one business part
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases
Step 1: Determine boundaries (or scope) of target business Main business comprised of two business parts (others omitted here)
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 1: Determine boundaries (or scope) of target business Narrow focus the Box Office
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 1: Determine boundaries of target business The Box Office is our box, or business boundary
Start outside box with goal to describe inside
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 2: Finding Business Actors
Outside of business boundary – our box
May be inside other business areas, or boxes
Concessions, Accounting, Projection
Identify Roles from real Instances
A Business Actor instance can fill many roles
Avoids confusion when Actors and instances don’t all share common goals
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 2: Finding Business Actors At this point, consider as candidate Business Actors
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 2: Finding Business Actors Refine to same abstraction, eliminate redundant and ambiguous candidates
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 2: Finding Business Actors
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 3: Describe All Business Actors Provide any potentially valuable information
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 4: Finding Business Actor Goals
Identify Goals from Business Actor towards the business
Goals should be at same abstraction level
Start high level and refine from there
Experience helps – you’ll get better
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases
Zeroing in on correct abstraction level
Why?
Why?
Why?
Why?
How?
How?
How?
How?
High Level
Low Level
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 4: Finding Business Actor Goals
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 5: Finding Business Goals from Business Actor Goals
Flip the goal and describe from the business perspective,
Describes Business Goal to address Business Actor Goals
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Step 6: Find Business Use Cases
Derive Business Use-Case name from Business Goal and Detail attributes
Begin to establish business vocabulary in glossary
A lot in business modeling
Build Diagram and refine
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Actors and Use Cases – Goal Driven
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Initial Survey Diagram Completed
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Next Activity: Detail a Business Use Case
Write a Business Use-Case Specification for each one in our model External narrative of business process workflow
Manual perspective without system automation
Major distinction from Use Cases in Requirements
Lessons Learned Many ways and approaches
Study and practice required
Pick a style as a convention
Focus on content, not format
Just writing brings value (discovery, convergence)
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Detail a Business Use Case
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Detail a Business Use Case
Sell Movie Tickets Business Use-Case Specification
Definition: When a Movie Viewer requests admission to one or more movie features at the box office, the business shows movies and sells tickets for admission.
Actors: Movie Viewer
Actor Goal: Go see a movie
Business view of goal: Show movies and sell tickets for admission
Trigger: Movie Viewer requests admission to one or more movie features at the box office
Pre-conditions: The box office is open and staffed Post-conditions: a) Tickets for admission to scheduled movie features are paid for and seating has been adjusted for the features. b) A request couldn’t be fulfilled.
Basic Flow
Start of use case: The business use case begins when a Movie Viewer wants admission to one or more movie features at the theater.
Prepare order: The box office validates the availability of the shows, times, and seats requested. The box office prepares the order according to business policies, reserves the seats, and calculates the amount due.
Collect payment: The box office collects the amount due for the order from the Movie Viewer and gives the Movie Viewer a receipt showing the amount paid and other order details.
Prepare tickets: The box office prepares the tickets and gives them to the Movie Viewer for admission and the business use case ends.
Alternates
Cancel Order: At any step before paying in Collect payment the Movie Viewer cancels the request or is unable to pay. The box office cancels the order and the business use case ends.
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Refine Business Use-Case Model
Add, remove, modify Business Use Cases, Actors, Goals Merge and extract use-case flows
Model with extend, include, and specialization associations
Err to merging, but be sensible
Manage your energy/precision level Err to abstraction until necessary
Transition point to Business Analysis Model
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Important Opportunities of Business Analysis Model
Traceable to business processes
Early involvement of architects Core development team playing role to make architecture decisions
Identify automation solutions (both vertical and horizontal)
Components emerge (RUP best practice) and reused
Initiates software engineering through visual models (RUP best practice)
Used to derive Requirements Use-Case Model Mitigates guesswork and risk
Justifies model
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Step 1: Create Business Use-Case Realization Associate to the correct Business Use Case
Traceability semantics for artifacts
Same name as Business Use Case
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Step 2: Find Business Workers
First sequence diagram – Work Processes
Modeling Steps
Identify and Describe Business Workers
Assign responsibilities to Business Workers
Transforms use-case narrative to UML
Maps use-case behavior to worker responsibility
Roles and tasks inside our box
Identify who does what
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Step 3: Identify and Describe Business Workers
Consider need for specialist, privileges, experience level, functional activities
Start with real people
Evolve or start with automated workers
Look-ahead: Transformed into Actors in Requirements Model
Describe same as Business Actors
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Step 5: Assign responsibilities to Business Workers
Find proper abstraction level
Consists of a group of activities performed by Worker
Not one event or action
Think of time needed to accomplish
– Avoid instantaneous or single action items – abstraction too low
– Should take longer
Find good sets of verbs to describe
May need another role to solve ambiguities
State with enough focus to avoid future ambiguities
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Responsibilities may be decomposed by asking “How?”, but not too much
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Capture Alternates using UML Combined Fragments in RSA
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Next Step: Explore Process Automation
Second sequence diagram – Process Automation Springboard into Requirements model
Start with copy of Work Processes diagram in RSA
Modeling Steps Identify responsibilities needing automation in business process
Identify and describe system components used for activities
Re-assign responsibilities
Decompose and refine as necessary
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Explore Process Automation
Identify responsibilities needing automation
Identify and describe system components (same stereotype as Worker)
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Explore Process Automation
Re-assign responsibilities (manual tasks remain with Worker)
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Explore Process Automation
Decompose and refine as necessary
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Explore Process Automation - Complete
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Step 6: Identify Business Entities – Starts Domain Model
Start with the Automation Processes diagram in RSA
Introduce and describe Business Entities
Identify things handled during activities
Identify who uses what
Redirect message ending to Business Entities
Remove Automation elements
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Add Business Entities to diagram
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Detail a Business Entity
Explain role in business
Describe lifecycle (use statechart when needed)
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Redirect messages – From Worker to Entity
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Find Business Workers and Entities
Remove Automation Elements
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Develop a Domain Model
Concepts of business domain
Significant business information and relationships
Try to avoid attributes – refinements made in A&D Just classes keeps model simple and focus at entity level
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Develop a Domain Model
Sources Business Entities in Information Processes diagram
Grammatical analysis of Business Use-Case Specification
Stakeholders and business experts
Other guidelines As much as necessary – you decide
Update glossary with new terms
Abstraction level focus on things and relationships - Classes level only
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Develop a Domain Model
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Where to go next?
Overlapping disciplines = parallel activities
Finish Business ModelingStart Requirements AND
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 1 – Focus on a single system lifeline (our new scope boundary)
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 1 – Focus on a single system lifeline (our new scope boundary)
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 2 – Transform messages ending on scope boundary to use cases
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 2 – Transform messages ending on scope boundary to use cases
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 3 – Transform Business Workers to Actors
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 3 – Transform Business Workers to Actors
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 4 – Transform messages affecting scope to <<include>> <<extend>>
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 4 – Transform messages affecting scope to <<include>> <<extend>>
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 5 – Repeat for other system lifelines
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Deriving the Requirements Use-Case Model
Step 6 – Preserve business process context
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
The Business Rules Model
Step 1 - Identify business rules location in business process workflows
Sell Movie Tickets Business Use-Case Specification
Definition: When a Movie Viewer requests admission to one or more movie features at the box office, the business shows movies and sells tickets for admission.
Actors: Movie Viewer
Actor Goal: Go see a movie
Business view of goal: Show movies and sell tickets for admission
Trigger: Movie Viewer requests admission to one or more movie features at the box office
Pre-conditions: The box office is open and staffed Post-conditions: a) Tickets for admission to scheduled movie features are paid for and seating has been adjusted for the features. b) A request couldn’t be fulfilled.
Basic Flow
Start of use case: The business use case begins when a Movie Viewer wants admission to one or more movie features at the theater.
Prepare order: The box office validates the availability of the shows, times, and seats requested. The box office prepares the order according to business policies, reserves the seats, and calculates the amount due.
Collect payment: The box office collects the amount due for the order from the Movie Viewer and gives the Movie Viewer a receipt showing the amount paid and other order details.
Prepare tickets: The box office prepares the tickets and gives them to the Movie Viewer for admission and the business use case ends.
Alternates
Cancel Order: At any step before paying in Collect payment the Movie Viewer cancels the request or is unable to pay. The box office cancels the order and the business use case ends.
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
The Business Rules Model
Step 2 – Identify high level container for rules
Sell Movie Tickets Business Use-Case Specification
Definition: When a Movie Viewer requests admission to one or more movie features at the box office, the business shows movies and sells tickets for admission.
Actors: Movie Viewer
Actor Goal: Go see a movie
Business view of goal: Show movies and sell tickets for admission
Trigger: Movie Viewer requests admission to one or more movie features at the box office
Pre-conditions: The box office is open and staffed Post-conditions: a) Tickets for admission to scheduled movie features are paid for and seating has been adjusted for the features. b) A request couldn’t be fulfilled.
Basic Flow
Start of use case: The business use case begins when a Movie Viewer wants admission to one or more movie features at the theater.
Prepare order: The box office validates the availability of the shows, times, and seats requested. The box office prepares the order according to business policies, reserves the seats, and calculates the amount due.
Collect payment: The box office collects the amount due for the order from the Movie Viewer and gives the Movie Viewer a receipt showing the amount paid and other order details.
Prepare tickets: The box office prepares the tickets and gives them to the Movie Viewer for admission and the business use case ends.
Alternates
Cancel Order: At any step before paying in Collect payment the Movie Viewer cancels the request or is unable to pay. The box office cancels the order and the business use case ends.
Prepare Order Ruleset
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
The Business Rules Model
Step 3 – Detail business rule definitions
Business Rule Survey
.
.
.
Rule Name: Purchase Time Rule
Definition: Tickets in an order must be purchased within 1 hour of the time for the show.
.
.
.
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
The Business Rules Model
Step 4 – Validate rule terms against domain model (refine)
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
The Business Rules Model
Step 5 – Associate rules to rule containers
Sell Movie Tickets Business Use-Case Specification
Definition: When a Movie Viewer requests admission to one or more movie features at the box office, the business shows movies and sells tickets for admission.
Actors: Movie Viewer
Actor Goal: Go see a movie
Business view of goal: Show movies and sell tickets for admission
Trigger: Movie Viewer requests admission to one or more movie features at the box office
Pre-conditions: The box office is open and staffed Post-conditions: a) Tickets for admission to scheduled movie features are paid for and seating has been adjusted for the features. b) A request couldn’t be fulfilled.
Basic Flow
Start of use case: The business use case begins when a Movie Viewer wants admission to one or more movie features at the theater.
Prepare order: The box office validates the availability of the shows, times, and seats requested. The box office prepares the order according to business policies, reserves the seats, and calculates the amount due.
Collect payment: The box office collects the amount due for the order from the Movie Viewer and gives the Movie Viewer a receipt showing the amount paid and other order details.
Prepare tickets: The box office prepares the tickets and gives them to the Movie Viewer for admission and the business use case ends.
Alternates
Cancel Order: At any step before paying in Collect payment the Movie Viewer cancels the request or is unable to pay. The box office cancels the order and the business use case ends.
Prepare Order Ruleset
Practical Business Modeling in the Unified Process
Tom Morgan [email protected]
Tom Morgan [email protected]
Thank You