So#ware Effort Es-ma-on With Use Case Points

21
So#ware Effort Es-ma-on With Use Case Points 1 Ho Tuong Vinh

Transcript of So#ware Effort Es-ma-on With Use Case Points

So#ware  Effort  Es-ma-on  With  Use  Case  Points    

1  Ho  Tuong  Vinh  

How  Do  I  Start  The  So#ware  Development  ?  

2  Ho  Tuong  Vinh  

Use  Case  Defini-on  A  Use  Case  consists  of:  •  Actor(s)  :  Actors  can  be  persons,  but  also  interfaces  with  other  systems.  

•  Goal:  An  Actor  should  have  a  goal  that  (s)he  tries  to  accomplish  

•   Main  scenario:  This  scenario  describes  the  steps  to  take  to  accomplish  the  earlier  described  goal.  

•   Alterna-ve  scenarios:  Due  to  business  rules  such  as  constric-ons,  or  due  to  judgment  by  the  actor,  Alternate  scenarios  may  be  described.  

•  Pre-­‐  condi-on:  Condi-ons  that  must  be  fulfilled  before  at  the  Start  of  the  Scenario  

Ho  Tuong  Vinh   3  

Use  Case  example  

4  Ho  Tuong  Vinh  

A  sample  User-­‐Goal  Use  Case  

5  Ho  Tuong  Vinh  

 This  use  case  is  from  a  job  pos-ng  and  search  site.      It  describes  the  situa-on  in  which  a  third-­‐party  recruiter  has  already  posted  a  job  opening  on  the  site  and  now  needs  to  submit  payment  for  placing  that  ad.    

A  sample  User-­‐Goal  Use  Case  

6  Ho  Tuong  Vinh  

Main  Concepts  of  Use  Case  Points  

Ho  Tuong  Vinh   7  

UCP    =    Use  Case  Points  UUCW    =    Unadjusted  Use  Case  Weight  UAW    =  Unadjusted  Actor  Weight  TCF    =  Technical  Complexity  Factor  ECF    =  Environment  Complexity  Factor  PF  =  Produc-vity  Factor  

Unadjusted  Actor  Weight  

Actors  are  classified  as  simple,  average  and  complex.    

Ho  Tuong  Vinh   8  

Unadjusted  Use  Case  Weight  Use  Cases  are  classified  as  simple,  average  and  complex.    

Ho  Tuong  Vinh   9  

–  a  use  case  transac-on  as  a  "round  trip"  from  the  user  to  the  system  back  to  the  user;  a  transac-on  is  finished  when  the  system  awaits  a  new  input  s-mulus.  

–  In  other  words,  in  one  transac-on  the  actor  performs  some  ac-on  which  is  input  for  the  system.  Then  the  system  reacts;  i.e.,  it  processes  the  input  and  returns  the  result  to  the  Actor.  

UCP  calcula-on  

Ho  Tuong  Vinh   10  

 TCF    =  0.6  +  (0.01  *  TFACTOR)  

EF  =  1.4  +  (-­‐0.03  *  EFACTOR)  

Effort  =  UCP  *  Produc>vity  Factor  

Ho  Tuong  Vinh   11  

UCP  calcula-on  -­‐  1  

Actor Type Description Multiplier # of Actors Totals Reasons

Simple System Interface 1

Average Interactive I/F 2

Complex Graphical I/F 3

Total Unadjusted Actor Weights (UAW)

Step  1.  Tabulate  Actors:  Obtain  UAW,  Unadjusted  Actor  Weights                      Step  2.  Tabulate  Use  Cases:  Obtain  UUCW,  Unadjusted  Use  Case  Weights                      Step  3:  Total  Unadjusted  UCP,  UUCP  =  UAW  +  UUCW  

Use Case Type Description Multiplier

(Given) # of Use Cases Reasons Total

Simple 1-3 Transactions 5

Average 4-7 Transactions 10

Complex > 8 Transcations 15

Total Unadjusted Use Case Weights (UUCW)

Ho  Tuong  Vinh   12  

UCP  calcula-on  -­‐  2  Step  4:  Iden>fy  &  grade  Complexity  Factors:  Obtain  TCF                                        

                                                         TCF    =  0.6  +  (0.01  *  TFACTOR)  

Factors Description Weight (Given)

Assigned Values (0-5) Total

T1 Must have a distributed solution 2

T2 Must respond to specific performance objectives 1

T3 Must meet end-user efficiency desires 1

T4 Complex Internal Processing 1

T5 Code must be reusable 1

T6 Must be easy to install 0.5

T7 Must be Easy to Use 0.5

T8 Must be Portable 2

T9 Must be Easy to Change 1

T10 Must allow concurrent operations 1

T11 Include Special Security Features 1

T12 Must provide direct access for 3rd parties 1

T13 Requires special user training facilities 1

TOTAL TFACTOR

0-­‐  irrelevant  3-­‐  average  5-­‐  essen-al    

TCF  <  1:  reduce  UCP  TCF  >  1:  increase  UCP  

Project’s    complexity  

TCF  reduce  in  maximum  40%,  increase  30%  

Ho  Tuong  Vinh   13  

UCP  calcula-on  -­‐  3  Step  5:  Iden>fy  &  grade  Environment  Factors:  Obtain  EF                                                  EF  =  1.4  +  (-­‐0.03  *  EFACTOR)    

UCP EnvF Description Weight

(Given) Assigned

Values (0-5) Total

E1 Familiarity with the VSII Process 1.5

E2 Application Experience 0.5

E3 OO Experience 1

E4 Lead Analyst Capability 0.5

E5 Motivation 1

E6 Stable Requirements 2

E7 Part Time Workers -1

E8 Difficult Programming Language -1

TOTAL EFACTOR

E1-­‐E4  0-­‐  no  experience  3-­‐  average  5-­‐  expert  

EF  reduce  in  maximum  57.5%,  increase  40%  

Team’s  experience  

E5  0-­‐  no  mo-va-on  3-­‐  average  5-­‐  high  mo-va-on  

E6  0-­‐  unchanging      3-­‐  average  5-­‐  extremely  unstable  

E7  0-­‐  no  part-­‐-me  3-­‐  average  5-­‐  all  part-­‐-me  

E8  0-­‐  easy  3-­‐  average  5-­‐  difficult  

Ho  Tuong  Vinh   14  

UCP  calcula-on  -­‐  4    Step  6:  UCP  =  UUCP  *  TCF  *  EF    Step  7:  Effort  in  Person-­‐Hours  =  UCP  *  Produc>vity  Factor                                    

Determine  Produc>vity  Factor  From  industrial  reports:  PF  =  (10  ÷  30)  person-­‐hours  per  UCP  Or    From  your  past  projects  (Update  PF:  A#er  the  project  completes,  compute  new  PF  (  new  PF  =  Actual  Effort  /  UCP)  

Adjus>ng  Man-­‐hours  for  Risk    Risk  coefficients  to  adjust  an  es-mate  when  a  project  includes  specific  risk  that    cannot  be  compensated  for  within  the  model  itself    

Adjusted  Effort  =  (1  +  XX  [%])  x  Measured  Effort    

Prac-cal  exercise  

15  

The  requirement  for  construc>on  of  a  Web  site            The  website  should  order  photos  into  galleries.  The  visitor  

can  review  a  thumbnail  and  request  to  see  the  full  image.  The  full  image  will  have  descrip-on  such  as  camera  used,  f-­‐stop,  shuker  speed,  focal  length  and  ar-s-c  comment.  My  bio  and  contact  informa-on  is  available  as  well  as  email.    I  should  be  able  to  upload  photos,  thumbnails  and  descrip-ons  easily.    The  website  should  cost  less  than  $100  to  host.    

 Your  task:  give  an  es-mate  of  effort  for  construc-ng  the  site    

Ho  Tuong  Vinh  

Use-­‐Case  Structure  Makers  

16  

•  Generaliza>on  between  actors:  If  two  actors  have  80  percent  in  common,  put  them  in  generaliza-on  rela-onship  and  count  them  only  once.    

•   Included  and  extending  Use  Case:  are  essen-al  func-onali-es,  and  reducing  them  will  reduce  steps  and  hence  the  es-ma-on.  

•   Level  of  detail  in  the  Use  Case  descrip>on  :    The  level  of  detail  and  transac-on  in  Use  Case  impact  the  Use-­‐Case  es-ma-on  a  lot.  So  if  that  transac-on  step  is  not  adding  business  value,  do  not  add  it  as  transac-on  step.  This  will  also  increase  the  es-ma-on  to  a  good  level.  

•   Use-­‐Case  Spligng  and  Merging:  Simple  Use-­‐Case  masters  maker  a  lot.  Wri-ng  Use-­‐Cases,  for  example    “Adding  Country  Master".  User  can  write  three  different  Use  Cases  for  Add,  Update,  Delete;  or  he  can  write  one  Use-­‐Case  and  put  the  Update  and  Delete  in  alternate  scenarios.  If  the  Update  and  Delete  do  not  have  different  business  valida-ons,  put  them  in  one  Use-­‐Case.  During  my  coun-ng,  I  had  seen  that  accuracy  increases  if  for  simple  master  we  put  them  in  one  Use-­‐Case.    

  Ho  Tuong  Vinh  

Wri-ng  effec-ve  use  case  

17  Ho  Tuong  Vinh  

Important  terms    v           Ac>on  step:  Single  ac-ve-­‐verb  phrase/sentence  v     Actor:  Someone  playing  a  role  (e.g.  teacher,                student)  v     Scenario:  Narra-ve  describing  how  an  actor                    achieves  a  goal  through  a    series  of  ac-on  steps  v   Use  Case:  Collec-on  of  scenarios,  expressing  all              possible  behaviours  as  actor  tries  to  achieve  goal  

Wri-ng  effec-ve  use  case  (2)  

18  Ho  Tuong  Vinh  

Project,  System,  Service    

 

 

 

 

 

 

 

Use  case                                                

 

 

 

 

 

Use  case                                                

 

 

 

 

 

Use  case                                                

 

 

 

 

 

Use  case                                                

 

 

 

 

 

Use  case                                                

 

 

 

 

 

                                   

                                   

                                   

                                   

Scenario  Ac-on  step  Ac-on  step  Ac-on  step  Ac-on  step  Ac-on  step  Ac-on  step     Use  case                                                

 

 

 

 

 

Wri-ng  effec-ve  use  case  (3)  

19  Ho  Tuong  Vinh  

Alan,  a  maths  lecturer,  uses  a  learning  object  repository  to  find  a  simula-on  of  the  behaviour  of  an  equa-on.  He  logs  in  using  his  Athens  account,  searches  using  suitable  keywords,  finds  the  object  and  obtains  a  reference  to  the  object  that  he  uses  in  the  class  web  site.  He  demonstrates  the  simula-on  in  a  lecture  by  using  the  class  web  site.  

 Write  use  case  that:  

–  Describes  usage,  not  requirements  –  Defines  key  stakeholder  (primary  actor)  and  his  goal  –  Lists  the  ac-on  steps  in  a  narra-ve  text  –  Scenarios  are  o#en  wriken  to  reflect  success  

Wri-ng  effec-ve  use  case  (4)  

20  Ho  Tuong  Vinh  

Goal:  Teacher  locates  a  learning  object  in  a  repository  and  uses  it  in  another  web  site    

Primary  actor:  Teacher  Other  actors:  repository,  authen-ca-on  system,  web  site    

Main  success  scenario:  1.  Teacher  logs  into  repository  with  ATHENS  authen-ca-on  2.  Teacher  searches  for  object  by  keywords    3.  Teacher  iden-fies  suitable  object  4.  Teacher  obtains  reference  to  object  5.  Teacher  uses  reference  in  web  site  

Other  scenarios  (extensions):  1a.  Teacher’s  authen-ca-on  refused  (fail)  1b.  Teacher  authen-cates  using  a  local  LDAP  authen-ca-on  (s)  3a.  Teacher  cannot  find  suitable  object  (f)  

Ac>on  Steps  

Use  Case  Defini-on  

21  

•  Use  Case  Model    –  Describes  a  system’s  func-onal  requirements  –  Consists  of  all  the  users  (actors)  and  all  the  use  cases  –  Iden-fies  reuse  via  use  case  inclusions  and  extensions    

•  Use  Case  –  A  use  case  is  a  single  task,  performed  by  the  end  user  of  a  system,  in  

interac-on  with  the  system,  that  has  a  useful  outcome  –  The  end  user  may  be  a  human  or  another  system  –  Examples:  Iden-fy  Subject  in  a  criminal  tracking  system,  Locate  Tracks  in  a  

radar  system  •  Use  Case  Transac-ons  

–  a  use  case  transac-on  as  a  "round  trip"  from  the  user  to  the  system  back  to  the  user;  a  transac-on  is  finished  when  the  system  awaits  a  new  input  s-mulus.  

–  In  other  words,  in  one  transac-on  the  actor  performs  some  ac-on  which  is  input  for  the  system.  Then  the  system  reacts;  i.e.,  it  processes  the  input  and  returns  the  result  to  the  Actor.  

  Ho  Tuong  Vinh