การประมาณการแรงงานด้วยวิธีโคโคโม
Download
1 / 64

การประมาณการแรงงานด้วยวิธีโคโคโม - PowerPoint PPT Presentation


  • 194 Views
  • Uploaded on

การประมาณการแรงงานด้วยวิธีโคโคโม. อ.วิวัฒน์ ชินนาทศิริกุล. บทนำ. COCOMO ย่อมาจาก CO nstruction CO st MO del พัฒนาโดย โบแอม (ค.ศ. 1981 ) เรียกว่า COCOMO81 หรือ COCOMOI วัตถุประสงค์ เพื่อประมาณการแรงงานและเวลาที่ต้องใช้ในการพัฒนาซอฟแวร์

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' การประมาณการแรงงานด้วยวิธีโคโคโม' - huy


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

การประมาณการแรงงานด้วยวิธีโคโคโมการประมาณการแรงงานด้วยวิธีโคโคโม

อ.วิวัฒน์ ชินนาทศิริกุล


บทนำการประมาณการแรงงานด้วยวิธีโคโคโม

  • COCOMOย่อมาจาก COnstruction COst MOdelพัฒนาโดย โบแอม (ค.ศ.1981) เรียกว่า COCOMO81หรือ COCOMOI

  • วัตถุประสงค์ เพื่อประมาณการแรงงานและเวลาที่ต้องใช้ในการพัฒนาซอฟแวร์

  • ปี ค.ศ.2004 โบแอม ได้พัฒนาปรับปรุงตัวแบบ COCOMOใหม่ให้สอดคล้องกับวิธีการพัฒนาซอฟแวร์ที่เปลี่ยนไปจากเดิม ตัวแบบใหม่เรียกว่า COCOMO2000หรือ COCOMOII


Cocomoi
COCOMOIการประมาณการแรงงานด้วยวิธีโคโคโม

  • 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
1.1การประมาณการแรงงานด้วยวิธีโคโคโมประเภทออกานิก (Organic Model)

  • ทีมงานที่พัฒนามีขนาดเล็ก

  • ระบบงานมีขนาดเล็ก ประมาณไม่เกิน 50 KLOC

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

  • ทีมงานมีความคุ้นเคย หรือมีประสบการณ์กับระบบงานที่จะพัฒนา

  • สามารถต่อรอง ขอปรับเปลี่ยนรายละเอียดของซอฟแวร์ได้

  • ระบบงานพัฒนาอยู่บนสภาพแวดล้อมที่คงที่ (static environment)

  • อัลกอริทึมของการประมวลผลไม่มีความซับซ้อน

  • ระยะเวลาในการพัฒนาไม่เป็นตัวกดดันต่อผู้พัฒนามากนัก


1 2 semi detached model
1.2การประมาณการแรงงานด้วยวิธีโคโคโมประเภทเซมิดีเทช (Semi-detached Model)

  • คนในทีม มีทั้งคนที่มี และไม่มีประสบการณ์ในระบบงานที่กำลังพัฒนา

  • คนในทีมทุกคนมีประสบการณ์ในระบบงานที่เกี่ยวข้องปานกลาง

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

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

  • อัลกอริทึมของการประมวลผลมีความซับซ้อนพอประมาณ


1 3 embedded model
1.3 การประมาณการแรงงานด้วยวิธีโคโคโมประเภทเอมเบดเด็ด (Embedded Model)

  • ทีมงาน ไม่มีความคุ้นเคย หรือไม่มีประสบการณ์กับระบบงานที่จะพัฒนา

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

  • ต้องพัฒนาระบบงานที่ทำงานร่วมกับอุปกรณ์เฉพาะ หรือระบบพัฒนาขึ้นโดยผูกกับกฎ ระเบียบ หรือขั้นตอนการดำเนินงานอย่างเคร่งครัด

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

  • อัลกอริทึมของการประมวลผลมีความซับซ้อน

  • ต้องทดสอบความถูกต้องอย่างมาก


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

  • ตัวแบบพื้นฐาน

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

    ระยะเวลาการพัฒนา = cXแรงงานd

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


ตาราง แสดงค่าพารามิเตอร์สำหรับตัวแบบระดับพื้นฐาน


33 3 kloc
ตัวอย่าง แสดงค่าพารามิเตอร์สำหรับตัวแบบระดับพื้นฐานระบบงานมีขนาด 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 xKLOCbxตัวขับเคลื่อนค่าใช้จ่าย

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

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


ตัวอย่าง แสดงค่าพารามิเตอร์สำหรับตัวแบบระดับพื้นฐาน

  • จากการประมาณขนาดซอฟแวร์ ของโครงการแบบ 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



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

  • ถ้าการคำนวณแรงงาน ใช้ตัวแบบระดับกลาง ผู้จัดการโครงการต้องปรับค่าของแรงงานปกติ ที่คำนวณได้จากข้อ 2ด้วยปัจจัยปรับแรงงาน ซึ่งได้จากตัวขับเคลื่อนค่าใช้จ่าย (Cost Driver) ที่มี 15ตัว แบ่งออกเป็น 4กลุ่ม ดังตาราง


  • ตัวขับเคลื่อนคการคำนวณหาปัจจัยปรับแรงงานาใชจายแตละตัว จะมีอัตราแตกตางกัน ตั้งแตต่ำมาก

    (very low) จนกระทั่ง สูงเปนพิเศษ (extra high)

  • ผูจัดการโครงการจะตองระบุใหไดวาตัวขับเคลื่อนคาใชจายแตละตัวมีคา เทาไร แลวจึงนําคาของตัวขับเคลื่อนคาใชจายทุกตัวมาคูณกัน

  • จากนั้นจึงนําผลคูณของตัวขับเคลื่อนคาใชจายทั้งหมดไปคูณกับแรงงานปกติที่ไดจากขอ 2

  • ตารางที่ 6.11 และ 6.12 จะชวยใหผูจัดการโครงการสามารถกําหนดระดับของตัวขับเคลื่อนคาใชจายแตละตัว เชน ความเชื่อถือของระบบงาน (RELY) จะไดระดับสูงมาก (1.40) ถาระบบงานนั้นมีผลกระทบตอ ชีวิตมนุษย หรือสถานภาพการเงินของงคการอยางรุนแรง


  • แตการคำนวณหาปัจจัยปรับแรงงานถาระบบงานลมเหลวแลวมีผลเพียงแคทําใหเกิดความไมสะดวกในการทํางานเทานั้นคาระดับของ RELYในกรณีนี้จะต่ำมาก (0.75) สําหรับความซับซอนของระบบงาน (CPLX) นั้น

  • ผูจัดการโครงการจะกําหนดระดับของตัวขับเคลื่อนคาใชจายไดโดยพิจารณาจากตารางที่ 6.12 ถาระบบงานมีการคํานวณที่มีสูตรการคํานวณทางคณิตศาสตรหรือสถิติที่ซับซอน คาระดับของ CPLXจะสูงมาก (1.30)

  • แตถาเปนการคํานวณงายๆ คาระดับของ CPLXจะต่ำ (0.70) สวนตารางที่ 6.13คือ ตัวอยางการกําหนดระดับและคาของตัวขับเคลื่อน

    คาใชจาย


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

  • โบแอมไดพิจารณาถึงการเปลี่ยนแปลงการพัฒนาซอฟตแวรหรือระบบงาน

    ในปจจุบันที่มีวิธีการพัฒนาที่แตกตางไปจากป ค.ศ. 1981

  • COCOMO81 มีสมมติฐานวา ซอฟตแวรพัฒนาตามกระบวนการแบบ

    น้ำตก และซอฟตแวรสวนใหญพัฒนาจากจุดเริ่มตนทั้งหมด เมื่อมีการ

    เปลี่ยนวิธีการพัฒนาซอฟตแวรอย่างมากมายตั้งแตรุนแรกที่นําเสนอผูใช

    เชน การพัฒนาใชวิธีการพัฒนาตนแบบ (prototyping)

  • การพัฒนาโดยการนําซอฟตแวรแตละสวนมาประกอบเปนระบบงาน

    (components composition) หรือการพัฒนาดวยภาษารุนที่ 4

    (4th generation language) ระบบงานเดิมที่มีอยูถูกรื้อปรับเพื่อสราง

    ซอฟตแวรใหม


  • ดังนั้น ตัวแบบที่กําหนดใน COCOMOI จึงไมเหมาะสมกับวิธีการพัฒนาแบบใหมดังกลาว

  • โบแอมจึงทําการวิจัยและนําเสนอตัวแบบใหมสําหรับการประมาณการแรงงาน ตัวแบบใหมจึงเรียก COCOMOIIซึ่งมี 3 ตัวแบบ

  • COCOMOIIเปนตัวแบบสําหรับการประมาณการเปนระยะๆ ตามรายละเอียดของขอมูลที่ผูจัดการโครงการ/นักวิเคราะหระบบไดรับ ซึ่งจะทําใหการปรับคาแรงงานที่ตองใชใกลเคียงความเปนจริงมากยิ่งขึ้น


  • ตัวแบบ ตัวแบบที่กําหนดใน 3 ระดับของ COCOMOIIได้แก่

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

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

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


1. ตัวแบบที่กําหนดใน ระยะการพัฒนาต้นแบบช่วงต้น

  • เป็นตัวแบบที่ใช้สำหรับการประมาณแรงงาน ในช่วงเริ่มต้นโครงการ ผู้จัดการโครงการ ยังไม่ทราบรายละเอียดของระบบงาน แต่ทราบฟังก์ชันงานคร่าวๆ

  • การประมาณการจึงใช้ อ็อบเจกต์พอยต์ (Object Points) ตัวแบบนี้เหมาะกับการพัฒนาระบบด้วยวิธีการใช้ซอฟแวร์ต่างๆที่มีมาประกอบกัน


2. ตัวแบบที่กําหนดใน ระยะการออกแบบช่วงต้น

  • เป็นตัวแบบที่ใช้สำหรับประมาณแรงงาน เมื่อผู้จัดการโครงการ ทราบความต้องการแล้ว

  • การประมาณการนี้ จะประมาณการโดยใช้ฟังก์ชันพอยต์ แล้วปรับเป็น LOCและมีชุดของปัจจัยที่ไม่ยุ่งยากมาใช้ในการปรับค่าที่ได้ประมาณการ


3. ตัวแบบที่กําหนดใน ระยะหลังจากการออกแบบสถาปัตยกรรม

  • เป็นตัวแบบที่ใช้ในการประมาณการขนาดของซอฟแวร์ ให้แม่นยำมากขึ้นหลังจากออกแบบสถาปัตยกรรมระบบงานแล้ว

  • ตัวแบบของระดับนี้ มีสูตรคำนวณ เช่นเดียวกับระดับการออกแบบระยะแรก แต่มีชุดของปัจจัยที่เข้มข้นมาปรับค่าอีกชุด


แรงงาน ตัวแบบที่กําหนดใน

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

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

โดยที่

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

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

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

PROD =ผลผลิตเพิ่ม


  • ขั้นตอนการคำนวณ ตัวแบบที่กําหนดใน

    1.นับจำนวนอ็อบเจกต์พอยต์ ที่ประกอบกันเป็นระบบงาน

    อ็อบเจกต์ได้แก่ จอภาพ รายงาน และส่วนประกอบที่เป็น 3 GL

    (3 General Language)

    2.จัดระดับของอ็อบเจกต์แต่ละอ็อบเจกต์ ซึ่งมี 3ระดับคือ ง่าย ปานกลาง และยาก

    การจัดว่าแต่ละอ็อบเจกต์อยู่ในระดับใด ให้พิจารณาตามประเภทของ อ็อบเจกต์ ออกเป็น 2ประเภทคือ จอภาพ และรายงาน



3. แต่ละประเภท แสดงดังตารางให้น้ำหนักความยาก-ง่าย ของแต่ละอ็อบเจกต์ เพื่อสะท้อนให้เห็นถึงแรงงานที่ต้องใช้ในการสร้างอ็อบเจกต์นั้นๆ

น้ำหนักความยากง่าย ของอ็อบเจกต์ แต่ละประเภทแสดงดังตาราง


4. แต่ละประเภท แสดงดังตารางหาผลรวมของอ็อบเจกต์พอยต์ หลังจากถ่วงน้ำหนักของอ็อบเจกต์พอยต์ทุกๆตัวแล้ว

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

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

7.ประมาณการ แรงงานที่ต้องใช้ (PM) = NOP/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สิ่งอำนวยความสะดวกในการพัฒนาระบบงาน (SupportFacilities)

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

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


เอกสารอ้างอิง สำหรับระยะการออกแบบช่วงต้น

  • การบริหารโครงการเทคโนโลยีสารสนเทศ โดย ผศ.ดร.วราภรณ์ จิรชีพพัฒนา


ad