Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Project Estimationwith Use Case Point
Object Oriented Development with UML
By Assoc. Prof. Rangsit Sirirangsi
Project Estimation
เปนสวนหนงของ Software Metrics ทใชในการประมาณการส าหรบการวางแผนในการพฒนาระบบ มมมองในการประมาณการไดแก ขนาด (Size) คาใชจาย (Cost) จ านวนบคลากรในการพฒนา (Effort) รวมไปถงระยะเวลาในการพฒนา (Schedule)
การประมาณการถกน ามาใชเพอ● เพอการวดคณภาพของระบบ● เพอวดผลผลตของทมพฒนาระบบ● เพอวดผลผลตและคณภาพของเครองมอใหม ๆ ทใชในการพฒนาระบบ● เพอสรางบรรทดฐานทสามารถน าไปใชในการประเมนราคาของซอฟตแวร● ใชเปนเครองมอในการตดสนใจในการพฒนาระบบใหมทก าลงจะเกดขน
Effort
Development TimeEstimation Process
Number of Personnel
Estimation Process Diagram
Size• Count of Use Cases• Function Points• Lines of Code
Factors• Design Complexity• Technical• Environmental• Personnel
Size Estimation
วธการทใชส าหรบการวดขนาดของซอฟตแวรมหลายชนด แตทไดรบความนยมในปจจบนมจ านวน 3 วธ ไดแก● Line of Code (LOC) Count● Function Point (FP)● Use Case Point
หนวยวดทใชในการประมาณการ ไดแก ก าลงคน (Effort) ในการพฒนาระบบ ซงคดในรปของ คน-ชวโมง คน-วน คน-เดอน ซงเปนหนวยทนยมมากทสด
Line of Code (LOC) Count
นบเฉพาะบรรทดทมการสงมอบในรปของซอรสโคด โดยไมนบรวมสวนของการทดสอบ หรอสวนงานทสนบสนนการท างานอน ๆ
นบเฉพาะบรรทดทพฒนาโดยบคลากร ไมนบรวมสงทถงสงทระบบงานถกสรางขนไดโดยอตโนมตจากเครองมอพเศษอน ๆ
หนงค าสง คอ หนง Line of Code <LOC> นบสวนของการประกาศคา (Declaration) เปนสวนของ Instruction ไมนบสวนของการขยายความ หรอ Comment
You can't control what you can't measure.
What is Function Points Analysis ?
เปนการวดความสามารถในการท างานเชงปรมาณ โดยมเปาหมายเพอก าหนดคา Complexity ของซอฟตแวร ซงสามารถน าผลลพธทไดไปใชในการประมาณการเกยวกบเวลาทใชในการพฒนาระบบ รวมถงจ านวนบคลากรทใช
effort
(person-months)
FP0 2000
300
History of Function Point Analysis
แตเดมการวดทางดานซอฟตแวรใชวธการวดตามจ านวน SLOC วธการวดตาง ๆ ไดถกคนควาและวจยขน Allan Albrecht – จากบรษท IBM ไดตพมพผลงาน (1979)● โดยเชอวาการวดสามารถท าไดจากและฟงกชนการท างานของระบบ● ตอมาในป 1984 IBM ไดตพมพเอกสารใหมโดยใชชอวา FPs
ป 1986: ไดมการกอตง International Function Points User Group (IFPUG) ป1994: IFPUG ไดเผยแพร Counting Practices Manual เวอรชน 4● เพอชวยผใช FP analysis
IFPUG กลายเปนองคกรทมความส าคญทมการท างานรวมกบองคกรอน ๆ ทวโลก
Function Point (FP) กระบวนการค านวณ Function Point มดงตอไปน● ขนท 1 น าความตองการของระบบทเกบรวบรวมไวมาแบง Function Point ● ขนท 2 ประเมนความซบซอนของฟงกชน● ขนท 3 เปรยบเทยบความซบซอน เพอใหไดระดบความซบซอน เพอค านวณ Function Point ทยงไมไดปรบคา (Unadjusted Function Point)
● ขนท 4 ค านวณคาตวแปรปรบคา (Value Adjustment Factor) ตามลกษณะของโครงการ
● ขนท 5 ค านวณจ านวน Function Point ทผานการปรบคา (Adjusted Function Point : AFP)
● ขนท 6 Function Point ทผานการปรบคาสามารถน าไปค านวณเปน LOC ได
Function Point Analysis
เปนการค านวณคา FP โดยการก าหนดฟงกชนการท างานออกเปน 2 แบบ ไดแก● ฟงกชนกาท างานทเกยวของกบขอมล ILF (Internal Logical Files)
EIF (External Interface Files)● ฟงกชนการท างานทเกยวของกบทรานแซคชน
EI (External Input) EO (External output) EQ (External Inquiry)
Input
Inquiry
Output
Internal
Logical
Files
External
Interface File
Application
USER
LIST OF MATERIALSS
WORK CENTERS
PARTS
PLANT MOLDS
PLANT INFORMATION CENTER
USER
BILL OF MATERIALS
PARTS LISTING
USER
ORDERPARTS
USER
Inquiries
Internal Logical Files
Output
Inputs
InterfaceVENDORSUPPLY
VENDOR INFORMATION
Logical View of User Requirements
ค ำนวณ Function Point (FP)
จ านวนของฟงกชน หาไดจาก FP ทยงไมไดถกปรบแตง (Unadjusted Function Point : UFP) คณกบคาปจจยคณลกษณะของระบบ (Value Adjustment Factor : VAF)
FP = UFP x VAF
VAF = 0.65 + [0.01 x Total DI]
DI : Degree of Influence
Function Point - Complexity
Complexity
Description Simple Average Complex Total
External Inputs __x3=__ __x 4=__ __x 6=__ ____
External Outputs __x4=__ __x 5=__ __x 7=__ ____
Internal Logical Files __x7=__ __x10=__ __x15=__ ____
External Interface Files __x5=__ __x 7=__ __x10=__ ____
External Queries __x3=__ __x 4=__ __x 6=__ ____
Total Unadjusted Function Points ____
การแบงฟงกชนออกเปน 5 ประเภทตามลกษณะของการท างานจะชวยใหการประเมนความซบซอนของ Function Point ไดถกตองยงขน
Function Point จะถกก าหนดน าหนกตามล าดบความยากงายของ complexity ดงตารางดงตอไปน
Levels of ComplexityInternal Logical Files & External Interface Files
File Types Field or Data Elements
1-19 20-50 51+
1 Low Low Average
2-5 Low Average High
6+ Average High High
External Output and External Inquiry
File Types Field or Data Elements
1-5 6-19 20+
1 Low Low Average
2-5 Low Average High
6+ Average High High
For External Input
File Types Field or Data Elements
1-4 5-15 16+
1 Low Low Average
2-5 Low Average High
6+ Average High High
Function points - example
จากนนคา UFP จะถกปรบแตงตามคณสมบตของระบบทถกพฒนาขน โดยค านวณจากคา TCF (Technical Complexity Factor) ทประกอบดวยคณลกษณะ 14 ประการ (degree of influence ) ทมการก าหนดคาน าหนกไวตงแต 0 (no influence) ถง 5 (strong influence)
TCF = 0.65 + 0.01* di
● เมอ di เทากบผลรวมทงหมดของ degree of influence FP = Count_ total x TCF
FP = Count_ total x (0.65+0.01x di)
System Characteristic Brief Description
1. Data communications
จ านวนสงอ านวยความสะดวกทชวยในการเคลอนยายหรอแลกเปลยนขอมลรวมกบระบบ
2. Distributed data processing
มฟงกชนทใชส าหรบจดการการประมวลผลแบบกระจาย
3. Performance เวลาในการตอบสนองหรอปรมาณงานทท าในชวงเวลาหนงเปนทตองการของผใชระบบหรอไม
4. Heavily used configuration
ฮารดแวรทใชมการประมวลผลการท างานอยางหนกหรอไม เมอระบบมการประมวลผล
5. Transaction rate ความถในการประมวลผลทรานแซคชนเปนรายวน รายสปดาห รายเดอน
6. On-Line data entry เปอรเซนตการปอนขอมลเขาสระบบแบบออนไลน
Value Adjustment Factor
System Characteristic Brief Description
7. End-user efficiency มการออกแบบส าหรบประสทธภาพการใชงานของผใชหรอไม
8. On-Line update มการอพเดทขอมลแบบออนไลนกบ ILF หรอไม
9. Complex processing ระบบมความซบซอนในการประมวลผลหรอไม
10. Reusability ระบบถกพฒนาขนตามความตองการของผใชสวนใหญหรอไม
11. Installation ease ความยงยากในการตดตงและการแปลงขอมล
12. Operational ease การ start-up, back-up, และการกคนระบบแบบอตโนมต
13. Multiple sites ระบบถกออกแบบ พฒนาและสนบสนนการตดตงโดยเฉพาะส าหรบการใชงานไดหลายไซต
14. Facilitate change ระบบถกออกแบบ พฒนาและรองรบการเปลยนแปลงความตองการของผใช
Value Adjustment Factor
Degree of Influence คา 0 Not Present ไมมผลเกยวของกบตวแปรนน ๆ คา 1 Incidental Influence มความเกยวของโดยเกดขนภายในระบบแตไมสงผลกระทบตอการท างาน
คา 2 Moderate Influence มความเกยวของโดยเกดขนภายในระบบและสงผลท าใหการท างานซบซอนขนบางเลกนอย
คา 3 Average Influence มความเกยวของโดยเกดขนในระบบและสงผลท าใหการท างานซบซอนขน
คำ 4 Significant Influence มความเกยวของโดยเกดขนในระบบและสงผลท าใหการท างานซบซอนขนคอนขางมาก
คา 5 Strong Influence มความเกยวของโดยเกดขนในระบบและสงผลท าใหการท างานซบซอนมาก
Function Point Example
External Inputs
2 simple X 3 = 6
4 average X 4 = 16
1 complex X 6 = 6
External Outputs
6 average X 5 = 30
2 complex X 7 = 14
Internal Logical files
5 complex X 15 = 75
Complexity
Description Simple Average Complex Total
External Inputs __x3=__ __x 4=__ __x 6=__ ____
External Outputs __x4=__ __x 5=__ __x 7=__ ____
Internal Logical Files __x7=__ __x10=__ __x15=__ ____
External Interface Files __x5=__ __x 7=__ __x10=__ ____
External Queries __x3=__ __x 4=__ __x 6=__ ____
Total Unadjusted Function Points ____
External Inquiries
8 average X 4 = 32
External interface files
3 average X 7 = 21
4 complex X 10 = 40
Unadjusted function points(Count_Total) 240
Function Point Example (Cont.)
Number of TCF
● Complex internal processing = 3
● Code to be reusable = 2
● High performance = 4
● Multiple sites = 3
● Distributed processing = 5
Project adjustment factor = 17
Adjustment calculation:
Adjusted FP = Count_Total x (0.65 + 0.01x di)= 240 X [0.65 + (0.01 X 17)]= 240 X [0.82]= 197 Adjusted function points
Function – Based Metrics
หากโปรแกรมดงกลาวสรางจากภาษา JAVA ซงมคา LOC/FP เทากบ 53 ดงนนขนาดของโปรแกรมจะมคาเทากบ
Size = FP * 53= 197 * 53= 10441 = 10.441 KLOC
Language LOC/FP Data
Avg Median Low High
ABAP (SAP) 28 18 16 60
ASP 51 54 15 69
Assembler 119 98 25 320
C 97 99 39 333
C++ 50 53 25 80
C# 54 59 29 70
COBOL 61 55 23 297
Excel 209 191 131 315
FoxPro 36 35 34 38
HTML 34 40 14 48
J2EE 46 49 15 67
Java 53 53 14 134
JavaScript 47 53 31 63
Perl 24 15 15 60
PL/SQL 37 35 13 60
SQL 21 21 13 37
VB.NET 52 60 26 60
Visual Basic 42 44 20 60
Function Point Example (Cont.)
ก าหนดใหคาเฉลยของโปรแกรมเมอรมคาเทากบ 18 function points /month ดงนน
197 FP / 18 = 11 man-months ในกรณทรายไดเฉลยตอเดอนของโปรแกรมเมอรมคาเทากบ 12000 บาท คาใชจายในการจางแรงงานมคาเทากบ
11 man-months X 12000 = 132000 บาท
Adv. Function Point Analysis
เนองจากวธการแบบ function point analysis ไมขนอยกบภาษาในการพฒนาโปรแกรม แพลตฟอรมทใช ดงนนจงสามารถใชวดความสามารถในการผลตไดดงน● ภาษาโปรแกรมหนง ๆ ทมตอภาษาโปรแกรมอน ๆ● การพฒนาบนแพลตฟอรมหนง ๆ ทมตอการพฒนาบนแพลตฟอรมอน ๆ● วธการพฒนาหนง ๆ ทมตอวธการพฒนาอน ๆ● ทมงานพฒนาหนง ๆ ทมตอทมงานพฒนาอน ๆ● ผลลพธทไดกอนและหลงการลงทนในการฝกอบรม● และอน ๆ
DisAdv. Function Point Analysis
แตอยางไรกตามวธการนยงมปญหาทตามมา ไดแก● การนบจ านวน Function point จะมผลตอขนาดของโครงการ● ยากทจะประยกตใชตอระบบทมการประมวลผลแบบกระจายหรอระบบทมกลไกการท างานภายในทซบซอนมาก ๆ
● ยากในการก าหนด logical files จากไฟลทมอยจรง● ความเทยงตรงของคาน าหนกทถกก าหนดขนโดย Albrecht และความสอดคลองกบระบบการท างานจรงเปนสงทยงคงมขอสงสย
● องคกรทแตกตางกนมการค านวณคา function points แตกตางกนตามไปดวยอาจกอใหเกดค าถามถงความถกตองทแทจรง
A. Use Case Points
Customer
Get Status of Order
Sales
Representative
Place Order
Inventory System
Cancel Order
เปนหวขอวทยานพนธทถกพฒนาขนในป 1993 ทมหาวทยาลย Linkøping ประเทศสวเดน
Gustav Karner จากบรษท Objectory (ปจจบนคอ IBM Rational) เปนผคดคนวธการวดและประเมนราคาโครงการพฒนาซอฟตแวร โดยใชพนฐานมาจากยสเคสไดอาแกรม และไดรบอทธพลมาจากวธการแบบ Function Point (FP)
Use Case Points
ในป ค.ศ. 1995 บรษท Rational Software ไดปรบปรงและเพมทฤษฎบางสวนเขาไปในงานวจยดงกลาว โดย Ivar Jacobson เพอประเมนเวลาการท างานของบคลากร (Person-hours) ในโครงการโดยใชขอมลตางๆ จาก Use Case โดยตรง
สงทใชในกำรค ำนวณเพอประเมนโครงกำร ● คาน าหนกของ Actors ● คาน าหนกของ Use-Case ● คาน าหนกของ ปจจยทางดานเทคนค (Technical factors) ● คาน าหนกของ ผทมสวนรวมในโครงการ (Project participants)
Steps for UCP
ขนตอนท 1 ก าหนดน าหนกของแอคเตอรจากตารางเพอหาคา UAW( Unadjusted Actor Weights)
ขนตอนท 2 ก าหนดน าหนกของยสเคสจากตารางเพอหาคา UUCW (Unadjusted Use Case Weights)
ขนตอนท 3 ค านวณคา UUCP = UAW + UUCW ขนตอนท 4 ก าหนดน าหนกของ Complexity Factors เพอหาคา TCF
● TCF = 0.6 + (0.01 * Tfactor) ขนตอนท 5 ก าหนดน าหนกของ Environment Factors เพอหาคา EF
● EF = 1.4 + (-0.03 * EFactor) ขนตอนท 6 ค านวณหาคา UCP = UUCP * TCF * EF ขนตอนท 7 ค านวณหาคา Person-Hours = UCP * Productivity Factor
● Productivity Factor มคา 20 หรอ 28 ตามเงอนไขทก าหนด
UUCP ขนตอนแรกก าหนดคา UAW (Unadjusted Actor weight) : โดยการแบงกลม
จาก actors และใชคาจากตารางก าหนด factor ส าหรบค านวณคา complexity
Classification Litmus test to recognize classifications Value/Factor
Simple actors เปนระบบอนทอยในรปของ External Actor ทมการตดตอกบระบบผาน API
1
Average actors External Actor ทมการตดตอกบระบบผานโปรโตคอลตาง ๆ เชน HTTP, FTP, หรอ SOAP หรอ
Human Actor ทมการตดตอผาน text-based user interface
2
Complex Human Actor ทมการตดตอกบระบบผาน GUI (graphical user interface)
3
Transaction & UUCW
ก าหนดจ านวนของ UUCW (Unadjusted Use case Weight): สามาถท าไดโดยการนบจ านวน Use Cases และก าหนด weights โดยขนอยกบจ านวน Transactions
Transaction ภายในยสเคสมลกษณะเปน "round trip" เรมตนจากผใชไปยงระบบ และกลบสผใช Transaction สนสดเมอระบบรอรบ input ถดไป
Transaction ภายในยสเคสแตกตางไปจาก Transaction ภายในระบบฐานขอมลเชงสมพนธ
UUCW : Unadjusted Use Case Points
Use case Type Litmus test to recognize classifications Value/Factor
Simple นอยกวาหรอเทากบ 3 transactions 5
Average คาอยระหวาง 4 ถง 7 transactions 10
Complex มากกวา 7 transactions 15
Use case Complexity Weight Number of Use cases Product
Simple 5 12 60
Average 10 8 80
Complex 15 8 120
UUCP Calculation Steps
ก าหนดคา Total UUCP (Unadjusted Use Case Point) จากสมการ ● Total UUCP = Total UAW + Total UUCW
ค านวณคา technical และ environmental factor: ● ขนตอนนเปน technical complexity โดยทก ๆ technical factor จะถกก าหนดคาจาก 0 ถง 5 โดยขนอยกบความ complexity
สมการส าหรบ Tfactor = sum(T1....T13) TCF(Technical Complexity Factor) : TCF = 0.6 + (0.01 * Tfactor). แตละรายการของ TCF ถกก าหนดคาน าหนกไวตงแต 0.5 - 2
Technical factor Weight Description
T1 Distributed System 2ระบบมการประมวลผลแบบกระจายหรอแบบรวมศนย (หรอ Tier Architecture)
T2 Response time 1client ตองการระบบทรวดเรว หรอเวลาในการตอบสนองของระบบเปนสงทส าคญหรอไม
T3 End user efficiency 1 ประสทธภาพของ ends users เปนอยางไร
T4Complex Internal
Processing1
Business process มความซบซอนหรอไม เชน มเรกคอรดทซบซอน เชน บญช คลงสนคา หรอการตรวจสอบภาษ เปนตน
T5 Reusable Code 1มความตองการทจะน ากลบไปใชใหมหรอไม ซงจะมผลตอการเพมความซบซอนของการออกแบบตามไปดวย
Technical Factors
Technical factor Weight Description
T6 Installation Ease 0.5ผใชตองการความสะดวกในการตดตงระบบหรอไม เชน ตองการตดตงเฉพาะบางโมดล จ าเปนตองใชการตดตงแบบอตโนมต
T7 Easy use / Useability 0.5 การใชงานงายมล าดบความส าคญสงสดหรอไม
T8 Portable 2 ผใชตองการใชงานขาม platform หรอไม
T9 Easy to change 1ผใชตองการแกไขเพมเตมระบบในอนาคตหรอไม หากตองการความซบซอนในการออกแบบมากขน
T10 Highly Concurrent 1ผใชตองการใชระบบพรอมกนเปนจ านวนมากหรอไม ซงมผลตอความซบซอนของระบบ
Technical Factors
Technical factor Weight Description
T11Security Objectives
1ผใชตองการความปลอดภยสง เชน SSL หรอตองเขยนโคดพเศษส าหรบการเขารหสหรอไม
T12Direct access to
third parties1
การท างานของโครงการมความเกยวของกบ third party หรอไม ในกรณทมจ าเปนตองท าความเขาใจกบ third-party เพอก าหนดคา factor นไว
T13User training
facilities1
ซอฟตแวรจากมมมองของผใชมความซบซอน และจ าเปนตองมการฝกอบรมหรอไม
Technical Factors
TCF = 0.6 + (0.01 * TFACTOR)
EF = 1.40 + (-0.03 x Efactor)
Efactor - ผลรวมของ environmental factors 8 project environmental factors แตละรายการมคา Value ตงแต 0 ถง 5
● 0 - ไมเปนจรงส าหรบ team members ใด ๆ● 2.5 - เปนจรงส าหรบ 1/2 ของ team members● 5 – เปนจรงส าหรบทก ๆ team members
แตละรายการถกก าหนดน าหนกไวแลว (-1 ถง 2)
Environment Factor
Environmental Factor Weight Description
E1 Familiarity with project 1.5
บคลากรมความคนเคยกบโครงการแบบนมากอนไม ในกรณทไมคนเคยอาจจ าเปนตองใชเวลาสวนใหญในการอธบายการท างานใหเขาใจทงหมด
E2 Application experience 0.5 มประสบการณในการพฒนาระบบหรอไม
E3Objects-oriented
Experience1 มประสบการณในการพฒนา OOP เทาไร
EF(Environmental Factor): factors อน ๆ จะไดแก staff ไดรบการฝกอบรม, แรงจงใจของโปรแกรมเมอร ซงสงเหลานจะมผลตอ cost estimate
Environment Factor
Environmental Factor Weight Description
E4 Lead analyst capability 0.5 จ านวนนกวเคราะหและความรความสามารถ
E5 Motivation 1แรงจงใจในการท าโครงการของโปรแกรมเมอรซงอาจน าไปสการลาออกกอนเสรจโครงการ
E6 Stable requirements 2ผใชมความเขาใจถงความตองการของตวเองอยางชดเจนหรอไม มผลตอความเปลยนแปลง
E7 Part-Time Staff -1ม part-time staffs ภายในโครงการ เชน ทมทปรกษา และอน ๆ หรอไม
E8Difficult programming
language-1
ความยากของการโปรแกรมจากภาษาทใช เชนAssembly, Vb6 , c++, java เปนตน
EF = 1.4 + (-0.03 * EFACTOR)
ในหวขอท 1 ถง 4 0 : ไมมความช านาญในหวขอนน 3 : มความช านาญปานกลาง 5 : มความช านาญในหวขอนนมาก
ในหวขอท 5 0 : ไมมความกระตอรอรนในงาน 3 : ปกต 4 : มความกระตอรอรนมาก
ในหวขอท 6 0 : ความตองการไมชดแจนหรอสามารถเปลยนแปลงไดงาย3 : ปกตทวไป 5 : ไมสามารถเปลยนแปลงได
ในหวขอท 7 0 : ไมมผรวมงานทเปน Part-time 3 : ปกตทวไป 5 : ทมทางดานเทคนคเปน Part-time ทงหมด
ในหวขอท 8 0 : ภาษางายตอการพฒนา 3 : ปานกลาง 5 : ภาษายากตอการพฒนา
Environment Factor
AUCP & Effort
Efactor = SUM(e1...e8). จากนนค านวณคา Environmental Factor = EF = 1.4 + (-0.03 * Efactor) ขนตอนตอไปเปนการค านวณคา Use case points ทมการปรบคา
● UCP = UUCP * TCF * EF และขนตอนสดทาย ค านวณหาคา
● Person-Hours = UCP * Productivity Factor● Productivity Factor มคา 20 หรอ 28 ตามเงอนไขทก าหนด
Use case points
Online Shopping Cart : Use Case Diagram
Browse ProductUser
RegisterLogin
Add Shopping Cart
View Order StatusCard
Authorization
Customer
Check OutCheck Inventory
Status
View Shopping CartUpdate Shopping Cart
<<extend>>
<<extend>>
Unadjusted Actor Weight
ก าหนดคา UAW ทไดจากรายละเอยดการท างานของแอคเตอรทงหมดทปรากฏอยภายในยสเคสไดอาแกรม ซงแอคเตอรเหลานสามารถจดหมวดหมและก าหนดคาน าหนกตามลกษณะของการท างานไดดงตอไปน
Actor Type Description Weighting Factor Number Result
Simple User 1 1 1
Average Customer 2 1 2
Complex Check Inventory Status,
Card Authorization
3 2 6
Unadjusted Actor Weight Total (UAW) 9
Unadjusted Use case Weight
ก าหนดจ านวนของ UUCW (Unadjusted Use case Weight): โดยขนตอนนเปนการนบจ านวนยสเคสและก าหนดคาน าหนกตามจ านวนทรานแซคชนทเกดขนในแตละยสเคส โดยระบบสงซอสนคาผานตะกราออนไลนประกอบไปดวยยสเคสดงตอไปน
Use Case Type Description Weighting
Factor
Number Result
Simple Browse Product , Login ,
Register, View Shopping Cart
5 4 20
Average AddShoppingCart, Update
Shopping Cart, View Order
Status
10 3 30
Complex Check Out , View Order
Status
15 1 15
Unadjusted Use Case Weight Total (UUCW) 65
Unadjusted Use Case Point
ค านวณหาคา UUCP (Unadjusted Use Case Point) ทงหมดจากสมการดงตอไปน :
Total UUCP = Total UAW + Total UUCW. UUCP = total actor weight + total use case weight UUCP = 9 + 65 = 74 หาผลรวมของคา Technical Complexity Factor โดยการก าหนดน าหนกตงแต 0-
5 ตามระดบความส าคญในแตละรายการตงแต T1- T13
TCF
Technical factor W A W*A Reason
T1 Distributed System 2 0 0 ไมไดวางแผนใชระบบประมวลผลแบบกระจายตงแตเรมตน
T2 Response time 1 3 3 ความเรวของระบบถกจ ากดเนองจากความสามารถในการอนพตของผใช
T3 End user efficiency 1 5 5 ผใชมความช านาญในการท างานสง
T4 Complex Internal Processing
1 1 1 ระบบงายตอการประมวลผล ไมมกลไกในการประมวลผลภายในทซบซอน
T5 Reusable Code 1 0 0 ไมมโครงการน าโคดกลบไปใชใหม
T6 Installation Ease 0.5 5 2.5 การตดตงระบบงายส าหรบผใช
Technical Complexity Factor
Technical factor W A W*A Reason
T7 Easy use 0.5 5 2.5 การใชงานของผใชท าไดงาย
T8 Portable 2 0 0 ไมจ าเปน
T9 Easy to change 1 3 3 ตองการในระดบปานกลาง
T10 Concurrent 1 5 5 มการท างานแบบ Multi-User
T11 Security 1 3 3 อยในระดบปานกลาง
T12 Direct access to third parties
1 5 5 ใชค าสง API ส าหรบการตรวจสอบ ความถกตองของบตรเครดต
T13 User training facilities
1 0 0 ระบบใชงานงายโดยทผใชไมจ าเปนตองมการฝกอบรม
30
Technical Complexity Factor
ค านวณหาคาผลรวมของ TCF จากสมการ Tfactor = sum(T1....T13) TFactor = Sum(Tlevel * WeightingFactor) = 0 + 3 + 5 + 1 + 0 + 2.5 + 2.5 + 0 + 3 + 5 + 3 + 5 + 0 = 30 ค านวณหาคา TCF (Technical Complexity Factor) จากสมการดงตอไปน TCF = 0.6 + (0.01 * Tfactor). TCF = 0.6 + (0.01 * 30) TCF = 0.9 ขนตอนถดไปเปนการหาคา EF (Environmental Factor): โดยการก าหนด
น าหนกตงแต 0- 5 ตามระดบความส าคญในแตละรายการตงแต e1 – e7
Environmental Factor
Environmental Factor W A W*A Reason
E1 Familiarity with project 1.5 1 1.5 ไมคนเคยกบโครงการแบบน
E2 Application experience 0.5 1 0.5 ประสบการณของโปรแกรมเมอร
E3 OO Experience 1 1 1 มความเชยวชาญ OOP นอย
E4 Lead analyst capability 0.5 5 2.5 นกวเคราะหระบบมความสามารถสง
E5 Motivation 1 5 5 ทมพฒนามความกระตอรอรน
E6 Stable requirements 2 5 10 Client เขาใจสงทตองการอยางชดเจน
E7 Part-Time Staff -1 0 0 ไมมพนกงานนอกเวลา
E8 Difficult programming language
-1 3 -3ภาษาจาวาถกเลอกใชในโครงการนโปรแกรมเมอรยงมความช านาญนอย
Environmental Factor
ค านวณหาคาผลรวมของ Efactor = SUM(e1...e8). ● EFactor = Sum(Elevel * WeightingFactor)● EFactor = 1.5 + 0.5 + 1 + 2.5 + 5 + 10 + 0 + -2 = 18.5
ค านวณหาคา Environmental Factor จากสมการดงตอไปน● EF = 1.4 + (-0.03 * Efactor). ● EF = 1.4 + (-0.03 * 18.5) = 0.845
ขนตอนถดไปเปนการค านวณหาคา UCP (Adjusted Use Case Points) จากสมการดงน
● UCP = UUCP * TCF * EF ● UCP = 74 * 0.9 * 0.845 = 56.277
Effort : Man/Hours
Karner แนะน าวาการใชคา factor โดยปกตมคาเปน 20 man-hour per UCP โดยตรวจสอบจากคา Efactors จาก E1 ถง E8 โดยนบจ านวนจาก E1 - E6
เฉพาะทมคาต ำกวำ 3 เปนจ านวนกขอ และนบจ านวน E7 - E8 เฉพาะทมคามำกกวำ 3 จ านวนกขอ จากนนน าจ านวนขอจากทงสองรายการมารวมกน● หากผลรวมมคา 2 หรอนอยกวาใหใชคา 20● หากผลรวมมคา 3 หรอ 4 ใหใช 28● หากผลรวมมคา 5 หรอมากกวาจ าเปนตองแกไขใหมเพอปรบคาตวเลข
จากคาในตาราง EF ของระบบ Online Shopping Cart ● จ านวน E1 – E 6 ทมคาต ากวา 3 จ านวน 4 ขอ● จ านวน E7 – E8 ทมคาสงกวา 3 จ านวน 0 ขอ ดงนนจงเลอกใชคา 28
Adjusted Use Case Points
ขนตอนสดทายเปนการหาคา effort ในรปของ Man/Hours ● Total Man/Hour =UCP * Person/Hours/AUCP ● Total Man/Hour = 28 * 56.277 = 1575.756
หากโปรแกรมเมอรท างานวนละ 8 ชวโมงจะใชเวลารวมทงสน ประมาณ 197 วนหรอประมาณ 9 เดอน (1 เดอนท างาน 22 วน = 8.954 เดอน)
คาตอบแทนโปรแกรมเมอรเดอนละ 12000 บาท คาใชจายในการพฒนาระบบระบบทงหมดจะมคา 12000 * 9 หรอเทากบ 108,000 บาท
Quotation
ITMJU SOFTWARE COMPANY
To:
…………………….
Quotation number: xx
Date:
Customer ID: - 20090
Quantity Description Discount Taxable Total
1 Online Shopping Cart 0% 0% 108000 ฿
Quotation Valid for 100 days
Goods delivery date with in 130 days of half payment
Quotation Prepared by: - XYZ estimation department
Approved by :……………………
Conclusion : Use Case Point
ใชประเมนขนาดของโครงการจากการค านวณ โดยการพจารณาจากแอคเตอรและยสเคสทอยภายในระบบ
สามารถด าเนนการไดในชวงตน ๆ ของการพฒนาภายหลงจากการก าหนดขอบเขตของปญหา และความตองการของระบบ
สงทตองพจารณา● วธการนจะขนอยกบยสเคสทออกแบบไวเปนอยางด● ไมมรปแบบมาตรฐานส าหรบการเขยนยสเคส● อาจไมไดผล 100 % เนองจากขาดรายละเอยดของความซบซอนทอาจเพมขนในขนตอนของการออกแบบรายละเอยดของระบบ