วงจรชีวิตของการพัฒนาซอฟต์แวร์

Software Development Life Cycle, SDLC สำหรับระยะสั้นคือลำดับขั้นตอนที่มีโครงสร้างและกำหนดไว้อย่างดีในวิศวกรรมซอฟต์แวร์เพื่อพัฒนาผลิตภัณฑ์ซอฟต์แวร์ที่ต้องการ

กิจกรรม SDLC

SDLC มีขั้นตอนที่ต้องปฏิบัติตามเพื่อออกแบบและพัฒนาผลิตภัณฑ์ซอฟต์แวร์อย่างมีประสิทธิภาพ กรอบงาน SDLC ประกอบด้วยขั้นตอนต่อไปนี้:

การสื่อสาร

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

การรวบรวมความต้องการ

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

  • ศึกษาระบบและซอฟต์แวร์ที่มีอยู่หรือล้าสมัย
  • ทำการสัมภาษณ์ผู้ใช้และนักพัฒนา
  • อ้างถึงฐานข้อมูลหรือ
  • รวบรวมคำตอบจากแบบสอบถาม

การศึกษาความเป็นไปได้

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

การวิเคราะห์ระบบ

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

การออกแบบซอฟต์แวร์

ขั้นตอนต่อไปคือการลดความรู้ทั้งหมดเกี่ยวกับข้อกำหนดและการวิเคราะห์บนโต๊ะทำงานและออกแบบผลิตภัณฑ์ซอฟต์แวร์ อินพุตจากผู้ใช้และข้อมูลที่รวบรวมในเฟสการรวบรวมความต้องการเป็นอินพุตของขั้นตอนนี้ ผลลัพธ์ของขั้นตอนนี้มาในรูปแบบของการออกแบบสองแบบ การออกแบบเชิงตรรกะและการออกแบบทางกายภาพ วิศวกรจัดทำ meta-data และ data dictionaries, logical diagram, data-flow diagram และในบางกรณีรหัสหลอก

การเข้ารหัส

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

การทดสอบ

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

บูรณาการ

ซอฟต์แวร์อาจต้องรวมเข้ากับไลบรารีฐานข้อมูลและโปรแกรมอื่น ๆ ขั้นตอนของ SDLC นี้เกี่ยวข้องกับการรวมซอฟต์แวร์กับหน่วยงานนอกโลก

การนำไปใช้

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

การดำเนินงานและการบำรุงรักษา

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

การจำหน่าย

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

กระบวนทัศน์การพัฒนาซอฟต์แวร์

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

น้ำตกจำลอง

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

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

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

แบบจำลองซ้ำ

โมเดลนี้นำไปสู่กระบวนการพัฒนาซอฟต์แวร์ในการทำซ้ำ โครงการนี้แสดงกระบวนการพัฒนาในลักษณะวนซ้ำทุกขั้นตอนหลังทุกรอบของกระบวนการ SDLC

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

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

แบบเกลียว

Spiral model เป็นการรวมกันของทั้งสองแบบจำลองซ้ำและหนึ่งในโมเดล SDLC จะเห็นได้ว่าคุณเลือกโมเดล SDLC หนึ่งโมเดลและรวมเข้ากับกระบวนการแบบวนซ้ำ (แบบจำลองซ้ำ)

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

V - แบบจำลอง

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

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

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

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

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

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

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

หากต้องการอ่านข้อมูลเชิงลึกเกี่ยวกับ SDLC และรุ่นต่างๆคลิกที่นี่