52
Project Estimation with Use Case Point Object Oriented Development with UML By Assoc. Prof. Rangsit Sirirangsi

Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Project Estimationwith Use Case Point

Object Oriented Development with UML

By Assoc. Prof. Rangsit Sirirangsi

Page 2: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Project Estimation

เปนสวนหนงของ Software Metrics ทใชในการประมาณการส าหรบการวางแผนในการพฒนาระบบ มมมองในการประมาณการไดแก ขนาด (Size) คาใชจาย (Cost) จ านวนบคลากรในการพฒนา (Effort) รวมไปถงระยะเวลาในการพฒนา (Schedule)

การประมาณการถกน ามาใชเพอ● เพอการวดคณภาพของระบบ● เพอวดผลผลตของทมพฒนาระบบ● เพอวดผลผลตและคณภาพของเครองมอใหม ๆ ทใชในการพฒนาระบบ● เพอสรางบรรทดฐานทสามารถน าไปใชในการประเมนราคาของซอฟตแวร● ใชเปนเครองมอในการตดสนใจในการพฒนาระบบใหมทก าลงจะเกดขน

Page 3: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 4: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Size Estimation

วธการทใชส าหรบการวดขนาดของซอฟตแวรมหลายชนด แตทไดรบความนยมในปจจบนมจ านวน 3 วธ ไดแก● Line of Code (LOC) Count● Function Point (FP)● Use Case Point

หนวยวดทใชในการประมาณการ ไดแก ก าลงคน (Effort) ในการพฒนาระบบ ซงคดในรปของ คน-ชวโมง คน-วน คน-เดอน ซงเปนหนวยทนยมมากทสด

Page 5: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Line of Code (LOC) Count

นบเฉพาะบรรทดทมการสงมอบในรปของซอรสโคด โดยไมนบรวมสวนของการทดสอบ หรอสวนงานทสนบสนนการท างานอน ๆ

นบเฉพาะบรรทดทพฒนาโดยบคลากร ไมนบรวมสงทถงสงทระบบงานถกสรางขนไดโดยอตโนมตจากเครองมอพเศษอน ๆ

หนงค าสง คอ หนง Line of Code <LOC> นบสวนของการประกาศคา (Declaration) เปนสวนของ Instruction ไมนบสวนของการขยายความ หรอ Comment

You can't control what you can't measure.

Page 6: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

What is Function Points Analysis ?

เปนการวดความสามารถในการท างานเชงปรมาณ โดยมเปาหมายเพอก าหนดคา Complexity ของซอฟตแวร ซงสามารถน าผลลพธทไดไปใชในการประมาณการเกยวกบเวลาทใชในการพฒนาระบบ รวมถงจ านวนบคลากรทใช

effort

(person-months)

FP0 2000

300

Page 7: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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 กลายเปนองคกรทมความส าคญทมการท างานรวมกบองคกรอน ๆ ทวโลก

Page 8: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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 ได

Page 9: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 10: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 11: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

ค ำนวณ 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

Page 12: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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 ดงตารางดงตอไปน

Page 13: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 14: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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)

Page 15: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 16: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 17: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Degree of Influence คา 0 Not Present ไมมผลเกยวของกบตวแปรนน ๆ คา 1 Incidental Influence มความเกยวของโดยเกดขนภายในระบบแตไมสงผลกระทบตอการท างาน

คา 2 Moderate Influence มความเกยวของโดยเกดขนภายในระบบและสงผลท าใหการท างานซบซอนขนบางเลกนอย

คา 3 Average Influence มความเกยวของโดยเกดขนในระบบและสงผลท าใหการท างานซบซอนขน

คำ 4 Significant Influence มความเกยวของโดยเกดขนในระบบและสงผลท าใหการท างานซบซอนขนคอนขางมาก

คา 5 Strong Influence มความเกยวของโดยเกดขนในระบบและสงผลท าใหการท างานซบซอนมาก

Page 18: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 19: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 20: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 21: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Function Point Example (Cont.)

ก าหนดใหคาเฉลยของโปรแกรมเมอรมคาเทากบ 18 function points /month ดงนน

197 FP / 18 = 11 man-months ในกรณทรายไดเฉลยตอเดอนของโปรแกรมเมอรมคาเทากบ 12000 บาท คาใชจายในการจางแรงงานมคาเทากบ

11 man-months X 12000 = 132000 บาท

Page 22: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Adv. Function Point Analysis

เนองจากวธการแบบ function point analysis ไมขนอยกบภาษาในการพฒนาโปรแกรม แพลตฟอรมทใช ดงนนจงสามารถใชวดความสามารถในการผลตไดดงน● ภาษาโปรแกรมหนง ๆ ทมตอภาษาโปรแกรมอน ๆ● การพฒนาบนแพลตฟอรมหนง ๆ ทมตอการพฒนาบนแพลตฟอรมอน ๆ● วธการพฒนาหนง ๆ ทมตอวธการพฒนาอน ๆ● ทมงานพฒนาหนง ๆ ทมตอทมงานพฒนาอน ๆ● ผลลพธทไดกอนและหลงการลงทนในการฝกอบรม● และอน ๆ

Page 23: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

DisAdv. Function Point Analysis

แตอยางไรกตามวธการนยงมปญหาทตามมา ไดแก● การนบจ านวน Function point จะมผลตอขนาดของโครงการ● ยากทจะประยกตใชตอระบบทมการประมวลผลแบบกระจายหรอระบบทมกลไกการท างานภายในทซบซอนมาก ๆ

● ยากในการก าหนด logical files จากไฟลทมอยจรง● ความเทยงตรงของคาน าหนกทถกก าหนดขนโดย Albrecht และความสอดคลองกบระบบการท างานจรงเปนสงทยงคงมขอสงสย

● องคกรทแตกตางกนมการค านวณคา function points แตกตางกนตามไปดวยอาจกอใหเกดค าถามถงความถกตองทแทจรง

Page 24: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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)

Page 25: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Use Case Points

ในป ค.ศ. 1995 บรษท Rational Software ไดปรบปรงและเพมทฤษฎบางสวนเขาไปในงานวจยดงกลาว โดย Ivar Jacobson เพอประเมนเวลาการท างานของบคลากร (Person-hours) ในโครงการโดยใชขอมลตางๆ จาก Use Case โดยตรง

สงทใชในกำรค ำนวณเพอประเมนโครงกำร ● คาน าหนกของ Actors ● คาน าหนกของ Use-Case ● คาน าหนกของ ปจจยทางดานเทคนค (Technical factors) ● คาน าหนกของ ผทมสวนรวมในโครงการ (Project participants)

Page 26: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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 ตามเงอนไขทก าหนด

Page 27: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 28: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Transaction & UUCW

ก าหนดจ านวนของ UUCW (Unadjusted Use case Weight): สามาถท าไดโดยการนบจ านวน Use Cases และก าหนด weights โดยขนอยกบจ านวน Transactions

Transaction ภายในยสเคสมลกษณะเปน "round trip" เรมตนจากผใชไปยงระบบ และกลบสผใช Transaction สนสดเมอระบบรอรบ input ถดไป

Transaction ภายในยสเคสแตกตางไปจาก Transaction ภายในระบบฐานขอมลเชงสมพนธ

Page 29: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 30: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 31: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 32: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 33: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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)

Page 34: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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)

Page 35: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 36: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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)

Page 37: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

ในหวขอท 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

Page 38: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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 ตามเงอนไขทก าหนด

Page 39: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Use case points

Page 40: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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>>

Page 41: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 42: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 43: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 44: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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 การตดตงระบบงายส าหรบผใช

Page 45: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 46: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 47: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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ภาษาจาวาถกเลอกใชในโครงการนโปรแกรมเมอรยงมความช านาญนอย

Page 48: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 49: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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

Page 50: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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 บาท

Page 51: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

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 :……………………

Page 52: Project Estimation with Use Case Point · 2019-02-24 · ขนาดของโปรแกรมจะมีค่า เท่ากบั Size = FP * 53 = 197 * 53 = 10441 =

Conclusion : Use Case Point

ใชประเมนขนาดของโครงการจากการค านวณ โดยการพจารณาจากแอคเตอรและยสเคสทอยภายในระบบ

สามารถด าเนนการไดในชวงตน ๆ ของการพฒนาภายหลงจากการก าหนดขอบเขตของปญหา และความตองการของระบบ

สงทตองพจารณา● วธการนจะขนอยกบยสเคสทออกแบบไวเปนอยางด● ไมมรปแบบมาตรฐานส าหรบการเขยนยสเคส● อาจไมไดผล 100 % เนองจากขาดรายละเอยดของความซบซอนทอาจเพมขนในขนตอนของการออกแบบรายละเอยดของระบบ