การพัฒนาโปรแกรมแบบ waterfall model มีลักษณะอย่างไร

วิธีการในการพัฒนา Software จะมีรูปแบบ (Model) ในการพัฒนาสองแบบใหญ่ ๆ คือ Waterfall model และ Iterative model

 

  1. Waterfall model

การพัฒนาโปรแกรมแบบ waterfall model มีลักษณะอย่างไร

 

เหมาะสมสำหรับการพัฒนาโปรแกรมสำเร็จรูปที่เป็นลักษณะ Mass product กล่าวคือผลิตออกมาทีละเยอะ ๆ เช่น MS Windows, MS Office ขั้นตอนต่าง ๆ มีรายละเอียดดังนี้

  • Requirement เป็นขั้นตอนในการเก็บความต้องการของผู้ใช้โปรแกรมว่า ผู้ใช้โปรแกรมต้องการโปรแกรมอะไร ทำงานอย่างไร
  • Analysis and design เป็นขั้นตอนในการเอาความต้องการของผู้ใช้มาวิเคราะห์ถึงความเป็นไปได้และความเหมาะสม เลือกเครื่องมือที่จะทำการพัฒนาโปรแกรม แล้วทำการออกแบบ (Design) โปรแกรม
  • Coding เป็นขั้นตอนของการเขียนโปรแกรมตามที่เราออกแบบมา
  • Testing เป็นขั้นตอนในการเอาโปรแกรมที่เขียนเสร็จแล้วมาทำการทดสอบหาข้อผิดพลาด
  • Product เมื่อทำการทดสอบจนแน่ใจแล้วว่าไม่มีข้อผิดพลาดก็นำโปรแกรมไปใช้งานจริง
  • Maintenance เป็นขั้นตอนในการดูแลผู้ใช้โปรแกรมว่ามีปัญหาในการใช้งานหรือไม่อย่างไร พร้อมให้คำปรึกษาและรับฟังข้อคิดเห็นเพื่อจะนำมาพัฒนาโปรแกรมในรุ่นถัดไป

 

  1. Iterative model

เนื่องจาก Waterfall model ขาดการรับฟังข้อคิดเห็นจากผู้ใช้โปรแกรม (Feedback) เพื่อที่จะนำมาปรับปรุงโปแกรมโดยทันที ทำให้โปรแกรมที่ออกมาไม่ตรงกับความต้องการของผู้ใช้โปรแกรมอย่างแท้จริง จึงทำให้เกิด Model ในการพัฒนาโปรแกรมแบบใหม่ที่เรียก Iterative model ซึ่งมีรายละเอียดดังนี้

SDLC ย่อมาจาก Systems Development Life Cycle ซึ่งเป็นแนวคิดของกระบวนการพัฒนาระบบ Software หรือโปรแกรมต่างๆ เป็นกระบวนการต่อเนื่องหลายขั้นตอน ตั้งแต่เริ่มคิดพัฒนาถึงสิ้นสุดกระบวนการพัฒนา จนกระทั่งโปรแกรมที่เราพัฒนาใช้งานได้

 

SDLC มีอยู่หลายโมเดล ได้แก่ Waterfall model, V-shaped model, Iterative model,  Agile model และ Spiral model ซึ่งแต่ละโมเดลมีกระบวนการทำงานที่ต่างกันบ้าง แต่ว่าทุกโมเดลล้วนเป็นขั้นตอนในการพัฒนาโปรแกรมจนสำเร็จทั้งสิ้น ขึ้นอยู่กับเราเลือกใช้

 

กระบวนการทำงานพื้นฐานของ SDLC

  1. Planning and requirement analysis : กระบวนการแรกของการพัฒนาโปรแกรม คือ เริ่มต้นเก็บข้อมูลความต้องการ แล้ววิเคราะห์ความต้องการของระบบที่จะเริ่มพัฒนา ซึ่งเป้าหมายของขั้นตอนนี้ คือ กำหนดคำจำกัดความโดยละเอียดของข้อกำหนดของระบบ กำลังทำอะไร และต้องการอะไร ซึ่งผู้ที่อยู่ในกระบวนการนี้ทุกคน ควรจะเข้าใจงานอย่างชัดเจนและนำข้อกำหนดทั้งหมดไปปฏิบัติอย่างไร
  2. Designing project architecture : กระบวนการที่ 2 ของกระบวนการพัฒนาโปรแกรม คือ แก้ปัญหาต่างๆ ที่รวบรวมได้ในกระบวนการแรก เริ่มออกแบบการทำงานของโปรแกรม กำหนดระยะเวลา งบประมาณ และเทคโนโลยีที่ใช้ในการพัฒนาโปรแกรม
  3. Development and programming : หลังจากผ่านการอนุมัติเงื่อนไขต่างๆ ตามข้อที่ 2 แล้ว ก็เข้าสู่กระบวนการพัฒนาโปรแกรม เริ่มการพัฒนาจริง งานของ Programmer และ Designer เริ่มต้นที่นี่ ด้วยการเขียนซอร์สโค้ดโดยคำนึงถึงข้อกำหนดที่กำหนดไว้ก่อนหน้านี้
    - Graphic Design
    - Source code writing
    - Testing and debugging
  4. Testing : เมื่อพัฒนาระบบจนเสร็จก็มาถึง ขั้นตอนทดสอบระบบ ซึ่งกระบวนนี้เป็นกระบวนการหาข้อบกพร่องของระบบทั้งหมด เพื่อให้นักพัฒนาเพื่อแก้ไข กระบวนการทดสอบจะทำซ้ำจนกว่าปัญหาจะหมด และโปรแกรมเสถียรที่สุด
  5. Deployment : เมื่อพัฒนาระบบจนเสร็จ พร้อมใช้งาน ก็เปิดให้บริการ-ใช้งานได้เลย ในขั้นนี้จะเริ่มมีคำติชม ของโปรแกรมที่พัฒนา ก็สามารถนำมาอัปเดตระบบได้

 

จากข้างต้น SDLC มีอยู่หลายโมเดล แต่ละโมเดลก็มีข้อดี-ข้อด้อย แต่ทุกโมเดลล้วนเป็นกระบวนการในการพัฒนาโปรแกรม ตั้งแต่เริ่มต้นจนสำเร็จทั้งสิ้น ส่วนทางทีมออกแบบและพัฒนาเว็บไซต์ ของ RM Online Services ได้เลือกใช้ Agile SDLC Model ในการออกแบบและพัฒนาเว็บไซต์

 

Waterfall SDLC Model

วิธีการของ Waterfall SDLC Model คือ ทำงานเรียงลำดับตามขั้นตอนการออกแบบและพัฒนาต่อเนื่องไปเรื่อยๆ โดย Output ของแต่ละขั้นตอน จะเป็น Input ของขั้นตอนถัดไป

ข้อดีของ Waterfall Model

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

ข้อเสียของ Waterfall Model

เนื่องจากขั้นตอนการทำงาน ถูกระบุไว้ชัดเจนในเอกสาร ทำให้ไม่ยืดหยุ่นต่อการแก้ไข เปลี่ยนแปลง มากนัก

 

การพัฒนาโปรแกรมแบบ waterfall model มีลักษณะอย่างไร

Waterfall SDLC Model Schema

 

V-shaped SDLC Model

วิธีการของ V-shaped SDLC Model คือ เป็นโมเดลที่ถูกพัฒนาต่อมาจาก Waterfall Model โดยเพิ่มการตรวจสอบคุณภาพและทดสอบส่วนต่างๆ ของการพัฒนาเนื่องจาก Waterfall Model นั้นไม่ได้ให้ความสำคัญด้านการทดสอบมากนัก จึงได้มีการพัฒนา V-shaped Model ขึ้นมา เพื่อทำหน้าที่ในส่วนนี้

 

การพัฒนาโปรแกรมแบบ waterfall model มีลักษณะอย่างไร

V-shaped SDLC Model Schema

 

Iterative SDLC Model

วิธีการของ Iterative SDLC Model คือ มีการเก็บข้อมูลความต้องการของผู้ใช้ในตัวโปรแกรมครั้งแรก แล้วนำข้อมูลนั้นมาวิเคราะห์มาใช้ออกแบบและพัฒนาโปรแกรม แล้วพัฒนาซ้ำๆ เพื่อปรับปรุงความสามารถ ปรับปรุง Version ของโปรแกรมไปเรื่อยๆ

 

การพัฒนาโปรแกรมแบบ waterfall model มีลักษณะอย่างไร

Iterative SDLC Model Schema

 

Agile SDLC Model

วิธีการของ Agile SDLC Model คือ หลังจากการพัฒนาแต่ละส่วนๆ ลูกค้าสามารถเห็นผลลัพธ์ ความคืบหน้าของการพัฒนาเรื่อยๆ ซึ่งเป็นข้อดีอย่างหนึ่งของแบบ Agile กล่าวคือ หากมีจุดใดไม่ตรงกับความต้องการ สามารถปรับแก้ไขได้ทันที และก็เป็นข้อเสียของแบบ Agile ด้วย คือ ทางผู้พัฒนาจะประเมินทรัพยากร ระยะเวลาและต้นทุนในการพัฒนายาก ซึ่งอาจจะต้องมีการประชุม ส่งความคืบหน้าอยู่เสมอ

 

การพัฒนาโปรแกรมแบบ waterfall model มีลักษณะอย่างไร

Agile SDLC Model Schema

 

Spiral SDLC Model

วิธีการของ Spiral SDLC Model คือ เป็นโมเดลรูปแบบเกลียว มุ่งเน้นด้านประเมินความเสี่ยงเพื่อลดความเสี่ยงของโครงการ โดยจะแบ่งโครงสร้างใหญ่ ออกเป็นโครงการย่อยๆ ซึ่งจะช่วยให้การปรับเปลี่ยนความต้องการ ทำได้ง่ายขึ้น และระหว่างขั้นตอนการออกแบบและพัฒนา จะมีการประเมินความเสี่ยงและความต่อเนื่องของโครงการอยู่เรื่อยๆ

การพัฒนาโปรแกรม Waterfall Model มีลักษณะอย่างไร

Waterfall Model เป็น Seriesของขั้นตอนการทำงาน คล้ายสายงานการผลิต (Product Line) รูปแบบการจัดการผลิต Software รูปแบบหนึ่ง ซึ่งจะเหมือนน้ำตกที่ไหลจากบนลงล่างเท่านั้น โดย Model ชนิดนี้จะมีการทำงานแบบทำให้เสร็จสิ้นทีละ Stage แบบ 100 % จากนั้นค่อยเริ่มทำ Stage ถัดไป แต่ละขั้น หน้าที่และProduct ถูกกำหนดอย่างชัดเจน

ข้อใดเป็นแบบจำลองน้ำตก

ทฤษฎีแบบจำลองน้ำตก (อังกฤษ: Waterfall Model) เป็นการศึกษาถึงความเหมาะสม กำหนดปัญหา หรือการศึกษาความเป็นไปได้ (Feasibility Study) เป็นหน้าที่ของนักวิเคราะห์ระบบ ในการพัฒนาซอฟต์แวร์ จะเน้นศึกษาใน 5 ประการ คือ ความเหมาะสมทางด้านเทคนิค (Technical Feasibility) - ศึกษาด้านฮาร์ดแวร์ ซอฟต์แวร์ เหมาะสมหรือไม่

ทำไมรูปแบบการพัฒนาแบบ Waterfall Model ถึงไม่ได้รับความนิยมในปัจจุบัน

ข้อเสียของ Waterfall Model. · คือลูกค้าเห็นและทดลองใช้ Software ก็ต่อเมื่อถึงขั้นตอนสุดท้าย หากมีบางอย่างที่ไม่ตรงกับความต้องการของลูกค้า การแก้ไขยาก แพง เสียเวลา ข้อจำกัดของ Waterfall Model. · ถ้าค้นพบข้อผิดพลาดของขั้นที่เสร็จสิ้นแล้ว ไม่สามารถแก้ไขได้ การแก้ไขจำเป็นต้องเริ่มรอบ (Iteration)ใหม่

ข้อใดเป็นการพัฒนาระบบแบบ Waterfall

Waterfall Model คือ โมเดลที่มีขั้นตอนการดำเนินงานที่ชัดเจนและง่ายต่อการนำไปใช้จริง โดยใช้วงจรชีวิตแบบฉบับ (Class Lift Cycle) หมายถึง การเรียงลำดับงานในการพัฒนาซอฟต์แวร์ โดยเริ่มด้วยการกำหนดความต้องการของลูกค้า การวางแผน การสร้างแบบจำลองการพัฒนาซอฟต์แวร์ และการให้ความเหลือในการใช้งานซอฟต์แวร์