หน้าก่อนหน้า

บทที่ 7 การวิเคราะห์ ออกแบบและพัฒนาระบบสารสนเทศ

เรื่องต่อไป

7.2 ลำดับวงจรชีวิตของการพัฒนาซอฟต์แวร์

1. การวางแผน (Planning) เป็นขั้นตอนการการวางแผนงานโดย กำหนดรูปแบบของซอฟแวร์ ประมาณการต้นทุนในการพัฒนาระบบ กำหนดแนวทางของการพัฒนาระบบ กำหนดระยะเวลา เป็นต้น

2. การวิเคราะห์ความต้องการ (Analysis) เป็นขั้นตอนของการค้นหาความต้องการของระบบ และวิเคราะห์ความต้องการนั้น เพื่อให้เข้าใจภาพรวมและหน้าที่การทำงานของระบบ

3. การออกแบบ (Design) เป็นขั้นตอนการออกแบบส่วนประกอบต่างๆของซอฟแวร์ เพื่อให้ตรงกับความต้องการที่ได้วิเคราะห์มาแล้ว

4. การเขียนโปรแกรม (Development) เป็นขั้นตอนการสร้างระบบโดยการเขียนโปรแกรม ตามแนวทางการออกแบบจากขั้นตอนที่ผ่านมา

5. การทดสอบ (Testing) เป็นขั้นตอนการนำระบบที่ทำมาทดสอบการใช้งาน ว่าทำงานถูกต้องตามความต้องการที่ได้หรือไม่ ซึ่งการทดสอบนี้จะรวมถึงการทดสอบการเชื่อมโยงกับระบบซอฟแวร์อื่นๆที่เกี่ยว ข้องด้วย

6. การประเมิน เป็นขั้นตอนการประเมินว่าระบบที่ผ่านการทดสอบแล้ว เหมาะสมที่จะนำไปใช้งานได้หรือไม่

7. การโอนย้ายข้อมูล (Data Conversion) เป็นขั้นตอนการนำข้อมูลเก่าเข้าระบบใหม่ก่อนการนำระบบไปใช้จริง

8. การนำไปใช้งานงานจริง (Production) เป็นขั้นตอนที่นำระบบที่พัฒนาสำเร็จและผ่านการทดสอบแล้วไปใช้งาน โดยทำการติดตั้ง และสอนวิธีการใช้งานแก่ผู้ใช้

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

1. การวางแผน (Planning)

การวางแผน (Planning) เป็นขั้นตอนการการวางแผนงานโดย กำหนดรูปแบบของซอฟต์แวร์ ประมาณการต้นทุนในการพัฒนาระบบ กำหนดแนวทางของการพัฒนาระบบ กำหนดระยะเวลา เป็นต้น

ประโยชน์และความสำคัญของการวางแผน

1. ลดความไม่แน่นอน

2. ช่วยให้การจัดการตามหน้าที่เป็นไปโดยสะดวกและมีประสิทธิภาพ รู้หน้าที่ ใครรับผิดชอบ

3. วางแผนดี สำเร็จไปครึ่งทาง

4. ช่วยให้การปฏิบัติงานมีประสิทธิภาพ

5. คาดคะเนสิ่งที่อาจเกิดปัญหาได้

โดยสรุปแล้วการวางแผนถือเป็นเครื่องมือที่มีความสำคัญของการบริหารที่เป็นระบบและมีประสิทธิภาพถือว่าเป็นงานตั้งแต่เริ่มแรกและเป็นงานที่ต่อเนื่องตลอดลักษณะการวางแผนที่ดี

ในการวางแผนนั้นจะต้องทราบว่าจะทำอะไร กับกลุ่มเป้าหมายใด ณ ที่ใด วันเวลาไหน เหตุใดจึงได้จัด และต้องใช้งบประมาณเท่าไร

ประเภทของการวางแผน

1. การวางแผนตามหน้าที่ เช่นแผนกิจกรรมต่างๆ แผนงานด้านบุคคล ด้านวิชาการ ด้านงบประมาณ

2. การวางแผนตามระดับขององค์การ เช่นแผนการจัดการของระดับผู้บริหาร

3. การวางแผนตามระยะเวลา เช่น ระยะสั้น ระยะยาว

4. การวางแผนตามลักษณะของแผน เช่นกลยุทธ์ ระเบียบ นโยบาย

ชนิดของการวางแผน

1. การวางแผนกลยุทธ์ (Strategic planning)

จัดทำโดยผู้บริหารระดับสูงซึ่งจะเป็นแผนระยะยาว มุ่งสนใจกำหนดวัตถุประสงค์ต่างๆ ที่องค์กรต้องก้าวให้ถึงโดยอาศัยวิธีการคาดคะเนและประมาณการต่าง ๆ

2. การวางแผนโครงการ (Program or Project planning)

ทำโดยผู้บริหารระดับกลาง เป็นแผนระยะปานกลาง มุ่งเน้นการวางแผนทรัพยากรทำโดยการแปลความจากแผนระยะยาวออกเป็นแผนงาน/ โครงการ

3. การวางแผนดำเนินงาน (Operational planning)

ทำโดยผู้บริหารระดับต้น เป็นแผนระยะสั้น แปลความจาก แผนงาน/ โครงการ ออกเป็นแผนปฏิบัติงานละเอียดทั้งกำหนดเวลา และงบประมาณโดยชี้ว่าใครทำอะไร ที่ไหน ใคร อย่างไร มีการวิเคราะห์โดยละเอียดเกี่ยวกับเวลาที่ใช้จริงและรายละเอียดของงาน

ขั้นตอนกระบวนการวางแผน

1. ตั้งสมมติฐาน

2. กำหนดวัตถุประสงค์

3. พัฒนากลยุทธ์

4. การสร้างเป้าหมายระยะปานกลาง

5. กำหนดแผนปฏิบัติงาน

6. ปฏิบัติตามแผน

คุณสมบัติและหน้าที่ของนักวางแผน

1. มีประสบการณ์ในองค์กรนั้นๆมากพอและเคยเป็นหัวหน้างาน

2. มีความสามารถในการอุดช่องว่างในการบริหาร คลุกคลีอยู่กับองค์กร รู้และเข้าใจองค์กร

3. มีความรู้ด้านอื่นๆ การเมือง เศรษฐกิจ

4. มีมนุษย์สัมพันธ์ที่ดี เข้ากับผู้อื่นได้ ประสานงานได้

 

2. การวิเคราะห์ความต้องการ (Analysis)

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

1. มองในมุมมองของเจ้าของงาน จะใช้เป็นตัวอ้างอิงการเปิดประมูลให้กับผู้ที่จะทำการพัฒนา

2. เป็นส่วนหนึ่งในสัญญาเพื่อใช้ในการชำระค่าจ้าง กล่าวคือ ถ้าทำไม่ได้ตามข้อกำหนดความต้องการก็อาจจะไม่ชำระค่าจ้าง เป็นต้น

ประเภทของความต้องการ

1.User Requirement - เป็นความต้องการที่รวบรวมจากผู้ใช้ระบบโดยตรง เช่น ลำดับของช่องที่จะให้กรอกข้อมูล, จะกรอกอย่างไร, เรียงลำดับอย่างไร, ขนาดตัวอักษร, สีอะไร เป็นต้น

2.System Requirement – ความต้องการของระบบ เช่น ระบบต้องสามารถส่งข้อมูลผ่านระบบเครือข่ายได้, ข้อมูลต้องเก็บได้ทั้งที่ Server และ Work Station เป็นต้น

3.Software Specification – รายละเอียดทางด้านเทคนิคของซอฟต์แวร์ว่าต้องทำอะไรได้บ้าง

ความต้องการแบ่งออกได้เป็น 3 กลุ่มใหญ่ ๆ

1. Functional Requirementคือ Requirement หรือสิ่งที่ระบบควรจะทำ, หน้าที่หลักของระบบที่จะต้องทำ เช่นผู้ใช้ต้องสามารถค้นหาจากฐานข้อมูลทั้งหมด ก็ได้หรือ ค้นหาจากส่วนหนึ่งส่วนใดของฐานข้อมูลก็ได้ ระบบจะต้องมีโปรแกรมที่ช่วยให้อ่านเอกสารได้

2. Non-functional Requirementคือ Requirement อื่นๆที่ไม่ใช่หน้าที่หลักๆที่ต้องทำ แต่เป็นคุณสมบัติอื่นๆที่เราอยากได้จากระบบ เช่น ความปลอดภัยของระบบ ความเชื่อถือได้ของระบบ เวลาตอบสนอง มีความสามารถทางด้าน I/O ความสามารถในการเชื่อมต่อกับระบบอื่นๆ ตัวอย่างเช่น ระบบบัญชี โดยที่หน้าที่หลักของระบบบัญชีคือ บันทึกข้อมูล Transaction รายวัน จะต้องมีการทำสรุปยอดบัญชีได้ สิ่งเหล่านี้คือสิ่งที่ระบบบัญชีควรทำคือ Functional Requirement แต่ถ้าบอกว่าต้องมีการใส่รหัสผ่าน สามารถเชื่อมโยงอินเทอร์เน็ตได้ เชื่อมโยงกับระบบบัญชีของบริษัทอื่นได้ อันนี้ไม่ใช่หน้าที่หลัก ของระบบบัญชี แต่มันคือ Non-functional Requirement

3. Domain Requirementคือ เป็นเงื่อนไขอื่นจากสภาวะแวดล้อมที่ทำให้ระบบทำงานได้ หรือ เป็นการมองที่ว่าระบบที่พัฒนามานี้จะไปทำงานร่วมกับระบบอื่นๆหรือสภาวะแวดล้อมอื่นๆในองค์กร มันจะต้องมีความต้องการอื่นๆภายนอกมากระทบบ้างหรือไม่ เช่น เราออกแบบระบบบัญชี เมื่อนำไปใช้ จะไปทำงานร่วมกับระบบอื่นๆเช่นไปทำงานร่วมกับระบบการสมัครสมาชิกของ ชมรมคอมพิวเตอร์ ของ ม.นเรศวร โดยนำระบบบัญชีไปใช้ในส่วนการรับสมัคร เป็นต้น

3. การออกแบบ (Design)

การออกแบบ (Design) เป็นขั้นตอนการออกแบบส่วนประกอบต่างๆของซอฟแวร์ เพื่อให้ตรงกับความต้องการที่ได้วิเคราะห์มาแล้ว

ขั้นตอนในการออกแบบซอฟแวร์

1. Architectural design ทำการแบ่งระบบออกเป็นระบบย่อยและระบุ ความสัมพันธ์ของระบบย่อยต่างๆ ผลลัพธ์ของกิจกรรมนี้ คือ เอกสารที่ บรรยายตัวแบบของระบบและความสัมพันธ์ของระบบย่อยต่างๆ

2. Abstract specificationระบุบริการและเงื่อนไขต่างๆ ที่ต้องมีระบบย่อยใน เชิงนามธรรม

3. Interface designออกแบบระเบียบวิธีติดต่อระหว่างระบบย่อย ผู้ออกแบบ ต้องระบุรูปแบบการติดต่อที่ชัดเจน โดยระบบอื่นที่ต้องใช้บริการไม่ จา เป็นต้องทราบถึงรายละเอียดการทา งานภายในระบบย่อย

4. Component designออกแบบโมดูลย่อยและวิธีการติดต่อระหว่างโมดูลในแต่ ละระบบย่อยรวมทั้งบริการต่างๆ ในแต่ละโมดูล

5. Data structure designออกแบบรายละเอียดโครงสร้างข้อมูลที่ใช้ในโมดูล ต่างๆ

6. Algorithm designออกแบบขั้นตอนการทา งานในแต่ละโมดูลอย่างละเอียด เพื่อให้โมดูลสามารถให้บริการตามที่ถูกระบุในข้อกำหนด

การออกแบบระบบอาจทำได้ทั้ง 2 ระดับ

1. การออกแบบระบบ (System Design) เกี่ยวเนื่องกับสถาปัตยกรรมของระบบใน ภาพรวม และการกำหนดมาตรฐาน (Standards)

การกำหนดมาตรฐาน (Standards) เช่น การออกแบบหน้าจอที่ติดต่อกับผู้ใช้ (Human-computer Interface)

2. การออกแบบแต่ละองค์ประกอบย่อย (Detailed Design) เกี่ยวเนื่องกับการ ออกแบบแต่ละองค์ประกอบย่อย เพื่อที่จะเติมเต็มสถาปัตยกรรมของระบบ และ ปฏิบัติตามมาตรฐานที่กำหนดขึ้น เช่น การออกแบบวัตถุ (Object) การออกแบบสถาปัตยกรรมของระบบในภาพรวม เช่น ระบบที่สร้างขึ้นในยุคหลังๆ มักใช้ระบบ Client-Server

1. ก่อให้เกิดคำถาม “how processes and objects will be distributed to different machine?”

2. System Architect/System Design ต้องตอบคำถามต่างๆ ที่เกิดขึ้น และทำ หน้าที่ในการตัดสินใจ การออกแบบมาตรฐาน สำหรับระบบ เช่น การตัดสินใจเลือกมาตรฐานที่ใช้ก้บหน้าจอผู้ใช้ (User Interface) จัดเป็นการออกแบบหน้าจอ (Interface) ที่ระดับระบบ (System)

3. Detailed designของ Traditional System/Structured System มักเกี่ยวเนื่องกับการ ออกแบบ activities ต่างๆ ได้แก่

1. การออกแบบอินพุท (Inputs)

2. การออกแบบเอาท์พุท (Outputs)

3. การออกแบบโปรเซส (Processes)

4. การออกแบบ files

4. Detailed design ของ OO Systemเกี่ยวเนื่องกับการออกแบบ activities ต่างๆ ด้านบนเช่นกัน แต่ต้องคำนึงถึงแง่มุมของการนำกลับมาใช้ใหม่ (Reusability) การกำหนด หน้าที่ (Responsibilities) ให้กับคลาส

1. การกำหนดหน้าที่ ให้กับคลาส จัดเป็นภารกิจหลัก ของการออกแบบ มักมีหลาย ทางเลือก ควรกำหนด responsibilities สำหรับ Operation ให้กับคลาสที่เหมาะสม

ลักษณะการออกแบบที่ดี

1. การจัดการได้ง่าย (Intellectual manageability)

2. ความซับซ้อนต่ำ (Low complexity)

3. ดูแลรักษาได้ง่าย (Ease of Maintenance)

4. การเชื่อมต่อกันน้อย (Minimal Contentedness) หมายถึง การออกแบบเพื่อให้ การ เชื่อมต่อระหว่างโปรแกรมย่อยมีน้อยที่สุด การลดการเชื่อมต่อเป็นการลดงานใน การรวบรวมระบบ การทดสอบและการดูแลรักษา

5. สามารถขยายตัวได้ (Extensibility) สามารถขยายระบบโดยไม่ทำลายโครงสร้าง ที่ อยู่ข้างล่าง สามารถเปลี่ยนแปลงบางชิ้นส่วนของระบบโดยไม่กระทบกับชิ้นส่วนอื่น

6. นำกลับมาใช้ใหม่ได้ (Reusability) สามารถนา ชิ้นส่วนของมันไปใช้ในระบบอื่น ได้

7. แฟนอินสูง (High Fan-In) หมายความว่าระบบได้รับการออกแบบให้ใช้รูทีน ยูทิลิตี้ ในระดับต่ำ ของระบบได้เป็นอย่างดี /p>

8. ไม่เทอะทะ (Leanness)

9. แฟนเอาต์ต่ำถึงปานกลาง (Low-To-Medium Fan-Out) แฟนเอาต์สูง (มากกว่า 7) รูทีนหนึ่งควบคุมรูทีนอื่นจำนวนมาก อาจทำ ให้เข้าใจยาก

9.1 แฟนเอาต์ปานกลาง หมายความว่ารูทีนมอบงานให้ก้บรูทีนอื่นจำนวน น้อย และ รูทีนนั้นเข้าใจได้ง่าย

9.2 แฟนเอาต์ต่ำ (น้อยกว่า 4) รูทีนไม่ได้มอบงานของมันมากพอ

10. เคลื่อนย้ายได้ (Portability) การออกแบบระบบเพื่อให้สามารถเคลื่อนย้ายไปยัง สภาพแวดล้อมอื่นได้ง่าย

11. การออกแบบเป็นระดับ (Stratified Design) เพื่อให้มองระบบในระดับใดเพียง ระดับเดียวได้

12. เทคนิคมาตรฐาน (Standard Techniques) ควรใช้วิธีการที่เป็นมาตรฐาน และ ใช้กันทั่วไป

4. การเขียนโปรแกรม (Development)

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

การเขียนโค้ด (Coding) เป็นขั้นตอนการเขียน ทดสอบ และดูแลซอร์สโค้ดของโปรแกรมคอมพิวเตอร์ ซึ่งซอร์สโค้ดนั้นจะเขียนด้วยภาษาโปรแกรม ขั้นตอนการเขียนโปรแกรมต้องการความรู้ในหลายด้านด้วยกัน เกี่ยวกับโปรแกรมที่ต้องการจะเขียน และขั้นตอนวิธีที่จะใช้ ซึ่งในวิศวกรรมซอฟต์แวร์นั้น การเขียนโปรแกรมถือเป็นเพียงขั้นหนึ่งในวงจรชีวิตของการพัฒนาซอฟต์แวร์

การเขียนโปรแกรมจะได้มาซึ่งซอร์สโค้ดของโปรแกรมนั้นๆ โดยปกติแล้วจะอยู่ในรูปแบบของ plain text ซึ่งไม่สามารถนำไปใช้งานได้ จะต้องผ่านการคอมไพล์ตัวซอร์สโค้ดนั้นให้เป็นภาษาเครื่อง (Machine Language) เสียก่อนจึงจะได้เป็นโปรแกรมที่พร้อมใช้งาน

การเขียนโปรแกรมถือว่าเป็นการผสมผสานกันระหว่างศาสตร์ของ ศิลปะ วิทยาศาสตร์ คณิตศาสตร์ และ วิศวกรรม เข้าด้วยกัน

คนที่ออกแบบเว็บ (Web Designer) และ คนที่พัฒนาเว็บ (Web Programmer) ทำงานคู่ขนานและเข้าสู่ขั้นตอนการแก้ไขระบบ (System Integration) และเตรียมเอกสารคู่มือการใช้งาน (User Manual)

5. การทดสอบ (Testing)

การทดสอบเป็นส่วนหนึ่งของการพัฒนาโปรแกรม โดยมีขึ้นเพื่อค้นหาข้อผิดพลาดของโปรแกรมกระบวนการทดสอบช่วยให้เกิดความชัดเจนว่า ซอฟต์แวร์จะมีคุณภาพดีหรือมีข้อบกพร่อง อะไรบ้างกระบวนการทดสอบจะใช้เวลามากหรือน้อยขึ้นกับ ว่ามีข้อบกพร่องมากน้อยเพียงไร

การ Test จะมีด้วยกัน หลายระดับได้แก่

1. การทดสอบโมดูล (Module Test) เป็นการทดสอบทีละโมดูล โดยให้โมดูลนั้นทำงานอย่าง อิสระ แล้วตรวจสอบตรรกะภายในโมดูล มีชื่อเรียกอีกอย่างหนึ่งว่า Unit Test ปกติโปรแกรมเมอร์จะเป็นผู้ทำหน้าที่ทดสอบ การทดสอบทำโดยการอ่านซอร์สโค้ด สร้างกรณี ทดสอบ(Test Case) แล้วลองให้โมดูลทำงานดูว่าได้ผล ออกมาตามความคาดหมายหรือไม่ ข้อผิดพลาดหลักๆที่ค้นพบในขั้นตอนนี้ได้แก่ ข้อผิดพลาดในการเขียนโปรแกรม เรียกว่า “บัก”

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

3. การทดสอบทั้งระบบ (System Test) การทดสอบโดยนำเอาโปรแกรมย่อยมาทดสอบการทำงานร่วมกันทั้งระบบ /p>

4. การทดสอบขั้นตอนสุดท้าย (Acceptance Test) เป็นการทดสอบขั้นสุดท้าย โดยผู้ใช้ (User) มี 2 ระดับ Alfa Testing โดยการจำลองข้อมูล และ Beta Testing โดยใช้ข้อมูลจริง

เทคนิคการทดสอบ

1. White Box Test :เป็นการทดสอบที่คำนึงถึง โครงสร้างภายในระบบ หรืออาจ เรียกว่า Program- Based Test เพราะเป็นการสร้าง Test Case ตาม ตรรกะของโปรแกรม เป็นการทดสอบเพื่อดูโครงสร้างของโปรแกรม หรือทางเดนิในโปรแกรม ต้องสร้างชุดทดสอบเฉพาะสำหรับการทดสอบในเงื่อนไขต่าง ๆ ชุดทดสอบจะต้องประกอบด้วยชุดที่สามารถ ประมวลผลอย่างปกติและไม่ปกติ

2. Black Box Test :เป็นการทดสอบที่ไม่คำนึงถึง โครงสร้างภายในระบบ หรือ อาจเรียกว่า Specification-Based Case เพราะเป็นการสร้าง Test Case ตาม Function Specification เป็นการทดสอบโดยไม่คำนึงถึงคำสั่งภายใน โปรแกรม เป็นการทดสอบ Function ต่าง ๆ ของโปรแกรม ตาม Requirements ที่มี เป็นการทดสอบโดยดูค่า Output จาก Input ที่ ให้กับโปรแกรมต้องมีความสอดคล้องกัน

6. การประเมิน

เป็นการอัพเดตความผิดพลาดอยู่เสมอๆ การบำรุงรักษาก็จะเกิดขึ้น ซึ่งการบำรุงรักษาก็จะมีการทำซ้ำ ตามกระบวนการต่างๆ ที่ผ่านมา

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

นักวิเคราะห์ระบบจะต้องคอยเป็นพี่เลี้ยงอยู่ตลอดเวลาในขั้นตอนนี้ โดยการช่วยดูแลการเขียนโปรแกรม การทดสอบ และเตรียมสถานที่ รวมถึงมีส่วนช่วยในการอบรมผู้ใช้และเตรียมคู่มือสำหรับผู้ใช้ด้วย ระหว่างการบำรุงรักษา นักวิเคราะห์ระบบอาจจะต้องรับฟังความคิดเห็นจากผู้ใช้และพร้อมที่จะแก้ไขให้เป็นไปตามความต้องการของผู้ใช้

7. การโอนย้ายข้อมูล (Data Conversion)

เป็นขั้นตอนการนำข้อมูลเก่าเข้าระบบใหม่ก่อนการนำระบบไปใช้จริง

8. การนำไปใช้งานงานจริง (Production)

เป็นขั้นตอนที่นำระบบที่พัฒนาสำเร็จและผ่านการทดสอบแล้วไปใช้งาน โดยทำการติดตั้ง และสอนวิธีการใช้งานแก่ผู้ใช้

9. การให้ความช่วยเหลือ (Support)

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

Home