Software Estimation Techniques

Top 5 Software Testing Traps and How to Overcome Them

การประเมินขนาดซอฟต์แวร์ (Product)

องค์ประกอบของ Product
การประมาณการ Product มี 4 ส่วนหลักด้วยกัน คือ
– ขนาด (Size)
– บุคลากร (People)
– ระยะเวลา (Period)
– ค่าใช้จ่าย (Price)

การประมาณการซอฟต์แวร์
การประมาณการซอฟต์แวร์ถือว่าเป็นส่วนสำคัญในการวางแผน
เนื่องจากการวางแผนจะอยู่บนพื้นฐานของสิ่งที่ตอ้งการทำการจัดสร้าง
หรือพัฒนา
โดยในการพัฒนาซอฟต์แวร์นั้นมีมุมมองในการประมาณการถึง
ขนาด (Size) ค่าใช้จ่าย (Cost) บุคลากรที่ใช้พัฒนา (Effort)
รวมไปถึงระยะเวลา(Schedule)

AAEAAQAAAAAAAAL8AAAAJGJkM2E2MGU5LTUwOGMtNDU2Yi1hY2I2LTZlMTczMWM0MzAxZA

ขั้นตอนในการประมาณการ

ประกอบด้วย 7 ขั้นตอน ดังนี้

  •  การเลือกกรรมวิธีการวัดลักษณะของซอฟต์แวร์ (Measurement Method)
  •  เลือกวิธีที่ใช้ในการประมาณการ (Estimation Techniques)
  • ทําการประมาณการในส่วนของขนาดค่าใช้จ่ายบุคลากร ระยะเวลาและทรัพยากรที่จำเป็น (Product Estimation)
  • ทําการวิเคราะห์ความเสี่ยงหรือผลกระทบจากปัจจัยต่างๆ (Risk Assessment /Impact Analysis)
  • ทําการตรวจทาน ตรวจสอบ และ ปรับแก้ให้เหมาะสม (Review/Revise/Refine/Document)
  • ทำการติดตามและวัดผลผลิตภัณฑ์หรือซอฟตแวร์ที่ได้ทำการพัฒนาจริง
  • ทําการปรับปรุงแก้ไขกระบวนการ (Process Improvement)
  • การวัดขนาดซอฟต์แวร์

12

การวัดขนาดของซอฟต์แวร์มีวัตถุประสงค์เพื่อ

  •  ชี้ให้เห็นถึงคณภาพของผลิตภัณฑ์
  •  เพื่อประเมินผลที่เกิดจากบุคลากรผู้ทำการผลิต
  •  เพื่อคาดคะเนผลกำไร
  •  เพื่อจัดเตรียมแนวทางในการประเมิน
  •  เพื่อจัดสรรเครื่องมือและอุปกรณ์ต่างๆในการพัฒนา

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

  •  สิ่งแรกก่อนที่จะทำการประมาณการซอฟต์แวร์ได้จะต้องทําการวัด ขนาดของซอฟต์แวร์เสียก่อน โดยสามารถแบ่งลักษณะของการวัด ออกเป็น 2 เชิงด้วยกัน คือ
  •  การวัดเชิงปริมาณ (Software Quantitative)
  •  วัดในเชิงขนาดบุคลากรระยะเวลาอัตราความผิดพลาดในการพัฒนาค่าใช้จ่าย
  •  การวัดเชิงคุณภาพ (Software Qualitative)
  •  วัดในเชิงลักษณะของการผลิต ทีมงาน  ความซับซ้อน การบริหารจัดการและเทคโนโลยีที่นำมาใช้

หน่วยที่ใช้วัดในการประเมินราคาซอฟต์แวร์

  •  ในการประเมินราคาซอฟต์แวร์โดยทั่วไป มักเริ่มจากการวัดขนาดของ ซอฟต์แวรโดยทางตรง หรือ ทางอ้อม หรือ อาจจะนำทั้ง 2 แบบมา ประกอบกัน โดยส่วนใหญ่หน่วยที่ใช้ในการประเมินคือ กําลังคน (Effort)  ในการพัฒนาซอฟต์แวร์ ซึ่งอาจจะคิดเป็น  คน-ชั่วโมง  คน- วัน คน-เดือน หรือ คน-ปี ซึ่งหน่วยที่นิยมมากที่สุด คือ คน-เดือน

การวัดขนาดของซอฟต์แวร์  มี 2 ลักษณะ

  1.  การใช้ Model ในการประเมินราคาซอฟต์แวร์
  2.  Function Point (FP)

การใช้ Model ในการประเมินราคาซอฟต์แวร์ (่ต่อ )

Boehm B.W. ได้พัฒนาโมเดล COCOMO (Constructive Cost Model) ขึ้นในปีค.ศ. 1981 โดยใช้การวิเคราะห์ข้อมูลจาก 63 โครงการ วิธีการของ  COCOMO นี้เป็นวิธีการวัด Effort ในการพัฒนาซอฟต์แวร์ที่คิด เป็น คน-เดือน โดยได้กําหนดปัจจัยที่มีผลต่อราคาซอฟต์แวร์ได้  4 อย่างกว้างๆ คือผลผลิตคอมพิวเตอร์ บุคลากร  โครงการ

โดยรูปแบบของโมเดลจะแบ่งออกเป็น   3 ลักษณะด้วยกัน คือ

  1.  Basic COCOMO Model : เป็นโมเดลที่มีการกําหนดค่าคงที่ค่าเดียวเพื่อการคํานวณ ในการพัฒนาซอฟต์แวร์เป็นขนาดโปรแกรมซึ่งปรากฏในรูปแบบ Lines of Code (LOC)
  2.  Intermediate COCOMO Model :  คำนวณ  Effort ในการพัฒนาซอฟต์แวร์ เป็นขนาดของโปรแกรมและรวมปัจจัยที่มีผลกระทบต่อราคา
  3.  Advanced COCOMO Model : จะรวมปัจจัยที่มีผลกระทบต่อราคาทั้งหมดในทุกๆขั้นตอน  เช่น  ในกรณีการวิเคราะห  และการออกแบบ

 

การใช Model ในการประเมินราคาซอฟต์แวร์

  •  วิธีของ LaBolle ได้เสนอวิธีที่เน้นเทคนิคทางคณิตศาสตร์
  •  การประเมินราคาจะต้องพิจารณาถึงวิธีการในการคำนวณอย่างน้อย 1 วิธีการดังนี้
  •  ราคาต่อหน่วย  เช่น ราคาต่อคำสั่งต่อโปรแกรมย่อย ต่อชุดคำสั่ง หรือ ต่อโมดูล หรือราคาต่อระบบ  และราคาต่อการทำกิจกรรมอย่างหนึ่ง
  •  เปอร์เซ็นต์จากราคารวม เช่น ให้ราคาโปรแกรมคอมพิวเตอร์เป็น x% ของค่าพัฒนาทั้งหมด
  •  การเปรียบเทียบจําเพาะ เช่น ความคล้ายคลึงของโปรแกรมที่ต้องการพัฒนาใหม่กับโปรแกรมที่มีอยู่แล้ว เช่น อาจเพิ่มความต้องการในโปรแกรมใหม่  ดังนั้น ราคาจะเท่ากับ ราคาของโปรแกรมเก่า บวกกับ ราคาของการพัฒนาความต้องการ

Cost ,C = K1X+K2Y+K3Z

X= จํานวนหน้าจอ

Y=จํานวนชั้นโปรแกรม

Z=จํานวนขอมูล/ K1,K2,K3 = เป็นค่าคงที่ที่กําหนดค่าไว้

การใช้ Model ในการประเมินราคาซอฟต์แวร์ (ต่อ)

Wolverton ได้เสนอเทคนิคการจัดโมเดลในการประเมินราคาซอฟต์แวร์ไว้อีกทางหนึ่ง

  • การประเมินแบบ Top-down
  • ผู้ประเมินจะยึดเอาราคาทั้งหมดของงานส่วนใหญ่่ในโครงการที่ท ำมาก่อนเป็นหลัก และด้วยประวัติที่ผ่านมาพิจารณาประกอบกับการแสดงความคิดเห็น ก็จะสามารถประเมินราคาใหม่ได้
  • การประเมินราคาโดยพิจารณาจากความเหมือนและความแตกต่าง
  • ผู้ประเมินจะแบ่งงานการประเมินโดยคํานึงถึงรายละเอียดของโปรแกรมใหม่ที่พัฒนาขึ้น โดย เปรียบเทียบความเหมือนและความแตกต่างกันกับโปรแกรมในโครงการเก่า สําหรบงานที่ไม่สามารถเปรียบเทียบได้ก็จะใช้วิธีอื่น
  • กระประเมินโดยใช้วิธี Bottom-up
  • วิธีนี้ที่ใช้กันอย้างกว้างขวางในหน่วยงานการประเมินของรัฐบาล โดยงานทั้งหมดจะถูกแบ่งออกเป็น ชิ้นย่อยๆ และจะแบ่งให้เล็กลงเรื่อยๆ จนถึงขั้นที่สามารถสร้างได้อย่างชัดเจน จากนั้นจึงทําการประเมินราคาของแต่ละผลงานและนํามารวมกันเป็นราคาของโครงการทั้งหมด

rks_software

การใช้ Model ในการประเมินราคาซอฟต์แวร์

Walston และ Felix ได้เริ่มเก็บข้อมูล ตั้งแตปี ค.ศ. 1973 และในปี 1977 สามารถ สรุปได้ในรูปแบบสมการ ดังนี้ คือ

E = 5.2(KDSI)0.91

E = Effort มีหน่วยเป็น คน-เดือน

KDSI = Kilo(1000 บรรทัด) of Delivered Source Instruction

software

  •  
  •  
  •  
  •  
  •  
  •  
Wichapol
at GlurGeek.Com

Leave a Reply