Key points
- Software processes คือกิจกรรมทั้งหมดที่เกี่ยวข้องในการผลิตซอฟต์แวร์
- Software process models เป็นนิยาม (abstract) ของกระบวนการเหล่านี้
- General process models describe the organization of software processes.
- process models ทั่วไปอธิบายถึงกระบวนการจัดกระบวนการซอฟต์แวร์
- เช่น waterfall model, incremental development, และ reuse-oriented development.
- Requirements engineering เป็นกระบวนการกำหนด software specification.
- Design และ implementation เป็นกระบวนการเปลี่ยนข้อกำหนดซอฟต์แวร์ให้กลายเป็นซอฟต์แวร์ที่ปฏิบัติการได้
- การตรวจสอบซอฟต์แวร์ (Software validation) เป็นกระบวนการตรวจสอบว่าระบบสอดคล้องกับข้อกำหนดและตรงกับความต้องการที่แท้จริงของผู้ใช้ระบบ
- Software evolution takes place when you change existing software systems to meet new requirements. The software must evolve to remain useful.
- วิวัฒนาการของซอฟต์แวร์ (Software evolution) เกิดขึ้นเมื่อเราเปลี่ยนระบบซอฟต์แวร์ที่มีอยู่ ให้เป็นไปตามข้อกำหนดใหม่ ซอฟต์แวร์ต้องมีวิวัฒนาการเพื่อให้มีประโยชน์อยู่เสมอ
- Processes should include activities such as prototyping and incremental delivery to cope with change.
- กระบวนการ (Processes) หมายความรวมถึงกิจกรรมต่าง ๆ ทั้งหมดที่เกี่ยวข้อง เช่น การสร้างต้นแบบและการจัดส่ง incremental เพื่อรับมือกับการเปลี่ยนแปลง
- กระบวนการที่ใช้พัฒนาซอฟท์แวร์ อาจออกแบบสำหรับการพัฒนาและการส่งมอบซ้ำหลายรอบ (iterative development and delivery) เพื่อให้สามารถรองรับการเปลี่ยนแปลงได้โดยไม่กระทบกับระบบโดยรวม
- แนวทางหลักในการปรับปรุงกระบวนการคือ แนวทาง agile เพื่อลดต้นทุนโสหุ้ย และแนวทาง maturity-based ซึ่งทั้งสองแนวทางมี process management ที่ดี รวมถึงใช้หลักกี่วิศวกรรมซอฟต์แวร์ที่ดีด้วย
- SEI process maturity framework กำหนด maturity levels ที่จำเป็นต่อหลักวิศวกรรมซอฟต์แวร์ที่ดี (good software engineering practice)