Key points
- การพัฒนาซอฟต์แวร์และวิวัฒนาการอาจถือได้ว่าเป็นการรวมกระบวนการทำซ้ำที่สามารถนำมาพัฒนาเป็นแบบ spiral model ได้
- สำหรับระบบที่กำหนดเอง (custom systems) ค่าใช้จ่ายในการบำรุงรักษาซอฟต์แวร์จะสูงกว่าค่าใช้จ่ายในการพัฒนาซอฟต์แวร์
- กระบวนการของวิวัฒนาการของซอฟต์แวร์ถูกขับเคลื่อนโดยการร้องขอ (requests for changes) รวมถึงการวิเคราะห์ผลกระทบการเปลี่ยนแปลง (change impact analysis) การวางแผนปล่อยซอฟต์แวร์ (release planning) และการดำเนินการเปลี่ยนแปลง (change implementation) Key points
- ระบบเดิม (Legacy systems) เป็นระบบซอฟต์แวร์รุ่นเก่า ที่พัฒนาขึ้นโดยใช้เทคโนโลยีซอฟต์แวร์และซอฟต์แวร์ที่ล้าสมัย แต่ยังคงมีประโยชน์สำหรับธุรกิจ
- การรักษาระบบเดิมมักจะถูกกว่าและมีความเสี่ยงน้อยกว่าที่จะพัฒนาระบบทดแทนโดยใช้เทคโนโลยีที่ทันสมัย
- ควรประเมินมูลค่าธุรกิจของระบบเดิมและคุณภาพของแอปพลิเคชันเพื่อช่วยในการตัดสินใจว่าจะเปลี่ยนระบบ (replace) ดัดแปลง (transform) หรือบำรุงรักษา (maintain) ระบบเดิมต่อไปหรือไม่
- มีการบำรุงรักษาซอฟต์แวร์ 3 ประเภทคือ
- การแก้ไขข้อบกพร่อง
- การปรับเปลี่ยนซอฟต์แวร์เพื่อทำงานในสภาพแวดล้อมใหม่
- การพัฒนาตามข้อกำหนดใหม่หรือความต้องการเปลี่ยนแปลง Key points
- การ re-engineering ซอฟต์แวร์เป็นเรื่องเกี่ยวกับการจัดโครงสร้างใหม่และการทำเอกสารใหม่
- เพื่อให้ทำความเข้าใจและดำเนินการเปลี่ยนแปลงได้ง่ายขึ้น
- Refactoring ทำให้การเปลี่ยนแปลงโปรแกรมที่รักษาฟังก์ชันการทำงาน
- เป็นรูปแบบของการบำรุงรักษาเชิงป้องกัน คำถาม???