วิธีจุดฟังก์ชันของ Albrecht
เมตริกจุดของฟังก์ชันเป็นวิธีการที่เป็นมาตรฐานสำหรับการวัดฟังก์ชันต่างๆของแอปพลิเคชันซอฟต์แวร์ มันวัดการทำงานจากมุมมองของผู้ใช้นั่นคือบนพื้นฐานของสิ่งที่ผู้ใช้ร้องขอและได้รับตอบแทน การวิเคราะห์จุดฟังก์ชันเป็นวิธีมาตรฐานในการวัดการพัฒนาซอฟต์แวร์จากมุมมองของผู้ใช้
การวัดจุดฟังก์ชันเดิมที่ Albrecht ได้รับความนิยมเพิ่มขึ้นจากการก่อตั้ง International Function Point Users Group (IFPUG) ในปี 1986 ในปี 2002 IFPUG Function Points กลายเป็นมาตรฐาน ISO สากล - ISO / IEC 20926
Function Point คืออะไร?
FP (Function Point)เป็นเมตริกประเภทการทำงานที่แพร่หลายที่สุดซึ่งเหมาะสำหรับการหาปริมาณแอปพลิเคชันซอฟต์แวร์ มันขึ้นอยู่กับผู้ใช้ห้าคน "ฟังก์ชัน" เชิงตรรกะที่ระบุตัวตนได้ซึ่งแบ่งออกเป็นฟังก์ชันข้อมูลสองประเภทและประเภทฟังก์ชันการทำธุรกรรมสามประเภท สำหรับแอปพลิเคชันซอฟต์แวร์ที่กำหนดองค์ประกอบเหล่านี้แต่ละรายการจะได้รับการวัดปริมาณและถ่วงน้ำหนักโดยนับองค์ประกอบที่มีลักษณะเฉพาะเช่นการอ้างอิงไฟล์หรือฟิลด์ตรรกะ
ตัวเลขผลลัพธ์ (FP ที่ไม่ได้ปรับแต่ง) จะถูกจัดกลุ่มเป็นชุดฟังก์ชันที่เพิ่มเปลี่ยนแปลงหรือลบและรวมกับ Value Adjustment Factor (VAF) เพื่อให้ได้ค่า FP สุดท้าย มีการใช้สูตรสุดท้ายที่แตกต่างกันสำหรับการนับแต่ละประเภท: แอปพลิเคชันโครงการพัฒนาหรือโครงการปรับปรุง
การใช้วิธีจุดฟังก์ชันของ Albrecht
ตอนนี้ให้เราเข้าใจวิธีการใช้วิธี Function Point ของ Albrecht ขั้นตอนมีดังนี้ -
กำหนดจำนวนส่วนประกอบ (EI, EO, EQ, ILF และ ELF)
EI- จำนวนอินพุตภายนอก สิ่งเหล่านี้เป็นกระบวนการพื้นฐานที่ข้อมูลที่ได้รับส่งผ่านข้ามขอบเขตจากภายนอกสู่ภายใน ในระบบฐานข้อมูลห้องสมุดตัวอย่างให้ป้อนหมายเลขบัตรห้องสมุดของผู้อุปถัมภ์ที่มีอยู่
EO- จำนวนเอาต์พุตภายนอก เหล่านี้เป็นกระบวนการพื้นฐานที่ข้อมูลที่ได้รับส่งผ่านข้ามขอบเขตจากภายในสู่ภายนอก ในระบบฐานข้อมูลห้องสมุดตัวอย่างแสดงรายการหนังสือที่ชำระให้กับผู้อุปถัมภ์
EQ- จำนวนแบบสอบถามภายนอก สิ่งเหล่านี้เป็นกระบวนการพื้นฐานที่มีส่วนประกอบทั้งอินพุตและเอาต์พุตซึ่งส่งผลให้มีการดึงข้อมูลจากไฟล์โลจิคัลภายในหนึ่งไฟล์ขึ้นไปและไฟล์อินเตอร์เฟสภายนอก ในระบบฐานข้อมูลห้องสมุดตัวอย่างให้กำหนดว่าหนังสือเล่มใดบ้างที่มีการเช็คเอาต์ให้กับผู้อุปถัมภ์
ILF- จำนวนไฟล์บันทึกภายใน กลุ่มเหล่านี้เป็นกลุ่มข้อมูลที่เกี่ยวข้องเชิงตรรกะที่ระบุตัวตนของผู้ใช้ได้ซึ่งอยู่ภายในขอบเขตของแอปพลิเคชันที่ดูแลผ่านอินพุตภายนอก ในระบบฐานข้อมูลห้องสมุดตัวอย่างไฟล์หนังสือในห้องสมุด
ELF- จำนวนไฟล์บันทึกภายนอก เหล่านี้เป็นกลุ่มข้อมูลที่เกี่ยวข้องเชิงตรรกะที่สามารถระบุตัวตนได้ซึ่งใช้เพื่อวัตถุประสงค์ในการอ้างอิงเท่านั้นและอยู่นอกระบบทั้งหมด ในระบบฐานข้อมูลไลบรารีตัวอย่างไฟล์ที่มีธุรกรรมในระบบการเรียกเก็บเงินของไลบรารี
คำนวณจำนวนจุดของฟังก์ชันที่ไม่ได้ปรับแต่ง (UFC)
ให้คะแนนแต่ละองค์ประกอบเป็น low, average, หรือ high.
สำหรับการทำธุรกรรม (EI, EO, and EQ)การให้คะแนนจะขึ้นอยู่กับ FTR และ DET.
FTR - จำนวนไฟล์ที่อัปเดตหรืออ้างอิง
DET - จำนวนฟิลด์ที่ผู้ใช้จดจำได้
จากตารางต่อไปนี้ไฟล์ EI ที่อ้างอิงไฟล์ 2 ไฟล์และองค์ประกอบข้อมูล 10 รายการจะได้รับการจัดอันดับเป็น average.
FTR | DET | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
0-1 | ต่ำ | ต่ำ | เฉลี่ย | |
2-3 | ต่ำ | เฉลี่ย | สูง | |
>3 | เฉลี่ย | สูง | สูง |
สำหรับไฟล์ (ILF and ELF)การให้คะแนนจะขึ้นอยู่กับไฟล์ RET และ DET.
RET - จำนวนองค์ประกอบข้อมูลที่ผู้ใช้จดจำได้ในไฟล์ ILF หรือ ELF.
DET - จำนวนฟิลด์ที่ผู้ใช้จดจำได้
จากตารางต่อไปนี้ไฟล์ ILF ที่มีองค์ประกอบข้อมูล 10 รายการและ 5 ช่องจะได้รับการจัดอันดับเป็น high.
RETs | DET | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
1 | ต่ำ | ต่ำ | เฉลี่ย | |
2-5 | ต่ำ | เฉลี่ย | สูง | |
>5 | เฉลี่ย | สูง | สูง |
แปลงการให้คะแนนเป็น UFCs.
คะแนน | ค่า | ||||
---|---|---|---|---|---|
EO | EQ | EI | ILF | ELF | |
Low | 4 | 3 | 3 | 7 | 5 |
Average | 5 | 4 | 4 | 10 | 7 |
High | 6 | 5 | 6 | 15 | 10 |
คำนวณการนับคะแนนฟังก์ชันสุดท้าย (FPC)
ปัจจัยการปรับค่าการคำนวณ (VAF) ตามคุณลักษณะทั่วไปของระบบ 14 ประการ (GSC).
ลักษณะทั่วไปของระบบ | คำอธิบายสั้น ๆ | |
---|---|---|
สกสค. 1 | การสื่อสารข้อมูล | มีสิ่งอำนวยความสะดวกในการสื่อสารกี่แห่งเพื่อช่วยในการถ่ายโอนหรือแลกเปลี่ยนข้อมูลกับแอปพลิเคชันหรือระบบ? |
สกสค. 2 | การประมวลผลข้อมูลแบบกระจาย | ข้อมูลแบบกระจายและฟังก์ชันการประมวลผลได้รับการจัดการอย่างไร? |
สกสค. 3 | ประสิทธิภาพ | ผู้ใช้ต้องการเวลาตอบสนองหรือปริมาณงานหรือไม่ |
สกสค. 4 | ใช้การกำหนดค่าอย่างหนัก | แพลตฟอร์มฮาร์ดแวร์ในปัจจุบันมีการใช้งานหนักเพียงใดซึ่งจะเรียกใช้แอปพลิเคชัน |
สกสค. 5 | อัตราการทำธุรกรรม | มีการทำธุรกรรมรายวันรายสัปดาห์รายเดือน ฯลฯ บ่อยเพียงใด |
สกสค. 6 | การป้อนข้อมูลออนไลน์ | มีการป้อนข้อมูลออนไลน์กี่เปอร์เซ็นต์ |
สกสค. 7 | ประสิทธิภาพของผู้ใช้ปลายทาง | แอปพลิเคชั่นนี้ออกแบบมาเพื่อประสิทธิภาพของผู้ใช้ปลายทางหรือไม่? |
สกสค. 8 | อัปเดตออนไลน์ | มีการปรับปรุง ILF กี่รายการโดยการทำธุรกรรมออนไลน์? |
สกสค. 9 | การประมวลผลที่ซับซ้อน | แอปพลิเคชันมีการประมวลผลเชิงตรรกะหรือทางคณิตศาสตร์อย่างกว้างขวางหรือไม่? |
สกสค. 10 | การนำกลับมาใช้ใหม่ | แอปพลิเคชันนี้ได้รับการพัฒนาเพื่อตอบสนองความต้องการของผู้ใช้หนึ่งคนหรือหลายคน? |
สกสค. 11 | ติดตั้งง่าย | การแปลงและการติดตั้งยากแค่ไหน? |
สกสค. 12 | ใช้งานง่าย | ขั้นตอนการเริ่มต้นสำรองข้อมูลและการกู้คืนโดยอัตโนมัติมีประสิทธิภาพเพียงใด |
สกสค. 13 | หลายไซต์ | แอปพลิเคชันได้รับการออกแบบพัฒนาและสนับสนุนโดยเฉพาะให้ติดตั้งในหลายไซต์สำหรับหลายองค์กรหรือไม่ |
สกสค. 14 | อำนวยความสะดวกในการเปลี่ยนแปลง | แอปพลิเคชันได้รับการออกแบบพัฒนาและสนับสนุนโดยเฉพาะเพื่ออำนวยความสะดวกในการเปลี่ยนแปลงหรือไม่ |
ชั่งน้ำหนักแต่ละชิ้น GSC ในระดับ 0 ถึง 5 โดยพิจารณาจากว่าไม่มีอิทธิพลต่ออิทธิพลที่แข็งแกร่ง
คำนวณไฟล์ FPC ดังต่อไปนี้ -
FPC = UFC * (0.65+ (ผลรวม (GSC) * .01))
ความซับซ้อน
ความซับซ้อนเป็นองค์ประกอบที่แยกจากกันของขนาด มีสองประเภท -
Complexity of a problem - เป็นจำนวนทรัพยากรที่จำเป็นสำหรับการแก้ปัญหาที่เหมาะสมที่สุด
Complexity of a solution- เป็นทรัพยากรที่จำเป็นในการใช้โซลูชันเฉพาะ มันมีสองด้าน มีดังนี้ -
Time complexity - ทรัพยากรคือเวลาคอมพิวเตอร์
Space complexity - ทรัพยากรคือหน่วยความจำคอมพิวเตอร์
การวัดความซับซ้อน
ด้านหนึ่งของความซับซ้อนคือประสิทธิภาพ วัดผลผลิตภัณฑ์ซอฟต์แวร์ใด ๆ ที่สามารถจำลองเป็นอัลกอริทึมได้
ตัวอย่างเช่น: หากอัลกอริทึมสำหรับการแก้ปัญหาทุกกรณีต้องการ f(n) การคำนวณแล้ว f(n) เป็นวิธีที่ดีที่สุดโดยไม่มีอาการถ้าสำหรับอัลกอริทึมอื่น ๆ ที่มีความซับซ้อน g ที่ช่วยแก้ปัญหาได้ f คือ O(g). จากนั้นความซับซ้อนของปัญหานั้นใหญ่ -O ของอัลกอริทึมที่เหมาะสมที่สุดแบบไม่มีอาการสำหรับวิธีแก้ปัญหา