DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A...

24
NOUNS AND VERBS NOUNS AND VERBS DOMAINS,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) 7800380 | WWW .SYSLOGICINC.COM

Transcript of DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A...

Page 1: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 2: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 3: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 4: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 5: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 6: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 7: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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.

Page 8: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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)

Page 9: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 10: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 11: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 12: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 13: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 14: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 15: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 16: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 17: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 18: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 19: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 20: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 21: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 22: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 23: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

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

Page 24: DOMAINS CTORS AND USE CASES - Milwaukee The example is based on an employee time tracking system. A I/OtDi ... Diagramming use cases is a simple ... • Context Diagram Questions?

PRESENTER INFORMATION

Thank you!

Tomette J. Kirk, CBAP®

[email protected] 

(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