เริ่มต้นด้วย... Software Processes

  • Software specifications ➜ ข้อกำหนดและขอบเขตต่างๆ ของซอฟต์แวร์
  • Software development ➜ การพัฒนาซอฟต์แวร์ให้ตรงตามความต้องการ
  • Software validation ➜ ซอฟต์แวร์ต้องได้รับการตรวจสอบเพื่อให้แน่ใจว่าตรงกับตามความต้องการ
  • Software evolution ➜ ซอฟต์แวร์ต้องพัฒนาเพื่อตอบสนองความต้องการของลูกค้าที่เปลี่ยนแปลงไป

SDLC คืออะไร?

SDLC ย่อมาจาก Software Development Life Cycle คือ แนวคิดกระบวนการพัฒนาซอฟต์แวร์ โดยจะสามารถแบ่งได้เป็น 6 ขั้นตอนดังนี้

SDLC_BWC_hover
SDLC_BWC

1st Planning and Requirement Analysis

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

  • Google Jamboard
  • Google Sheet

2nd Defining Requirements

ข้อกำหนดและขอบเขตต่างๆ ของซอฟต์แวร์ โดยจัดทำเป็นเอกสาร SRS (Software Requirement Specification) โดยจะมีหัวข้อตัวอย่างดังนี้

  1. Introduction (บทนำ)▼
    1. จุดมุ่งหมาย
    2. ผู้ชม
    3. วัตถุประสงค์การใช้งาน
    4. ขอบเขต
    5. คำย่อและคำจำกัดความ
  2. Overall Description (ลักษณะโดยทั่วไป)▼
    1. ความต้องการของผู้ใช้
    2. การพึ่งพาและสมมติฐาน
  3. System Features and Requirements (ข้อกำหนดและคุณสมบัติของระบบ)▼
    1. ความต้องการการทำงาน
    2. ข้อกำหนดอินเทอร์เฟซภายนอก
    3. คุณสมบัติของระบบ
    4. ข้อกำหนดที่ไม่เป็นไปตามข้อกำหนด

3rd Designing the Product Architecture

ขั้นตอนการออกแบบการทำงานของโปรแกรม กำหนดระยะเวลา งบประมาณ และเทคโนโลยีต่างๆ ที่ใช้ในการพัฒนา โดยสามารถทำเป็นเอกสาร DDS (Design Document Specification) ได้ เครื่องมือที่เกี่ยวข้องดังนี้

  • Gantt Chart
  • Wireframe
  • UML diagram
  • Sequence diagram
  • Flow Chart
  • User Interface
  • Infrastructure diagram
  • etc.

4th Building or Developing the Product

เริ่มขั้นตอนการพัฒนาโปรแกรม ในขั้นตอนการเขียนซอร์สโค้ดเพื่อให้เป็นไปตามมาตรฐานอาจจะมีการนำเครื่องมือต่างๆ มาช่วยในการพัฒนาดังนี้

  • Sonarqube
  • etc.

5th Testing the Product

ขั้นตอนการทดสอบระบบหาขอบกพร่องต่างๆ ของซอฟต์แวร์ เพื่อให้นักพัฒนาทำการแก้ไขทำให้โปรแกรมเสถียรที่สุด

6th Deployment in the Market and Maintenance

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

SDLC Models ต่างๆ ที่ใช้ในการพัฒนา

  • Waterfall Model
  • Iterative Model
  • Agile Model
  • Spiral Model
  • V-Model
  • Big Bang Model