วงจรชีวิตของการพัฒนาSoftware (System Development Life Cycle) การพัฒนาระบบงาน หรือSoftwareใดๆก็ตามก็จะประกอบไปด้วยขั้นตอนต่างๆ หลายๆส่วนมาประกอบกัน โครงการแต่ละโครงการก็จะมีรายละเอียดปลีกย่อยแตกต่างกันไปตามขนาด หรือ ความซับซ้อนของโครงการ วงจรการพัฒนาระบบ หรือ SDLC จะประกอบไปด้วย
การวิเคราะห์ปัญหา(Analysis) เมื่อผ่านขั้นตอนการการกำหนด หรือ เลือกโครงการที่จะทำการพัฒนาแล้ว ขั้นตอนต่อไปก็จะต้องนำเอาสิ่งที่ได้จากขั้นตอนแรกมาทำการวิเคระห์ โดยนักวิเคราะห์ระบบจะต้องทำการ วิเคราะห์ระบบ ในขั้นตอนนี้เป็นขั้นตอนที่มีความสำคัญมาก และไม่ควรทำอย่างเร่งรีบ เนื่องจากโครงการพัฒนาจำนวนมากที่ประสบความล้มเหลวเพราะการวิเคราะห์ และออกแบบไม่ถูกต้อง
การกำหนดปัญหา(Problem Definition) หรือ การเลือกสิ่งที่จะนำมาพัฒนาระบบงาน(Project Identification and Selection) นับว่าเป็นขั้นตอนแรกในวงจรของการพัฒนา ขั้นตอนนี้มักจะเกิดขึ้นอย่างเป็นทางการ จากการประชุมของฝ่ายบริหาร เพื่อที่จะค้นหาวิธีการทำงานที่มีประสิทธิภาพ และ มุ่งหวังที่จะใช้แทนวิธีการทำงานแบบเดิม ปรับปรุงวิธีการทำงาน หรือ เพื่อสร้างรูปแบบบริการแบบใหม่ เป็นต้น
การออกแบบ(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
การออกแบบ(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
ตามความคิดของผม
ตอบลบการจะพัฒนาระบบแต่ละระบบ จะต้องทำตามขั้นตอนที่ได้กล่าวมาในขั้นต้น
ถ้าทำการข้ามขั้นตอน อาจจะทำได้ แต่ สำหรับผู้ที่เริ่มต้น น่าจะเริ่มตั้งแต่พื้น
ฐานเสีย ก่อน น่าจะดีกว่าทำขั้นตอนลัด
อิชช์กันต์ มานะวงศ์เจริญ (กิด)
การวิเคราะห์และออกแบบระบบโดยการใช้วงจรพัฒนาระบบ (SDLC) วิธีนี้ยังคงมีใช้อยู่สำหรับการพัฒนาระบบงานขนาดกลางหรือขนาดใหญ่ที่มีระบบที่
ตอบลบสลับซับซ้อน มีข้อกำหนดคุณสมบัติต่าง ๆ อย่างเป็นทางการและค่อนข้างคงที่
ข้อด้อยของระบบนี้ ส่วนมากเป็นวิธีการที่ต้องใช้เวลานานกว่าจะเสร็จ และใช้ทรัพยากรมาก
ศิริมา กุลอุดมทรัพย์ (โน๊ต)
รูปแบบของ SDLC จะมีอยู่ 5 รูปแบบคะ ได้แก่ Waterfall,Adapted waterfall,Evolutionary,Incremental,Spiral ซึ่งในรูปแบบ Spiral จะมีความยืดหยุ่นในการนำไปใช้งานมากที่สุด คือวนกลับมาในขั้นตอนเดิมจนกว่าจะได้ระบบที่สมบูรณ์ จึงช่วยนักพัฒนาได้มากทีเดียวคะ
ตอบลบนนทกร ฉัตรวิไลรัตน์
ครูคงไม่ต้องทำการ lecture แล้วมั้งคะ ขอบคุณนนทกร ที่ได้เขียนบทความนี้มา ...
ตอบลบหากเราจะต้องทำการวิเคราะห์ปัญหาของระบบ เราควรจะมีเทคนิค อย่างไร เราควรจะได้เรียนรู้กันนะคะ
ประเด็นหนึ่งคือ แล้วหากเราจะต้องวิเคราะห์ปัญหาของระบบ เราจะทำอย่างไรให้ได้ข้อมูลว่า ระบบมีปัญหาอะไร แล้วมีแนวทางในการแก้ไขปัญหาอย่างไร
เหมือนกับว่า "ปัญหาพิเศษของเราคืออะไร" หรือเปล่านะ