NFR Checklist: Availability, Modifiability, Reliability

Checklist สำหรับใช้จับประเด็น เพื่อช่วยตั้งคำถามด้าน non-functional requirement ในงาน requirement, ช่วยออกแบบ non-functional test case, ช่วยออกแบบโซลูชั่น

 

NFR Checklist ด้าน Availability

ความต้องการ (Requirement)

สมมติฐาน (Assumption)

Action

  • หากระบบหยุด/ล่ม/ทำงานช้าผิดปกติ จะให้ response อย่างไร? เช่น record, notify, disable, continue, be unavailable

Boundary

  • Client ที่จะใช้ระบบอยู่ภายในองค์กรหรือมีเข้ามาจากนอกองค์กรด้วย?
  • ขอบเขตของระบบกำหนดชัดเจนแล้วหรือไม่?

Repair Time

  • หากระบบหยุด/ล่ม/ทำงานช้าผิดปกติ ต้องใช้เวลาในการหาสาเหตุไม่เกินเท่าไร? (หน่วยเป็นนาที/วินาที)
  • หากระบบหยุด/ล่ม/ทำงานช้าผิดปกติ ต้องใช้เวลาในการแก้ไขจนระบบกลับเป็นปกติไม่เกินเท่าไร? (หน่วยเป็นนาที/วินาที)

Availability Rate

  • อัตราความพร้อมของระบบคือเท่าไร? เช่น 99.999% ต่อปี (คิดเป็นเท่าไหร่ลองดูในลิงค์นี้ครับ https://en.wikipedia.org/wiki/Availability_(system))

Available Time Interval,

Unavailable Time Interval,

Degraded Time Interval

  • ช่วงเวลาที่ระบบต้องพร้อมให้บริการ/หรือพร้อมใช้งาน คือช่วงใดบ้าง? (ควรแบ่งเป็นช่วงๆ เช่น วัน, ชั่วโมง, นาที)
  • ช่วงเวลาที่ระบบหยุด/ปิดการทำงานคือช่วงเวลาใด?
  • ช่วงเวลาที่ระบบสามารถทำงานช้าหรือให้บริการช้าได้ (แต่ไม่เกินที่ระบุใน SLA) คือช่วงใด? เกิดจากสาเหตุใด?

Area of Concern

  • ส่วนใดของระบบ (เช่น ฟีจเจอร์, หน้าจอ) ที่ stakeholder concern มากๆ? เช่น หยุดทำงานไม่ได้/ช้าไม่ได้ เด็ดขาด

NFR Checklist ด้าน Modifiability

ความต้องการ (Requirement)

คำถาม (Question)

Artifact

  • มีส่วนใดบ้างที่สามารถ modify ได้? เช่น หน้าจอ, โมดูล, คอมโพเน้นต์, คอนฟิกุเรชั่น, เซสชั่น, สภาพแวดล้อม, external system ที่ระบบนี้ไปเรียกใช้

Environment

  • จากคำถามก่อนหน้า การ modify เกิดขึ้นในสภาพแวดล้อมแบบใด? เช่น design time, development time, build time, test time, run time, deploy time, startup time, shutdown time

Modifier

  • จากคำถามก่อนหน้า ใครเป็นคน modify ได้บ้าง?

Cost

  • มีกรอบ/เกณฑ์ในการควบคุมค่าใช้จ่ายที่เกิดขึ้นในการ modify หรือไม่? เท่าไร?

Trade-off

  • ในจุดที่สามารถ modify ได้ ผลจากการ modify ก่อให้เกิดข้อดี-ข้อเสียอะไรบ้าง?

Sensitivity Point

  • มีจุดละเอียดอ่อนตรงไหนบ้างในระบบ ที่ไวต่อการเปลี่ยนแปลง? เช่น หาก modify มีปัญหาอาจก่อให้เกิดปัญหาร้ายแรง หรือการ modify ไม่ยากซึ่งส่งผลดีต่อระบบโดยรวมสูง

Frequency

  • อัตราความถี่ในการ modify คือเท่าไร? เช่น 2-4 ครั้งต่อเดือน

Performance

  • มีกรอบ/เกณฑ์ในการควบคุมด้าน performance หรือไม่? เช่น response time, resource ที่ใช้

Security

  • จะมีการจัดการสิทธิในการ modify ในแต่ละส่วนหรือไม่?
  • จะจัดการสิทธิอย่างไร?

Media

  • เป็นการ modify ผ่านอะไร? เช่น ไฟล์ XML, หน้าจอ admin

Availability

  • การ modify ต้องหยุด/shut down ระบบก่อนหรือไม่? นานเท่าไร?

 

NFR Checklist ด้าน Reliability

ความต้องการ (Requirement)

สมมติฐาน (Assumption)

Accuracy/Precision

  • มีข้อจำกัดหรือ constraint ใดบ้างที่อาจส่งผลต่อความแม่นยำในการคำนวณทางคณิตศาสตร์ หรือในทางเวลา?

Availability

  • มี SLA ในด้านความพร้อมของระบบอย่างไรบ้าง? เช่น ระบบห้ามหยุดทำงานเกิน 3 ครั้ง/เดือน

Recoverability

  • หากระบบหยุดหรือล่ม มีความต้องการกู้ระบบและ/หรือข้อมูลหรือไม่ ส่วนใด?

 

สำหรับ Reliability ยังมี subset เป็นด้าน Stability (เสถียรภาพ) อีกด้วย ซึ่งมีรายละเอียดมาก ไว้จะอธิบายแยกต่างหากนะครับ

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s