วงจรพัฒนาระบบมีกี่ขั้นตอน (SDLC)

วงจรพัฒนาระบบมีกี่ขั้นตอน (SDLC)

นักวิชาการคอมพิวเตอร์ชำนาญการพิเศษ สำนักโลจิสติกส์

ที่มา http://logistics.go.th/index.php/en/news-article/bol-article/9386-2017-03-09-03-01-34

ในฉบับที่ผ่านมา (link) เรากล่าวถึง การจัดทำแผนที่นําทางเทคโนโลยี (Technology Road Mapping: TRM) ซึ่งเป็นแนวคิดที่นำเทคโนโลยีมาเป็นปัจจัยร่วมในการกำหนดทิศทางการขับเคลื่อนองค์กร ฉบับนี้จะพูดถึงขั้นตอนการนำระบบ (เทคโนโลยีสารสนเทศ) มาใช้ในองค์กร อาจเรียกว่า การพัฒนาระบบ เนื่องจากปัจจุบันหลายองค์กรล้มเหลวในการนำระบบมาใช้ในงาน เพราะขาดความรู้ความเข้าใจหรือไม่ได้มีการจัดขั้นตอนการพัฒนาระบบที่ถูกต้อง ดังนั้น ทุกองค์กรจึงควรมีการวางแผนการดำเนินงานตามขั้นตอนการพัฒนาระบบที่ดีในองค์กรเพื่อประสิทธิภาพที่สูงสุด

วงจรการพัฒนาระบบ (System Development Life Cycle : SDLC) คือ การแบ่งขั้นตอนกระบวนการพัฒนาระบบงาน หรือระบบเทคโนโลยีสารสนเทศด้วย เพื่อช่วยแก้ปัญหาทางธุรกิจหรือตอบสนองความต้องการขององค์กรโดยระบบที่จะพัฒนานั้นอาจเป็นการพัฒนาระบบใหม่หรือการปรับปรุงระบบเดิมให้ดีขึ้นก็ได้ การพัฒนาระบบแบ่งออกเป็น 7 ขั้นตอน ดังนี้

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

2. การศึกษาความเหมาะสม (Feasibility Study) ว่าเหมาะสมหรือไม่ที่จะปรับเปลี่ยนระบบ โดยให้เสียค่าใช้จ่าย (Cost) และเวลา (Time) น้อยที่สุดแต่ให้ได้ผลลัพธ์ที่น่าพอใจ และหาความต้องการของผู้เกี่ยวข้องใน 3 เรื่อง คือ เทคนิคเครื่องมือหรืออุปกรณ์ที่ใช้ บุคลากรและความพร้อม และความคุ้มค่า เพื่อใช้นำเสนอต่อผู้บริหารพิจารณาอนุมัติดำเนินการต่อไป

3. การวิเคราะห์ (Analysis) เป็นการรวบรวมข้อมูลปัญหาความต้องการที่มีเพื่อนำไปออกแบบระบบ ขั้นตอนนี้จะศึกษาจากผู้ใช้ โดยวิเคราะห์การทำงานของระบบเดิม (As Is) และความต้องการที่มีจากระบบใหม่ (To Be) จากนั้นนำผลการศึกษาและวิเคราะห์มาเขียนเป็นแผนภาพผังงานระบบ (System Flowchart) และทิศทางการไหลของข้อมูล (Data Flow Diagram)

4. การออกแบบ (Design) นำผลการวิเคราะห์มาออกแบบเป็นแนวคิด (Logical Design) เพื่อแก้ไขปัญหา โดยในส่วนนี้จะยังไม่ได้มีการระบุถึงรายละเอียดและคุณลักษณะอุปกรณ์มากนัก เน้นการออกแบบโครงร่างบนกระดาษ แล้วส่งให้ผู้ออกแบบระบบนำไปออกแบบ (System Design) ซึ่งขั้นตอนนี้จะเริ่มมีการระบุลักษณะการทำงานของระบบทางเทคนิค รายละเอียดคุณลักษณะอุปกรณ์ที่ใช้ เทคโนโลยีที่ใช้ ชนิดฐานข้อมูลการออกแบบ เครือข่ายที่เหมาะสม ลักษณะของการนำข้อมูลเข้า ลักษณะรูปแบบรายงานที่เกิด และผลลัพธ์ที่ได้

5. การพัฒนาและทดสอบ (Development & Test) เป็นขั้นตอนการการเขียนโปรแกรม (Coding) เพื่อพัฒนาระบบจากแบบบนกระดาษให้เป็นระบบตามคุณลักษณะที่กำหนดไว้ จากนั้นทำการทดสอบหาข้อผิดพลาด (Testing) เพื่อตรวจสอบความถูกต้อง จนมั่นใจว่าถูกต้องและตรงตามความต้องการ หากพบว่ามีข้อผิดพลาดเกิดขึ้นจากการทำงานของระบบต้องปรับแก้ไขให้เรียบร้อยพร้อมใช้งานก่อนนำไปติดตั้งใช้จริง

6. การติดตั้ง (Implementation) เป็นขั้นตอนการนำระบบที่พัฒนาจนสมบูรณ์มาติดตั้ง (Installation) และเริ่มใช้งานจริง ในส่วนนี้นอกจากติดตั้งระบบใช้งานแล้ว ยังต้องมีการจัดเตรียมขั้นตอนการสนับสนุนส่งเสริมการใช้งานให้สามารถใช้งานได้อย่างสมบูรณ์ โดยจัดทำหลักสูตรฝึกอบรมผู้ใช้งาน (Training) เอกสารประกอบระบบ (Documentation) และแผนการบริการให้ความช่วยเหลือ (Support) เพื่อให้ระบบสามารถใช้งานได้อย่างต่อเนื่อง

7. การซ่อมบำรุงระบบ (System Maintenance) เป็นขั้นตอนการบำรุงรักษาระบบต่อเนื่องหลังจากเริ่มดำเนินการ ผู้ใช้ระบบอาจจะพบกับปัญหาที่เกิดขึ้นภายหลัง เช่น ปัญหาเนื่องจากความไม่คุ้นเคยกับระบบใหม่ จึงควรกำหนดแผนค้นหาปัญหาอย่างต่อเนื่อง ติดตามประเมินผล เก็บรวบรวมคำร้องขอให้ปรับปรุงระบบ วิเคราะห์ข้อมูลร้องขอให้ปรับปรุงระบบ จากนั้นออกแบบการทำงานที่ต้องการปรับปรุงแก้ไขและติดตั้ง ซึ่งต้องมีการฝึกอบรมการใช้งานระบบให้แก่ผู้ใช้งาน เพื่อที่จะทราบความพึงพอใจของผู้ใช้

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

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

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

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

5. การทดสอบ (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, Para ell Installation, Single location installation, Phased installation

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