ระยะและแบบจำลองของวงจรชีวิตการพัฒนาซอฟต์แวร์ (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 ในการทดสอบซอฟต์แวร์ประกอบด้วยแผนโดยละเอียดซึ่งอธิบายวิธีวางแผน สร้าง และบำรุงรักษาซอฟต์แวร์เฉพาะ