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

ข้อกำหนดการพัฒนาซอฟต์แวร์หมายถึงชุดของลักษณะเฉพาะ วัดได้ และทดสอบได้ที่ระบบซอฟต์แวร์ต้องมีเพื่อตรงตามความต้องการของผู้ใช้ ตามนิยามใน IEEE Standard Glossary of Software Engineering Terminology (อ้างอิง: https://standards.ieee.org/ieee/729/967/) ข้อกำหนดคือ:
- เงื่อนไขหรือความสามารถที่ผู้ใช้ต้องการเพื่อแก้ไขปัญหาหรือบรรลุวัตถุประสงค์
- เงื่อนไขหรือความสามารถที่ระบบหรือส่วนประกอบของระบบต้องมีเพื่อให้สอดคล้องกับสัญญา มาตรฐาน ข้อกำหนด หรือเอกสารที่มีการบังคับใช้อย่างเป็นทางการอื่นๆ
- การแสดงข้อมูลที่มีเอกสารของเงื่อนไขหรือความสามารถดังในข้อ 1 หรือ 2
ข้อกำหนดทำหน้าที่เป็นรากฐานของการพัฒนาซอฟต์แวร์ และเป็นพื้นฐานสำหรับการกำหนดและยืนยันฟังก์ชันการทำงานของซอฟต์แวร์ ข้อกำหนดยังให้ความคิดเห็นแนวทางสำหรับการพัฒนาซอฟต์แวร์ ซึ่งชี้นำกระบวนการพัฒนาและรับประกันว่าระบบซอฟต์แวร์ตรงตามวัตถุประสงค์ที่ตั้งใจไว้ นอกจากนี้ยังทำหน้าที่เป็นจุดอ้างอิงเพื่อการสื่อสารกับผู้มีส่วนได้ส่วนเสีย – ลูกค้า ผู้ใช้ปลายทาง และวิศวกรซอฟต์แวร์
ด้วยการกำหนดนิยามข้อกำหนดการพัฒนาซอฟต์แวร์อย่างชัดเจน ผู้มีส่วนได้ส่วนเสียสามารถรับประกันได้ว่าพวกเขามีความเข้าใจทั่วไปว่าระบบซอฟต์แวร์ควรทำอะไรและมีประสิทธิภาพเพียงใด สิ่งนี้มีความสำคัญเนื่องจากช่วยลดความเสี่ยงของการเข้าใจผิด ซึ่งอาจนำไปสู่ความล่าช้า การเพิ่มต้นทุน และความไม่พึงพอใจต่อผลิตภัณฑ์ขั้นสุดท้าย
ประเภทของข้อกำหนดการพัฒนาซอฟต์แวร์มีอะไรบ้าง
ข้อกำหนดการพัฒนาซอฟต์แวร์มักถูกจำแนกออกเป็นสองประเภท: ข้อกำหนดการทำงาน และข้อกำหนดที่ไม่ใช่การทำงาน

ข้อกำหนดการทำงาน
ข้อกำหนดการทำงานอธิบายว่าระบบซอฟต์แวร์และส่วนประกอบของมันควรทำอะไร ข้อกำหนดเหล่านี้ระบุฟังก์ชันการทำงานที่ซอฟต์แวร์ต้องให้พร้อมกับอินพุตและผลลัพธ์ที่คาดไว้สำหรับแต่ละฟังก์ชัน ตัวอย่างเช่น ข้อกำหนดการทำงานสำหรับเว็บไซต์อีคอมเมิร์สอาจระบุว่าเว็บไซต์ต้องอนุญาตให้ผู้ใช้ดูและซื้อผลิตภัณฑ์
ข้อกำหนดการทำงานสามารถเกี่ยวข้องกับการคำนวณ การจัดการข้อมูล การประมวลผลข้อมูล รวมถึงฟังก์ชันเฉพาะอื่นๆ ที่กำหนดสิ่งที่ซอฟต์แวร์ควรบรรลุ แผนสำหรับการนำข้อกำหนดการทำงานไปใช้งานมีรายละเอียดในการออกแบบระบบ
ข้อกำหนดการทำงานมักแสดงอยู่ในรูปของกรณีการใช้งาน ซึ่งอธิบายว่าผู้ใช้โต้ตอบกับระบบซอฟต์แวร์อย่างไร ตัวอย่างเช่น กรณีการใช้งานสำหรับเว็บไซต์อีคอมเมิร์สอาจอธิบายขั้นตอนของผู้ใช้ในการดูและซื้อผลิตภัณฑ์ ด้วยการแสดงข้อกำหนดการทำงานเป็นกรณีการใช้งาน วิศวกรซอฟต์แวร์สามารถรับประกันได้ว่าพวกเขาเข้าใจอย่างชัดเจนว่าผู้ใช้ปลายทางจะใช้ระบบซอฟต์แวร์อย่างไร
ข้อกำหนดที่ไม่ใช่การทำงาน
ข้อกำหนดที่ไม่ใช่การทำงานอธิบายว่าระบบซอฟต์แวร์ควรมีประสิทธิภาพอย่างไร มากกว่าพฤติกรรมเฉพาะของมัน ข้อกำหนดเหล่านี้ระบุคุณลักษณะด้านคุณภาพของระบบซอฟต์แวร์ เช่น ประสิทธิภาพ ความปลอดภัย ความสามารถในการใช้งาน และความเชื่อถือได้ ตัวอย่างเช่น ข้อกำหนดที่ไม่ใช่การทำงานสำหรับเว็บไซต์อีคอมเมิร์สอาจระบุว่าเว็บไซต์ต้องมีความพร้อมใช้งาน 99.9%
เนื่องจากข้อกำหนดการทำงานกำหนดสิ่งที่ซอฟต์แวร์ควรทำ ข้อกำหนดที่ไม่ใช่การทำงานกำหนดว่าสิ่งนั้นควรเป็นอย่างไร มากกว่ากรณีการใช้งานเฉพาะ ข้อกำหนดที่ไม่ใช่การทำงานกำหนดคุณสมบัติโดยรวมของระบบ ซึ่งทำให้เกิดความแตกต่างระหว่างความสำเร็จหรือความล้มเหลวในการพัฒนา
ข้อกำหนดที่ไม่ใช่การทำงานแสดงออกมาในรูปของข้อจำกัดหรือเกณฑ์ประสิทธิภาพสำหรับระบบซอฟต์แวร์ ตัวอย่างเช่น ข้อกำหนดประสิทธิภาพสำหรับเว็บไซต์อีคอมเมิร์สอาจระบุเวลาตอบสนองสูงสุดสำหรับผู้ใช้ที่จะดูและซื้อผลิตภัณฑ์ ด้วยการแสดงข้อกำหนดที่ไม่ใช่การทำงานเกี่ยวกับข้อจำกัดและเกณฑ์ประสิทธิภาพ วิศวกรซอฟต์แวร์สามารถรับประกันได้ว่าระบบซอฟต์แวร์ตรงตามคุณลักษณะด้านคุณภาพที่ต้องการ
คู่มือทีละขั้นตอนสำหรับการสร้างข้อกำหนดการพัฒนาซอฟต์แวร์
ในขณะที่พัฒนาข้อกำหนดซอฟต์แวร์ คุณต้องผ่านห้าขั้นตอน – การหาข้อมูล การวิเคราะห์ การเขียนข้อกำหนด การตรวจสอบความถูกต้อง และการบริหารจัดการ ส่วนนี้จะแนวทางคุณผ่านขั้นตอนเหล่านี้พร้อมกับคำจำกัดความและแนวปฏิบัติมาตรฐานเมื่อดำเนินการงานเหล่านี้

การหาข้อมูล
ขั้นตอนแรกในการสร้างข้อกำหนดซอฟต์แวร์คือการหาข้อมูลข้อกำหนด แม้ว่าบางครั้งจะเรียกว่า “การรวบรวมข้อมูลข้อกำหนด” คำว่า “การหาข้อมูล” เน้นว่าข้อกำหนดที่ดีไม่สามารถได้รับจากลูกค้าและผู้ใช้อย่างง่ายๆ โดยการถามพวกเขาว่าซอฟต์แวร์ควรและไม่ควรทำอะไร ข้อกำหนดสามารถมาจากแหล่งต่างๆ มากมายคือ:
- ผู้มีส่วนได้ส่วนเสีย (ลูกค้า ผู้ใช้ปลายทาง นักพัฒนา)
- เป้าหมายทางธุรกิจ
- สภาพแวดล้อมการทำงาน
สิ่งที่คุณต้องการทำในขั้นตอนการหาข้อมูลคือการมีการอภิปรายอย่างละเอียดกับผู้มีส่วนได้ส่วนเสีย เช่น ลูกค้า ผู้ใช้ปลายทาง และผู้เชี่ยวชาญในหัวข้อ ผ่านการสัมภาษณ์ แบบสอบถาม การระดมสมองและอื่นๆ ตัวอย่างเช่น การประชุมครั้งแรกระหว่างนักพัฒนาซอฟต์แวร์และลูกค้า เป็นที่พึงปรารถนาในขั้นตอนนี้ของโครงการ สิ่งสำคัญคือคุณต้องจัดการมุมมองของผู้มีส่วนได้ส่วนเสียที่แตกต่างกันให้ดี เนื่องจากข้อกำหนดการพัฒนาซอฟต์แวร์ของพวกเขาอาจทับซ้อนกันหรือขัดแย้งกัน
การหาข้อมูลยังอาจเกี่ยวข้องกับการตรวจสอบเอกสารข้อกำหนดที่มีอยู่และการระบุข้อกำหนดใหม่ตามการเปลี่ยนแปลงในสภาพแวดล้อมหรือเทคโนโลยี ขอแนะนำให้คุณให้ความสนใจเพิ่มเติมต่อเป้าหมายของโครงการสำหรับข้อกำหนด รวมถึงสภาพแวดล้อมการทำงานของบริษัทของลูกค้า ข้อกำหนดของคุณไม่ควรนำเสนอการเปลี่ยนแปลงที่สำคัญต่อระบบที่มีอยู่แล้ว หากมีการเปลี่ยนแปลงเลย
เป้าหมายโดยรวมของขั้นตอนการหาข้อมูลคือการรวบรวมข้อมูลเกี่ยวกับระบบซอฟต์แวร์ รวมถึงเป้าหมายและวัตถุประสงค์ของผู้มีส่วนได้ส่วนเสีย กรณีการใช้งานที่ระบบซอฟต์แวร์จะสนับสนุน และคุณลักษณะด้านคุณภาพที่ระบบซอฟต์แวร์ต้องมี ข้อมูลนี้ใช้เพื่อสร้างรายการข้อกำหนดที่ครอบคลุมซึ่งจะชี้นำการพัฒนาเพิ่มเติมของระบบซอฟต์แวร์
การวิเคราะห์
การวิเคราะห์เกี่ยวข้องกับการตรวจสอบและปรับปรุงข้อกำหนดการพัฒนาซอฟต์แวร์ที่รวบรวมระหว่างขั้นตอนการหาข้อมูล สิ่งนี้อาจเกี่ยวข้องกับการจัดกลุ่มข้อกำหนดที่คล้ายคลึงกัน การกำจัดข้อกำหนดที่ซ้ำซ้อนหรือขัดแย้งกัน และการจัดลำดับความสำคัญของข้อกำหนดตามความสำคัญของพวกเขาต่อผู้มีส่วนได้ส่วนเสีย
ระหว่างการวิเคราะห์ มีความจำเป็นว่าคุณต้องระบุผู้มีส่วนได้ส่วนเสียที่เกี่ยวข้องในโครงการ ด้วยการระบุผู้เกี่ยวข้องอย่างถูกต้อง จะทำให้ง่ายต่อการกำหนดและจัดลำดับความสำคัญของข้อกำหนดการพัฒนาซอฟต์แวร์
เพื่อปรับปรุงกระบวนการพัฒนาซอฟต์แวร์ ข้อกำหนดจะถูกวิเคราะห์และจำแนกออกเป็นกลุ่มที่มีวัตถุประสงค์เดียวกัน สิ่งนี้ช่วยให้นักพัฒนามีความเข้าใจและภาพรวมของผลิตภัณฑ์ที่ดีขึ้น เพื่อให้พวกเขาสามารถพยายามให้ความพึงพอใจต่อข้อกำหนด ด้านล่างนี้เป็นหมวดหมู่ทั่วไปบางส่วนสำหรับข้อกำหนดการพัฒนาซอฟต์แวร์
| หมวดหมู่ | นิยาม |
| ข้อกำหนดทางธุรกิจ | ข้อกำหนดการพัฒนาซอฟต์แวร์เหล่านี้มีความเกี่ยวข้องน้อยที่สุดกับการพัฒนาที่แท้จริง พวกเขามีอยู่เป็นคำชี้แจงเป้าหมายธุรกิจและส่วนใหญ่เป็นความสามารถระดับสูงที่จำเป็นเพื่อบรรลุผลลัพธ์ทางธุรกิจที่ต้องการ |
| ข้อกำหนดของลูกค้า | ข้อกำหนดของลูกค้ากำหนดความคาดหวังของลูกค้าเกี่ยวกับการใช้ผลิตภัณฑ์ซอฟต์แวร์ ข้อกำหนดเหล่านี้ควรตอบคำถามต่อไปนี้: ผลิตภัณฑ์จะถูกใช้ที่ไหน? ผลิตภัณฑ์จะบรรลุวัตถุประสงค์ของมันได้อย่างไร? สามารถใช้อะไรเพื่อวัดประสิทธิภาพของมันได้บ้าง? ส่วนประกอบของมันจะถูกใช้อย่างไร? ผลิตภัณฑ์มีประสิทธิภาพแค่ไหน? ผลิตภัณฑ์จะถูกใช้นานแค่ไหน? |
| ข้อกำหนดสถาปัตยกรรม | ข้อกำหนดด้านสถาปัตยกรรมเน้นลักษณะด้านสถาปัตยกรรมของระบบที่ต้องรวมอยู่ในโครงการซอฟต์แวร์ |
| ข้อกำหนดด้านประสิทธิภาพ | ข้อกำหนดด้านประสิทธิภาพวัดว่าผลิตภัณฑ์ซอฟต์แวร์ทำงานและปฏิบัติภารกิจของมันได้ดีเพียงใด |
การวิเคราะห์รับประกันว่าข้อกำหนดการพัฒนาซอฟต์แวร์นั้นชัดเจน สมบูรณ์ และสอดคล้องกัน สิ่งนี้สามารถทำได้โดยการสร้างเป้าหมายที่วัดได้: การปฏิบัติต่อข้อกำหนดการพัฒนาซอฟต์แวร์เป็นเงื่อนไขเพื่อค้นหาวัตถุประสงค์ที่แท้จริงของโครงการ และการถามคำถามต่อเนื่อง “ทำไมเราต้องทำเช่นนี้?” เพื่อสร้างรายการของเป้าหมายที่มีการกำหนดไว้อย่างดี สิ่งนี้มีความสำคัญเพราะเป้าหมายที่มีการกำหนดไว้อย่างดีนั้นจำเป็นเพื่อชี้นำกระบวนการพัฒนาและเพื่อให้แน่ใจว่าระบบซอฟต์แวร์ตรงตามความต้องการของผู้ใช้
การเขียนข้อกำหนด
หลังจากการรวบรวมและวิเคราะห์ข้อกำหนดการพัฒนาซอฟต์แวร์ คุณจะต้องจดบันทึกไว้ ขั้นตอนการเขียนข้อกำหนดเกี่ยวข้องกับการจัดทำเอกสารข้อกำหนดการพัฒนาซอฟต์แวร์ เอกสารนี้มักเรียกว่า Software Requirement Specification (SRS) พยายามสร้างรายละเอียดเกี่ยวกับซอฟต์แวร์ที่กำลังพัฒนาในชุดของข้อกำหนดและความต้องการของมัน
SRS เป็นส่วนที่จำเป็นของโครงการพัฒนาใดๆ ภายใน SRS จะกำหนดการประมาณการที่สมจริงของขนาด ต้นทุน ความเสี่ยง และตารางเวลาของโครงการซอฟต์แวร์ ไม่อาจกล่าวว่ามากเกินไปที่ความสำเร็จของโครงการซอฟต์แวร์นั้นขึ้นอยู่กับเอกสาร SRS ที่มีการกำหนดและจัดระเบียบอย่างดี
SRS ควรเขียนโดยคนที่มีความรู้ลึกเกี่ยวกับระบบ โดยเหมาะสมที่สุดคือผู้เขียนเทคนิค โปรแกรมเมอร์ซอฟต์แวร์ หรือสถาปนิกระบบที่ทำงานใกล้ชิดกับโครงการ ควรอธิบายข้อกำหนดแต่ละข้ออย่างชัดเจนและกระชับ รวมถึงข้อจำกัดหรือเกณฑ์ประสิทธิภาพที่ใช้ได้ ข้อกำหนดควรรวมข้อมูลเพิ่มเติมที่จำเป็นเพื่อให้เข้าใจข้อกำหนด เช่น แผนผังลำดับขั้น แผนลำดับการไหล หรือต้นแบบ
เป้าหมายของขั้นตอนการเขียนข้อกำหนดคือการให้คำอธิบายที่ชัดเจนและสมบูรณ์ของข้อกำหนดการพัฒนาซอฟต์แวร์ ซึ่งสามารถใช้เพื่อชี้นำกระบวนการพัฒนาและเพื่อให้แน่ใจว่าระบบซอฟต์แวร์ตรงตามความต้องการของผู้ใช้ปลายทาง
การตรวจสอบความถูกต้อง
หลังจากสร้าง SRS แล้ว ก็ถึงเวลาที่จะตรวจสอบความถูกต้องของข้อกำหนดการพัฒนาซอฟต์แวร์ ขั้นตอนการตรวจสอบความถูกต้องเกี่ยวข้องกับการยืนยันว่าข้อกำหนด:
- สามารถนำไปประยุกต์ใช้ในโครงการได้อย่างสมจริง
- มีความถูกต้อง ไม่ควรเป็นเรื่องที่ผิดกฎหมายหรือไม่เป็นไปได้สำหรับโครงการ
- ไม่คลุมเครือ ไม่มีใครควรจะเข้าใจผิดความหมายของข้อกำหนด
- เสร็จสิ้น
- สามารถสาธิตได้
สิ่งนี้อาจเกี่ยวข้องกับการใช้ต้นแบบ การดำเนินการกรณีการใช้งาน การตรวจสอบเอกสารข้อกำหนด หรือการดำเนิน การ เป้าหมายของขั้นตอนการตรวจสอบความถูกต้องคือเพื่อให้แน่ใจว่าข้อกำหนดวิศวกรรมซอฟต์แวร์สะท้อนความต้องการของผู้มีส่วนได้ส่วนเสียอย่างแม่นยำ และว่าระบบซอฟต์แวร์จะตรงตามวัตถุประสงค์ที่ตั้งใจไว้
การบริหารจัดการ
การบริหารจัดการข้อกำหนดการพัฒนาซอฟต์แวร์คือการจัดทำเอกสาร การตรวจสอบ และการตกลงเห็นด้วยกับข้อกำหนดที่จำเป็นสำหรับโครงการซอฟต์แวร์ มากกว่าขั้นตอนแยกต่างหากในไปป์ไลน์การสร้างข้อกำหนด มันจะดำเนินการตลอดกระบวนการ เพื่อให้แน่ใจว่าความต้องการของผู้มีส่วนได้ส่วนเสียของโครงการได้รับการตอบสนอง
การบริหารจัดการข้อกำหนดเกี่ยวข้องกับการบำรุงรักษาและอัปเดตข้อกำหนดวิศวกรรมซอฟต์แวร์เมื่อการพัฒนาซอฟต์แวร์ดำเนินไป สิ่งนี้อาจเกี่ยวข้องกับการเพิ่มข้อกำหนดใหม่ การแก้ไขข้อกำหนดที่มีอยู่ หรือการลบข้อกำหนดที่ไม่เกี่ยวข้องอีกต่อไป นอกจากนี้ยังต้องการการสื่อสารระหว่างผู้มีส่วนได้ส่วนเสีย เพื่อให้การเปลี่ยนแปลงข้อกำหนดใดๆ เป็นที่ทราบของทุกคนที่เกี่ยวข้อง ลดความเสี่ยงของการเข้าใจผิดที่เกี่ยวข้องกับการเปลี่ยนแปลงและการปรับเปลี่ยน
ข้อกำหนดควรถูกทำให้สามารถติดตามได้ – ใครก็ตามควรจะสามารถติดตามที่มาของข้อกำหนดแต่ละข้อและการเปลี่ยนแปลงที่ทำกับมันได้ การบริหารจัดการข้อกำหนดสร้างและบำรุงรักษาความสามารถในการติดตามนี้นานเท่าที่กระบวนการพัฒนาซอฟต์แวร์อยู่
เป็นที่น่าสังเกตว่าการบริหารจัดการไม่ได้สิ้นสุดหลังจากการเผยแพร่ การสังเกตแบบต่อเนื่องและการเพิ่มข้อกำหนดใหม่หลังจากการเผยแพร่ยังมีความสำคัญต่อการบริหารจัดการข้อกำหนด เพื่อให้โครงการซอฟต์แวร์สามารถประสบความสำเร็จที่มากที่สุด
Rikkeisoft – ผู้ให้บริการเทคโนโลยีที่น่าเชื่อถือของคุณ
หากการสร้างข้อกำหนดซอฟต์แวร์ดูเหมือนจะเป็นภาระมากเกินไปสำหรับคุณ คุณสามารถจ้างงานภายนอกการพัฒนาซอฟต์แวร์ของคุณให้กับผู้ให้บริการบุคคลที่สามเช่น Rikkeisoft
Rikkeisoft ก่อตั้งขึ้นในปี 2012 และเป็นบริษัทพัฒนาซอฟต์แวร์ชั้นนำที่ตั้งอยู่ในเวียดนาม เราช่วยให้ธุรกิจสร้างระบบและผลิตภัณฑ์ซอฟต์แวร์ที่ทรงพลังและมีประสิทธิภาพ โดยมีประสบการณ์การพัฒนาซอฟต์แวร์กว่าสิบปีในอุตสาหกรรมต่างๆ กลุ่มลูกค้าหลักของเราคือกลุ่มลูกค้าระหว่างประเทศ และเราพยายามจัดเตรียมบริการ IT ที่มีคุณภาพดีที่สุดสำหรับธุรกิจขนาดเล็ก
ด้วยความเชี่ยวชาญของเรา แนวปฏิบัติทั่วไปในการพัฒนาซอฟต์แวร์ เช่น การสร้างข้อกำหนดที่มีรายละเอียดและละเอียดอ่อนสำหรับการพัฒนาซอฟต์แวร์ เป็นเรื่องธรรมชาติในแต่ละวัน และคุณสามารถไว้วางใจเราเพื่อส่งมอบสิ่งที่ดีที่สุดของเราเกี่ยวกับปัญหาเหล่านี้
บทสรุป
ข้อกำหนดการพัฒนาซอฟต์แวร์เป็นส่วนประกอบที่มีความสำคัญในการพัฒนาระบบซอฟต์แวร์ พวกเขาให้พื้นฐานสำหรับการกำหนดและยืนยันฟังก์ชันการทำงานของซอฟต์แวร์ และความคิดเห็นแนวทางสำหรับการพัฒนาซอฟต์แวร์ ด้วยการเข้าใจประเภทต่างๆ ของข้อกำหนดสำหรับการพัฒนาซอฟต์แวร์และการปฏิบัติตามนโยบายขั้นตอนสำหรับการสร้างข้อกำหนด วิศวกรซอฟต์แวร์สามารถรับประกันได้ว่าระบบซอฟต์แวร์ตรงตามความต้องการของผู้ใช้และพัฒนาได้สำเร็จ









