Checklist สำหรับใช้จับประเด็น เพื่อช่วยตั้งคำถามด้าน non-functional requirement ในงาน requirement, ช่วยออกแบบ non-functional test case, ช่วยออกแบบโซลูชั่น
NFR Checklist ด้าน Performance
ความต้องการ (Requirement)
|
สมมติฐาน (Assumption)
|
Incoming Event
|
- การเกิดขึ้นของ event เนื่องจากการเข้ามาใช้ระบบโดยผู้ใช้ หรือ client เป็นแบบใด? เช่น periodic event, sporadic event, stochastic event
- จำแนกตามอะไร? เช่น หน้าจอ, ฟังก์ชั่น, เซอร์วิส
- จำนวนผู้ใช้ หรือ client ต่อวัน/ชั่วโมง/วินาทีคือเท่าไร?
- จำนวน concurrent ของผู้ใช้ หรือ client เป็นเท่าไร? ณ ช่วงเวลาใดบ้าง?
|
Resource
|
- ทรัพยากรที่จะใช้มีกี่ประเภท? เช่น หน่วยความจำ, I/O, ซีพียู, database server, ERP, network, directory server
- Resource system มีอะไรบ้าง? ยี่ห้ออะไร? เวอร์ชั่นอะไร?
- Network bandwidth ที่เหลือโดยเฉลี่ย(เช่น ต่อชั่วโมง) ที่เชื่อมต่อไปยัง resource system เหล่านั้นคือเท่าไร?
- เครื่องที่ระบบนี้จะไป deploy มีทรัพยากรเหลือโดยเฉลี่ยเท่าไร? เช่น ต่อชั่วโมง ต่อวัน
- มีทรัพยากรใดที่ถูกเข้าถึงพร้อมกันบ้าง (simultaneous access)? เกี่ยวข้องกับฟังก์ชั่นหรือกลไกใด?
|
Client Behavior
|
- แบ่งผู้ใช้ หรือ client เป็นกี่ประเภท?
- พฤติกรรมของผู้ใช้ หรือ client แต่ละประเภทเป็นอย่างไร?
|
Deadline
|
- Deadline ของ process/transaction จะกำหนดที่เท่าไร? ในช่วงนี้อาจยังไม่ทราบชัดเจน เอาคำตอบแบบคร่าวๆ ก่อน เป็นช่วงเวลาหรือค่าประมาณ
|
Throughput
|
- ปริมาณงานที่จะเสร็จต่อช่วงเวลาเป็นเท่าไร? เช่น ภายใน 1 ช.ม.ต้องประมวลผลคำสั่งสั่งซื้อให้เสร็จอย่างน้อย 100 คำสั่ง
|
Latency
|
- ระยะเวลาหน่วงหรือดีเลย์ในการเข้าถึงทรัพยากรคือเท่าไรที่ยอมรับได้? เข้าถึงทรัพยากรใด? เช่น หาก request เข้าไปถึง database แล้ว database จะใช้เวลาประมวลผล request นี้ไม่เกิน 1,000 มิลลิวินาที แต่พอ request ไปถึง database แต่ดันไม่ว่าง เข้าไม่ได้ request เลยต้องรอ เสียเวลารอไป 850 มิลลิวินาที พอเข้าได้แล้ว database ประมวลผล request ไป 1,000 มิลลิวินาที สรุปแล้วระยะเวลาเข้าใช้ database โดยรวมคือ 1,850 มิลลิวินาที คิดเป็นเวลา latency (หรือเวลาหน่วง/ดีเลย์) 850 มิลลิวินาที ดังนั้นระบบที่ต้องการความเร็วมากๆ จึงต้องหาทางลด latency ลง เพื่อให้ response time สั้นลง ซึ่ง latency สามารถเกิดได้ทุกจุดที่เป็น resource โดยเฉพาะ shared resource ที่ต้องใส่ใจมากๆ
|
Business Process
|
- มี business process ให้วิเคราะห์หรือไม่?
- Business process มีความละเอียดพอนำมาวิเคราะห์ประเด็นต่างๆ ในคำถามก่อนหน้าหรือไม่? (ในหลายงานจำเป็นต้องจูนทั้ง business (คนทำ) และ system (ระบบทำ))
|
Cost & Budget
|
- มีงบประมาณสำหรับทรัพยากร/ฮาร์ดแวร์เท่าไร?
- โดยประมาณเท่าไร?
- ที่สามารถจ่ายได้สูงสุดไม่เกินเท่าไร?
|
อ่านเพิ่มเติม →