การวิเคราะห์ความต้องการซอฟต์แวร์พร้อมตัวอย่าง

⚡ สรุปอย่างชาญฉลาด

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

  • 📐 ประเภทของข้อกำหนด: ข้อกำหนดทางธุรกิจ สถาปัตยกรรมและการออกแบบ และระบบและการบูรณาการ constitute เป็นสามระดับที่กำหนดโครงสร้างของข้อกำหนดซอฟต์แวร์ทุกฉบับ
  • 🔀 แบบใช้งานได้ กับ แบบใช้งานไม่ได้: ข้อความเชิงฟังก์ชันอธิบายว่าระบบต้องทำอะไร ในขณะที่ข้อความที่ไม่ใช่เชิงฟังก์ชันกำหนดเป้าหมายด้านประสิทธิภาพ ความปลอดภัย และความสามารถในการใช้งานที่สามารถวัดได้
  • 📚 แหล่งข้อมูลอื่น: หากไม่มีเอกสารสรุปอย่างเป็นทางการ ข้อมูลจากเพื่อนร่วมงาน เวอร์ชันก่อนหน้า เอกสารข้อกำหนดเก่า รายงานข้อผิดพลาด และคู่มือการติดตั้ง จะเป็นแหล่งข้อมูลที่ใช้ในการระบุข้อกำหนดได้
  • คุณลักษณะด้านคุณภาพ: Atomic, ระบุได้อย่างเฉพาะเจาะจง, ครบถ้วน, สอดคล้องกัน, tracสามารถใช้งานได้ จัดลำดับความสำคัญ และทดสอบได้ คือคุณลักษณะเจ็ดประการที่ข้อกำหนดทุกข้อต้องมี
  • 🔗 จบสิ้น Tracความสามารถ: ข้อกำหนดทางธุรกิจจะถูกเชื่อมโยงไปยังการออกแบบ การออกแบบจะถูกเชื่อมโยงไปยังการเขียนโค้ด และการเขียนโค้ดจะถูกเชื่อมโยงไปยังกรณีทดสอบ เพื่อให้ขอบเขตและความครอบคลุมยังคงมองเห็นได้ตลอดทั้งโครงการ
  • 🎯 ถ้อยคำที่สามารถทดสอบได้: แทนที่คำที่ไม่ชัดเจน เช่น "แต่ละหน้า" และ "เวลาที่ยอมรับได้" ด้วยชื่อหน้าและเป้าหมายที่วัดผลได้ เช่น 5 วินาที

การวิเคราะห์ความต้องการซอฟต์แวร์

ข้อกำหนดด้านซอฟต์แวร์ คือ ความต้องการด้านฟังก์ชันการทำงานหรือไม่ใช่ฟังก์ชันการทำงาน ที่ต้องได้รับการนำไปใช้ในระบบ ฟังก์ชันการทำงานหมายถึง การให้บริการเฉพาะอย่างแก่ผู้ใช้

ตัวอย่างเช่น ในบริบทของแอปพลิเคชันด้านการธนาคาร ข้อกำหนดด้านฟังก์ชันการทำงานคือ เมื่อลูกค้าเลือก “ดูยอดคงเหลือ” พวกเขาควรจะสามารถดูยอดคงเหลือล่าสุดในบัญชีของตนได้

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

โดยพื้นฐานแล้ว ความต้องการซอฟต์แวร์คือก

  • ใช้งานได้หรือ
  • ไม่ทำงาน

จำเป็นต้อง ที่จะต้องนำไปปฏิบัติในระบบ โดยทั่วไปแล้ว ข้อกำหนดของซอฟต์แวร์จะถูกแสดงออกมาในรูปแบบของข้อความ

ประเภทของข้อกำหนด

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

ประเทศ บริษัทที่ให้บริการฟังก์ชันหรือบริการด้านการธนาคาร
อินเดีย สรุปบัญชีและการโอนเงิน
สาธารณรัฐประชาชนจีน สรุปบัญชีและ Bill การชำระเงิน

Archiข้อกำหนดด้านเทคโนโลยีและการออกแบบข้อกำหนดเหล่านี้มีรายละเอียดมากกว่าข้อกำหนดทางธุรกิจและเป็นตัวขับเคลื่อนสถาปัตยกรรมของโซลูชัน โดยจะกำหนดการออกแบบโดยรวมที่จำเป็นต่อการดำเนินการตามข้อกำหนดทางธุรกิจ สำหรับองค์กรทางการศึกษา กรณีการใช้งานด้านสถาปัตยกรรมและการออกแบบทั่วไป ได้แก่ การเข้าสู่ระบบ รายละเอียดหลักสูตร และการลงทะเบียน ข้อกำหนดจะเป็นดังที่แสดงด้านล่าง

กรณีการใช้งานของธนาคาร ความต้องการ
Bill การชำระเงิน กรณีการใช้งานนี้จะอธิบายวิธีที่ลูกค้าสามารถเข้าสู่ระบบ net banking และใช้งานได้อย่างไร Bill ระบบการชำระเงิน ลูกค้าสามารถดูแดชบอร์ดแสดงรายการบิลค้างชำระจากผู้ให้บริการที่ลงทะเบียนไว้ ลูกค้าสามารถเพิ่ม แก้ไข และลบรายละเอียดผู้ให้บริการได้ ลูกค้าสามารถตั้งค่าการแจ้งเตือนทาง SMS และอีเมลสำหรับการดำเนินการเรียกเก็บเงินต่างๆ ลูกค้าสามารถดูประวัติบิลที่ชำระแล้วได้ ผู้ใช้งานกรณีนี้คือลูกค้าธนาคารหรือเจ้าหน้าที่ฝ่ายสนับสนุน

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

Bill การชำระเงิน ข้อกำหนด
เพิ่ม BillERS ชื่อผู้ให้บริการสาธารณูปโภค, ความสัมพันธ์ หมายเลขลูกค้า, การชำระเงินอัตโนมัติ – ใช่/ไม่ใช่, ชำระทั้งหมด Bill – ใช่/ไม่ใช่, วงเงินการชำระเงินอัตโนมัติ – อย่าชำระเงินหาก Bill เกินจำนวนที่กำหนด

บางครั้งสำหรับโครงการหนึ่งๆ คุณอาจไม่ได้รับข้อกำหนดหรือเอกสารใดๆ ให้ใช้ในการทำงาน ถึงกระนั้นก็ยังมีแหล่งข้อมูลข้อกำหนดอื่นๆ ที่คุณสามารถใช้เป็นพื้นฐานในการออกแบบซอฟต์แวร์หรือการทดสอบได้ แหล่งข้อมูลข้อกำหนดอื่นๆ ที่คุณสามารถใช้เป็นพื้นฐานได้นั้นแสดงไว้ด้านล่างนี้

แหล่งที่มาของข้อกำหนดอื่น ๆ

  • การถ่ายทอดความรู้จากเพื่อนร่วมงานหรือพนักงานที่ทำงานในโครงการนั้นอยู่แล้ว
  • หารือเกี่ยวกับโครงการกับนักวิเคราะห์ธุรกิจ ผู้จัดการผลิตภัณฑ์ หัวหน้าโครงการ และนักพัฒนา
  • วิเคราะห์ระบบเวอร์ชันก่อนหน้าที่เคยใช้งานมาแล้ว
  • วิเคราะห์เอกสารข้อกำหนดเก่าจากโครงการ
  • Revตรวจสอบรายงานข้อผิดพลาดในอดีต; รายงานข้อผิดพลาดบางส่วนจะถูกแปลงเป็นคำขอปรับปรุงซึ่งอาจได้รับการนำไปใช้ในเวอร์ชันปัจจุบัน
  • โปรดตรวจสอบคู่มือการติดตั้ง (หากมี) เพื่อดูว่าจำเป็นต้องติดตั้งอะไรบ้าง
  • วิเคราะห์ความรู้เฉพาะด้านหรืออุตสาหกรรมที่ทีมพยายามนำไปใช้

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

วิธีการวิเคราะห์ข้อกำหนด

ลองพิจารณาตัวอย่างระบบซอฟต์แวร์ทางการศึกษาที่นักเรียนสามารถลงทะเบียนเรียนในหลักสูตรต่างๆ ได้

เรามาศึกษาถึงวิธีการวิเคราะห์ข้อกำหนดกัน ข้อกำหนดแต่ละข้อต้องมีคุณลักษณะคุณภาพมาตรฐานชุดหนึ่ง ซึ่งประกอบด้วยสิ่งต่อไปนี้:

  • Atomic
  • มีเอกลักษณ์เฉพาะตัว
  • สมบูรณ์
  • สม่ำเสมอและไม่คลุมเครือ
  • Tracอีเบิล
  • จัดลำดับความสำคัญ
  • ทดสอบได้

วิเคราะห์ข้อกำหนด

ตารางต่อไปนี้แสดงคุณลักษณะแต่ละอย่างโดยมีสามคอลัมน์:

  1. คอลัมน์แรกระบุ- “คุณภาพความต้องการ”
  2. คอลัมน์ที่สองระบุว่า- “ข้อกำหนดที่ไม่ดีและมีปัญหาบางอย่าง”
  3. คอลัมน์ที่สามแสดงให้เห็นข้อกำหนดเดียวกันนั้น “ที่ถูกแปลงเป็นข้อกำหนดที่ดี”
คุณภาพความต้องการ ตัวอย่างความต้องการที่ไม่ดี ตัวอย่างความต้องการที่ดี
Atomic นักศึกษาจะสามารถลงทะเบียนเรียนหลักสูตรระดับปริญญาตรีและสูงกว่าปริญญาตรีได้ นักศึกษาจะสามารถลงทะเบียนเรียนในหลักสูตรระดับปริญญาตรีได้ นักศึกษาจะสามารถลงทะเบียนเรียนในหลักสูตรระดับบัณฑิตศึกษาได้
มีเอกลักษณ์เฉพาะตัว 1. นักศึกษาจะสามารถลงทะเบียนเรียนในหลักสูตรระดับปริญญาตรีได้ 1. นักศึกษาจะสามารถลงทะเบียนเรียนในหลักสูตรระดับบัณฑิตศึกษาได้ การลงทะเบียนเรียน นักศึกษาจะสามารถลงทะเบียนเรียนในหลักสูตรระดับปริญญาตรีได้ นักศึกษาจะสามารถลงทะเบียนเรียนในหลักสูตรระดับบัณฑิตศึกษาได้
สมบูรณ์ ผู้ใช้ที่เป็นศาสตราจารย์จะเข้าสู่ระบบโดยระบุชื่อผู้ใช้ รหัสผ่าน และข้อมูลอื่นๆ ที่เกี่ยวข้อง ผู้ใช้ที่เป็นศาสตราจารย์จะเข้าสู่ระบบโดยระบุชื่อผู้ใช้ รหัสผ่าน และรหัสแผนก
สม่ำเสมอและไม่คลุมเครือ นักศึกษาจะต้องเรียนหลักสูตรระดับปริญญาตรีหรือสูงกว่าปริญญาตรี แต่ไม่ใช่ทั้งสองหลักสูตร บางหลักสูตรจะเปิดรับทั้งระดับปริญญาตรีและสูงกว่าปริญญาตรี นักศึกษาจะสำเร็จการศึกษาระดับปริญญาตรีหรือสูงกว่าปริญญาตรี แต่ไม่ใช่ทั้งสองอย่าง
Tracอีเบิล รักษาข้อมูลนักเรียนที่แมปกับ BRD req.ID หรือไม่ รักษาข้อมูลนักเรียน - แมปกับ BRD req ID 4.1
จัดลำดับความสำคัญ นักศึกษาที่ลงทะเบียนแล้ว - ลำดับความสำคัญ 1 แก้ไขข้อมูลผู้ใช้ - ลำดับความสำคัญ 1 ลงทะเบียนเรียน - ลำดับความสำคัญ 1 ดูรายงานผลการเรียน - ลำดับความสำคัญ 1 ลงทะเบียนนักเรียน - ลำดับความสำคัญ 1 แก้ไขข้อมูลผู้ใช้ - ลำดับความสำคัญ 2 ลงทะเบียนเรียน - ลำดับความสำคัญ 1 ดูรายงานผลการเรียน - ลำดับความสำคัญ 3
ทดสอบได้ แต่ละหน้าของระบบจะโหลดในกรอบเวลาที่ยอมรับได้ ลงทะเบียนนักศึกษาและลงทะเบียนหลักสูตรหน้าระบบจะโหลดภายใน 5 วินาที

เรามาทำความเข้าใจคุณลักษณะแต่ละอย่างให้ละเอียดยิ่งขึ้น โดยเริ่มจาก... Atomเข้าใจแล้ว.

Atomic

Atomic

ข้อกำหนดทุกข้อควรเป็นข้อกำหนดพื้นฐาน หมายความว่าต้องมีรายละเอียดน้อยที่สุดและไม่สามารถแบ่งย่อยออกเป็นส่วนประกอบได้อีก ตัวอย่างต่อไปนี้เปรียบเทียบข้อกำหนดพื้นฐานและข้อกำหนดที่ไม่ใช่พื้นฐาน

จากตัวอย่างระบบการศึกษา: ในที่นี้ ข้อกำหนดที่ไม่ดีคือ “นักเรียนจะสามารถลงทะเบียนเรียนหลักสูตรระดับปริญญาตรีและปริญญาโทได้” นี่เป็นข้อกำหนดที่ไม่ดีเพราะมันไม่เป็นอิสระ — มันรวมสองสิ่งที่ไม่เหมือนกันเข้าด้วยกัน คือหลักสูตรระดับปริญญาตรีและปริญญาโท ข้อกำหนดที่ดีที่สอดคล้องกันจะแยกมันออกเป็นสองข้อกำหนด ข้อกำหนดหนึ่งครอบคลุมการลงทะเบียนเรียนในหลักสูตรระดับปริญญาตรี และอีกข้อกำหนดหนึ่งครอบคลุมการลงทะเบียนเรียนในหลักสูตรปริญญาโท

มีเอกลักษณ์เฉพาะตัว

มีเอกลักษณ์เฉพาะตัว

คุณลักษณะด้านคุณภาพถัดไปคือการระบุตัวตนที่ไม่ซ้ำกัน ในตัวอย่างที่ไม่ดี ข้อกำหนดสองข้อที่แยกจากกันใช้รหัสเดียวกันคือ ID#1 หากทีมอ้างอิงถึงข้อกำหนดโดยใช้รหัส จะทำให้ไม่ชัดเจนว่าหมายถึงข้อกำหนดใดในสองข้อนั้น ข้อกำหนดที่ดีจะจัดกลุ่มข้อกำหนดเหล่านั้นใหม่ภายใต้หัวข้อที่ 1 — การลงทะเบียนเรียน โดยมีข้อกำหนดย่อย 1.1 (การลงทะเบียนเรียนหลักสูตรระดับปริญญาตรี) และ 1.2 (การลงทะเบียนเรียนหลักสูตรระดับบัณฑิตศึกษา)

สมบูรณ์

สมบูรณ์

ข้อกำหนดทุกข้อควรครบถ้วนสมบูรณ์ ตัวอย่างเช่น ข้อกำหนดที่ไม่ดีระบุว่า “อาจารย์จะเข้าสู่ระบบโดยระบุชื่อผู้ใช้ รหัสผ่าน และข้อมูลอื่นๆ ที่เกี่ยวข้อง” คำว่า “ข้อมูลอื่นๆ ที่เกี่ยวข้อง” นั้นคลุมเครือ ข้อกำหนดที่ครบถ้วนจะต้องระบุช่องข้อมูลที่ชัดเจน เช่น รหัสแผนก ที่อาจารย์ต้องระบุ

สม่ำเสมอและไม่คลุมเครือ

สม่ำเสมอและไม่คลุมเครือ

ข้อกำหนดทุกข้อควรสอดคล้องกันและไม่คลุมเครือ ในตัวอย่างที่ไม่ดีนั้น ข้อกำหนดหนึ่งระบุว่า “นักศึกษาจะต้องเรียนหลักสูตรระดับปริญญาตรีหรือหลักสูตรระดับบัณฑิตศึกษาอย่างใดอย่างหนึ่ง แต่ไม่ใช่ทั้งสองอย่าง” ในขณะที่อีกข้อกำหนดหนึ่งระบุว่า “บางหลักสูตรจะเปิดให้ทั้งนักศึกษาระดับปริญญาตรีและบัณฑิตศึกษาลงทะเบียนเรียนได้”

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

ข้อกำหนดที่ดีช่วยแก้ไขความขัดแย้งโดยระบุอย่างชัดเจนว่าทุกหลักสูตรจะถูกจัดเป็นหลักสูตรระดับปริญญาตรีหรือระดับบัณฑิตศึกษา และนักศึกษาจะสามารถลงทะเบียนเรียนได้เพียงหลักสูตรในหมวดหมู่ใดหมวดหมู่หนึ่งเท่านั้น

Tracอีเบิล

Tracอีเบิล

ข้อกำหนดทุกข้อจะต้องเป็นไปตามนี้ tracเป็นไปได้เพราะข้อกำหนดมีอยู่หลายระดับ ได้แก่ ระดับธุรกิจ สถาปัตยกรรมและการออกแบบ และระบบและการบูรณาการ

เมื่อคุณแปลงข้อกำหนดทางธุรกิจให้เป็นข้อกำหนดด้านสถาปัตยกรรมและการออกแบบ หรือแปลงข้อกำหนดด้านสถาปัตยกรรมและการออกแบบให้เป็นข้อกำหนดด้านระบบและการบูรณาการ tracต้องรักษาความสามารถในการใช้งานเอาไว้ ข้อกำหนดทางธุรกิจทุกข้อควรเชื่อมโยงกับข้อกำหนดด้านสถาปัตยกรรมและการออกแบบอย่างน้อยหนึ่งข้อ ในตัวอย่างที่ไม่ดี “การบำรุงรักษาข้อมูลนักเรียน – เชื่อมโยงกับรหัสข้อกำหนด BRD หรือไม่?” รหัสข้อกำหนดหายไป

ข้อกำหนดที่ดีจะบันทึกข้อความเดียวกัน แต่เชื่อมโยงอย่างชัดเจนกับข้อกำหนด BRD หมายเลข 4.1 ทุกข้อกำหนดต้องมี tracแผนที่ความสามารถpingข้อกำหนดของระบบและการบูรณาการควรสอดคล้องกับโค้ดที่นำไปใช้งานและกรณีทดสอบที่ใช้ตรวจสอบข้อกำหนดเหล่านั้นด้วย

Tracดังนั้น eability จึงครอบคลุมตั้งแต่ต้นจนจบของโครงการ

จัดลำดับความสำคัญ

ทุกข้อกำหนดต้องได้รับการจัดลำดับความสำคัญ เพื่อให้ทีมรู้ว่าควรดำเนินการอะไรก่อน และอะไรที่สามารถรอได้ ในตัวอย่างที่ไม่ดี การลงทะเบียนนักเรียน การแก้ไขข้อมูลผู้ใช้ การลงทะเบียนเรียน และการดูรายงานผลการเรียน ล้วนถูกกำหนดให้มีลำดับความสำคัญที่ 1 แต่ทุกอย่างไม่สามารถมีลำดับความสำคัญที่ 1 ได้ ดังนั้นข้อกำหนดจึงต้องได้รับการจัดลำดับอย่างสมจริง ตัวอย่างที่ดีกำหนดให้การลงทะเบียนนักเรียนและการลงทะเบียนเรียนมีลำดับความสำคัญสูงสุดที่ 1 การแก้ไขข้อมูลผู้ใช้มีลำดับความสำคัญที่ 2 และการดูรายงานผลการเรียนมีลำดับความสำคัญที่ 3

ทดสอบได้

ข้อกำหนดทุกข้อควรทดสอบได้ ตัวอย่างที่ไม่ดี เช่น “แต่ละหน้าของระบบจะโหลดเสร็จภายในระยะเวลาที่ยอมรับได้” นั้นทดสอบไม่ได้ด้วยเหตุผลสองประการ ประการแรก “แต่ละหน้า” อาจหมายถึงหลายสิบหน้า ซึ่งจะทำให้ความพยายามในการทดสอบเพิ่มขึ้นอย่างมาก ประการที่สอง “ระยะเวลาที่ยอมรับได้” นั้นไม่มีการกำหนด – ยอมรับได้สำหรับใคร และเทียบกับเกณฑ์มาตรฐานใด ข้อกำหนดที่ดีจะแก้ไขปัญหาทั้งสองข้อโดยการระบุชื่อหน้าเฉพาะ (“หน้าลงทะเบียนนักศึกษาและหน้าลงทะเบียนเรียน”) และกำหนดเป้าหมายที่วัดได้ที่ 5 วินาที

คำถามที่พบบ่อย

เครื่องมือ AI จะจัดกลุ่มความคิดเห็นจากผู้มีส่วนได้ส่วนเสีย ระบุภาษาที่ไม่ชัดเจน และตรวจจับข้อกำหนดที่ซ้ำซ้อนหรือขาดหายไปในชุดข้อมูลขนาดใหญ่ นักวิเคราะห์ธุรกิจยังคงตรวจสอบข้อเสนอแนะแต่ละข้อกับบันทึกการรวบรวมความคิดเห็นก่อนที่จะรวมเข้าในชุดข้อกำหนดที่ได้รับการอนุมัติ

GitHub Copilot และ GPT ร่างเรื่องราวของผู้ใช้ เกณฑ์การยอมรับ และกฎทางธุรกิจจากข้อความแจ้งสั้นๆ นักวิเคราะห์ธุรกิจจะตรวจสอบผลลัพธ์แต่ละรายการตามคุณลักษณะด้านคุณภาพ เช่น ความเป็นอะตอมิก การทดสอบได้ และอื่นๆ tracต้องตรวจสอบก่อนที่จะได้รับการอนุมัติให้เป็นข้อกำหนด

เอกสารข้อกำหนดซอฟต์แวร์ (Software Requirements Specification หรือ SRS) เป็นเอกสารที่เป็นทางการซึ่งระบุข้อกำหนดด้านฟังก์ชันการทำงาน ข้อกำหนดที่ไม่ใช่ฟังก์ชันการทำงาน อินเทอร์เฟซ และข้อจำกัดของระบบ มาตรฐาน IEEE 830 และ ISO 29148 เป็นมาตรฐานที่ทีมส่วนใหญ่ใช้ในการเขียน SRS

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

ใช้เทคนิคต่างๆ เช่น MoSCoW (ต้องทำ ควรทำ อาจทำได้ และน่าจะทำได้) การวิเคราะห์ Kano การให้คะแนนแบบถ่วงน้ำหนัก หรือต้นทุนของการล่าช้า ผสมผสานคุณค่าทางธุรกิจกับความพยายามในการส่งมอบและความเสี่ยง จากนั้นตกลงลำดับกับผู้สนับสนุนและเจ้าของผลิตภัณฑ์ก่อนเริ่มการพัฒนา

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

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

เครื่องมือยอดนิยม ได้แก่ Jama Connect IBM ประตู Modern Requirements สำหรับ Azure DevOps, Jira พร้อมด้วย Xrayรวมถึง Visure Requirements ALM และ Blueprint ทีมต่างๆ เลือกแพลตฟอร์มโดยพิจารณาจากความต้องการด้านกฎระเบียบ ขนาดทีม และความลึกของเนื้อหา tracต้องมีคุณสมบัติตามที่กำหนด

สรุปโพสต์นี้ด้วย: