ฟังก์ชันพอยต์
ฟังก์ชันฟอยต์ เป็นหน่วยวัด (Measurement) เพื่อแสดงถึงจำนวนฟังก์ชันเชิง ธุรกิจที่ระบบสารสนเทศสามารถให้บริการแก่ผู้ใช้ได้ ฟังก์ชันฟอยต์ นั้นเป็นหน่วย ที่ใช้โดยวิธีการวัดขนาดฟังก์ชันของกลุ่มผู้ใช้ฟังก์ชันพอยต์สากล (International Function Point Users Group Functional Size Measurement: IFPUG FSM) วิธีการ IFPUG FSM นี้ได้รับการยอมรับจากISO ให้เป็นหนึ่งในตัววัดซอฟต์แวร์ (Software Metric) เพื่อระบุขนาดของระบบสารสนเทศโดยใช้ฟังก์ชันที่ผู้ใช้ได้รับเป็นพื้นฐาน และเป็นอิสระจากเทคโนโลยีที่สร้างผลลัพธ์ (implement) ของระบบสารสนเทศนั้นๆ
ลักษณะของฟังก์ชันพอยต์
[แก้]ฟังก์ชันฟอยต์นั้นชี้วัดค่าระบบจากภาพรวมของฟังก์ชันการใช้งาน (Perspective) ซึ่งควรจะเป็นอิสระต่อเทคโนโลยีพื้นฐาน ไม่ขึ้นกับภาษา วิธีการพัฒนา หรือ แพลตฟอร์มฮาร์ดแวร์ ที่ใช้ จำนวนฟังก์ชันฟอยต์ในระบบควรจะคงที่ ตัวที่ผันแปรได้ควรเป็นความสามารถที่จะทำให้บรรลุฟังก์ชันฟอยต์ที่กำหนดไว้นั้น
หลายองค์กรวัดค่าฟังก์ชันฟอยต์ด้วยความเที่ยงตรง (Accuracy) ในระดับที่แตกต่างกัน โดยขึ้นอยู่กับวัตถุประสงค์ในการวัดขนาดของซอฟต์แวร์อีกด้วย
การนำไปใช้งานและประโยชน์ของฟังก์ชันพอยต์
[แก้]ฟังก์ชันพอยต์สามารถใช้เป็นข้อมูลพื้นฐานในการตัดสินใจในระดับโครงการ และระดับองค์กรหลายๆด้าน ตลอดจนใช้ในการพิจารณาสิ่งต่อไปนี้
- งบประมาณเพื่อใช้จ่ายไปในการพัฒนาหรือปรับปรุงโปรแกรมประยุกต์ให้ดีขึ้น
- งบประมาณเพื่อใช้จ่ายไปในการบำรุงรักษาระบบประจำปีในประวัติการทำงานของโปรแกรมประยุกต์
- ผลิตภาพ (Productivity) ของโครงการหลังจากจบโครงการ
- ขนาดของซอฟต์แวร์เพื่อใช้ในการประมาณการใช้จ่าย
การวิเคราะห์ฟังก์ชันฟอยต์ยังสามารถใช้ในการหาความสามารถในการทดสอบ (Testing Effort) ที่ต้องการของระบบสารสนเทศ โดยประมาณจำนวน Test Cases (Number of Test Cases) จากฟังก์ชันพอยต์ (FP) ได้จากสูตร
การวิเคราะห์ฟังก์ชันฟอยต์
[แก้]การวิเคราะห์ฟังก์ชันฟอยต์ (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 และให้ค่าของฟังก์ชันพอยต์จากค่าเหล่านี้
- ฟังก์ชันเชิงข้อมูล: แฟ้มข้อมูลเชิงตรรกะภายใน (Internal Logical Files: ILFs)
- ฟังก์ชันเชิงข้อมูล: แฟ้มข้อมูลต่อประสานภายนอก (External Interface Files: EIFs)
- ฟังก์ชันเชิงรายการเปลี่ยนแปลง: ข้อมูลนำเข้าภายนอก (External Inputs: EIs)
- ฟังก์ชันเชิงรายการเปลี่ยนแปลง: ข้อมูลส่งออกภายนอก (External Outputs: EOs)
- ฟังก์ชันเชิงรายการเปลี่ยนแปลง: การสอบถามภายนอก (External Inquries: EQs)
วิธีการนับจำนวนฟังก์ชันในแต่ละหมวดหมู่
[แก้]วิธีการนับว่าระบบสารสนเทศมีจำนวนฟังก์ชันในแต่ละหมวดหมู่ว่ามีค่าเท่าใดนั้น ต้อง แล้วแต่ว่าผู้ใช้ต้องการแบ่งความหยาบละเอียดในการวัดอย่างไร โดยการนับฟังก์ชันห้าหมวดหมู่ มีการนับโดยคร่าวๆดังนี้
- แฟ้มข้อมูลเชิงตรรกะภายใน (Internal Logical Files: ILFs) นับตามจำนวนแฟ้มข้อมูลที่ต้องเก็บไว้ในระบบสารสนเทศ แต่วิธีการนี้เป็นวิธีการโดยคร่าวๆ เพราะโดยละเอียดจริงๆ อาจมีปัจจัยอื่นๆมาเกี่ยวข้องด้วย เช่น ขนาดของแฟ้มข้อมูล ความสำคัญของแฟ้มข้อมูล
การซ้ำซ้อน การใช้ฐานข้อมูลเชิงสัมพัทธ์แทนแฟ้มข้อมูล เป็นต้น
- แฟ้มข้อมูลต่อประสานภายนอก (External Interface Files: EIFs) นับตามจำนวนส่วนต่อประสาน (Interface) ภายนอกระบบที่นำเข้าข้อมูล อาทิ เครื่องยิงบาร์โค้ด เป็นต้นซึ่งการนับโดยละเอียดอาจมีปัจจัยอื่นๆมาเกี่ยวข้องด้วยเช่นเดียวกัน
- ข้อมูลนำเข้าภายนอก (External Inputs: EIs) นับตามจำนวนข้อมูลนำเข้า เช่นแบบฟอร์ม (Forms) เป็นต้น ที่ใช้รับข้อมูลภายนอกระบบจากผู้ใช้ ซึ่งการนับโดยละเอียดอาจมีปัจจัยอื่นๆ เช่น ความซับซ้อนของแบบฟอร์ม เป็นต้น
- ข้อมูลส่งออกภายนอก (External Outputs: EOs) นับตามจำนวนข้อมูลส่งออกที่ผ่านการประมวลผล เช่น รายงานสรุปสถิติ เป็นต้น ซึ่งการนับโดยละเอียดอาจมีปัจจัยอื่นๆ เช่น ความซับซ้อนของรายงาน
- การสอบถามภายนอก (External Inquries: EQs) นับตามจำนวนข้อมูลส่งออกที่ไม่ผ่านการประมวลผล เช่น รายงานข้อมูลสอบถาม (Query Reports) เป็นต้น ซึ่งการนับโดยละเอียดอาจมีปัจจัยอื่นๆ ที่ต้องกำหนดต่อไป
โดยเกณฑ์การนับโดยละเอียดอาจศึกษาดูจากเอกสารของ IFPUG
การให้น้ำหนักฟังก์ชันแต่ละหมวดหมู่
[แก้]หลังจากที่นับจำนวนฟังก์ชันของระบบสารสนเทศ จะต้องนำไปคูณกับค่าน้ำหนักของแต่ละ หมวดหมู่ฟังก์ชันซึ่งจะไม่เท่ากัน โดยการคิดจะนำจำนวนของฟังก์ชันที่นับได้ในแต่ละหมวดหมู่ คูณกับค่าน้ำหนักของหมวดหมู่นั้นๆ ผลลัพธ์ที่ได้จะเรียกว่าจะเป็นค่าฟังก์ชันพอยต์ที่ยังไม่ได้ปรับค่า (Unadjusted Function Point :UAF) โดยรายละเอียดแล้วน้ำหนักที่คูณอาจมีการคำนึงถึงความซับซ้อน อีกด้วย
หมวดหมู่ | น้ำหนักของหมวดหมู่ | จำนวนฟังก์ชัน | ผลคูณ |
---|---|---|---|
EIs | 4 | 3 | 12 |
EOs | 5 | 2 | 10 |
EQs | 4 | 1 | 4 |
ILFs | 10 | 1 | 10 |
EIFs | 7 | 1 | 7 |
ค่าฟังก์ชันพอยต์ที่ยังไม่ได้ปรับค่า | 43 |
ความซับซ้อนในการปรับค่าฟังก์ชันพอยต์
[แก้]เนื่องจากค่าฟังก์ชันพอยต์ที่ยังไม่ได้ปรับค่า ยังไม่ได้ปรับเทียบกับความซับซ้อนเชิงเทคนิคของระบบ จึงสร้างค่าตัวเลขตัวหนึ่งที่เรียกว่า ค่าตัวคูณปรับค่า (Value Adjustment Factor:VAF) ซึ่งค่าตัวเลขนี้จะได้มาจากการพิจารณาลักษณะจำเพาะของระบบ โดยทั่วไป (General System Characteristics:GSCs) 14 ลักษณะ โดยใช้เกณฑ์มากน้อย 6 ระดับ (ระดับ 0 คือลักษณะจำเพาะนี้ไม่มีนัยสำคัญกับระบบ ไล่ระดับไปเรื่อยๆ จนถึงระดับ 5 คือลักษณะจำเพาะนี้มีนัยสำคัญ กับระบบมาก) ลักษณะจำเพาะของระบบโดยทั่วไป 14 ลักษณะ มีดังนี้
- การสื่อสารการของข้อมูล (Data communications) ช่องทางในการสื่อสารแลกเปลี่ยนข้อมูลของระบบ
- การประมวลผลข้อมูลแบบกระจาย (Distributed data processing) การประมวลผลและการเก็บข้อมูลแบบกระจาย
- ศักยภาพ (Performance) ความเร็วในการตอบสนอง (Response Time) หรือปริมาณงาน (Throughputs) ของระบบ
- โครงแบบการใช้งานหนัก (Heavily used configuration) การใช้ทรัพยากรฮาร์ดแวร์ในการทำงาน
- อัตรารายการเปลี่ยนแปลง (Transaction Rate) ความถี่ในการใช้งานรายการเปลี่ยนแปลง (Transaction)
- การรับข้อมูลแบบออนไลน์ (On-Line data entry) สัดส่วนของข้อมูลที่ต้องรับเข้าแบบออนไลน์
- การเพิ่มประสิทธิภาพการทำงานของผู้ใช้ (End-User Effiency) การเพิ่มประสิทธิภาพการทำงานของผู้ใช้
- การปรับให้ทันสมัยแบบออนไลน์ (On-Line update) การปรับข้อมูลที่เก็บไว้ให้ทันสมัยแบบออนไลน์อยู่เสมอ
- ความซับซ้อนในการประมวลผล (Complex processing) ความซับซ้อนในการประมวลผลเชิงตรรกะหรือคณิตศาสตร์
- การนำไปใช้ (Reusability) ความง่ายในการไปใช้
- ความง่ายในการติดตั้ง (Installation ease) ความง่ายในการปรับเปลี่ยนและติดตั้งซอฟต์แวร์
- ความง่ายในการดำเนินการ (Operational ease) ความง่ายในการจัดการการดำเนินการต่างๆ เช่น การสำรองและกู้คืนข้อมูล
- ความหลากหลายของการใช้ (Multiple sites) การปรับให้เข้ากับการใช้งานที่หลากหลาย
- ความง่ายในการเปลี่ยนแปลง (Facilitate change) ความสามารถในการปรับปรุงเปลี่ยนแปลงหรือพัฒนาระบบต่อไปได้
ยกตัวอย่างเช่นหากประเมินแล้วแต่ละข้ออยู่ที่ 4 ดังนั้นจะมีผลรวมในการประเมิน (Sum of Score: SS) เท่ากับ โดยทั่วไปแล้วค่าตัวคูณปรับค่า (Value Adjustment Factor:VAF) จะคำนวณได้จาก
เพราะฉะนั้นจะได้ว่าตัวคูณปรับค่าในครั้งนี้
ค่าฟังก์ชันพอยต์ที่ปรับค่าแล้วคำนวณได้จาก
เช่นระบบตัวอย่างจะมีค่าฟังก์ชันพอยต์ที่ปรับค่าแล้วเท่ากับ กล่าวโดยสรุปคือ เมื่อวิเคราะห์ฟังก์ชันพอยต์แล้ว ระบบตัวอย่างมีขนาด 51 FPs
แหล่งข้อมูลอื่น
[แก้]- http://www.softwaremetrics.com/fpafund.html เก็บถาวร 2009-01-24 ที่ เวย์แบ็กแมชชีน