Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Practical Business Modeling in the Unified Process Tom Morgan 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 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 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 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 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 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 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 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 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 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 Find Business Actors and Use Cases – Goal Driven Step 2: Finding Business Actors
Practical Business Modeling in the Unified Process Tom Morgan 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 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 Find Business Actors and Use Cases Zeroing in on correct abstraction level Why? How? High Level Low Level
Practical Business Modeling in the Unified Process Tom Morgan Find Business Actors and Use Cases – Goal Driven Step 4: Finding Business Actor Goals
Practical Business Modeling in the Unified Process Tom Morgan 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 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 Find Business Actors and Use Cases – Goal Driven
Practical Business Modeling in the Unified Process Tom Morgan Initial Survey Diagram Completed
Practical Business Modeling in the Unified Process Tom Morgan 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 Detail a Business Use Case
Practical Business Modeling in the Unified Process Tom Morgan Detail a Business Use Case
Practical Business Modeling in the Unified Process Tom Morgan 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 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 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 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 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 Find Business Workers and Entities
Practical Business Modeling in the Unified Process Tom Morgan 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 Find Business Workers and Entities
Practical Business Modeling in the Unified Process Tom Morgan 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 Find Business Workers and Entities Capture Alternates using UML Combined Fragments in RSA
Practical Business Modeling in the Unified Process Tom Morgan
Practical Business Modeling in the Unified Process Tom Morgan 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 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 Explore Process Automation Re-assign responsibilities (manual tasks remain with Worker)
Practical Business Modeling in the Unified Process Tom Morgan Explore Process Automation Decompose and refine as necessary
Practical Business Modeling in the Unified Process Tom Morgan Explore Process Automation - Complete
Practical Business Modeling in the Unified Process Tom Morgan 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 Find Business Workers and Entities Add Business Entities to diagram
Practical Business Modeling in the Unified Process Tom Morgan 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 Find Business Workers and Entities Redirect messages – From Worker to Entity
Practical Business Modeling in the Unified Process Tom Morgan Find Business Workers and Entities Remove Automation Elements
Practical Business Modeling in the Unified Process Tom Morgan
Practical Business Modeling in the Unified Process Tom Morgan 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 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 Develop a Domain Model
Practical Business Modeling in the Unified Process Tom Morgan
Practical Business Modeling in the Unified Process Tom Morgan
Practical Business Modeling in the Unified Process Tom Morgan
Practical Business Modeling in the Unified Process Tom Morgan Where to go next? Overlapping disciplines = parallel activities Finish Business Modeling Start Requirements AND
Practical Business Modeling in the Unified Process Tom Morgan 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 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 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 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 Deriving the Requirements Use-Case Model Step 3 – Transform Business Workers to Actors
Practical Business Modeling in the Unified Process Tom Morgan Deriving the Requirements Use-Case Model Step 3 – Transform Business Workers to Actors
Practical Business Modeling in the Unified Process Tom Morgan Deriving the Requirements Use-Case Model Step 4 – Transform messages affecting scope to > >
Practical Business Modeling in the Unified Process Tom Morgan Deriving the Requirements Use-Case Model Step 4 – Transform messages affecting scope to > >
Practical Business Modeling in the Unified Process Tom Morgan Deriving the Requirements Use-Case Model Step 5 – Repeat for other system lifelines
Practical Business Modeling in the Unified Process Tom Morgan Deriving the Requirements Use-Case Model Step 6 – Preserve business process context
Practical Business Modeling in the Unified Process Tom Morgan The Business Rules Model Step 1 - Identify business rules location in business process workflows
Practical Business Modeling in the Unified Process Tom Morgan The Business Rules Model Step 2 – Identify high level container for rules Prepare Order Ruleset
Practical Business Modeling in the Unified Process Tom Morgan The Business Rules Model Step 3 – Detail business rule definitions
Practical Business Modeling in the Unified Process Tom Morgan The Business Rules Model Step 4 – Validate rule terms against domain model (refine)
Practical Business Modeling in the Unified Process Tom Morgan The Business Rules Model Step 5 – Associate rules to rule containers Prepare Order Ruleset
Practical Business Modeling in the Unified Process Tom Morgan
Practical Business Modeling in the Unified Process Tom Morgan Questions
Practical Business Modeling in the Unified Process Tom Morgan Tom Morgan Thank You