ฟังก์ชันพอยต์

ฟังก์ชันฟอยต์ เป็นหน่วยวัด (Measurement) เพื่อแสดงถึงจำนวนฟังก์ชันเชิง
ธุรกิจที่ระบบสารสนเทศสามารถให้บริการแก่ผู้ใช้ได้ ฟังก์ชันฟอยต์ นั้นเป็นหน่วย
ที่ใช้โดยวิธีการวัดขนาดฟังก์ชันของกลุ่มผู้ใช้ฟังก์ชันพอยต์สากล (International 
Function Point Users Group Functional Size Measurement: IFPUG FSM) 
วิธีการ IFPUG FSM นี้ได้รับการยอมรับจากISO ให้เป็นหนึ่งในตัววัดซอฟต์แวร์
(Software Metric) เพื่อระบุขนาดของระบบสารสนเทศโดยใช้ฟังก์ชันที่ผู้ใช้ได้รับเป็นพื้นฐาน 
และเป็นอิสระจากเทคโนโลยีที่สร้างผลลัพธ์ (implement) ของระบบสารสนเทศนั้นๆ

ฟังก์ชันฟอยต์นั้นชี้วัดค่าระบบจากภาพรวมของฟังก์ชันการใช้งาน (Perspective) 
ซึ่งควรจะเป็นอิสระต่อเทคโนโลยีพื้นฐาน ไม่ขึ้นกับภาษา วิธีการพัฒนา หรือ 
แพลตฟอร์มฮาร์ดแวร์ ที่ใช้ จำนวนฟังก์ชันฟอยต์ในระบบควรจะคงที่ 
ตัวที่ผันแปรได้ควรเป็นความสามารถที่จะทำให้บรรลุฟังก์ชันฟอยต์ที่กำหนดไว้นั้น

หลายองค์กรวัดค่าฟังก์ชันฟอยต์ด้วยความเที่ยงตรง (Accuracy) ในระดับที่แตกต่างกัน 
โดยขึ้นอยู่กับวัตถุประสงค์ในการวัดขนาดของซอฟต์แวร์อีกด้วย

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

การวิเคราะห์ฟังก์ชันฟอยต์ยังสามารถใช้ในการหาความสามารถในการทดสอบ (Testing Effort) 
ที่ต้องการของระบบสารสนเทศ โดยประมาณจำนวน Test Cases
(Number of Test Cases) จากฟังก์ชันพอยต์ (FP) ได้จากสูตร

formula_1

การวิเคราะห์ฟังก์ชันฟอยต์ (Function Point Analysis :FPA) เป็นการวัดขนาดของ
ระบบสารสนเทศและแสดงออกมาในรูปแบบของฟังก์ชันพอยต์ โดยการวิเคราะห์นั้นจะถูก
ปรับปรุงให้เหมาะสมและทันสมัยอยู่เสมอโดยกลุ่มผู้ใช้ฟังก์ชันพอยต์สากล
(International Function Point Users Group : IFPUG) และสมาคมผู้ใช้ตัววัดซอฟต์แวร์แห่งเนเธอร์แลนด์
(The Netherlands Software Metrics users Association :NESMA) โดยมาตรฐานของ IFPUG จะเรียกว่า
IFPUG FSM (Functional Size Measurement) และมาตรฐานของ NESMA จะเรียกว่า NESMA FSM

สำหรับผลลัพธ์ของการวิเคราะห์ฟังก์ชันฟอยต์นั้น 
จะแสดงขนาดฟังก์ชันการใช้งานของระบบสารสนเทศในรูปแบบตัวเลขตัวหนึ่งในหน่วยฟังก์ชันพอยต์ 
หรือ FPs (เช่น ระบบนี้มีขนาด 314 FPs) หลักเกณฑ์การวิเคราะห์ฟังก์ชันพอยต์โดยคร่าวๆ สามารถ
แจกแจงได้ดังหัวข้อย่อยต่อไปนี้

การวิเคราะห์ฟังก์ชันพอยต์จะแบ่งความต้องการเชิงฟังก์ชันของผู้ใช้ (Functional User Requirement)
ออกเป็นสองประเภท คือ ฟังก์ชันเชิงข้อมูล (Data Function) และฟังก์ชันเชิงรายการเปลี่ยนแปลง 
(Transaction Function) โดยแบ่งออกเป็น 5 หมวดหมู่ตามหลักของวิธี IFPUG FSM 
และให้ค่าของฟังก์ชันพอยต์จากค่าเหล่านี้วิธีการนับว่าระบบสารสนเทศมีจำนวนฟังก์ชันในแต่ละหมวดหมู่ว่ามีค่าเท่าใดนั้น ต้อง
แล้วแต่ว่าผู้ใช้ต้องการแบ่งความหยาบละเอียดในการวัดอย่างไร โดยการนับฟังก์ชันห้าหมวดหมู่
มีการนับโดยคร่าวๆดังนี้

การซ้ำซ้อน การใช้ฐานข้อมูลเชิงสัมพัทธ์แทนแฟ้มข้อมูล เป็นต้น

โดยเกณฑ์การนับโดยละเอียดอาจศึกษาดูจากเอกสารของ IFPUG

หลังจากที่นับจำนวนฟังก์ชันของระบบสารสนเทศ จะต้องนำไปคูณกับค่าน้ำหนักของแต่ละ
หมวดหมู่ฟังก์ชันซึ่งจะไม่เท่ากัน โดยการคิดจะนำจำนวนของฟังก์ชันที่นับได้ในแต่ละหมวดหมู่
คูณกับค่าน้ำหนักของหมวดหมู่นั้นๆ ผลลัพธ์ที่ได้จะเรียกว่าจะเป็นค่าฟังก์ชันพอยต์ที่ยังไม่ได้ปรับค่า
(Unadjusted Function Point :UAF) โดยรายละเอียดแล้วน้ำหนักที่คูณอาจมีการคำนึงถึงความซับซ้อน
อีกด้วย

เนื่องจากค่าฟังก์ชันพอยต์ที่ยังไม่ได้ปรับค่า ยังไม่ได้ปรับเทียบกับความซับซ้อนเชิงเทคนิคของระบบ 
จึงสร้างค่าตัวเลขตัวหนึ่งที่เรียกว่า ค่าตัวคูณปรับค่า 
(Value Adjustment Factor:VAF) ซึ่งค่าตัวเลขนี้จะได้มาจากการพิจารณาลักษณะจำเพาะของระบบ
โดยทั่วไป (General System Characteristics:GSCs) 14 ลักษณะ โดยใช้เกณฑ์มากน้อย 6 ระดับ
(ระดับ 0 คือลักษณะจำเพาะนี้ไม่มีนัยสำคัญกับระบบ ไล่ระดับไปเรื่อยๆ จนถึงระดับ 5 คือลักษณะจำเพาะนี้มีนัยสำคัญ
กับระบบมาก) ลักษณะจำเพาะของระบบโดยทั่วไป 14 ลักษณะ มีดังนี้ยกตัวอย่างเช่นหากประเมินแล้วแต่ละข้ออยู่ที่ 4 ดังนั้นจะมีผลรวมในการประเมิน (Sum of Score: SS) เท่ากับ formula_2 โดยทั่วไปแล้วค่าตัวคูณปรับค่า (Value Adjustment Factor:VAF) จะคำนวณได้จาก
formula_3

เพราะฉะนั้นจะได้ว่าตัวคูณปรับค่าในครั้งนี้ formula_4

ค่าฟังก์ชันพอยต์ที่ปรับค่าแล้วคำนวณได้จาก

formula_5

เช่นระบบตัวอย่างจะมีค่าฟังก์ชันพอยต์ที่ปรับค่าแล้วเท่ากับ formula_6 กล่าวโดยสรุปคือ
เมื่อวิเคราะห์ฟังก์ชันพอยต์แล้ว ระบบตัวอย่างมีขนาด 51 FPs