วงจรชีวิตและขั้นตอนของการพัฒนาซอฟต์แวร์ วงจรชีวิตของซอฟต์แวร์: แนวคิดมาตรฐานกระบวนการวงจรชีวิตของซอฟต์แวร์
รูปที่. 5.2
ลักษณะเหล่านี้ ได้แก่ :
- ลักษณะของสัญญาซึ่งลูกค้าและซัพพลายเออร์มีความสัมพันธ์ตามสัญญาและดำเนินการตามกระบวนการจัดหาและจัดส่ง
- ด้านการจัดการซึ่งรวมถึงการดำเนินการจัดการบุคคลที่มีส่วนร่วมในวงจรชีวิตของซอฟต์แวร์ (ซัพพลายเออร์ลูกค้าผู้พัฒนาผู้ดำเนินการ ฯลฯ );
- ด้านการปฏิบัติงานรวมถึงการดำเนินการของผู้ปฏิบัติงานเพื่อให้บริการแก่ผู้ใช้ระบบ
- ด้านวิศวกรรมซึ่งประกอบด้วยการดำเนินการของผู้พัฒนาหรือบริการสนับสนุนเพื่อแก้ไขปัญหาทางเทคนิคที่เกี่ยวข้องกับการพัฒนาหรือปรับเปลี่ยนผลิตภัณฑ์ซอฟต์แวร์
- ลักษณะของการสนับสนุนที่เกี่ยวข้องกับการดำเนินการตามกระบวนการสนับสนุนซึ่งบริการสนับสนุนจะให้บริการที่จำเป็นแก่ผู้เข้าร่วมคนอื่น ๆ ทั้งหมดในการทำงาน ในด้านนี้สามารถแยกแยะแง่มุมของการจัดการคุณภาพซอฟต์แวร์ได้รวมถึงกระบวนการประกันคุณภาพการตรวจสอบการรับรองการประเมินและการตรวจสอบร่วมกัน
กระบวนการขององค์กรจะดำเนินการในระดับองค์กรหรือในระดับของทั้งองค์กรโดยรวมสร้างพื้นฐานสำหรับการนำไปใช้งานและการปรับปรุงกระบวนการตลอดอายุซอฟต์แวร์อย่างต่อเนื่อง
5.6 แบบจำลองและขั้นตอนของวงจรชีวิตซอฟต์แวร์
แบบจำลองวงจรชีวิตถูกเข้าใจว่าเป็นโครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ระหว่างกระบวนการการกระทำและงานระหว่างวงจรชีวิตของซอฟต์แวร์ แบบจำลองวงจรชีวิตขึ้นอยู่กับลักษณะเฉพาะขนาดและความซับซ้อนของโครงการและลักษณะเฉพาะของเงื่อนไขที่ระบบถูกสร้างและดำเนินการ
ISO / IEC 12207 ไม่มีรูปแบบวงจรชีวิตและวิธีการพัฒนาซอฟต์แวร์ที่เฉพาะเจาะจง ข้อกำหนดของมันเป็นเรื่องธรรมดาสำหรับแบบจำลองวงจรชีวิตวิธีการและเทคโนโลยีของการพัฒนาซอฟต์แวร์ มาตรฐานนี้อธิบายถึงโครงสร้างของกระบวนการวงจรชีวิตของซอฟต์แวร์ แต่ไม่ได้ระบุวิธีการนำไปใช้หรือดำเนินการและงานที่รวมอยู่ในกระบวนการเหล่านี้
แบบจำลองวงจรชีวิตของซอฟต์แวร์ใด ๆ กำหนดลักษณะของกระบวนการสร้างซึ่งเป็นชุดของงานที่เรียงตามเวลาเชื่อมต่อและรวมกันเป็นขั้นตอน (ขั้นตอน) ของการทำงานการดำเนินการซึ่งจำเป็นและเพียงพอในการสร้างซอฟต์แวร์ที่ตรงตามข้อกำหนดที่ระบุ
ขั้นตอน (ระยะ) ของการพัฒนาซอฟต์แวร์เป็นที่เข้าใจกันว่าเป็นส่วนหนึ่งของกระบวนการสร้างซอฟต์แวร์ซึ่ง จำกัด โดยกรอบเวลาบางช่วงและลงท้ายด้วยการเปิดตัวผลิตภัณฑ์เฉพาะ (รุ่นซอฟต์แวร์ส่วนประกอบซอฟต์แวร์เอกสารประกอบ ฯลฯ ) ซึ่งกำหนดโดยข้อกำหนดที่ระบุไว้สำหรับขั้นตอนนี้ ขั้นตอนของการพัฒนาซอฟต์แวร์มีความโดดเด่นด้วยเหตุผลของการวางแผนอย่างมีเหตุผลและการจัดระเบียบการทำงานลงท้ายด้วยผลลัพธ์ที่ระบุ วงจรชีวิตของซอฟต์แวร์มักมีขั้นตอนต่อไปนี้:
- การสร้างข้อกำหนดซอฟต์แวร์
- การออกแบบ (การพัฒนาโครงการระบบ);
- การนำไปใช้งาน (สามารถแบ่งออกเป็นขั้นตอนย่อย: การออกแบบโดยละเอียดการเข้ารหัส);
- การทดสอบ (สามารถแบ่งออกเป็นการทดสอบแบบสแตนด์อโลนและแบบซับซ้อนและการรวม)
- การว่าจ้าง (การใช้งาน);
- การดำเนินงานและการบำรุงรักษา;
- การรื้อถอน
ผู้เชี่ยวชาญบางคนแนะนำขั้นตอนเริ่มต้นเพิ่มเติม - การศึกษาความเป็นไปได้ ระบบ หมายถึงซอฟต์แวร์และระบบฮาร์ดแวร์ที่ซอฟต์แวร์ถูกสร้างซื้อหรือแก้ไข
ขั้นตอนของการก่อตัวของข้อกำหนดซอฟต์แวร์เป็นหนึ่งในสิ่งที่สำคัญที่สุดและกำหนดระดับความสำเร็จของโครงการทั้งหมด จุดเริ่มต้นของขั้นตอนนี้คือการได้รับสถาปัตยกรรมระบบที่ได้รับการอนุมัติและตรวจสอบความถูกต้องพร้อมกับการรวมข้อตกลงพื้นฐานสำหรับการกระจายฟังก์ชันระหว่างฮาร์ดแวร์และซอฟต์แวร์ เอกสารนี้ควรมีการยืนยันความเข้าใจทั่วไปเกี่ยวกับการทำงานของซอฟต์แวร์รวมถึงข้อตกลงพื้นฐานเกี่ยวกับการกระจายฟังก์ชันระหว่างบุคคลและระบบ
ขั้นตอนของการสร้างข้อกำหนดซอฟต์แวร์ประกอบด้วยขั้นตอนต่อไปนี้
- วางแผนงานก่อนที่จะทำงานในโครงการ ภารกิจหลักของเวทีคือการกำหนดเป้าหมายการพัฒนาการประเมินเศรษฐกิจเบื้องต้นของโครงการการสร้างตารางการทำงานการสร้างและการฝึกอบรมคณะทำงานร่วม
- ดำเนินการสำรวจกิจกรรมขององค์กรอัตโนมัติ (ออบเจ็กต์) ภายในกรอบที่ดำเนินการระบุเบื้องต้นของข้อกำหนดสำหรับระบบอนาคตกำหนดโครงสร้างขององค์กรกำหนดรายการหน้าที่เป้าหมายขององค์กรวิเคราะห์การกระจายฟังก์ชันตามแผนกและพนักงานระบุปฏิสัมพันธ์ระหว่างแผนกการไหลของข้อมูลภายในและระหว่างแผนก ภายนอกที่เกี่ยวข้องกับองค์กรของวัตถุและอิทธิพลของข้อมูลภายนอกการวิเคราะห์เครื่องมืออัตโนมัติที่มีอยู่ขององค์กร
- แบบจำลอง "AS-IS" ("ตามสภาพ") ที่สะท้อนสถานการณ์ปัจจุบันขององค์กรในขณะที่ทำการสำรวจและช่วยให้เข้าใจวิธีการทำงานขององค์กรตลอดจนระบุปัญหาคอขวดและกำหนดข้อเสนอในการปรับปรุงสถานการณ์
- แบบจำลอง "TO-BE" ("ควรจะเป็นอย่างไร") ซึ่งสะท้อนถึงแนวคิดเกี่ยวกับเทคโนโลยีใหม่ ๆ ในองค์กร
การสร้างแบบจำลองของกิจกรรม (วัตถุ) ขององค์กรโดยจัดเตรียมสำหรับการประมวลผลวัสดุสำรวจและการสร้างแบบจำลองสองประเภท:
แต่ละโมเดลควรมีรูปแบบการทำงานและข้อมูลที่สมบูรณ์ของกิจกรรมขององค์กรตลอดจน (ถ้าจำเป็น) แบบจำลองที่อธิบายถึงพลวัตของพฤติกรรมขององค์กร โปรดทราบว่าแบบจำลองที่สร้างขึ้นมีความสำคัญในทางปฏิบัติโดยอิสระไม่ว่าองค์กรจะพัฒนาและใช้ระบบข้อมูลหรือไม่เนื่องจากสามารถใช้ในการฝึกอบรมพนักงานและปรับปรุงกระบวนการทางธุรกิจขององค์กรได้
ผลลัพธ์ของขั้นตอนการสร้างข้อกำหนดซอฟต์แวร์ที่เสร็จสมบูรณ์คือข้อกำหนดของซอฟต์แวร์ข้อกำหนดการใช้งานทางเทคนิคและอินเทอร์เฟซซึ่งได้รับการยืนยันความสมบูรณ์ความสามารถในการทดสอบและความเป็นไปได้
ขั้นตอนการออกแบบประกอบด้วยขั้นตอนต่อไปนี้
การพัฒนาโครงการระบบซอฟต์แวร์ ในขั้นตอนนี้จะมีคำตอบสำหรับคำถาม "ระบบในอนาคตควรทำอย่างไร" ได้แก่ สถาปัตยกรรมของระบบฟังก์ชันเงื่อนไขภายนอกของการทำงานอินเทอร์เฟซและการกระจายฟังก์ชันระหว่างผู้ใช้กับระบบข้อกำหนดสำหรับซอฟต์แวร์และส่วนประกอบข้อมูลองค์ประกอบของผู้แสดงและกำหนดเวลาจะถูกกำหนด การพัฒนาแผนการแก้ไขข้อบกพร่องซอฟต์แวร์และการควบคุมคุณภาพ
พื้นฐานของโครงการระบบเกิดจากแบบจำลองของระบบที่ออกแบบซึ่งมีพื้นฐานมาจากแบบจำลอง "TO-BE" ผลลัพธ์ของการพัฒนาโครงการระบบควรเป็นข้อกำหนดที่ได้รับการรับรองและยืนยันของข้อกำหนดซอฟต์แวร์: ข้อกำหนดด้านการทำงานเทคนิคและอินเทอร์เฟซซึ่งได้รับการยืนยันความสมบูรณ์ความสามารถในการทดสอบและความเป็นไปได้
- การพัฒนาโครงการโดยละเอียด (ทางเทคนิค) ในขั้นตอนนี้จะดำเนินการออกแบบซอฟต์แวร์จริงรวมถึงการออกแบบสถาปัตยกรรมระบบและการออกแบบรายละเอียด ดังนั้นคำตอบจะได้รับสำหรับคำถาม: "จะสร้างระบบอย่างไรให้เป็นไปตามข้อกำหนด"
ผลของการออกแบบโดยละเอียดคือการพัฒนาข้อกำหนดซอฟต์แวร์ที่ได้รับการยืนยันซึ่ง ได้แก่ :
- การสร้างลำดับชั้นของส่วนประกอบซอฟต์แวร์อินเตอร์เฟสระหว่างโมดูลสำหรับข้อมูลและการควบคุม
- ข้อมูลจำเพาะของส่วนประกอบซอฟต์แวร์แต่ละชื่อวัตถุประสงค์สมมติฐานขนาดลำดับการโทรข้อมูลอินพุตและเอาต์พุตผิดพลาด เอาต์พุตอัลกอริทึม และวงจรลอจิก
- การสร้างโครงสร้างข้อมูลทางกายภาพและเชิงตรรกะในระดับของแต่ละฟิลด์
- การพัฒนาแผนการกระจายทรัพยากรคอมพิวเตอร์ (เวลา CPU หน่วยความจำ ฯลฯ );
- การตรวจสอบความสมบูรณ์ความสอดคล้องความเป็นไปได้และความถูกต้องของข้อกำหนด
- แผนการรวมและการดีบักเบื้องต้นคู่มือผู้ใช้และแผนการทดสอบการยอมรับ
ขั้นตอนการออกแบบรายละเอียดเสร็จสิ้นแล้ว
มาตรฐานวงจรชีวิตของซอฟต์แวร์
- GOST 34.601-90
- ISO / IEC 12207: 1995 (อะนาล็อกของรัสเซีย - GOST R ISO / IEC 12207-99)
มาตรฐาน GOST 34 .601-90
แบบจำลองซ้ำ
อีกทางเลือกหนึ่งของแบบจำลองตามลำดับคือรูปแบบการพัฒนาแบบวนซ้ำและแบบเพิ่มหน่วย (อังกฤษ. การพัฒนาแบบวนซ้ำและแบบเพิ่มหน่วย IID ) ซึ่งได้รับจาก T. Gilb ในยุค 70 ชื่อ แบบจำลองวิวัฒนาการ... รุ่นนี้เรียกอีกอย่างว่า แบบจำลองซ้ำ และ แบบจำลองที่เพิ่มขึ้น .
แบบจำลอง IID เกี่ยวข้องกับการแบ่งวงจรชีวิตของโครงการออกเป็นชุดของการทำซ้ำซึ่งแต่ละอย่างมีลักษณะคล้ายกับ "โครงการขนาดเล็ก" รวมถึงกระบวนการพัฒนาทั้งหมดที่ใช้เพื่อสร้างฟังก์ชันการทำงานที่เล็กลงเมื่อเทียบกับโครงการโดยรวม เป้าหมายของแต่ละ ซ้ำ - รับระบบซอฟต์แวร์เวอร์ชันที่ใช้งานได้รวมถึงฟังก์ชันการทำงานที่กำหนดโดยเนื้อหารวมของการทำซ้ำก่อนหน้านี้และปัจจุบันทั้งหมด ผลลัพธ์การทำซ้ำขั้นสุดท้ายประกอบด้วยฟังก์ชันการทำงานของผลิตภัณฑ์ที่จำเป็นทั้งหมด ดังนั้นเมื่อเสร็จสิ้นการทำซ้ำแต่ละครั้งผลิตภัณฑ์จะเพิ่มขึ้น - การเพิ่มขึ้น - ถึงขีดความสามารถซึ่งพัฒนาขึ้น วิวัฒนาการ... การวนซ้ำการเพิ่มขึ้นและการวิวัฒนาการในกรณีนี้คือการแสดงออกของความหมายเดียวกันในคำที่ต่างกันจากมุมมองที่แตกต่างกันเล็กน้อย
ตามที่ T. Gilb กล่าวว่า“ วิวัฒนาการเป็นเทคนิคที่ออกแบบมาเพื่อสร้างรูปลักษณ์ของความมั่นคง โอกาสในการสร้างระบบที่ซับซ้อนได้สำเร็จจะมีมากที่สุดหากมีการใช้งานในชุดของขั้นตอนเล็ก ๆ และหากแต่ละขั้นตอนมีความสำเร็จที่กำหนดไว้เป็นอย่างดีรวมถึงความเป็นไปได้ที่จะ "ย้อนกลับ" ไปยังขั้นตอนที่ประสบความสำเร็จก่อนหน้านี้ในกรณีที่ล้มเหลว ก่อนที่จะลงมือใช้ทรัพยากรทั้งหมดที่มีไว้สำหรับสร้างระบบนักพัฒนามีโอกาสที่จะได้รับข้อเสนอแนะจากโลกแห่งความเป็นจริงและแก้ไขข้อผิดพลาดที่อาจเกิดขึ้นในโครงการ "
แนวทาง IID ยังมีด้านลบซึ่งในความเป็นจริงแล้วเป็นด้านกลับของข้อดี ประการแรกความเข้าใจแบบองค์รวมเกี่ยวกับขีดความสามารถและข้อ จำกัด ของโครงการขาดมาเป็นเวลานานมาก ประการที่สองเมื่อทำซ้ำคุณต้องทิ้งงานบางส่วนที่ทำไปก่อนหน้านี้ ประการที่สามความรอบคอบของผู้เชี่ยวชาญในการปฏิบัติงานยังคงลดลงซึ่งเป็นเรื่องที่เข้าใจได้ในทางจิตวิทยาเนื่องจากพวกเขาถูกครอบงำโดยความรู้สึกที่ว่า“ ทุกอย่างสามารถเปลี่ยนแปลงและปรับปรุงได้ในภายหลัง”
แนวทางการทำซ้ำหลาย ๆ รูปแบบถูกนำไปใช้ในวิธีการพัฒนาที่ทันสมัยที่สุด (RUP, MSF,)
แบบจำลองเกลียว
การทำซ้ำแต่ละครั้งสอดคล้องกับการสร้างส่วนหรือเวอร์ชันของซอฟต์แวร์โดยระบุเป้าหมายและลักษณะของโครงการประเมินคุณภาพของผลลัพธ์ที่ได้รับและวางแผนการทำงานของการทำซ้ำครั้งต่อไป
ในการทำซ้ำแต่ละครั้งจะมีการประเมินสิ่งต่อไปนี้:
- ความเสี่ยงที่จะเกินข้อกำหนดและต้นทุนของโครงการ
- จำเป็นต้องทำซ้ำอีกครั้ง
- ระดับความสมบูรณ์และความถูกต้องของการทำความเข้าใจข้อกำหนดสำหรับระบบ
- ความเป็นไปได้ในการยุติโครงการ
สิ่งสำคัญคือต้องเข้าใจว่าแบบจำลองเกลียวไม่ใช่ทางเลือกสำหรับรุ่นวิวัฒนาการ (แบบจำลอง IID) แต่เป็นเวอร์ชันที่พัฒนาขึ้นเป็นพิเศษ น่าเสียดายที่แบบจำลองเกลียวมักถูกใช้อย่างผิดพลาดเป็นคำพ้องความหมายสำหรับแบบจำลองวิวัฒนาการโดยทั่วไปหรือ (ไม่ผิดพลาดแม้แต่น้อย) เรียกว่าโมเดลที่เป็นอิสระอย่างสมบูรณ์พร้อมกับ IID
คุณลักษณะที่โดดเด่นของแบบจำลองเกลียวคือความสนใจเป็นพิเศษที่จ่ายให้กับความเสี่ยงที่มีผลต่อการจัดระเบียบวงจรชีวิตและเหตุการณ์สำคัญ Boehm แสดงรายการความเสี่ยง 10 อันดับที่พบบ่อยที่สุด (จัดลำดับความสำคัญ):
- ความบกพร่องของผู้เชี่ยวชาญ
- ไทม์ไลน์และงบประมาณที่ไม่สมจริง
- การใช้งานฟังก์ชันที่ไม่เหมาะสม
- การออกแบบส่วนต่อประสานผู้ใช้ที่ไม่ถูกต้อง
- ความสมบูรณ์แบบการเพิ่มประสิทธิภาพที่ไม่จำเป็นและการสร้างเสริมรายละเอียด
- กระแสแห่งการเปลี่ยนแปลงไม่หยุดหย่อน
- ขาดข้อมูลเกี่ยวกับองค์ประกอบภายนอกที่กำหนดสภาพแวดล้อมของระบบหรือเกี่ยวข้องกับการรวม
- ข้อบกพร่องในงานที่ดำเนินการโดยทรัพยากรภายนอก (ที่เกี่ยวข้องกับโครงการ)
- ประสิทธิภาพของระบบผลลัพธ์ไม่เพียงพอ
- ช่องว่างในคุณสมบัติของผู้เชี่ยวชาญในสาขาต่างๆ
แบบจำลองเกลียวปัจจุบันกำหนดชุดจุดควบคุมทั่วไปดังต่อไปนี้:
- Concept of Operations (COO) - แนวคิด (การใช้งาน) ของระบบ
- Life Cycle Objectives (LCO) - เป้าหมายและเนื้อหาของวงจรชีวิต
- Life Cycle Architecture (LCA) - สถาปัตยกรรมวงจรชีวิต ที่นี่เป็นไปได้ที่จะพูดเกี่ยวกับความพร้อมของสถาปัตยกรรมแนวความคิดของระบบซอฟต์แวร์เป้าหมาย
- Initial Operational Capability (IOC) - เวอร์ชันแรกของผลิตภัณฑ์ที่สร้างขึ้นเหมาะสำหรับการทดลองใช้งาน
- Final Operational Capability (FOC) คือผลิตภัณฑ์สำเร็จรูปที่ปรับใช้ (ติดตั้งและกำหนดค่า) สำหรับการใช้งานจริง
วิธีการพัฒนาซอฟต์แวร์
- Microsoft Solutions Framework (MSF) ประกอบด้วย 4 ขั้นตอน ได้แก่ การวิเคราะห์การออกแบบการพัฒนาการทำให้เสถียรเกี่ยวข้องกับการใช้การสร้างแบบจำลองเชิงวัตถุ
- การเขียนโปรแกรมขั้นสูง (อังกฤษ. Extreme Programming, XP) วิธีการนี้ขึ้นอยู่กับการทำงานเป็นทีมการสื่อสารที่มีประสิทธิภาพระหว่างลูกค้าและผู้รับเหมาระหว่างโครงการทั้งหมดสำหรับการพัฒนา IS การพัฒนาดำเนินการโดยใช้ต้นแบบที่กลั่นอย่างสม่ำเสมอ
- ESPD เป็นชุดของมาตรฐานระดับรัฐของสหพันธรัฐรัสเซียที่กำหนดกฎเกณฑ์ที่เกี่ยวข้องกันสำหรับการพัฒนาการออกแบบและการเผยแพร่โปรแกรมและเอกสารประกอบโปรแกรม
วรรณกรรม
- Bratishchenko V.V. การออกแบบระบบสารสนเทศ - Irkutsk: สำนักพิมพ์ BSUEP, 2004. - 84 p.
- Vendrov A.M. การออกแบบซอฟต์แวร์สำหรับระบบสารสนเทศทางเศรษฐกิจ - ม.: การเงินและสถิติ, 2543
- Grekul V.I. , Denischenko G.N. , Korovkina N.L. การออกแบบระบบสารสนเทศ - M .: Internet University of Information Technologies - INTUIT.ru, 2005
- Mishenin A.I. ทฤษฎีระบบสารสนเทศทางเศรษฐกิจ - ม.: การเงินและสถิติ, 2543. - 240 น.
หมายเหตุ
มูลนิธิวิกิมีเดีย 2010
แนวคิดของ "วงจรชีวิต" หมายถึงบางสิ่งที่เกิดพัฒนาและตาย เช่นเดียวกับสิ่งมีชีวิตผลิตภัณฑ์ซอฟต์แวร์ถูกสร้างดำเนินการและพัฒนาอยู่ตลอดเวลา
วงจรชีวิต ซอฟต์แวร์รวมถึงทุกขั้นตอนของการพัฒนา: ตั้งแต่ความจำเป็นในการใช้งานไปจนถึงการยุติการใช้งานโดยสิ้นเชิงเนื่องจากความล้าสมัยหรือการสูญเสียความจำเป็นในการแก้ไขปัญหาที่เกี่ยวข้อง
มีหลายขั้นตอนของการมีอยู่ของผลิตภัณฑ์ซอฟต์แวร์ในช่วงวงจรชีวิต ยังไม่มีชื่อที่ยอมรับโดยทั่วไปสำหรับขั้นตอนเหล่านี้และหมายเลขของพวกเขา แต่ไม่มีความขัดแย้งใด ๆ ในประเด็นนี้เช่นกัน ดังนั้นจึงมีหลายทางเลือกในการแบ่งวงจรชีวิตของซอฟต์แวร์ออกเป็นขั้นตอน คำถามที่ว่าพาร์ติชันที่กำหนดดีกว่าพาร์ติชั่นอื่น ๆ นั้นไม่ใช่พาร์ติชันหลักหรือไม่ สิ่งสำคัญคือการจัดระเบียบการพัฒนาซอฟต์แวร์อย่างเหมาะสมโดยคำนึงถึง
ตามระยะเวลาของวงจรชีวิตผลิตภัณฑ์ซอฟต์แวร์สามารถแบ่งออกเป็นสองประเภท: เล็ก และ ช่วงชีวิตที่ยาวนาน คลาสของโปรแกรมเหล่านี้สอดคล้องกับแนวทางที่ยืดหยุ่น (อ่อน) ในการสร้างและใช้งานและแนวทางอุตสาหกรรมที่เข้มงวดในการออกแบบและการใช้งานผลิตภัณฑ์ซอฟต์แวร์ที่มีการควบคุม ตัวอย่างเช่นในองค์กรวิทยาศาสตร์และมหาวิทยาลัยการพัฒนาโปรแกรมของชั้นหนึ่งมีผลเหนือกว่าและในองค์กรการออกแบบและอุตสาหกรรม - ที่สอง
ผลิตภัณฑ์ซอฟต์แวร์อายุการใช้งานสั้น ถูกสร้างขึ้นเพื่อแก้ปัญหาทางวิทยาศาสตร์และวิศวกรรมเป็นหลักเพื่อให้ได้ผลการคำนวณที่เฉพาะเจาะจง โปรแกรมดังกล่าวมักมีขนาดค่อนข้างเล็ก ได้รับการพัฒนาโดยผู้เชี่ยวชาญเพียงคนเดียวหรือกลุ่มเล็ก ๆ แนวคิดหลักของโปรแกรมจะกล่าวถึงโดยโปรแกรมเมอร์และผู้ใช้ปลายทาง รายละเอียดบางอย่างถูกใส่ไว้ในกระดาษและโครงการจะเสร็จสิ้นภายในไม่กี่วันหรือหลายสัปดาห์ ไม่ได้มีวัตถุประสงค์เพื่อจำลองและถ่ายโอนเพื่อใช้ในภายหลังโดยกลุ่มอื่น ดังนั้นโปรแกรมดังกล่าวจึงเป็นส่วนหนึ่งของงานวิจัยและพัฒนาและไม่สามารถถือได้ว่าเป็นผลิตภัณฑ์ซอฟต์แวร์ที่แปลกแยก
วงจรชีวิตของพวกเขาประกอบด้วยช่วงเวลาที่ยาวนานของการวิเคราะห์ระบบและการทำให้เป็นทางการของปัญหาขั้นตอนสำคัญในการออกแบบโปรแกรมและระยะเวลาในการดำเนินการที่ค่อนข้างสั้น ข้อกำหนดสำหรับลักษณะการทำงานและการออกแบบตามกฎแล้วจะไม่เป็นทางการไม่มีการทดสอบโปรแกรมอย่างเป็นทางการ ตัวบ่งชี้คุณภาพของพวกเขาถูกควบคุมโดยนักพัฒนาตามแนวคิดที่ไม่เป็นทางการของพวกเขาเท่านั้น
ผลิตภัณฑ์ซอฟต์แวร์อายุการใช้งานสั้น
ไม่จำเป็นต้องบำรุงรักษาและปรับเปลี่ยนโปรแกรมดังกล่าวและวงจรชีวิตจะสิ้นสุดลงหลังจากได้รับผลการคำนวณ ค่าใช้จ่ายหลักในวงจรชีวิตของโปรแกรมดังกล่าวขึ้นอยู่กับขั้นตอนของการวิเคราะห์และออกแบบระบบซึ่งมีผลตั้งแต่เดือนถึง 1 ... 2 ปี
โดยที่วงจรชีวิตของผลิตภัณฑ์ซอฟต์แวร์แทบจะไม่เกิน 3 ปี
ผลิตภัณฑ์ซอฟต์แวร์ที่มีอายุการใช้งานยาวนาน ถูกสร้างขึ้นสำหรับการประมวลผลและการจัดการข้อมูลอย่างสม่ำเสมอ โครงสร้างของโปรแกรมดังกล่าวมีความซับซ้อน ขนาดของพวกเขาอาจแตกต่างกันไปตามขอบเขตที่กว้าง (1 ... 1,000,000 คำสั่ง) แต่ทั้งหมดมีคุณสมบัติของความสามารถในการรับรู้และความเป็นไปได้ของการปรับเปลี่ยนในกระบวนการบำรุงรักษาระยะยาวและการใช้งานโดยผู้เชี่ยวชาญหลายคน ผลิตภัณฑ์ซอฟต์แวร์ของคลาสนี้สามารถทำซ้ำได้โดยมีเอกสารประกอบเป็นผลิตภัณฑ์อุตสาหกรรมและแสดงถึงผลิตภัณฑ์ซอฟต์แวร์ที่แปลกแยกจากผู้พัฒนา
ผลิตภัณฑ์ซอฟต์แวร์ที่มีอายุการใช้งานยาวนาน
ทีมผู้เชี่ยวชาญจำนวนมากมีส่วนร่วมในการออกแบบและการดำเนินการซึ่งต้องมีการทำให้เป็นทางการของระบบซอฟต์แวร์ตลอดจนการทดสอบอย่างเป็นทางการและการกำหนดตัวบ่งชี้คุณภาพของผลิตภัณฑ์ขั้นสุดท้าย วงจรชีวิตของพวกเขาคือ 10 ... 20 ปี ถึง 70 ... 90% ของเวลานี้ใช้ไปกับการดำเนินงานและการบำรุงรักษา เนื่องจากการจำลองแบบจำนวนมากและการบำรุงรักษาในระยะยาวค่าใช้จ่ายทั้งหมดในระหว่างการดำเนินการและการบำรุงรักษาผลิตภัณฑ์ซอฟต์แวร์ดังกล่าวสูงกว่าค่าใช้จ่ายในการวิเคราะห์และออกแบบระบบอย่างมีนัยสำคัญ
การนำเสนอที่ตามมาทั้งหมดมุ่งเน้นไปที่การพัฒนาเครื่องมือซอฟต์แวร์ขนาดใหญ่ (ซับซ้อน) สำหรับการควบคุมและการประมวลผลข้อมูล
โมเดลทั่วไป วงจรชีวิต ผลิตภัณฑ์ซอฟต์แวร์อาจมีลักษณะดังนี้:
ผม. การวิเคราะห์ระบบ:
ก) การวิจัย;
b) การวิเคราะห์ความเป็นไปได้:
การปฏิบัติงาน
เศรษฐกิจ;
เชิงพาณิชย์
ครั้งที่สอง การออกแบบซอฟต์แวร์:
ก) การออกแบบ:
การสลายตัวตามหน้าที่ของระบบสถาปัตยกรรมของมัน
การออกแบบซอฟต์แวร์ภายนอก
การออกแบบฐานข้อมูล
สถาปัตยกรรมซอฟต์แวร์
b) การเขียนโปรแกรม:
การออกแบบซอฟต์แวร์ภายใน
การออกแบบภายนอกของโมดูลซอฟต์แวร์
การออกแบบภายในของโมดูลซอฟต์แวร์
การเข้ารหัส;
โปรแกรมดีบั๊ก
Programming;
c) การดีบักซอฟต์แวร์
สาม. การประเมิน (การทดสอบ) ของซอฟต์แวร์
IV การใช้ซอฟต์แวร์:
ก) การดำเนินการ;
b) ประกอบ
ผม... การวิเคราะห์ระบบ.ในช่วงเริ่มต้นของการพัฒนาซอฟต์แวร์จะมีการวิเคราะห์ระบบ (การออกแบบเบื้องต้น) ในระหว่างที่จำเป็นต้องมีการกำหนดวัตถุประสงค์และลักษณะการทำงานหลัก ประมาณการต้นทุนและประสิทธิภาพที่เป็นไปได้ของผลิตภัณฑ์ซอฟต์แวร์ในอนาคต
ในขั้นตอนนี้รายการข้อกำหนดจะถูกร่างขึ้นนั่นคือคำจำกัดความที่ชัดเจนของสิ่งที่ผู้ใช้คาดหวังจากผลิตภัณฑ์สำเร็จรูป ที่นี่มีการกำหนดเป้าหมายและวัตถุประสงค์เพื่อประโยชน์ในการพัฒนาโครงการ ขั้นตอนการวิเคราะห์ระบบสามารถแบ่งออกเป็นสองทิศทาง: การวิจัยและการศึกษาความเป็นไปได้
การวิจัยเริ่มขึ้น ตั้งแต่วินาทีที่ผู้จัดการฝ่ายพัฒนาตระหนักถึงความต้องการซอฟต์แวร์
งานประกอบด้วยการวางแผนและการประสานงานกิจกรรมที่จำเป็นในการจัดทำรายการข้อกำหนดที่เขียนด้วยลายมืออย่างเป็นทางการสำหรับผลิตภัณฑ์ซอฟต์แวร์ที่กำลังพัฒนา
การวิจัยสิ้นสุดลง เมื่อข้อกำหนดถูกสร้างขึ้นในลักษณะที่สามารถสังเกตได้และหากจำเป็นสามารถแก้ไขและอนุมัติได้โดยผู้จัดการที่รับผิดชอบ
การศึกษาความเป็นไปได้ มีส่วนทางเทคนิคของการวิจัยและเริ่มต้นเมื่อความตั้งใจของผู้นำนั้นแข็งแกร่งพอที่จะแต่งตั้งผู้จัดการโครงการเพื่อจัดระเบียบการออกแบบและจัดสรรทรัพยากร (แรงงาน)
งานนี้ประกอบด้วยการค้นคว้าเกี่ยวกับผลิตภัณฑ์ซอฟต์แวร์ที่นำเสนอเพื่อให้ได้การประเมินในทางปฏิบัติเกี่ยวกับความเป็นไปได้ของโครงการโดยเฉพาะอย่างยิ่งจะกำหนด:
- ความเป็นไปได้ในการดำเนินงาน , ผลิตภัณฑ์จะสะดวกสบายเพียงพอสำหรับการใช้งานจริงหรือไม่?
- ความเป็นไปได้ทางเศรษฐกิจ , ต้นทุนของผลิตภัณฑ์ที่พัฒนาเป็นที่ยอมรับหรือไม่? ค่าใช้จ่ายนี้คืออะไร? ผลิตภัณฑ์จะเป็นเครื่องมือที่คุ้มค่าในมือของผู้ใช้หรือไม่?
- ความเป็นไปได้ในเชิงพาณิชย์ สินค้าจะน่าสนใจเป็นที่ต้องการติดตั้งง่ายปรับตัวเข้ากับบริการเรียนรู้ได้ง่ายหรือไม่?
ปัญหาเหล่านี้และปัญหาอื่น ๆ จำเป็นต้องได้รับการแก้ไขเป็นหลักเมื่อพิจารณาข้อกำหนดข้างต้น
การศึกษาความเป็นไปได้จะสิ้นสุดลงเมื่อมีการรวบรวมและอนุมัติข้อกำหนดทั้งหมด
ก่อนดำเนินการต่อในโครงการคุณต้องตรวจสอบให้แน่ใจว่าได้รับข้อมูลที่จำเป็นทั้งหมดแล้ว ข้อมูลนี้ต้องถูกต้องเข้าใจและสามารถใช้งานได้ ควรแสดงถึงชุดข้อกำหนดที่สมบูรณ์ที่ตอบสนองผู้ใช้สำหรับผลิตภัณฑ์ซอฟต์แวร์ที่พัฒนาขึ้นซึ่งร่างขึ้นในรูปแบบของข้อกำหนด
การไม่ปฏิบัติตามข้อกำหนดนี้อาจทำให้การดำเนินโครงการในอนาคตช้าลงได้อย่างมากเนื่องจากมีการอุทธรณ์ต่อผู้ใช้ซ้ำหลายครั้งเพื่อขอความกระจ่างเกี่ยวกับรายละเอียดที่ตีความไม่ถูกต้องเงื่อนไขที่ไม่ระบุและด้วยเหตุนี้จึงต้องมีการปรับปรุงชิ้นส่วนที่พัฒนาแล้ว
บ่อยครั้งในช่วงของการวิเคราะห์ระบบจะมีการตัดสินใจที่จะหยุดการพัฒนาซอฟต์แวร์เพิ่มเติม
ครั้งที่สอง... การออกแบบซอฟต์แวร์ การออกแบบเป็นขั้นตอนหลักและชี้ขาดของวงจรชีวิตซอฟต์แวร์ในระหว่างที่ผลิตภัณฑ์ซอฟต์แวร์ถูกสร้างขึ้นและ 90% ได้รับรูปแบบสุดท้าย
ช่วงชีวิตนี้ครอบคลุมกิจกรรมต่างๆของโครงการและสามารถแบ่งออกเป็นสามขั้นตอนหลัก ได้แก่ การออกแบบการเขียนโปรแกรมและการแก้ไขข้อบกพร่องของผลิตภัณฑ์ซอฟต์แวร์
การก่อสร้าง ซอฟต์แวร์มักจะเริ่มต้นเร็วที่สุดเท่าที่ขั้นตอนการศึกษาความเป็นไปได้เมื่อวางเป้าหมายและข้อกำหนดเบื้องต้นลงบนกระดาษ
เมื่อถึงเวลาที่ข้อกำหนดได้รับการอนุมัติงานในขั้นตอนการออกแบบจะเต็มไปด้วยความผันผวน
ในส่วนนี้ของอายุการใช้งานซอฟต์แวร์พวกเขาดำเนินการ:
การสลายตัวตามหน้าที่ของปัญหาที่กำลังแก้ไขบนพื้นฐานของการกำหนดสถาปัตยกรรมระบบของปัญหานี้
การออกแบบภายนอกของซอฟต์แวร์แสดงออกในรูปแบบของปฏิสัมพันธ์ภายนอกกับผู้ใช้
การออกแบบฐานข้อมูลหากจำเป็น
การออกแบบสถาปัตยกรรมซอฟต์แวร์ - การกำหนดวัตถุโมดูลและส่วนต่อประสาน
การเขียนโปรแกรมจะเริ่มขึ้น อยู่ในขั้นตอนการออกแบบทันทีที่ข้อกำหนดพื้นฐานสำหรับส่วนประกอบแต่ละส่วนของผลิตภัณฑ์ซอฟต์แวร์พร้อมใช้งาน แต่ยังไม่ได้รับการอนุมัติก่อนข้อตกลงข้อกำหนด ขั้นตอนการเขียนโปรแกรมและการออกแบบที่ทับซ้อนกันนำไปสู่การประหยัดเวลาในการพัฒนาโดยรวมรวมทั้งเพื่อให้แน่ใจว่าการตัดสินใจในการออกแบบได้รับการตรวจสอบและในบางกรณีจะส่งผลต่อการแก้ปัญหาสำคัญ
ในขั้นตอนนี้งานที่เกี่ยวข้องกับการประกอบผลิตภัณฑ์ซอฟต์แวร์จะดำเนินการ ประกอบด้วยการออกแบบภายในโดยละเอียดของผลิตภัณฑ์ซอฟต์แวร์ในการพัฒนาตรรกะภายในของแต่ละโมดูลของระบบซึ่งจะแสดงในข้อความของโปรแกรมเฉพาะ
ขั้นตอนการเขียนโปรแกรมจะสิ้นสุดลงเมื่อนักพัฒนาทำการจัดทำเอกสารการดีบักและการประกอบชิ้นส่วนของผลิตภัณฑ์ซอฟต์แวร์เข้าด้วยกันทั้งหมด
ซอฟต์แวร์ดีบั๊ก จะดำเนินการหลังจากที่ส่วนประกอบทั้งหมดถูกดีบั๊กแยกจากกันและประกอบเป็นผลิตภัณฑ์ซอฟต์แวร์เดียว
สาม... การประเมิน (การทดสอบ) ของซอฟต์แวร์ในขั้นตอนนี้ผลิตภัณฑ์ซอฟต์แวร์จะต้องผ่านการทดสอบระบบอย่างเข้มงวดโดยกลุ่มผู้ไม่พัฒนา
สิ่งนี้ทำขึ้นเพื่อให้แน่ใจว่าผลิตภัณฑ์ซอฟต์แวร์สำเร็จรูปตรงตามข้อกำหนดและข้อกำหนดทั้งหมดสามารถใช้งานได้ในสภาพแวดล้อมของผู้ใช้ไม่มีข้อบกพร่องใด ๆ และมีเอกสารประกอบที่จำเป็นซึ่งอธิบายผลิตภัณฑ์ซอฟต์แวร์อย่างถูกต้องและครบถ้วน
ขั้นตอนการประเมินจะเริ่มขึ้นทันทีที่มีการประกอบและทดสอบส่วนประกอบ (โมดูล) ทั้งหมดเช่น หลังจากการดีบักผลิตภัณฑ์ซอฟต์แวร์สำเร็จรูปอย่างสมบูรณ์ หลังจากได้รับการยืนยันว่าผลิตภัณฑ์ซอฟต์แวร์ผ่านการทดสอบทั้งหมดและพร้อมใช้งาน
ใช้เวลานานพอ ๆ กับการเขียนโปรแกรม
IV. การใช้ซอฟต์แวร์หากการวิเคราะห์ระบบเป็นสัญญาณของการต่อสู้การออกแบบคือการโจมตีและกลับมาพร้อมกับชัยชนะดังนั้นการใช้ผลิตภัณฑ์ซอฟต์แวร์จึงเป็นการป้องกันรายวันซึ่งมีความสำคัญ แต่โดยปกติแล้วจะไม่เป็นเกียรติสำหรับนักพัฒนา
การเปรียบเทียบดังกล่าวมีความเหมาะสมในแง่ของข้อเท็จจริงที่ว่าในระหว่างการใช้ผลิตภัณฑ์ซอฟต์แวร์ข้อผิดพลาดที่เกิดขึ้นในกระบวนการออกแบบจะได้รับการแก้ไข
ขั้นตอนการใช้งานของรายการซอฟต์แวร์เริ่มต้นเมื่อรายการถูกโอนไปยังระบบการแจกจ่าย
นี่คือช่วงเวลาที่ผลิตภัณฑ์กำลังทำงานและใช้งานได้อย่างมีประสิทธิภาพ
ในขณะนี้มีการฝึกอบรมบุคลากรการนำไปใช้งานการกำหนดค่าการบำรุงรักษาและอาจมีการขยายผลิตภัณฑ์ซอฟต์แวร์ซึ่งเรียกว่าการออกแบบอย่างต่อเนื่อง
ขั้นตอนการใช้งานจะสิ้นสุดลงเมื่อผลิตภัณฑ์ถูกนำออกจากการใช้งานและกิจกรรมข้างต้นจะสิ้นสุดลง อย่างไรก็ตามโปรดทราบว่าผลิตภัณฑ์ซอฟต์แวร์สามารถใช้งานได้โดยบุคคลอื่นเป็นเวลานานและหลังจากระยะการใช้งานตามที่กำหนดไว้ที่นี่สิ้นสุดลง เนื่องจากบุคคลนี้สามารถใช้ผลิตภัณฑ์ซอฟต์แวร์ที่บ้านได้อย่างมีประสิทธิผลแม้ว่าจะไม่ได้รับความช่วยเหลือจากนักพัฒนาก็ตาม
การใช้ผลิตภัณฑ์ซอฟต์แวร์จะพิจารณาจากการใช้งานและการบำรุงรักษา
การทำงานของผลิตภัณฑ์ซอฟต์แวร์ ประกอบด้วยการดำเนินการการทำงานบนคอมพิวเตอร์สำหรับการประมวลผลข้อมูลและการได้รับผลลัพธ์ที่เป็นจุดประสงค์ของการสร้างรวมถึงการรับรองความน่าเชื่อถือและความน่าเชื่อถือของข้อมูลที่ให้มา
การบำรุงรักษาซอฟต์แวร์ ประกอบด้วยการบำรุงรักษาการพัฒนาฟังก์ชันการทำงานและการปรับปรุงลักษณะการทำงานของผลิตภัณฑ์ซอฟต์แวร์ในการจำลองแบบและการถ่ายโอนผลิตภัณฑ์ซอฟต์แวร์ไปยังอุปกรณ์คอมพิวเตอร์ประเภทต่างๆ
การบำรุงรักษามีบทบาทของข้อเสนอแนะที่จำเป็นจากขั้นตอนการปฏิบัติงาน
ในระหว่างการทำงานของซอฟต์แวร์มีความเป็นไปได้ที่จะตรวจพบข้อผิดพลาดในโปรแกรมและจำเป็นต้องแก้ไขและขยายฟังก์ชันต่างๆ
โดยปกติการปรับปรุงเหล่านี้จะดำเนินการไปพร้อม ๆ กับการทำงานของผลิตภัณฑ์ซอฟต์แวร์เวอร์ชันปัจจุบัน หลังจากตรวจสอบการแก้ไขที่เตรียมไว้สำหรับหนึ่งในสำเนาของโปรแกรมแล้วผลิตภัณฑ์ซอฟต์แวร์เวอร์ชันถัดไปจะแทนที่โปรแกรมที่ใช้ก่อนหน้านี้หรือบางส่วน ในกรณีนี้กระบวนการใช้งานผลิตภัณฑ์ซอฟต์แวร์อาจเกือบจะต่อเนื่องเนื่องจากการเปลี่ยนเวอร์ชันของผลิตภัณฑ์ซอฟต์แวร์เป็นระยะสั้น สถานการณ์เหล่านี้นำไปสู่ความจริงที่ว่าขั้นตอนการใช้งานผลิตภัณฑ์ซอฟต์แวร์เวอร์ชันมักจะดำเนินการควบคู่กันไปและเป็นอิสระจากขั้นตอนการบำรุงรักษา
ทับซ้อนระหว่างขั้นตอนของวงจรชีวิตผลิตภัณฑ์ซอฟต์แวร์
การทับซ้อนระหว่างระยะต่างๆของวงจรชีวิตผลิตภัณฑ์ซอฟต์แวร์เป็นไปได้และโดยปกติแล้วจะเป็นที่ต้องการ อย่างไรก็ตามไม่ควรมีการทับซ้อนกันระหว่างกระบวนการที่ไม่ต่อเนื่องกัน
ข้อเสนอแนะระหว่างเฟสเป็นไปได้ ตัวอย่างเช่นในระหว่างขั้นตอนการออกแบบภายนอกขั้นตอนใดขั้นตอนหนึ่งอาจตรวจพบข้อผิดพลาดในการกำหนดเป้าหมายจากนั้นคุณต้องส่งคืนและแก้ไขทันที
แบบจำลองวงจรชีวิตของผลิตภัณฑ์ซอฟต์แวร์ที่มีการเปลี่ยนแปลงบางอย่างสามารถใช้เป็นต้นแบบสำหรับโครงการขนาดเล็กได้
ตัวอย่างเช่นเมื่อมีการออกแบบโปรแกรมเดียวสถาปัตยกรรมระบบมักจะจ่ายด้วยและ
การออกแบบฐานข้อมูล กระบวนการของการออกแบบภายนอกเริ่มต้นและรายละเอียดมักจะรวมเข้าด้วยกัน ฯลฯ
มาตรฐานวงจรชีวิตของซอฟต์แวร์
- GOST 34.601-90
- ISO / IEC 12207: 1995 (อะนาล็อกของรัสเซีย - GOST R ISO / IEC 12207-99)
วิธีการพัฒนาซอฟต์แวร์
- Rational Unified Process (RUP)
- Microsoft Solutions Framework (MSF) ประกอบด้วย 4 ขั้นตอน ได้แก่ การวิเคราะห์การออกแบบการพัฒนาการทำให้เสถียรเกี่ยวข้องกับการใช้การสร้างแบบจำลองเชิงวัตถุ
- การเขียนโปรแกรมขั้นสูง ( การเขียนโปรแกรมขั้นสูง, XP) วิธีการนี้ขึ้นอยู่กับการทำงานเป็นทีมการสื่อสารที่มีประสิทธิภาพระหว่างลูกค้าและผู้รับเหมาระหว่างโครงการทั้งหมดสำหรับการพัฒนา IS การพัฒนาดำเนินการโดยใช้ต้นแบบที่กลั่นอย่างสม่ำเสมอ
มาตรฐาน GOST 34.601-90
มาตรฐาน GOST 34.601-90 จัดเตรียมขั้นตอนและขั้นตอนต่อไปนี้ในการสร้างระบบอัตโนมัติ:
- การสร้างข้อกำหนดสำหรับ AU
- การสำรวจสถานที่และเหตุผลของความจำเป็นในการสร้างโรงไฟฟ้านิวเคลียร์
- การสร้างความต้องการของผู้ใช้สำหรับลำโพง
- การลงทะเบียนรายงานความคืบหน้าของงานและการสมัครเพื่อพัฒนาอสส
- การพัฒนาแนวคิดของวิทยากร
- การศึกษาวัตถุ
- ดำเนินงานวิจัยที่จำเป็น
- การพัฒนาตัวเลือกสำหรับแนวคิดของลำโพงและการเลือกเวอร์ชันของแนวคิดของลำโพงที่ตรงตามความต้องการของผู้ใช้
- การรายงานเกี่ยวกับงานที่ทำ
- งานด้านเทคนิค
- การพัฒนาและการอนุมัติข้อกำหนดทางเทคนิคสำหรับการสร้าง AU
- การออกแบบเบื้องต้น
- การพัฒนาโซลูชันการออกแบบเบื้องต้นสำหรับระบบและชิ้นส่วน
- โครงการทางเทคนิค
- การพัฒนาโซลูชันการออกแบบสำหรับระบบและชิ้นส่วนต่างๆ
- การพัฒนาเอกสารสำหรับ NPP และชิ้นส่วน
- การพัฒนาและการดำเนินการของเอกสารสำหรับการจัดหาส่วนประกอบ
- การพัฒนางานออกแบบในส่วนที่เกี่ยวข้องของโครงการ
- เอกสารการทำงาน
- การพัฒนาเอกสารประกอบการทำงานสำหรับ NPP และส่วนต่างๆ
- การพัฒนาและปรับโปรแกรม
- การว่าจ้าง
- การเตรียมวัตถุอัตโนมัติ
- การฝึกอบรมพนักงาน
- การเติมเต็มระบบลำโพงด้วยผลิตภัณฑ์ที่ให้มา (ซอฟต์แวร์และฮาร์ดแวร์ซอฟต์แวร์และฮาร์ดแวร์คอมเพล็กซ์ผลิตภัณฑ์ข้อมูล)
- งานก่อสร้างและติดตั้ง
- การว่าจ้างงาน
- การทดสอบเบื้องต้น
- ทดลองใช้งาน
- การทดสอบการยอมรับ
- AC คุ้มกัน
- การปฏิบัติงานตามข้อผูกพันในการรับประกัน
- บริการหลังการรับประกัน
แบบร่างโครงการทางเทคนิคและเอกสารการทำงานเป็นโครงสร้างที่สอดคล้องกันของโซลูชันการออกแบบที่แม่นยำมากขึ้น ได้รับอนุญาตให้ยกเว้นขั้นตอน "การออกแบบแบบร่าง" และขั้นตอนการทำงานที่แยกจากกันในทุกขั้นตอนเพื่อรวมขั้นตอน "การออกแบบทางเทคนิค" และ "เอกสารการทำงาน" ไว้ใน "โครงการทำงานด้านเทคนิค" เพื่อดำเนินการขั้นตอนและงานต่างๆพร้อมกันเพื่อรวมขั้นตอนเพิ่มเติม
มาตรฐานนี้ไม่เหมาะสมอย่างยิ่งสำหรับการพัฒนาในปัจจุบัน: กระบวนการหลายอย่างไม่ได้รับการสะท้อนอย่างเพียงพอและบทบัญญัติบางประการล้าสมัย
ISO / IEC 12207 / มาตรฐานและการประยุกต์ใช้
ISO / IEC 12207: 1995 "Information Technology - Software Life Cycle Processes" เป็นเอกสารเชิงบรรทัดฐานหลักที่ควบคุมองค์ประกอบของกระบวนการวงจรชีวิตซอฟต์แวร์ เป็นการกำหนดโครงสร้างวงจรชีวิตที่ประกอบด้วยกระบวนการกิจกรรมและงานที่ต้องดำเนินการระหว่างการสร้างซอฟต์แวร์
แต่ละกระบวนการแบ่งออกเป็นชุดของการดำเนินการแต่ละการกระทำออกเป็นชุดของงาน แต่ละกระบวนการการกระทำหรืองานจะเริ่มต้นและดำเนินการโดยกระบวนการอื่นตามความจำเป็นและไม่มีลำดับการดำเนินการที่กำหนดไว้ล่วงหน้า ในกรณีนี้การเชื่อมต่อกับข้อมูลอินพุตจะถูกเก็บรักษาไว้
กระบวนการวงจรชีวิตของซอฟต์แวร์
- ขั้นพื้นฐาน:
- ซื้อ (การกระทำและงานของลูกค้าที่ซื้อซอฟต์แวร์)
- การจัดส่ง (กิจกรรมและงานของซัพพลายเออร์ที่จัดหาผลิตภัณฑ์ซอฟต์แวร์หรือบริการให้กับลูกค้า)
- การพัฒนา (การดำเนินการและงานที่ดำเนินการโดยผู้พัฒนา: การสร้างซอฟต์แวร์การออกแบบและเอกสารประกอบการปฏิบัติงานการเตรียมเอกสารการทดสอบและการฝึกอบรม ฯลฯ )
- การดำเนินการ (การกระทำและงานของผู้ปฏิบัติงาน - องค์กรที่ดำเนินการระบบ)
- คุ้มกัน (การดำเนินการและงานที่ดำเนินการโดยองค์กรคุ้มกันนั่นคือบริการเพื่อนเที่ยว) การบำรุงรักษา - ทำการเปลี่ยนแปลงซอฟต์แวร์เพื่อแก้ไขข้อผิดพลาดปรับปรุงประสิทธิภาพหรือปรับให้เข้ากับสภาพการทำงานหรือข้อกำหนดที่เปลี่ยนแปลงไป
- บริษัท สาขา
- เอกสารประกอบ (คำอธิบายอย่างเป็นทางการของข้อมูลที่สร้างขึ้นระหว่างวงจรชีวิตของซอฟต์แวร์)
- การจัดการการกำหนดค่า (การประยุกต์ใช้ขั้นตอนการดูแลระบบและทางเทคนิคตลอดวงจรชีวิตของซอฟต์แวร์เพื่อกำหนดสถานะของส่วนประกอบซอฟต์แวร์จัดการการปรับเปลี่ยน)
- การประกันคุณภาพ (ตรวจสอบให้แน่ใจว่า IS และกระบวนการตลอดอายุการใช้งานสอดคล้องกับข้อกำหนดที่ระบุและแผนงานที่ได้รับอนุมัติ)
- การตรวจสอบ (การระบุว่าผลิตภัณฑ์ซอฟต์แวร์ซึ่งเป็นผลมาจากการกระทำบางอย่างเป็นไปตามข้อกำหนดหรือเงื่อนไขที่เกิดจากการกระทำก่อนหน้านี้)
- การรับรอง (การกำหนดความสมบูรณ์ของการปฏิบัติตามข้อกำหนดที่ระบุและระบบที่สร้างขึ้นโดยมีวัตถุประสงค์การทำงานเฉพาะ)
- การประเมินร่วมกัน (การประเมินสถานะของงานในโครงการ: การควบคุมการวางแผนและการจัดการทรัพยากรบุคลากรอุปกรณ์เครื่องมือ)
- การตรวจสอบ (การกำหนดการปฏิบัติตามข้อกำหนดแผนและเงื่อนไขของสัญญา)
- การแก้ปัญหา (การวิเคราะห์และแก้ปัญหาโดยไม่คำนึงถึงที่มาหรือแหล่งที่มาที่ค้นพบระหว่างการพัฒนาการดำเนินการการบำรุงรักษาหรือกระบวนการอื่น ๆ )
- องค์กร
- การควบคุม (การกระทำและงานที่สามารถดำเนินการโดยฝ่ายใดก็ได้ที่ควบคุมกระบวนการของตนเอง)
- การสร้างโครงสร้างพื้นฐาน (การเลือกและการบำรุงรักษาเทคโนโลยีมาตรฐานและเครื่องมือการเลือกและการติดตั้งฮาร์ดแวร์และซอฟต์แวร์ที่ใช้สำหรับการพัฒนาการใช้งานหรือการบำรุงรักษาซอฟต์แวร์)
- การปรับปรุง (การประเมินการวัดการควบคุมและการปรับปรุงกระบวนการของวงจรชีวิต)
- การฝึกอบรม (การฝึกอบรมเบื้องต้นและการพัฒนาบุคลากรอย่างต่อเนื่องในเวลาต่อมา)
แต่ละกระบวนการเกี่ยวข้องกับชุดของการกระทำ ตัวอย่างเช่นกระบวนการได้มาซึ่งครอบคลุมขั้นตอนต่อไปนี้:
- การเริ่มต้นการซื้อกิจการ
- การจัดทำข้อเสนอการสมัคร
- การจัดทำและแก้ไขสัญญา
- การกำกับดูแลซัพพลายเออร์
- การยอมรับและความสำเร็จของงาน
แต่ละการดำเนินการประกอบด้วยชุดของงาน ตัวอย่างเช่นการจัดทำข้อเสนอการเสนอราคาควรประกอบด้วย:
- การสร้างข้อกำหนดของระบบ
- การสร้างรายการผลิตภัณฑ์ซอฟต์แวร์
- การกำหนดเงื่อนไขและข้อตกลง
- คำอธิบายข้อ จำกัด ทางเทคนิค (สภาพแวดล้อมของการทำงานของระบบ ฯลฯ )
ขั้นตอนของวงจรชีวิตซอฟต์แวร์ความสัมพันธ์ระหว่างกระบวนการและขั้นตอน
แบบจำลองวงจรชีวิตของซอฟต์แวร์ - โครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ของกระบวนการการกระทำและงานตลอดวงจรชีวิต แบบจำลองวงจรชีวิตขึ้นอยู่กับลักษณะเฉพาะขอบเขตและความซับซ้อนของโครงการและลักษณะเฉพาะของเงื่อนไขที่ระบบถูกสร้างและดำเนินการ
GOST R ISO / IEC 12207-99 ไม่มีรูปแบบวงจรชีวิตเฉพาะ ข้อกำหนดของมันเป็นเรื่องธรรมดาสำหรับแบบจำลองวงจรชีวิตวิธีการและเทคโนโลยีสำหรับการสร้าง IP อธิบายถึงโครงสร้างของกระบวนการวงจรชีวิตโดยไม่ได้ระบุวิธีการนำไปใช้หรือดำเนินกิจกรรมและงานที่รวมอยู่ในกระบวนการเหล่านี้
รูปแบบซอฟต์แวร์วงจรชีวิตประกอบด้วย:
- ขั้นตอน;
- ผลงานในแต่ละขั้นตอน
- เหตุการณ์สำคัญคือจุดแห่งความสำเร็จและการตัดสินใจ
เวที - เป็นส่วนหนึ่งของกระบวนการพัฒนาซอฟต์แวร์ซึ่ง จำกัด ด้วยกรอบเวลาที่แน่นอนและลงท้ายด้วยการเปิดตัวผลิตภัณฑ์เฉพาะ (รุ่นส่วนประกอบซอฟต์แวร์เอกสารประกอบ) ซึ่งกำหนดโดยข้อกำหนดที่กำหนดไว้สำหรับขั้นตอนนี้
ในแต่ละขั้นตอนสามารถดำเนินการหลายกระบวนการที่กำหนดไว้ในมาตรฐาน GOST R ISO / IEC 12207-99 และในทางกลับกันกระบวนการเดียวกันสามารถทำได้ในแต่ละขั้นตอน ความสัมพันธ์ระหว่างกระบวนการและขั้นตอนยังพิจารณาจากแบบจำลองวงจรชีวิตของซอฟต์แวร์ที่ใช้
แบบจำลองวงจรชีวิตของซอฟต์แวร์
แบบจำลองวงจรชีวิตถูกเข้าใจว่าเป็นโครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ของกระบวนการการกระทำและงานที่ดำเนินการตลอดวงจรชีวิต แบบจำลองวงจรชีวิตขึ้นอยู่กับลักษณะเฉพาะของระบบสารสนเทศและลักษณะเฉพาะของเงื่อนไขที่สร้างขึ้นและฟังก์ชันหลัง
จนถึงปัจจุบันแบบจำลองวงจรชีวิตหลักต่อไปนี้แพร่หลายมากที่สุด:
- แบบจำลองปัญหา;
- แบบจำลองน้ำตก (หรือระบบ) (70-85 ปี);
- แบบเกลียว (ปัจจุบัน)
แบบจำลองปัญหา
เมื่อพัฒนาระบบ "จากล่างขึ้นบน" จากงานแต่ละงานไปยังทั้งระบบ (แบบจำลองงาน) แนวทางเดียวในการพัฒนาจะหายไปอย่างหลีกเลี่ยงไม่ได้ปัญหาเกิดขึ้นในการเชื่อมต่อข้อมูลของส่วนประกอบแต่ละส่วน ตามกฎแล้วเมื่อจำนวนงานเพิ่มขึ้นความยากลำบากก็เพิ่มขึ้นคุณต้องเปลี่ยนแปลงโปรแกรมและโครงสร้างข้อมูลที่มีอยู่ตลอดเวลา อัตราการพัฒนาของระบบช้าลงซึ่งทำให้การพัฒนาองค์กรเองช้าลง อย่างไรก็ตามในบางกรณีเทคโนโลยีดังกล่าวอาจเหมาะสม:
- ความเร่งด่วนมาก (คุณต้องแก้ไขปัญหาอย่างใดจากนั้นคุณต้องทำทุกอย่างอีกครั้ง)
- การทดลองและการปรับตัวของลูกค้า (อัลกอริทึมไม่ชัดเจนการแก้ปัญหาถูกคลำโดยการลองผิดลองถูก)
ข้อสรุปทั่วไป: เป็นไปไม่ได้ที่จะสร้างระบบข้อมูลที่มีประสิทธิภาพขนาดใหญ่เพียงพอด้วยวิธีนี้
แบบจำลอง Cascade
แบบจำลอง Cascade วงจรชีวิตถูกเสนอในปี 1970 โดย Winston Royce จัดเตรียมการดำเนินการตามลำดับของทุกขั้นตอนของโครงการตามลำดับที่ตายตัวอย่างเคร่งครัด การเปลี่ยนไปสู่ขั้นตอนต่อไปหมายถึงการทำงานให้เสร็จสมบูรณ์ในขั้นตอนก่อนหน้า (รูปที่ 1) ข้อกำหนดซึ่งกำหนดในขั้นตอนของการสร้างข้อกำหนดได้รับการจัดทำเป็นเอกสารอย่างเคร่งครัดในรูปแบบของข้อกำหนดทางเทคนิคและได้รับการแก้ไขตลอดระยะเวลาของการพัฒนาโครงการ แต่ละขั้นตอนจบลงด้วยการเผยแพร่ชุดเอกสารที่สมบูรณ์เพียงพอสำหรับการพัฒนาที่จะดำเนินต่อไปโดยทีมพัฒนาอื่น
ประโยชน์ของการใช้วิธีน้ำตกมีดังนี้:
- ในแต่ละขั้นตอนจะมีการจัดทำเอกสารโครงการที่สมบูรณ์ซึ่งตรงตามเกณฑ์สำหรับความสมบูรณ์และความสอดคล้อง
- ขั้นตอนของงานที่ดำเนินการตามลำดับตรรกะช่วยให้คุณสามารถวางแผนเวลาที่งานทั้งหมดจะเสร็จสมบูรณ์และต้นทุนที่เกี่ยวข้อง
ขั้นตอนโครงการตามแบบจำลองน้ำตก:
- การก่อตัวของข้อกำหนด
- ออกแบบ;
- การดำเนินงาน;
- การทดสอบ;
- การดำเนินงาน;
- การดำเนินงานและการบำรุงรักษา.
รูปที่. 1. โครงการพัฒนาน้ำตก
แนวทางน้ำตกได้พิสูจน์ตัวเองเป็นอย่างดีเมื่อสร้างระบบข้อมูลซึ่งในช่วงเริ่มต้นของการพัฒนาข้อกำหนดทั้งหมดสามารถกำหนดได้อย่างถูกต้องและครบถ้วนเพียงพอเพื่อให้นักพัฒนามีอิสระในการนำไปใช้อย่างดีที่สุดจากมุมมองทางเทคนิค ระบบชำระบัญชีที่ซับซ้อนระบบเรียลไทม์และงานอื่น ๆ ที่คล้ายคลึงกันจัดอยู่ในหมวดหมู่นี้ อย่างไรก็ตามในกระบวนการใช้แนวทางนี้มีการค้นพบข้อบกพร่องหลายประการซึ่งส่วนใหญ่เกิดจากความจริงที่ว่ากระบวนการสร้างระบบที่แท้จริงไม่เคยพอดีกับรูปแบบที่เข้มงวดเช่นนี้ ในกระบวนการสร้างมีความจำเป็นอย่างต่อเนื่องที่จะต้องกลับไปที่ขั้นตอนก่อนหน้าและชี้แจงหรือแก้ไขการตัดสินใจก่อนหน้านี้ ด้วยเหตุนี้กระบวนการสร้างซอฟต์แวร์จริงจึงมีรูปแบบต่อไปนี้ (รูปที่ 2):
รูปที่. 2. ขั้นตอนที่แท้จริงของการพัฒนาซอฟต์แวร์ในรูปแบบน้ำตก
ข้อเสียเปรียบหลักของแนวทางน้ำตกคือความล่าช้าอย่างมีนัยสำคัญในการได้รับผลลัพธ์ ผลลัพธ์จะประสานงานกับผู้ใช้เฉพาะจุดที่วางแผนไว้หลังจากเสร็จสิ้นแต่ละขั้นตอนของการทำงานข้อกำหนดสำหรับระบบสารสนเทศจะถูก "หยุด" ในรูปแบบของงานด้านเทคนิคตลอดระยะเวลาที่สร้าง ดังนั้นผู้ใช้จะแสดงความคิดเห็นได้ก็ต่อเมื่องานในระบบเสร็จสมบูรณ์เท่านั้น ในกรณีของข้อกำหนดที่ไม่ถูกต้องหรือการเปลี่ยนแปลงในช่วงระยะเวลานานของการพัฒนาซอฟต์แวร์ผู้ใช้จะได้รับระบบที่ไม่ตรงตามความต้องการ โมเดล (ทั้งที่ใช้งานได้และให้ข้อมูล) ของอ็อบเจ็กต์อัตโนมัติอาจล้าสมัยไปพร้อม ๆ กันเมื่อได้รับการอนุมัติ สาระสำคัญของแนวทางที่เป็นระบบในการพัฒนา IS อยู่ที่การสลายตัว (พาร์ติชัน) เป็นฟังก์ชันอัตโนมัติ: ระบบแบ่งออกเป็นระบบย่อยที่ใช้งานได้ซึ่งจะแบ่งออกเป็นฟังก์ชันย่อยแบ่งย่อยออกเป็นงานและอื่น ๆ กระบวนการแบ่งพาร์ติชันจะดำเนินต่อไปจนถึงขั้นตอนเฉพาะ ในขณะเดียวกันระบบอัตโนมัติจะรักษามุมมองแบบองค์รวมซึ่งส่วนประกอบที่เป็นส่วนประกอบทั้งหมดเชื่อมต่อกัน ดังนั้นรุ่นนี้จึงมีข้อได้เปรียบหลักของการพัฒนาอย่างเป็นระบบและข้อเสียเปรียบหลักคือช้าและมีราคาแพง
แบบจำลองเกลียว
เพื่อเอาชนะปัญหาที่ระบุไว้จึงเสนอ แบบเกลียว วงจรชีวิต (รูปที่ 3) ซึ่งได้รับการพัฒนาในช่วงกลางทศวรรษที่ 1980 โดย Barry Boehm ขึ้นอยู่กับขั้นตอนเริ่มต้นของวงจรชีวิต: การวิเคราะห์และการออกแบบ ในขั้นตอนเหล่านี้ความเป็นไปได้ของโซลูชันทางเทคนิคจะได้รับการตรวจสอบโดยการสร้างต้นแบบ
แบบเดิม - ส่วนประกอบซอฟต์แวร์ที่ใช้งานอยู่ซึ่งใช้ฟังก์ชันส่วนบุคคลและอินเทอร์เฟซภายนอก การทำซ้ำแต่ละครั้งจะสอดคล้องกับการสร้างส่วนหรือเวอร์ชันของซอฟต์แวร์ซึ่งมีการระบุเป้าหมายและลักษณะของโครงการคุณภาพของผลลัพธ์ที่ได้รับจะได้รับการประเมินและมีการวางแผนงานของการทำซ้ำครั้งต่อไป
การวนซ้ำแต่ละครั้งแสดงถึงวงจรการพัฒนาที่สมบูรณ์ซึ่งนำไปสู่การเปิดตัวผลิตภัณฑ์เวอร์ชันภายในหรือภายนอก (หรือส่วนย่อยของผลิตภัณฑ์ขั้นสุดท้าย) ซึ่งปรับปรุงจากการทำซ้ำเป็นการทำซ้ำเพื่อให้กลายเป็นระบบที่สมบูรณ์
การหมุนเกลียวแต่ละครั้งจะสอดคล้องกับการสร้างชิ้นส่วนหรือเวอร์ชันของซอฟต์แวร์มีการระบุเป้าหมายและลักษณะของโครงการคุณภาพของมันจะถูกกำหนดและมีการวางแผนการทำงานของเกลียวต่อไป ดังนั้นรายละเอียดของโครงการจึงมีความลึกและมีการระบุอย่างสม่ำเสมอและด้วยเหตุนี้จึงมีการเลือกตัวเลือกที่เหมาะสมซึ่งจะนำไปสู่การปฏิบัติ
การพัฒนาโดยการทำซ้ำสะท้อนถึงวัฏจักรของการสร้างระบบที่มีอยู่อย่างเป็นกลาง การทำงานไม่เสร็จสมบูรณ์ในแต่ละขั้นตอนช่วยให้คุณก้าวไปสู่ขั้นต่อไปได้โดยไม่ต้องรอให้งานเสร็จสมบูรณ์ในขั้นตอนปัจจุบัน ด้วยวิธีการพัฒนาแบบวนซ้ำงานที่ขาดหายไปสามารถทำได้ในการทำซ้ำครั้งถัดไป งานหลักคือการแสดงให้ผู้ใช้ระบบทราบถึงผลิตภัณฑ์ที่ใช้งานได้โดยเร็วที่สุดซึ่งจะเปิดใช้งานกระบวนการระบุและเสริมข้อกำหนด
ปัญหาหลักของวงรอบเกลียวคือการกำหนดว่าเมื่อใดที่จะก้าวไปสู่ขั้นต่อไป ในการแก้ปัญหานี้จำเป็นต้องมีการ จำกัด เวลาสำหรับแต่ละขั้นตอนของวงจรชีวิต การเปลี่ยนแปลงกำลังดำเนินไปตามแผนที่วางไว้แม้ว่างานที่วางแผนไว้จะไม่เสร็จสมบูรณ์ทั้งหมดก็ตาม แผนดังกล่าวร่างขึ้นบนพื้นฐานของข้อมูลทางสถิติที่ได้รับในโครงการก่อนหน้านี้และประสบการณ์ส่วนตัวของนักพัฒนา
รูปที่ 3 แบบจำลองวงจรชีวิตแบบเกลียว IS
แนวทางหนึ่งที่เป็นไปได้ในการพัฒนาซอฟต์แวร์ภายใต้กรอบของแบบจำลองวัฏจักรชีวิตแบบเกลียวคือวิธีการที่แพร่หลายเมื่อเร็ว ๆ นี้ในการพัฒนาแอปพลิเคชันอย่างรวดเร็ว RAD (Rapid Application Development) คำนี้มักหมายถึงกระบวนการพัฒนาซอฟต์แวร์ที่ประกอบด้วย 3 องค์ประกอบ:
- ทีมโปรแกรมเมอร์ขนาดเล็ก (ตั้งแต่ 2 ถึง 10 คน)
- ตารางการผลิตสั้น แต่มีการพัฒนาอย่างดี (ตั้งแต่ 2 ถึง 6 เดือน)
- วงจรซ้ำซากที่นักพัฒนาเมื่อแอปพลิเคชันเริ่มเป็นรูปเป็นร่างขอและนำไปใช้ในผลิตภัณฑ์ตามข้อกำหนดที่ได้รับจากการโต้ตอบกับลูกค้า
วงจรชีวิตของซอฟต์แวร์ RAD ประกอบด้วยสี่ขั้นตอน:
- ข้อกำหนดและขั้นตอนการวิเคราะห์ข้อกำหนด
- ขั้นตอนการออกแบบ
- ขั้นตอนการดำเนินการ
- ขั้นตอนการดำเนินการ
ในการทำซ้ำแต่ละครั้งจะมีการประเมินสิ่งต่อไปนี้:
- ความเสี่ยงที่จะเกินข้อกำหนดและต้นทุนของโครงการ
- จำเป็นต้องทำซ้ำอีกครั้ง
- ระดับความสมบูรณ์และความถูกต้องของการทำความเข้าใจข้อกำหนดสำหรับระบบ
- ความเป็นไปได้ในการยุติโครงการ
ข้อดีของวิธีการทำซ้ำ:
- การพัฒนาซ้ำช่วยลดความยุ่งยากในการเปลี่ยนแปลงโครงการเมื่อความต้องการของลูกค้าเปลี่ยนไป
- เมื่อใช้แบบจำลองเกลียวองค์ประกอบแต่ละส่วนของระบบข้อมูลจะค่อยๆรวมเข้าเป็นส่วนเดียว ด้วยวิธีการวนซ้ำการผสานรวมจึงแทบจะต่อเนื่อง เนื่องจากการรวมเริ่มต้นด้วยองค์ประกอบที่น้อยลงจึงมีปัญหาน้อยลงมากในระหว่างการใช้งาน (ตามการประมาณการบางอย่างเมื่อใช้รูปแบบการพัฒนาแบบน้ำตกการรวมจะใช้เวลาถึง 40% ของต้นทุนทั้งหมดเมื่อสิ้นสุดโครงการ)
- การพัฒนาซ้ำให้ความยืดหยุ่นมากขึ้นในการจัดการโครงการโดยอนุญาตให้มีการเปลี่ยนแปลงทางยุทธวิธีกับผลิตภัณฑ์ที่กำลังพัฒนา
- วิธีการทำซ้ำช่วยลดความยุ่งยากในการนำส่วนประกอบกลับมาใช้ใหม่ (ใช้วิธีการเขียนโปรแกรมส่วนประกอบ) นี่เป็นเพราะการระบุ (ระบุ) ส่วนทั่วไปของโครงการได้ง่ายกว่ามากเมื่อมีการพัฒนาไปแล้วบางส่วนมากกว่าการพยายามแยกออกจากกันในช่วงเริ่มต้นของโครงการ การวิเคราะห์โครงการหลังจากการทำซ้ำครั้งแรกหลายครั้งเผยให้เห็นส่วนประกอบที่ใช้ซ้ำได้ทั่วไปซึ่งจะได้รับการปรับปรุงในการทำซ้ำในภายหลัง
- แบบจำลองเกลียวช่วยให้ระบบมีเสถียรภาพและเชื่อถือได้มากขึ้น เนื่องจากระบบมีการพัฒนาขึ้นเรื่อย ๆ ข้อผิดพลาดและจุดอ่อนจะถูกค้นพบและแก้ไขในการทำซ้ำแต่ละครั้ง ในขณะเดียวกันสามารถปรับพารามิเตอร์ประสิทธิภาพที่สำคัญได้ซึ่งในกรณีของแบบจำลองน้ำตกจะใช้ได้เฉพาะก่อนการใช้งานระบบ
- แนวทางการทำซ้ำให้โอกาสในการปรับปรุงกระบวนการพัฒนา - การวิเคราะห์ที่ดำเนินการในตอนท้ายของการทำซ้ำแต่ละครั้งช่วยให้สามารถประเมินสิ่งที่ต้องเปลี่ยนแปลงในองค์กรการพัฒนาและการปรับปรุงในการทำซ้ำครั้งต่อไป
แนวคิดของวงจรชีวิตซอฟต์แวร์ (software life cycle) เป็นแนวคิดพื้นฐานประการหนึ่งในวิศวกรรมซอฟต์แวร์ วงจรชีวิต หมายถึงช่วงเวลาที่เริ่มต้นจากช่วงเวลาที่มีการตัดสินใจเกี่ยวกับความจำเป็นในการสร้างซอฟต์แวร์และสิ้นสุดลงในเวลาที่ถอนตัวออกจากบริการโดยสมบูรณ์
ตามมาตรฐาน ISO / IEC 12207 กระบวนการของวงจรชีวิตทั้งหมดแบ่งออกเป็นสามกลุ่ม (รูปที่ 2.1)
ภายใต้ แบบจำลองวงจรชีวิต ซอฟต์แวร์ถูกเข้าใจว่าเป็นโครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ของกระบวนการการกระทำและงานตลอดวงจรชีวิต ขึ้นอยู่กับลักษณะเฉพาะขนาดและความซับซ้อนของโครงการและลักษณะเฉพาะของเงื่อนไขที่ระบบถูกสร้างขึ้นและหน้าที่ วงจรชีวิตของซอฟต์แวร์มักประกอบด้วยขั้นตอนต่อไปนี้:
1. การสร้างข้อกำหนดซอฟต์แวร์
2. การออกแบบ
3. การนำไปใช้.
4. การทดสอบ
5. การว่าจ้าง
6. การดำเนินการและการบำรุงรักษา
7. การรื้อถอน
ปัจจุบันวงจรการใช้งานซอฟต์แวร์รุ่นพื้นฐานต่อไปนี้ถูกใช้กันอย่างแพร่หลายมากที่สุด:
ก) เรียงซ้อนและ
b) เกลียว (วิวัฒนาการ)
ครั้งแรกใช้สำหรับโปรแกรมที่มีขนาดเล็กซึ่งเป็นตัวแทนของทั้งหมดเดียว คุณสมบัติหลัก แนวทางน้ำตก คือการเปลี่ยนไปสู่ขั้นตอนต่อไปจะดำเนินการหลังจากงานในขั้นตอนปัจจุบันเสร็จสมบูรณ์แล้วเท่านั้นและจะไม่มีการกลับไปยังขั้นตอนที่ผ่านไป แผนภาพแสดงในรูปที่ 2.2
ข้อดีของการใช้แบบจำลองน้ำตกมีดังนี้:
ในแต่ละขั้นตอนจะมีการสร้างชุดเอกสารการออกแบบที่สมบูรณ์
ขั้นตอนของงานที่ดำเนินการช่วยให้คุณสามารถวางแผนวันที่จะเสร็จสิ้นและค่าใช้จ่ายที่เกี่ยวข้องได้
แบบจำลองนี้ใช้สำหรับระบบที่สามารถกำหนดความต้องการทั้งหมดได้อย่างแม่นยำในช่วงเริ่มต้นของการพัฒนา สิ่งเหล่านี้รวมถึงระบบซึ่งส่วนใหญ่แล้วปัญหาประเภทการคำนวณจะได้รับการแก้ไข กระบวนการจริงมักมีลักษณะซ้ำ ๆ : ผลลัพธ์ของขั้นตอนต่อไปมักทำให้เกิดการเปลี่ยนแปลงในโซลูชันการออกแบบที่พัฒนาขึ้นในขั้นตอนก่อนหน้านี้ ดังนั้นโมเดลที่ใช้กันทั่วไปคือการควบคุมระดับกลางซึ่งแสดงในรูปที่ 2.3
ข้อเสียเปรียบหลักของแนวทางน้ำตกคือความล่าช้าอย่างมีนัยสำคัญในการได้รับผลลัพธ์และเป็นผลให้มีความเสี่ยงค่อนข้างสูงในการสร้างระบบที่ไม่ตรงกับความต้องการที่เปลี่ยนแปลงไปของผู้ใช้
ปัญหาเหล่านี้ได้รับการแก้ไขใน แบบจำลองวงจรชีวิตแบบเกลียว (รูปที่ 2.4) คุณสมบัติพื้นฐานของมันคือซอฟต์แวร์แอพพลิเคชั่นไม่ได้ถูกสร้างขึ้นในทันทีเช่นเดียวกับในกรณีของการเข้าใกล้น้ำตก แต่เป็นส่วนที่ใช้วิธีการ การสร้างต้นแบบ ... ต้นแบบถูกเข้าใจว่าเป็นส่วนประกอบซอฟต์แวร์ที่ใช้งานอยู่ซึ่งใช้ฟังก์ชันส่วนบุคคลและอินเทอร์เฟซภายนอกของซอฟต์แวร์ที่กำลังพัฒนา การสร้างต้นแบบทำได้หลายครั้ง - หมุนเกลียว
แบบจำลองน้ำตก (วิวัฒนาการ) สามารถแสดงในรูปแบบของแผนภาพซึ่งแสดงในรูปที่ 2.5
หนึ่งในผลลัพธ์ของการใช้แบบจำลองวงจรชีวิตแบบเกลียวเป็นวิธีที่ใช้กันอย่างแพร่หลายในสิ่งที่เรียกว่า การพัฒนาแอปพลิเคชันอย่างรวดเร็ว , หรือ RAD (การพัฒนาแอปพลิเคชันอย่างรวดเร็ว) ตามวิธีนี้วงจรชีวิตของซอฟต์แวร์ประกอบด้วยสี่ขั้นตอน:
1) การวิเคราะห์และการวางแผนข้อกำหนด
2) การออกแบบ;
3) การใช้งาน;
4) การใช้งาน
การวิเคราะห์วงจรชีวิตของโปรแกรมช่วยให้คุณสามารถชี้แจงเนื้อหาและเน้นกระบวนการออกแบบระบบที่ซับซ้อนต่อไปนี้
1) กลยุทธ์;
2) การวิเคราะห์;
3) การออกแบบ;
4) การดำเนินการ;
5) การทดสอบ;
6) การดำเนินการ;
7) การดำเนินการและการสนับสนุนทางเทคนิค
กลยุทธ์
การกำหนดกลยุทธ์เกี่ยวข้องกับการตรวจสอบระบบ ภารกิจหลักของการสำรวจคือการประเมินปริมาณที่แท้จริงของโครงการเป้าหมายและวัตถุประสงค์รวมทั้งเพื่อให้ได้คำจำกัดความของหน่วยงานและหน้าที่ในระดับสูง ในขั้นตอนนี้นักวิเคราะห์ธุรกิจที่มีคุณสมบัติสูงจะเกี่ยวข้องซึ่งสามารถเข้าถึงการจัดการของ บริษัท ได้ตลอด นอกจากนี้คาดว่าจะมีปฏิสัมพันธ์อย่างใกล้ชิดกับผู้ใช้หลักของระบบและผู้เชี่ยวชาญทางธุรกิจ งานหลักของการโต้ตอบดังกล่าวคือการได้รับข้อมูลที่สมบูรณ์เกี่ยวกับระบบให้มากที่สุดเพื่อทำความเข้าใจความต้องการของลูกค้าอย่างชัดเจนและเพื่อถ่ายโอนข้อมูลที่ได้รับในรูปแบบที่เป็นทางการไปยังนักวิเคราะห์ระบบ โดยปกติข้อมูลเกี่ยวกับระบบสามารถหาได้จากการสนทนา (หรือสัมมนา) กับฝ่ายบริหารผู้เชี่ยวชาญและผู้ใช้
ผลลัพธ์ของขั้นตอนการกำหนดกลยุทธ์คือเอกสารที่มีการกำหนดขั้นตอนต่อไปนี้อย่างชัดเจน:
ลูกค้าเกิดจากอะไรหากเขาตกลงที่จะจัดหาเงินทุนให้กับโครงการ
เขาจะสามารถรับผลิตภัณฑ์สำเร็จรูปได้เมื่อใด (ตารางการทำงาน)
เขาต้องเสียค่าใช้จ่ายเท่าไร (กำหนดการขั้นตอนการจัดหาเงินทุนสำหรับโครงการขนาดใหญ่)
เอกสารควรสะท้อนถึงต้นทุนไม่เพียงเท่านั้น แต่ยังรวมถึงประโยชน์เช่นระยะเวลาคืนทุนของโครงการผลกระทบทางเศรษฐกิจที่คาดว่าจะได้รับ (หากสามารถประมาณได้)
ขั้นตอนที่พิจารณาของวงจรชีวิตซอฟต์แวร์สามารถแสดงในแบบจำลองได้เพียงครั้งเดียวโดยเฉพาะอย่างยิ่งหากโมเดลมีโครงสร้างแบบวัฏจักร นี่ไม่ได้หมายความว่าการวางแผนเชิงกลยุทธ์ในแบบจำลองวัฏจักรจะทำครั้งแล้วครั้งเล่า ในรูปแบบดังกล่าวขั้นตอนของการกำหนดกลยุทธ์และการวิเคราะห์คือการรวมกันและการแยกออกจากกันมีอยู่ในขั้นตอนแรกเท่านั้นเมื่อผู้บริหารขององค์กรทำการตัดสินใจพื้นฐานเกี่ยวกับการเริ่มต้นโครงการ โดยทั่วไปขั้นตอนเชิงกลยุทธ์จะมุ่งเน้นไปที่การพัฒนาเอกสารในระดับการจัดการองค์กร
ขั้นตอนการวิเคราะห์เกี่ยวข้องกับการศึกษากระบวนการทางธุรกิจโดยละเอียด (ฟังก์ชันที่กำหนดไว้ในขั้นตอนก่อนหน้า) และข้อมูลที่จำเป็นสำหรับการนำไปใช้งาน (เอนทิตีคุณลักษณะและความสัมพันธ์ (ความสัมพันธ์)) ขั้นตอนนี้จัดเตรียมแบบจำลองข้อมูลและขั้นตอนการออกแบบถัดไปคือแบบจำลองข้อมูล
ข้อมูลทั้งหมดเกี่ยวกับระบบที่รวบรวมในขั้นตอนของการกำหนดกลยุทธ์จะถูกทำให้เป็นทางการและได้รับการปรับแต่งในขั้นตอนของการวิเคราะห์ ความสนใจเป็นพิเศษจะจ่ายให้กับความครบถ้วนสมบูรณ์ของข้อมูลที่ได้รับการวิเคราะห์เพื่อความสอดคล้องตลอดจนการค้นหาข้อมูลที่ไม่ได้ใช้หรือซ้ำกัน ตามกฎแล้วลูกค้าจะสร้างข้อกำหนดก่อนไม่ใช่สำหรับระบบโดยรวม แต่สำหรับส่วนประกอบแต่ละส่วน และในกรณีนี้โดยเฉพาะอย่างยิ่งแบบจำลองวัฏจักรของวงจรชีวิตซอฟต์แวร์มีข้อได้เปรียบเนื่องจากเมื่อเวลาผ่านไปมีความเป็นไปได้สูงที่จะต้องมีการวิเคราะห์ซ้ำเนื่องจากลูกค้ามักจะมีความอยากกิน ในขั้นตอนเดียวกันจะมีการกำหนดองค์ประกอบที่จำเป็นของแผนการทดสอบ
นักวิเคราะห์รวบรวมและบันทึกข้อมูลในสองรูปแบบที่สัมพันธ์กัน:
ก) ฟังก์ชัน - ข้อมูลเกี่ยวกับเหตุการณ์และกระบวนการที่เกิดขึ้นในธุรกิจ
b) เอนทิตี - ข้อมูลเกี่ยวกับรายการที่เกี่ยวข้องกับองค์กรและสิ่งที่เป็นที่รู้จัก
สร้างไดอะแกรมของส่วนประกอบกระแสข้อมูลและวงจรชีวิตที่อธิบายถึงพลวัตของระบบ พวกเขาจะกล่าวถึงในภายหลัง
ออกแบบ
ในขั้นตอนการออกแบบโมเดลข้อมูลจะถูกสร้างขึ้น นักออกแบบประมวลผลข้อมูลการวิเคราะห์ ผลิตภัณฑ์สุดท้ายของเฟสการออกแบบคือสคีมาฐานข้อมูล (ถ้ามีอยู่ในโครงการ) หรือสคีมาคลังข้อมูล (แบบจำลอง ER) และชุดข้อมูลจำเพาะโมดูลระบบ (แบบจำลองฟังก์ชัน)
ในโครงการขนาดเล็ก (เช่นในโครงการหลักสูตร) \u200b\u200bคนกลุ่มเดียวกันสามารถทำหน้าที่เป็นนักวิเคราะห์นักออกแบบและนักพัฒนาได้ แผนผังและแบบจำลองที่ระบุไว้ข้างต้นช่วยในการค้นหาตัวอย่างเช่นไม่ได้อธิบายไว้เลยอธิบายอย่างคลุมเครือส่วนประกอบของระบบที่อธิบายไว้ขัดแย้งกันและข้อบกพร่องอื่น ๆ ซึ่งช่วยป้องกันข้อผิดพลาดที่อาจเกิดขึ้น
ข้อมูลจำเพาะทั้งหมดต้องถูกต้องมาก แผนการทดสอบระบบยังอยู่ระหว่างการสรุปในขั้นตอนของการพัฒนานี้ ในหลาย ๆ โครงการผลลัพธ์ของขั้นตอนการออกแบบจะถูกบันทึกไว้ในเอกสารเดียว - ข้อกำหนดทางเทคนิคที่เรียกว่า ในเวลาเดียวกัน UML ถูกใช้อย่างกว้างขวางซึ่งช่วยให้คุณได้รับเอกสารการวิเคราะห์ทั้งสองแบบที่มีรายละเอียดน้อย (ผู้บริโภคเป็นผู้จัดการฝ่ายผลิต) และเอกสารการออกแบบพร้อมกัน (ผู้บริโภคเป็นผู้จัดการฝ่ายพัฒนาและกลุ่มทดสอบ) ภาษานี้จะกล่าวถึงในภายหลัง ซอฟต์แวร์ที่สร้างขึ้นโดยใช้ UML ช่วยให้สร้างโค้ดได้ง่ายขึ้น - อย่างน้อยก็คือลำดับชั้นของคลาสเช่นเดียวกับบางส่วนของโค้ดของวิธีการ (ขั้นตอนและฟังก์ชัน) ด้วยตัวเอง
งานออกแบบคือ:
การตรวจสอบผลการวิเคราะห์และการตรวจสอบความสมบูรณ์
สัมมนากับลูกค้า
การระบุประเด็นสำคัญของโครงการและการประเมินข้อ จำกัด
การกำหนดสถาปัตยกรรมระบบ
การตัดสินใจเกี่ยวกับการใช้ผลิตภัณฑ์ของบุคคลที่สามตลอดจนวิธีการรวมและกลไกในการแลกเปลี่ยนข้อมูลกับผลิตภัณฑ์เหล่านี้
การออกแบบคลังข้อมูล: แบบจำลองฐานข้อมูล;
การออกแบบกระบวนการและโค้ด: การเลือกเครื่องมือพัฒนาขั้นสุดท้ายคำจำกัดความของอินเตอร์เฟสโปรแกรมการแมปฟังก์ชันระบบกับโมดูลและคำจำกัดความของข้อกำหนดของโมดูล
การกำหนดข้อกำหนดสำหรับกระบวนการทดสอบ
การกำหนดข้อกำหนดด้านความปลอดภัยของระบบ
การดำเนินงาน
เมื่อดำเนินโครงการเป็นสิ่งสำคัญอย่างยิ่งในการประสานงานกับทีมพัฒนา นักพัฒนาทุกคนต้องปฏิบัติตามแนวทางการควบคุมแหล่งที่มาอย่างเคร่งครัด หลังจากได้รับโครงการทางเทคนิคแล้วพวกเขาก็เริ่มเขียนโค้ดโมดูล งานหลักของนักพัฒนาคือการทำความเข้าใจข้อกำหนด: นักออกแบบเขียนสิ่งที่ต้องทำและนักพัฒนาจะกำหนดวิธีการทำ
ในระหว่างขั้นตอนการพัฒนามีปฏิสัมพันธ์อย่างใกล้ชิดระหว่างนักออกแบบนักพัฒนาและทีมทดสอบ ในกรณีของการพัฒนาอย่างเข้มข้นผู้ทดสอบไม่สามารถแยกออกจากนักพัฒนาได้อย่างแท้จริงกลายเป็นสมาชิกของทีมพัฒนาได้อย่างมีประสิทธิภาพ
บ่อยครั้งที่อินเทอร์เฟซผู้ใช้เปลี่ยนไปในระหว่างขั้นตอนการพัฒนา เนื่องจากมีการสาธิตโมดูลให้ลูกค้าทราบเป็นระยะ นอกจากนี้ยังสามารถแก้ไขการสืบค้นข้อมูลได้อย่างมาก
ขั้นตอนการพัฒนาเกี่ยวข้องกับขั้นตอนการทดสอบและกระบวนการทั้งสองทำงานแบบขนานกัน ระบบติดตามข้อบกพร่องจะซิงโครไนซ์การดำเนินการของผู้ทดสอบและนักพัฒนา
ข้อผิดพลาดควรถูกจัดประเภทตามลำดับความสำคัญ สำหรับข้อผิดพลาดแต่ละคลาสควรกำหนดโครงสร้างที่ชัดเจนของการกระทำ: "สิ่งที่ต้องทำ" "เร่งด่วนเพียงใด" "ใครเป็นผู้รับผิดชอบต่อผลลัพธ์" แต่ละปัญหาควรได้รับการติดตามโดยนักออกแบบ / ผู้พัฒนา / ผู้ทดสอบที่รับผิดชอบในการแก้ไข เช่นเดียวกับสถานการณ์เมื่อมีการละเมิดข้อกำหนดในการพัฒนาที่วางแผนไว้และการส่งโมดูลสำหรับการทดสอบ
นอกจากนี้ควรจัดระเบียบที่เก็บของโมดูลโครงการสำเร็จรูปและไลบรารีที่ใช้เมื่อประกอบโมดูล ที่เก็บนี้ได้รับการอัปเดตอย่างต่อเนื่อง บุคคลหนึ่งควรดูแลกระบวนการอัปเดต ที่เก็บหนึ่งถูกสร้างขึ้นสำหรับโมดูลที่ผ่านการทดสอบการทำงานส่วนที่สองใช้สำหรับโมดูลที่ผ่านการทดสอบลิงก์ อย่างแรกคือแบบร่างอย่างที่สองคือสิ่งที่คุณสามารถรวบรวมการกระจายของระบบและแสดงให้ลูกค้าเห็นเพื่อทดสอบการควบคุมหรือสำหรับการส่งมอบงานในทุกขั้นตอน
การทดสอบ
ทีมทดสอบสามารถมีส่วนร่วมในการทำงานร่วมกันในช่วงต้นของการพัฒนาโครงการ โดยปกติการทดสอบที่ซับซ้อนจะแยกออกเป็นขั้นตอนการพัฒนาแยกต่างหาก ขึ้นอยู่กับความซับซ้อนของโครงการการทดสอบและแก้ไขข้อผิดพลาดอาจใช้เวลาสามถึงครึ่งของเวลาโครงการทั้งหมดหรือมากกว่านั้น
ยิ่งโครงการมีความซับซ้อนมากขึ้นความจำเป็นในการทำให้ระบบติดตามข้อบกพร่องโดยอัตโนมัติมากขึ้นซึ่งมีฟังก์ชันต่อไปนี้:
การจัดเก็บข้อความแสดงข้อผิดพลาด (องค์ประกอบใดของระบบที่ข้อผิดพลาดเป็นของผู้ที่พบวิธีการสร้างซ้ำใครเป็นผู้รับผิดชอบในการแก้ไขเมื่อควรแก้ไข)
ระบบแจ้งเตือนเกี่ยวกับข้อผิดพลาดใหม่เกี่ยวกับการเปลี่ยนแปลงสถานะข้อผิดพลาดที่ทราบในระบบ (การแจ้งเตือนทางอีเมล)
รายงานข้อผิดพลาดที่เกิดขึ้นจริงตามส่วนประกอบของระบบ
ข้อมูลเกี่ยวกับข้อผิดพลาดและประวัติ
กฎสำหรับการเข้าถึงข้อผิดพลาดของบางประเภท
ระบบติดตามข้อผิดพลาดอินเทอร์เฟซการเข้าถึงที่ จำกัด สำหรับผู้ใช้ปลายทาง
ระบบดังกล่าวมีปัญหาในองค์กรมากมายโดยเฉพาะปัญหาการแจ้งเตือนข้อผิดพลาดอัตโนมัติ
การทดสอบระบบจริงมักแบ่งออกเป็นหลายประเภท:
ก) การทดสอบออฟไลน์ โมดูล; มีการใช้งานอยู่แล้วในขั้นตอนของการพัฒนาส่วนประกอบของระบบและอนุญาตให้ติดตามข้อผิดพลาดของแต่ละองค์ประกอบ
ข) การทดสอบลิงก์ ส่วนประกอบของระบบ การทดสอบเหล่านี้ยังใช้ในขั้นตอนการพัฒนาซึ่งช่วยให้คุณสามารถตรวจสอบการโต้ตอบที่ถูกต้องและการแลกเปลี่ยนข้อมูลระหว่างส่วนประกอบของระบบ
ค) การทดสอบระบบ; เป็นเกณฑ์หลักสำหรับการยอมรับระบบ โดยทั่วไปแล้วนี่คือกลุ่มของการทดสอบที่มีทั้งการทดสอบแบบสแตนด์อโลนและการทดสอบการเชื่อมโยงและแบบจำลอง การทดสอบดังกล่าวควรจำลองการทำงานของส่วนประกอบและฟังก์ชันทั้งหมดของระบบ เป้าหมายหลักคือการยอมรับระบบภายในและการประเมินคุณภาพของระบบ
ง) การทดสอบการยอมรับ; จุดประสงค์หลักคือการส่งมอบระบบให้กับลูกค้า
จ) การทดสอบประสิทธิภาพและโหลด; การทดสอบกลุ่มนี้รวมอยู่ในระบบเธอคือผู้ที่เป็นกลุ่มหลักในการประเมินความน่าเชื่อถือของระบบ
แต่ละกลุ่มจำเป็นต้องมีการทดสอบความล้มเหลวในการสร้างแบบจำลอง พวกเขาตรวจสอบการตอบสนองขององค์ประกอบกลุ่มของส่วนประกอบและระบบโดยรวมต่อความล้มเหลวต่อไปนี้:
องค์ประกอบแยกต่างหากของระบบสารสนเทศ
กลุ่มส่วนประกอบของระบบ
โมดูลหลักของระบบ
ระบบปฏิบัติการ;
ฮาร์ดล้มเหลว (ไฟฟ้าดับฮาร์ดไดรฟ์)
การทดสอบเหล่านี้ทำให้สามารถประเมินคุณภาพของระบบย่อยในการฟื้นฟูสถานะที่ถูกต้องของระบบข้อมูลและเป็นแหล่งข้อมูลหลักในการพัฒนากลยุทธ์เพื่อป้องกันผลกระทบเชิงลบจากความล้มเหลวในระหว่างการดำเนินงานในอุตสาหกรรม
สิ่งสำคัญอีกประการหนึ่งของโปรแกรมการทดสอบระบบสารสนเทศคือความพร้อมของเครื่องกำเนิดข้อมูลทดสอบ ใช้เพื่อทดสอบการทำงานความน่าเชื่อถือและประสิทธิภาพของระบบ เป็นไปไม่ได้ที่จะแก้ปัญหาในการประเมินลักษณะของการพึ่งพาประสิทธิภาพของระบบสารสนเทศต่อการเติบโตของปริมาณข้อมูลที่ประมวลผลโดยไม่มีตัวสร้างข้อมูล
การดำเนินงาน
การดำเนินการทดลองซ้อนทับขั้นตอนการทดสอบ ระบบไม่ค่อยมีการนำไปใช้อย่างเต็มที่ โดยทั่วไปนี่เป็นกระบวนการแบบค่อยเป็นค่อยไปหรือวนซ้ำ (ในกรณีของวงจรชีวิตที่เป็นวัฏจักร)
การว่าจ้างต้องผ่านอย่างน้อยสามขั้นตอน:
2) การสะสมข้อมูล;
3) ถึงขีดความสามารถในการออกแบบ (นั่นคือการเปลี่ยนไปสู่ขั้นตอนการปฏิบัติงานจริง)
ข้อมูลอาจทำให้เกิดข้อผิดพลาดค่อนข้างแคบ: ส่วนใหญ่ข้อมูลไม่ตรงกันระหว่างการโหลดและข้อผิดพลาดของตัวโหลดบูต วิธีการควบคุมคุณภาพข้อมูลถูกใช้เพื่อระบุและกำจัดสิ่งเหล่านี้ ข้อผิดพลาดดังกล่าวจะต้องได้รับการแก้ไขโดยเร็วที่สุดในช่วงระยะเวลา การสะสมข้อมูล ระบบข้อมูลตรวจพบข้อผิดพลาดจำนวนมากที่สุดที่เกี่ยวข้องกับการเข้าถึงของผู้ใช้หลายคน ประเภทที่สองของการแก้ไขเกี่ยวข้องกับการที่ผู้ใช้ไม่พอใจกับอินเทอร์เฟซ ในขณะเดียวกันแบบจำลองข้อเสนอแนะแบบวัฏจักรและระยะสามารถลดต้นทุนได้ ขั้นตอนนี้เป็นการทดสอบที่ร้ายแรงที่สุดเช่นกันนั่นคือการทดสอบการยอมรับของลูกค้า
ระบบถึงขีดความสามารถในการออกแบบ ในทางที่ดีเป็นการปรับความผิดพลาดเล็กน้อยและความผิดพลาดร้ายแรงที่หายาก
การดำเนินการและการสนับสนุนทางเทคนิค
ในขั้นตอนนี้เอกสารสุดท้ายสำหรับนักพัฒนาคือใบรับรองการยอมรับทางเทคนิค เอกสารระบุบุคลากรที่ต้องการและอุปกรณ์ที่จำเป็นเพื่อสนับสนุนการทำงานของระบบตลอดจนเงื่อนไขในการขัดขวางการทำงานของผลิตภัณฑ์และความรับผิดชอบของคู่สัญญา นอกจากนี้เงื่อนไขของการสนับสนุนทางเทคนิคมักจะร่างขึ้นเป็นเอกสารแยกต่างหาก