วัฏจักรการพัฒนาระบบ SDLC คืออะไร และมีประโยชน์อย่างไร

วัฏจักรการพัฒนาซอฟต์แวร์ หรือ Software Development Life Cycle เป็นวัฏจักรพื้นฐานในการพัฒนาซอฟต์แวร์ หรือโปรแกรมคอมพิวเตอร์ ให้มีประสิทธิภาพมากยิ่งขึ้น นับตั้งแต่เริ่มเก็บความต้องการ (Get Requirement) ไปจนถึงการสำรวจความเห็นย้อนกลับ (Feedback) มาที่ผู้พัฒนา

Software Development Life Cycle มีส่วนประกอบพื้นฐาน ดังต่อไปนี้

1. Planning: วางแผนโครงการ

การวางแผนการพัฒนาซอฟต์แวร์ เริ่มต้นจาก การเก็บความต้องการ (Get Requirement) ทั้งจากลูกค้า (Customer) หรือผู้ใช้งาน (User) อาจจะเป็นการกำหนดจากขั้นตอนทางธุรกิจ หรือ Business Process ก็ได้

2. Analysis: วิเคราะห์โครงการ

เมื่อเราได้ความต้องการจากลูกค้า หรือผู้ใช้งานแล้ว จะเข้าสู่ขั้นตอนการวิเคราะห์ระบบ ซึ่งจะต้องวิเคราะห์ความคุ้มค่าในการลงทุน (Return On Investment: ROI) ว่าคุ้มค่าในการดำเนินการต่อหรือไม่

เมื่อเราคำนวณความคุ้มค่าของโครงการแล้ว จึงจะนำมาจัดทำขอบเขตของโครงการ หรือ Project Scope Of Work เพื่อกำหนดขอบเขตการพัฒนาซอฟต์แวร์ว่าเราจะทำหรือไม่ทำอะไรบ้าง โดยขั้นตอนนี้จะต้องสรุปกับลูกค้า หรือผู้ใช้งาน ตามความต้องการ (Requirement) ที่ได้เก็บมาตั้งแต่ต้น จนได้ข้อสรุปที่ตกลงได้ทั้ง 2 ฝ่าย

เมื่อเราสามารถสรุปขอบเขตของโครงการได้แล้ว ขั้นตอนต่อไปคือ การทำแผนการปฏิบัติการ หรือ Action Plan เพื่อกำหนดการทำงานภายใต้ระยะเวลาตามที่ได้สรุปกับลูกค้า หรือผู้ใช้งาน ในขอบเขตของโครงการ (Project Scope Of Work)

3. Design: ออกแบบระบบ

การออกแบบระบบนี้ นอกจากการออกแบบทางด้านซอฟต์แวร์ ทั้งหน้าจอตอบสนองผู้ใช้งาน (User Interface: UI) และการโค้ดซอฟต์แวร์ (Software Coding) ด้วยการทำรายละเอียดซอฟต์แวร์ หรือ Software Specification แต่จะรวมถึงการออกแบบฐานข้อมูล (Database Design) และเครือข่าย (Network Design) ด้วย เพื่อให้ซอฟต์แวร์สามารถทำงานได้ตามความต้องการของลูกค้า หรือผู้ใช้งาน

4. Implementation: พัฒนาซอฟต์แวร์และติดตั้ง

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

ขั้นตอนนี้จะทำอยู่ในสภาวะแวดล้อมทดสอบ หรือ Test Environment

5. Testing & Integration: ทดสอบและนำไปใช้งาน

หลังจากพัฒนาซอฟต์แวร์แล้ว ขั้นตอนต่อไปคือการทดสอบและการบูรณาการ จะต้องทำการทดสอบจนกว่า ความผิดพลาดของซอฟต์แวร์ หรือบั๊ก (Bug) จะลดน้อยมากที่สุด หรือไม่มีเลยก็ยิ่งดี

การทดสอบซอฟต์แวร์จะมี 2 ขั้นตอน คือ

– การทดสอบระบบย่อย หรือ Unit Test เป็นการทดสอบระบบย่อยๆทีละระบบว่า สามารถทำงานได้ตามที่ออกแบบไว้หรือไม่

– การทดสอบทั้งระบบ หรือ System Integrate Test (SIT) เป็นการเอาระบบย่อยๆ หลายๆระบบ มารวมกันให้ทำงานอย่างต่อเนื่อง เพื่อให้ตรงตามความต้องการที่เก็บมาจากลูกค้า หรือผู้ใช้งาน

เมื่อทำการทดสอบเสร็จแล้ว จึงจะนำไปให้ลูกค้า หรือผู้ใช้งาน ทำการทดสอบครั้งสุดท้ายก่อนใช้งานจริง (User Acceptance Test: UAT) เมื่อลูกค้า หรือผู้ใช้งานทดสอบระบบและลงนามในเอกสาร UAT เป็นที่เรียบร้อยแล้ว จึงจะเริ่มใช้งานระบบจริง หรือ Go Live โดยการนำระบบที่อยู่ในสภาวะแวดล้อมทดสอบ (Test Environment) ขึ้นไปที่สภาวะแวดล้อมใช้งานจริง (Production Environment)

6. Maintenance: บำรุงรักษาซอฟต์แวร์

เมื่อทำการ Go Live ระบบแล้ว ขั้นตอนต่อไปคือ การบำรุงรักษาซอฟต์แวร์

เมื่อใช้งานไปสักระยะ ลูกค้า หรือผู้ใช้งาน อาจจะพบข้อผิดพลาดของซอฟต์แวร์ (Bug) เพิ่มเติม หากสามารถแก้ไขได้ ก็ให้ทำการแก้ไข

แต่ถ้าหากแก้ไขไม่ได้ จำเป็นต้องพัฒนาซอฟต์แวร์เพิ่มเติม ก็ให้ย้อนกลับไปทำตั้งแต่ข้อ 1 วางแผนและเก็บความต้องการจากลูกค้า หรือผู้ใช้งานใหม่อีกครั้ง

ขั้นตอนการปฏิบัติงาน คือ ขั้นตอนการทำงานเพื่อให้ได้สารสนเทศที่ต้องการ โดยมีกระบวนการทำงานของระบบสารสนเทศแบ่งเป็น 4 ขั้นตอนหลัก คือ
           1. การนำข้อมูลเข้าสู่ระบบ
           2. การประมวลผลข้อมูล
           3. การแสดงผล
           4. การจัดเก็บข้อมูล
     องค์ประกอบของระบบสารสนเทศในส่วนนี้ จัดเป็นกระบวนการที่นำเอาทุกส่วนมาปฏิบัติร่วมกัน ด้วยการวิเคราะห์และออกแบบระบบสารสนเทศที่เหมาะสม และตรงตามความต้องการของผู้ใช้งานมากที่สุด เรียกว่า วงจรการพัฒนาระบบ (SDLC : System Development Lift Cycle) ซึ่งจะแสดงกิจกรรมต่างๆ ภายในระบบสารสนเทศที่ต้องการ โดยเป็นการวิเคราะห์เชิงโครงสร้าง (Structured Analysis) ซึ่งสามารถแบ่งเป็นขั้นตอนต่างๆ ได้ 6 ขั้นตอน คือ
           1. การวางแผนระบบ (System Planning)
           2. การวิเคราะห์ระบบ (System Analysis)
           3. การออกแบบระบบ (System Design)
           4. การพัฒนาระบบ (System Development)
           5. การติดตั้งระบบ (System Implementation)
           6. การดูแลรักษาระบบ (System Maintenance)

วัฏจักรการพัฒนาระบบ SDLC คืออะไร และมีประโยชน์อย่างไร

รูปแสดงวงจรการพัฒนาระบบ SDLC

การวางแผนระบบ (System Planning) เป็นขั้นตอนแรกสุดของการพัฒนาระบบสารสนเทศ ในการวางแผนระบบสารสนเทศนั้นมีจุดมุ่งหมายเพื่อการตรวจสอบระบบงานเบื้องต้น (Initial Investigation) เช่น
          การรับรู้สภาพปัญหาที่เกิดขึ้นของระบบงานเดิม
          การหาสาเหตุของปัญหาที่เกิดจากระบบงานเดิม
          การทำการศึกษาความเป็นไปได้ในแง่มุมต่างๆ เช่น ต้นทุนและทรัพยากร
          การรวบรวมความต้องการจากผู้ที่เกี่ยวข้อง เช่น การรวบรวมเอกสาร การสัมภาษณ์ การสังเกต และการออกแบบสอบถาม

     ดังนั้นจึงต้องมีการสำรวจเบื้องต้น (Preliminary Investigation) เพื่อศึกษาสิ่งต่อไปนี้
     1. การกำหนดปัญหาและความต้องการ (Determination of Problems and Requirements) ตัวอย่างปัญหาที่เกิดจากระบบงานเดิม เช่น
          ระบบเดิมไม่ตอบสนองความต้องการที่แท้จริงของผู้ใช้ หรือขาดการประสานงานที่ดี
           ระบบเดิมอาจไม่สนับสนุนงานในอนาคต
          ระบบเดิมมีองค์ประกอบของเทคโนโลยีไม่เหมาะสมหรือล้าสมัย
          ระบบเดิมมีการดำเนินงานที่ผิดพลาดบ่อย
     2. การกำหนดวัตถุประสงค์ (Specification of Objectives) เป็นการกำหนดให้แน่ชัดว่าจะแก้ไขปัญหาอะไรบ้างจากปัญหาทั้งหมด
     3. การศึกษาความเป็นไปได้ (Feasibility Study) หรือความเหมาะสม ซึ่งพิจารณาจาก
          ความเป็นไปได้ทางเทคนิค (Technical Feasibility) คือความเป็นไปได้ในการสร้างระบบงานใหม่ เช่น การจัดหาเครื่องคอมพิวเตอร์ที่ทันสมัยหรือการใช้เทคโนโลยีใหม่ๆ
          ความเป็นไปได้ในการปฏิบัติงาน (Operational Feasibility) คือความเป็นไปได้ที่ระบบงานใหม่จะตรงกับความต้องการของผู้ใช้ ซึ่งต้องคำนึงถึงทักษะของผู้ใช้ด้วย
          ความเป็นไปได้ในเชิงเศรษฐศาสตร์ (Economical Feasibility) คือความเป็นไปได้ในเรื่องงบประมาณ เงินลงทุน ค่าใช้จ่าย และความคุ้มค่า


การวิเคราะห์ระบบ (System Analysis) เป็นขั้นตอนการวิเคราะห์ระบบงานปัจจุบันหรือระบบงานเดิม ซึ่งอาจเป็นระบบที่ใช้คอมพิวเตอร์อยู่หรือไม่ก็ได้ เพื่อให้ทราบถึงรายละเอียดของระบบงานที่ใช้อยู่ ข้อดี ข้อเสีย ทรัพยากร และความเหมาะสมของระบบงานในแต่ละส่วน เพื่อเตรียมการปรับเปลี่ยนให้เป็นระบบสารสนเทศใหม่ สิ่งที่จะต้องวิเคราะห์ระบบมีดังนี้
          วิเคราะห์ถึงปัญหาหลักและปัญหารองที่เกิดขึ้นในระบบ (Redefine the Problem)
          ทำความเข้าใจถึงระบบงานเดิม (Understand Existing System)
          กำหนดความต้องการของผู้ใช้ระบบ และข้อจำกัดในการใช้ระบบงานใหม่ (User Requirements and Constrains)
          เสนอทางเลือกในการออกแบบระบบ โดยการสร้างแบบจำลองเชิงตรรกะ (Logical Model) เช่น Database Model Diagram, ER Source Model และ ORM Diagram     ในการวิเคราะห์ข้อมูลโดยส่วนใหญ่มักวิเคราะห์ออกมาในรูปของแผนภาพการไหลของข้อมูล (DFD : Data Flow Diagram) ซึ่งเป็นแผนภาพที่แสดงการไหลของข้อมูลทั้งระบบ และช่วยในการสื่อสารระหว่างนักวิเคราะห์ระบบกับผู้ใช้ระบบ


การออกแบบระบบ (System Design) เป็นการนำผลลัพธ์ที่ได้จากการวิเคราะห์ระบบมาพัฒนาเป็นรูปแบบทางกายภาพ (Physical Model) โดยเริ่มจากการออกแบบงานทางด้านฮาร์ดแวร์และซอฟต์แวร์ ทั้งในส่วนนำข้อมูลเข้า (Input) ส่วนประมวลผล (Process) ส่วนแสดงผลลัพธ์ (Output) ส่วนจัดเก็บข้อมูล (Storage) การออกแบบจำลองข้อมูล การออกแบบรายงานและการออกแบบหน้าจอในการติดต่อกับผู้ใช้ระบบ ซึ่งจะต้องมุ่งเน้นการวิเคราะห์ว่าช่วยแก้ปัญหาอะไร (What) และการออกแบบช่วยแก้ปัญหาอย่างไร (How)


การพัฒนาระบบ (System Development) ประกอบไปด้วยการเขียนโปรแกรมเพื่อสร้างระบบงาน การทดสอบโปรแกรมหน่วยย่อย (Unit Test) การทดสอบระบบรวม (System Integration Test) การแก้ไขข้อผิดพลาดที่พบ (Bug) ตลอดจนการจัดทำเอกสาร (Document) ต่างๆ ทั้งในส่วนของเอกสารโปรแกรม เอกสารระบบ และคู่มือการฝึกอบรมสำหรับผู้ปฏิบัติงานข้อควรคำนึงในการพัฒนาระบบ คือ การเลือกภาษาคอมพิวเตอร์ที่เหมาะสมและพัฒนาต่อได้ง่าย


การติดตั้งระบบ (System Implementation) เป็นขั้นตอนการส่งมอบระบบงานเพื่อนำไปใช้จริง โดยจะรวมถึงการจัดเตรียมแฟ้มข้อมูลหรือฐานข้อมูลของระบบ การอบรมผู้ที่เกี่ยวข้อง การปรับเปลี่ยนระบบงานเดิมมาใช้ระบบงานใหม่ ซึ่งจะต้องคำนึงถึงสภาพแวดล้อมของพื้นที่ที่จะติดตั้ง อุปกรณ์ที่ใช้ และผู้เชี่ยวชาญหรือทีมงานด้านเทคนิค (Technical Support) ที่เกี่ยวข้อง จากนั้นจึงติดตั้งโปรแกรมให้ครบถ้วน


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




ที่มา : ครูอนุชิต กลิ่นกำเนิด. เว็บไซต์องค์ประกอบของระบบสารสนเทศ.   http://srayaisom.dyndns.org/webinformation/step.html































วงจร การ พัฒนา ระบบ SDLC คือ อะไร

วงจรการพัฒนาระบบ (System Development Life Cycle : SDLC) คือ การแบ่งขั้นตอนกระบวนการพัฒนาระบบงาน หรือระบบเทคโนโลยีสารสนเทศด้วย เพื่อช่วยแก้ปัญหาทางธุรกิจหรือตอบสนองความต้องการขององค์กรโดยระบบที่จะพัฒนานั้นอาจเป็นการพัฒนาระบบใหม่หรือการปรับปรุงระบบเดิมให้ดีขึ้นก็ได้ การพัฒนาระบบแบ่งออกเป็น 7 ขั้นตอน ดังนี้

SDLC มีประโยชน์อย่างไร

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

System Development Lift Cycle หรือ SDLC ประกอบด้วยอะไรบ้าง จงอธิบาย

ตามทฤษฎีวงจรการพัฒนาระบบ (System Development life Cycle : SDLC) 7 ขั้นตอน 1. การค้นหาปัญหาขององค์กร (Problem Study) 2. การศึกษาความเหมาะสม (Feasibility Study) 3. การวิเคราะห์ระบบ (System Analysis) 4. การออกแบบระบบ (System Design) 5. การพัฒนา และการทดสอบระบบ (Development and Test) 6. การติดตั้งระบบ (System Implement) 7. ...

วงจรการพัฒนาระบบฐานข้อมูลมีกี่ขั้นตอน อะไรบ้าง

1. DBLC : วงจรชีวิตของการพัฒนาระบบฐานข้อมูล.
1. Initial study : การศึกษาเบื้องต้น ... .
2. Database design : การออกแบบฐานข้อมูล ... .
3. Implementation & loading : สร้างฐานข้อมูล ... .
4. Testing & Evaluation : การทดสอบ และประเมิน ... .
5. Operation : การใช้งานจริง ... .
6. Maintenance : การบำรุงรักษา.