"I'm Not There" is an award winning biographical film about the artist formerly known as Robert Allen Zimmerman. Though none of the six main characters explicitly represent Bob Dylan, they each manage to convey a different quality about the 60's music legend. Collectively, the six 'not Bob Dylans' do a better job of capturing the essence of the man than any single literal portrayal ever could. This unconventional narrative provides the perfect metaphor for the BABOK task, Organize Requirements.
The purpose of organizing requirements is to create a set of views of the requirements for a new business solution that are comprehensive, complete, consistent, and understood from all stakeholder perspectives. As stated in the BABOK, the objectives of this task are to understand which models are appropriate for the business domain and solution scope, and to identify model interrelationships and dependencies.
This entertaining presentation examines the five concepts that are key to requirements modeling and demonstrates how they are captured using four specific techniques: use cases, data models, state diagrams and business rules. You'll not only learn the fundamentals of each technique, but how to combine them in a way that each model can be used to verify the other. Like the six "not Bob Dylans", the resulting set of complimentary models creates a more complete and holistic view of the solution than any literal description ever could.
2. BABOK
• Task 6.2:
Organize Requirements
• Chapter 6:
Requirements Analysis
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
2
3. Overview
•
•
•
•
•
•
Why Organize Requirements
Models
Views & Viewpoints (level of abstraction)
Key Modeling Concepts
Relationships and Interdependencies
Illustrative Set of Models:
–
–
–
–
19/11/2013
Use Case Models
Class Diagrams
State Diagrams
Business Rules
Gary Bellamy http://ca.linkedin.com/in/garybellamy
3
4. Purpose
The purpose of organizing requirements is
to create a set of views of the requirements
for the new business solution that are
comprehensive, complete, consistent, and
understood from all stakeholder
perspectives.
BABOK Guide Version 2.0, Section 6.2
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
4
5. Objectives
• Understand which models are
appropriate for the business domain and
solution scope.
• Identify model relationships and
interdependencies.
BABOK Guide Version 2.0, Section 6.2
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
5
6. What is a Model?
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
6
7. What is a Model?
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
7
8. What is a Model?
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
8
9. What is a Model?
• Supports analysis, communication and
understanding by:
– Describing situation or problem
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
9
10. What is a Model?
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
10
11. What is a Model?
• Supports analysis, communication and
understanding by:
– Describing situation or problem
– Describing boundaries for business domains
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
11
12. What is a Model?
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
12
13. What is a Model?
• Supports analysis, communication and
understanding by:
– Describing situation or problem
– Describing boundaries for business domains
– Showing components and their relationships
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
13
14. What is a Model?
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
14
15. What is a Model?
• Supports analysis, communication and
understanding by:
– Describing situation or problem
– Describing boundaries for business domains
– Showing components and their relationships
– Describing thought processes or action flows
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
15
16. What is a Model?
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
16
17. What is a Model?
• Supports analysis, communication and
understanding by:
– Describing situation or problem
– Describing boundaries for business domains
– Showing components and their relationships
– Describing thought processes or action flows
– Showing business logic
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
17
18. What is a Model?
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
18
19. What is a Model?
• Supports analysis, communication and
understanding by:
– Describing situation or problem
– Describing boundaries for business domains
– Showing components and their relationships
– Describing thought processes or action flows
– Showing business logic
– Categorizing and creating hierarchies of items
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
19
20. What is a Model?
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
20
27. BA Modeling Concepts
Concepts &
Relationships
Events
Rules
User C.
Profiles
Roles
Processes
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
27
28. Choosing Models
• Relevance to domain
• What concepts are covered
– Comprehensive
– Complete
– Consistent
– “Complimentary”
• Relationships and interdependencies
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
28
32. Class Diagram
• Describes concepts
relevant to domain
– Attributes
– Relationships
Person
-Attribute 1
-Attribute 2
-Attribute 3
-Etc.
Place
0..* 1..1
-can be in
-Attribute 1
-Attribute 2
-Attribute 3
-Etc.
1..1
0..1
-can be location of
0..*
Thing
0..*
-can have
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
-Attribute 1
-Attribute 2
-Attribute 3
-Etc.
32
33. Class Diagram: Online Bank
Customer
Transaction
-ID
-First Name
-Last Name
-Email
-Address
-ID
-Type
-Date
-Amount
0..*
1..1
Payee
1..2
0..*
-ID
-Name
-Customer Account ID
1..1
1..*
Account
1..*
19/11/2013
-Number
-Type
-Overdraft
-Minimum Balance
1..1
Gary Bellamy http://ca.linkedin.com/in/garybellamy
33
34. State Diagram
• Shows how condition
of concept changes
in response to events
• Sequence of states
through lifecycle
• States are mutually
exclusive
• Rules specific to each
state
19/11/2013
Composite State
State
Initial
State
State
Event
Event
Terminal
State
State
Event
Event
State
Gary Bellamy http://ca.linkedin.com/in/garybellamy
34
35. State Diagram: Bank Account
Open
=>$1000
Minimum Balance
Withdraw Funds
Add Funds
> Current Balance
Zero Balance
Close
Overdraft
< Current Balance
> Current Balance
< $1000
Positive Balance
Withdraw Funds
< Current Balance
Freeze
Unfreeze
Frozen
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
35
36. Business Rules
ACTION
Structured English
• <event> <condition> <action>
At month end overdrawn accounts accrue an interest penalty.
• IF <condition is true> THEN <action>
IF time of transaction is outside business hours THEN set date to next business day.
INFERENCE
CONSTRAINT
• <term | inference> <must | must not> <action>
Cheque deposits greater than current balance must be held for four business days.
• <term> IS CORRECTLY COMPLETED ONLY IF <condition is true>
Bill payment IS CORRECTLY COMPLETED ONLY IF the payee billing system provides a
confirmation code.
• <term | inference> NOT <action> IF <term | inference>
Monthly fees are NOT charged IF customer maintains a minimum monthly balance of
$1000.
• IF <condition is true> THEN <inference>
IF mortgage renewal date is less than 90 days from current date THEN customer is
eligible to renew without interest penalty.
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
36
37. Business Rules
1
2
3
4
5
6
7
8
FACTORS
Account status is Frozen
Y
Y
Y
Y
N
N
N
N
Date = Month End
Y
Y
N
N
Y
Y
N
N
Balance is >= $1000
Y
N
Y
N
Y
N
Y
N
ACTIONS
Decision Table
Accrue Interest
X
X
X
X
19/11/2013
Charge service fees
Gary Bellamy http://ca.linkedin.com/in/garybellamy
X
37
41. Use Case Components
•
•
•
•
•
Pre condition (state of concept)
Trigger (event)
Main Flow (most likely scenario)
Post condition (actor goal; altered state)
Alternate Flows (other scenarios resulting in
post condition)
• Exceptions (scenarios that do not result in
post-condition – e.g., errors)
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
41
42. Use Case Example
Use case ID: UC-3
Use case name: Pay Bill
Pre condition: Customer has an open account
Trigger: Customer requests to pay bill
Post condition: Selected bill is paid as of the
transaction date.
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
42
43. Use Case Scenarios
Main Flow:
1.
2.
3.
4.
5.
6.
7.
8.
9.
System lists payees linked to customer.
Customer selects a payee. (Alternate Flow 1: Customer adds payee;
Return Step 4)
Customer selects account from which to pay (Includes: Select Account)
System requests amount to be paid.
Customer provides amount.
System checks if selected account has sufficient funds. (See Rule 123)
Selected account has sufficient funds. (Alternate flow 2: Selected
account does not have sufficient funds; Return Step 3)
System provides date the transaction will be recorded (See Rule 47)
and asks customer for confirmation.
Customer confirms the transaction. (Exception: Customer cancels the
transaction)
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
43
44. Tying the Models Together
Control
Use Case
Actor = Role
Trigger = Event
Flows = Processes
Pre and Post Conditions = States
Achieve goals through/
Affected by
Concepts & Relationships
Transform
Business
Rules
Class
State
Events and Concepts
Describe
19/11/2013
Gary Bellamy http://ca.linkedin.com/in/garybellamy
44
45. Review
1.
2.
Organize Requirements to create C3 views
Views and Viewpoints:
a)
b)
c)
3.
BA Modeling Concepts:
a)
b)
c)
d)
e)
4.
19/11/2013
Business/System
Black Box/White Box
Levels of Abstraction
User Classes/Profiles/Roles
Concepts and Relationships
Events
Processes
Business Rules
Relationships and Dependencies
Gary Bellamy http://ca.linkedin.com/in/garybellamy
45