วงจรชีวิตของซอฟต์แวร์ ขั้นตอนและขั้นตอน วงจรชีวิตของระบบซอฟต์แวร์ แนวคิดของวงจรชีวิตของโปรแกรมและขั้นตอนต่างๆ
การพัฒนาเทคโนโลยีคอมพิวเตอร์กำลังขยายประเภทของปัญหาที่แก้ไขได้อย่างต่อเนื่องซึ่งเกี่ยวข้องกับการประมวลผลข้อมูลประเภทต่างๆ
โดยพื้นฐานแล้วเหล่านี้เป็นข้อมูลสามประเภทและตามลำดับปัญหาสามประเภทที่ใช้คอมพิวเตอร์:
1) ปัญหาการคำนวณที่เกี่ยวข้องกับการประมวลผลข้อมูลตัวเลข ซึ่งรวมถึงปัญหาการแก้ระบบสมการเชิงเส้นมิติขนาดใหญ่ เป็นต้น ก่อนหน้านี้เป็นพื้นที่หลักและโดดเด่นในการใช้คอมพิวเตอร์
2) งานประมวลผลข้อมูลเชิงสัญลักษณ์ที่เกี่ยวข้องกับการสร้าง การแก้ไข และการแปลงข้อมูลข้อความ การแก้ปัญหาดังกล่าวเกี่ยวข้องกับงานของเลขานุการ - พิมพ์ดีด
3) งานสำหรับการประมวลผลข้อมูลกราฟิก 𝗠𝗘𝗘𝗘. ไดอะแกรม ภาพวาด กราฟ ภาพร่าง ฯลฯ งานดังกล่าวรวมถึงงานของนักออกแบบที่พัฒนาแบบร่างสำหรับผลิตภัณฑ์ใหม่
4) งานสำหรับการประมวลผลข้อมูลตัวอักษรและตัวเลข - IS ปัจจุบันได้กลายเป็นหนึ่งในพื้นที่พื้นฐานของแอปพลิเคชันคอมพิวเตอร์ และงานต่างๆ ก็มีความซับซ้อนมากขึ้นเรื่อยๆ
การแก้ปัญหาของแต่ละชั้นเรียนบนคอมพิวเตอร์มีลักษณะเฉพาะของตัวเอง แต่ปัญหาส่วนใหญ่สามารถแบ่งออกเป็นหลายขั้นตอนได้
เทคโนโลยีการเขียนโปรแกรมศึกษากระบวนการทางเทคโนโลยีและลำดับของเนื้อเรื่อง (ขั้นตอน) โดยใช้ความรู้วิธีการและเครื่องมือ
สะดวกในการระบุลักษณะของเทคโนโลยีในสองมิติ - แนวตั้ง (แสดงกระบวนการ) และแนวนอน (แสดงขั้นตอน)
การวาดภาพ
กระบวนการคือชุดของการกระทำที่สัมพันธ์กัน (การดำเนินการทางเทคโนโลยี) ที่แปลงข้อมูลอินพุตบางส่วนให้เป็นข้อมูลเอาท์พุตกระบวนการประกอบด้วยชุดของการกระทำ (การดำเนินงานทางเทคโนโลยี) และแต่ละการกระทำประกอบด้วยชุดของงานและวิธีการในการแก้ปัญหา มิติแนวตั้งสะท้อนถึงลักษณะคงที่ของกระบวนการและดำเนินการด้วยแนวคิด เช่น กระบวนการทำงาน การกระทำ งาน ผลลัพธ์การปฏิบัติงาน ผู้ปฏิบัติงาน
ระยะเป็นส่วนหนึ่งของกิจกรรมการสร้างซอฟต์แวร์ที่ถูกจำกัดด้วยกรอบเวลาที่แน่นอนและสิ้นสุดด้วยการเปิดตัวผลิตภัณฑ์เฉพาะที่กำหนดโดยข้อกำหนดที่ระบุไว้สำหรับขั้นตอนนี้ บางครั้งขั้นตอนต่างๆ จะรวมกันเป็นกรอบเวลาที่ใหญ่ขึ้นเรียกว่าขั้นตอนหรือขั้นตอน ดังนั้น มิติแนวนอนจึงแสดงถึงเวลา สะท้อนลักษณะแบบไดนามิกของกระบวนการ และดำเนินการด้วยแนวคิด เช่น ระยะ ระยะ ระยะ การวนซ้ำ และจุดควบคุม
การพัฒนาซอฟต์แวร์เป็นไปตามวงจรชีวิตที่เฉพาะเจาะจง
วงจรชีวิตซอฟต์แวร์เป็นชุดกิจกรรมที่ต่อเนื่องและเป็นระเบียบที่ดำเนินการและจัดการภายในกรอบงานของแต่ละโครงการสำหรับการพัฒนาและการทำงานของซอฟต์แวร์เริ่มต้นจากช่วงเวลาที่แนวคิด (แผน) ในการสร้างซอฟต์แวร์บางอย่างปรากฏขึ้นและทำการตัดสินใจเกี่ยวกับความสำคัญที่สำคัญ ของการสร้างและสิ้นสุดในขณะที่ถอนตัวจากการให้บริการโดยสมบูรณ์ด้วยเหตุผลดังต่อไปนี้:
ก) ความล้าสมัย;
b) การสูญเสียความสำคัญอย่างยิ่งยวดในการแก้ปัญหาที่เกี่ยวข้อง
แนวทางเทคโนโลยี-กลไกการนำไปปฏิบัติ วงจรชีวิต.
แนวทางทางเทคโนโลยีถูกกำหนดโดยการผสมผสานระหว่างขั้นตอนและกระบวนการเฉพาะที่เน้น ชั้นเรียนที่แตกต่างกันซอฟต์แวร์และคุณสมบัติของทีมพัฒนา
วงจรชีวิตกำหนดระยะต่างๆ (ระยะ ระยะ) เพื่อให้ผลิตภัณฑ์ซอฟต์แวร์ย้ายจากระยะหนึ่งไปยังอีกระยะหนึ่ง เริ่มต้นจากการเริ่มต้นแนวคิดผลิตภัณฑ์และสิ้นสุดด้วยระยะการล่มสลาย
วงจรชีวิตการพัฒนาซอฟต์แวร์ควรนำเสนอโดยมีรายละเอียดขั้นตอนต่างๆ กัน การแสดงวงจรชีวิตที่ง่ายที่สุดประกอบด้วยขั้นตอนต่างๆ:
ออกแบบ
การนำไปปฏิบัติ
การทดสอบและการดีบัก
การดำเนินการ การดำเนินงาน และการบำรุงรักษา
การแสดงโปรแกรมวงจรชีวิตที่ง่ายที่สุด (แนวทางเทคโนโลยีแบบเรียงซ้อนเพื่อการจัดการวงจรชีวิต):
กระบวนการ
ออกแบบ
การเขียนโปรแกรม
การทดสอบ
คุ้มกัน
การวิเคราะห์ การดำเนินการออกแบบ การทดสอบ การดำเนินการดำเนินการ
และการดีบักและการบำรุงรักษา
ในความเป็นจริง มีกระบวนการเดียวเท่านั้นที่ดำเนินการในแต่ละขั้นตอน เห็นได้ชัดว่าเมื่อมีการพัฒนาและสร้างสรรค์ โปรแกรมขนาดใหญ่โครงการนี้ไม่ถูกต้องเพียงพอ (ใช้ไม่ได้) แต่สามารถใช้เป็นพื้นฐานได้
เวทีอาลิซมุ่งเน้นไปที่ความต้องการของระบบ ข้อกำหนดถูกกำหนดและระบุ (อธิบาย) มีการดำเนินการพัฒนาและบูรณาการแบบจำลองการทำงานและแบบจำลองข้อมูลสำหรับระบบ ในขณะเดียวกัน ข้อกำหนดของระบบที่ไม่สามารถใช้งานได้และข้อกำหนดอื่นๆ จะถูกบันทึกไว้ด้วย
ขั้นตอนการออกแบบแบ่งออกเป็นสองขั้นตอนย่อยพื้นฐาน: การออกแบบสถาปัตยกรรมและการออกแบบรายละเอียด โดยเฉพาะอย่างยิ่ง การออกแบบโปรแกรม ส่วนติดต่อผู้ใช้ และโครงสร้างข้อมูลกำลังได้รับการปรับปรุง ปัญหาการออกแบบที่ส่งผลต่อความเข้าใจ การบำรุงรักษา และความสามารถในการปรับขนาดของระบบจะได้รับการหยิบยกและจัดทำเป็นเอกสาร
ขั้นตอนการดำเนินการรวมถึงการเขียนโปรแกรมด้วย
ความแตกต่างในด้านฮาร์ดแวร์และซอฟต์แวร์จะมองเห็นได้ชัดเจนในขั้นตอนนี้ การดำเนินการ- หากสินค้าอุปโภคบริโภคผ่านขั้นตอนการนำออกสู่ตลาด การเติบโต การเจริญเติบโต และการลดลง อายุการใช้งานของซอฟต์แวร์ก็เหมือนกับประวัติศาสตร์ของอาคาร (เครื่องบิน) ที่ยังไม่เสร็จ แต่ยังคงสร้างเสร็จและปรับปรุงอยู่ตลอดเวลา (สมาชิก).
วงจรการใช้งานซอฟต์แวร์ได้รับการควบคุมโดยมาตรฐานหลายประการ รวมถึง และนานาชาติ
วัตถุประสงค์ของการกำหนดมาตรฐานวงจรชีวิตของสถานีย่อยที่ซับซ้อน:
ลักษณะทั่วไปของประสบการณ์และผลการวิจัยของผู้เชี่ยวชาญหลายคน
เลิกงานแล้ว กระบวนการทางเทคโนโลยีและเทคนิคการพัฒนาตลอดจนพื้นฐานระเบียบวิธีสำหรับระบบอัตโนมัติ
มาตรฐานได้แก่:
กฎเกณฑ์ในการอธิบายข้อมูลเบื้องต้น วิธีการ และวิธีการดำเนินการ
กำหนดกฎเกณฑ์สำหรับการติดตามกระบวนการทางเทคโนโลยี
กำหนดข้อกำหนดสำหรับการนำเสนอผลลัพธ์
ควบคุมเนื้อหาของเอกสารเทคโนโลยีและการปฏิบัติงาน
กำหนด โครงสร้างองค์กรทีมพัฒนา;
จัดให้มีการกระจายและการวางแผนงาน
ให้การควบคุมความคืบหน้าของการสร้าง PS
ในรัสเซียมีมาตรฐานที่ควบคุมวงจรชีวิต:
ขั้นตอนของการพัฒนาซอฟต์แวร์ – GOST 19.102-77
ขั้นตอนของการสร้าง AS - GOST 34.601 –90;
ข้อกำหนดทางเทคนิคสำหรับการสร้าง AS - GOST 34.602-89
ประเภทของการทดสอบ AC - GOST 34.603-92;
ในเวลาเดียวกันการสร้างการบำรุงรักษาและการพัฒนาแอพพลิเคชั่นซอฟต์แวร์สำหรับระบบข้อมูลไม่ได้สะท้อนให้เห็นอย่างเพียงพอในมาตรฐานเหล่านี้และข้อกำหนดบางส่วนล้าสมัยจากมุมมองของการสร้างคอมเพล็กซ์โปรแกรมแอพพลิเคชั่นแบบกระจายที่ทันสมัย คุณภาพสูงในระบบควบคุมและประมวลผลข้อมูลด้วยสถาปัตยกรรมต่างๆ
ในเรื่องนี้ เป็นที่น่าสังเกตว่ามาตรฐานสากล ISO/IEC 12207-1999 – “เทคโนโลยีสารสนเทศ – กระบวนการวงจรชีวิตของซอฟต์แวร์”
ISO - องค์การมาตรฐานระหว่างประเทศ - องค์กรระหว่างประเทศในเรื่องมาตรฐาน IEC - International Electrotechnical Commission - International Commission on Electrical Engineering
กำหนดโครงสร้างของวงจรชีวิตซอฟต์แวร์และกระบวนการต่างๆ
เหล่านั้น. การสร้างซอฟต์แวร์ไม่ใช่เช่นนั้น งานง่ายๆในการเชื่อมต่อกับสิ่งนี้ มีมาตรฐานที่อธิบายทุกอย่าง: สิ่งที่ต้องทำ เมื่อใด และอย่างไร
โครงสร้างของวงจรชีวิตซอฟต์แวร์ตามมาตรฐานสากล ISO/IEC 12207-95 ขึ้นอยู่กับกระบวนการสามกลุ่ม:
1) กระบวนการหลักของวงจรชีวิตซอฟต์แวร์ (การซื้อ การส่งมอบ การพัฒนา การดำเนินงาน การบำรุงรักษา- เราจะมุ่งเน้นไปที่หลัง
2) กระบวนการเสริมที่ช่วยให้มั่นใจในการดำเนินการ กระบวนการพื้นฐาน (เอกสารประกอบ, การจัดการการกำหนดค่า, การประกันคุณภาพ, การตรวจสอบ, การรับรอง, การวิเคราะห์ร่วม (การประเมิน), การตรวจสอบ, การแก้ปัญหา)
1. การจัดการการกำหนดค่านี้กระบวนการที่รองรับกระบวนการหลักของวงจรชีวิตซอฟต์แวร์ โดยหลักคือกระบวนการพัฒนาและบำรุงรักษา เมื่อพัฒนาโครงการซอฟต์แวร์ที่ซับซ้อนซึ่งประกอบด้วยส่วนประกอบจำนวนมาก ซึ่งแต่ละส่วนอาจมีรูปแบบหรือเวอร์ชัน ปัญหาเกิดจากการคำนึงถึงการเชื่อมต่อและฟังก์ชันของพวกเขา การสร้างโครงสร้างแบบครบวงจร (ดารา.ëแบบครบวงจร) และรับรองการพัฒนาของทั้งระบบ . การจัดการการกำหนดค่าช่วยให้คุณสามารถจัดระเบียบ พิจารณาอย่างเป็นระบบ และควบคุมการเปลี่ยนแปลงส่วนประกอบซอฟต์แวร์ต่างๆ ในทุกขั้นตอนของวงจรการใช้งาน
2. การยืนยันเป็นกระบวนการในการพิจารณาว่าสถานะซอฟต์แวร์ปัจจุบันที่บรรลุในขั้นตอนที่กำหนดนั้นตรงตามข้อกำหนดของขั้นตอนนั้นหรือไม่
3. การรับรอง– การยืนยันโดยการตรวจสอบและการนำเสนอหลักฐานที่เป็นกลางว่าข้อกำหนดเฉพาะสำหรับวัตถุเฉพาะได้รับการปฏิบัติอย่างเต็มที่
4. การวิเคราะห์ร่วม (การประเมิน) – การกำหนดระดับการปฏิบัติตามวัตถุอย่างเป็นระบบตามเกณฑ์ที่กำหนด
5. การตรวจสอบ– การตรวจสอบที่ดำเนินการโดยหน่วยงานผู้มีอำนาจ (บุคคล) เพื่อให้มั่นใจ การประเมินที่เป็นอิสระระดับการปฏิบัติตามผลิตภัณฑ์ซอฟต์แวร์หรือกระบวนการ ข้อกำหนดที่กำหนดไว้. การตรวจสอบช่วยให้คุณประเมินความสอดคล้องของพารามิเตอร์การพัฒนากับข้อกำหนดเริ่มต้น การตรวจสอบบางส่วนเกิดขึ้นพร้อมกับการทดสอบ โดยดำเนินการเพื่อระบุความแตกต่างระหว่างผลลัพธ์จริงและผลลัพธ์ที่คาดหวัง และประเมินความสอดคล้องของคุณลักษณะซอฟต์แวร์กับข้อกำหนดดั้งเดิม ในกระบวนการดำเนินโครงการ ประเด็นสำคัญในการระบุ คำอธิบาย และการควบคุมการกำหนดค่าของแต่ละส่วนประกอบและระบบทั้งหมดโดยรวม
3) กระบวนการขององค์กร (การจัดการโครงการ การสร้างโครงสร้างพื้นฐานของโครงการ คำจำกัดความ การประเมินและการปรับปรุงวงจรชีวิต การฝึกอบรม)
การจัดการโครงการที่เกี่ยวข้องกับประเด็นการวางแผนและจัดงาน การสร้างทีมพัฒนา และการติดตามเวลาและคุณภาพของงานที่ทำ การสนับสนุนทางเทคนิคและองค์กรสำหรับโครงการรวมถึงการเลือกวิธีการและเครื่องมือสำหรับการดำเนินโครงการ การกำหนดวิธีการอธิบายสถานะการพัฒนาระดับกลาง การพัฒนาวิธีการและเครื่องมือสำหรับการทดสอบซอฟต์แวร์ที่สร้างขึ้น การฝึกอบรมบุคลากร ฯลฯ การรับรองคุณภาพของโครงการเกี่ยวข้องกับปัญหาในการตรวจสอบ การตรวจสอบ และการทดสอบส่วนประกอบซอฟต์แวร์
เราจะพิจารณาวงจรการใช้งานซอฟต์แวร์จากมุมมองของนักพัฒนา
กระบวนการพัฒนาตามมาตรฐานเกี่ยวข้องกับการกระทำและงานที่ดำเนินการโดยนักพัฒนาและครอบคลุมงานในการสร้างซอฟต์แวร์และส่วนประกอบตามข้อกำหนดที่กำหนดรวมถึงการจัดทำเอกสารการออกแบบและการปฏิบัติงานตลอดจนการเตรียมวัสดุที่จำเป็นสำหรับ ทดสอบการทำงานและการปฏิบัติตามคุณภาพของผลิตภัณฑ์ซอฟต์แวร์ วัสดุที่จำเป็นสำหรับการฝึกอบรมบุคลากร ฯลฯ
ตามมาตรฐาน วงจรการใช้งานซอฟต์แวร์ IS ประกอบด้วยการดำเนินการต่อไปนี้:
1) การเกิดขึ้นและการวิจัยแนวคิด (แผน)
2) ขั้นตอนการเตรียมการ - การเลือกรูปแบบวงจรชีวิต มาตรฐาน วิธีการ เครื่องมือในการพัฒนา ตลอดจนการจัดทำแผนงาน
3) การวิเคราะห์ความต้องการของระบบสารสนเทศ - กำหนดมัน
ฟังก์ชั่น, ข้อกำหนดของผู้ใช้, ข้อกำหนดด้านความน่าเชื่อถือและความปลอดภัย, ข้อกำหนดสำหรับอินเทอร์เฟซภายนอก ฯลฯ
4) การออกแบบสถาปัตยกรรมระบบสารสนเทศ - การกำหนดองค์ประกอบของอุปกรณ์ ซอฟต์แวร์ และการปฏิบัติการที่สำคัญซึ่งดำเนินการโดยเจ้าหน้าที่ซ่อมบำรุง.
5) การวิเคราะห์ความต้องการซอฟต์แวร์- คำจำกัดความของฟังก์ชันการทำงาน รวมถึงคุณลักษณะด้านประสิทธิภาพ สภาพแวดล้อมการทำงานของส่วนประกอบ อินเทอร์เฟซภายนอก ข้อกำหนดด้านความน่าเชื่อถือและความปลอดภัย ข้อกำหนดด้านสรีระศาสตร์ ข้อกำหนดด้านข้อมูล การติดตั้ง การยอมรับ เอกสารสำหรับผู้ใช้ การทำงาน และการบำรุงรักษา
6) การออกแบบสถาปัตยกรรมซอฟต์แวร์ - การกำหนดโครงสร้างซอฟต์แวร์ การจัดทำเอกสารอินเทอร์เฟซของส่วนประกอบ การพัฒนาเอกสารประกอบผู้ใช้เวอร์ชันเบื้องต้น ตลอดจนข้อกำหนดในการทดสอบและแผนการบูรณาการ
7) การออกแบบซอฟต์แวร์โดยละเอียด - รายละเอียด
คำอธิบายส่วนประกอบซอฟต์แวร์และอินเทอร์เฟซระหว่างส่วนประกอบเหล่านั้น การอัพเดตเอกสารสำหรับผู้ใช้ การพัฒนาและจัดทำเอกสารข้อกำหนดการทดสอบและแผนการทดสอบ ส่วนประกอบซอฟต์แวร์ การอัพเดตแผนการบูรณาการส่วนประกอบ
8) การเข้ารหัสซอฟต์แวร์ -– การพัฒนาและเอกสารประกอบ
แต่ละองค์ประกอบของซอฟต์แวร์
9)การทดสอบซอฟต์แวร์ – การพัฒนาชุดขั้นตอนการทดสอบและข้อมูลสำหรับการทดสอบ ส่วนประกอบการทดสอบ การอัพเดตเอกสารผู้ใช้ การอัพเดตแผนการบูรณาการซอฟต์แวร์
10) บูรณาการซอฟต์แวร์–การประกอบส่วนประกอบซอฟต์แวร์ตาม
แผนการบูรณาการและการทดสอบซอฟต์แวร์เพื่อให้เป็นไปตามข้อกำหนดคุณสมบัติซึ่งเป็นชุดเกณฑ์หรือเงื่อนไขที่สำคัญอย่างยิ่งที่จะต้องปฏิบัติตามเพื่อให้ผลิตภัณฑ์ซอฟต์แวร์มีคุณสมบัติตรงตามข้อกำหนดและพร้อมใช้งานภายใต้เงื่อนไขการทำงานที่กำหนด
11) การทดสอบคุณสมบัติซอฟต์แวร์ – การทดสอบซอฟต์แวร์ใน
การแสดงตนของลูกค้าเพื่อแสดงให้เห็นถึงการปฏิบัติตามข้อกำหนด
ข้อกำหนดและความพร้อมในการดำเนินงาน ในขณะเดียวกันก็ตรวจสอบความพร้อมและครบถ้วนของเอกสารด้านเทคนิคและผู้ใช้ด้วย;
12) บูรณาการระบบ – การประกอบส่วนประกอบทั้งหมดของระบบสารสนเทศ รวมทั้งซอฟต์แวร์และฮาร์ดแวร์
13) การทดสอบคุณสมบัติ IP – การทดสอบระบบสำหรับ
การปฏิบัติตามข้อกำหนดและตรวจสอบการดำเนินการและความครบถ้วนของเอกสาร
14) การติดตั้งซอฟต์แวร์ – ติดตั้งซอฟต์แวร์บนอุปกรณ์ของลูกค้าและตรวจสอบฟังก์ชันการทำงาน;
15) การยอมรับซอฟต์แวร์ – การประเมินผลลัพธ์ของผู้ทรงคุณวุฒิ
การทดสอบซอฟต์แวร์และระบบสารสนเทศโดยรวมและ
เอกสารผลการประเมินพร้อมกับลูกค้า การรับรอง และการโอนซอฟต์แวร์ขั้นสุดท้ายไปยังลูกค้า
16) การจัดการและการพัฒนาเอกสาร
17)การดำเนินงาน
18)ดนตรีประกอบ – กระบวนการสร้างและใช้งานเวอร์ชันใหม่
19) เสร็จสิ้นการดำเนินการ
การดำเนินการเหล่านี้สามารถจัดกลุ่มเป็นขั้นตอนหลักของการพัฒนาซอฟต์แวร์ได้ดังต่อไปนี้:
·คำชี้แจงปัญหา (TOR) (ตาม GOST 19.102-77 ระยะ `` เงื่อนไขการอ้างอิงʼʼ)
·การวิเคราะห์ข้อกำหนดและการพัฒนาข้อกำหนด (ตาม GOST 19.102-77 ขั้นตอน `` การออกแบบร่างʼʼ)
·การออกแบบ (ตาม GOST 19.102-77 เวที "การออกแบบทางเทคนิค")
· การใช้งาน (การเข้ารหัส การทดสอบ และการดีบัก) (ตาม GOST 19.102-77 สเตจ “แบบร่างโดยละเอียด”)
· การดำเนินงานและการบำรุงรักษา
วงจรชีวิตและขั้นตอนของการพัฒนาซอฟต์แวร์ - แนวคิดและประเภท การจำแนกประเภทและคุณสมบัติของหมวดหมู่ "วงจรชีวิตและขั้นตอนของการพัฒนาซอฟต์แวร์" 2017, 2018
ในสาขาวิศวกรรมไฟฟ้า) มาตรฐานนี้กำหนดโครงสร้างวงจรชีวิตซึ่งประกอบด้วยกระบวนการ กิจกรรม และงานที่ต้องทำให้สำเร็จในระหว่างการสร้างระบบซอฟต์แวร์ในมาตรฐาน PS นี้ (หรือ ผลิตภัณฑ์ซอฟต์แวร์) หมายถึงชุดของโปรแกรมคอมพิวเตอร์ ขั้นตอน และอาจรวมถึงเอกสารและข้อมูลที่เกี่ยวข้อง กระบวนการถูกกำหนดให้เป็นชุดของการกระทำที่สัมพันธ์กันซึ่งแปลงข้อมูลอินพุตบางส่วนให้เป็นเอาต์พุต (G. Myers เรียกสิ่งนี้ว่าการแปลข้อมูล) แต่ละกระบวนการมีลักษณะเฉพาะด้วยงานและวิธีการแก้ไขบางอย่าง ในทางกลับกัน แต่ละกระบวนการจะแบ่งออกเป็นชุดของการดำเนินการ และแต่ละการดำเนินการจะถูกแบ่งออกเป็นชุดของงาน แต่ละกระบวนการ การดำเนินการ หรืองานจะถูกเริ่มต้นและดำเนินการโดยกระบวนการอื่นตามความจำเป็น และไม่มีลำดับการดำเนินการที่กำหนดไว้ล่วงหน้า (แน่นอนว่า ในขณะที่ยังคงรักษาการเชื่อมต่อระหว่างข้อมูลอินพุต)
ควรสังเกตว่าในสหภาพโซเวียตและในรัสเซียการสร้างซอฟต์แวร์ (ซอฟต์แวร์) เริ่มแรกในยุค 70 ของศตวรรษที่ผ่านมาควบคุมโดยมาตรฐาน GOST ESPD ( ระบบแบบครบวงจรเอกสารประกอบโปรแกรม - ซีรี่ส์ GOST 19.XXXXX) ซึ่งเน้นไปที่ชั้นเรียนที่เกี่ยวข้อง โปรแกรมง่ายๆปริมาณน้อยที่สร้างโดยโปรแกรมเมอร์แต่ละคน ปัจจุบันมาตรฐานเหล่านี้ล้าสมัยทั้งในด้านแนวคิดและรูปแบบ ระยะเวลาที่ใช้ได้หมดลงและการใช้งานไม่เหมาะสม
กระบวนการสร้างระบบอัตโนมัติ (AS) ซึ่งรวมถึงซอฟต์แวร์ได้รับการควบคุมโดยมาตรฐาน GOST 34.601-90 เทคโนโลยีสารสนเทศ- ชุดมาตรฐานสำหรับ ระบบอัตโนมัติ- ขั้นตอนของการสร้างสรรค์" GOST 34.602-89 "เทคโนโลยีสารสนเทศ ชุดมาตรฐานสำหรับระบบอัตโนมัติ เงื่อนไขการอ้างอิงสำหรับการสร้างระบบอัตโนมัติ" และ GOST 34.603-92 "เทคโนโลยีสารสนเทศ ประเภทของการทดสอบระบบอัตโนมัติ" อย่างไรก็ตามข้อกำหนดหลายประการของมาตรฐานเหล่านี้ล้าสมัยและข้อกำหนดอื่น ๆ ยังไม่เพียงพอที่จะใช้สำหรับโครงการที่จริงจังเพื่อสร้างสถานีไฟฟ้าย่อย ดังนั้นในการพัฒนาในประเทศขอแนะนำให้ใช้มาตรฐานสากลสมัยใหม่ .
ตามมาตรฐาน ISO / IEC 12207 กระบวนการวงจรชีวิตของซอฟต์แวร์ทั้งหมดแบ่งออกเป็นสามกลุ่ม (รูปที่ 5.1)
ข้าว. 5.1.
กลุ่มต่างๆ กำหนดกระบวนการหลัก 5 ประการ: การได้มา การส่งมอบ การพัฒนา การดำเนินงาน และการสนับสนุน กระบวนการเสริมแปดกระบวนการจัดให้มีการดำเนินการของกระบวนการหลัก กล่าวคือ เอกสารประกอบ, การจัดการการกำหนดค่า, การประกันคุณภาพ , การตรวจสอบ , การรับรอง , การประเมินร่วม , การตรวจสอบ , การแก้ไขปัญหา สี่ กระบวนการขององค์กรให้บริการด้านการจัดการ การสร้างโครงสร้างพื้นฐาน การปรับปรุง และการฝึกอบรม
5.2. กระบวนการหลักของวงจรชีวิตของ PS
กระบวนการได้มาประกอบด้วยการดำเนินการและงานของลูกค้าที่ซื้อซอฟต์แวร์ กระบวนการนี้ครอบคลุมกิจกรรมดังต่อไปนี้:
- การเริ่มต้นการซื้อกิจการ
- การจัดทำข้อเสนอการประมูล
- การจัดเตรียมและการปรับปรุงสัญญา
- การกำกับดูแลกิจกรรมของซัพพลายเออร์
- การยอมรับและความสำเร็จของงาน
การเริ่มต้นการซื้อกิจการประกอบด้วยงานต่อไปนี้:
- การตัดสินใจโดยลูกค้าถึงความต้องการในการได้มา การพัฒนา หรือการปรับปรุงระบบ ผลิตภัณฑ์ซอฟต์แวร์หรือบริการ
- การตัดสินใจเกี่ยวกับการได้มา การพัฒนา หรือการปรับปรุงซอฟต์แวร์ที่มีอยู่
- การตรวจสอบความพร้อมของเอกสาร การรับประกัน ใบรับรอง ใบอนุญาต และการสนับสนุนที่จำเป็น ในกรณีที่ซื้อผลิตภัณฑ์ซอฟต์แวร์
- การจัดทำและอนุมัติแผนการเข้าซื้อกิจการ รวมถึงข้อกำหนดของระบบ ประเภทของสัญญา ความรับผิดชอบของคู่สัญญา เป็นต้น
ข้อเสนอการสมัครจะต้องมี:
- ข้อกำหนดสำหรับระบบ
- รายการผลิตภัณฑ์ซอฟต์แวร์
- เงื่อนไขการได้มาและข้อตกลง
- ข้อจำกัดทางเทคนิค (เช่น สภาพแวดล้อมการทำงานของระบบ)
การประมูลจะถูกส่งไปยังซัพพลายเออร์ที่เลือกหรือซัพพลายเออร์หลายรายในกรณีที่มีการประกวดราคา ซัพพลายเออร์คือองค์กรที่ทำสัญญากับลูกค้าในการจัดหาระบบ ซอฟต์แวร์ หรือบริการซอฟต์แวร์ภายใต้ข้อกำหนดที่ระบุไว้ในสัญญา
การจัดทำและปรับปรุงสัญญาประกอบด้วยงานดังต่อไปนี้
- การตัดสินใจโดยลูกค้าเกี่ยวกับขั้นตอนในการเลือกซัพพลายเออร์รวมถึงเกณฑ์ในการประเมินข้อเสนอจากซัพพลายเออร์ที่เป็นไปได้
- การเลือกซัพพลายเออร์เฉพาะตามการวิเคราะห์ข้อเสนอ
- การเตรียมการและการสรุปผล ข้อตกลงกับซัพพลายเออร์;
- ทำการเปลี่ยนแปลง (หากจำเป็น) ในสัญญาระหว่างการดำเนินการ
การกำกับดูแลกิจกรรมของซัพพลายเออร์จะดำเนินการตามการดำเนินการที่ให้ไว้ในกระบวนการประเมินและตรวจสอบร่วมกัน ในระหว่างกระบวนการยอมรับ จะมีการจัดเตรียมและดำเนินการทดสอบที่จำเป็น งานเสร็จสิ้นภายใต้สัญญาจะดำเนินการหากตรงตามเงื่อนไขการยอมรับทั้งหมด
กระบวนการจัดส่งครอบคลุมกิจกรรมและงานที่ดำเนินการโดยซัพพลายเออร์ที่จัดหาผลิตภัณฑ์ซอฟต์แวร์หรือบริการให้กับลูกค้า กระบวนการนี้รวมถึงขั้นตอนต่อไปนี้:
- การเริ่มต้นการส่งมอบ
- การเตรียมการตอบรับข้อเสนอการประมูล
- การจัดทำสัญญา
- การวางแผนงานตามสัญญา
- การดำเนินการและการควบคุมงานตามสัญญาและการประเมินผล
- การส่งมอบและเสร็จสิ้นการทำงาน
การเริ่มต้นการส่งมอบประกอบด้วยซัพพลายเออร์ตรวจสอบข้อเสนอการประมูลและตัดสินใจว่าจะเห็นด้วยกับข้อกำหนดและเงื่อนไขที่ระบุไว้หรือเสนอด้วยตนเอง (ตกลง) การวางแผนรวมถึงงานต่อไปนี้:
- การตัดสินใจของซัพพลายเออร์เกี่ยวกับการปฏิบัติงานของตนเองหรือการมีส่วนร่วมของผู้รับเหมาช่วง
- การพัฒนาโดยซัพพลายเออร์ของแผนการจัดการโครงการที่มีโครงสร้างองค์กรของโครงการ, การกำหนดขอบเขตความรับผิดชอบ, ข้อกำหนดทางเทคนิคไปจนถึงสภาพแวดล้อมการพัฒนาและทรัพยากร การจัดการของผู้รับเหมาช่วง ฯลฯ
กระบวนการพัฒนาเกี่ยวข้องกับการกระทำและงานที่ดำเนินการโดยนักพัฒนาและครอบคลุมงานสร้างซอฟต์แวร์และส่วนประกอบตามข้อกำหนดที่ระบุ ซึ่งรวมถึงการเตรียมเอกสารการออกแบบและการปฏิบัติงาน การเตรียมวัสดุที่จำเป็นสำหรับการทดสอบประสิทธิภาพ และ คุณภาพของผลิตภัณฑ์ซอฟต์แวร์, วัสดุที่จำเป็นสำหรับการจัดฝึกอบรมบุคลากร ฯลฯ
กระบวนการพัฒนาประกอบด้วยขั้นตอนต่อไปนี้:
- งานเตรียมการ
- การวิเคราะห์ความต้องการของระบบ
- การออกแบบสถาปัตยกรรมระบบ
- การวิเคราะห์ข้อกำหนดซอฟต์แวร์
- การออกแบบสถาปัตยกรรมซอฟต์แวร์
- การออกแบบซอฟต์แวร์โดยละเอียด
- การเข้ารหัสและการทดสอบซอฟต์แวร์
- การรวมซอฟต์แวร์
- การทดสอบคุณสมบัติซอฟต์แวร์
- บูรณาการระบบ
- การทดสอบคุณสมบัติระบบ
- การติดตั้งซอฟต์แวร์
- การยอมรับซอฟต์แวร์
งานเตรียมการเริ่มต้นด้วยการเลือกแบบจำลองวงจรชีวิตซอฟต์แวร์ที่สอดคล้องกับขนาด ความสำคัญ และความซับซ้อนของโครงการ กิจกรรมและงานของกระบวนการพัฒนาจะต้องสอดคล้องกับรูปแบบที่เลือก ผู้พัฒนาจะต้องเลือกปรับให้เข้ากับสภาพโครงการและใช้มาตรฐานวิธีการและ เครื่องมือในการพัฒนาพร้อมทั้งจัดทำแผนการปฏิบัติงาน
การวิเคราะห์ข้อกำหนดสำหรับระบบเกี่ยวข้องกับการกำหนดฟังก์ชันการทำงานของระบบ ความต้องการของผู้ใช้, ข้อกำหนดด้านความน่าเชื่อถือ, ความปลอดภัย, ข้อกำหนดสำหรับอินเทอร์เฟซภายนอก, ประสิทธิภาพ ฯลฯ ความต้องการของระบบได้รับการประเมินตามเกณฑ์ความเป็นไปได้และความสามารถในการทดสอบ
การออกแบบสถาปัตยกรรมของระบบเกี่ยวข้องกับการกำหนดส่วนประกอบของฮาร์ดแวร์ (ฮาร์ดแวร์) ซอฟต์แวร์ และการดำเนินงานที่ดำเนินการโดยบุคลากรที่ปฏิบัติการระบบ สถาปัตยกรรมระบบจะต้องเป็นไปตามข้อกำหนดของระบบและมาตรฐานและแนวปฏิบัติการออกแบบที่เป็นที่ยอมรับ
การวิเคราะห์ข้อกำหนดซอฟต์แวร์เกี่ยวข้องกับการกำหนดคุณลักษณะต่อไปนี้สำหรับแต่ละองค์ประกอบของซอฟต์แวร์:
- ฟังก์ชันการทำงาน รวมถึงคุณลักษณะด้านประสิทธิภาพและสภาพแวดล้อมการทำงานของส่วนประกอบ
- อินเทอร์เฟซภายนอก
- ข้อกำหนดด้านความน่าเชื่อถือและความปลอดภัย
- ข้อกำหนดตามหลักสรีรศาสตร์
- ข้อกำหนดสำหรับข้อมูลที่ใช้
- ข้อกำหนดการติดตั้งและการยอมรับ
- ข้อกำหนดสำหรับเอกสารสำหรับผู้ใช้
- ข้อกำหนดสำหรับการดำเนินงานและการบำรุงรักษา
ข้อกำหนดของซอฟต์แวร์ได้รับการประเมินตามเกณฑ์การปฏิบัติตามข้อกำหนดสำหรับระบบโดยรวม ความเป็นไปได้และความสามารถในการทดสอบ
การออกแบบสถาปัตยกรรมซอฟต์แวร์ประกอบด้วยงานต่อไปนี้สำหรับแต่ละองค์ประกอบของซอฟต์แวร์:
- การเปลี่ยนแปลงข้อกำหนดซอฟต์แวร์ให้เป็นสถาปัตยกรรมที่กำหนดโครงสร้างของซอฟต์แวร์และองค์ประกอบของส่วนประกอบในระดับสูง
- การพัฒนาและการจัดทำเอกสารของอินเทอร์เฟซซอฟต์แวร์และฐานข้อมูล (DB)
- การพัฒนาเอกสารผู้ใช้เวอร์ชันเบื้องต้น
- การพัฒนาและจัดทำเอกสารข้อกำหนดการทดสอบเบื้องต้นและแผนการรวมซอฟต์แวร์
การออกแบบซอฟต์แวร์โดยละเอียดประกอบด้วยงานดังต่อไปนี้:
- คำอธิบายส่วนประกอบซอฟต์แวร์และอินเทอร์เฟซระหว่างกันในระดับที่ต่ำกว่าซึ่งเพียงพอสำหรับการเข้ารหัสและการทดสอบในภายหลัง
- การพัฒนาและจัดทำเอกสารการออกแบบฐานข้อมูลโดยละเอียด
- อัปเดตเอกสารผู้ใช้ (หากจำเป็น)
- การพัฒนาและจัดทำเอกสารข้อกำหนดการทดสอบและแผนการทดสอบส่วนประกอบซอฟต์แวร์
การเขียนโค้ดและการทดสอบซอฟต์แวร์ประกอบด้วยงานต่อไปนี้:
- การเข้ารหัสและจัดทำเอกสารส่วนประกอบซอฟต์แวร์และฐานข้อมูลแต่ละรายการ ตลอดจนการเตรียมชุดขั้นตอนการทดสอบและข้อมูลสำหรับการทดสอบ
- การทดสอบซอฟต์แวร์และส่วนประกอบฐานข้อมูลแต่ละรายการเพื่อให้เป็นไปตามข้อกำหนด ตามด้วยเอกสารประกอบผลการทดสอบ
- อัปเดตเอกสาร (ถ้าจำเป็น)
- อัปเดตแผนการรวมซอฟต์แวร์
การรวมซอฟต์แวร์เกี่ยวข้องกับการประกอบส่วนประกอบซอฟต์แวร์ที่พัฒนาขึ้นตามแผนการรวมและการทดสอบสำหรับส่วนประกอบที่รวบรวม สำหรับส่วนประกอบแต่ละชิ้นที่รวมกัน ชุดการทดสอบและขั้นตอนการทดสอบได้รับการพัฒนาเพื่อตรวจสอบข้อกำหนดคุณสมบัติแต่ละอย่างในระหว่างการทดสอบคุณสมบัติครั้งต่อไป ข้อกำหนดคุณสมบัติคือชุดเกณฑ์หรือเงื่อนไขที่ต้องปฏิบัติตามจึงจะมีคุณสมบัติ ผลิตภัณฑ์ซอฟต์แวร์เป็นไปตามข้อกำหนดและพร้อมสำหรับการใช้งานภาคสนาม
การทดสอบคุณสมบัติซอฟต์แวร์ดำเนินการโดยนักพัฒนาต่อหน้าลูกค้า (
กระบวนการดำเนินงานครอบคลุมกิจกรรมและภารกิจขององค์กรผู้ปฏิบัติงานที่ปฏิบัติการระบบ กระบวนการดำเนินการประกอบด้วยขั้นตอนต่อไปนี้
งานเตรียมการซึ่งรวมถึงผู้ปฏิบัติงานที่ปฏิบัติงานดังต่อไปนี้:
- การวางแผนกิจกรรมและงานที่ดำเนินการระหว่างการปฏิบัติงานและการกำหนดมาตรฐานการปฏิบัติงาน
- การกำหนดขั้นตอนในการแปลและแก้ไขปัญหาที่เกิดขึ้นระหว่างการดำเนินการ
- การทดสอบการปฏิบัติงานดำเนินการสำหรับผลิตภัณฑ์ซอฟต์แวร์แต่ละรุ่นต่อๆ ไป หลังจากนั้นจึงนำรุ่นนี้ไปใช้จริง
- การทำงานจริงของระบบซึ่งดำเนินการในสภาพแวดล้อมที่กำหนดไว้ตามเอกสารประกอบสำหรับผู้ใช้
- การวิเคราะห์ปัญหาและการร้องขอการแก้ไขซอฟต์แวร์ (การวิเคราะห์ข้อความเกี่ยวกับปัญหาหรือการร้องขอการแก้ไข การประเมินขนาด ค่าใช้จ่ายในการแก้ไข ผลที่ได้ การประเมินความเป็นไปได้ของการแก้ไข)
- การดัดแปลงซอฟต์แวร์ (การเปลี่ยนแปลงส่วนประกอบผลิตภัณฑ์ซอฟต์แวร์และเอกสารประกอบตามกฎของกระบวนการพัฒนา)
- การตรวจสอบและการยอมรับ (ในแง่ของความสมบูรณ์ของระบบที่แก้ไข)
- การถ่ายโอนซอฟต์แวร์ไปยังสภาพแวดล้อมอื่น (การแปลงโปรแกรมและข้อมูล การทำงานแบบขนานของซอฟต์แวร์ในสภาพแวดล้อมเก่าและใหม่ในช่วงระยะเวลาหนึ่ง)
- การเลิกใช้งานซอฟต์แวร์โดยการตัดสินใจของลูกค้าโดยการมีส่วนร่วมขององค์กรปฏิบัติการ บริการสนับสนุน และผู้ใช้ ในกรณีนี้ ผลิตภัณฑ์ซอฟต์แวร์และเอกสารประกอบต่างๆ จะถูกจัดเก็บถาวรตามข้อตกลง
แนวคิดเกี่ยวกับวงจรชีวิตซอฟต์แวร์ (SOLC) เป็นหนึ่งในแนวคิดพื้นฐานในวิศวกรรมซอฟต์แวร์ วงจรชีวิต กำหนดระยะเวลาที่เริ่มต้นจากช่วงเวลาที่ตัดสินใจเกี่ยวกับความจำเป็นในการสร้างซอฟต์แวร์และสิ้นสุดในขณะที่ถูกลบออกจากบริการโดยสิ้นเชิง
ตามมาตรฐาน ISO/IEC 12207 กระบวนการวงจรชีวิตทั้งหมดจะแบ่งออกเป็นสามกลุ่ม (รูปที่ 2.1)
ภายใต้ แบบจำลองวงจรชีวิต ซอฟต์แวร์เข้าใจว่าเป็นโครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ของกระบวนการ การดำเนินการ และงานตลอดวงจรชีวิต ขึ้นอยู่กับลักษณะเฉพาะ ขนาด และความซับซ้อนของโครงการ และเงื่อนไขเฉพาะในการสร้างและดำเนินการระบบ วงจรชีวิตของซอฟต์แวร์มักประกอบด้วยขั้นตอนต่อไปนี้:
1. การก่อตัวของข้อกำหนดซอฟต์แวร์
2. การออกแบบ
3. การนำไปปฏิบัติ
4.การทดสอบ
5. การว่าจ้าง
6. การใช้งานและการบำรุงรักษา
7. การรื้อถอน.
ปัจจุบันมีการใช้โมเดลวงจรชีวิตซอฟต์แวร์หลักต่อไปนี้กันอย่างแพร่หลาย:
ก) น้ำตกและ
b) เกลียว (วิวัฒนาการ)
อันแรกใช้สำหรับโปรแกรมขนาดเล็กที่ประกอบเป็นหนึ่งเดียว คุณสมบัติพื้นฐาน วิธีการน้ำตกคือการเปลี่ยนไปสู่ขั้นตอนต่อไปจะดำเนินการเฉพาะหลังจากที่งานในปัจจุบันเสร็จสมบูรณ์แล้วเท่านั้น และจะไม่มีการส่งคืนไปยังขั้นตอนที่เสร็จสมบูรณ์ แผนภาพแสดงไว้ในรูปที่. 2.2.
ข้อดีของการใช้โมเดลคาสเคดมีดังนี้:
ในแต่ละขั้นตอนจะมีการสร้างชุดที่สมบูรณ์ เอกสารโครงการ;
ขั้นตอนของงานที่ดำเนินการทำให้สามารถวางแผนวันที่แล้วเสร็จและต้นทุนที่เกี่ยวข้องได้
แบบจำลองนี้ใช้สำหรับระบบที่สามารถกำหนดข้อกำหนดทั้งหมดได้อย่างแม่นยำตั้งแต่เริ่มต้นการพัฒนา ซึ่งรวมถึงระบบต่างๆ ที่แก้ไขปัญหาด้านการคำนวณเป็นหลัก กระบวนการจริงมักจะมีลักษณะวนซ้ำ: ผลลัพธ์ของขั้นตอนถัดไปมักจะทำให้เกิดการเปลี่ยนแปลงในโซลูชันการออกแบบที่พัฒนาขึ้นในขั้นตอนก่อนหน้า ดังนั้น โมเดลทั่วไปคือมีการควบคุมระดับกลาง ซึ่งแสดงไว้ในรูปที่ 1 2.3.
ข้อเสียเปรียบหลักของแนวทางแบบเรียงซ้อนคือความล่าช้าอย่างมากในการได้รับผลลัพธ์ และด้วยเหตุนี้ จึงมีความเสี่ยงสูงในการสร้างระบบที่ไม่ตอบสนองความต้องการที่เปลี่ยนแปลงไปของผู้ใช้
ปัญหาเหล่านี้จะหมดไปใน แบบจำลองวงจรชีวิตแบบเกลียว (รูปที่ 2.4) คุณสมบัติพื้นฐานของมันคือแอพพลิเคชั่นซอฟต์แวร์ไม่ได้ถูกสร้างขึ้นทันทีเช่นในกรณีของวิธีการแบบเรียงซ้อน แต่ในบางส่วนที่ใช้วิธีการ การสร้างต้นแบบ - ต้นแบบเข้าใจว่าเป็นส่วนประกอบซอฟต์แวร์ที่ใช้งานได้ ฟังก์ชั่นส่วนบุคคลและอินเทอร์เฟซภายนอกของซอฟต์แวร์ที่พัฒนาขึ้น การสร้างต้นแบบนั้นดำเนินการวนซ้ำหลายครั้ง - การหมุนแบบเกลียว
แบบจำลองน้ำตก (วิวัฒนาการ) สามารถแสดงได้ในรูปแบบของแผนภาพ ซึ่งแสดงในรูปที่ 2.5
ผลลัพธ์ประการหนึ่งของการใช้แบบจำลองวงจรชีวิตแบบเกลียวคือวิธีการที่เรียกว่าแพร่หลาย การพัฒนาแอปพลิเคชั่นอย่างรวดเร็ว , หรือ ราด (การพัฒนาแอพพลิเคชั่นอย่างรวดเร็ว). วงจรชีวิตซอฟต์แวร์ตามวิธีนี้ประกอบด้วยสี่ขั้นตอน:
1) การวิเคราะห์และการวางแผนข้อกำหนด
2) การออกแบบ;
3) การดำเนินการ;
4) การนำไปปฏิบัติ
การวิเคราะห์วงจรชีวิตของโปรแกรมทำให้คุณสามารถชี้แจงเนื้อหาและเน้นกระบวนการต่อไปนี้สำหรับการออกแบบระบบที่ซับซ้อน
1) กลยุทธ์;
2) การวิเคราะห์;
3) การออกแบบ;
4) การนำไปปฏิบัติ;
5) การทดสอบ;
6) การนำไปปฏิบัติ;
7) การดำเนินงานและ การสนับสนุนด้านเทคนิค.
กลยุทธ์
การกำหนดกลยุทธ์เกี่ยวข้องกับการตรวจสอบระบบ วัตถุประสงค์หลักของการสำรวจคือเพื่อประเมินขอบเขตที่แท้จริงของโครงการ เป้าหมาย และวัตถุประสงค์ ตลอดจนเพื่อให้ได้คำจำกัดความระดับสูงของเอนทิตีและหน้าที่ ในขั้นตอนนี้ นักวิเคราะห์ธุรกิจที่มีคุณสมบัติสูงจะถูกดึงดูดให้เข้าถึงฝ่ายบริหารของบริษัทอย่างต่อเนื่อง นอกจากนี้ คาดว่าจะมีปฏิสัมพันธ์อย่างใกล้ชิดกับผู้ใช้หลักของระบบและผู้เชี่ยวชาญทางธุรกิจ ภารกิจหลักของการโต้ตอบดังกล่าวคือการได้รับข้อมูลที่ครบถ้วนที่สุดเท่าที่จะเป็นไปได้เกี่ยวกับระบบ เข้าใจความต้องการของลูกค้าอย่างชัดเจน และถ่ายโอนข้อมูลที่ได้รับในรูปแบบที่เป็นทางการไปยังนักวิเคราะห์ระบบ โดยทั่วไป ข้อมูลเกี่ยวกับระบบสามารถรับได้จากการสนทนา (หรือการประชุมเชิงปฏิบัติการ) กับฝ่ายบริหาร ผู้เชี่ยวชาญ และผู้ใช้
ผลลัพธ์ของขั้นตอนการกำหนดกลยุทธ์คือเอกสารที่ระบุสิ่งต่อไปนี้อย่างชัดเจน:
ลูกค้าจะเป็นหนี้อะไรกันแน่หากเขาตกลงที่จะจัดหาเงินทุนให้กับโครงการ
เขาจะสามารถรับสินค้าสำเร็จรูปได้เมื่อใด (ตารางงาน)
เขาจะเสียค่าใช้จ่ายเท่าไหร่ (กำหนดขั้นตอนการจัดหาเงินทุนสำหรับโครงการขนาดใหญ่)
เอกสารควรสะท้อนไม่เพียงแต่ต้นทุนเท่านั้น แต่ยังรวมถึงผลประโยชน์ด้วย เช่น ระยะเวลาคืนทุนที่คาดหวังของโครงการ ผลกระทบทางเศรษฐกิจ(หากสามารถประเมินได้)
ขั้นตอนที่พิจารณาของวงจรชีวิตซอฟต์แวร์สามารถแสดงได้เพียงครั้งเดียวในโมเดล โดยเฉพาะอย่างยิ่งหากโมเดลมีโครงสร้างแบบวนรอบ นี่ไม่ได้หมายความว่าในโมเดลแบบวนรอบ การวางแผนเชิงกลยุทธ์ทำครั้งเดียวและตลอดไป ในแบบจำลองดังกล่าว ขั้นตอนของการกำหนดกลยุทธ์และการวิเคราะห์จะรวมกันและการแยกจะเกิดขึ้นในขั้นตอนแรกเท่านั้น เมื่อฝ่ายบริหารขององค์กรทำการตัดสินใจขั้นพื้นฐานเพื่อเริ่มโครงการ โดยทั่วไป เวทีเชิงกลยุทธ์ทุ่มเทให้กับการพัฒนาเอกสารในระดับการจัดการองค์กร
ขั้นตอนการวิเคราะห์เกี่ยวข้องกับการศึกษารายละเอียดของกระบวนการทางธุรกิจ (ฟังก์ชันที่กำหนดไว้ในขั้นตอนก่อนหน้า) และข้อมูลที่จำเป็นสำหรับการดำเนินการ (เอนทิตี คุณลักษณะ และการเชื่อมต่อ (ความสัมพันธ์)) ขั้นตอนนี้สร้างแบบจำลองข้อมูล และขั้นตอนการออกแบบถัดไปจะสร้างแบบจำลองข้อมูล
ข้อมูลทั้งหมดเกี่ยวกับระบบที่รวบรวมในขั้นตอนการกำหนดกลยุทธ์จะได้รับการจัดทำอย่างเป็นทางการและชี้แจงในขั้นตอนการวิเคราะห์ ความสนใจเป็นพิเศษใส่ใจกับความครบถ้วนของข้อมูลที่ได้รับ การวิเคราะห์ความสอดคล้อง ตลอดจนการค้นหาข้อมูลที่ไม่ได้ใช้หรือซ้ำกัน ตามกฎแล้ว ขั้นแรกลูกค้าจะต้องสร้างข้อกำหนดไม่ใช่สำหรับระบบโดยรวม แต่สำหรับส่วนประกอบแต่ละส่วน และในกรณีนี้ แบบจำลองวงจรชีวิตของซอฟต์แวร์แบบวัฏจักรมีข้อได้เปรียบ เนื่องจากมีแนวโน้มที่จะต้องมีการวิเคราะห์ซ้ำเมื่อเวลาผ่านไป เนื่องจากลูกค้ามักจะมีความอยากอาหารเมื่อรับประทานอาหาร ในขั้นตอนนี้ จะมีการกำหนดองค์ประกอบที่จำเป็นของแผนการทดสอบ
นักวิเคราะห์รวบรวมและบันทึกข้อมูลในรูปแบบที่สัมพันธ์กันสองรูปแบบ:
ก) ฟังก์ชั่น - ข้อมูลเกี่ยวกับเหตุการณ์และกระบวนการที่เกิดขึ้นในธุรกิจ
b) เอนทิตี - ข้อมูลเกี่ยวกับวัตถุที่มีความสำคัญต่อองค์กรและสิ่งที่ทราบ
ซึ่งจะสร้างไดอะแกรมของส่วนประกอบ กระแสข้อมูล และวงจรชีวิตที่อธิบายไดนามิกของระบบ สิ่งเหล่านี้จะมีการหารือในภายหลัง
ออกแบบ
ในขั้นตอนการออกแบบ แบบจำลองข้อมูลจะถูกสร้างขึ้น ผู้ออกแบบประมวลผลข้อมูลการวิเคราะห์ ผลิตภัณฑ์ขั้นสุดท้ายของขั้นตอนการออกแบบคือสกีมาฐานข้อมูล (หากมีอยู่ในโครงการ) หรือสกีมาคลังข้อมูล (แบบจำลอง ER) และชุดข้อกำหนดเฉพาะของโมดูลระบบ (แบบจำลองฟังก์ชัน)
ในโปรเจ็กต์ขนาดเล็ก (เช่น งานในหลักสูตร) คนกลุ่มเดียวกันสามารถทำหน้าที่เป็นนักวิเคราะห์ นักออกแบบ และนักพัฒนาได้ ไดอะแกรมและโมเดลที่ระบุไว้ข้างต้นช่วยในการค้นหา เช่น ไม่ได้อธิบายเลย อธิบายไม่ชัดเจน อธิบายส่วนประกอบของระบบไม่สอดคล้องกัน และข้อบกพร่องอื่นๆ ซึ่งช่วยป้องกันข้อผิดพลาดที่อาจเกิดขึ้น
ข้อกำหนดทั้งหมดจะต้องมีความแม่นยำมาก แผนการทดสอบระบบยังได้รับการสรุปในระหว่างขั้นตอนการพัฒนานี้ ในหลายโครงการ ผลลัพธ์ของขั้นตอนการออกแบบจะถูกทำให้เป็นทางการในรูปแบบของเอกสารเดียว - ที่เรียกว่าข้อกำหนดทางเทคนิค ในเวลาเดียวกัน ประยุกต์กว้างได้รับภาษา UML ซึ่งช่วยให้คุณได้รับทั้งเอกสารการวิเคราะห์ซึ่งมีรายละเอียดน้อยกว่า (ผู้บริโภคของพวกเขาคือผู้จัดการฝ่ายผลิต) และเอกสารการออกแบบ (ผู้บริโภคของพวกเขาเป็นผู้จัดการกลุ่มการพัฒนาและการทดสอบ) ภาษานี้จะกล่าวถึงในภายหลัง ซอฟต์แวร์ที่สร้างโดยใช้ UML ช่วยให้สร้างโค้ดได้ง่ายขึ้น อย่างน้อยก็ลำดับชั้นของคลาส รวมถึงโค้ดบางส่วนของวิธีการ (ขั้นตอนและฟังก์ชัน) ด้วยตัวมันเอง
วัตถุประสงค์การออกแบบคือ:
ทบทวนผลการวิเคราะห์และตรวจสอบความครบถ้วน
สัมมนากับลูกค้า
การระบุพื้นที่สำคัญของโครงการและการประเมินข้อจำกัด
คำจำกัดความของสถาปัตยกรรมระบบ
การตัดสินใจเกี่ยวกับการใช้ผลิตภัณฑ์ของบุคคลที่สาม ตลอดจนวิธีการบูรณาการและกลไกในการแลกเปลี่ยนข้อมูลกับผลิตภัณฑ์เหล่านี้
การออกแบบคลังข้อมูล: โมเดลฐานข้อมูล
การออกแบบกระบวนการและรหัส: การเลือกเครื่องมือการพัฒนาขั้นสุดท้าย คำจำกัดความของส่วนต่อประสานโปรแกรม การแมปฟังก์ชันของระบบกับโมดูล และการกำหนดข้อกำหนดเฉพาะของโมดูล
การกำหนดข้อกำหนดสำหรับกระบวนการทดสอบ
การกำหนดข้อกำหนดด้านความปลอดภัยของระบบ
การนำไปปฏิบัติ
เมื่อดำเนินโครงการ จำเป็นอย่างยิ่งที่จะต้องประสานงานกับทีมพัฒนา นักพัฒนาซอฟต์แวร์ทุกคนอยู่ภายใต้กฎการควบคุมแหล่งที่มาที่เข้มงวด พวกเขาได้รับแล้ว โครงการด้านเทคนิคให้เริ่มเขียนโค้ดโมดูล ภารกิจหลักของนักพัฒนาคือการทำความเข้าใจข้อกำหนด: ผู้ออกแบบเขียนสิ่งที่ต้องทำ และนักพัฒนาจะกำหนดวิธีดำเนินการ
ในขั้นตอนการพัฒนา มีการปฏิสัมพันธ์อย่างใกล้ชิดระหว่างนักออกแบบ นักพัฒนา และกลุ่มทดสอบ ในกรณีของการพัฒนาอย่างเข้มข้น ผู้ทดสอบไม่สามารถแยกออกจากนักพัฒนาได้อย่างแท้จริง และกลายเป็นสมาชิกของทีมพัฒนาได้อย่างมีประสิทธิภาพ
ส่วนใหญ่แล้วอินเทอร์เฟซผู้ใช้จะเปลี่ยนไปในระหว่างขั้นตอนการพัฒนา นี่เป็นเพราะจะมีการสาธิตโมดูลให้กับลูกค้าเป็นระยะ นอกจากนี้ยังสามารถเปลี่ยนการสืบค้นข้อมูลได้อย่างมาก
ขั้นตอนการพัฒนาเกี่ยวข้องกับขั้นตอนการทดสอบ และกระบวนการทั้งสองทำงานพร้อมกัน ระบบติดตามจุดบกพร่องประสานการกระทำของผู้ทดสอบและนักพัฒนา
ควรจำแนกข้อบกพร่องตามลำดับความสำคัญ สำหรับข้อผิดพลาดแต่ละประเภท จะต้องกำหนดโครงสร้างการดำเนินการที่ชัดเจน: “ต้องทำอย่างไร” “เร่งด่วนแค่ไหน” “ใครเป็นผู้รับผิดชอบต่อผลลัพธ์” แต่ละปัญหาควรได้รับการติดตามโดยผู้ออกแบบ/ผู้พัฒนา/ผู้ทดสอบที่รับผิดชอบในการแก้ไข เช่นเดียวกับสถานการณ์ที่มีการละเมิดการพัฒนาตามแผนและการส่งมอบโมดูลสำหรับการทดสอบ
นอกจากนี้ควรจัดระเบียบที่เก็บของโมดูลโครงการสำเร็จรูปและไลบรารีที่ใช้ในการประกอบโมดูล พื้นที่เก็บข้อมูลนี้ได้รับการอัปเดตอย่างต่อเนื่อง บุคคลหนึ่งควรควบคุมกระบวนการอัปเดต พื้นที่เก็บข้อมูลหนึ่งถูกสร้างขึ้นสำหรับโมดูลที่ผ่านการทดสอบการทำงาน พื้นที่เก็บข้อมูลที่สองสำหรับโมดูลที่ผ่านการทดสอบการเชื่อมต่อ อย่างแรกคือแบบร่าง ส่วนอย่างที่สองคือสิ่งที่เป็นไปได้ที่จะประกอบชุดแจกจ่ายของระบบและแสดงให้ลูกค้าเห็นเพื่อทำการทดสอบการควบคุมหรือผ่านขั้นตอนการทำงานใดๆ
การทดสอบ
ทีมทดสอบสามารถมีส่วนร่วมในการทำงานร่วมกันตั้งแต่ระยะเริ่มต้นของการพัฒนาโครงการ โดยปกติแล้ว การทดสอบที่ซับซ้อนจะแยกออกเป็นขั้นตอนการพัฒนาที่แยกจากกัน ขึ้นอยู่กับความซับซ้อนของโปรเจ็กต์ การทดสอบและแก้ไขข้อผิดพลาดอาจใช้เวลาหนึ่งในสามหรือครึ่งหนึ่งของเวลาทั้งหมดที่ใช้ในโปรเจ็กต์ หรือมากกว่านั้น
ยิ่งโปรเจ็กต์มีความซับซ้อนมากเท่าใด ความจำเป็นในการทำให้ระบบติดตามจุดบกพร่องโดยอัตโนมัติมากขึ้นเท่านั้น ฟังก์ชั่นต่อไปนี้:
การจัดเก็บข้อความแสดงข้อผิดพลาด (ส่วนประกอบของระบบที่เกี่ยวข้องกับข้อผิดพลาด ใครพบ วิธีทำซ้ำ ใครรับผิดชอบในการแก้ไข เมื่อควรแก้ไข)
ระบบแจ้งเตือนเกี่ยวกับการปรากฏตัวของข้อผิดพลาดใหม่เกี่ยวกับการเปลี่ยนแปลงสถานะของข้อผิดพลาดที่ทราบในระบบ (แจ้งเตือนโดย อีเมล);
รายงานข้อผิดพลาดปัจจุบันสำหรับส่วนประกอบของระบบ
ข้อมูลเกี่ยวกับข้อผิดพลาดและประวัติ
กฎการเข้าถึงข้อผิดพลาดของบางหมวดหมู่
อินเทอร์เฟซของการเข้าถึงระบบติดตามบั๊กอย่างจำกัดสำหรับผู้ใช้ปลายทาง
ระบบดังกล่าวใช้เวลาหลายอย่าง ปัญหาองค์กรโดยเฉพาะประเด็นการแจ้งเตือนข้อผิดพลาดอัตโนมัติ
การทดสอบระบบนั้นมักจะแบ่งออกเป็นหลายประเภท:
ก) การทดสอบออฟไลน์โมดูล; มีการใช้แล้วในขั้นตอนการพัฒนาส่วนประกอบของระบบและช่วยให้คุณสามารถติดตามข้อผิดพลาดของแต่ละส่วนประกอบได้
ข) การทดสอบการเชื่อมต่อส่วนประกอบของระบบ การทดสอบเหล่านี้ยังใช้ในขั้นตอนการพัฒนาอีกด้วย ซึ่งช่วยให้คุณสามารถตรวจสอบการโต้ตอบและการแลกเปลี่ยนข้อมูลระหว่างส่วนประกอบของระบบได้อย่างถูกต้อง
ค) การทดสอบระบบ - เป็นเกณฑ์หลักในการยอมรับระบบ ตามกฎแล้ว นี่คือกลุ่มของการทดสอบที่รวมถึงการทดสอบอัตโนมัติ การทดสอบการเชื่อมต่อ และแบบจำลอง การทดสอบดังกล่าวจะต้องจำลองการทำงานของส่วนประกอบและฟังก์ชันทั้งหมดของระบบ เป้าหมายหลักคือการยอมรับระบบภายในและการประเมินคุณภาพ
ง) การทดสอบการยอมรับ- วัตถุประสงค์หลักคือเพื่อส่งมอบระบบให้กับลูกค้า
จ) การทดสอบประสิทธิภาพและโหลด- การทดสอบกลุ่มนี้รวมอยู่ในระบบหนึ่งซึ่งเป็นการทดสอบหลักในการประเมินความน่าเชื่อถือของระบบ
แต่ละกลุ่มจำเป็นต้องมีการทดสอบการสร้างแบบจำลองความล้มเหลวด้วย โดยจะทดสอบการตอบสนองของส่วนประกอบ กลุ่มของส่วนประกอบ และระบบโดยรวมต่อความล้มเหลวต่อไปนี้:
องค์ประกอบแยกต่างหากของระบบสารสนเทศ
กลุ่มส่วนประกอบของระบบ
โมดูลหลักของระบบ
ระบบปฏิบัติการ
ฮาร์ดล้มเหลว (ไฟฟ้าขัดข้อง, ฮาร์ดไดรฟ์ขัดข้อง)
การทดสอบเหล่านี้ทำให้สามารถประเมินคุณภาพของระบบย่อยในการกู้คืนสถานะที่ถูกต้องของระบบข้อมูลและทำหน้าที่เป็นแหล่งข้อมูลหลักสำหรับการพัฒนากลยุทธ์เพื่อป้องกันผลกระทบด้านลบของความล้มเหลวระหว่างการดำเนินงานทางอุตสาหกรรม
สิ่งสำคัญอีกประการหนึ่งของโปรแกรมทดสอบระบบสารสนเทศคือความพร้อมของเครื่องกำเนิดข้อมูลทดสอบ ใช้สำหรับทดสอบการทำงาน ความน่าเชื่อถือ และประสิทธิภาพของระบบ ปัญหาในการประเมินลักษณะของการพึ่งพาประสิทธิภาพของระบบสารสนเทศกับการเติบโตของปริมาณข้อมูลที่ประมวลผลไม่สามารถแก้ไขได้หากไม่มีเครื่องกำเนิดข้อมูล
การนำไปปฏิบัติ
การดำเนินการทดลองทับซ้อนกับกระบวนการทดสอบ ระบบไม่ค่อยมีการใช้งานเต็มรูปแบบ โดยทั่วไป นี่เป็นกระบวนการแบบค่อยเป็นค่อยไปหรือแบบวนซ้ำ (ในกรณีของวงจรชีวิตแบบวัฏจักร)
การว่าจ้างต้องผ่านอย่างน้อยสามขั้นตอน:
2) การสะสมข้อมูล
3) เข้าถึงความสามารถในการออกแบบ (นั่นคือ การเปลี่ยนไปสู่ขั้นตอนการปฏิบัติงานจริง)
ข้อมูลอาจทำให้เกิดข้อผิดพลาดได้ค่อนข้างแคบ โดยส่วนใหญ่แล้วข้อมูลไม่ตรงกันระหว่างการโหลดและข้อผิดพลาดของตัวโหลดบูตเอง วิธีการควบคุมคุณภาพข้อมูลใช้เพื่อระบุและกำจัดข้อมูลเหล่านั้น ข้อผิดพลาดดังกล่าวจะต้องได้รับการแก้ไขโดยเร็วที่สุดในระหว่าง การสะสมข้อมูลถูกเปิดเผยในระบบสารสนเทศ จำนวนมากที่สุดข้อผิดพลาดที่เกี่ยวข้องกับการเข้าถึงของผู้ใช้หลายคน การแก้ไขประเภทที่สองเกี่ยวข้องกับข้อเท็จจริงที่ว่าผู้ใช้ไม่พอใจกับอินเทอร์เฟซ ในเวลาเดียวกัน โมเดลแบบวนและโมเดลที่มีการตอบรับตามระยะสามารถลดต้นทุนได้ ขั้นตอนนี้เป็นการทดสอบที่ร้ายแรงที่สุด - การทดสอบการยอมรับของลูกค้า
ระบบถึงความสามารถในการออกแบบแล้ววี ตัวเลือกที่ดี- นี่คือการปรับแต่งข้อผิดพลาดเล็กน้อยและข้อผิดพลาดร้ายแรงที่หายาก
การดำเนินงานและการสนับสนุนทางเทคนิค
ในขั้นตอนนี้ เอกสารสุดท้ายสำหรับนักพัฒนาคือใบรับรองการยอมรับทางเทคนิค เอกสารกำหนด บุคลากรที่จำเป็นและอุปกรณ์ที่จำเป็นเพื่อรองรับการทำงานของระบบตลอดจนเงื่อนไขความล้มเหลวของผลิตภัณฑ์และความรับผิดชอบของคู่สัญญา นอกจากนี้ ข้อกำหนดและเงื่อนไขการสนับสนุนทางเทคนิคมักจะจัดทำเป็นเอกสารแยกต่างหาก
แนวคิดเรื่อง “วงจรชีวิต” หมายถึง บางสิ่งที่เกิด พัฒนา และดับไป เช่นเดียวกับสิ่งมีชีวิต ผลิตภัณฑ์ซอฟต์แวร์ถูกสร้างขึ้น ดำเนินการ และพัฒนาอยู่ตลอดเวลา
วงจรชีวิต ซอฟต์แวร์รวมถึงทุกขั้นตอนของการพัฒนา: ตั้งแต่ความต้องการจนถึงการหยุดใช้งานโดยสมบูรณ์เนื่องจากล้าสมัยหรือสูญเสียความจำเป็นในการแก้ไขปัญหาที่เกี่ยวข้อง
เราสามารถแยกแยะการมีอยู่ของผลิตภัณฑ์ซอฟต์แวร์ได้หลายระยะในระหว่างวงจรชีวิตของผลิตภัณฑ์ ยังไม่มีชื่อและหมายเลขที่ยอมรับโดยทั่วไปสำหรับระยะเหล่านี้ แต่ไม่มีความขัดแย้งเป็นพิเศษในประเด็นนี้ ดังนั้นจึงมีหลายทางเลือกในการแบ่งวงจรชีวิตซอฟต์แวร์ออกเป็นขั้นตอนต่างๆ พาร์ติชันนี้ดีกว่าพาร์ติชันอื่นหรือไม่ไม่ใช่คำถามหลัก สิ่งสำคัญคือการจัดระเบียบการพัฒนาซอฟต์แวร์อย่างเหมาะสมโดยคำนึงถึงสิ่งเหล่านี้
ขึ้นอยู่กับระยะเวลาของวงจรชีวิต ผลิตภัณฑ์ซอฟต์แวร์สามารถแบ่งออกเป็นสองประเภท: เล็ก และ อายุการใช้งานยาวนาน คลาสของโปรแกรมเหล่านี้สอดคล้องกับแนวทางที่ยืดหยุ่น (แบบอ่อน) ในการสร้างและใช้งาน และแนวทางอุตสาหกรรมหนักสำหรับการออกแบบและการทำงานของผลิตภัณฑ์ซอฟต์แวร์ที่ได้รับการควบคุม ใน องค์กรทางวิทยาศาสตร์และมหาวิทยาลัยเช่นการพัฒนาโปรแกรมชั้นหนึ่งมีอิทธิพลเหนือกว่าและในองค์กรการออกแบบและอุตสาหกรรม - ประการที่สอง
ผลิตภัณฑ์ซอฟต์แวร์ที่มีอายุการใช้งานสั้น ถูกสร้างขึ้นเพื่อแก้ปัญหาทางวิทยาศาสตร์และวิศวกรรมเป็นหลักเพื่อให้ได้ผลลัพธ์การคำนวณเฉพาะ โปรแกรมดังกล่าวมักจะมีขนาดค่อนข้างเล็ก ได้รับการพัฒนาโดยผู้เชี่ยวชาญเพียงคนเดียวหรือกลุ่มเล็กๆ แนวคิดหลักโปรแกรมถูกกล่าวถึงโดยโปรแกรมเมอร์หนึ่งคนและผู้ใช้ปลายทาง รายละเอียดบางอย่างจะถูกใส่ลงในกระดาษและโครงการจะแล้วเสร็จภายในไม่กี่วันหรือหลายสัปดาห์ ไม่ได้มีไว้สำหรับการทำซ้ำหรือถ่ายโอนเพื่อใช้ในกลุ่มอื่นในภายหลัง โดยพื้นฐานแล้ว โปรแกรมดังกล่าวเป็นส่วนหนึ่งของงานวิจัยทางวิทยาศาสตร์ และไม่ถือเป็นผลิตภัณฑ์ซอฟต์แวร์ที่จำหน่ายได้
วงจรชีวิตของพวกมันประกอบด้วยช่วงเวลาที่ยาวนานของการวิเคราะห์ระบบและการทำให้ปัญหาเป็นระเบียบ ขั้นตอนสำคัญของการออกแบบโปรแกรม และระยะเวลาการดำเนินการที่ค่อนข้างสั้นและการได้รับผลลัพธ์ ตามกฎแล้วข้อกำหนดสำหรับลักษณะการทำงานและการออกแบบนั้นไม่เป็นทางการและไม่มีการทดสอบโปรแกรมอย่างเป็นทางการ ตัวบ่งชี้คุณภาพของพวกเขาจะถูกควบคุมโดยนักพัฒนาเท่านั้นตามแนวคิดที่ไม่เป็นทางการของพวกเขา
ผลิตภัณฑ์ซอฟต์แวร์ที่มีอายุการใช้งานสั้น
ไม่จำเป็นต้องบำรุงรักษาและแก้ไขโปรแกรมดังกล่าว และวงจรการใช้งานจะสิ้นสุดลงหลังจากได้รับผลการคำนวณ ค่าใช้จ่ายหลักในวงจรชีวิตของโปรแกรมดังกล่าวตกอยู่ที่ขั้นตอนของการวิเคราะห์และออกแบบระบบ ซึ่งกินเวลาตั้งแต่หนึ่งเดือนถึง 1...2 ปี ด้วยเหตุนี้
โดยวงจรชีวิตของผลิตภัณฑ์ซอฟต์แวร์มักไม่เกิน 3 ปี
ผลิตภัณฑ์ซอฟต์แวร์ที่มีอายุการใช้งานยาวนาน ถูกสร้างขึ้นเพื่อการประมวลผลและการจัดการข้อมูลอย่างสม่ำเสมอ โครงสร้างของโปรแกรมดังกล่าวมีความซับซ้อน ขนาดอาจแตกต่างกันอย่างมาก (1...1,000,000 คำสั่ง) แต่ทั้งหมดมีคุณสมบัติของการรับรู้และความเป็นไปได้ที่จะแก้ไขในระหว่างการบำรุงรักษาและการใช้งานระยะยาวโดยผู้เชี่ยวชาญหลายคน ผลิตภัณฑ์ซอฟต์แวร์ในระดับนี้สามารถทำซ้ำได้ โดยมีเอกสารประกอบเป็นผลิตภัณฑ์อุตสาหกรรมและเป็นตัวแทนของผลิตภัณฑ์ซอฟต์แวร์ที่แยกตัวจากนักพัฒนา
ผลิตภัณฑ์ซอฟต์แวร์ที่มีอายุการใช้งานยาวนาน
การออกแบบและการดำเนินงานดำเนินการโดยทีมงานผู้เชี่ยวชาญขนาดใหญ่ ซึ่งจำเป็นต้องมีระบบซอฟต์แวร์ที่เป็นทางการ รวมถึงการทดสอบและการกำหนดตัวบ่งชี้คุณภาพที่บรรลุผลของผลิตภัณฑ์ขั้นสุดท้ายอย่างเป็นทางการ วงจรชีวิตของพวกมันคือ 10...20 ปี ใช้เวลามากถึง 70...90% ในการดำเนินการและบำรุงรักษา เนื่องจากการจำลองแบบจำนวนมากและการบำรุงรักษาระยะยาว ต้นทุนรวมระหว่างการดำเนินการและการบำรุงรักษาผลิตภัณฑ์ซอฟต์แวร์ดังกล่าวจึงเกินต้นทุนของการวิเคราะห์และออกแบบระบบอย่างมาก
การนำเสนอครั้งต่อไปทั้งหมดมุ่งเน้นไปที่หัวข้อการพัฒนาขนาดใหญ่ (ซับซ้อน) ซอฟต์แวร์การจัดการและการประมวลผลข้อมูล
โมเดลทั่วไป วงจรชีวิต ผลิตภัณฑ์ซอฟต์แวร์อาจมีลักษณะดังนี้:
ฉัน. การวิเคราะห์ระบบ:
ก) การวิจัย;
b) การวิเคราะห์ความเป็นไปได้:
การดำเนินงาน;
ทางเศรษฐกิจ;
ทางการค้า.
ครั้งที่สอง การออกแบบซอฟต์แวร์:
ก) การออกแบบ:
การสลายตัวตามหน้าที่ของระบบ สถาปัตยกรรม
การออกแบบซอฟต์แวร์ภายนอก
การออกแบบฐานข้อมูล
สถาปัตยกรรมซอฟต์แวร์
ข) การเขียนโปรแกรม:
การออกแบบซอฟต์แวร์ภายใน
การออกแบบโมดูลซอฟต์แวร์ภายนอก
การออกแบบโมดูลซอฟต์แวร์ภายใน
การเข้ารหัส;
โปรแกรมดีบัก;
เค้าโครงโปรแกรม
c) การดีบักซอฟต์แวร์
III. การประเมินซอฟต์แวร์ (การทดสอบ)
IV. การใช้ซอฟต์แวร์:
ก) การดำเนินงาน;
b) คลอ
ฉัน- การวิเคราะห์ระบบในช่วงเริ่มต้นของการพัฒนาซอฟต์แวร์ การวิเคราะห์ระบบ (การออกแบบเบื้องต้น) จะดำเนินการในระหว่างที่มีการกำหนดความต้องการวัตถุประสงค์และลักษณะการทำงานหลัก มีการประเมินต้นทุนและประสิทธิภาพที่เป็นไปได้ของการใช้ผลิตภัณฑ์ซอฟต์แวร์ในอนาคต
ในขั้นตอนนี้ รายการข้อกำหนดจะถูกรวบรวม นั่นคือ คำจำกัดความที่ชัดเจนของสิ่งที่ผู้ใช้คาดหวัง ผลิตภัณฑ์สำเร็จรูป- มีการกำหนดเป้าหมายและวัตถุประสงค์ที่นี่เพื่อประโยชน์ในการดำเนินโครงการที่ได้รับการพัฒนา ในขั้นตอนการวิเคราะห์ระบบ สามารถแยกแยะได้สองทิศทาง: การวิจัยและการวิเคราะห์ความเป็นไปได้
การวิจัยเริ่มต้นขึ้น นับตั้งแต่วินาทีที่ผู้จัดการฝ่ายพัฒนาตระหนักถึงความต้องการซอฟต์แวร์
งานประกอบด้วยการวางแผนและการประสานงานกิจกรรมที่จำเป็นเพื่อจัดทำรายการข้อกำหนดที่เขียนด้วยลายมืออย่างเป็นทางการสำหรับผลิตภัณฑ์ซอฟต์แวร์ที่กำลังพัฒนา
การวิจัยสิ้นสุดลง เมื่อข้อกำหนดถูกสร้างขึ้นในลักษณะที่สามารถมองเห็นได้ และหากจำเป็น สามารถแก้ไขและอนุมัติโดยผู้จัดการที่รับผิดชอบได้
การวิเคราะห์ความเป็นไปได้ มี ส่วนทางเทคนิคการวิจัยและเริ่มต้นเมื่อความตั้งใจของผู้บริหารแข็งแกร่งพอที่จะแต่งตั้งผู้จัดการโครงการเพื่อจัดการออกแบบและจัดสรรทรัพยากร (แรงงาน)
งานประกอบด้วยการศึกษาผลิตภัณฑ์ซอฟต์แวร์ที่นำเสนอเพื่อรับการประเมินเชิงปฏิบัติของความเป็นไปได้ของโครงการโดยเฉพาะโดยมีการกำหนดดังต่อไปนี้:
- ความเป็นไปได้ในการดำเนินงาน , สินค้าจะสะดวกเพียงพอต่อการใช้งานจริงหรือไม่?
- ความเป็นไปได้ทางเศรษฐกิจ , ต้นทุนของผลิตภัณฑ์ที่กำลังพัฒนาเป็นที่ยอมรับหรือไม่? ค่าใช้จ่ายนี้คืออะไร? สินค้าจะประหยัดหรือไม่ เครื่องมือที่มีประสิทธิภาพอยู่ในมือของผู้ใช้?
- ความเป็นไปได้ทางการค้า สินค้าจะน่าสนใจ เป็นที่ต้องการ ติดตั้งง่าย ดูแลรักษาง่าย เรียนรู้ง่ายหรือไม่?
ปัญหาเหล่านี้และปัญหาอื่นๆ จำเป็นต้องได้รับการแก้ไขเป็นหลักโดยการพิจารณาข้อกำหนดข้างต้น
การศึกษาความเป็นไปได้จะสิ้นสุดเมื่อมีการรวบรวมและอนุมัติข้อกำหนดทั้งหมดแล้ว
ก่อนที่จะดำเนินโครงการต่อไป จำเป็นต้องตรวจสอบให้แน่ใจว่าได้รับข้อมูลที่จำเป็นทั้งหมดแล้ว ข้อมูลนี้จะต้องมีความถูกต้อง เข้าใจได้ และดำเนินการได้ ควรแสดงถึงข้อกำหนดครบชุดที่ตอบสนองผู้ใช้สำหรับผลิตภัณฑ์ซอฟต์แวร์ที่กำลังพัฒนา ซึ่งจัดทำอย่างเป็นทางการในรูปแบบของข้อกำหนด
ในกรณีที่ไม่ปฏิบัติตาม ข้อกำหนดนี้เป็นไปได้ที่จะชะลอการดำเนินโครงการอย่างมีนัยสำคัญในอนาคตเนื่องจากการร้องขอซ้ำ ๆ ซ้ำ ๆ แก่ผู้ใช้เพื่อชี้แจงรายละเอียดที่ตีความไม่ถูกต้อง เงื่อนไขที่ไม่ได้ระบุ และด้วยเหตุนี้จึงต้องมีการปรับปรุงส่วนที่พัฒนาแล้ว
บ่อยครั้งในระหว่างช่วงเวลาของการวิเคราะห์ระบบ จะมีการตัดสินใจที่จะหยุดการพัฒนาซอฟต์แวร์เพิ่มเติม
ครั้งที่สอง- การออกแบบซอฟต์แวร์การออกแบบเป็นขั้นตอนหลักและชี้ขาดของวงจรชีวิตซอฟต์แวร์ ในระหว่างที่มีการสร้างผลิตภัณฑ์ซอฟต์แวร์ และ 90% อยู่ในรูปแบบขั้นสุดท้าย
ช่วงชีวิตนี้ครอบคลุม ประเภทต่างๆกิจกรรมโครงการและสามารถแบ่งออกเป็นสามขั้นตอนหลักคือ การออกแบบ การเขียนโปรแกรม และการดีบักผลิตภัณฑ์ซอฟต์แวร์
การก่อสร้าง การพัฒนาซอฟต์แวร์มักจะเริ่มต้นในขั้นตอนการวิเคราะห์ความเป็นไปได้ ทันทีที่มีการบันทึกเป้าหมายและข้อกำหนดเบื้องต้นบางประการลงในกระดาษ
เมื่อถึงเวลาที่ข้อกำหนดได้รับการอนุมัติ งานในขั้นตอนการออกแบบจะดำเนินไปอย่างเต็มที่
ในช่วงอายุของซอฟต์แวร์นี้ จะมีการดำเนินการดังต่อไปนี้:
การสลายตัวตามหน้าที่ของปัญหาที่กำลังแก้ไข โดยพิจารณาจากสถาปัตยกรรมระบบของงานนี้
การออกแบบซอฟต์แวร์ภายนอกแสดงในรูปแบบ ปฏิสัมพันธ์ภายนอกกับผู้ใช้;
การออกแบบฐานข้อมูลหากจำเป็น
การออกแบบสถาปัตยกรรมซอฟต์แวร์ - การกำหนดวัตถุ โมดูล และส่วนต่อประสาน
การเขียนโปรแกรมเริ่มต้นขึ้น อยู่ในขั้นตอนการออกแบบ ทันทีที่ข้อกำหนดพื้นฐานสำหรับส่วนประกอบแต่ละส่วนของผลิตภัณฑ์ซอฟต์แวร์พร้อมใช้งาน แต่ไม่ใช่ก่อนการอนุมัติข้อตกลงข้อกำหนด การทับซ้อนกันของขั้นตอนการเขียนโปรแกรมและการออกแบบส่งผลให้ประหยัดเวลาในการพัฒนาโดยรวม เช่นเดียวกับการรับรองความถูกต้องของการตัดสินใจในการออกแบบที่ได้รับการตรวจสอบ และในบางกรณีมีอิทธิพลต่อการแก้ไขปัญหาสำคัญ
ในขั้นตอนนี้ จะดำเนินการงานที่เกี่ยวข้องกับการประกอบผลิตภัณฑ์ซอฟต์แวร์ ประกอบด้วยการออกแบบภายในโดยละเอียดของผลิตภัณฑ์ซอฟต์แวร์ ในการพัฒนาตรรกะภายในของแต่ละโมดูลของระบบ ซึ่งจะแสดงเป็นข้อความของโปรแกรมเฉพาะ
ขั้นตอนการเขียนโปรแกรมจะสิ้นสุดลงเมื่อนักพัฒนาจัดทำเอกสาร ดีบัก และประกอบแต่ละส่วนของผลิตภัณฑ์ซอฟต์แวร์เป็นชิ้นเดียวเสร็จสิ้น
การดีบักซอฟต์แวร์ ดำเนินการหลังจากที่ส่วนประกอบทั้งหมดได้รับการดีบั๊กแยกกันและประกอบเป็นผลิตภัณฑ์ซอฟต์แวร์เดียว
III- การประเมินซอฟต์แวร์ (การทดสอบ)ในระยะนี้ ผลิตภัณฑ์ซอฟต์แวร์จะต้องได้รับการทดสอบระบบอย่างเข้มงวดโดยกลุ่มที่ไม่ใช่นักพัฒนา
สิ่งนี้ทำเพื่อให้แน่ใจว่าผลิตภัณฑ์ซอฟต์แวร์สำเร็จรูปตรงตามข้อกำหนดและข้อกำหนดทั้งหมด สามารถใช้ในสภาพแวดล้อมของผู้ใช้ ปราศจากข้อบกพร่องใดๆ และมีเอกสารประกอบที่จำเป็นซึ่งอธิบายผลิตภัณฑ์ซอฟต์แวร์อย่างถูกต้องและครบถ้วน
ขั้นตอนการประเมินจะเริ่มต้นทันทีที่ส่วนประกอบ (โมดูล) ทั้งหมดได้รับการประกอบและทดสอบ เช่น หลังจากการดีบักผลิตภัณฑ์ซอฟต์แวร์สำเร็จรูปเสร็จสมบูรณ์ จะสิ้นสุดหลังจากได้รับการยืนยันว่าผลิตภัณฑ์ซอฟต์แวร์ผ่านการทดสอบทั้งหมดและพร้อมใช้งานแล้ว
มันคงอยู่ตราบเท่าที่การเขียนโปรแกรม
IV. การใช้ซอฟต์แวร์หากการวิเคราะห์ระบบเป็นสัญญาณของการต่อสู้ การออกแบบคือการโจมตีและกลับมาได้รับชัยชนะ การใช้ผลิตภัณฑ์ซอฟต์แวร์ก็เป็นการป้องกันรายวัน มีความสำคัญ แต่โดยปกติแล้วจะไม่ให้เกียรติสำหรับนักพัฒนา
การเปรียบเทียบดังกล่าวมีความเหมาะสมเนื่องจากในระหว่างการใช้งานผลิตภัณฑ์ซอฟต์แวร์ ข้อผิดพลาดที่คืบคลานเข้ามาระหว่างกระบวนการออกแบบจะได้รับการแก้ไข
ระยะการใช้งานของผลิตภัณฑ์ซอฟต์แวร์เริ่มต้นเมื่อผลิตภัณฑ์ถูกถ่ายโอนไปยังระบบการจัดจำหน่าย
นี่คือช่วงเวลาที่ผลิตภัณฑ์ใช้งานและใช้งานอย่างมีประสิทธิภาพ
ในขณะนี้ มีการดำเนินการฝึกอบรมบุคลากร การใช้งาน การกำหนดค่า การบำรุงรักษา และอาจขยายผลิตภัณฑ์ซอฟต์แวร์ ซึ่งเรียกว่าการออกแบบอย่างต่อเนื่อง
ขั้นตอนการใช้งานจะสิ้นสุดลงเมื่อผลิตภัณฑ์ถูกถอดออกจากการใช้งานและกิจกรรมที่กล่าวถึงข้างต้นยุติลง อย่างไรก็ตาม โปรดทราบว่าผลิตภัณฑ์ซอฟต์แวร์อาจยังคงถูกใช้โดยบุคคลอื่นต่อไปอีกนานหลังจากระยะการใช้งานตามที่กำหนดไว้ในที่นี้สิ้นสุดลงแล้ว เพราะบางคนสามารถใช้ผลิตภัณฑ์ซอฟต์แวร์ที่บ้านได้อย่างมีประสิทธิผลแม้จะไม่ได้รับความช่วยเหลือจากนักพัฒนาก็ตาม
การใช้ผลิตภัณฑ์ซอฟต์แวร์จะขึ้นอยู่กับการทำงานและการบำรุงรักษา
การทำงานของผลิตภัณฑ์ซอฟต์แวร์ ประกอบด้วยการดำเนินการทำงานบนคอมพิวเตอร์เพื่อประมวลผลข้อมูลและรับผลลัพธ์ที่มีจุดประสงค์ในการสร้างตลอดจนรับประกันความถูกต้องและความน่าเชื่อถือของข้อมูลเอาต์พุต
การบำรุงรักษาซอฟต์แวร์ ประกอบด้วยการบำรุงรักษาการปฏิบัติงาน การพัฒนาฟังก์ชันการทำงาน และการปรับปรุงคุณลักษณะด้านประสิทธิภาพของผลิตภัณฑ์ซอฟต์แวร์ การจำลองแบบและการถ่ายโอนผลิตภัณฑ์ซอฟต์แวร์ไปยัง ประเภทต่างๆสิ่งอำนวยความสะดวกด้านคอมพิวเตอร์
การบำรุงรักษามีบทบาทในการตอบรับที่จำเป็นตั้งแต่ขั้นตอนการปฏิบัติงาน
ในระหว่างการทำงานของซอฟต์แวร์ อาจตรวจพบข้อผิดพลาดในโปรแกรม และจำเป็นต้องแก้ไขและขยายฟังก์ชันต่างๆ
ตามกฎแล้วการปรับปรุงเหล่านี้จะดำเนินการพร้อมกันกับการทำงานของผลิตภัณฑ์ซอฟต์แวร์เวอร์ชันปัจจุบัน หลังจากตรวจสอบการปรับแต่งที่เตรียมไว้ในสำเนาโปรแกรมตัวใดตัวหนึ่งแล้ว ผลิตภัณฑ์ซอฟต์แวร์เวอร์ชันถัดไปจะแทนที่เวอร์ชันที่ใช้ก่อนหน้านี้หรือบางส่วน ในกรณีนี้ กระบวนการใช้งานผลิตภัณฑ์ซอฟต์แวร์อาจเกือบจะต่อเนื่องเนื่องจากการแทนที่เวอร์ชันของผลิตภัณฑ์ซอฟต์แวร์นั้นเป็นระยะสั้น สถานการณ์เหล่านี้นำไปสู่ความจริงที่ว่ากระบวนการใช้งานเวอร์ชันของผลิตภัณฑ์ซอฟต์แวร์มักจะดำเนินการแบบคู่ขนานโดยไม่คำนึงถึงขั้นตอนการบำรุงรักษา
การทับซ้อนระหว่างขั้นตอนวงจรชีวิตผลิตภัณฑ์ซอฟต์แวร์
การทับซ้อนระหว่างระยะต่างๆ ของวงจรชีวิตผลิตภัณฑ์ซอฟต์แวร์เป็นไปได้และมักจะเป็นที่ต้องการ อย่างไรก็ตาม ไม่ควรมีการทับซ้อนกันระหว่างกระบวนการที่ไม่อยู่ติดกัน
เป็นไปได้ ข้อเสนอแนะระหว่างเฟส ตัวอย่างเช่น ในระหว่างขั้นตอนการออกแบบภายนอกขั้นตอนใดขั้นตอนหนึ่ง ข้อผิดพลาดในการกำหนดเป้าหมายอาจถูกค้นพบ จากนั้นคุณต้องย้อนกลับและแก้ไขทันที
แบบจำลองวงจรชีวิตผลิตภัณฑ์ซอฟต์แวร์ที่ได้รับการพิจารณา ซึ่งมีการปรับเปลี่ยนบางอย่าง สามารถใช้เป็นแบบจำลองสำหรับโครงการขนาดเล็กได้
ตัวอย่างเช่น เมื่อมีการออกแบบโปรแกรมเดียว มักจะเป็นไปได้ที่จะหลีกเลี่ยงการออกแบบสถาปัตยกรรมระบบและ
การออกแบบฐานข้อมูล กระบวนการออกแบบภายนอกเบื้องต้นและรายละเอียดมักถูกรวมเข้าด้วยกัน ฯลฯ
การพัฒนาซอฟต์แวร์เป็นไปไม่ได้หากไม่เข้าใจวงจรชีวิตซอฟต์แวร์ที่เรียกว่า ผู้ใช้โดยเฉลี่ยอาจไม่จำเป็นต้องรู้สิ่งนี้ แต่แนะนำให้เชี่ยวชาญมาตรฐานพื้นฐาน (ภายหลังจะมีการบอกว่าเหตุใดจึงจำเป็น)
วงจรชีวิตในความหมายที่เป็นทางการคืออะไร?
วงจรชีวิตของแอปพลิเคชันใด ๆ มักจะเข้าใจว่าเป็นเวลาของการดำรงอยู่ โดยเริ่มจากขั้นตอนการพัฒนาจนถึงช่วงเวลาที่ละทิ้งการใช้งานโดยสิ้นเชิงในสาขาแอปพลิเคชันที่เลือก จนถึงการถอนแอปพลิเคชันออกจากการใช้งานโดยสมบูรณ์
การพูด ในภาษาง่ายๆ, ระบบสารสนเทศในรูปแบบของโปรแกรม ฐานข้อมูล หรือแม้แต่ “ระบบปฏิบัติการ” นั้นเป็นที่ต้องการก็ต่อเมื่อข้อมูลและโอกาสที่ได้รับนั้นเป็นข้อมูลที่ทันสมัยเท่านั้น
เชื่อกันว่าคำจำกัดความวงจรชีวิตใช้ไม่ได้กับการทดสอบแอปพลิเคชันใดๆ ทั้งสิ้น เช่น เวอร์ชันเบต้าซึ่งมีการทำงานที่ไม่เสถียรที่สุด วงจรชีวิตของซอฟต์แวร์นั้นขึ้นอยู่กับหลายปัจจัย โดยสภาพแวดล้อมที่จะใช้โปรแกรมจะมีบทบาทหลักประการหนึ่ง อย่างไรก็ตาม ก็สามารถเน้นได้เช่นกัน เงื่อนไขทั่วไปใช้ในการกำหนดแนวคิดเรื่องวงจรชีวิต
ข้อกำหนดเบื้องต้น
- คำชี้แจงปัญหา
- การวิเคราะห์ความต้องการร่วมกันของซอฟต์แวร์ในอนาคตสำหรับระบบ
- ออกแบบ;
- การเขียนโปรแกรม;
- การเขียนโค้ดและการคอมไพล์
- การทดสอบ;
- การดีบัก;
- การใช้งานและการบำรุงรักษาผลิตภัณฑ์ซอฟต์แวร์
การพัฒนาซอฟต์แวร์ประกอบด้วยขั้นตอนที่กล่าวมาข้างต้นทั้งหมด และไม่สามารถทำได้หากไม่มีขั้นตอนเหล่านี้อย่างน้อยหนึ่งขั้นตอน แต่มีการกำหนดมาตรฐานพิเศษเพื่อควบคุมกระบวนการดังกล่าว
มาตรฐานกระบวนการวงจรชีวิตของซอฟต์แวร์
ในบรรดาระบบที่กำหนดเงื่อนไขและข้อกำหนดล่วงหน้าสำหรับกระบวนการดังกล่าว ในปัจจุบันเราสามารถตั้งชื่อได้เพียงสามระบบหลักเท่านั้น:
- GOST 34.601-90;
- ISO/IEC 12207:2008;
- ออราเคิล ซีดีเอ็ม.
สำหรับครั้งที่สอง มาตรฐานสากลมีอยู่ อะนาล็อกรัสเซีย- นี่คือ GOST R ISO/IEC 12207-2010 ซึ่งรับผิดชอบด้านวิศวกรรมระบบและซอฟต์แวร์ แต่วงจรชีวิตของซอฟต์แวร์ที่อธิบายไว้ในกฎทั้งสองนั้นเหมือนกันโดยพื้นฐานแล้ว นี่เป็นคำอธิบายที่ค่อนข้างง่าย
ประเภทของซอฟต์แวร์และการอัพเดต
อย่างไรก็ตามสำหรับโปรแกรมมัลติมีเดียที่รู้จักในปัจจุบันส่วนใหญ่เป็นวิธีการบันทึกพารามิเตอร์การกำหนดค่าพื้นฐาน แน่นอนว่าการใช้ซอฟต์แวร์ประเภทนี้ค่อนข้างจำกัด แต่การทำความเข้าใจหลักการทั่วไปในการทำงานกับเครื่องเล่นสื่อเดียวกันจะไม่ส่งผลเสียหาย และนี่คือเหตุผล
ในความเป็นจริงวงจรชีวิตซอฟต์แวร์จะรวมเฉพาะในระดับการอัปเดตเวอร์ชันของเครื่องเล่นหรือการติดตั้งตัวแปลงสัญญาณและตัวถอดรหัสเท่านั้น และตัวแปลงรหัสเสียงและวิดีโอเป็นคุณลักษณะที่สำคัญของระบบเสียงหรือวิดีโอ
ตัวอย่างจาก FL Studio
เริ่มแรก FL Studio เสมือนสตูดิโอซีเควนเซอร์ถูกเรียกว่า Fruity Loops วงจรชีวิตของซอฟต์แวร์ในการปรับเปลี่ยนครั้งแรกหมดอายุแล้ว แต่แอปพลิเคชันได้รับการเปลี่ยนแปลงบ้างและได้รับรูปแบบปัจจุบัน
หากเราพูดถึงขั้นตอนของวงจรชีวิต ประการแรก ในขั้นตอนของการตั้งค่าปัญหา มีการกำหนดเงื่อนไขบังคับหลายประการ:
- การสร้างโมดูลกลองที่คล้ายกับริทึมแมชชีนเช่น Yamaha RX แต่ใช้ตัวอย่างช็อตเดียวหรือซีเควนซ์ในรูปแบบ WAV ที่บันทึกสดในสตูดิโอ
- บูรณาการเข้ากับระบบปฏิบัติการ Windows
- ความสามารถในการส่งออกโครงการในรูปแบบ WAV, MP3 และ OGG
- ความเข้ากันได้ของโครงการกับแอพพลิเคชั่น Fruity Tracks เพิ่มเติม
ในขั้นตอนการพัฒนา ใช้เครื่องมือภาษาซี แต่แพลตฟอร์มนี้ดูค่อนข้างดั้งเดิมและไม่ได้ให้ผู้ใช้ปลายทาง คุณภาพที่ต้องการเสียง.
ในเรื่องนี้ในขั้นตอนการทดสอบและการดีบัก นักพัฒนาจะต้องปฏิบัติตามแนวทางของบริษัท German Steinberg และใช้การสนับสนุนโหมด Full Duplex ในข้อกำหนดสำหรับไดรเวอร์เสียงหลัก คุณภาพเสียงสูงขึ้น และช่วยให้คุณเปลี่ยนจังหวะ ระดับเสียง และใช้เอฟเฟกต์ FX เพิ่มเติมได้แบบเรียลไทม์
การสิ้นสุดวงจรชีวิตของซอฟต์แวร์นี้ถือเป็นการเปิดตัว FL Studio เวอร์ชันแรกอย่างเป็นทางการซึ่งแตกต่างจากบรรพบุรุษที่มีอินเทอร์เฟซของซีเควนเซอร์เต็มรูปแบบอยู่แล้วพร้อมความสามารถในการแก้ไขพารามิเตอร์บน 64 เสมือน - คอนโซลมิกซ์ช่องสัญญาณพร้อมการเพิ่มแทร็กเสียงและแทร็ก MIDI อย่างไม่จำกัด
มันไม่ได้หยุดเพียงแค่นั้น ในขั้นตอนการจัดการโครงการ มีการแนะนำการสนับสนุนสำหรับการเชื่อมต่อปลั๊กอินของรูปแบบ VST (เวอร์ชันแรก เวอร์ชันที่สอง และเวอร์ชันที่สาม) ซึ่งครั้งหนึ่งเคยพัฒนาโดย Steinberg พูดโดยคร่าวๆ ซินธิไซเซอร์เสมือนที่รองรับ VST-host สามารถเชื่อมต่อกับโปรแกรมได้
ไม่น่าแปลกใจที่ในไม่ช้าผู้แต่งคนใดก็สามารถใช้อะนาล็อกของโมเดล "ฮาร์ดแวร์" ได้เช่นชุดเสียงที่สมบูรณ์ของ Korg M1 ที่ครั้งหนึ่งเคยโด่งดัง นอกจากนี้. การใช้โมดูลเช่น Addictive Drums หรือปลั๊กอิน Kontakt สากลทำให้สามารถสร้างเสียงสดได้ เครื่องดนตรีจริงบันทึกด้วยเฉดสีที่เปล่งออกมาในสตูดิโอมืออาชีพ
ในเวลาเดียวกันนักพัฒนาพยายามที่จะบรรลุคุณภาพสูงสุดด้วยการสร้างการรองรับไดรเวอร์ ASIO4ALL ซึ่งกลายเป็นเรื่องเหนือศีรษะในโหมด Full Duplex ดังนั้นบิตเรตก็เพิ่มขึ้นเช่นกัน วันนี้คุณภาพส่งออก ไฟล์เสียงสามารถเป็น 320 kbps ที่อัตราการสุ่มตัวอย่าง 192 kHz และนี่คือเสียงระดับมืออาชีพ
สำหรับเวอร์ชันเริ่มต้นนั้น วงจรชีวิตของมันสามารถเรียกได้ว่าสมบูรณ์อย่างสมบูรณ์ แต่คำสั่งดังกล่าวมีความเกี่ยวข้องเนื่องจากแอปพลิเคชันเปลี่ยนชื่อและได้รับความสามารถใหม่เท่านั้น
แนวโน้มการพัฒนา
ขั้นตอนของวงจรชีวิตซอฟต์แวร์มีความชัดเจนอยู่แล้ว แต่การพัฒนาเทคโนโลยีดังกล่าวก็คุ้มค่าที่จะกล่าวถึงแยกกัน
ไม่จำเป็นต้องพูดว่านักพัฒนาซอฟต์แวร์คนใดไม่สนใจที่จะสร้างผลิตภัณฑ์ที่เกิดขึ้นเพียงชั่วคราวซึ่งไม่น่าจะอยู่รอดในตลาดได้เป็นเวลาหลายปี ในระยะยาว ใครๆ ต่างก็มองถึงการใช้งานในระยะยาว สิ่งนี้สามารถบรรลุได้ ในรูปแบบที่แตกต่างกัน- แต่ตามกฎแล้วเกือบทั้งหมดมาถึงการเปิดตัวการอัปเดตหรือโปรแกรมเวอร์ชันใหม่
แม้แต่ในกรณีของระบบปฏิบัติการ Windows ก็ยังสามารถมองเห็นแนวโน้มดังกล่าวได้ด้วยตาเปล่า ไม่น่าเป็นไปได้ที่ในปัจจุบันจะมีผู้ใช้อย่างน้อยหนึ่งรายที่ใช้ระบบเช่นการแก้ไข 3.1, 95, 98 หรือ Millennium วงจรชีวิตของพวกเขาสิ้นสุดลงหลังจากการเปิดตัว XP แต่เวอร์ชันเซิร์ฟเวอร์ที่ใช้เทคโนโลยี NT ยังคงมีความเกี่ยวข้อง แม้แต่ Windows 2000 ในปัจจุบันก็ไม่เพียงแต่มีความเกี่ยวข้องเท่านั้น แต่ในการติดตั้งหรือพารามิเตอร์ความปลอดภัยบางตัวยังเหนือกว่าการพัฒนาล่าสุดด้วยซ้ำ เช่นเดียวกับระบบ NT 4.0 เช่นเดียวกับการดัดแปลงพิเศษของ Windows Server 2012
แต่ในส่วนที่เกี่ยวข้องกับระบบเหล่านี้ การสนับสนุนยังคงได้รับการประกาศในระดับสูงสุด แต่ Vista ที่น่าตื่นเต้นครั้งหนึ่งกำลังประสบกับความเสื่อมถอยของวัฏจักรของมันอย่างชัดเจน ไม่เพียงแต่ปรากฏว่าสร้างไม่เสร็จเท่านั้น แต่ยังมีข้อผิดพลาดมากมายและช่องว่างในระบบรักษาความปลอดภัยซึ่งใคร ๆ ก็สามารถเดาได้ว่าโซลูชันที่ป้องกันไม่ได้ดังกล่าวจะออกสู่ตลาดซอฟต์แวร์ได้อย่างไร
แต่ถ้าเราบอกว่าการพัฒนาซอฟต์แวร์ประเภทใดก็ตาม (การควบคุมหรือแอพพลิเคชั่น) ไม่ได้หยุดนิ่ง เราก็บอกได้แค่ว่าในปัจจุบันนี้ไม่เพียงแต่เกี่ยวข้องเท่านั้น ระบบคอมพิวเตอร์, และ อุปกรณ์เคลื่อนที่ซึ่งเทคโนโลยีที่ใช้มักจะนำหน้าภาคคอมพิวเตอร์ การเกิดขึ้นของชิปโปรเซสเซอร์ที่ใช้แปดคอร์นั้นไม่ใช่สิ่งที่ดีที่สุด ตัวอย่างที่ดีที่สุด- แต่ไม่ใช่ว่าแล็ปท็อปทุกเครื่องจะมีฮาร์ดแวร์ดังกล่าวได้
คำถามเพิ่มเติมบางประการ
สำหรับการทำความเข้าใจวงจรชีวิตของซอฟต์แวร์ มันค่อนข้างจะไร้เหตุผลที่จะบอกว่ามันจบลง ณ จุดหนึ่ง เนื่องจากผลิตภัณฑ์ซอฟต์แวร์ยังคงได้รับการสนับสนุนจากนักพัฒนาที่สร้างมันขึ้นมา แต่การสิ้นสุดหมายถึงแอปพลิเคชันรุ่นเก่าที่ไม่ตรงตามข้อกำหนด ระบบที่ทันสมัยและไม่สามารถทำงานในสภาพแวดล้อมของตนได้
แต่ถึงแม้จะคำนึงถึง ความก้าวหน้าทางเทคนิคหลายคนอาจล้มละลายในไม่ช้า จากนั้นคุณจะต้องตัดสินใจว่าจะเผยแพร่การอัปเดตหรือแก้ไขแนวคิดทั้งหมดที่รวมไว้ในผลิตภัณฑ์ซอฟต์แวร์โดยสมบูรณ์ ดังนั้นวงจรใหม่ซึ่งเกี่ยวข้องกับการเปลี่ยนแปลงเงื่อนไขเริ่มต้น สภาพแวดล้อมการพัฒนา การทดสอบ และการใช้งานระยะยาวที่เป็นไปได้ในบางพื้นที่
แต่ใน เทคโนโลยีคอมพิวเตอร์ปัจจุบันให้ความสำคัญกับการพัฒนาระบบควบคุมอัตโนมัติ (ACS) ซึ่งใช้ในการผลิต แม้แต่ระบบปฏิบัติการเมื่อเปรียบเทียบกับโปรแกรมพิเศษก็ยังแพ้
สภาพแวดล้อมที่ใช้ Visual Basic ยังคงได้รับความนิยมมากกว่าระบบ Windows และเราไม่ได้พูดถึงแอพพลิเคชั่นซอฟต์แวร์สำหรับระบบ UNIX เลย เราจะพูดอะไรได้บ้างหากเครือข่ายการสื่อสารเกือบทั้งหมดในสหรัฐอเมริกาเดียวกันทำงานเพื่อพวกเขาโดยเฉพาะ อย่างไรก็ตาม ระบบอย่าง Linux และ Android ก็ถูกสร้างขึ้นบนแพลตฟอร์มนี้เช่นกัน ดังนั้น UNIX จึงมีแนวโน้มมากกว่าผลิตภัณฑ์อื่นๆ รวมกันมาก
แทนที่จะเป็นยอดรวม
ยังคงต้องเสริมว่าในกรณีนี้จะให้เฉพาะหลักการทั่วไปและขั้นตอนของวงจรชีวิตซอฟต์แวร์เท่านั้น ในความเป็นจริง แม้แต่งานที่ตั้งค่าไว้ในตอนแรกก็อาจแตกต่างกันอย่างมาก ดังนั้นจึงสามารถสังเกตความแตกต่างได้ในระยะอื่น
แต่เทคโนโลยีพื้นฐานสำหรับการพัฒนาผลิตภัณฑ์ซอฟต์แวร์และการสนับสนุนที่ตามมาควรมีความชัดเจน ส่วนที่เหลือควรคำนึงถึงลักษณะเฉพาะของซอฟต์แวร์ที่ถูกสร้างขึ้น สภาพแวดล้อมที่ควรใช้งาน และความสามารถของโปรแกรมที่มอบให้กับผู้ใช้ปลายทางหรือการใช้งานจริง และอื่นๆ อีกมากมาย
นอกจากนี้ บางครั้งวงจรชีวิตอาจขึ้นอยู่กับความเกี่ยวข้องของเครื่องมือในการพัฒนา ตัวอย่างเช่น หากภาษาการเขียนโปรแกรมล้าสมัย จะไม่มีใครเขียนโปรแกรมตามภาษานั้น แม้แต่การนำภาษาเหล่านั้นไปใช้กับระบบควบคุมการผลิตแบบอัตโนมัติก็น้อยลงเช่นกัน นี่ไม่ใช่แม้แต่โปรแกรมเมอร์ที่มาก่อน แต่นักการตลาดที่ต้องตอบสนองต่อการเปลี่ยนแปลงอย่างทันท่วงที ตลาดคอมพิวเตอร์- และมีผู้เชี่ยวชาญประเภทนี้ไม่มากนักในโลก บุคลากรที่มีคุณสมบัติสูงซึ่งสามารถติดตามชีพจรของตลาดได้กำลังกลายเป็นที่ต้องการมากที่สุด และมักเป็นสิ่งที่เรียกว่า "พระคาร์ดินัลสีเทา" ซึ่งขึ้นอยู่กับความสำเร็จหรือความล้มเหลวของผลิตภัณฑ์ซอฟต์แวร์บางอย่างในสาขาไอที
พวกเขาอาจไม่เข้าใจสาระสำคัญของการเขียนโปรแกรมเสมอไป แต่พวกเขาสามารถกำหนดแบบจำลองของวงจรชีวิตซอฟต์แวร์และระยะเวลาในการใช้งานได้อย่างชัดเจน โดยพิจารณาจากแนวโน้มทั่วโลกในด้านนี้ การจัดการที่มีประสิทธิภาพมักจะให้ผลลัพธ์ที่เป็นรูปธรรมมากขึ้น ใช่ อย่างน้อยเทคโนโลยีประชาสัมพันธ์ การโฆษณา ฯลฯ ผู้ใช้อาจไม่ต้องการแอปพลิเคชันบางอย่าง แต่ถ้ามีการโฆษณาอย่างจริงจัง ผู้ใช้จะติดตั้งแอปพลิเคชันนั้น พูดได้เลยว่านี่เป็นระดับจิตใต้สำนึกแล้ว (เอฟเฟกต์แบบเดียวกันของเฟรมที่ 25 เมื่อข้อมูลถูกใส่เข้าไปในจิตสำนึกของผู้ใช้โดยเป็นอิสระจากเขา)
แน่นอนว่าเทคโนโลยีดังกล่าวเป็นสิ่งต้องห้ามในโลก แต่พวกเราหลายคนไม่รู้ด้วยซ้ำว่าเทคโนโลยีเหล่านี้ยังคงสามารถนำมาใช้และมีอิทธิพลต่อจิตใต้สำนึกในลักษณะใดลักษณะหนึ่งได้ เพียงแค่ดูต้นทุนของ "การซอมบี้" โดยช่องข่าวหรือเว็บไซต์อินเทอร์เน็ต ไม่ต้องพูดถึงการใช้วิธีที่มีประสิทธิภาพมากกว่า เช่น การเปิดรับแสงอินฟราเรด (ใช้ในการผลิตโอเปร่ารายการเดียว) ซึ่งส่งผลให้บุคคลอาจประสบ ความกลัวหรืออารมณ์ที่ไม่เหมาะสม
เมื่อกลับมาที่ซอฟต์แวร์ ควรเพิ่มว่าบางโปรแกรมใช้สัญญาณเสียงเมื่อเริ่มต้นระบบเพื่อดึงดูดความสนใจของผู้ใช้ และจากการวิจัยพบว่า แอปพลิเคชันดังกล่าวมีศักยภาพมากกว่าโปรแกรมอื่นๆ โดยปกติแล้ว วงจรชีวิตของซอฟต์แวร์จะเพิ่มขึ้นเช่นกัน ไม่ว่าจะถูกกำหนดฟังก์ชันอะไรในตอนแรกก็ตาม และน่าเสียดายที่นักพัฒนาจำนวนมากใช้สิ่งนี้ ซึ่งทำให้เกิดข้อสงสัยเกี่ยวกับความถูกต้องตามกฎหมายของวิธีการดังกล่าว
แต่ไม่ใช่สำหรับเราที่จะตัดสินเรื่องนี้ เป็นไปได้ว่าเครื่องมือจะได้รับการพัฒนาในอนาคตอันใกล้นี้เพื่อระบุภัยคุกคามดังกล่าว จนถึงตอนนี้นี่เป็นเพียงทฤษฎี แต่นักวิเคราะห์และผู้เชี่ยวชาญบางคนระบุว่าจนถึงตอนนี้ การประยุกต์ใช้จริงเหลือน้อยมากแล้ว. หากพวกเขากำลังสร้างสำเนาของโครงข่ายประสาทเทียมของสมองมนุษย์อยู่แล้ว แล้วเราจะพูดอะไรได้บ้าง?