ข้อกำหนดเชิงหน้าที่และไม่ใช่เชิงหน้าที่
ความแตกต่างที่สำคัญระหว่างข้อกำหนดเชิงหน้าที่และไม่ใช่เชิงหน้าที่
- ข้อกำหนดด้านการทำงานกำหนดระบบหรือส่วนประกอบ ในขณะที่ข้อกำหนดที่ไม่เกี่ยวกับการทำงานจะกำหนดคุณลักษณะด้านประสิทธิภาพของระบบซอฟต์แวร์
- ข้อกำหนดด้านการทำงานควบคู่ไปกับการวิเคราะห์ความต้องการจะช่วยระบุความต้องการที่หายไป ในขณะที่ข้อดีของข้อกำหนดที่ไม่ใช่ด้านการทำงานก็คือช่วยให้คุณมั่นใจได้ถึงประสบการณ์ผู้ใช้ที่ดีและการใช้งานซอฟต์แวร์ที่ง่ายดาย
- Functional Requirement เป็นคำกริยา ในขณะที่ Non-Functional Requirement เป็นคุณลักษณะ
- ประเภทของข้อกำหนดที่ไม่เกี่ยวกับฟังก์ชัน ได้แก่ ความสามารถในการปรับขนาด ความพร้อมใช้งาน ความน่าเชื่อถือ ความสามารถในการกู้คืน ข้อมูล Integrityฯลฯ ในขณะที่การแก้ไข การปรับ และการยกเลิกธุรกรรม กฎเกณฑ์ทางธุรกิจ ข้อกำหนดการรับรอง ข้อกำหนดการรายงาน ฟังก์ชันการบริหาร ระดับการอนุญาต การติดตามการตรวจสอบ อินเทอร์เฟซภายนอก การจัดการข้อมูลในอดีต ข้อกำหนดทางกฎหมายหรือข้อบังคับ ถือเป็นข้อกำหนดด้านการทำงานประเภทต่างๆ

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