กระบวนการพัฒนาซอฟต์แวร์

การพัฒนาระบบงานใด ๆ ก็ตามก็จะประกอบไปด้วยขั้นตอนต่างๆ มาประกอบกัน

การกำหนดปัญหา(Problem Definition) หรือ การเลือกสิ่งที่จะนำมาพัฒนาระบบงาน(Project Identification and Selection) นับว่าเป็นขั้นตอนแรกในวงจรของการพัฒนา ขั้นตอนนี้มักจะเกิดขึ้นอย่างเป็นทางการ จากการประชุมของฝ่ายบริหาร เพื่อที่จะค้นหาวิธีการทำงานที่มีประสิทธิภาพ

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

การออกแบบ(Design) จะเป็นการนำเอาสิ่งที่ได้จากการวิเคราะห์ มาออกแบบเป็นระบบงาน สำหรับการพัฒนาในขั้นตอนถัดไป เช่น การออกแบบ Form , Report, Dialoques, Interface, Files & Database, Program & Process design เป็นต้น

การพัฒนาระบบงาน(Development) หรือ การสร้างระบบงานจริง ขั้นตอนนี้จะเป็นขั้นตอนที่นำเอาสิ่งที่ได้จากการออกแบบระบบมาทำการ Coding หรือ สร้างตัวระบบงานขึ้นมาใช้งานจริง ผู้ที่มีบทบาทสูงในขั้นตอนนี้คือ Programmer

การทดสอบ(Testing) การทดสอบระบบจะเป็นการตรวจสอบความถูกต้องของระบบงานที่ถูกสร้างขึ้นมาว่าตรง ตามกับความต้องการจริงๆ หรือไม่ การ Test จะมีด้วยกัน หลายระดับ กล่าวคือ

  1. การทดสอบในระดับ Module หรือ Unit test เป็นการทดสอบการทำงานโดยแยกเป็นส่วนย่อยๆ ในแต่ละ module
  2. การทดสอบ Integrate test จะนำเอา module ย่อยๆ มาทำการทดสอบการทำงานเป็นกระบวนการร่วมกัน
  3. System test การทดสอบโดยนำเอาโปรแกรมย่อยมาทดสอบการทำงานร่วมกันทั้งระบบ
  4. Acceptance test เป็นการทดสอบขั้นสุดท้าย โดย user (มี 2 ระดับ Alfa testing using simulated data, Beta testing using real data)

การติดตั้ง(Deployment) Direct installation, Pararell Installation, Single location installation, Phased installation

การบำรุงรักษา(Maintenance) Obtain Maintenance Request, Transforming Request into Change, Designing Change, Implementing Change