ฟังก์ชันพอยต์ (Function Point)

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

FP (Function Point) พัฒนาโดย Allan J. Albrecht ในปี 1979 เป็นการวัดขนาดของซอฟต์แวร์จากจำนวนฟังก์ชันที่สร้างขึ้นมาเพื่อแสดงถึงขนาดของซอฟต์แวร์ การหาขนาดของซอฟต์แวร์จะต้องหาค่า FP โดย Function Point มี 2 ประเภทด้วยกันคือ 

  • Function Point แบบไม่ปรับค่า
  • Function Point แบบปรับค่า 
การประเมิน Function Point แบบปรับค่าจะคำนวณละเอียดมากขึ้นนำปัจจัยต่างๆมาคำนวณเพิ่มเติม ซึ่งจะคำนวณจาก

FP= UFP * TCF

ที่มา : Geeksforgeeks

การประเมินหา Function Point จะพิจารณาจาก 5 องค์ประกอบหลักคือ

ฟังก์ชันรายละเอียด
External Input (EI)ข้อมูลที่รับเข้ามาในระบบเพื่อนำไป เพิ่ม ลบ แก้ไข ข้อมูล เช่น ข้อมูลจาก Keyboard
External Output (EO)ข้อมูลที่ถูกส่งออกไปนอกระบบ เช่น ข้อมูลที่แสดงบนจอ
External Inquiry (EQ)คือการดึงข้อมูล(Query) ขึ้นมาเพื่อแสดงผล
Internal Logical Files (ILF)เป็นกลุ่มข้อมูลที่มี Logic หรือเป็นข้อมูลที่มีการประมวลผล เช่น การประมวลผลจากฐานข้อมูล เป็นข้อมูลที่ถูกเก็บไว้และปรับปรุงข้อมูลได้จากข้อมูลภายนอกที่รับเข้ามา (EI)
External Interface Files (EIF)คือกลุ่มของข้อมูลเชิงตรรกะที่ใช้เพื่ออ้างอิงถึงโดยระบบเราจะไปเรียกข้อมูลจากระบบอื่น การสร้างและดูแลข้อมูลก็จะเป็นระบบอื่นดูแล

การประเมินความซับซ้อนของซอฟต์แวร์ทั้ง 5 องค์ประกอบสามารถแยกระดับความซับซ้อนได้อีก 3 ระดับคือ

  • ระดับต่ำ (Low or Simple)
  • ระดับกลาง (Average)
  • รับดับสูงหรือซับซ้อน (High or Complex)
ค่าความซับซ้อนของ EI

จำนวนไฟล์ที่ใช้ในการอ้างถึง1-45-15>15
0-1ต่ำต่ำปานกลาง
2ต่ำปานกลางสูง
>3ปานกลางสูงสูง


ค่าความซับซ้อนของ EO และ EQ

จำนวนไฟล์ที่ใช้ในการอ้างถึง<66-19>19
0-1ต่ำต่ำปานกลาง
2-3ต่ำปานกลางสูง
>3ปานกลางสูงสูง


ค่าความซับซ้อนของ ILF และ EIF

จำนวนไฟล์ที่ใช้ในการอ้างถึง1-1920-50>50
1ต่ำต่ำปานกลาง
2-5ต่ำปานกลางสูง
>5ปานกลางสูงสูง


ตัวคูณปัจจัย (Factor Multiplier) ของค่าความซับซ้อนองค์ประกอบทั้ง 5 คือ ILF EIF EI EO และ EQ ของ Function Point

ต่ำปานกลางสูง
ILF71015
EIF5710
EI346
EO457
EQ346

ตัวอย่างการคำนวณ Function Point แบบไม่ปรับค่า

มีจำนวนไฟล์ที่อ้างอิง 4 ไฟล์ (EI) และมีองค์ประกอบข้อมูลเท่ากับ 12 จะสรุปได้ว่า ค่าความซับซ้อนอยู่ในระดับสูง

จากค่าความซับซ้อน EI ที่อยู่ในระดับสูงสามารถนำค่ามาคำนวณ Function Point ได้จาก 4*6 = 24

เราต้องคำนวณให้ครบทุกองค์ประกอบ (EI, EO, EQ, ILF, EIF) แล้วนำมารวมกันก็จะได้ค่า Function Point จากนั้นนำค่า Function Point มาคูณกับภาษาที่ใช้ (Function Point Languages Table) เช่นเราคำนวณได้ 24 ฟังก์ชันพอยต์ ภาษาที่ใช้เขียนคือ JAVA จะได้ค่าเท่ากับ 24*134 = 3216 ฟังก์ชันพอยต์

ตัวอย่างการคำนวณ Function Point แบบปรับค่า

สูตรคำนวณ Function Point แบบปรับค่า FP= UFP * TCF

UFP คือ Function Point ที่ยังไม่ปรับค่า

TCF = 0.65 + 0.01 (ผลรวมค่าความซับซ้อน 14 ค่า)

ค่าความซับซ้อนจากปัจจัยทั้ง 14 ปัจจัย
คุณลักษณะคุณลักษณะ
1การสื่อสารข้อมูล (Data Communication)8การปรับปรุงข้อมูลแบบออนไลน์ (Online Update)
2การประมวลผลข้อมูลแบบกระจาย (Distributed Data Processing)9ความซับซ้อนของการประมวลผล (Complex Processing)
3ประสิทธิภาพของระบบ (Performance)10ความสามารถนํากลับมาใช้ใหม่ (Reusability)
4ความต้องการใช้งานหนักด้านฮาร์ดแวร์ (Heavily Used Configuration)11ความง่ายในการติดตั้ง (Installation Ease)
5อัตรารายการเปลี่ยนแปลง (Transaction Rate)12ความสะดวกในการปฏิบัติงาน (Operational Ease)
6การบันทึกข้อมูลออนไลน์ (Online Data Entry)13การใช้งานได้หลายสถานที่ (Multiple Sites)
7ประสิทธิภาพการใช้งานของผู้ใช้(End-user Effciency)14อํานวยความสะดวกในการเปลี่ยนแปลง (Facilitate Change)

ในแต่ละปัจจัยจะมีการให้คะแนนแต่ละข้อโดยให้คะแนน 0 ถึง 5 โดยที่ 0 แสดงถึงไม่มีความเกี่ยวข้อง ไปจนถึง 5 คือ เกี่ยวข้องมาก ซึ่งหลังจากที่รวบคะแนนแต่ละข้อแล้ว คะแนนจะอยู่ในช่วง 0 ถึง 70

ตัวอย่างการคำนวณ

ซอฟต์แวร์ชนิดหนึ่งมีค่าความซับซ้อนคือ 5, 1, 0, 4, 3, 5, 4, 3, 4, 5, 2, 3, 4, 2 และมีค่า Factor Multiplier คือ
  • EI(Avg) = 22 
  • EO(Low) = 45 
  • EI(High) = 6 
  • ILF(Avg) = 5 
  • ELF(Low) = 2
คำนวณหา Function Point จาก FP= UFP * TCF

UFP = (22*4) + (45*5) + (06*6) + (05*10) + (02*5) = 409

TCF = [0.65 + 0.01*∑ (Xi)]
TCF = [0.65 + 0.01*(5+1+0+4+3+ 5+4+3+4+5+ 2+3+ 4+2)]
TCF = [0.65 + 0.01*45] 
TCF = 1.10

FP = UFP * TCF 
FP = 409 * 1.10 
ดังนั้นค่า Function Point คือ 450

ป้ายกำกับ

แสดงเพิ่มเติม

บทความยอดนิยม

Software Development Life Cycle (SDLC) คืออะไร ทำไมจำเป็นต่อการพัฒนาซอฟต์แวร์

ม.ปลายอยากเข้าสายคอม วิทยาการคอม วิศวกรรมคอม เตรียมตัวอย่างไร ต้องมีพื้นฐานอะไรบ้าง

Automation testing หรือ การทดสอบซอฟต์แวร์อัตโนมัติ คืออะไร ทำไมถึงสำคัญต่อการทดสอบซอฟต์แวร์

วิธีเก็บ วิเคราะห์ รวบรวม requirement อย่างไรให้มีประสิทธิภาพ

Performance Test คือ อะไร วัดประสิทธิภาพของระบบ ล่มไม่ล่ม จะรู้ได้อย่างไร

8 สิ่งที่ AI จะมาเปลี่ยนโลกในอนาคต

ถอดรหัสความลับเครื่อง Enigma จุดเริ่มต้นและจุดจบของสงครามโลกครั้งที่ 2