วงจรชีวิตของซอฟต์แวร์ ขั้นตอนและขั้นตอน วงจรชีวิตของระบบซอฟต์แวร์ แนวคิดของวงจรชีวิตของโปรแกรมและขั้นตอนต่างๆ

การพัฒนาเทคโนโลยีคอมพิวเตอร์กำลังขยายประเภทของปัญหาที่แก้ไขได้อย่างต่อเนื่องซึ่งเกี่ยวข้องกับการประมวลผลข้อมูลประเภทต่างๆ

โดยพื้นฐานแล้วเหล่านี้เป็นข้อมูลสามประเภทและตามลำดับปัญหาสามประเภทที่ใช้คอมพิวเตอร์:

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

กระบวนการได้มาประกอบด้วยการดำเนินการและงานของลูกค้าที่ซื้อซอฟต์แวร์ กระบวนการนี้ครอบคลุมกิจกรรมดังต่อไปนี้:

  1. การเริ่มต้นการซื้อกิจการ
  2. การจัดทำข้อเสนอการประมูล
  3. การจัดเตรียมและการปรับปรุงสัญญา
  4. การกำกับดูแลกิจกรรมของซัพพลายเออร์
  5. การยอมรับและความสำเร็จของงาน

การเริ่มต้นการซื้อกิจการประกอบด้วยงานต่อไปนี้:

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

ข้อเสนอการสมัครจะต้องมี:

  1. ข้อกำหนดสำหรับระบบ
  2. รายการผลิตภัณฑ์ซอฟต์แวร์
  3. เงื่อนไขการได้มาและข้อตกลง
  4. ข้อจำกัดทางเทคนิค (เช่น สภาพแวดล้อมการทำงานของระบบ)

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

การจัดทำและปรับปรุงสัญญาประกอบด้วยงานดังต่อไปนี้

  1. การตัดสินใจโดยลูกค้าเกี่ยวกับขั้นตอนในการเลือกซัพพลายเออร์รวมถึงเกณฑ์ในการประเมินข้อเสนอจากซัพพลายเออร์ที่เป็นไปได้
  2. การเลือกซัพพลายเออร์เฉพาะตามการวิเคราะห์ข้อเสนอ
  3. การเตรียมการและการสรุปผล ข้อตกลงกับซัพพลายเออร์;
  4. ทำการเปลี่ยนแปลง (หากจำเป็น) ในสัญญาระหว่างการดำเนินการ

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

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

  1. การเริ่มต้นการส่งมอบ
  2. การเตรียมการตอบรับข้อเสนอการประมูล
  3. การจัดทำสัญญา
  4. การวางแผนงานตามสัญญา
  5. การดำเนินการและการควบคุมงานตามสัญญาและการประเมินผล
  6. การส่งมอบและเสร็จสิ้นการทำงาน

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

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

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

กระบวนการพัฒนาประกอบด้วยขั้นตอนต่อไปนี้:

  1. งานเตรียมการ
  2. การวิเคราะห์ความต้องการของระบบ
  3. การออกแบบสถาปัตยกรรมระบบ
  4. การวิเคราะห์ข้อกำหนดซอฟต์แวร์
  5. การออกแบบสถาปัตยกรรมซอฟต์แวร์
  6. การออกแบบซอฟต์แวร์โดยละเอียด
  7. การเข้ารหัสและการทดสอบซอฟต์แวร์
  8. การรวมซอฟต์แวร์
  9. การทดสอบคุณสมบัติซอฟต์แวร์
  10. บูรณาการระบบ
  11. การทดสอบคุณสมบัติระบบ
  12. การติดตั้งซอฟต์แวร์
  13. การยอมรับซอฟต์แวร์

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

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

การออกแบบสถาปัตยกรรมของระบบเกี่ยวข้องกับการกำหนดส่วนประกอบของฮาร์ดแวร์ (ฮาร์ดแวร์) ซอฟต์แวร์ และการดำเนินงานที่ดำเนินการโดยบุคลากรที่ปฏิบัติการระบบ สถาปัตยกรรมระบบจะต้องเป็นไปตามข้อกำหนดของระบบและมาตรฐานและแนวปฏิบัติการออกแบบที่เป็นที่ยอมรับ

การวิเคราะห์ข้อกำหนดซอฟต์แวร์เกี่ยวข้องกับการกำหนดคุณลักษณะต่อไปนี้สำหรับแต่ละองค์ประกอบของซอฟต์แวร์:

  1. ฟังก์ชันการทำงาน รวมถึงคุณลักษณะด้านประสิทธิภาพและสภาพแวดล้อมการทำงานของส่วนประกอบ
  2. อินเทอร์เฟซภายนอก
  3. ข้อกำหนดด้านความน่าเชื่อถือและความปลอดภัย
  4. ข้อกำหนดตามหลักสรีรศาสตร์
  5. ข้อกำหนดสำหรับข้อมูลที่ใช้
  6. ข้อกำหนดการติดตั้งและการยอมรับ
  7. ข้อกำหนดสำหรับเอกสารสำหรับผู้ใช้
  8. ข้อกำหนดสำหรับการดำเนินงานและการบำรุงรักษา

ข้อกำหนดของซอฟต์แวร์ได้รับการประเมินตามเกณฑ์การปฏิบัติตามข้อกำหนดสำหรับระบบโดยรวม ความเป็นไปได้และความสามารถในการทดสอบ

การออกแบบสถาปัตยกรรมซอฟต์แวร์ประกอบด้วยงานต่อไปนี้สำหรับแต่ละองค์ประกอบของซอฟต์แวร์:

  1. การเปลี่ยนแปลงข้อกำหนดซอฟต์แวร์ให้เป็นสถาปัตยกรรมที่กำหนดโครงสร้างของซอฟต์แวร์และองค์ประกอบของส่วนประกอบในระดับสูง
  2. การพัฒนาและการจัดทำเอกสารของอินเทอร์เฟซซอฟต์แวร์และฐานข้อมูล (DB)
  3. การพัฒนาเอกสารผู้ใช้เวอร์ชันเบื้องต้น
  4. การพัฒนาและจัดทำเอกสารข้อกำหนดการทดสอบเบื้องต้นและแผนการรวมซอฟต์แวร์

การออกแบบซอฟต์แวร์โดยละเอียดประกอบด้วยงานดังต่อไปนี้:

  1. คำอธิบายส่วนประกอบซอฟต์แวร์และอินเทอร์เฟซระหว่างกันในระดับที่ต่ำกว่าซึ่งเพียงพอสำหรับการเข้ารหัสและการทดสอบในภายหลัง
  2. การพัฒนาและจัดทำเอกสารการออกแบบฐานข้อมูลโดยละเอียด
  3. อัปเดตเอกสารผู้ใช้ (หากจำเป็น)
  4. การพัฒนาและจัดทำเอกสารข้อกำหนดการทดสอบและแผนการทดสอบส่วนประกอบซอฟต์แวร์

การเขียนโค้ดและการทดสอบซอฟต์แวร์ประกอบด้วยงานต่อไปนี้:

  1. การเข้ารหัสและจัดทำเอกสารส่วนประกอบซอฟต์แวร์และฐานข้อมูลแต่ละรายการ ตลอดจนการเตรียมชุดขั้นตอนการทดสอบและข้อมูลสำหรับการทดสอบ
  2. การทดสอบซอฟต์แวร์และส่วนประกอบฐานข้อมูลแต่ละรายการเพื่อให้เป็นไปตามข้อกำหนด ตามด้วยเอกสารประกอบผลการทดสอบ
  3. อัปเดตเอกสาร (ถ้าจำเป็น)
  4. อัปเดตแผนการรวมซอฟต์แวร์

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

การทดสอบคุณสมบัติซอฟต์แวร์ดำเนินการโดยนักพัฒนาต่อหน้าลูกค้า (

กระบวนการดำเนินงานครอบคลุมกิจกรรมและภารกิจขององค์กรผู้ปฏิบัติงานที่ปฏิบัติการระบบ กระบวนการดำเนินการประกอบด้วยขั้นตอนต่อไปนี้

  1. งานเตรียมการซึ่งรวมถึงผู้ปฏิบัติงานที่ปฏิบัติงานดังต่อไปนี้:

    1. การวางแผนกิจกรรมและงานที่ดำเนินการระหว่างการปฏิบัติงานและการกำหนดมาตรฐานการปฏิบัติงาน
    2. การกำหนดขั้นตอนในการแปลและแก้ไขปัญหาที่เกิดขึ้นระหว่างการดำเนินการ
  2. การทดสอบการปฏิบัติงานดำเนินการสำหรับผลิตภัณฑ์ซอฟต์แวร์แต่ละรุ่นต่อๆ ไป หลังจากนั้นจึงนำรุ่นนี้ไปใช้จริง
  3. การทำงานจริงของระบบซึ่งดำเนินการในสภาพแวดล้อมที่กำหนดไว้ตามเอกสารประกอบสำหรับผู้ใช้
  4. การวิเคราะห์ปัญหาและการร้องขอการแก้ไขซอฟต์แวร์ (การวิเคราะห์ข้อความเกี่ยวกับปัญหาหรือการร้องขอการแก้ไข การประเมินขนาด ค่าใช้จ่ายในการแก้ไข ผลที่ได้ การประเมินความเป็นไปได้ของการแก้ไข)
  5. การดัดแปลงซอฟต์แวร์ (การเปลี่ยนแปลงส่วนประกอบผลิตภัณฑ์ซอฟต์แวร์และเอกสารประกอบตามกฎของกระบวนการพัฒนา)
  6. การตรวจสอบและการยอมรับ (ในแง่ของความสมบูรณ์ของระบบที่แก้ไข)
  7. การถ่ายโอนซอฟต์แวร์ไปยังสภาพแวดล้อมอื่น (การแปลงโปรแกรมและข้อมูล การทำงานแบบขนานของซอฟต์แวร์ในสภาพแวดล้อมเก่าและใหม่ในช่วงระยะเวลาหนึ่ง)
  8. การเลิกใช้งานซอฟต์แวร์โดยการตัดสินใจของลูกค้าโดยการมีส่วนร่วมขององค์กรปฏิบัติการ บริการสนับสนุน และผู้ใช้ ในกรณีนี้ ผลิตภัณฑ์ซอฟต์แวร์และเอกสารประกอบต่างๆ จะถูกจัดเก็บถาวรตามข้อตกลง

แนวคิดเกี่ยวกับวงจรชีวิตซอฟต์แวร์ (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 เมื่อข้อมูลถูกใส่เข้าไปในจิตสำนึกของผู้ใช้โดยเป็นอิสระจากเขา)

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

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

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




สูงสุด