So#ware Effort Es-ma-on With Use Case Points
Transcript of So#ware Effort Es-ma-on With Use Case Points
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
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.
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 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