1. การกำหนดปัญหา (Problem Definition)
- เป็นขั้นตอนสำหรับการกำหนดขอบเขตของปัญหา - สาเหตุของปัญหาในการดำเนินงาน (Problem)
- ความเป็นไปได้กับการสร้างระบบใหม่ (Feasibility Study)
- ความต้องการ (Requirement)
- ซึ่งข้อมูลทั้งหมดสามารถรวบรวมได้โดยวิธีต่าง ๆ
สัมภาษณ์
สังเกตการณ์
แบบสอบถาม
เอกสารประกอบระบบ
- เมื่อศึกษาข้อมูลทั้งหมดแล้วก็จะสรุปออกมาเป็น Requirement Specification
(สรุปข้อตกลงร่วมกัน)
สรุปขั้นตอนที่ 1รวบรวมปัญหาและความต้องการ (Requirement Gathering)
ทราบปัญหาและความต้องการที่เกิดจากการดำเนินงาน
ศึกษาความเป็นไปได้ (Feasibility Study)
Technical
Operational
Economical
สรุปสาเหตุของปัญหา และข้อมูลทั้งหมดที่ได้จากการศึกษา
แล้วยื่นแก่ผู้บริหารเพื่อพิจารณา (Requirement Specification)
ขั้นตอนที่ 1
2. การวิเคราะห์ (Analysis)
เป็นการวิเคราะห์ขั้นตอนการดำเนินงานในปัจจุบัน
โดยการนำ Requirement Specification มาทำการวิเคราะห์
เพื่อนำสิ่งที่วิเคราะห์มาทำแบบจำลอง
Logical Model (DFD, ER, System Flow chart)
เพื่อแสดงถึงรายละเอียดขันตอนการดำเนินงานว่าประกอบไปด้วยขั้นตอนอย่างไรบ้าง
สรุปขั้นตอนที่ 2
- นำ Requirement Specification มาทำการวิเคราะห์
- นำสิ่งที่วิเคราะห์มาทำแบบจำลอง Logical Model
- DFD Diagram
- ER - Diagram
- System Flow chart
ขั้นตอนที่ 2
3. การออกแบบ (Design)
- เป็นการนำเอา Logical Model มาพัฒนาเป็น Physical Model
โดยจะมีความสอดคล้องกัน
- จะทำให้เห็นระบบที่กำลังศึกษา เป็นรูปธรรมมากยิ่งขึ้น
- ขั้นตอนนี้ จะนำเอาเทคโนโลยีต่าง ๆ และ Program ทางคอมพิวเตอร์
เข้ามาช่วยพัฒนา
ซึ่งการวิเคราะห์และออกแบบต่างกันดังนี้
- การวิเคราะห์ : มุ่งเน้นการแก้ปัญหาอะไร
- การออกแบบ : มุ่งเน้นการแก้ปัญหาอย่างไร
สรุปขั้นตอนที่ 3
- การออกแบบรายงาน (Output Design)
- การออกแบบจอภาพ (Input Design)
- การออกแบบข้อมูลนำเข้า และรูปแบบการรับข้อมูล (Input/Output Format)
- การออกแบบผังระบบ (System Flowchart)
- การออกแบบฐานข้อมูล (Database Design)
- การสร้างต้นแบบ (Prototype)
ขั้นตอนที่ 3
4. การพัฒนา (Development)
- เป็นขั้นตอนของการพัฒนาระบบ หรือ โปรแกรมที่จะนำมาใช้
- ซึ่งเป็นการสร้างชุดคำสั่ง (Coding)
- โดยพิจารณาถึงความเหมาะสมกับเทคโนโลยีที่กำลังใช้อยู่
- พร้อมทั้งอาจจำเป็นต้อง HW ที่สนับสนุนการสร้างโปรแกรมที่มีประสิทธิภาพ
กับงานนั้น ๆ ด้วย
- ซึ่งเป็นการสร้างชุดคำสั่ง (Coding)
- โดยพิจารณาถึงความเหมาะสมกับเทคโนโลยีที่กำลังใช้อยู่
- พร้อมทั้งอาจจำเป็นต้อง HW ที่สนับสนุนการสร้างโปรแกรมที่มีประสิทธิภาพ
กับงานนั้น ๆ ด้วย
สรุปขั้นตอนที่ 4
- พัฒนาโปรแกรมที่ได้จากการวิเคราะห์แบบออกแบบไว้
- โดยเลือกจากภาษาที่เหมาะสม และถนัด ง่ายแก่การทำความเข้าใจ
- ซึ่งบางครั้งอาจจะนำ CASE Tools เข้ามาช่วยพัฒนา
- โดยเลือกจากภาษาที่เหมาะสม และถนัด ง่ายแก่การทำความเข้าใจ
- ซึ่งบางครั้งอาจจะนำ CASE Tools เข้ามาช่วยพัฒนา
(เพื่อเพิ่มความสะดวกช่วยตรวจสอบความผิดพลาด และการแก้ไขที่รวดเร็วยิ่งขึ้น)
- พร้อมกับสร้างเอกสารประกอบโปรแกรม
- พร้อมกับสร้างเอกสารประกอบโปรแกรม
ขั้นตอนที่ 4
5. การทดสอบ (Testing)
- เป็นขั้นตอนของการทดสอบระบบก่อนที่จะนำไปใช้งานจริง
- โดยนำเอาระบบหรือโปรแกรมที่สร้างมาทดสอบกับข้อมูลเบื้องต้นเสียก่อน
- ซึ่งถ้าหากเกิดข้อผิดพลาดจะต้องย้อนกลับไปขั้นที่ 4 อีกครั้ง
- การตรวจสอบระบบทั้ง 2 ประเภท
- ตรวจสอบ Syntax
- ตรวจสอบ Objective
- โดยนำเอาระบบหรือโปรแกรมที่สร้างมาทดสอบกับข้อมูลเบื้องต้นเสียก่อน
- ซึ่งถ้าหากเกิดข้อผิดพลาดจะต้องย้อนกลับไปขั้นที่ 4 อีกครั้ง
- การตรวจสอบระบบทั้ง 2 ประเภท
- ตรวจสอบ Syntax
- ตรวจสอบ Objective
สรุปขั้นตอนที่ 5
- ระหว่างพัฒนาจะต้องมีการทดสอบระบบไปด้วย
- โดยทำการทดสอบด้วยข้อมูลที่จำลองขึ้น
- ทดสอบระบบด้วยการตรวจสอบทั้ง Verification และ Validation
- Verification = การตรวจสอบความถูกต้องโดยรายละเอียดงาน
- Validation = การตรวจสอบความถูกต้องโดยความต้องการของผู้ใช้งาน
- โดยทำการทดสอบด้วยข้อมูลที่จำลองขึ้น
- ทดสอบระบบด้วยการตรวจสอบทั้ง Verification และ Validation
- Verification = การตรวจสอบความถูกต้องโดยรายละเอียดงาน
- Validation = การตรวจสอบความถูกต้องโดยความต้องการของผู้ใช้งาน
6. การติดตั้ง (Implementation)
- เมื่อระบบได้ทำการสร้างจนเสร็จสมบูรณ์แล้ว (ทดสอบแล้ว)
- จึงต้องมีการติดตั้งระบบเพื่อให้ระบบได้มีการใช้งานจริงต่อไป
- จึงต้องมีการติดตั้งระบบเพื่อให้ระบบได้มีการใช้งานจริงต่อไป
สรุปขั้นตอนที่ 6
- ควรศึกษาและสังเกตสิ่งแวดล้อมของระบบก่อนติดตั้ง
- เตรียมความพร้อมของ SW, HW, Network System
- ในบางขั้นตอนอาจจำเป็นต้องใช้ผู้เชี่ยวชาญระบบ
- ควรมีคู่มือการใช้งานระบบ และการอบรมการใช้ระบบงานควบคู่กันไปหลังการติดตั้งระบบ
เพื่อการใช้ระบบได้อย่างมีประสิทธิภาพมากขึ้น
- เตรียมความพร้อมของ SW, HW, Network System
- ในบางขั้นตอนอาจจำเป็นต้องใช้ผู้เชี่ยวชาญระบบ
- ควรมีคู่มือการใช้งานระบบ และการอบรมการใช้ระบบงานควบคู่กันไปหลังการติดตั้งระบบ
เพื่อการใช้ระบบได้อย่างมีประสิทธิภาพมากขึ้น
7. การบำรุงรักษา (Maintenance)
- ระบบที่สร้างขึ้นทุก ๆ ระบบ ไม่มีระบบใดที่เสถียรตลอดเวลา
- เพราะต้องเปลี่ยนแปลงไปตามสิ่งแวดล้อมและความต้องการของผู้ใช้
หรือข้อผิดพลาดที่เกิดขึ้นด้วยสาเหตุใดใดก็ตาม
- โปรแกรมเมอร์หรือผู้พัฒนาต้องรีบปรับปรุงแก้ไขให้ถูกต้อง
- ทั้งนี้และทั้งนั้นก็ขึ้นอยู่กับข้อตกลงและ Requirement Specification ด้วย
- เพราะต้องเปลี่ยนแปลงไปตามสิ่งแวดล้อมและความต้องการของผู้ใช้
หรือข้อผิดพลาดที่เกิดขึ้นด้วยสาเหตุใดใดก็ตาม
- โปรแกรมเมอร์หรือผู้พัฒนาต้องรีบปรับปรุงแก้ไขให้ถูกต้อง
- ทั้งนี้และทั้งนั้นก็ขึ้นอยู่กับข้อตกลงและ Requirement Specification ด้วย
สรุปขั้นตอนที่ 7
- ในการบำรุงรักษาอาจจะเกิดขึ้นได้จากสาเหตุดังต่อไปนี้
- ข้อผิดพลาดบางประการจากการเขียนคำสั่ง (Coding)
- การเพิ่มคุณสมบัติบางอย่าง (New Requirement)
- การบำรุงรักษาอาจหมายถึงทั้งในทาง Software, Hardware
- ข้อผิดพลาดบางประการจากการเขียนคำสั่ง (Coding)
- การเพิ่มคุณสมบัติบางอย่าง (New Requirement)
- การบำรุงรักษาอาจหมายถึงทั้งในทาง Software, Hardware
Software Engineering
- การพัฒนา Software มีลักษณะคล้ายกับการสร้างสิ่งก่อสร้าง บ้านเรือน
- คือ การมีกระบวนการทางวิศวกรรมเข้ามาช่วย ในการจัดวางโครงสร้าง
- คือ การมีกระบวนการทางวิศวกรรมเข้ามาช่วย ในการจัดวางโครงสร้าง
และพัฒนา Software ในแต่ละขั้นตอน
- ทำให้การพัฒนา Software มีความเป็นระบบระเบียบมากขึ้น สามารถตรวจสอบและติดตามผลได้
- มีประสิทธิภาพ
- ใช้ทรัพยากรน้อยแต่ผลงานมีคุณภาพ
- คงทนและสามารถใช้ได้ในระยะยาว
- ทำให้การพัฒนา Software มีความเป็นระบบระเบียบมากขึ้น สามารถตรวจสอบและติดตามผลได้
- มีประสิทธิภาพ
- ใช้ทรัพยากรน้อยแต่ผลงานมีคุณภาพ
- คงทนและสามารถใช้ได้ในระยะยาว
เปรียบเทียบ บ้าน VS ระบบ
คุณสมบัติของ Software ที่มีคุณภาพ
- มีความถูกต้อง (Correctness)
- มีความน่าเชื่อถือ (Reliability)
- ใช้งานง่าย (User friendliness)
- มีความง่ายต่อการปรับเปลี่ยน (Adaptability)
- สามารถนำกลับมาใช้งานใหม่ได้ (Reusability)
- มีความเข้ากันได้กับระบบที่แตกต่าง (Interoperability)
- มีประสิทธิภาพ (Efficiency)
- มีความสะดวกในการเคลื่อนย้าย (Portability)
- มีความปลอดภัย (Secutity)
- มีความน่าเชื่อถือ (Reliability)
- ใช้งานง่าย (User friendliness)
- มีความง่ายต่อการปรับเปลี่ยน (Adaptability)
- สามารถนำกลับมาใช้งานใหม่ได้ (Reusability)
- มีความเข้ากันได้กับระบบที่แตกต่าง (Interoperability)
- มีประสิทธิภาพ (Efficiency)
- มีความสะดวกในการเคลื่อนย้าย (Portability)
- มีความปลอดภัย (Secutity)
ขั้นตอนการพัฒนาที่มีคุณภาพ
การตรวจสอบ 2 ระดับ
Verification คือ การตรวจสอบความถูกต้องหลังจากยอมรับในรายละเอียด (Specification)
Validation คือ การตรวจสอบความถูกต้องโดยพิจารณาความต้องการของผู้ใช้งาน
Water Fall Model
- Water Fall Model หมายถึง โมเดลน้ำตก
- แสดงถึงการมีขั้นตอนการทำงานที่สามารถจะวนหรือย้อนกลับไปแก้ไขได้The Spiral Process Model
อ้างอิงมาจาก http://sci.feu.ac.th/boonrit/SA/S_1.ppt
ไม่มีความคิดเห็น:
แสดงความคิดเห็น