เอกสารกำกับการทำงานของระบบ(SRS...
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