Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
38 views15 pages

06 Workflow

software requirements 3rd by karl wiegers( Slide or PPT)

Uploaded by

xiaopujiazi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views15 pages

06 Workflow

software requirements 3rd by karl wiegers( Slide or PPT)

Uploaded by

xiaopujiazi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

SE463

Software  Requirements  Specification  &  Analysis

Workflow  Models

Readings:
Karl  E  Wiegers and  Joy  Beatty. Software  Requirements,  3ed.  
Microsoft  Press,  2013.
Chapter  12:  "A  picture  is  worth  1024  words"

Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Workflow
A  workflow as  a  series  of  tasks that are organized  to  
accomplish  some  business  use  case
• Decomposition  of  use  case  into  tasks
• Data  needed  to  perform  each  task
• Data  produced  by  each  task
• Sequencing  of  tasks

Cannot  make  real  


progress  until  all  
parties  agree  on  the  
desired  workflow
http://thedoghousediaries.com/2659
Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Module  Objectives

Elicit  workflow  of  use  cases

Express  workflow  as  scenarios,  


activity  diagrams

Express  information  flows  in  


data-­flow  diagrams

Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Scenarios
A  scenario  is  one  full  execution  path  through  a  use  case,  
listing  only  observable  actions  
• interactions  between  the  Work  and  external  actors

Banking  Scenario
1.  User  requests  to  withdraw  funds,  specifies  amount
2.  Bank  authenticates  user
3.  Bank  checks  that  the  account  has  sufficient  funds
4.  Bank  dispenses  cash  and  receipt
5.  Bank  records  the  transaction
6.  User  takes  cash  and  receipt  and  leaves

Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Template
• Business  Event  Name:
• Business  Use  Case  Name  and  Number:
• Trigger:  
• Preconditions:  Sometimes  certain  conditions  must  exist  before  
the  use  case  is  valid.  
• Interested  Stakeholders:  
• Active  Stakeholders:  
• Normal  Case  Steps:
• Step  1  .  .  .
• Step  2  .  .  .
• Step  3  .  .  .
• Alternatives:
• Exceptions:
• Postcondition:
Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Template
Business  Event  Name:  Unformatted  Query  
Business  Use  Case  Name  and  Number:  Send  Unformatted  Queries
Trigger:  User  enters  unformatted  Query
Preconditions:  User  is  an  authenticated  subscriber
Postcondition:  User  receives  response  to  query
Interested  Stakeholders:  Users
Active  Stakeholders:  Users
Normal  Case  Steps:
User Rockit Internet SMS  
1.  Enters  unformatted  
query
2.  Parses query and  sends  
request  to  the  Internet
3.  Sends  response  
to  Rockit
4.  Parses  the  response,  
reformats  it  as  an  SMS  
message,  and  sends  the  
message  to  SMS
5.  Sends  message  
to  the  user
Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
More  Complex  Actions
• If  (conditional  statement)
• For  (iteration  expression)
• While  (conditional  iteration)
• Go  To  UCn

Example:
User Bank
1.  Requests  to  withdraw  funds,  
3.  While  the  Bank  checks  that  account  has  sufficient  funds
specifies  amount

3.1  Show  advertisements  to  the  customer


2.  Authenticates  user

3.  While  checking  that  user’s  account  has  sufficient  funds


Show  advertisements  to  the  customer

These  constructs  are  not  needed  very  often  and  may  be  a  sign  
that  the  scenario  is  becoming  too  detailed  or  too  much  like  
pseudo-­code.
Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Variations
Alternative:    a  sub  use  case  that  achieves  the  main  goal  of  a  
use  case  through  a  different  intended sequence  of  actions
• Number  specifies  where  with  in  the  main  scenario  the  
alternative  sub  scenario  starts
• Provides  an  alternate  sequence  of  actions/interactions.
• Actor  may  have  multiple  possible  actions  at  each  step.

Exception:  a  sub  use  case  that  captures  an  unwanted but  


possible  deviation
• Number  specifies  where  within  the  main  scenario  the  
exceptional  sub  scenario  starts
• Typically  initiated  by  a  fault  within  the  system  (the  Work)
• Might  not  rejoin  main  flow;;  may  have  different  outcome
Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Alternatives
User Rockit Internet SMS  
1.  Enters  unformatted  
query
2.  Parses query and  sends  request  to  
the  Internet
3.  Sends  response  
to  Rockit
4.  Parses  the  response,  reformats  it  as  
an  SMS  message,  and  sends  the  
message  to  SMS
5.  Sends  message  to  
the  user
Alternative 1  – Rockit has  a  cached  response  to  query
2.1  Parses  the  query  and  determines it  
has  a  cached response;;  sends  
response  to  SMS
Goto Step  5

Alternative  2  – User  resubmits an  old  query  from  cache

1.1  Selects previously  requested  


query  from  cache
Goto Step  2

Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Exceptions
User Rockit Internet SMS  
1.  Enters  unformatted  
query
2.  Parses query and  sends  request  to  the  
Internet
3.  Sends  response  
to  Rockit
4.  Parses  the  response,  reformats  it  as  
an  SMS  message,  and  sends  the  
message  to  SMS
5.  Sends  message  
to  the  user
Exception 2.1  – User  sends  query  in  an  unsupported  language
2.1  Fails  to  parse query;; constructs  an  
error  message  and  sends  the  message  to  
SMS
Goto Step  5
Exception  3.1  – Internet  fails  to  respond to  query
4.1  Times out  waiting  for  response  from  
Internet;;  constructs  an  error  message  
and  sends  the  message  to  SMS
Goto Step  5

Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Use  cases  vs.  Scenarios
A  use  case  is  a  collection  of  success  &  failure scenarios  
initiated  by  an  external  actor,  to  achieve  a  particular  goal

SC1 SC4 SC6 SC2 SC3 SC5

S S F S S 1.  User  authenticates
S F S — 2.  User  requests  withdraw  
S S F — 3.  Bank  checks  account  balance
S S F 4.  Bank  dispenses  cash  and  receipt
S S 5.  Bank  records  the  transaction
S S 6.  User  takes  cash  and  receipt
S Success

F Failure
Success leg Failure leg
— Don’t  care

Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Activity  Diagram
An  Activity  Diagram  is  a  UML  model  for  expressing  the  flow  
of  control from  one  activity  to  another.
actor Customer Bank actor

activity

Request Money Authenticate


guard condition
from Account User
end of activity
decision (branch) [failure]

[success]
Check that Account
has Sufficient Funds

[insufficient]

[sufficient]
synchronization bar
(fork)

Dispense Cash Record concurrent  activities  


and Receipt Transaction [when  order  doesn’t  matter]

Collect Cash, synchronization bar


Receipt and Leave (join)

Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
ReadYourStory
User ReadYourStory Printer

Select  Book
Template

Upload  child’s  
Create  Book  Order
photo  and  info

Review  book
preview

[decline] [order] Prompt  for  


Payment  Info

Enter  Payment  Info Verify  Payment  Info


[rejected]
[approved]

Change  Order  Status Print  Book

Send  Book
Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Dataflow  Diagram  (DFD)
A  dataflow  diagram  (DFD)  is  a  functional  decomposition  of  the  
work,  and  the  data  dependencies  between  functions.
actor process
data flow

on/off
air temp commands
Thermometer Thermostat Furnace

set
air temp data store

thermostat settings

For  each  step  in  the  workflow


• What  information  is  needed  (and  where  does  it  come  from)?
• What  information  is  produced  (and  who  needs  it)?
Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      
Rockit

Process  
Internet
query Query query

User SMS Internet


response
Cached  Responses

SMS Internet
response response
Process  
Response

Copyright  ©  Atlee,  Berry,  Day,  Godfrey  1995-­2018   U  Waterloo  SE463  (Spring  2018)      

You might also like