ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การประมาณการซอฟต์แวร์ (software Estimation)

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

 

การประมาณการซอฟต์แวร์
การประมาณการซอฟต์แวร์

 

Size Estimation เป็นสิ่งแรกที่ต้องทำก่อนการเริ่มต้นการประมาณการ คือ การวัด แยกลักษณะการวัดออกเป็น 2 เชิง คือ

  1. การวัดเชิงปริมาณ (Software Quantitative)
  2. การวัดเชิงคุณภาพ (Software Qualitative)

 

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

ปัจจัยที่ส่งผลต่อการกำหนดราคาซอฟต์แวร์ในปัจจุบัน

  • โอกาสทางด้านการตลาด
  • ข้อกำหนดในสัญญา
  • ความต้องการซอฟต์แวร์ที่เปลี่ยนไป
  • ฐานะทางการเงิน
  • การประมาณการต้นทุน

 

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

  • การใช้แบบจำลองอัลกอริทึมเป็นฐานในการประเมิน
    • พิจารณาจากการพัฒนาระบบในอดีตซึ่งสามารถบอกได้ว่าการพัฒนาระบบโดยขั้นตอนวิธีที่ใช้จะมีบบรรทัดคำสั่งมากน้อยเท่าใด และประเมินต้นทุนและแรงงานจากปริมาณบรรทัดคำสั่งที่ต้องเขียน
  • การประเมินโดยผู้เชียวชาญ
    • เป็นเทคนิคที่ใช้ผู้เชียวชาญหลายคนเป็นที่ปรึกษาโครงการ ผู้เชียวชาญแต่ละคนจะประเมินต้นทุนและนำเข้าที่ประชุมเพื่อทำการเปรียบเทียบและทำการตกลงกำหนดเป็นต้นทุนของการพัฒนาระบบ
  • การประเมินโดยการเทียบเคียงกับระบบที่เคยพัฒนาแล้ว
    • เป็นเทคนิคการประเมินต้นทุนการพัฒนาซอฟต์แวร์ใหม่ โดยเทียบกับซอฟต์แวร์ในโดเมนเดียวกันที่เคยพัฒนาเสร็จแล้ว
  • การประเมินโดยใช้สูตรการคำนวณ
    • ตามกฎของ Parkinson แรงงานที่ใช้ในการทำงานขึ้นอยู่กับทรัพยากรที่มีมากกว่า เช่น ถ้าต้องทำการส่งมอบซอฟต์แวร์ภายใน 12 เดือน และมีแรงงานอยู่ 5 คน หมายความว่างานนี้จะต้องใช้แรงงานในการพัฒนาระบบ เท่ากัน 12 x 5 คน - เดือน
  • การประเมินจการาคาที่ที่จะทำให้ได้งาน
    • เป็นการประมาณต้นทุนจากงบประมาณที่ลูกค้ามีให้สำหรับโครงการพัฒนาระบบ เทคนิคการประเมินต้นทุนแบบนี้จะขึ้นอยู่กับงบประมาณของโครงการมากกว่าฟังก์ชันการทำงานขอวซอฟต์แวร์

 

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

Productivity = Size /Effort

Productivity = ผลที่ได้จากการผลิตงานของบุคลากรในโครงการ

(มีหน่วยเป็น Person-Hours หรือ Man-day หรือ Man-Month)

Size = ขนาดของซอฟต์แวร์

Effort = เวลาที่ต้องใช้ในการผลิต

 

Size Estimation วิธีการนิยมใช้ในการประมาณขนาด (Size) ของซอฟต์แวร์ มี 2 ลักษณะ คือ

  • Line of Code (LOC) Count
  • Function Point (FP)

 

วิธีการนับ Line of Code

  • Simple Line Code นับทุกบรรทัด ทั้งบรรทัดที่ว่างและบรรทัดที่เป็น Comment
  • Physical Lines (LINES) นับทุกบรรทัด ยกเว้นบรรทัดที่เป็นนิยามตัวแปรของ Code ที่เขียนด้วย VB
  • Physical Line of Code จะไม่นับบรรทัดว่างและบรรทัดที่เป็น Comment บางครั้งเรียกว่า Source Line Codes (sLOC)
  • Logical Lines of Code (LLOC) เป็นการนับแบบ Logical คล้ายกับ Physical แตกต่างกันคือ Logical Lines จะนับบรรทัดที่มีการเชื่อมต่อด้วยอักขระ “ - ” รวมเป็นบรรทัดเดียว
  • Statement (STMT) ไม่นับบรรทัด แต่จะนับเป็นจำนวนประโยคคำสั่ง โดยภาษาโปรแกรมมิ่งส่วนใหญ่จะมีเพียง 1 ประโยคคำสั่งต่อ 1 บรรทัด (อย่างไรก็ตามภาษาใน VB สามารถมีมากกว่า 1 ประโยคคำสั่งใน 1 บรรทัด โดยใช้เครื่องหมาย Colon “ : ”)

 

ข้อเด่น-ข้อด้อย ของ Line of Code

ข้อเด่น 

  • เป็นวิธีวัดซอฟต์แวร์วิธีแรกที่นำมาใช้ในยุคก่อน
  • เป็นวิธีที่ใช้ง่ายได้ผลเร็ว

ข้อด้อย

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

Function Point

 

ปัจจุบันการนับขนาดของโปรแกรมด้วยการนับบรรทัดนั้น ไม่สามารถให้ผลการวัดในเชิงผลสัมฤทธิ์ของโปรแกรมได้อย่างชัดเจน การนำวิธีการนับด้วยฟังก์ชันพอยต์เข้ามาใช้นั้น จึงได้รับความสนใจ

การวัดด้วยฟังก์ชันพอยต์ จะมุ่งเน้นที่การวัดฟังก์ชัน หรือการวัดโดยผ่านมุมมองความต้องการของฟังก์ชันของซอฟต์แวร์

กระบวนการนับฟังก์ชันพอยต์ มีลักษณะดังนี้

ขั้นที่ 1 นำ Requirement ที่เก็บรวบรวมไว้มาทำการแบ่งฟังก์ชันพอยต์

ขั้นที่ 2 ประเมินความซับซ้อนของฟังก์ชัน

ขั้นที่ 3 เปรียบเทียบความซับซ้อน เพื่อให้ได้ระดับความซับซ้อน เพื่อคำนวณฟังก์ชันพอยต์ (Unadjusted Function Point : UFP)

ขั้นที่ 4 คำนวณค่าปัจจัยคุณลักษณะของระบบ (Value Adjustment Factor : VFP) ซึ่งเป็นไปตามลักษณะของแต่ละโครงการ

ขั้นที่ 5 คำนวณจำนวนฟังก์ชันพอยต์ที่ผ่านการปรับค่า (Adjusted Function Point : AFP)

ขั้นที่ 6 ฟังก์ชันพอยต์ที่ผ่านการปรับค่า สามารถนำไปคำนวณเป็น LOC ได้

 

ฟังก์ชันการทำงานของฟังก์ชันพอยต์ สามารถแบ่งได้ 5 ประเภทดังนี้

  • External Input (EI)
  • External Output (EO)
  • External Inquiry (EQ)
  • Internal Logical Files (ILF)
  • External Interface Files (EIF)

 

ฟังก์ชัน

รายละเอียด

External Input (EI)

ข้อมูลที่ได้รับเข้ามาในระบบ (อาจเป็นข้อมูลทางธุรกิจหรือข้อมูลควบคุม)เพื่อนำไปอัพเดทข้อมูลใน ILF เช่น ข้อมูลในกระบวนการ เพิ่ม ลบ แก้ไข ข้อมูลเป็นต้น

External Output (EO)

 

ข้อมูลที่เป็นผลลัพธ์จากการประมวลผลเพื่อแสดงข้อมูลที่ได้รับภายในระบบ ให้นับการแสดงผลข้อมูลที่มีรูปแบบแตกต่างกัน

External Inquiry (EQ)

 

กระบวนการดึงข้อมูลและประมวลผลเพื่อแสดงผลต่อผู้ใช้ (คือ Query ข้อมูลนั้นเอง)

Internal Logical Files (ILF)

 

ไฟล์ที่เกี่ยวข้องกับข้อมูลที่อยู่ในระบบตลอดช่วงอายุของระบบ และเป็นไฟล์ที่มักจะถูกบำรุงรักษาหรือปรับปรุงด้วยข้อมูลที่ได้รับจากภายนอก (EI) ให้นับรวมเรคคอร์ดที่ทำหน้าที่เทียบเท่า

External Interface Files (EIF)

 

ไฟล์ที่เกี่ยวข้องกับข้อมูลที่ใช้เพื่อการอ้างอิงเท่านั้น และใช้รวมกับระบบอื่น EIF เป็นไฟล์ที่ถูกเรียกใช้โดยระบบที่จะพัฒนา แต่จะบำรุงรักษาหรือถูกสร้างโดยระบบอื่น

 

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

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป

 

 

 

 

 

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
กองทุนประกันสังคม มีผู้ประกันตนกี่ประเภท ??
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 5:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
3
พฤ 04 มิ.ย. 2020 5:53 pm โดย natthanit.r2538
สรุปความเข้าใจ เกี่ยวกับการตั้งกระทู้
โดย bolue พฤ 04 มิ.ย. 2020 5:16 pm บอร์ด M104 - สุภาภรณ์ อินกรรไกร
0
9
พฤ 04 มิ.ย. 2020 5:16 pm โดย bolue
วิธีการ ลงเวลา โดย Python
โดย bolue พฤ 04 มิ.ย. 2020 4:09 pm บอร์ด Python Knowledge
0
22
พฤ 04 มิ.ย. 2020 4:09 pm โดย bolue
การยื่นแบบ ภ.ง.ด. 53 ออนไลน์ สอนวิธีการยื่นแบบออนไล์ ทำได้ด้วยตัวเอง
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 3:51 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
11
พฤ 04 มิ.ย. 2020 4:16 pm โดย natthanit.r2538
วิธีการ โชว์ข้อมูลด้วยการ Format วันที่ โดย Python
โดย bolue พฤ 04 มิ.ย. 2020 3:38 pm บอร์ด Python Knowledge
0
23
พฤ 04 มิ.ย. 2020 3:38 pm โดย bolue
การยื่นแบบ ภ.ง.ด. 3 ออนไลน์ สรุปขั้นตอนยื่นแบบภาษี ออนไล์
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 2:54 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
16
พฤ 04 มิ.ย. 2020 3:08 pm โดย natthanit.r2538
วิธีการเดินทางจาก ปทุมธานี มา กรุงเทพฯ
โดย bolue พฤ 04 มิ.ย. 2020 1:59 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
9
พฤ 04 มิ.ย. 2020 1:59 pm โดย bolue
วิธีการ Search database แบบพื้นฐานๆ โดย Python
โดย bolue พฤ 04 มิ.ย. 2020 1:55 pm บอร์ด Python Knowledge
0
24
พฤ 04 มิ.ย. 2020 1:55 pm โดย bolue
การยื่นแบบ ภ.ง.ด.1 ออนไลน์ ขั้นตอนการยืนแบบออนไลน์
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 12:35 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
2
14
พฤ 04 มิ.ย. 2020 1:40 pm โดย natthanit.r2538
สอบถามเรื่องการแนบรูปในกระทู้ค่ะ
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 12:34 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
19
พฤ 04 มิ.ย. 2020 2:31 pm โดย natthanit.r2538
สรุปขั้นตอนการเขียนบทความ และการตั้งกระทู้(จากวีดีโอ)
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 11:26 am บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
0
8
พฤ 04 มิ.ย. 2020 11:26 am โดย natthanit.r2538
สรุปเรื่องที่เรียนตอนเช้า
โดย bolue พฤ 04 มิ.ย. 2020 11:10 am บอร์ด M104 - สุภาภรณ์ อินกรรไกร
0
9
พฤ 04 มิ.ย. 2020 11:10 am โดย bolue
งานประจำวันที่ 4 มิถุนายน 2563
โดย bolue พฤ 04 มิ.ย. 2020 10:32 am บอร์ด M104 - สุภาภรณ์ อินกรรไกร
4
23
พฤ 04 มิ.ย. 2020 7:00 pm โดย bolue
note
โดย bolue พฤ 04 มิ.ย. 2020 10:31 am บอร์ด M104 - สุภาภรณ์ อินกรรไกร
0
2
พฤ 04 มิ.ย. 2020 10:31 am โดย bolue
list ความรู้ที่มี ว่าเคยเรียน หรือ เคยทำอะไรมาบ้าง
โดย bolue พฤ 04 มิ.ย. 2020 10:30 am บอร์ด M104 - สุภาภรณ์ อินกรรไกร
4
24
พฤ 04 มิ.ย. 2020 3:43 pm โดย bolue
Work's on Hand สุภาภรณ์ อินกรรไกร M104
โดย bolue พฤ 04 มิ.ย. 2020 10:29 am บอร์ด M104 - สุภาภรณ์ อินกรรไกร
0
3
พฤ 04 มิ.ย. 2020 10:29 am โดย bolue
งานประจำวันที่ 4 มิถุนายน 2563
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 9:57 am บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
3
33
พฤ 04 มิ.ย. 2020 7:43 pm โดย thatsawan
งานประจำวันที่ 2 มิถุนายน 2563
โดย natthanit.r2538 อ 02 มิ.ย. 2020 10:11 am บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
4
40
อ 02 มิ.ย. 2020 7:42 pm โดย natthanit.r2538
มารู้จักจังหวัดสงขลา เมืองสองทะเลกันค่ะ
โดย natthanit.r2538 อ 02 มิ.ย. 2020 4:27 pm บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
0
7
อ 02 มิ.ย. 2020 4:27 pm โดย natthanit.r2538
ระบบบัญชีคืออะไร มีความสำคัญอย่างไร และจะทำอย่างไรหากต้องการวางระบบบัญชี
โดย natthanit.r2538 อ 02 มิ.ย. 2020 2:13 pm บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
0
6
อ 02 มิ.ย. 2020 2:13 pm โดย natthanit.r2538