บทที่8 เรื่องSoftware Effort  Estimate 

การ Estimate  จะต้องทำ Activities  Planning  ก่อน

การประมาณการจะพบ  2  ลักษณะ

-Under Estimate
-Over Estimate

ในการ  Estimate  ผิดพลาด + 20 %  ถือว่ามีการวางแผนที่ดี  เพราะ

ยากที่จะประมาณการได้ถูกต้อง  100 % 

การประมาณไว้ Under Estimate ทำให้งานเสร็จไม่ทันตามกำหนด 

ต้นทุนสูง  ความเสี่ยงสูง และคุณภาพต่ำ

การประมาณไว้ Over Estimate  ข้อดี  คือ  งานเสร็จทันตามกำหนดและ

ตรงตามความต้องการของ  user  ข้อเสีย  คือ  ต้นทุนสูง

Parkinson’s Law

  “การขยายงานเพื่อให้เสร็จทันตามเวลา  คนต้องมีทักษะและความเชี่ยวชาญสูงจึงจะทำทัน” 

  คนมี  Skill จะทำงานเสร็จก่อนเวลา

Brooks’ law

  “ การเพิ่มคนไม่ได้ทำให้งานเสร็จเร็ว”   

  คนยิ่งมากงานยิ่งช้า

หลักการพื้นฐานของการประมาณการ  มีดังนี้

-  ใช้ข้อมูลเก่า

-วัดตาม  Sources line of code  ถ้า  Project ใหญ่  หน่วยวัดเป็น KLOC (หน่วยเป็นพัน Line)
-Complexity  ใช้ความยากง่ายเป็นตัววัด

เทคนิคในการประมาณการ

1.Algorithmic  Models  พิจารณาจาก Target , การ  Implement จะทำให้ทราบว่าใช้คนเท่าใด 
2.Expert  judgement   ใช้คนมีประสบการณ์ในการประมาณการและตัดสินใจ
3.Analogy   พิจารณาจาก Project เก่าหรือ Project ที่ใกล้เคียงกัน  แล้วมาคำนวณใหม่ 
4.Parkinson  พิจารณาว่ามีคนจำนวนเท่าใดในการทำ Project แล้วนำมาคำนวณ
5.Price to win  ราคาที่คุ้มค่าที่สุดในการทำ  (เป็นวิธีที่ Vendor ใช้ในการประมาณการ)  โดยพิจารณาจาก Vendor เสนอ
6.Top – down  คิดทั้ง Project แล้วมาแตกเป็นงานเล็ก ๆ
7.Bottom – up  ประมาณจากงานย่อย ๆ แล้วรวมทั้ง Project

Bottom – up  Estimating (Activity         Project)  ประมาณการจากงาน  (Activity) เล็ก ๆ แล้วรวมเป็น Project   ทำให้ทราบว่าใช้คนเท่าใด เวลาเท่าใด  วิธีนี้จะประมาณได้ใกล้เคียงมากที่สุด

Bottom – up เหมาะกับ Project ใหม่ หรือ Project ที่ไม่เคยมีข้อมูล หรือไม่รู้ว่าจะเริ่มจากอะไร

Top – down  Estimating (Project        Activity)

เหมาะกับ  Project  ที่มี  Project เก่าเป็นตัวอย่าง  โดยประมาณการทั้ง Project แล้วประมาณการแตกย่อยเป็น  Activity

การจะเลือกใช้วิธี bottom – up หรือ top-down ต้องพิจารณาเลือกว่าวิธีใดเหมาะสม

Function Point  มี  5  ประเภท ได้แก่

External input types เป็นการใส่ข้อมูลเข้าไป แล้วไป update , add, dalete ในระบบ
External output types เป็นการดึงข้อมูลจาก file ขึ้นมาแสดง  (ดูผลการใส่ข้อมูลลงไป)
Logical interface file types เป็นการดึงข้อมูลจาก file ขึ้นมาคำนวณ  (การทำงานของข้อมูล)
External interface file types เป็นการดึง file ข้ามระหว่างระบบ , ระหว่าง Application
External inquiry types เป็นการเรียกข้อมูลขึ้นมาดู  ไม่มีการ update ข้อมูล
 
website templates.