ระยะและแบบจำลองของวงจรชีวิตการพัฒนาซอฟต์แวร์ (SDLC)

SDLC คืออะไร?

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

ทำไมต้อง SDLC?

นี่คือเหตุผลสำคัญว่าทำไม SDLC จึงมีความสำคัญต่อการพัฒนาระบบซอฟต์แวร์

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

 

เฟส SDLC

กระบวนการ SDLC ทั้งหมดแบ่งออกเป็นขั้นตอน SDLC ดังต่อไปนี้:

เฟส SDLC
เฟส SDLC
  • ระยะที่ 1: การรวบรวมและการวิเคราะห์ความต้องการ
  • ระยะที่ 2: การศึกษาความเป็นไปได้
  • ระยะที่ 3: การออกแบบ
  • ขั้นตอนที่ 4: การเข้ารหัส
  • ขั้นตอนที่ 5: การทดสอบ
  • ขั้นตอนที่ 6: การติดตั้ง/การใช้งาน
  • ขั้นตอนที่ 7: การบำรุงรักษา

ในบทช่วยสอนนี้ ฉันได้อธิบายขั้นตอนวงจรชีวิตการพัฒนาซอฟต์แวร์ทั้งหมดเหล่านี้แล้ว

ระยะที่ 1: การรวบรวมและการวิเคราะห์ความต้องการ

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

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

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

ระยะที่ 2: การศึกษาความเป็นไปได้

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

การตรวจสอบความเป็นไปได้มีห้าประเภทหลักๆ:

  • เศรษฐกิจ เราสามารถดำเนินโครงการให้แล้วเสร็จภายในงบประมาณได้หรือไม่?
  • ทางกฎหมาย: เราสามารถจัดการโครงการนี้ในฐานะกฎหมายไซเบอร์และกรอบ/การปฏิบัติตามกฎระเบียบอื่นๆ ได้หรือไม่
  • Operaความเป็นไปได้: เราสามารถสร้างการดำเนินการตามที่ลูกค้าคาดหวังได้หรือไม่
  • วิเคราะห์ทางเทคนิค: จำเป็นต้องตรวจสอบว่าระบบคอมพิวเตอร์ปัจจุบันสามารถรองรับซอฟต์แวร์ได้หรือไม่
  • ตารางออกตรวจ: ตัดสินใจว่าโครงการจะแล้วเสร็จภายในกำหนดเวลาที่กำหนดหรือไม่

ระยะที่ 3: การออกแบบ

ในระยะที่สามนี้ เอกสารการออกแบบระบบและซอฟต์แวร์จะได้รับการจัดเตรียมตามเอกสารข้อกำหนด ซึ่งจะช่วยกำหนดสถาปัตยกรรมระบบโดยรวม

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

เอกสารการออกแบบที่พัฒนาขึ้นในระยะนี้มีสองประเภท:

การออกแบบระดับสูง (HLD)

  • คำอธิบายโดยย่อและชื่อของแต่ละโมดูล
  • สรุปการทำงานของทุกโมดูล
  • ความสัมพันธ์ของอินเทอร์เฟซและการขึ้นต่อกันระหว่างโมดูล
  • ตารางฐานข้อมูลที่ระบุพร้อมกับองค์ประกอบหลัก
  • แผนผังสถาปัตยกรรมที่สมบูรณ์พร้อมรายละเอียดเทคโนโลยี

การออกแบบระดับต่ำ (LLD)

  • ตรรกะการทำงานของโมดูล
  • ตารางฐานข้อมูลซึ่งรวมถึงประเภทและขนาด
  • รายละเอียดอินเทอร์เฟซที่สมบูรณ์
  • แก้ไขปัญหาการพึ่งพาทุกประเภท
  • รายการข้อความแสดงข้อผิดพลาด
  • อินพุตและเอาต์พุตที่สมบูรณ์สำหรับทุกโมดูล

ขั้นตอนที่ 4: การเข้ารหัส

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

ในระยะนี้ นักพัฒนาจำเป็นต้องปฏิบัติตามหลักเกณฑ์การเขียนโค้ดที่กำหนดไว้ล่วงหน้า พวกเขายังจำเป็นต้องใช้ เครื่องมือการเขียนโปรแกรม เช่นคอมไพเลอร์ ล่าม ดีบักเกอร์เพื่อสร้างและใช้งานโค้ด

ขั้นตอนที่ 5: การทดสอบ

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

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

ขั้นตอนที่ 6: การติดตั้ง/การใช้งาน

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

ขั้นตอนที่ 7: การบำรุงรักษา

เมื่อระบบถูกใช้งานและลูกค้าเริ่มใช้ระบบที่พัฒนาขึ้น จะมีกิจกรรม 3 อย่างต่อไปนี้เกิดขึ้น

  • การแก้ไขข้อบกพร่อง – มีการรายงานข้อบกพร่องเนื่องจากบางสถานการณ์ที่ไม่ได้ทดสอบเลย
  • Upgrade – อัปเกรดแอปพลิเคชันเป็นซอฟต์แวร์เวอร์ชันใหม่กว่า
  • การปรับปรุง – การเพิ่มคุณสมบัติใหม่ลงในซอฟต์แวร์ที่มีอยู่

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

รุ่น SDLC ยอดนิยม

ต่อไปนี้คือโมเดลที่สำคัญที่สุดบางส่วนของวงจรการพัฒนาซอฟต์แวร์ (SDLC):

แบบจำลองน้ำตกใน SDLC

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

โมเดล SDLC นี้ต้องใช้เอกสารจำนวนมาก โดยระยะก่อนหน้าจะบันทึกสิ่งที่จำเป็นต้องดำเนินการในระยะต่อๆ ไป

โมเดลส่วนเพิ่มใน SDLC

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

V-รุ่นใน SDLC

ในการทดสอบและการพัฒนาโมเดล SDLC ประเภทนี้ มีการวางแผนระยะการทำงานแบบคู่ขนาน ดังนั้นจึงมีขั้นตอนการตรวจสอบความถูกต้องของ SDLC ที่ด้านข้างและขั้นตอนการตรวจสอบความถูกต้องที่อีกด้านหนึ่ง V-Model เข้าร่วมด้วยขั้นตอน Coding

โมเดล Agile ใน SDLC

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

แบบเกลียว

แบบจำลองเกลียวเป็นแบบจำลองกระบวนการที่ขับเคลื่อนด้วยความเสี่ยง โมเดลการทดสอบ SDLC นี้ช่วยให้ทีมนำองค์ประกอบของโมเดลกระบวนการตั้งแต่หนึ่งโมเดลขึ้นไปมาใช้ เช่น วอเตอร์ฟอล ส่วนเพิ่ม วอเตอร์ฟอล ฯลฯ

โมเดลนี้ใช้คุณสมบัติที่ดีที่สุดของโมเดลการสร้างต้นแบบและโมเดล Waterfall วิธีการแบบเกลียวเป็นการผสมผสานระหว่างการสร้างต้นแบบอย่างรวดเร็วและการทำงานพร้อมกันในกิจกรรมการออกแบบและพัฒนา

โมเดลบิ๊กแบง

โมเดล Big Bang มุ่งเน้นไปที่ทรัพยากรทุกประเภทในการพัฒนาซอฟต์แวร์และการเขียนโค้ด โดยไม่มีการวางแผนหรือน้อยมาก ข้อกำหนดต่างๆ ได้รับการเข้าใจและนำไปปฏิบัติเมื่อมาถึง

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

สรุป

  • วงจรชีวิตการพัฒนาซอฟต์แวร์ (SDLC) เป็นกระบวนการที่เป็นระบบสำหรับการสร้างซอฟต์แวร์ที่ทำให้มั่นใจในคุณภาพและความถูกต้องของซอฟต์แวร์ที่สร้างขึ้น
  • SDLC แบบเต็มคือวงจรชีวิตการพัฒนาซอฟต์แวร์หรือวงจรชีวิตการพัฒนาระบบ
  • SDLC ในวิศวกรรมซอฟต์แวร์จัดเตรียมกรอบการทำงานสำหรับชุดมาตรฐานของกิจกรรมและการส่งมอบ
  • SDLC 1 ขั้นตอนที่แตกต่างกัน ได้แก่ 2) การรวบรวมและการวิเคราะห์ความต้องการ 3) การศึกษาความเป็นไปได้: 4) การออกแบบ 5) การเขียนโค้ด 6) การทดสอบ: 7) การติดตั้ง/ปรับใช้ และ XNUMX) การบำรุงรักษา
  • สมาชิกในทีมอาวุโสดำเนินการ การวิเคราะห์ความต้องการ ระยะ
  • ขั้นตอนการศึกษาความเป็นไปได้รวมถึงทุกสิ่งที่ควรได้รับการออกแบบและพัฒนาในระหว่างวงจรชีวิตของโครงการ
  • ในขั้นตอนการออกแบบ เอกสารการออกแบบระบบและซอฟต์แวร์จะถูกจัดเตรียมตามเอกสารข้อกำหนดข้อกำหนด
  • ในขั้นตอนการเขียนโค้ด นักพัฒนาจะเริ่มสร้างระบบทั้งหมดโดยการเขียนโค้ดโดยใช้ภาษาการเขียนโปรแกรมที่เลือก
  • การทดสอบเป็นขั้นตอนถัดไปที่ดำเนินการเพื่อตรวจสอบว่าแอปพลิเคชันทั้งหมดทำงานตามความต้องการของลูกค้าหรือไม่
  • หน้าการติดตั้งและการปรับใช้เริ่มต้นเมื่อ การทดสอบซอฟต์แวร์ เฟสสิ้นสุดลงแล้ว และไม่มีข้อผิดพลาดหรือข้อผิดพลาดเหลืออยู่ในระบบ
  • การแก้ไขข้อบกพร่อง การอัพเกรด และการดำเนินการที่เกี่ยวข้องครอบคลุมอยู่ในหน้าการบำรุงรักษา
  • Waterfall, Increamental, Agile, V model, Spiral, Big Bang คือโมเดล SDLC ที่ได้รับความนิยมบางส่วนในวิศวกรรมซอฟต์แวร์
  • SDLC ในการทดสอบซอฟต์แวร์ประกอบด้วยแผนโดยละเอียดซึ่งอธิบายวิธีวางแผน สร้าง และบำรุงรักษาซอฟต์แวร์เฉพาะ