วันพฤหัสบดีที่ 25 พฤศจิกายน พ.ศ. 2553

วงจรการพัฒนาระบบ SDLC


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 ที่สนับสนุนการสร้างโปรแกรมที่มีประสิทธิภาพ
   กับงานนั้น ๆ ด้วย

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

ขั้นตอนที่ 4 

5. การทดสอบ (Testing)
- เป็นขั้นตอนของการทดสอบระบบก่อนที่จะนำไปใช้งานจริง
- โดยนำเอาระบบหรือโปรแกรมที่สร้างมาทดสอบกับข้อมูลเบื้องต้นเสียก่อน
- ซึ่งถ้าหากเกิดข้อผิดพลาดจะต้องย้อนกลับไปขั้นที่ 4 อีกครั้ง
- การตรวจสอบระบบทั้ง 2 ประเภท
   - ตรวจสอบ Syntax
   - ตรวจสอบ Objective

สรุปขั้นตอนที่ 5
- ระหว่างพัฒนาจะต้องมีการทดสอบระบบไปด้วย 
- โดยทำการทดสอบด้วยข้อมูลที่จำลองขึ้น
- ทดสอบระบบด้วยการตรวจสอบทั้ง Verification และ Validation
   - Verification = การตรวจสอบความถูกต้องโดยรายละเอียดงาน
   - Validation = การตรวจสอบความถูกต้องโดยความต้องการของผู้ใช้งาน

6. การติดตั้ง (Implementation)
- เมื่อระบบได้ทำการสร้างจนเสร็จสมบูรณ์แล้ว (ทดสอบแล้ว)
- จึงต้องมีการติดตั้งระบบเพื่อให้ระบบได้มีการใช้งานจริงต่อไป

สรุปขั้นตอนที่ 6
- ควรศึกษาและสังเกตสิ่งแวดล้อมของระบบก่อนติดตั้ง
- เตรียมความพร้อมของ SW, HW, Network System
- ในบางขั้นตอนอาจจำเป็นต้องใช้ผู้เชี่ยวชาญระบบ
- ควรมีคู่มือการใช้งานระบบ และการอบรมการใช้ระบบงานควบคู่กันไปหลังการติดตั้งระบบ 
   เพื่อการใช้ระบบได้อย่างมีประสิทธิภาพมากขึ้น

7. การบำรุงรักษา (Maintenance)
- ระบบที่สร้างขึ้นทุก ๆ ระบบ ไม่มีระบบใดที่เสถียรตลอดเวลา 
- เพราะต้องเปลี่ยนแปลงไปตามสิ่งแวดล้อมและความต้องการของผู้ใช้ 
   หรือข้อผิดพลาดที่เกิดขึ้นด้วยสาเหตุใดใดก็ตาม
- โปรแกรมเมอร์หรือผู้พัฒนาต้องรีบปรับปรุงแก้ไขให้ถูกต้อง
- ทั้งนี้และทั้งนั้นก็ขึ้นอยู่กับข้อตกลงและ Requirement Specification ด้วย

สรุปขั้นตอนที่ 7
- ในการบำรุงรักษาอาจจะเกิดขึ้นได้จากสาเหตุดังต่อไปนี้
   - ข้อผิดพลาดบางประการจากการเขียนคำสั่ง (Coding)
   - การเพิ่มคุณสมบัติบางอย่าง (New Requirement)
- การบำรุงรักษาอาจหมายถึงทั้งในทาง Software, Hardware

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

เปรียบเทียบ บ้าน VS ระบบ

คุณสมบัติของ Software ที่มีคุณภาพ
- มีความถูกต้อง (Correctness)
- มีความน่าเชื่อถือ (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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น