ข้อกำหนดที่ไม่ทำหน้าที่ในวิศวกรรมซอฟต์แวร์คืออะไร?
ข้อกำหนดที่ไม่เกี่ยวกับฟังก์ชันคืออะไร?
ข้อกำหนดที่ไม่สามารถใช้งานได้ (NFR) ระบุคุณลักษณะคุณภาพของระบบซอฟต์แวร์ พวกเขาตัดสินระบบซอฟต์แวร์โดยพิจารณาจากการตอบสนอง การใช้งาน ความปลอดภัย การพกพา และมาตรฐานที่ไม่สามารถใช้งานได้อื่นๆ ที่มีความสำคัญต่อความสำเร็จของระบบซอฟต์แวร์ ตัวอย่างของข้อกำหนดที่ไม่สามารถใช้งานได้ “เว็บไซต์โหลดได้เร็วแค่ไหน?” การไม่ปฏิบัติตามข้อกำหนดที่ไม่สามารถใช้งานได้อาจส่งผลให้ระบบไม่สามารถตอบสนองความต้องการของผู้ใช้ได้
ข้อกำหนดที่ไม่ใช่ฟังก์ชันการทำงานในวิศวกรรมซอฟต์แวร์ช่วยให้คุณสามารถกำหนดข้อจำกัดหรือข้อจำกัดในการออกแบบระบบในแบ็กล็อก Agile ต่างๆ ได้ ตัวอย่างเช่น ไซต์ควรโหลดภายใน 3 วินาทีเมื่อจำนวนผู้ใช้พร้อมกันมากกว่า 10000 ราย Descriptข้อกำหนดที่ไม่เกี่ยวกับหน้าที่มีความสำคัญพอๆ กับข้อกำหนดด้านหน้าที่
ประเภทของข้อกำหนดที่ไม่สามารถใช้งานได้
ด้านล่างนี้คือข้อกำหนดหลักๆ ที่ไม่ทำงาน:
- ข้อกำหนดด้านการใช้งาน
- ข้อกำหนดความสามารถในการให้บริการ
- ข้อกำหนดด้านการจัดการ
- ข้อกำหนดความสามารถในการกู้คืน
- ข้อกำหนดด้านความปลอดภัย
- ข้อมูล Integrity ความต้องการ
- ความต้องการความจุ
- ข้อกำหนดด้านความพร้อมใช้งาน
- ข้อกำหนดด้านความสามารถในการปรับขนาด
- ข้อกำหนดด้านการทำงานร่วมกัน
- ข้อกำหนดด้านความน่าเชื่อถือ
- ข้อกำหนดด้านการบำรุงรักษา
- ข้อกำหนดด้านกฎระเบียบ
- ข้อกำหนดด้านสิ่งแวดล้อม
ตัวอย่างของข้อกำหนดที่ไม่สามารถใช้งานได้
ต่อไปนี้คือตัวอย่างบางส่วนของข้อกำหนดที่ไม่สามารถใช้งานได้:
- ผู้ใช้จะต้องเปลี่ยนรหัสผ่านเข้าสู่ระบบที่กำหนดไว้ในตอนแรกทันทีหลังจากเข้าสู่ระบบครั้งแรกสำเร็จ นอกจากนี้ ค่าเริ่มต้นไม่ควรนำมาใช้ซ้ำ
- พนักงานไม่เคยอนุญาตให้อัปเดตข้อมูลเงินเดือนของตน ความพยายามดังกล่าวควรรายงานไปยังผู้ดูแลระบบความปลอดภัย
- ความพยายามที่ไม่สำเร็จทุกครั้งของผู้ใช้ในการเข้าถึงรายการข้อมูลจะถูกบันทึกไว้ในเส้นทางการตรวจสอบ
- เว็บไซต์ควรมีความสามารถเพียงพอที่จะรองรับผู้ใช้ 20 ล้านคนโดยส่งผลต่อประสิทธิภาพการทำงาน
- ซอฟต์แวร์ควรพกพาได้ ดังนั้นการย้ายจากระบบปฏิบัติการหนึ่งไปยังระบบปฏิบัติการอื่นจึงไม่สร้างปัญหาใดๆ
- ความเป็นส่วนตัวของข้อมูล การส่งออกเทคโนโลยีที่ถูกจำกัด สิทธิ์ในทรัพย์สินทางปัญญา ฯลฯ ควรได้รับการตรวจสอบ
ข้อกำหนดเชิงหน้าที่และไม่ใช่เชิงหน้าที่
ต่อไปนี้เป็นความแตกต่างหลักระหว่างข้อกำหนดเชิงฟังก์ชันและเชิงไม่ใช่ฟังก์ชัน:
พารามิเตอร์ | ความต้องการใช้งาน | ข้อกำหนดที่ไม่สามารถใช้งานได้ |
---|---|---|
มันคืออะไร? | คำกริยา | คุณสมบัติ |
ความต้องการ | มันเป็นข้อบังคับ | มันไม่บังคับ |
ประเภทการจับ | มันถูกบันทึกในกรณีการใช้งาน | ถือเป็นคุณลักษณะที่มีคุณภาพ |
ผลลัพธ์สุดท้าย | คุณลักษณะผลิตภัณฑ์ | คุณสมบัติผลิตภัณฑ์ |
จับ | ง่ายต่อการจับภาพ | ยากที่จะจับ |
วัตถุประสงค์ | ช่วยคุณตรวจสอบการทำงานของซอฟต์แวร์ | ช่วยคุณตรวจสอบประสิทธิภาพของซอฟต์แวร์ |
พื้นที่โฟกัส | มุ่งเน้นไปที่ความต้องการของผู้ใช้ | มุ่งเน้นไปที่ความคาดหวังของผู้ใช้ |
เอกสาร | อธิบายว่าผลิตภัณฑ์ทำอะไร | อธิบายวิธีการทำงานของผลิตภัณฑ์ |
ประเภทของการทดสอบ | การทดสอบสมรรถนะ เช่น System, Integration, End to End, การทดสอบ API เป็นต้น | การทดสอบที่ไม่ใช้งาน เช่น ประสิทธิภาพ ความเครียด การใช้งาน การทดสอบความปลอดภัย ฯลฯ |
ทดสอบการทำงาน | การดำเนินการทดสอบเสร็จสิ้นก่อนการทดสอบไม่ทำงาน | หลังจากการทดสอบการทำงาน |
ข้อมูลสินค้า | สินค้า | คุณสมบัติผลิตภัณฑ์ |
ข้อดีของข้อกำหนดที่ไม่ใช้งาน
ประโยชน์/ข้อดีของ การทดสอบที่ไม่ใช้งาน คือ:
- ข้อกำหนดที่ไม่สามารถใช้งานได้ช่วยให้มั่นใจได้ว่าระบบซอฟต์แวร์เป็นไปตามกฎทางกฎหมายและการปฏิบัติตามข้อกำหนด
- ช่วยให้มั่นใจในความน่าเชื่อถือ ความพร้อมใช้งาน และประสิทธิภาพของระบบซอฟต์แวร์
- พวกเขามั่นใจถึงประสบการณ์ผู้ใช้ที่ดีและความสะดวกในการใช้งานซอฟต์แวร์
- ช่วยในการกำหนดนโยบายความปลอดภัยของระบบซอฟต์แวร์
ข้อเสียของข้อกำหนดที่ไม่สามารถใช้งานได้
ข้อเสีย/ข้อเสียของข้อกำหนดที่ไม่ใช่ฟังก์ชันคือ:
- ไม่มีข้อกำหนดด้านการทำงานที่อาจส่งผลกระทบต่อระบบย่อยซอฟต์แวร์ระดับสูงต่างๆ
- พวกเขาต้องการการพิจารณาเป็นพิเศษในระหว่างขั้นตอนสถาปัตยกรรมซอฟต์แวร์/การออกแบบระดับสูง ซึ่งจะเพิ่มต้นทุนขึ้น
- การใช้งานของพวกเขามักจะไม่แมปกับระบบย่อยซอฟต์แวร์เฉพาะ
- เป็นเรื่องยากที่จะปรับเปลี่ยนส่วนที่ไม่ทำงานเมื่อคุณผ่านขั้นตอนสถาปัตยกรรมไปแล้ว
การเรียนรู้ที่สำคัญ
- NFR หมายถึง: ข้อกำหนดที่ไม่สามารถใช้งานได้จะกำหนดคุณลักษณะด้านประสิทธิภาพของระบบซอฟต์แวร์
- พฤติกรรมไม่ทำงานประเภทใดบ้าง: ความสามารถในการปรับขนาด, ความพร้อมใช้งาน, ความน่าเชื่อถือ, ความสามารถในการกู้คืน, ข้อมูล Integrityฯลฯ
- หนึ่งในตัวอย่าง NFR คือ พนักงานไม่ได้รับอนุญาตให้อัปเดตข้อมูลเงินเดือนของตน ความพยายามดังกล่าวควรรายงานไปยังผู้ดูแลระบบความปลอดภัย
- ความต้องการด้านหน้าที่เป็นคำกริยาในขณะที่ความต้องการที่ไม่เกี่ยวกับหน้าที่เป็นคุณลักษณะ
- ข้อดีของความต้องการแบบไม่ใช้ฟังก์ชันคือช่วยให้คุณมั่นใจได้ถึงประสบการณ์ผู้ใช้ที่ดีและการใช้งานซอฟต์แวร์ที่ง่ายดาย
- ข้อเสียที่ใหญ่ที่สุดของข้อกำหนดที่ไม่สามารถใช้งานได้คืออาจส่งผลกระทบต่อระบบย่อยซอฟต์แวร์ระดับสูงต่างๆ