2 ตัวแบบการพัฒนาซอฟต์แวร์ (Software development models)
ตัวแบบหรือโมเดลเพื่อการพัฒนาซอฟต์แวร์โดยทั่วไปมีดังนี้
ตัวแบบ
|
คำอธิบาย
|
ลักษณะ
|
ตัวแบบน้ำตก
(Waterfall
model)
|
ตัวแบบการพัฒนาที่แบ่งกระบวนการออกเป็นกระบวนการย่อยเชิงลำดับเป็นขั้นเป็นตอนโดยไม่มีการย้อนกลับ
คล้ายกับน้ำตกที่ไหลลงไม่ไหลย้อน โดยการแบ่งระบบออกเป็นระบบย่อยๆ เพื่อสามารถทบทวนการวิเคราะห์
การออกแบบ การพัฒนา การทดสอบ และการนำไปใช้ ตามลำดับได้อย่างเป็นขั้นตอน โดยอาจเรียกว่าตัวแบบเชิงลำดับก้าวหน้า
(incremental
model)
|
เป็นระเบียบวิธีในการพัฒนาระบบที่ใช้กันโดยทั่วไป
สามารถประเมินค่าใช้จ่ายได้โดยง่าย
และนิยมใช้ในการพัฒนาระบบที่มีขอบเขตใหญ่โดยทั่วไป
อย่างไรก็ตาม
การทำงานทั้งหมดต้องมีการทำซ้ำหากข้อกำหนดในการพัฒนาระบบมีการเปลี่ยนแปลงมาก
|
ตัวแบบเกลียว
(Spiral
model)
|
ตัวแบบในการพัฒนาที่แบ่งระบบออกเป็นระบบย่อยๆ
และมีการทำซ้ำเป็นวนรอบจาก การวิเคราะห์ความต้องการ (requirements analysis) จนถึง การดำเนินการ (operation) ในแต่ละระบบย่อย
เป็นตัวแบบการพัฒนาที่ยอมให้มีการขยายระบบที่ถูกพัฒนาได้
|
สามารถลดระยะเวลาในการพัฒนาตั้งแต่ระบบย่อยแรกถูกดำเนินการ
แต่ละระบบย่อยได้รับการตรวจรับรองโดยผู้ใช้
ทำให้ตัวแบบเกลียวสามารถดำเนินการพัฒนาตามขั้นตอนต่อไปตามวนรอบได้
|
ตัวแบบต้นแบบ
หรือแบบโปรโตไทป์ (Prototyping
model)
|
ตัวแบบการพัฒนาระบบที่สร้างระบบต้นแบบหรือโปรโตไทป์
(prototypes) จากกระบวนการในการพัฒนาระบบขั้นตอนแรกๆ แบบเดียวกับตัวแบบน้ำตกเพื่อให้ได้ระบบต้นแบบจากนั้นนำไปให้ผู้ใช้ทดลองใช้
และหากผู้ใช้สามารถยอมรับได้
ก็จะนำต้นแบบที่ได้ไปใช้งานจริงทำให้ได้ระบบเร็วกว่าแบบน้ำตกและแบบเกลียว
|
เป็นตัวแบบที่สามารถใช้ลดความเข้าใจผิดในการพัฒนาระบบที่อาจเกิดขึ้นระหว่างผู้พัฒนาระบบกับผู้ใช้ระบบ
ซึ่งอาจเกิดขึ้นในช่วงเริ่มต้นของการพัฒนาระบบลงได้
อันอาจส่งผลกระทบในการสร้างความเข้าใจของผู้ใช้ระบบที่มีต่อระบบ
อย่างไรก็ตามหากมีการสร้างโปรโตไทป์ขึ้นซ้ำๆ
อาจส่งผลต่อการบริหารจัดการค่าใช้จ่ายได้
|
อ้างอิง
ข้อควรระวังเกี่ยวกับตัวแบบน้ำตก
(Precautions
about the waterfall model)
ด้วยการพัฒนาระบบตามตัวแบบน้ำตกไม่สามารถดำเนินการตามกระบวนการแต่ละขั้นตอนแบบพร้อมกันหรือแบบคู่ขนานได้
ต้องทำทีละขั้นตอน
หากต้องการลดระยะเวลาการทำงานในแต่ละกระบวนการลงสามารถทำได้ด้วยการทำงานแบบคู่ขนาน
(parallel) ภายในแต่ละกระบวนการเอง อย่างไรก็ตามการทำงานในลักษณะนี้ต้องการจำนวนคนและเวลาเพื่อการทำงานแบบคู่ขนาน
(parallel work) ที่เพิ่มขึ้น รวมถึงค่าใช้จ่ายมีแนวโน้มที่จะเพิ่มมากขึ้นหรือสูงกว่าการทำงานแบบปกติหรือไม่มีการทำงานแบบคู่ขนาน
RAD: Rapid Application
Development (การพัฒนาแอพพลิเคชั่นแบบรวดเร็ว)
RAD เป็นระเบียบวิธีในการพัฒนาระบบประเภทหนึ่งที่แบ่งระบบออกเป็นระบบย่อย
แล้วทำการพัฒนาแต่ละระบบย่อยโดยเริ่มจากระบบย่อยที่มีความสำคัญสูงสุดก่อน (highest
priority) ตามลำดับ
โดยมีเป้าหมายเพื่อสามารถพัฒนาระบบด้วยระยะเวลาอันสั้น และค่าใช้จ่ายต่ำ โดยอาศัยเครื่องมือการพัฒนาซอฟต์แวร์ที่มีความซับซ้อน
RAD เป็นระเบียบวิธีที่นิยมใช้ในตัวแบบการสร้างต้นแบบ
(Demo version)
วิศวกรรมย้อนกลับ (Reverse engineering)
วิศวกรรมย้อนกลับ
เป็นเทคนิคในการสร้างซอฟต์แวร์ขึ้นใหม่จากซอฟต์แวร์เดิม โดยการแตกซอฟต์แวร์เดิมที่มีอยู่แล้ว
(breaking down) ออกเป็นส่วนย่อยๆ และทำการวิเคราะห์ซอฟต์แวร์เหล่านั้น นอกจากนี้ยังเป็นเทคนิคที่อาจรวมถึงการศึกษาความสัมพันธ์ระหว่างแต่ละโมดูล
และทำการวิเคราะห์คุณสมบัติพื้นฐานของแต่ละระบบ ซึ่งเป็นกระบวนการพัฒนาที่นำมาใช้เพื่อรักษาความเข้ากันได้ของซอฟต์แวร์ที่มีอยู่เดิม
No comments:
Post a Comment