DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A...
-
Upload
truonghanh -
Category
Documents
-
view
214 -
download
2
Transcript of DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A...
NOUNS AND VERBSNOUNS AND VERBSDOMAINS, ACTORS, AND USE CASES
FOR MILWAUKEE SPIN
OCTOBER 15, 2009
© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED.375 BISHOPS WAY, SUITE 105 | BROOKFIELD, WI 53005 | (262) 780‐0380 | WWW.SYSLOGICINC.COM
MILWAUKEE SPIN – OCTOBER 15, 2009
• Nouns
• Domain Modeling
• Actor Identification
• Context Diagram
• Verbs
• Use Cases
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 2
MODELING – IT’S ELEMENTARY
• Start with the nouns.
• Person
• Place
• Thing
http://www.youtube.com/watch?v=E2iLAI0gUW0
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 3
HOW THE VIDEO COMPARES WITH REAL LIFE
The Schoolhouse Rock “Nouns” video is a good example of what happens in requirements gathering:happens in requirements gathering:
• A lot of information is shared in a short amount of time.
d ll h i ld b k h ld ?• How do you capture all the stories told by stakeholders?
• Some of the actors or classes are implied in the story.
• When the story is retold, clarifications are made.
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 4
CAPTURE A LIST OF NOUNS
• To Record or Not To Record?
• Record and transcribe the first couple of meetings
• Plan about a 1:4 ratio of recording:transcribing time
• Mark the nouns using Microsoft Word’s “Index” tool
(or just print & underline…)
• Create an index of all the nouns
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 5
USING THE INDEX TOOL IN MS WORD
• Highlight the noun
MS Word 2003T M k W dTo Mark a Word: Alt+Shift+X
MarkTo Insert an IndexInsert
ReferenceIndex and Tables
MS Word 2007MS Word 2007To Mark a Word: Alt+Shift+X
Markor
ReferencesMark Entry
MarkTo Insert an IndexReferences
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 6
ReferencesInsert Index
EXAMPLE: TIME MANAGEMENT TOOL
Create Employee
Level Report
Enter Time Entries
Tie‐out Time Charges Against Vacation
Create Time
Buckets
Add Users
Request Reports
Calendar
Tie‐out Time Create
Update Entries
Create Mgmt KPI Report
Mail‐out invoices (email,
snail mail)
Email Pay Period Updates Needed
Validate total time entered by pay period
Review Reports
Charges Against
Vendor Sys.
Audit Time Entries
Create Invoicing Reports
Receive Alerts When
pay period
Process
Send Reports
Enter Expenses
and provide receipts Speak
withExecute
Mgmt Level
Run Selected Reports
Alerts When Someone Updates Their Time
Process Expense Entries
with Bank
Mgmt Level Employee Report
• The example is based on an employee time tracking system.A I /O t Di i t f i t li it ti ti it
DOMAINS, ACTORS, & USE CASES7
• An In/Out Diagram is one type of requirements elicitation activity.• Low tech: post‐it notes and white paper
© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED.
IDENTIFY THE NOUNS, STAKEHOLDERS, ACTORSStakeholdersCEO
Operations Manager
Actors
Executive Assistant
Contractor
Employee
Approver
Administrator
Account Rep
John (IT guy)
Marilyn
Oscar (bank rep)( p)
Philip (designer)
Stacy (admin)
Stephanie (admin)
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 8
p ( )
Terry (payroll temp)
GRAPHIC REPRESENTATION OF REQUIREMENTS
“A picture shows me at a glance what it takes dozens of pages of a book to expound.” -Ivan Turgenev, Russian novelist
Diagrams:Diagrams:
• Show relationships between objects, users, other systems and the solutionand the solution.
• Help stakeholders and project team have the “A‐ha!” moment of consensusmoment of consensus.
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 9
USING GRAPHIC REPRESENTATION
Employee
Time
Admin1
ProjectReport
BankVendor
Payroll
Expenses
Admin2Approver
QuickBooks
• Requirements Doc=14 pp.
• One contextual picture
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 10
• Graphics do not replace textual representation, they complement it
UML BASICS
• UML uses basic shapes to represent different elements such as:
Solution
Class
Actor
ObjectPackage
Object
Requirement ActivityMessageSend MessageReceive
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 11
WHEN TO MODEL DIAGRAMS
• Class (or context) diagrams, especially at a high level, can show how the solution’s parts will relate to each other. It can include entities, organizations, buildings, even different computers and how they are connected.
• Use cases are helpful in showing what the solution is expected to do• Use cases are helpful in showing what the solution is expected to do. These diagrams identify requirements during the planning of the project. Diagramming use cases is a simple first step before writing descriptive
l hi h b l htextual use cases, which can be lengthy.
• Sequence diagrams can be used when a solution sends and receives messages. They can also be helpful to indicate a timeline.g y p
• Activity diagrams help show the business workflows using the solution. Diagramming these workflows help the developer and the business
h l i i l d ll h k d d b h b i
DOMAINS, ACTORS, & USE CASES
ensure the solution includes all the work needed by the business.
© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 12
NOUNS ARE THE DOMAIN AND THE ACTORS
• Admin1
• Admin2
• Approver
class Domain Model
The Domain Model is a view of all the objects that make up an area of interest,
Computer Website External Actors
+ Bank
• Bank
• Computer
• Employee
• Entry Detail
and their relationships. It is used to capture the significant objects within a system, organization or any target domain.
E
PayrollReportTime
+ Bank+ QuickBooks+ Vendor
• Entry Detail
• Expenses
• Hours
• Month
P P i d
Excel
Expenses
Pay Period
Project
QuickBooks
Receipt
Company Actors
+ Account Representative+ Admin1+ Admin2+ Administrator+ Approver+ CEO• Pay Period
• Payroll
• Project
• QuickBooks
Hours
Week
+ CEO+ Contractor+ Employee+ Executive Assistant+ IT Support+ Operations Manager+ Sub‐Contractor
• Receipt
• Report
• Time
• Vendor
Entry DetailMonth
Key:Blue = Actor from listR d M d l f li t
DOMAINS, ACTORS, & USE CASES
Vendor
• Week
• Website
© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 13
Red = Module from listGreen Box=Module
CONTEXT DIAGRAMS
• The nouns are grouped into high level similarlyhigh‐level, similarly‐functioning modules within the solution.
Employee Admin1
Time
• Actors are grouped into high‐level roles that have direct
Project
Report
Time
relationships with the solution.
PayrollExpenses
Admin2Approver
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 14
UML: USE CASE
• Use Case diagrams display the relationship among actors and functions of the solutionfunctions of the solution.
• They define behavior, requirements and constraints in the form of scripts or scenariosform of scripts or scenarios.
• Actor
• Use Case
Solution
Use Case1• Use Case
Actor1
Use Case1
http://www.sparxsystems.com/resources/uml2_tutorial/http://www.ibm.com/developerworks/rational/library/769.html
Actor1Use Case2
DOMAINS, ACTORS, & USE CASES
http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/index.htm
© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 15
MODELING – IT’S ELEMENTARY
• Then identify the verbs.
• What does an actor do?
• What does the solution do?
• Actions
Using Active Verbs?• check with “to”• to enter to run to saveto enter, to run, to save• shall enter, shall run
http://www.youtube.com/watch?v=h4QEzJe6_ok
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 16
CONTEXT DIAGRAMS USE CASE DIAGRAM
• Draw lines between h ( l ) d
Actor (person or system)
EmployeeAdmin1
the actors (roles) and the modules.
E h f th li
doesthing
Time• Each of these lines
represents a Use Case.
• The syntax for a simpleProject
Report• The syntax for a simple
Use Case is:
• “Actor does a thing ” PayrollExpenses
Admin2Approver
• Actor does a thing.
• “Role affects Module.”
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 17
USE CASE DIAGRAM – EXAMPLE 1Compound items (nouns or verbs) should be represented by separate Use Cases
!
EmployeeAdmin1
Runs/Views
Enters/UpdatesTime
Time
Runs/ViewsReportsEnters/Updates
Expenses
ProjectReport
PayrollExpenses
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 18
Admin2Approver
USE CASE DIAGRAM ‐ EXAMPLE 2
EmployeeAdmin1
Reviews/UpdatesEnters/UpdatesTime
Deposits
• Diagramming all the processes, even those
Time
Admin1
Runs/ViewsReports
/ d
AlertsWhenUpdated
AddsUser
ReviewsPTOReviewsVacation
pPayeven those
external to the solution, can show areas for Time
Bank
Vendor
Enters/UpdatesExpenses Builds
Invoice
Reconcile
future consideration / automation
ProjectReport
Vendor
CreateInvoice
CreateBucket
Budget
Reviews/Approves
Audits
ReconcileInvoice
MailInvoice
AssignBucket
PayrollExpenses
Admin2Approver
ProcessProcessReviews
Enters Expenses
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 19
pp
QuickBooks
Prints Expense ChecksSends DepositInformation
Enters Hours
DOCUMENTING USE CASES
• Simple Use Case
• (Noun + Verb + Noun)
• Good tool for high‐level estimating
• Expanded version
• Simple Use Case
• Explanation of what the Use Case means
• Example of the Use Case in a real‐life scenario
• Better tool for designing solution or detailed estimating
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 20
DOCUMENTATION FOR AN AGILE PROJECT
• Remember the elicitation activity from earlier?
• Each of these post‐its may represent a use case. idea:
• Look for duplicates
• Group similar items together
• Group items by who does them
transform the post‐its onto one‐per‐page in a ring binder.
• Group items by who does them
Create Employee
Enter Time
Tie‐out Time
Charges
Create Time
Buckets
Add Users
Request Reports
Level Report
Review
Entries Charges Against Vacation Calendar
Tie‐out Time Charges
Audit Time
Create Invoicin
Update
Entries
Create Mgmt KPI
Report
Mail‐out invoices
(email, snail mail)
Email Pay
Period Updates Needed
Validate total time
entered by pay
Send Reports
Enter Expenses
and provide
Reports
Against Vendor Sys.
Time Entries
g Reports
Speak with
Execute
Run Selected Reports
Receive Alerts When
Someone Updates
by pay period
Process Expense Entries
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 21
preceipts
with Bank
Mgmt Level Employee Report
Their Time
USE CASES IN A DOCUMENT
• Some companies want formal documentation arounddocumentation around requirements and use cases.
• Every SDLC hasEvery SDLC has documentation, from Waterfall to Scrum.
• Documenting does not go away with agile project methodologies it’s justmethodologies – it s just done differently.
DOMAINS, ACTORS, & USE CASES© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 22
SUMMARY / QUESTIONS
• Remember: Go back to Basics
N• Nouns
• Verbs
• ShapesShapes
• Start with simple and expound
• Context Diagram QuestionsQuestions??• Use Case: Noun + Verb + Noun
• Use the tools that work for you
QuestionsQuestions??
• MS Word
• Pencil / Paper
• Whiteboard / Markers
DOMAINS, ACTORS, & USE CASES
• Whiteboard / Markers
© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 23
PRESENTER INFORMATION
Thank you!
Tomette J. Kirk, CBAP®
(262) 780‐0380(262) 780‐0380
SysLogic, Inc.SysLogic, Inc. is an Information Technology Consulting and Services firm located in Brookfield, Wisconsin. Founded in 1995, SysLogic assists organizations in increasing efficiency and reducing costs through improved processes and technology. SysLogic’s team of management and consulting staff offer a wide range of educational and professional experience
DOMAINS, ACTORS, & USE CASES
range of educational and professional experience.
© 2009 SYSLOGIC, INC. ALL RIGHTS RESERVED. 24