เทคนิคการประมาณค่า - ใช้คะแนนกรณี

Use-Case คือชุดของการโต้ตอบที่เกี่ยวข้องระหว่างผู้ใช้และระบบที่ช่วยให้ผู้ใช้บรรลุเป้าหมาย

Use-Cases เป็นวิธีการจับข้อกำหนดการทำงานของระบบ ผู้ใช้ระบบเรียกว่า 'Actor' Use-Cases โดยพื้นฐานแล้วอยู่ในรูปแบบข้อความ

Use-Case Points - คำจำกัดความ

Use-Case Points (UCP)เป็นเทคนิคการประมาณค่าซอฟต์แวร์ที่ใช้ในการวัดขนาดซอฟต์แวร์ด้วยกรณีการใช้งาน แนวคิดของ UCP คล้ายกับ FPs

จำนวน UCP ในโครงการขึ้นอยู่กับสิ่งต่อไปนี้ -

  • จำนวนและความซับซ้อนของกรณีการใช้งานในระบบ
  • จำนวนและความซับซ้อนของนักแสดงในระบบ
    • ข้อกำหนดที่ไม่ใช้งานต่างๆ (เช่นการพกพาประสิทธิภาพการบำรุงรักษา) ที่ไม่ได้เขียนเป็นกรณีการใช้งาน

    • สภาพแวดล้อมที่จะพัฒนาโครงการ (เช่นภาษาแรงจูงใจของทีม ฯลฯ )

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

ประวัติการใช้ - กรณีจุด

วิธีการประมาณค่า Use-Case Point ได้รับการแนะนำโดย Gustav Karner ในปี 1993 งานนี้ได้รับอนุญาตจาก Rational Software ซึ่งรวมเข้ากับ IBM ในภายหลัง

กระบวนการนับคะแนน Use-Case

กระบวนการนับคะแนน Use-Case มีขั้นตอนดังต่อไปนี้ -

  • คำนวณ UCP ที่ไม่ได้ปรับแต่ง
  • ปรับความซับซ้อนทางเทคนิค
  • ปรับความซับซ้อนของสิ่งแวดล้อม
  • คำนวณ UCP ที่ปรับแล้ว

ขั้นตอนที่ 1: คำนวณคะแนนกรณีการใช้งานที่ไม่ได้ปรับเปลี่ยน

คุณคำนวณคะแนนการใช้งานที่ไม่ได้ปรับเปลี่ยนก่อนโดยทำตามขั้นตอนต่อไปนี้ -

  • กำหนดน้ำหนักกรณีใช้งานที่ไม่ได้ปรับเปลี่ยน
  • กำหนดน้ำหนักนักแสดงที่ไม่ได้ปรับแต่ง
  • คำนวณคะแนนการใช้งานที่ไม่ได้ปรับเปลี่ยน

Step 1.1 - กำหนดน้ำหนักกรณีใช้งานที่ไม่ได้ปรับเปลี่ยน

Step 1.1.1 - ค้นหาจำนวนธุรกรรมในแต่ละกรณีการใช้งาน

หาก Use-Cases เขียนด้วย User Goal Levels ธุรกรรมจะเทียบเท่ากับขั้นตอนใน Use-Case ค้นหาจำนวนธุรกรรมโดยการนับขั้นตอนใน Use-Case

Step 1.1.2- จัดประเภทการใช้งานแต่ละกรณีเป็นแบบธรรมดาเฉลี่ยหรือซับซ้อนตามจำนวนธุรกรรมใน Use-Case นอกจากนี้กำหนด Use-Case Weight ดังแสดงในตารางต่อไปนี้ -

ความซับซ้อนของการใช้กรณี จำนวนธุรกรรม น้ำหนักกรณีใช้งาน
เรียบง่าย ≤3 5
เฉลี่ย 4 ถึง 7 10
ซับซ้อน > 7 15

Step 1.1.3- ทำซ้ำสำหรับแต่ละ Use-Case และรับ Use-Case Weights ทั้งหมด น้ำหนักการใช้งานที่ไม่ได้ปรับเปลี่ยน (UUCW) คือผลรวมของน้ำหนักกรณีใช้งานทั้งหมด

Step 1.1.4 - ค้นหา Use-Case Weight (UUCW) ที่ไม่ได้ปรับเปลี่ยนโดยใช้ตารางต่อไปนี้ -

ความซับซ้อนของการใช้กรณี น้ำหนักกรณีใช้งาน จำนวนกรณีการใช้งาน สินค้า
เรียบง่าย 5 NSUC 5 × NSUC
เฉลี่ย 10 NAUC 10 × NAUC
ซับซ้อน 15 NCUC 15 × NCUC
Unadjusted Use-Case Weight (UUCW) 5 × NSUC + 10 × NAUC + 15 × NCUC

ที่ไหน

NSUC คือหมายเลข กรณีใช้งานง่าย

NAUC คือหมายเลข จำนวนกรณีการใช้งานโดยเฉลี่ย

NCUC คือหมายเลข กรณีการใช้งานที่ซับซ้อน

Step 1.2 - กำหนดน้ำหนักนักแสดงที่ไม่ได้ปรับแต่ง

นักแสดงในกรณีการใช้งานอาจเป็นบุคคลโปรแกรมอื่น ฯลฯ นักแสดงบางคนเช่นระบบที่มี API ที่กำหนดมีความต้องการที่ง่ายมากและเพิ่มความซับซ้อนของ Use-Case เพียงเล็กน้อย

ตัวแสดงบางตัวเช่นระบบที่โต้ตอบผ่านโปรโตคอลมีความต้องการมากขึ้นและเพิ่มความซับซ้อนของ Use-Case ในระดับหนึ่ง

นักแสดงคนอื่น ๆ เช่นผู้ใช้ที่โต้ตอบผ่าน GUI มีผลกระทบอย่างมากต่อความซับซ้อนของ Use-Case จากความแตกต่างเหล่านี้คุณสามารถแบ่งประเภทของนักแสดงเป็นง่ายปานกลางและซับซ้อนได้

Step 1.2.1 - จัดประเภทนักแสดงเป็นแบบง่ายปานกลางและซับซ้อนและกำหนดน้ำหนักนักแสดงดังแสดงในตารางต่อไปนี้ -

ความซับซ้อนของนักแสดง ตัวอย่าง น้ำหนักนักแสดง
เรียบง่าย ระบบที่มี API ที่กำหนด 1
เฉลี่ย ระบบโต้ตอบผ่านโปรโตคอล 2
ซับซ้อน ผู้ใช้โต้ตอบผ่าน GUI 3

Step 1.2.2- ทำซ้ำสำหรับนักแสดงแต่ละคนและรับน้ำหนักนักแสดงทั้งหมด น้ำหนักนักแสดงที่ไม่ได้ปรับแต่ง (UAW) คือผลรวมของน้ำหนักนักแสดงทั้งหมด

Step 1.2.3 - ค้นหาน้ำหนักนักแสดงที่ไม่ได้ปรับแต่ง (UAW) โดยใช้ตารางต่อไปนี้ -

ความซับซ้อนของนักแสดง น้ำหนักนักแสดง จำนวนนักแสดง สินค้า
เรียบง่าย 1 NSA 1 × NSA
เฉลี่ย 2 NAA 2 × NAA
ซับซ้อน 3 NCA 3 × NCA
Unadjusted Actor Weight (UAW) 1 × NSA + 2 × NAA + 3 × NCA

ที่ไหน

NSA คือหมายเลข ของ Simple Actors

NAA คือหมายเลข ของนักแสดงเฉลี่ย

NCA คือหมายเลข ของนักแสดงที่ซับซ้อน

Step 1.3 - คำนวณคะแนนการใช้งานที่ไม่ได้ปรับเปลี่ยน

น้ำหนักกรณีใช้งานที่ไม่ได้ปรับแต่ง (UUCW) และน้ำหนักตัวแสดงที่ไม่ได้ปรับแต่ง (UAW) ร่วมกันทำให้ขนาดที่ยังไม่ได้ปรับแต่งของระบบเรียกว่าจุดกรณีใช้งานที่ไม่ได้ปรับแต่ง

Unadjusted Use-Case Points (UUCP) = UUCW + UAW

ขั้นตอนต่อไปคือการปรับคะแนนกรณีการใช้งานที่ไม่ได้ปรับแต่ง (UUCP) สำหรับความซับซ้อนทางเทคนิคและความซับซ้อนด้านสิ่งแวดล้อม

ขั้นตอนที่ 2: ปรับเพื่อความซับซ้อนทางเทคนิค

Step 2.1 - พิจารณาปัจจัย 13 ประการที่นำไปสู่ผลกระทบของความซับซ้อนทางเทคนิคของโครงการเกี่ยวกับ Use-Case Points และน้ำหนักที่สอดคล้องกันตามที่ระบุในตารางต่อไปนี้ -

ปัจจัย คำอธิบาย น้ำหนัก
T1 ระบบกระจาย 2.0
T2 เวลาตอบสนองหรือวัตถุประสงค์ประสิทธิภาพปริมาณงาน 1.0
T3 ประสิทธิภาพของผู้ใช้ปลายทาง 1.0
T4 การประมวลผลภายในที่ซับซ้อน 1.0
T5 รหัสต้องใช้ซ้ำได้ 1.0
T6 ติดตั้งง่าย .5
T7 ง่ายต่อการใช้ .5
T8 แบบพกพา 2.0
T9 ง่ายต่อการเปลี่ยนแปลง 1.0
T10 พร้อมกัน 1.0
T11 รวมถึงวัตถุประสงค์ด้านความปลอดภัยพิเศษ 1.0
T12 ให้การเข้าถึงโดยตรงสำหรับบุคคลที่สาม 1.0
T13 จำเป็นต้องมีสิ่งอำนวยความสะดวกการฝึกอบรมผู้ใช้พิเศษ 1.0

ปัจจัยเหล่านี้หลายอย่างแสดงถึงข้อกำหนดที่ไม่สามารถใช้งานได้ของโครงการ

Step 2.2 - สำหรับแต่ละปัจจัย 13 ประการให้ประเมินโครงการและให้คะแนนจาก 0 (ไม่เกี่ยวข้อง) ถึง 5 (สำคัญมาก)

Step 2.3 - คำนวณผลกระทบของปัจจัยจากน้ำหนักผลกระทบของปัจจัยและค่านิยมสำหรับโครงการเป็น

Impact of the Factor = Impact Weight × Rated Value

Step (2.4)- คำนวณผลรวมของผลกระทบของปัจจัยทั้งหมด สิ่งนี้จะให้ค่า Total Technical Factor (TFactor) ดังแสดงในตารางด้านล่าง -

ปัจจัย คำอธิบาย น้ำหนัก (W) ค่านิยม (0 ถึง 5) (RV) ผลกระทบ (I = W × RV)
T1 ระบบกระจาย 2.0
T2 เวลาตอบสนองหรือวัตถุประสงค์ประสิทธิภาพปริมาณงาน 1.0
T3 ประสิทธิภาพของผู้ใช้ปลายทาง 1.0
T4 การประมวลผลภายในที่ซับซ้อน 1.0
T5 รหัสต้องใช้ซ้ำได้ 1.0
T6 ติดตั้งง่าย .5
T7 ง่ายต่อการใช้ .5
T8 แบบพกพา 2.0
T9 ง่ายต่อการเปลี่ยนแปลง 1.0
T10 พร้อมกัน 1.0
T11 รวมถึงวัตถุประสงค์ด้านความปลอดภัยพิเศษ 1.0
T12 ให้การเข้าถึงโดยตรงสำหรับบุคคลที่สาม 1.0
T13 จำเป็นต้องมีสิ่งอำนวยความสะดวกการฝึกอบรมผู้ใช้พิเศษ 1.0
Total Technical Factor (TFactor)

Step 2.5 - คำนวณ Technical Complexity Factor (TCF) เป็น -

TCF = 0.6 + (0.01 × TFactor)

ขั้นตอนที่ 3: ปรับเปลี่ยนเพื่อความซับซ้อนของสิ่งแวดล้อม

Step 3.1 - พิจารณาปัจจัยด้านสิ่งแวดล้อม 8 ประการที่อาจส่งผลต่อการดำเนินโครงการและน้ำหนักที่สอดคล้องกันดังที่ระบุในตารางต่อไปนี้ -

ปัจจัย คำอธิบาย น้ำหนัก
F1 คุ้นเคยกับรูปแบบโครงการที่นำมาใช้ 1.5
F2 ประสบการณ์การใช้งาน .5
F3 ประสบการณ์เชิงวัตถุ 1.0
F4 ความสามารถในการวิเคราะห์ลูกค้าเป้าหมาย .5
F5 แรงจูงใจ 1.0
F6 ข้อกำหนดที่มั่นคง 2.0
F7 พนักงานพาร์ทไทม์ -1.0
F8 ภาษาโปรแกรมยาก -1.0

Step 3.2 - สำหรับแต่ละปัจจัยทั้ง 8 ให้ประเมินโครงการและให้คะแนนจาก 0 (ไม่เกี่ยวข้อง) ถึง 5 (สำคัญมาก)

Step 3.3 - คำนวณผลกระทบของปัจจัยจากน้ำหนักผลกระทบของปัจจัยและค่านิยมสำหรับโครงการเป็น

Impact of the Factor = Impact Weight × Rated Value

Step 3.4- คำนวณผลรวมของผลกระทบของปัจจัยทั้งหมด สิ่งนี้ให้ค่า Total Environment Factor (EFactor) ตามที่ระบุในตารางต่อไปนี้ -

ปัจจัย คำอธิบาย น้ำหนัก (W) ค่านิยม (0 ถึง 5) (RV) ผลกระทบ (I = W × RV)
F1 คุ้นเคยกับรูปแบบโครงการที่นำมาใช้ 1.5
F2 ประสบการณ์การใช้งาน .5
F3 ประสบการณ์เชิงวัตถุ 1.0
F4 ความสามารถในการวิเคราะห์ลูกค้าเป้าหมาย .5
F5 แรงจูงใจ 1.0
F6 ข้อกำหนดที่มั่นคง 2.0
F7 พนักงานพาร์ทไทม์ -1.0
F8 ภาษาโปรแกรมยาก -1.0
Total Environment Factor (EFactor)

Step 3.5 - คำนวณปัจจัยด้านสิ่งแวดล้อม (EF) เป็น -

1.4 + (-0.03 × EFactor)

ขั้นตอนที่ 4: คำนวณคะแนนกรณีการใช้งานที่ปรับแล้ว (UCP)

คำนวณ Adjusted Use-Case Points (UCP) เป็น -

UCP = UUCP × TCF × EF

ข้อดีและข้อเสียของ Use-Case Points

ข้อดีของ Use-Case Points

  • UCP ขึ้นอยู่กับกรณีการใช้งานและสามารถวัดได้ในช่วงต้นของวงจรชีวิตของโครงการ

  • UCP (การประมาณขนาด) จะไม่ขึ้นอยู่กับขนาดทักษะและประสบการณ์ของทีมที่ดำเนินโครงการ

  • การประมาณการตาม UCP พบว่าใกล้เคียงกับความเป็นจริงเมื่อดำเนินการประมาณโดยผู้มีประสบการณ์

  • UCP ใช้งานง่ายและไม่เรียกร้องให้มีการวิเคราะห์เพิ่มเติม

  • กรณีการใช้งานถูกนำมาใช้อย่างมากมายเพื่อเป็นทางเลือกในการอธิบายข้อกำหนด ในกรณีเช่นนี้ UCP เป็นเทคนิคการประมาณค่าที่เหมาะสมที่สุด

ข้อเสียของ Use-Case Points

  • สามารถใช้ UCP ได้เฉพาะเมื่อข้อกำหนดถูกเขียนในรูปแบบของกรณีการใช้งาน

  • ขึ้นอยู่กับกรณีการใช้งานที่มุ่งเน้นเป้าหมายเป็นลายลักษณ์อักษร หากกรณีการใช้งานไม่ดีหรือมีโครงสร้างที่สม่ำเสมอ UCP ที่ได้อาจไม่ถูกต้อง

  • ปัจจัยทางเทคนิคและสิ่งแวดล้อมมีผลกระทบสูงต่อ UCP ต้องใช้ความระมัดระวังในขณะที่กำหนดค่าให้กับปัจจัยทางเทคนิคและสิ่งแวดล้อม

  • UCP มีประโยชน์สำหรับการประมาณขนาดโครงการโดยรวมในเบื้องต้น แต่มีประโยชน์น้อยกว่ามากในการขับเคลื่อนงานการวนซ้ำเพื่อทำซ้ำของทีม