SDLC Model คืออะไร? มีขั้นตอนอย่างไรบ้าง?

  • 3 ก.พ. 6411,769
SDLC 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 SDLC Model Schema

Waterfall SDLC Model Schema

 

V-shaped SDLC Model

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

 

V-shaped SDLC Model Schema

V-shaped SDLC Model Schema

 

Iterative SDLC Model

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

 

Iterative SDLC Model Schema

Iterative SDLC Model Schema

 

Agile SDLC Model

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

 

Agile SDLC Model Schema

Agile SDLC Model Schema

 

Spiral SDLC Model

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

 

Spiral SDLC Model Schema

Spiral SDLC Model Schema


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

 

บทความล่าสุด