วงจรชีวิตของการพัฒนาซอฟต์แวร์
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 และรุ่นต่างๆคลิกที่นี่