เอกสารกำกับการทำงานของระบบ(SRS...

Post on 03-Sep-2020

0 views 0 download

Transcript of เอกสารกำกับการทำงานของระบบ(SRS...

COCOMO I COCOMOI เปนตวแบบทประมาณการ

แรงงาน (effort) และระยะเวลาทใชจำานวนบรรทดของโปรแกรม (LOC)

ประกอบดวยตวแบบ 3 แบบ คอ 1. ตวแบบระดบพนฐาน (Basic Model) 2. ตวแบบระดบกลาง (Intermediate model)

3. ตวแบบระดบสง (Advance Model)

ตวแบบระดบพนฐาน ประมาณการแรงงาน โดยไมมตวปรบคา

ตวแบบระดบกลาง เปนตวแบบทมการพฒนาจากตวแบบระดบพนฐาน แตมความละเอยดมากขน โดยมการปรบ

คาทไดจากตวแบบแรกดวยตวขบเคลอนคาใชจาย (Cost Driven)

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

ขนตอนการประมาณการ1. จดประเภทของระบบงานทกำาลงพจารณา ม 3 ประเภท

1.1 ประเภทออกานก (Organic Model)

1.2 ประเภทเซมดเทช (Semi-detached Model) 1.3 ประเภทเอมเบดเดด (Embedded Model)

2. คำานวณหาแรงงานปกต และระยะเวลาการพฒนาระบบงาน

3. คำานวณหาปจจยปรบแรงงาน (Effort Adjustment Factor)

1.1 ประเภทของออกานก (Organic Model)

ทมงานทพฒนามขนาดเลก ระบบงานมขนาดเลก ประมาณไมเกน 50

KLOC

พฒนาภายในสภาวะแวดลอมภายในองคกร (in-house environment)

ทมงานมความคนเคย หรอมประสบการณกบระบบงานทจะพฒนา

สามารถตอรอง ขอปรบเปลยนรายละเอยดของซอฟแวรได

ระบบงานพฒนาอยบนสภาพแวดลอมทคงท (static environment)

อลกอรทมของการประมวลผลไมมความซบซอน

ระยะเวลาในการพฒนาไมเปนตวกดดนตอผพฒนามากนก

1.2 ประเภทเซมดเทช (Semi-detached Model)

คนในทม มทงคนทม และไมมประสบการณในระบบงานทกำาลงพฒนา

คนในทมทกคนมประสบการณในระบบงานทเกยวของปานกลาง

มแรงกดดนจากระยะเวลาของโครงการบาง

ระบบงานมขนาดปานกลาง ประมาณไมเกน 300 KLOC

อลกอรทมของการประมวลผลมความซบซอนพอประมาณ

1.3 ประเภทของเอมเบดเดด (Embedded Model)

ทมงาน ไมมความคนเคย หรอไมมประสบการณกบระบบงานทจะพฒนา

ขอกำาหนดของระบบงานทพฒนา ไมสามารถเปลยนแปลงได เนองมาจากขอจำากดตางๆ

ตองพฒนาระบบงานททำางานรวมกบอปกรณเฉพาะ หรอระบบพฒนาขนโดยผกกบกฎ ระเบยบ หรอขนตอนการดำาเนนงานอยางเครงครด

ตองพฒนาระบบงานภายในเวลาทกำาหนด

อลกอรทมของการประมวลผลมความซบซอน

ตองทดสอบความถกตองอยางมาก

การคำานวณหาแรงงาน และระยะเวลา

ตวแบบพนฐาน แรงงาน (คน-เดอน) = a x KLOCb

ระยะเวลาการพฒนา = c X แรงงาน d

โดยท a, b, c, d มคาตามตาราง

ตาราง แสดงคาพารามเตอรสำาหรบตวแบบระดบพนฐาน

ประเภทระบบงาน a b c d

ออกานก 2.4 1.05 2.5 0.38

เซมดเทช 3.0 1.12 2.5 0.35

เอมเบดเดด 3.6 1.20 2.5 0.32

ตาราง ระบบงานมขนาด 33.3 KLOC เปนระบบแบบเซมดเทช จงคำานวณหาแรงงาน ระยะเวลา และจำานวนคน

แรงงาน (คน-เดอน) = 3.0 x KLOC1.12

= 3.0 x 33.31.12 = 152 คน-เดอน

ระยะเวลา = 2.5 x 152 = 14.5 เดอน

จำานวนคน = 152/14.5 = 11 คน

ตวแบบระดบกลาง แรงงาน (คน-เดอน) = a x KLOCb x ตวขบเคลอนคาใชจาย

ระยะเวลาการพฒนา = c X แรงงาน d

โดยท a, b, c, d มคาตามตาราง

ประเภทระบบงาน

a b c d

ออกานก 3.2 1.05 2.5 0.38

เซมดเทช 3.0 1.12 2.5 0.35

เอมเบดเดด 2.8 1.20 2.5 0.32

ตาราง จากการประมาณขนาดซอฟแวร ของ

โครงการแบบ organic พบวา data entry 0.6

KLOC data update 0.6

KLOC query 0.8

KLOC report gen. 1.0

KLOC TOTAL 3.0

KLOC

cost driver attribute Complexity

high 1.15 Storage

high 1.06 Experience

low 1.13

Programmer capability low 1.17

ตวขบเคลอนคาใชจาย

แรงงาน (คน-เดอน) = a x KLOCb x ตวขบเคลอนคาใชจาย

ระยะเวลา = c X แรงงาน d

การคำานวณหาปจจยปรบแรงงาน

ถาการคำานวณแรงงาน ใชตวแบบระดบกลาง ผจดการโครงการตองปรบคาของแรงงานปกต ทคำานวณไดจากขอ 2 ดวยปจจยปรบแรงงาน ซงไดจากตวขบเคลอนคา

ใชจาย (Cost Driver) ทม 15 ตว แบงออกเปน 4 กลม ดงตาราง

COCOMO IIConstructive Cost Model

โมเดลในการประเมนราคาซอฟตแวร หรอ Software Costing Model ซงโมเดลนถกสรางขน ในป 1981 โดย Barry Boehm ซงเปนทยอมรบและนำาเอาไปใชกนแพรหลายในสหรฐอเมรกา โดยแนวความคดนนตองการเพอประเมนราคาซอฟตแวร โดยจะตองนำาเอาความแตกตางของแตละโครงการ, ลกษณะเฉพาะ, ผทเกยวของตางๆ มาคดคำานวณคาออกมาเปนตวเลขได โดยปจจบนพฒนามาถง COCOMO II ซงมการนำาเอาแนวคดเกยวกบ CMM มาใชรวมดวย

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

จดการซอฟตแวรประกอบไปดวย ผลตภณฑ กระบวนการ โครงการ และบคลากร นอกจากนยงมปจจยอนทเกยวของ ในการทจะประเมนราคา และระยะเวลาของซอฟตแวร โดยมโมเดลการคำานวณเปนดงน

PM = A x SizeE x EM = PMautoPM คอ Effort มหนวยเปน Person-Months (PM)A คาคงททไดจากการรวบรวมขอมลใน 161 โครงการ โดย A = 2.94

E คอ Economics of Scale ซงเปนผลทขนาดของซอฟตแวรสมพนธ

กบขนาดของโครงการ โดย E = B + 0.01 * Scale Factor

B Scaling Base-exponent สำาหรบคำานวณ Effort

EM คอ Effort Multipliers เปนคาทไดจากการคำานวณ Cost Driver ทเกยวกบโครงการ ทสงผลตอ Effort ในการพฒนาซอฟตแวร

PMauto คาของ Effort ทไดจากการแปลงอตโนมต ซงจะเกดเมอมการ

Reuse Code โดยคานนจะไมมผลตอการพฒนา แตเนองจากมผลตอ

คาใชจาย ถาเปนการพฒนาซอฟตแวรใหม คา

PMauto จะเปน 0

ระยะเวลาทใชในการพฒนาซอฟตแวรมสตรดงน

TDEV = [ C x (PM) F ] x SCED% ……………………………...2

100

C คอ Schedule Coefficient ทใชมาคำานวณ โดย C = 3.67

F คอ Scaling Exponent สำาหรบระยะเวลา โดย F = [ D + 0.2 (E-B) ]D Scaling Base-exponent สำาหรบ ระยะเวลา โดย D = 0.28

SCED คอ ความรบเรงของเวลาเมอเปรยบเทยบกบการพฒนาปกต

จากสตร จะเหนวา Effort ของการพฒนาทใชในการพฒนาจะขนอยกบขนาดของการพฒนา หรอ size ของซอฟตแวรหลก แตขนาดเพยงอยางเดยวอาจจะไมเพยงพอ เพราะจะตองนำาเอาปจจยอน และภาวะความเสยงอนมารวมคดดวย

แนวความคดของ COCOMO II ไดแบงการประเมนราคาซอฟตแวรเปน 2 ระยะคอ Early-design และ Post-design เนองจากมความคดวาผลของการประเมนในเวลาททำาการเรมตนการออกแบบเบองตนยอมแตกตางจากการทไดทำาการวางโครงสรางแลว เมอเรมการพฒนาไปสกระยะจะทราบถงปจจยทสงผลกระทบตอคาใชจายมากขน

ตวแบบ 3 ระดบของ COCOMOII ไดแก

1. ระยะการพฒนาตนแบบชวงตน

2. ระยะการออกแบบชวงตน

3. ระยะหลงจากการออกแบบสถาปตยกรรม

1. ระยะการพฒนาตนแบบชวงตน

เปนตวแบบทใชสำาหรบการประมาณแรงงาน ในชวงเรมตนโครงการ ผจดการโครงการ ยงไมทราบรายละเอยดของระบบงาน แตทราบฟงกชนงานคราวๆ

การประมาณการจงใช ออบเจกตพอยต (Object Points) ตวแบบนเหมาะกบการพฒนาระบบดวยวธการใชซอฟแวรตางๆทมมาประกอบกน

2. ระยะการออกแบบชวงตน เปนตวแบบทใชสำาหรบประมาณแรงงาน

เมอผจดการโครงการ ทราบความตองการแลว

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

3. ระยะหลงจากการออกแบบสถาปตยกรรม

เปนตวแบบทใชในการประมาณการขนาดของซอฟแวร ใหแมนยำามากขนหลงจากออกแบบสถาปตยกรรมระบบงานแลว

ตวแบบของระดบน มสตรคำานวณ เชนเดยวกบระดบการออกแบบระยะแรก แตมชดของปจจยทเขมขนมาปรบคาอกชด

การประมาณการแรงงาน สำาหรบระยะการพฒนาตนแบบชวงตน

ตวแบบการคำานวณแรงงาน คอ

แรงงาน

%( (1 ))100( )

reuseNOPPM

PROD

โดยท

PM = แรงงาน (คน-เดอน)

NOP = ออบเกจตพอยตใหม (New Object Point)

%reuse = รอยละของซอฟแวรทนำากลบมาใชใหม

PROD = ผลผลตเพม

ขนตอนการคำานวณ 1. นบจำานวนออบเจกตพอยต ทประกอบกนเปนระบบงาน

ออบเจกตไดแก จอภาพ รายงาน และสวนประกอบทเปน 3 GL(3 General Language) 2. จดระดบของออบเจกตแตละออบเจกต ซงม 3 ระดบคอ งาย ปานกลาง และยาก

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

ระดบของออบเจกต แตละประเภท แสดง

ดงตาราง3. ใหนำาหนกความยาก-งาย ของแตละออบเจกต เพอสะทอนใหเหนถง

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

ประเภทออบเจกต

ความซบซอน-นำาหนก

งาย ปานกลาง ยาก

จอภาพ 1 2 3

รายงาน 2 5 8

3GL Component

10

4. หาผลรวมของออบเจกตพอยต หลงจากถวงนำาหนกของออบเจกตพอยตทกๆตวแลว

5. ประมาณรอยละของการนำาโปรแกรมกลบมาใชหใม แลวคำานวณหาออบเจกตพอยตใหมทตองพฒนา (NOP) โดยมสตรการคำานวณดงน

6. กำาหนดระดบผลผลตเพม (PROD) โดยท PROD หาไดจากตาราง

การประมาณการแรงงาน สำาหรบระยะการออกแบบชวงตน

ตวแบบการประมาณแรงงาน ระดบนคอ แรงงาน (effort) = 2.94 X sizeB x M + PMauto

โดยท

size คอ ขนาดของระบบงานวดเปนกโลบรรทด (KLOC) ซงคำานวณไดจากจำานวนฟงกชนพอยต

M คอ ผลคณของตวคณแรงงาน (effort multipliers) เพอปรบคาของแรงงานให

สอดคลองกบลกษณะของระบบงานและโครงการ ตวคณมทงหมด 7 ตวคอ

RCPX ความนาเชอถอและความซบซอนของระบบงาน (Reliability and complexity)

RUSE โปรแกรมทนำากลบมาใชใหม (reuse requires)

PDIF ความยากของแพลตฟอรม (Platform difficulty)

PERS ความสามารถของบคลากร (Personal Capability)

PREX ประสบการณของบคลากร (Personal Experience)

FCIL สงอำานวยความสะดวกในการพฒนาระบบงาน (Support Facilities)

SCED แรงกดดนจากตารางเวลาการพฒนา (Schedule)

M = PERS x RCPX x RUSE x PDIF x PREX x FCIL x SCED