วัฏจักรชีวิตของซอฟต์แวร์ - ระยะเวลาที่เริ่มต้นจากช่วงเวลาที่ตัดสินใจเกี่ยวกับความจำเป็นในการสร้างผลิตภัณฑ์ซอฟต์แวร์และสิ้นสุดเมื่อเลิกใช้งานโดยสมบูรณ์
กระบวนการวงจรชีวิตซอฟต์แวร์:
ขั้นพื้นฐาน,
เสริม
องค์กร.
หลัก:
1. การได้มา - การดำเนินการและงานของลูกค้าที่ซื้อซอฟต์แวร์
2. การส่งมอบ - กิจกรรมและงานของซัพพลายเออร์ที่จัดหาผลิตภัณฑ์หรือบริการซอฟต์แวร์ให้กับลูกค้า
3. การพัฒนา - การดำเนินการและงานที่ดำเนินการโดยนักพัฒนา: การสร้างซอฟต์แวร์ การดำเนินการของเอกสารการออกแบบและการปฏิบัติงาน การจัดเตรียมเอกสารการทดสอบและการฝึกอบรม
4. การดำเนินงาน - การกระทำและงานของผู้ปฏิบัติงานขององค์กรที่ใช้ระบบ
5. การบำรุงรักษา - การเปลี่ยนแปลงซอฟต์แวร์เพื่อแก้ไขข้อผิดพลาด ปรับปรุงประสิทธิภาพ หรือปรับให้เข้ากับสภาพการทำงานหรือข้อกำหนดที่เปลี่ยนแปลงไป
เสริม:
1. เอกสารประกอบ - คำอธิบายอย่างเป็นทางการของข้อมูลที่สร้างขึ้นระหว่างวงจรชีวิตของซอฟต์แวร์
2. การจัดการการกำหนดค่า - การประยุกต์ใช้ขั้นตอนการบริหารและทางเทคนิคตลอดวงจรชีวิตของซอฟต์แวร์เพื่อกำหนดสถานะของส่วนประกอบซอฟต์แวร์ จัดการการแก้ไข
3. การประกันคุณภาพ - สร้างความมั่นใจว่าซอฟต์แวร์และกระบวนการวงจรชีวิตเป็นไปตามข้อกำหนดที่ระบุและแผนที่ได้รับอนุมัติ
4. การตรวจสอบ - การพิจารณาว่าผลิตภัณฑ์ซอฟต์แวร์ตรงตามข้อกำหนดหรือเงื่อนไขอันเนื่องมาจากการกระทำก่อนหน้านี้
5. การรับรอง - การกำหนดความสมบูรณ์ของการปฏิบัติตามข้อกำหนดที่ระบุและระบบที่สร้างขึ้นโดยมีวัตถุประสงค์การทำงานเฉพาะ
6. การประเมินร่วม - การประเมินสถานะของงานในโครงการ: การควบคุมการวางแผนและการจัดการทรัพยากรบุคลากรอุปกรณ์เครื่องมือ
7. การตรวจสอบ - การกำหนดการปฏิบัติตามข้อกำหนดแผนและเงื่อนไขของสัญญา
8. การแก้ปัญหา - การวิเคราะห์และการแก้ปัญหาโดยไม่คำนึงถึงที่มาหรือแหล่งที่มาที่ค้นพบในระหว่างการพัฒนา การดำเนินงาน การบำรุงรักษาหรือกระบวนการอื่น ๆ
องค์กร:
1. การจัดการ - การกระทำและงานที่สามารถทำได้โดยฝ่ายใดฝ่ายหนึ่งที่จัดการกระบวนการของตน
2. การสร้างโครงสร้างพื้นฐาน - การคัดเลือกและบำรุงรักษาเทคโนโลยี มาตรฐาน และ เครื่องมือการเลือกและติดตั้งฮาร์ดแวร์และซอฟต์แวร์ที่ใช้ในการพัฒนา ใช้งาน หรือบำรุงรักษาซอฟต์แวร์
3. การปรับปรุง - การประเมิน การวัด การควบคุม และปรับปรุงกระบวนการวงจรชีวิต
4. การฝึกอบรม - การฝึกอบรมเบื้องต้นและการพัฒนาบุคลากรอย่างมืออาชีพอย่างต่อเนื่อง
ในปี 2545 มาตรฐานสำหรับกระบวนการวงจรชีวิตของระบบ (กระบวนการวงจรชีวิตระบบ ISO/IEC 15288) ได้รับการเผยแพร่ ผู้เชี่ยวชาญจากหลากหลายสาขามีส่วนร่วมในการพัฒนามาตรฐาน: วิศวกรรมระบบ การเขียนโปรแกรม การจัดการคุณภาพ ทรัพยากรบุคคล ความปลอดภัย ฯลฯ ประสบการณ์จริงระบบการสร้างในหน่วยงานราชการ การพาณิชย์ การทหาร และวิชาการ มาตรฐานนี้ใช้ได้กับระบบหลากหลายประเภท แต่จุดประสงค์หลักคือเพื่อสนับสนุนการสร้างระบบคอมพิวเตอร์
ตามชุด ISO/IEC 15288 กลุ่มกระบวนการต่อไปนี้ควรรวมอยู่ในโครงสร้างวงจรชีวิต:
1. กระบวนการตามสัญญา:
การเข้าซื้อกิจการ (โซลูชั่นภายในองค์กรหรือโซลูชั่นผู้ให้บริการภายนอก);
การส่งมอบ (โซลูชั่นภายในหรือโซลูชั่นซัพพลายเออร์ภายนอก);
2. กระบวนการขององค์กร:
ควบคุม สิ่งแวดล้อมวิสาหกิจ;
การจัดการการลงทุน;
การจัดการวงจรชีวิต IP;
การจัดการทรัพยากร;
ควบคุมคุณภาพ;
3. กระบวนการออกแบบ:
การวางแผนโครงการ;
การประเมินโครงการ
การควบคุมโครงการ
การจัดการความเสี่ยง
การจัดการการตั้งค่า;
การจัดการการไหลของข้อมูล
การตัดสินใจ.
4. กระบวนการทางเทคนิค:
คำจำกัดความของข้อกำหนด
การวิเคราะห์ความต้องการ
การพัฒนาสถาปัตยกรรม
การดำเนินการ;
บูรณาการ;
การตรวจสอบ;
การเปลี่ยนแปลง;
การรับรอง;
การเอารัดเอาเปรียบ;
คุ้มกัน;
การกำจัด
5. กระบวนการพิเศษ:
ความหมายและการสร้างความสัมพันธ์ระหว่างงานและวัตถุประสงค์
การจัดตั้งกระบวนการวงจรชีวิตซอฟต์แวร์ Core IP (ISO/IEC 15288)
กระบวนการ (ตัวดำเนินการกระบวนการ) | การกระทำ | ทางเข้า | ผลลัพธ์ |
การได้มา (ลูกค้า) | - การเริ่มต้น - การเตรียมข้อเสนอการประมูล - การเตรียมสัญญา - การควบคุมกิจกรรมซัพพลายเออร์ - การยอมรับ IP | - การตัดสินใจเริ่มดำเนินการเกี่ยวกับ IP - ผลการสำรวจการดำเนินการของลูกค้า - ผลการวิเคราะห์ตลาด IP / ประกวดราคา - แผนการจัดส่ง / การพัฒนา - การทดสอบที่ครอบคลุมของ IP | - การศึกษาความเป็นไปได้ในการดำเนินการตาม IS - ข้อกำหนดในการอ้างอิงสำหรับ IS - สัญญาการจัดหา / การพัฒนา - พระราชบัญญัติการยอมรับขั้นตอนการทำงาน - พระราชบัญญัติการทดสอบการยอมรับ |
การจัดส่ง (ผู้พัฒนา IS) | - การเริ่มต้น - การตอบสนองต่อการเสนอราคา - การเตรียมสัญญา - การวางแผนการดำเนินการ - การจัดหาทรัพย์สินทางปัญญา | - เงื่อนไขการอ้างอิงสำหรับ IS - การตัดสินใจของผู้บริหารที่จะเข้าร่วมในการพัฒนา - ผลการประกวดราคา - เงื่อนไขการอ้างอิงสำหรับ IS - แผนการจัดการโครงการ - IS ที่พัฒนาแล้วและเอกสารประกอบ | - การตัดสินใจเข้าร่วมการพัฒนา - ข้อเสนอเชิงพาณิชย์/ ประมูล - จัดหา/สัญญาพัฒนา - แผนการจัดการโครงการ - การดำเนินการ/ปรับปรุง - รายงานการทดสอบการยอมรับ |
การพัฒนา (ผู้พัฒนา IS) | - การเตรียมการ - การวิเคราะห์ข้อกำหนด IS - การออกแบบสถาปัตยกรรม IS - การพัฒนาข้อกำหนดซอฟต์แวร์ - การออกแบบสถาปัตยกรรมซอฟต์แวร์ - การออกแบบโดยละเอียดของซอฟต์แวร์ - การเข้ารหัสและการทดสอบซอฟต์แวร์ - การรวมซอฟต์แวร์และการทดสอบคุณสมบัติซอฟต์แวร์ - การรวม IS และการทดสอบที่ผ่านการรับรอง IS | - เงื่อนไขการอ้างอิงสำหรับ IS - เงื่อนไขการอ้างอิงสำหรับ IS, แบบจำลองวงจรชีวิต - ระบบย่อย IS - ข้อกำหนดข้อกำหนดสำหรับส่วนประกอบซอฟต์แวร์ - สถาปัตยกรรมซอฟต์แวร์ - เอกสารการออกแบบซอฟต์แวร์โดยละเอียด - แผนการรวมซอฟต์แวร์ การทดสอบ - สถาปัตยกรรม IS ซอฟต์แวร์ เอกสารประกอบสำหรับ IS การทดสอบ | - แบบจำลองวงจรชีวิตที่ใช้ มาตรฐานการพัฒนา - แผนงาน - องค์ประกอบของระบบย่อย ส่วนประกอบฮาร์ดแวร์ - ข้อมูลจำเพาะของข้อกำหนดสำหรับส่วนประกอบซอฟต์แวร์ - องค์ประกอบของส่วนประกอบซอฟต์แวร์ ส่วนต่อประสานกับฐานข้อมูล แผนบูรณาการซอฟต์แวร์ - โครงการฐานข้อมูล ข้อมูลจำเพาะ สำหรับการเชื่อมต่อระหว่างส่วนประกอบซอฟต์แวร์ ข้อกำหนดสำหรับการทดสอบ - ข้อความโมดูล ซอฟต์แวร์ การกระทำของการทดสอบอัตโนมัติ - การประเมินความสอดคล้องของซอฟต์แวร์ที่ซับซ้อนตามข้อกำหนดของ TOR - การประเมินความสอดคล้องของซอฟต์แวร์ ฐานข้อมูล คอมเพล็กซ์ทางเทคนิคและชุดเอกสารตามข้อกำหนดของ TOR |
ขั้นตอนการพัฒนาระบบ (ISO/IEC 15288)
CPC: สร้างข้อกำหนดอ้างอิงสำหรับโครงการ "คิว" บนเว็บไซต์ www.mastertz.ru
โมเดลวงจรชีวิตของซอฟต์แวร์:
1. น้ำตก
2. เกลียว
3. วนซ้ำ
โมเดลน้ำตกวงจรชีวิต ("แบบจำลองน้ำตก" แบบจำลองน้ำตกภาษาอังกฤษ) ถูกเสนอในปี 1970 โดย Winston Royce มีการดำเนินการตามลำดับของทุกขั้นตอนของโครงการในลำดับที่คงที่อย่างเคร่งครัด การเปลี่ยนผ่านไปยังขั้นตอนถัดไปหมายถึงการทำงานที่เสร็จสมบูรณ์ในขั้นตอนก่อนหน้า
ข้อกำหนดที่กำหนดไว้ในขั้นตอนการสร้างข้อกำหนดได้รับการจัดทำเป็นเอกสารอย่างเคร่งครัดในรูปแบบของเงื่อนไขอ้างอิงและกำหนดไว้ตลอดระยะเวลาการพัฒนาโครงการ
แต่ละขั้นตอนสิ้นสุดลงในการเปิดตัวชุดเอกสารที่สมบูรณ์เพียงพอสำหรับการพัฒนาเพื่อให้ทีมพัฒนาอื่นดำเนินการต่อไป
|
|
แบบเกลียว(แบบเกลียวภาษาอังกฤษ) ได้รับการพัฒนาในช่วงกลางทศวรรษ 1980 โดย Barry Boehm อิงจากวงจร PDCA (plan-do-check-act) แบบคลาสสิกของ Edward Deming เมื่อใช้โมเดลนี้ ซอฟต์แวร์จะถูกสร้างขึ้นซ้ำหลายครั้ง (การหมุนวน) โดยการสร้างต้นแบบ
ต้นแบบคือส่วนประกอบซอฟต์แวร์ที่ใช้งานอยู่ซึ่งใช้ฟังก์ชันแต่ละรายการและอินเทอร์เฟซภายนอก
การวนซ้ำแต่ละครั้งสอดคล้องกับการสร้างชิ้นส่วนหรือเวอร์ชันของซอฟต์แวร์ ชี้แจงเป้าหมายและลักษณะของโครงการ ประเมินคุณภาพของผลลัพธ์ที่ได้รับ และวางแผนการทำงานของการทำซ้ำครั้งต่อไป
ข้าว. 21. แบบจำลองวงจรชีวิตซอฟต์แวร์แบบเกลียว
ในการทำซ้ำแต่ละครั้ง จะมีการประเมินสิ่งต่อไปนี้:
1. ความเสี่ยงที่จะเกินเงื่อนไขและต้นทุนของโครงการ
2. จำเป็นต้องทำซ้ำอีกครั้งหนึ่ง
3. ระดับความสมบูรณ์และความถูกต้องของการทำความเข้าใจข้อกำหนดของระบบ
4. ความได้เปรียบในการยกเลิกโครงการ
ตัวอย่างหนึ่งของการนำแบบจำลองเกลียวไปใช้คือ RAD
หลักการพื้นฐานของ RAD:
1. ชุดเครื่องมือควรมุ่งเป้าไปที่การลดเวลาในการพัฒนาให้เหลือน้อยที่สุด
2. การสร้างต้นแบบเพื่อชี้แจงความต้องการของลูกค้า
3. วัฏจักรของการพัฒนา: เวอร์ชันใหม่ของผลิตภัณฑ์แต่ละเวอร์ชันขึ้นอยู่กับการประเมินผลงานของเวอร์ชันก่อนหน้าโดยลูกค้า
4. ลดเวลาในการพัฒนาเวอร์ชันให้เหลือน้อยที่สุดโดยการถ่ายโอนโมดูลสำเร็จรูปและเพิ่มฟังก์ชันการทำงานให้กับเวอร์ชันใหม่
5. ทีมพัฒนาต้องทำงานอย่างใกล้ชิด สมาชิกแต่ละคนต้องเต็มใจทำหน้าที่หลายอย่าง
6. การจัดการโครงการควรลดระยะเวลาของวงจรการพัฒนาให้น้อยที่สุด
แบบจำลองซ้ำ:การพัฒนาตามธรรมชาติของแบบจำลองน้ำตกและเกลียวทำให้เกิดการบรรจบกันและการเกิดขึ้นของวิธีการวนซ้ำสมัยใหม่ ซึ่งเป็นการผสมผสานที่สมเหตุสมผลของแบบจำลองเหล่านี้
ข้าว. 22. แบบจำลองซ้ำของวงจรชีวิตซอฟต์แวร์
หนึ่งในแนวคิดพื้นฐานของวิธีการออกแบบซอฟต์แวร์คือแนวคิดของวงจรชีวิตซอฟต์แวร์ (วงจรชีวิตซอฟต์แวร์) วัฏจักรชีวิตของซอฟต์แวร์เป็นกระบวนการที่ต่อเนื่องกันซึ่งเริ่มต้นจากช่วงเวลาที่ตัดสินใจเกี่ยวกับความจำเป็นในการสร้างและสิ้นสุดในขณะที่เลิกใช้งานโดยสมบูรณ์
หลัก เอกสารกฎเกณฑ์ควบคุมวงจรชีวิตของซอฟต์แวร์เป็นมาตรฐานสากล ISO / IEC 12207 (ISO - องค์การมาตรฐานสากล - องค์การระหว่างประเทศเพื่อการมาตรฐาน, IEC - คณะกรรมการไฟฟ้าระหว่างประเทศ - คณะกรรมการระหว่างประเทศด้านวิศวกรรมไฟฟ้า) กำหนดโครงสร้างวงจรชีวิตที่มีกระบวนการ กิจกรรม และงานที่ต้องทำให้เสร็จในระหว่างการพัฒนาซอฟต์แวร์ ในมาตรฐานนี้ ซอฟต์แวร์ (ผลิตภัณฑ์ซอฟต์แวร์)กำหนดเป็นชุด โปรแกรมคอมพิวเตอร์, ขั้นตอนและเอกสารและข้อมูลที่เกี่ยวข้อง กระบวนการถูกกำหนดให้เป็นชุดของการกระทำที่สัมพันธ์กันซึ่งแปลงอินพุตบางส่วนเป็นเอาต์พุต แต่ละกระบวนการมีลักษณะเฉพาะด้วยงานและวิธีการบางอย่างสำหรับโซลูชัน ข้อมูลเบื้องต้นที่ได้รับจากกระบวนการอื่นๆ และผลลัพธ์
โครงสร้างของวงจรชีวิตซอฟต์แวร์ตามมาตรฐาน ISO/IEC 12207 ขึ้นอยู่กับกระบวนการสามกลุ่ม:
กระบวนการหลักของวงจรชีวิตของซอฟต์แวร์ (การจัดหา การจัดหา การพัฒนา การดำเนินงาน การบำรุงรักษา)
กระบวนการเสริมที่รับรองการดำเนินการตามกระบวนการหลัก (เอกสาร การจัดการการกำหนดค่า การประกันคุณภาพ การตรวจสอบ การรับรอง การประเมิน การตรวจสอบ การแก้ปัญหา)
· กระบวนการขององค์กร(การจัดการโครงการ การสร้างโครงสร้างพื้นฐานของโครงการ คำจำกัดความ การประเมินและการปรับปรุงวงจรชีวิตเอง การฝึกอบรม)
โมเดลวงจรชีวิตของซอฟต์แวร์
แบบจำลองวงจรชีวิต- โครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ของขั้นตอนและขั้นตอนที่ดำเนินการตลอดวงจรชีวิต แบบจำลองวงจรชีวิตขึ้นอยู่กับลักษณะเฉพาะของซอฟต์แวร์และลักษณะเฉพาะของเงื่อนไขที่สร้างและดำเนินการอย่างหลัง โมเดลวงจรชีวิตหลักมีดังนี้
1. โมเดลคาสเคด(จนถึงยุค 70 ของศตวรรษที่ XX) กำหนดการเปลี่ยนแปลงตามลำดับไปยังขั้นตอนต่อไปหลังจากเสร็จสิ้นขั้นตอนก่อนหน้า
โมเดลนี้มีลักษณะเฉพาะโดยการทำงานอัตโนมัติของแต่ละงานที่ไม่เกี่ยวข้อง ซึ่งไม่ต้องการการรวมข้อมูลและความเข้ากันได้ ซอฟต์แวร์ อินเทอร์เฟซทางเทคนิคและองค์กร
ศักดิ์ศรี: ประสิทธิภาพที่ดีในแง่ของเวลาในการพัฒนาและความน่าเชื่อถือในการแก้ปัญหาส่วนบุคคล
ข้อบกพร่อง: ไม่สามารถใช้งานได้กับขนาดใหญ่และ โครงการที่ซับซ้อนเนื่องจากความแปรปรวนของความต้องการของระบบในระหว่างการออกแบบระยะยาว
2. แบบจำลองซ้ำ(70-80 ของศตวรรษที่ 20) สอดคล้องกับเทคโนโลยีการออกแบบ "ล่างขึ้นบน" อนุญาตการวนซ้ำไปยังสเตจก่อนหน้าหลังจากการดำเนินการของสเตจถัดไป
แบบจำลองนี้จัดทำภาพรวมของโซลูชันการออกแบบที่ได้รับสำหรับงานแต่ละส่วนเป็นโซลูชันทั่วทั้งระบบ ในกรณีนี้ มีความจำเป็นต้องแก้ไขข้อกำหนดที่กำหนดไว้ก่อนหน้านี้
ศักดิ์ศรี:ความสามารถในการปรับเปลี่ยนโครงการได้อย่างรวดเร็ว
ข้อบกพร่อง:ด้วยการทำซ้ำจำนวนมาก เวลาในการออกแบบเพิ่มขึ้น มีความคลาดเคลื่อนในโซลูชันการออกแบบและเอกสารประกอบ และสถาปัตยกรรมการทำงานและระบบของซอฟต์แวร์ที่สร้างขึ้นนั้นสับสน ความจำเป็นในการออกแบบใหม่หรือสร้างระบบใหม่อาจเกิดขึ้นทันทีหลังจากขั้นตอนการใช้งานหรือการดำเนินการ
3. แบบเกลียว(80-90s ของศตวรรษที่ 20) สอดคล้องกับเทคโนโลยีการออกแบบจากบนลงล่าง ถือว่าใช้ซอฟต์แวร์ต้นแบบที่อนุญาตให้มีการขยายซอฟต์แวร์ การออกแบบระบบวนซ้ำเส้นทางจากข้อกำหนดข้อกำหนดไปจนถึงข้อกำหนดของรหัสโปรแกรม
เมื่อออกแบบสถาปัตยกรรมระบบ องค์ประกอบของระบบย่อยการทำงานจะถูกกำหนดก่อนและแก้ไขปัญหาทั้งระบบ (การจัดระเบียบของฐานข้อมูลรวม เทคโนโลยีสำหรับการรวบรวม การส่ง และการสะสมข้อมูล) จากนั้นจึงกำหนดงานแต่ละงานและพัฒนาเทคโนโลยีสำหรับโซลูชันของตน
เมื่อตั้งโปรแกรม โมดูลโปรแกรมหลักจะได้รับการพัฒนาก่อน จากนั้นจึงพัฒนาโมดูลที่ทำหน้าที่เฉพาะ ขั้นแรก โมดูลโต้ตอบระหว่างกันและกับฐานข้อมูล จากนั้นจึงนำอัลกอริทึมไปใช้
ข้อดี:
1. ลดจำนวนการวนซ้ำ ส่งผลให้จำนวนข้อผิดพลาดและความไม่สอดคล้องกันที่ต้องแก้ไขลดลง
2. ลดเวลาในการออกแบบ
3. ความเรียบง่ายของการสร้าง เอกสารโครงการ.
ข้อบกพร่อง: ความต้องการสูงกับคุณภาพของที่เก็บทั้งระบบ ( ฐานทั่วไปข้อมูลการออกแบบ)
รูปแบบเกลียวรองรับ เทคโนโลยีการพัฒนาแอปพลิเคชันอย่างรวดเร็วหรือเทคโนโลยี RAD (การพัฒนาแอปพลิเคชันอย่างรวดเร็ว) ซึ่งเกี่ยวข้องกับ การมีส่วนร่วมอย่างแข็งขันผู้ใช้ปลายทางของระบบในอนาคตในกระบวนการสร้าง ขั้นตอนหลักของวิศวกรรมสารสนเทศมีดังนี้:
· การวิเคราะห์และการวางแผนกลยุทธ์สารสนเทศผู้ใช้ร่วมกับนักพัฒนาผู้เชี่ยวชาญ มีส่วนร่วมในการระบุพื้นที่ที่มีปัญหา
· ออกแบบ.ผู้ใช้ภายใต้การแนะนำของนักพัฒนามีส่วนร่วมในการออกแบบทางเทคนิค
· ออกแบบ.นักพัฒนาออกแบบซอฟต์แวร์เวอร์ชันที่ใช้งานได้โดยใช้ภาษารุ่นที่ 4
· การดำเนินการนักพัฒนาจะฝึกผู้ใช้ให้ทำงานในสภาพแวดล้อมซอฟต์แวร์ใหม่
การพัฒนา CT นั้นขยายคลาสของงานอย่างต่อเนื่องเพื่อแก้ไขที่เกี่ยวข้องกับการประมวลผลข้อมูลในลักษณะที่แตกต่างกัน
โดยพื้นฐานแล้วข้อมูลเหล่านี้เป็นข้อมูลสามประเภทและงานสามประเภทที่ใช้คอมพิวเตอร์:
1) งานคอมพิวเตอร์ที่เกี่ยวข้องกับการประมวลผลข้อมูลตัวเลข ซึ่งรวมถึงปัญหาการแก้ระบบสมการเชิงเส้นที่มีมิติสูง เป็นต้น เคยเป็นพื้นที่หลักในการใช้คอมพิวเตอร์
2) งานสำหรับการประมวลผลข้อมูลสัญลักษณ์ที่เกี่ยวข้องกับการสร้าง การแก้ไข และการแปลงข้อมูลข้อความ การทำงานของเลขานุการ-พิมพ์ดีดเกี่ยวข้องกับการแก้ปัญหาดังกล่าว
3) งานสำหรับการประมวลผลข้อมูลกราฟิก ᴛ.ᴇ. ไดอะแกรม ภาพวาด กราฟ ภาพร่าง ฯลฯ งานดังกล่าวรวมถึงงานพัฒนาภาพวาดผลิตภัณฑ์ใหม่โดยนักออกแบบ
4) งานสำหรับการประมวลผลข้อมูลตัวอักษรและตัวเลข - IS วันนี้มันได้กลายเป็นหนึ่งในพื้นที่พื้นฐานของการใช้คอมพิวเตอร์และงานก็มีความซับซ้อนมากขึ้นเรื่อย ๆ
การแก้ปัญหาด้วยคอมพิวเตอร์ของแต่ละชั้นเรียนมีความเฉพาะเจาะจงของตัวเอง แต่สามารถแบ่งออกเป็นหลายขั้นตอนซึ่งเป็นเรื่องปกติสำหรับปัญหาส่วนใหญ่
เทคโนโลยีการเขียนโปรแกรมศึกษากระบวนการทางเทคโนโลยีและลำดับของข้อความ (ขั้นตอน) โดยใช้ความรู้ วิธีการ และวิธีการ
เทคโนโลยีมีลักษณะที่สะดวกในสองมิติ - แนวตั้ง (แทนกระบวนการ) และแนวนอน (แสดงขั้นตอน)
รูปภาพ
กระบวนการคือชุดของการกระทำที่สัมพันธ์กัน (การดำเนินการทางเทคโนโลยี) ที่แปลงข้อมูลอินพุตบางส่วนให้เป็นข้อมูลเอาต์พุตกระบวนการประกอบด้วยชุดของการดำเนินการ (การดำเนินการทางเทคโนโลยี) และแต่ละการกระทำประกอบด้วยชุดของงานและวิธีการในการแก้ปัญหา มิติแนวตั้งสะท้อนถึงลักษณะคงที่ของกระบวนการและดำเนินการด้วยแนวคิดดังกล่าว เช่น กระบวนการทำงาน การดำเนินการ งาน ผลการปฏิบัติงาน ผู้ปฏิบัติงาน
ขั้นตอนเป็นส่วนหนึ่งของกิจกรรมการพัฒนาซอฟต์แวร์ ซึ่งถูกจำกัดด้วยกรอบเวลาหนึ่งและสิ้นสุดด้วยการเปิดตัวผลิตภัณฑ์เฉพาะ ซึ่งกำหนดโดยข้อกำหนดที่กำหนดไว้สำหรับขั้นตอนนี้ บางครั้งขั้นตอนต่างๆ จะรวมกันเป็นกรอบเวลาที่ใหญ่กว่า ซึ่งเรียกว่าขั้นตอนหรือเหตุการณ์สำคัญ ดังนั้น มิติข้อมูลแนวนอนจึงแสดงถึงเวลา สะท้อนถึงแง่มุมไดนามิกของกระบวนการ และดำเนินการด้วยแนวคิดต่างๆ เช่น เฟส สเตจ สเตจ การวนซ้ำ และจุดตรวจสอบ
การพัฒนาซอฟต์แวร์เป็นไปตามวงจรชีวิตที่กำหนดไว้
วงจรชีวิตซอฟต์แวร์ - ชุดกิจกรรมต่อเนื่องและเป็นระเบียบที่ดำเนินการและจัดการภายในกรอบงานของแต่ละโครงการสำหรับการพัฒนาและการทำงานของซอฟต์แวร์ เริ่มจากช่วงเวลาที่แนวคิด (แนวคิด) สำหรับการสร้างซอฟต์แวร์บางอย่างเกิดขึ้นและตัดสินใจเกี่ยวกับ ความสำคัญอย่างยิ่งของการสร้างและสิ้นสุดในขณะที่สร้าง ถอนตัวจากการดำเนินการด้วยเหตุผลดังต่อไปนี้:
ก) ความล้าสมัย;
b) การสูญเสียความสำคัญที่สำคัญของการแก้ปัญหาที่เกี่ยวข้อง
แนวทางเทคโนโลยี - กลไก϶ᴛᴏสำหรับการดำเนินการตามวงจรชีวิต
วิธีการทางเทคโนโลยีถูกกำหนดโดยลักษณะเฉพาะของการรวมกันของขั้นตอนและกระบวนการ โดยเน้นที่ซอฟต์แวร์ประเภทต่างๆ และลักษณะของทีมพัฒนา
วัฏจักรชีวิตกำหนดขั้นตอน (ขั้นตอน ขั้นตอน) เพื่อให้ผลิตภัณฑ์ซอฟต์แวร์ย้ายจากขั้นตอนหนึ่งไปยังอีกขั้นตอนหนึ่ง จากแนวคิดของผลิตภัณฑ์ไปยังขั้นตอนของการพับ
วงจรชีวิตของการพัฒนาซอฟต์แวร์ควรนำเสนอด้วยระดับรายละเอียดของขั้นตอนต่างๆ ที่แตกต่างกัน การแสดงวงจรชีวิตที่ง่ายที่สุด ประกอบด้วยขั้นตอนต่างๆ:
ออกแบบ
การดำเนินการ
การทดสอบและการดีบัก
การใช้งาน การดำเนินงาน และการบำรุงรักษา
การแสดงวงจรชีวิตของโปรแกรมที่ง่ายที่สุด (แนวทางเทคโนโลยีคาสเคดเพื่อการจัดการวงจรชีวิต):
กระบวนการ
ออกแบบ
การเขียนโปรแกรม
การทดสอบ
คุ้มกัน
การดำเนินการออกแบบการวิเคราะห์ การดำเนินการทดสอบ การดำเนินการ
และการดีบักและการบำรุงรักษา
ในความเป็นจริง มีเพียงหนึ่งกระบวนการที่ทำงานในแต่ละขั้นตอน เห็นได้ชัดว่าเมื่อพัฒนาและสร้างโปรแกรมขนาดใหญ่รูปแบบดังกล่าวไม่ถูกต้องเพียงพอ (ใช้ไม่ได้) แต่สามารถใช้เป็นพื้นฐานได้
เวที Alysisเน้นความต้องการของระบบ ข้อกำหนดมีการกำหนดและระบุ (อธิบาย) กำลังดำเนินการพัฒนาและบูรณาการแบบจำลองการทำงานและแบบจำลองข้อมูลสำหรับระบบ ในเวลาเดียวกัน ข้อกำหนดของระบบที่ไม่ทำงานและข้อกำหนดอื่นๆ ได้รับการแก้ไขแล้ว
ขั้นตอนการออกแบบแบ่งออกเป็นสองขั้นตอนย่อยพื้นฐาน: การออกแบบสถาปัตยกรรมและการออกแบบรายละเอียด โดยเฉพาะอย่างยิ่ง การออกแบบโปรแกรม ส่วนต่อประสานกับผู้ใช้ และโครงสร้างข้อมูลได้รับการขัดเกลา ปัญหาการออกแบบที่ส่งผลต่อความสามารถในการเข้าใจ การบำรุงรักษา และความสามารถในการปรับขนาดของระบบได้รับการหยิบยกและแก้ไข
ขั้นตอนการดำเนินการรวมถึงการเขียนโปรแกรม
ความแตกต่างของฮาร์ดแวร์และซอฟต์แวร์จะมองเห็นได้ชัดเจนบนเวที การเอารัดเอาเปรียบ. หากสินค้าอุปโภคบริโภคผ่านขั้นตอนของการแนะนำสู่ตลาด การเติบโต วุฒิภาวะ และการเสื่อมถอย ชีวิตของซอฟต์แวร์ก็เหมือนกับเรื่องราวของอาคารที่ยังไม่เสร็จแต่แล้วเสร็จและปรับปรุงอย่างต่อเนื่อง (เครื่องบิน) (สมาชิก).
วงจรชีวิตของซอฟต์แวร์ถูกควบคุมโดยมาตรฐานต่างๆ มากมาย รวมถึง และนานาชาติ
วัตถุประสงค์ของการสร้างมาตรฐานวงจรชีวิตของ PS ที่ซับซ้อน:
สรุปประสบการณ์และผลการวิจัยของผู้เชี่ยวชาญหลายคน
เลิกงาน กระบวนการทางเทคโนโลยีและเทคนิคการพัฒนาและ ฐานระเบียบวิธีสำหรับระบบอัตโนมัติของพวกเขา
มาตรฐานรวมถึง:
กฎการอธิบายข้อมูลเบื้องต้น วิธีการ และวิธีการในการดำเนินการ
กำหนดกฎการควบคุมกระบวนการ
กำหนดข้อกำหนดสำหรับการนำเสนอผลงาน
ควบคุมเนื้อหาของเอกสารทางเทคโนโลยีและการปฏิบัติงาน
กำหนด โครงสร้างองค์กรทีมพัฒนา;
จัดให้มีการแจกจ่ายและการจัดตารางงาน
ให้การควบคุมความคืบหน้าของการสร้าง PS
ในรัสเซียมีมาตรฐานที่ควบคุมวงจรชีวิต:
ขั้นตอนการพัฒนาซอฟต์แวร์ - GOST 19.102-77
ขั้นตอนของการสร้าง AS - GOST 34.601-90;
TK สำหรับการสร้าง AS - GOST 34.602-89;
ประเภทของการทดสอบ AS - GOST 34.603-92;
ในเวลาเดียวกัน การสร้าง บำรุงรักษา และการพัฒนาแอพพลิเคชั่นซอฟต์แวร์สำหรับ IP ในมาตรฐานเหล่านี้ไม่ได้สะท้อนให้เห็นอย่างเพียงพอ และบทบัญญัติบางประการก็ล้าสมัยจากมุมมองของการสร้างระบบกระจายที่ทันสมัยของโปรแกรมแอปพลิเคชั่นคุณภาพสูงในการควบคุมและข้อมูล ระบบประมวลผลที่มีสถาปัตยกรรมต่างกัน
ในเรื่องนี้ควรสังเกตมาตรฐานสากล ISO / IEC 12207-1999 - ' . เทคโนโลยีสารสนเทศ– กระบวนการวงจรชีวิตของซอฟต์แวร์''
ISO - องค์การมาตรฐานสากล - องค์การระหว่างประเทศเพื่อการมาตรฐาน, IEC - คณะกรรมการไฟฟ้าระหว่างประเทศ - คณะกรรมการไฟฟ้าระหว่างประเทศ
กำหนดโครงสร้างของวงจรชีวิตซอฟต์แวร์และกระบวนการต่างๆ
เหล่านั้น. การสร้างซอฟต์แวร์ไม่ใช่เรื่องง่าย เนื่องจากมีมาตรฐานต่างๆ ที่เขียนทุกอย่าง: สิ่งที่ต้องทำ เมื่อใดและอย่างไร
โครงสร้างวงจรชีวิตซอฟต์แวร์ตาม มาตรฐานสากล ISO/IEC 12207-95 ขึ้นอยู่กับกลุ่มกระบวนการสามกลุ่ม:
1) กระบวนการหลักของวงจรชีวิตซอฟต์แวร์ (การจัดหา การจัดหา การพัฒนา การดำเนินงาน การบำรุงรักษา). เราจะมุ่งเน้นไปที่หลัง
2) กระบวนการเสริมที่รับรองการดำเนินการตามกระบวนการพื้นฐาน ( เอกสาร, การจัดการการกำหนดค่า, การประกันคุณภาพ, การทวนสอบ, การตรวจสอบ, การทบทวนการทำงานร่วมกัน (การประเมิน), การตรวจสอบ, การแก้ปัญหา)
1. การจัดการการกำหนดค่านี่คือกระบวนการที่สนับสนุนกระบวนการหลักของวงจรชีวิตซอฟต์แวร์ โดยหลักคือกระบวนการพัฒนาและบำรุงรักษา เมื่อพัฒนาโปรเจ็กต์ซอฟต์แวร์ที่ซับซ้อนซึ่งประกอบด้วยส่วนประกอบจำนวนมาก ซึ่งแต่ละส่วนสามารถมีความหลากหลายหรือเวอร์ชันได้ ปัญหาเกิดขึ้นจากการคำนึงถึงความสัมพันธ์และหน้าที่ของพวกมัน การสร้างโครงสร้างแบบครบวงจร (ᴛ.ᴇ. unified) และสร้างความมั่นใจในการพัฒนาทั้งระบบ . การจัดการการกำหนดค่าช่วยให้คุณจัดระเบียบ พิจารณาและควบคุมการเปลี่ยนแปลงส่วนประกอบซอฟต์แวร์ต่างๆ อย่างเป็นระบบในทุกขั้นตอนของวงจรชีวิต
2. การยืนยันเป็นกระบวนการในการพิจารณาว่าสถานะปัจจุบันของซอฟต์แวร์เป็นถึงเมื่อ เวทีนี้,ข้อกำหนดของขั้นตอนนี้.
3. การรับรอง– การยืนยันโดยการตรวจสอบและการนำเสนอหลักฐานวัตถุประสงค์ว่าข้อกำหนดเฉพาะสำหรับวัตถุเฉพาะได้รับการดำเนินการอย่างเต็มที่
4. การวิเคราะห์ร่วม (การประเมิน) – การกำหนดระดับความสอดคล้องของวัตถุอย่างเป็นระบบด้วยเกณฑ์ที่กำหนด
5. การตรวจสอบ– การตรวจสอบที่ดำเนินการโดยหน่วยงานที่มีอำนาจ (บุคคล) เพื่อให้การประเมินระดับความสอดคล้องของผลิตภัณฑ์ซอฟต์แวร์หรือกระบวนการที่มีข้อกำหนดที่กำหนดไว้อย่างเป็นอิสระ การตรวจสอบช่วยให้คุณประเมินการปฏิบัติตามพารามิเตอร์การพัฒนาด้วยข้อกำหนดเบื้องต้น การตรวจสอบทับซ้อนกับการทดสอบ และดำเนินการเพื่อกำหนดความแตกต่างระหว่างผลลัพธ์จริงและผลลัพธ์ที่คาดหวัง และเพื่อประเมินการปฏิบัติตามคุณสมบัติของซอฟต์แวร์ตามข้อกำหนดดั้งเดิม ในกระบวนการของการดำเนินโครงการ ปัญหาของการระบุ คำอธิบาย และการควบคุมการกำหนดค่าของแต่ละส่วนประกอบและทั้งระบบโดยรวมครอบครองสถานที่สำคัญ
3) กระบวนการขององค์กร (การจัดการโครงการ การสร้างโครงสร้างพื้นฐานของโครงการ คำจำกัดความ การประเมินและการปรับปรุงวงจรชีวิต การฝึกอบรม)
การจัดการโครงการเกี่ยวข้องกับประเด็นการวางแผนและจัดการงาน การสร้างทีมนักพัฒนา การติดตามเวลาและคุณภาพของงานที่ทำ การสนับสนุนทางเทคนิคและองค์กรของโครงการรวมถึงการเลือกวิธีการและเครื่องมือสำหรับการดำเนินโครงการ คำจำกัดความของวิธีการอธิบายสถานะขั้นกลางของการพัฒนา การพัฒนาวิธีการและเครื่องมือสำหรับการทดสอบซอฟต์แวร์ที่สร้างขึ้น การฝึกอบรมบุคลากร ฯลฯ . การประกันคุณภาพโครงการเกี่ยวข้องกับปัญหาการทวนสอบ การทวนสอบ และการทดสอบส่วนประกอบซอฟต์แวร์
เราจะพิจารณาวงจรชีวิตของซอฟต์แวร์จากมุมมองของนักพัฒนา
กระบวนการพัฒนาตามมาตรฐานกำหนดการดำเนินการและงานที่ดำเนินการโดยนักพัฒนา และครอบคลุมการสร้างซอฟต์แวร์และส่วนประกอบตามข้อกำหนดที่ระบุ รวมถึงการจัดทำเอกสารการออกแบบและการปฏิบัติงาน รวมถึงการจัดเตรียม วัสดุที่จำเป็นในการตรวจสอบการทำงานและความสอดคล้องของคุณภาพของผลิตภัณฑ์ซอฟต์แวร์ วัสดุที่จำเป็นสำหรับการฝึกอบรมพนักงาน ฯลฯ
ตามมาตรฐาน วงจรชีวิตของซอฟต์แวร์ IP มีการดำเนินการดังต่อไปนี้:
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 ขั้นตอน 'Working Draft'')
การดำเนินงานและการบำรุงรักษา.
วงจรชีวิตและขั้นตอนของการพัฒนาซอฟต์แวร์ - แนวคิดและประเภท การจำแนกประเภทและคุณสมบัติของหมวดหมู่ "วงจรชีวิตและขั้นตอนของการพัฒนาซอฟต์แวร์" 2017, 2018
ข้าว. 5.2.
ด้านเหล่านี้คือ:
- ด้านสัญญาที่ลูกค้าและซัพพลายเออร์เข้าร่วม ความสัมพันธ์ตามสัญญาและใช้กระบวนการจัดหาและจัดหา
- ด้านการจัดการ ซึ่งรวมถึงการดำเนินการจัดการของบุคคลที่เข้าร่วมในวงจรชีวิตของซอฟต์แวร์ (ซัพพลายเออร์ ลูกค้า ผู้พัฒนา ผู้ปฏิบัติงาน ฯลฯ)
- ด้านการดำเนินงานซึ่งรวมถึงการดำเนินการของผู้ให้บริการเพื่อให้บริการแก่ผู้ใช้ระบบ
- ด้านวิศวกรรมซึ่งประกอบด้วยการกระทำของผู้พัฒนาหรือบริการสนับสนุนเพื่อแก้ไขปัญหาทางเทคนิคที่เกี่ยวข้องกับการพัฒนาหรือดัดแปลงผลิตภัณฑ์ซอฟต์แวร์
- แง่มุมของการสนับสนุนที่เกี่ยวข้องกับการดำเนินการตามกระบวนการสนับสนุน โดยบริการสนับสนุนจะให้บริการที่จำเป็นแก่ผู้เข้าร่วมคนอื่นๆ ทั้งหมดในการทำงาน ในด้านนี้ เราสามารถแยกแยะแง่มุมของการจัดการคุณภาพซอฟต์แวร์ รวมถึงกระบวนการประกันคุณภาพ การตรวจสอบ การรับรอง การประเมินร่วมกันและการตรวจสอบ
กระบวนการในองค์กรดำเนินการในระดับองค์กรหรือที่ระดับขององค์กรทั้งหมด โดยสร้างพื้นฐานสำหรับการนำไปใช้งานและปรับปรุงกระบวนการวงจรชีวิตของซอฟต์แวร์อย่างต่อเนื่อง
5.6. รุ่นและขั้นตอนของวงจรชีวิตซอฟต์แวร์
แบบจำลองวงจรชีวิตของซอฟต์แวร์เป็นที่เข้าใจกันว่าเป็นโครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ของกระบวนการ การดำเนินการ และงานตลอดวงจรชีวิตของซอฟต์แวร์ แบบจำลองวงจรชีวิตขึ้นอยู่กับลักษณะเฉพาะ ขนาดและความซับซ้อนของโครงการ และเงื่อนไขเฉพาะที่ระบบถูกสร้างขึ้นและดำเนินการ
มาตรฐาน ISO/IEC 12207 ไม่ได้เสนอแบบจำลองวงจรชีวิตเฉพาะและวิธีการพัฒนาซอฟต์แวร์ ข้อกำหนดนี้เป็นเรื่องปกติสำหรับแบบจำลองวงจรชีวิต วิธีการ และเทคโนโลยีของการพัฒนาซอฟต์แวร์ มาตรฐานนี้อธิบายโครงสร้างของกระบวนการวงจรชีวิตของซอฟต์แวร์ แต่ไม่ได้ระบุวิธีการนำไปใช้หรือดำเนินการกิจกรรมและงานที่รวมอยู่ในกระบวนการเหล่านี้
แบบจำลองวงจรชีวิตของซอฟต์แวร์เฉพาะใด ๆ กำหนดลักษณะของกระบวนการสร้างซึ่งเป็นชุดของงานที่ได้รับคำสั่งในเวลา เชื่อมต่อถึงกันและรวมกันเป็นขั้นตอน (ขั้นตอน) การใช้งานซึ่งจำเป็นและเพียงพอที่จะสร้างซอฟต์แวร์ที่ตรงตามข้อกำหนด ข้อกำหนดที่ระบุ
ขั้นตอน (เฟส) ของการสร้างซอฟต์แวร์เป็นที่เข้าใจกันว่าเป็นส่วนหนึ่งของกระบวนการพัฒนาซอฟต์แวร์ ซึ่งถูกจำกัดด้วยกรอบเวลาหนึ่งและสิ้นสุดด้วยการเปิดตัวผลิตภัณฑ์เฉพาะ (รุ่นซอฟต์แวร์ ส่วนประกอบซอฟต์แวร์ เอกสารประกอบ ฯลฯ) ซึ่งกำหนดโดยข้อกำหนดที่ระบุ สำหรับขั้นตอนนี้ ขั้นตอนของการสร้างซอฟต์แวร์มีความแตกต่างกันด้วยเหตุผลของการวางแผนอย่างมีเหตุผลและการจัดระบบงาน โดยลงท้ายด้วยผลลัพธ์ที่ระบุ วงจรชีวิตซอฟต์แวร์มักจะประกอบด้วยขั้นตอนต่อไปนี้:
- การก่อตัวของข้อกำหนดซอฟต์แวร์
- การออกแบบ (การพัฒนาโครงการระบบ);
- การใช้งาน (สามารถแบ่งออกเป็นขั้นตอนย่อย: การออกแบบโดยละเอียด, การเข้ารหัส);
- การทดสอบ (สามารถแบ่งออกเป็นแบบสแตนด์อโลนและ การทดสอบที่ครอบคลุมและบูรณาการ)
- การว่าจ้าง (การดำเนินการ);
- การดำเนินงานและการบำรุงรักษา;
- การรื้อถอน
ผู้เชี่ยวชาญบางคนแนะนำขั้นตอนเริ่มต้นเพิ่มเติม - การศึกษาความเป็นไปได้ระบบต่างๆ หมายถึงระบบซอฟต์แวร์และฮาร์ดแวร์ที่ใช้สร้าง ซื้อ หรือแก้ไขซอฟต์แวร์
ขั้นตอนของการก่อตัวของข้อกำหนดซอฟต์แวร์เป็นหนึ่งในขั้นตอนที่สำคัญที่สุดและกำหนดในระดับสูง (ถึงกับชี้ขาด!) ความสำเร็จของโครงการทั้งหมด จุดเริ่มต้นของขั้นตอนนี้คือการได้รับสถาปัตยกรรมระบบที่ได้รับอนุมัติและได้รับการอนุมัติโดยรวมถึงข้อตกลงพื้นฐานเกี่ยวกับการแจกจ่ายฟังก์ชันระหว่างฮาร์ดแวร์และซอฟต์แวร์ เอกสารนี้ควรมีการยืนยันแนวคิดทั่วไปเกี่ยวกับการทำงานของซอฟต์แวร์ รวมถึงข้อตกลงหลักเกี่ยวกับการแจกจ่ายฟังก์ชันระหว่างบุคคลและระบบ
ขั้นตอนของการก่อตัวของข้อกำหนดซอฟต์แวร์ประกอบด้วยขั้นตอนต่อไปนี้
- วางแผนการทำงานล่วงหน้าของโครงการ งานหลักของเวทีคือการกำหนดเป้าหมายการพัฒนาเบื้องต้น การประเมินทางเศรษฐกิจโครงการสร้างตารางการทำงานสร้างและฝึกอบรมคณะทำงานร่วม
- ดำเนินการสำรวจกิจกรรมขององค์กรอัตโนมัติ (วัตถุ) ภายในกรอบที่มีการระบุข้อกำหนดเบื้องต้นสำหรับระบบในอนาคตการกำหนดโครงสร้างขององค์กรการกำหนดรายการหน้าที่เป้าหมายขององค์กรการวิเคราะห์ การกระจายหน้าที่โดยหน่วยงานและพนักงานระบุ ปฏิสัมพันธ์เชิงหน้าที่ระหว่างแผนก การไหลของข้อมูลภายในแผนกและระหว่างแผนก วัตถุภายนอกองค์กรและอิทธิพลของข้อมูลภายนอก การวิเคราะห์วิธีการที่มีอยู่ของการทำให้กิจกรรมขององค์กรเป็นแบบอัตโนมัติ
- แบบจำลอง "AS-IS" ("ตามที่เป็น") ที่สะท้อนถึงสถานะปัจจุบันของกิจการในองค์กร ณ เวลาที่ทำการสำรวจ และช่วยให้คุณเข้าใจวิธีการทำงานขององค์กร ตลอดจนระบุปัญหาคอขวดและกำหนดข้อเสนอเพื่อปรับปรุง สถานการณ์;
- โมเดล "TO-BE" ("ตามที่ควรจะเป็น") สะท้อนแนวคิดเทคโนโลยีใหม่ๆ ในการทำงานขององค์กร
การสร้างแบบจำลองกิจกรรมขององค์กร (วัตถุ) ซึ่งจัดให้มีการประมวลผลวัสดุการสำรวจและการสร้างแบบจำลองสองประเภท:
โมเดลแต่ละแบบควรมีรูปแบบการทำงานและข้อมูลที่สมบูรณ์ของกิจกรรมขององค์กร เช่นเดียวกับแบบจำลอง (ถ้าจำเป็น) ที่อธิบายพลวัตของพฤติกรรมขององค์กร โปรดทราบว่าแบบจำลองที่สร้างขึ้นนั้นมีความสำคัญในทางปฏิบัติโดยอิสระ ไม่ว่าองค์กรจะพัฒนาและนำระบบข้อมูลไปใช้หรือไม่ก็ตาม เนื่องจากสามารถใช้ในการฝึกอบรมพนักงานและปรับปรุงกระบวนการทางธุรกิจขององค์กรได้
ผลลัพธ์ของความสมบูรณ์ของขั้นตอนของการก่อตัวของข้อกำหนดของซอฟต์แวร์คือข้อมูลจำเพาะของซอฟต์แวร์ ฟังก์ชัน ทางเทคนิค และข้อกำหนดของอินเทอร์เฟซ ซึ่งยืนยันความสมบูรณ์ การตรวจสอบได้ และความเป็นไปได้
ขั้นตอนการออกแบบประกอบด้วยขั้นตอนต่อไปนี้
การพัฒนาโครงการระบบซอฟต์แวร์ ในขั้นตอนนี้ให้คำตอบสำหรับคำถาม "ระบบในอนาคตควรทำอย่างไร" กล่าวคือ: สถาปัตยกรรมของระบบ, หน้าที่, สภาพภายนอกการทำงาน การเชื่อมต่อและการกระจายของฟังก์ชันระหว่างผู้ใช้และระบบ ข้อกำหนดสำหรับส่วนประกอบซอฟต์แวร์และข้อมูล องค์ประกอบของนักแสดงและเวลาในการพัฒนา แผนการดีบักซอฟต์แวร์ และการควบคุมคุณภาพ
พื้นฐานของโครงการระบบคือแบบจำลองของระบบที่ออกแบบซึ่งสร้างขึ้นจากรุ่น "TO-BE" ผลลัพธ์ของการพัฒนาโครงการระบบควรเป็นข้อกำหนดเฉพาะของซอฟต์แวร์ที่ได้รับการอนุมัติและยืนยันแล้ว: ข้อมูลจำเพาะด้านการทำงาน ทางเทคนิค และอินเทอร์เฟซ ซึ่งยืนยันความสมบูรณ์ การตรวจสอบได้ และความเป็นไปได้
- การพัฒนาโครงการโดยละเอียด (ทางเทคนิค) ในขั้นตอนนี้ จะมีการออกแบบซอฟต์แวร์จริง รวมถึงการออกแบบสถาปัตยกรรมระบบและการออกแบบโดยละเอียด ดังนั้นคำตอบสำหรับคำถามคือ: "จะสร้างระบบอย่างไรเพื่อให้เป็นไปตามข้อกำหนด"
ผลลัพธ์ของการออกแบบโดยละเอียดคือการพัฒนาข้อกำหนดซอฟต์แวร์ที่ผ่านการตรวจสอบแล้ว ซึ่งรวมถึง:
- การก่อตัวของลำดับชั้นของส่วนประกอบซอฟต์แวร์ ส่วนต่อประสานระหว่างโมดูลสำหรับข้อมูลและการควบคุม
- ข้อมูลจำเพาะของส่วนประกอบซอฟต์แวร์แต่ละอย่าง ชื่อ วัตถุประสงค์ สมมติฐาน ขนาด ลำดับการโทร ข้อมูลอินพุตและเอาต์พุต ผิดพลาด ผลลัพธ์ อัลกอริธึมและวงจรลอจิก
- การก่อตัวของโครงสร้างข้อมูลทางกายภาพและเชิงตรรกะจนถึงระดับของแต่ละสาขา
- การพัฒนาแผนสำหรับการกระจายทรัพยากรการคำนวณ (เวลาของโปรเซสเซอร์กลาง หน่วยความจำ ฯลฯ );
- การทวนสอบความสมบูรณ์ ความสม่ำเสมอ ความเป็นไปได้และความถูกต้องของข้อกำหนด
- แผนบูรณาการเบื้องต้นและการแก้ไขจุดบกพร่อง คู่มือผู้ใช้ และแผนการทดสอบการยอมรับ
ความสมบูรณ์ของขั้นตอนการออกแบบโดยละเอียดคือแบบ end-to-end
มาตรฐานวงจรชีวิตซอฟต์แวร์
- GOST 34.601-90
- ISO/IEC 12207: 1995 (อะนาล็อกรัสเซีย - GOST R ISO/IEC 12207-99)
วิธีการพัฒนาซอฟต์แวร์
- กระบวนการรวมเป็นหนึ่งอย่างมีเหตุผล (RUP)
- Microsoft Solutions Framework (MSF) ประกอบด้วย 4 ขั้นตอน: การวิเคราะห์ การออกแบบ การพัฒนา การรักษาเสถียรภาพ เกี่ยวข้องกับการใช้แบบจำลองเชิงวัตถุ
- การเขียนโปรแกรมขั้นสูง ( การเขียนโปรแกรมขั้นสูง, XP). วิธีการนี้ขึ้นอยู่กับการทำงานเป็นทีม การสื่อสารที่มีประสิทธิภาพระหว่างลูกค้าและผู้รับเหมาตลอดโครงการเพื่อพัฒนาทรัพย์สินทางปัญญา การพัฒนาดำเนินการโดยใช้ต้นแบบที่ได้รับการขัดเกลาอย่างต่อเนื่อง
มาตรฐาน GOST 34.601-90
มาตรฐาน GOST 34.601-90 ให้ขั้นตอนและขั้นตอนต่อไปนี้ในการสร้างระบบอัตโนมัติ:
- การก่อตัวของข้อกำหนดสำหรับ AU
- การตรวจสอบวัตถุและเหตุผลความจำเป็นในการสร้าง AU
- การก่อตัวของข้อกำหนดของผู้ใช้สำหรับ AU
- การลงทะเบียนรายงานการปฏิบัติงานและการสมัครเพื่อการพัฒนาAS
- การพัฒนาแนวคิด AS
- ศึกษาวัตถุ
- ดำเนินการวิจัยที่จำเป็น
- การพัฒนารูปแบบต่างๆ ของแนวคิด AU และการเลือกรูปแบบต่างๆ ของแนวคิด AU ที่ตรงกับความต้องการของผู้ใช้
- จัดทำรายงานผลงาน
- งานด้านเทคนิค
- การพัฒนาและการอนุมัติเงื่อนไขการอ้างอิงสำหรับการสร้าง AU
- การออกแบบเบื้องต้น
- การพัฒนาโซลูชั่นการออกแบบเบื้องต้นสำหรับระบบและชิ้นส่วนต่างๆ
- โครงการด้านเทคนิค
- การพัฒนาโซลูชันการออกแบบสำหรับระบบและชิ้นส่วนต่างๆ
- การพัฒนาเอกสารสำหรับ AU และชิ้นส่วนต่างๆ
- การพัฒนาและดำเนินการเอกสารประกอบการจัดหาส่วนประกอบ
- การพัฒนางานออกแบบในส่วนที่อยู่ติดกันของโครงการ
- เอกสารการทำงาน
- การพัฒนาเอกสารการทำงานสำหรับ NPP และส่วนประกอบต่างๆ
- การพัฒนาและดัดแปลงโปรแกรม
- การว่าจ้าง
- การเตรียมวัตถุอัตโนมัติ
- การฝึกอบรมพนักงาน
- เสร็จสิ้น AU ด้วยผลิตภัณฑ์ที่จัดมาให้ (ซอฟต์แวร์และฮาร์ดแวร์ ระบบซอฟต์แวร์และฮาร์ดแวร์ ผลิตภัณฑ์ข้อมูล)
- งานก่อสร้างและติดตั้ง
- ผลงานการว่าจ้าง
- ดำเนินการทดสอบเบื้องต้น
- กำลังดำเนินการทดลองงาน
- ดำเนินการทดสอบการยอมรับ
- การสนับสนุน AC
- ดำเนินงานตามภาระผูกพันการรับประกัน
- บริการหลังการรับประกัน
แบบร่าง การออกแบบทางเทคนิค และเอกสารประกอบการทำงานเป็นโครงสร้างที่สอดคล้องกันของโซลูชันการออกแบบที่แม่นยำยิ่งขึ้น อนุญาตให้แยกขั้นตอน "การออกแบบร่าง" และขั้นตอนการทำงานแต่ละขั้นตอนในทุกขั้นตอน รวมขั้นตอน "การออกแบบทางเทคนิค" และ "เอกสารประกอบโดยละเอียด" ลงใน "การออกแบบโดยละเอียด" พร้อมกันดำเนินการขั้นตอนและงานต่างๆ รวมถึงขั้นตอนเพิ่มเติม
มาตรฐานนี้ไม่เหมาะสำหรับการพัฒนาในปัจจุบัน: กระบวนการหลายอย่างไม่ได้สะท้อนออกมาเพียงพอ และข้อกำหนดบางอย่างล้าสมัย
ISO/IEC 12207/ และการประยุกต์ใช้
ISO/IEC 12207: 1995 "เทคโนโลยีสารสนเทศ - กระบวนการวงจรชีวิตซอฟต์แวร์" เป็นเอกสารเชิงบรรทัดฐานหลักที่ควบคุมองค์ประกอบของกระบวนการวงจรชีวิตซอฟต์แวร์ กำหนดกรอบวงจรชีวิตที่มีกระบวนการ กิจกรรม และงานที่ต้องทำให้เสร็จในระหว่างการพัฒนาซอฟต์แวร์
แต่ละกระบวนการแบ่งออกเป็นชุดของการกระทำ แต่ละการกระทำเป็นชุดของงาน แต่ละกระบวนการ การดำเนินการ หรืองานจะเริ่มต้นและดำเนินการโดยกระบวนการอื่นตามความจำเป็น และไม่มีลำดับการดำเนินการที่กำหนดไว้ล่วงหน้า การเชื่อมต่อโดยข้อมูลอินพุตจะถูกรักษาไว้
กระบวนการวงจรชีวิตของซอฟต์แวร์
- หลัก:
- การได้มา (การดำเนินการและงานของลูกค้าที่ซื้อซอฟต์แวร์)
- การส่งมอบ (กิจกรรมและงานของซัพพลายเออร์ที่จัดหาผลิตภัณฑ์หรือบริการซอฟต์แวร์ให้กับลูกค้า)
- การพัฒนา (การดำเนินการและงานที่ดำเนินการโดยนักพัฒนา: การสร้างซอฟต์แวร์ การเขียนแบบเอกสารการออกแบบและการปฏิบัติงาน การเตรียมเอกสารการทดสอบและการฝึกอบรม ฯลฯ)
- การดำเนินงาน (การดำเนินการและงานของผู้ปฏิบัติงาน - องค์กรที่ดำเนินการระบบ)
- การบำรุงรักษา (การดำเนินการและงานที่ดำเนินการโดยองค์กรที่เกี่ยวข้องนั่นคือบริการบำรุงรักษา) การบำรุงรักษา - การเปลี่ยนแปลงซอฟต์แวร์เพื่อแก้ไขจุดบกพร่อง ปรับปรุงประสิทธิภาพ หรือปรับให้เข้ากับสภาพการทำงานหรือข้อกำหนดที่เปลี่ยนแปลงไป
- ตัวช่วย
- เอกสารประกอบ (คำอธิบายอย่างเป็นทางการของข้อมูลที่สร้างขึ้นระหว่างวงจรชีวิตของซอฟต์แวร์)
- การจัดการการกำหนดค่า (การประยุกต์ใช้ขั้นตอนการบริหารและทางเทคนิคตลอดวงจรชีวิตของซอฟต์แวร์เพื่อกำหนดสถานะของส่วนประกอบซอฟต์แวร์ จัดการการแก้ไข)
- การประกันคุณภาพ (ตรวจสอบให้แน่ใจว่า IS และกระบวนการของวงจรชีวิตเป็นไปตามข้อกำหนดที่ระบุและแผนที่ได้รับอนุมัติ)
- การตรวจสอบ (การพิจารณาว่าผลิตภัณฑ์ซอฟต์แวร์ซึ่งเป็นผลมาจากการดำเนินการบางอย่าง เป็นไปตามข้อกำหนดหรือเงื่อนไขอันเนื่องมาจากการกระทำก่อนหน้านี้)
- การรับรอง (การกำหนดความสมบูรณ์ของการปฏิบัติตามข้อกำหนดที่ระบุและระบบที่สร้างขึ้นโดยมีวัตถุประสงค์การทำงานเฉพาะ)
- การประเมินร่วม (การประเมินสถานะงานในโครงการ: การควบคุมการวางแผนและการจัดการทรัพยากรบุคลากรอุปกรณ์เครื่องมือ)
- การตรวจสอบ (การกำหนดการปฏิบัติตามข้อกำหนด แผน และเงื่อนไขของสัญญา)
- การแก้ปัญหา (การวิเคราะห์และการแก้ปัญหาโดยไม่คำนึงถึงที่มาหรือแหล่งที่มาซึ่งค้นพบในระหว่างการพัฒนา การดำเนินงาน การบำรุงรักษาหรือกระบวนการอื่น ๆ )
- องค์กร
- การจัดการ (กิจกรรมและงานที่ดำเนินการโดยฝ่ายใดฝ่ายหนึ่งที่จัดการกระบวนการของตน)
- การสร้างโครงสร้างพื้นฐาน (การเลือกและการบำรุงรักษาเทคโนโลยี มาตรฐานและเครื่องมือ การเลือกและการติดตั้งฮาร์ดแวร์และซอฟต์แวร์ที่ใช้ในการพัฒนา ใช้งาน หรือบำรุงรักษาซอฟต์แวร์)
- การปรับปรุง (การประเมิน การวัด การควบคุม และปรับปรุงกระบวนการวงจรชีวิต)
- การฝึกอบรม (การฝึกอบรมเบื้องต้นและการพัฒนาพนักงานอย่างต่อเนื่องในภายหลัง)
แต่ละขั้นตอนประกอบด้วยกิจกรรมจำนวนหนึ่ง ตัวอย่างเช่น กระบวนการได้มาซึ่งครอบคลุมขั้นตอนต่อไปนี้:
- การเข้าซื้อกิจการ
- การเตรียมการประมูล
- การจัดเตรียมและการปรับสัญญา
- การกำกับดูแลซัพพลายเออร์
- การยอมรับและเสร็จสิ้นการทำงาน
การดำเนินการแต่ละครั้งประกอบด้วยงานจำนวนหนึ่ง ตัวอย่างเช่น การเตรียมการประมูลควรรวมถึง:
- การก่อตัวของข้อกำหนดสำหรับระบบ
- การก่อตัวของรายการผลิตภัณฑ์ซอฟต์แวร์
- การกำหนดเงื่อนไขและข้อตกลง
- คำอธิบายของข้อจำกัดทางเทคนิค (สภาพแวดล้อมการทำงานของระบบ ฯลฯ)
ระยะวงจรชีวิตของซอฟต์แวร์ ความสัมพันธ์ระหว่างกระบวนการและขั้นตอน
แบบจำลองวงจรชีวิตของซอฟต์แวร์- โครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ของกระบวนการ การกระทำ และงานตลอดวงจรชีวิต แบบจำลองวงจรชีวิตขึ้นอยู่กับลักษณะเฉพาะ ขนาดและความซับซ้อนของโครงการ และเงื่อนไขเฉพาะที่ระบบถูกสร้างขึ้นและดำเนินการ
มาตรฐาน GOST R ISO/IEC 12207-99 ไม่มีรูปแบบวงจรชีวิตเฉพาะ ข้อกำหนดนี้เป็นเรื่องปกติสำหรับแบบจำลองวงจรชีวิต วิธีการ และเทคโนโลยีสำหรับการสร้าง IP อธิบายโครงสร้างของกระบวนการวงจรชีวิตโดยไม่ระบุวิธีการดำเนินการหรือดำเนินกิจกรรมและงานที่รวมอยู่ในกระบวนการเหล่านี้
โมเดลวงจรชีวิตของซอฟต์แวร์ประกอบด้วย:
- ขั้นตอน;
- ผลงานในแต่ละขั้นตอน
- เหตุการณ์สำคัญ - จุดสำเร็จของงานและการตัดสินใจ
เวที- ส่วนหนึ่งของกระบวนการสร้างซอฟต์แวร์ ซึ่งถูกจำกัดโดยกรอบเวลาหนึ่งและสิ้นสุดด้วยการเปิดตัวผลิตภัณฑ์เฉพาะ (รุ่น ส่วนประกอบซอฟต์แวร์ เอกสารประกอบ) ซึ่งกำหนดโดยข้อกำหนดที่ระบุไว้สำหรับขั้นตอนนี้
ในแต่ละขั้นตอน สามารถดำเนินการหลายกระบวนการที่กำหนดไว้ใน ISO / IEC 12207-99 และในทางกลับกัน กระบวนการเดียวกันสามารถทำได้ในขั้นตอนที่ต่างกัน ความสัมพันธ์ระหว่างกระบวนการและขั้นตอนยังกำหนดโดยแบบจำลองวงจรชีวิตของซอฟต์แวร์ที่ใช้
โมเดลวงจรชีวิตของซอฟต์แวร์
แบบจำลองวงจรชีวิตเป็นที่เข้าใจกันว่าเป็นโครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ของกระบวนการ กิจกรรม และงานที่ดำเนินการตลอดวงจรชีวิต แบบจำลองวงจรชีวิตขึ้นอยู่กับลักษณะเฉพาะของระบบข้อมูลและลักษณะเฉพาะของเงื่อนไขที่สร้างและดำเนินการอย่างหลัง
จนถึงปัจจุบัน รูปแบบวงจรชีวิตหลักที่ใช้กันอย่างแพร่หลายที่สุดคือ:
- โมเดลงาน;
- แบบจำลองน้ำตก (หรือระบบ) (70-85);
- แบบเกลียว (ปัจจุบัน)
โมเดลงาน
เมื่อพัฒนาระบบ "จากล่างขึ้นบน" จากงานแต่ละงานไปจนถึงทั้งระบบ (แบบจำลองงาน) วิธีเดียวในการพัฒนาจะสูญหายไปอย่างหลีกเลี่ยงไม่ได้ ปัญหาต่างๆ เกิดขึ้นในการเชื่อมต่อข้อมูลของแต่ละส่วนประกอบ ตามกฎแล้ว เมื่อจำนวนงานเพิ่มขึ้น ความยากก็เพิ่มขึ้น คุณต้องเปลี่ยนแปลงไปเรื่อยๆ โปรแกรมที่มีอยู่และโครงสร้างข้อมูล อัตราการพัฒนาระบบช้าลงซึ่งทำให้การพัฒนาองค์กรช้าลง อย่างไรก็ตาม ในบางกรณี เทคโนโลยีนี้อาจเหมาะสม:
- ความเร่งด่วนสุดขีด (จำเป็นที่อย่างน้อยงานจะได้รับการแก้ไขจากนั้นคุณต้องทำทุกอย่างอีกครั้ง);
- การทดลองและการปรับตัวของลูกค้า (อัลกอริทึมไม่ชัดเจน การแก้ปัญหาถูกรวบรวมโดยการลองผิดลองถูก)
ข้อสรุปทั่วไปคือเป็นไปไม่ได้ที่จะสร้างระบบข้อมูลขนาดใหญ่ที่มีประสิทธิภาพเพียงพอด้วยวิธีนี้
โมเดลน้ำตก
โมเดลน้ำตกวงจรชีวิตถูกเสนอในปี 1970 โดย Winston Royce มีการดำเนินการตามลำดับของทุกขั้นตอนของโครงการในลำดับที่คงที่อย่างเคร่งครัด การเปลี่ยนผ่านไปยังขั้นตอนถัดไปหมายถึงการทำงานในขั้นตอนก่อนหน้าเสร็จสมบูรณ์ (รูปที่ 1) ข้อกำหนดที่กำหนดไว้ในขั้นตอนการสร้างข้อกำหนดได้รับการจัดทำเป็นเอกสารอย่างเคร่งครัดในรูปแบบของเงื่อนไขอ้างอิงและกำหนดไว้ตลอดระยะเวลาการพัฒนาโครงการ แต่ละขั้นตอนสิ้นสุดลงในการเปิดตัวชุดเอกสารที่สมบูรณ์เพียงพอสำหรับการพัฒนาเพื่อให้ทีมพัฒนาอื่นดำเนินการต่อไป
แง่บวกของการใช้วิธีการแบบเรียงซ้อนมีดังนี้:
- ในแต่ละขั้นตอนจะมีการจัดชุดเอกสารโครงการที่ตรงตามเกณฑ์ความสมบูรณ์และความสม่ำเสมอ
- ขั้นตอนของงานที่ดำเนินการตามลำดับตรรกะช่วยให้คุณวางแผนระยะเวลาของการทำงานทั้งหมดให้เสร็จสิ้นและค่าใช้จ่ายที่เกี่ยวข้อง
ขั้นตอนโครงการตามแบบน้ำตก:
- การก่อตัวของข้อกำหนด
- ออกแบบ;
- การดำเนินการ;
- การทดสอบ;
- การดำเนินการ;
- การดำเนินงานและการบำรุงรักษา.
ข้าว. 1. โครงการพัฒนาแบบเรียงซ้อน
แนวทางของ Waterfall ได้พิสูจน์ตัวเองแล้วในการสร้างระบบข้อมูล ซึ่งในตอนเริ่มต้นของการพัฒนา ข้อกำหนดทั้งหมดสามารถกำหนดได้อย่างแม่นยำและสมบูรณ์ เพื่อให้นักพัฒนามีอิสระในการปรับใช้ให้ดีที่สุดจากมุมมองทางเทคนิค หมวดหมู่นี้รวมถึงความซับซ้อน ระบบการตั้งถิ่นฐาน, ระบบเรียลไทม์และงานอื่นๆ ที่คล้ายคลึงกัน อย่างไรก็ตาม ในกระบวนการของการใช้แนวทางนี้ มีการค้นพบข้อบกพร่องหลายประการ สาเหตุหลักมาจากข้อเท็จจริงที่ว่ากระบวนการที่แท้จริงของการสร้างระบบนั้นไม่เหมาะกับรูปแบบที่เข้มงวดเช่นนี้เลย ในกระบวนการสร้าง มีความจำเป็นต้องกลับไปที่ขั้นตอนก่อนหน้าและชี้แจงหรือแก้ไขก่อนหน้านี้อย่างต่อเนื่อง ตัดสินใจแล้ว. ส่งผลให้กระบวนการสร้างซอฟต์แวร์ที่แท้จริงมีรูปแบบดังนี้ (รูปที่ 2):
ข้าว. 2. กระบวนการจริงของการพัฒนาซอฟต์แวร์ตามโครงการน้ำตก
ข้อเสียเปรียบหลักของวิธีการเรียงซ้อนคือความล่าช้าอย่างมากในการได้ผลลัพธ์ การประสานงานของผลลัพธ์กับผู้ใช้จะดำเนินการเฉพาะในจุดที่วางแผนไว้หลังจากเสร็จสิ้นการทำงานแต่ละขั้นตอน ข้อกำหนดสำหรับระบบข้อมูลจะ "หยุดนิ่ง" ในรูปแบบของงานด้านเทคนิคตลอดระยะเวลาของการสร้าง ดังนั้นผู้ใช้สามารถส่งความคิดเห็นได้ก็ต่อเมื่องานบนระบบเสร็จสมบูรณ์เท่านั้น หากข้อกำหนดไม่ได้ระบุไว้อย่างถูกต้องหรือเปลี่ยนแปลงในช่วงระยะเวลานานของการพัฒนาซอฟต์แวร์ ผู้ใช้ก็จะได้ระบบที่ไม่ตรงกับความต้องการของตน โมเดล (ทั้งการทำงานและข้อมูล) ของออบเจ็กต์อัตโนมัติอาจล้าสมัยไปพร้อม ๆ กันเมื่อได้รับการอนุมัติ สาระสำคัญของแนวทางที่เป็นระบบในการพัฒนา IS อยู่ในการสลายตัว (การแบ่งพาร์ติชัน) เป็นฟังก์ชันอัตโนมัติ: ระบบแบ่งออกเป็นระบบย่อยการทำงาน ซึ่งจะแบ่งออกเป็นฟังก์ชันย่อย แบ่งออกเป็นงาน และอื่นๆ กระบวนการแบ่งพาร์ติชันจะดำเนินต่อไปจนถึงขั้นตอนเฉพาะ ในขณะเดียวกัน ระบบอัตโนมัติยังคงรักษามุมมองแบบองค์รวมซึ่งส่วนประกอบทั้งหมดเชื่อมต่อถึงกัน ดังนั้น โมเดลนี้มีข้อได้เปรียบหลักของการพัฒนาอย่างเป็นระบบ และข้อเสียหลักคือช้าและมีราคาแพง
แบบเกลียว
จึงขอเสนอเพื่อแก้ปัญหาเหล่านี้ แบบเกลียววงจรชีวิต (รูปที่ 3) ซึ่งพัฒนาขึ้นในช่วงกลางทศวรรษ 1980 โดย Barry Boehm มันขึ้นอยู่กับ ระยะแรกวงจรชีวิต: การวิเคราะห์และการออกแบบ ในขั้นตอนเหล่านี้ ความเป็นไปได้ของการแก้ปัญหาทางเทคนิคจะได้รับการทดสอบโดยการสร้างต้นแบบ
ต้นแบบ- ส่วนประกอบซอฟต์แวร์ที่ใช้งานอยู่ซึ่งใช้ฟังก์ชันแต่ละรายการและอินเทอร์เฟซภายนอก การวนซ้ำแต่ละครั้งสอดคล้องกับการสร้างชิ้นส่วนหรือเวอร์ชันของซอฟต์แวร์ ชี้แจงเป้าหมายและลักษณะของโครงการ ประเมินคุณภาพของผลลัพธ์ที่ได้รับ และวางแผนการทำงานของการทำซ้ำครั้งต่อไป
การทำซ้ำแต่ละครั้งเป็นวัฏจักรการพัฒนาที่สมบูรณ์ซึ่งนำไปสู่การเผยแพร่ผลิตภัณฑ์เวอร์ชันภายในหรือภายนอก (หรือชุดย่อยของผลิตภัณฑ์ขั้นสุดท้าย) ที่ได้รับการปรับปรุงจากการทำซ้ำไปจนถึงการวนซ้ำเพื่อให้กลายเป็นระบบที่สมบูรณ์
การหมุนของเกลียวแต่ละอันสอดคล้องกับการสร้างชิ้นส่วนหรือเวอร์ชันของซอฟต์แวร์ซึ่งมีการระบุเป้าหมายและลักษณะของโครงการ คุณภาพของมันจะถูกกำหนด และมีการวางแผนงานของการหมุนรอบถัดไปของเกลียว ดังนั้นรายละเอียดของโครงการจึงลึกซึ้งและกระชับอย่างสม่ำเสมอและด้วยเหตุนี้จึงเลือกตัวเลือกที่เหมาะสมซึ่งนำไปสู่การดำเนินการ
การพัฒนาโดยการวนซ้ำสะท้อนให้เห็นถึงวัฏจักรเกลียวที่มีอยู่อย่างเป็นกลางของการสร้างระบบ งานที่ไม่สมบูรณ์ในแต่ละขั้นตอนช่วยให้คุณไปยังขั้นตอนถัดไปโดยไม่ต้องรอให้งานปัจจุบันเสร็จสมบูรณ์ ด้วยการพัฒนาแบบวนซ้ำ งานที่ขาดหายไปสามารถสำเร็จได้ในการทำซ้ำครั้งต่อไป งานหลักคือการแสดงให้ผู้ใช้ระบบเห็นผลิตภัณฑ์ที่ใช้การได้โดยเร็วที่สุด ซึ่งจะเป็นการเปิดใช้งานกระบวนการชี้แจงและเพิ่มเติมข้อกำหนด
ปัญหาหลักของวัฏจักรเกลียวคือการกำหนดช่วงเวลาของการเปลี่ยนแปลงไปสู่ขั้นต่อไป เพื่อแก้ปัญหานี้ จำเป็นต้องแนะนำการจำกัดเวลาสำหรับแต่ละช่วงของวงจรชีวิต การเปลี่ยนแปลงจะดำเนินการตามแผน แม้ว่าจะไม่ได้งานที่วางแผนไว้ทั้งหมดแล้วเสร็จก็ตาม แผนถูกร่างขึ้นบนพื้นฐานของข้อมูลสถิติที่ได้รับในโครงการก่อนหน้านี้และ ประสบการณ์ส่วนตัวนักพัฒนา
รูปที่ 3 แบบจำลองเกลียวของวงจรชีวิตของ IS
หนึ่งในแนวทางที่เป็นไปได้ในการพัฒนาซอฟต์แวร์ภายในกรอบการทำงานของแบบจำลองวงจรชีวิตแบบเกลียวคือวิธี Rapid Application Development (RAD) ซึ่งเพิ่งแพร่หลายไปเมื่อเร็วๆ นี้ คำนี้มักจะเข้าใจว่าเป็นกระบวนการพัฒนาซอฟต์แวร์ที่มี 3 องค์ประกอบ:
- ทีมโปรแกรมเมอร์ขนาดเล็ก (ตั้งแต่ 2 ถึง 10 คน)
- สั้น แต่ใช้ตารางการผลิตอย่างระมัดระวัง (ตั้งแต่ 2 ถึง 6 เดือน)
- วงจรวนซ้ำซึ่งนักพัฒนาเมื่อแอปพลิเคชันเริ่มเป็นรูปเป็นร่าง ขอ และนำไปใช้ในผลิตภัณฑ์ตามข้อกำหนดที่ได้รับผ่านการโต้ตอบกับลูกค้า
วงจรชีวิตซอฟต์แวร์ตามระเบียบวิธี RAD ประกอบด้วยสี่ขั้นตอน:
- นิยามข้อกำหนดและขั้นตอนการวิเคราะห์
- ขั้นตอนการออกแบบ
- ขั้นตอนการดำเนินการ
- ขั้นตอนการดำเนินการ
ในการทำซ้ำแต่ละครั้ง จะมีการประเมินสิ่งต่อไปนี้:
- ความเสี่ยงที่จะเกินเงื่อนไขและต้นทุนของโครงการ
- จำเป็นต้องทำซ้ำอีกครั้ง
- ระดับความสมบูรณ์และความถูกต้องของการทำความเข้าใจข้อกำหนดของระบบ
- ความเหมาะสมในการยุติโครงการ
ข้อดีของวิธีการวนซ้ำ:
- การพัฒนาแบบวนซ้ำช่วยให้การแนะนำการเปลี่ยนแปลงในโครงการง่ายขึ้นอย่างมากเมื่อเปลี่ยนแปลงความต้องการของลูกค้า
- เมื่อใช้รุ่นเกลียว องค์ประกอบส่วนบุคคลระบบสารสนเทศถูกรวมเข้าเป็นหนึ่งเดียวอย่างค่อยเป็นค่อยไป ในแนวทางแบบวนซ้ำ การบูรณาการจะเป็นไปอย่างต่อเนื่องแทบทุกประการ เนื่องจากการผสานรวมเริ่มต้นด้วยองค์ประกอบที่น้อยลง จึงมีปัญหาน้อยลงมากในระหว่างการดำเนินการ (ตามการประมาณการบางประการ เมื่อใช้โมเดลการพัฒนา Waterfall การผสานรวมจะใช้ค่าใช้จ่ายทั้งหมดถึง 40% เมื่อสิ้นสุดโครงการ)
- การพัฒนาซ้ำ ๆ ให้ความยืดหยุ่นมากขึ้นในการจัดการโครงการโดยอนุญาตให้ทำการเปลี่ยนแปลงทางยุทธวิธีกับผลิตภัณฑ์ภายใต้การพัฒนา
- วิธีการวนซ้ำช่วยลดความยุ่งยากในการนำส่วนประกอบกลับมาใช้ใหม่ (นำแนวทางส่วนประกอบไปใช้ในการเขียนโปรแกรม) เนื่องจากการระบุ (ระบุ) ส่วนทั่วไปของโครงการทำได้ง่ายกว่ามากเมื่อส่วนเหล่านี้ได้รับการพัฒนาบางส่วนแล้ว มากกว่าพยายามเน้นที่จุดเริ่มต้นของโครงการ การตรวจสอบการออกแบบหลังจากการทำซ้ำครั้งแรกไม่กี่ครั้ง จะเผยให้เห็นส่วนประกอบที่นำกลับมาใช้ใหม่ได้ทั่วไป ซึ่งจะได้รับการปรับปรุงในการทำซ้ำครั้งต่อๆ ไป
- รุ่นเกลียวช่วยให้คุณได้ระบบที่น่าเชื่อถือและเสถียรยิ่งขึ้น เนื่องจากในขณะที่ระบบพัฒนาขึ้น ข้อบกพร่องและจุดอ่อนจะพบและแก้ไขในการทำซ้ำแต่ละครั้ง ในเวลาเดียวกัน พารามิเตอร์ประสิทธิภาพที่สำคัญสามารถปรับได้ ซึ่งในกรณีของโมเดลน้ำตกจะพร้อมใช้งานก่อนการนำระบบไปใช้เท่านั้น
- วิธีการวนซ้ำให้โอกาสในการปรับปรุงกระบวนการพัฒนา - การวิเคราะห์ที่ดำเนินการเมื่อสิ้นสุดการวนซ้ำแต่ละครั้งช่วยให้คุณสามารถประเมินสิ่งที่จำเป็นต้องเปลี่ยนแปลงในองค์กรพัฒนาและปรับปรุงในการทำซ้ำครั้งต่อไป