การระบุข้อกำหนดซอฟต์แวร์

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

Functional Requirement คือ Requirement หรือสิ่งที่ระบบควรจะทำหน้าที่หลักของระบบที่จะต้องทำ เช่น
 ผู้ใช้ต้องสามารถค้นหาจากฐานข้อมูลทั้งหมดก็ได้หรือ ค้นหาจากส่วนหนึ่งส่วนใดของฐานข้อมูลก็ได้
 ระบบจะต้องมีโปรแกรมที่ช่วยให้อ่านเอกสารได้

Non-functional Requirement คือ Requirement อื่นๆที่ไม่ใช่หน้าที่หลักๆที่ต้องทำ แต่เป็นคุณสมบัติอื่นๆที่เราอยากได้จากระบบ เช่น ความปลอดภัยของระบบ, ความเชื่อถือได้ของระบบ, เวลาตอบสนอง, มีความสามารถทางด้าน I/O, ความสามารถในการเชื่อมต่อกับระบบอื่นๆ ตัวอย่างเช่น ระบบบัญชี โดยที่หน้าที่หลักของระบบบัญชีคือ บันทึกข้อมูล Transaction รายวัน, จะต้องมีการทำสรุปยอดบัญชีได้ สิ่งเหล่านี้คือสิ่งที่ระบบบัญชีควรทำคือ Functional Requirement แต่ถ้าบอกว่าต้องมีการใส่รหัสผ่าน, สามารถเชื่อมโยงอินเทอร์เน็ตได้ , เชื่อมโยงกับระบบบัญชีของบริษัทอื่นได้ อันนี้ไม่ใช่หน้าที่หลัก ของระบบบัญชี แต่มันคือ Non-functional Requirement

Function Oriented Programming เป็นการเขียน โปรแกรมโดยยึดหลักการเขียนโปรแกรมแบบแยกเป็นหน่วยย่อย (Module) ตามหน้าที่แล้ว รวบรวมหน่วยย่อยเหล่านั้นเข้าด้วยกันเป็นโครงสร้างสอดคล้องสัมพันธ์กัน เราเรียกขั้นนี้ว่า ขั้น Integration โครงสร้างที่ได้ก็คือโปรแกรมที่ต้องการ ภาษาที่ใช้พัฒนาโปรแกรมในแนวนี้ จัดเป็นภาษาประเภทที่เรียกว่า Procedural Language การเขียนโปรแกรมแนวนี้ได้ถูกใช้มา นานตั้งแต่ยุคก่อนจนถึงยุคปัจจุบันก็ยังใช้อยู่ โดยเฉพาะโปรแกรมที่มีขนาดเล็ก

ซอฟต์แวร์
มาตรฐานไอทริปเพิลอี
การออกแบบ
การพัฒนาผลิตภัณฑ์