ทำธุรกิจอย่างไรให้ประสบความสำเร็จ
  • บ้าน
  • ตกแต่ง
  • วงจรชีวิตของซอฟต์แวร์ (SOFTW) วัฏจักรการพัฒนาซอฟต์แวร์และเหตุการณ์สำคัญ คุณรู้อะไรเกี่ยวกับวงจรการพัฒนาซอฟต์แวร์บ้าง

วงจรชีวิตของซอฟต์แวร์ (SOFTW) วัฏจักรการพัฒนาซอฟต์แวร์และเหตุการณ์สำคัญ คุณรู้อะไรเกี่ยวกับวงจรการพัฒนาซอฟต์แวร์บ้าง

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

กระบวนการวงจรชีวิตซอฟต์แวร์:

ขั้นพื้นฐาน,

เสริม

องค์กร.


หลัก:

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.

ด้านเหล่านี้คือ:

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

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

5.6. รุ่นและขั้นตอนของวงจรชีวิตซอฟต์แวร์

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

มาตรฐาน ISO/IEC 12207 ไม่ได้เสนอแบบจำลองวงจรชีวิตเฉพาะและวิธีการพัฒนาซอฟต์แวร์ ข้อกำหนดนี้เป็นเรื่องปกติสำหรับแบบจำลองวงจรชีวิต วิธีการ และเทคโนโลยีของการพัฒนาซอฟต์แวร์ มาตรฐานนี้อธิบายโครงสร้างของกระบวนการวงจรชีวิตของซอฟต์แวร์ แต่ไม่ได้ระบุวิธีการนำไปใช้หรือดำเนินการกิจกรรมและงานที่รวมอยู่ในกระบวนการเหล่านี้

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

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

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

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

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

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

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

    • แบบจำลอง "AS-IS" ("ตามที่เป็น") ที่สะท้อนถึงสถานะปัจจุบันของกิจการในองค์กร ณ เวลาที่ทำการสำรวจ และช่วยให้คุณเข้าใจวิธีการทำงานขององค์กร ตลอดจนระบุปัญหาคอขวดและกำหนดข้อเสนอเพื่อปรับปรุง สถานการณ์;
    • โมเดล "TO-BE" ("ตามที่ควรจะเป็น") สะท้อนแนวคิดเทคโนโลยีใหม่ๆ ในการทำงานขององค์กร

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

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

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

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

    พื้นฐานของโครงการระบบคือแบบจำลองของระบบที่ออกแบบซึ่งสร้างขึ้นจากรุ่น "TO-BE" ผลลัพธ์ของการพัฒนาโครงการระบบควรเป็นข้อกำหนดเฉพาะของซอฟต์แวร์ที่ได้รับการอนุมัติและยืนยันแล้ว: ข้อมูลจำเพาะด้านการทำงาน ทางเทคนิค และอินเทอร์เฟซ ซึ่งยืนยันความสมบูรณ์ การตรวจสอบได้ และความเป็นไปได้

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

ผลลัพธ์ของการออกแบบโดยละเอียดคือการพัฒนาข้อกำหนดซอฟต์แวร์ที่ผ่านการตรวจสอบแล้ว ซึ่งรวมถึง:

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

ความสมบูรณ์ของขั้นตอนการออกแบบโดยละเอียดคือแบบ 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 ให้ขั้นตอนและขั้นตอนต่อไปนี้ในการสร้างระบบอัตโนมัติ:

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

แบบร่าง การออกแบบทางเทคนิค และเอกสารประกอบการทำงานเป็นโครงสร้างที่สอดคล้องกันของโซลูชันการออกแบบที่แม่นยำยิ่งขึ้น อนุญาตให้แยกขั้นตอน "การออกแบบร่าง" และขั้นตอนการทำงานแต่ละขั้นตอนในทุกขั้นตอน รวมขั้นตอน "การออกแบบทางเทคนิค" และ "เอกสารประกอบโดยละเอียด" ลงใน "การออกแบบโดยละเอียด" พร้อมกันดำเนินการขั้นตอนและงานต่างๆ รวมถึงขั้นตอนเพิ่มเติม

มาตรฐานนี้ไม่เหมาะสำหรับการพัฒนาในปัจจุบัน: กระบวนการหลายอย่างไม่ได้สะท้อนออกมาเพียงพอ และข้อกำหนดบางอย่างล้าสมัย

ISO/IEC 12207/ และการประยุกต์ใช้

ISO/IEC 12207: 1995 "เทคโนโลยีสารสนเทศ - กระบวนการวงจรชีวิตซอฟต์แวร์" เป็นเอกสารเชิงบรรทัดฐานหลักที่ควบคุมองค์ประกอบของกระบวนการวงจรชีวิตซอฟต์แวร์ กำหนดกรอบวงจรชีวิตที่มีกระบวนการ กิจกรรม และงานที่ต้องทำให้เสร็จในระหว่างการพัฒนาซอฟต์แวร์

แต่ละกระบวนการแบ่งออกเป็นชุดของการกระทำ แต่ละการกระทำเป็นชุดของงาน แต่ละกระบวนการ การดำเนินการ หรืองานจะเริ่มต้นและดำเนินการโดยกระบวนการอื่นตามความจำเป็น และไม่มีลำดับการดำเนินการที่กำหนดไว้ล่วงหน้า การเชื่อมต่อโดยข้อมูลอินพุตจะถูกรักษาไว้

กระบวนการวงจรชีวิตของซอฟต์แวร์

  • หลัก:
    • การได้มา (การดำเนินการและงานของลูกค้าที่ซื้อซอฟต์แวร์)
    • การส่งมอบ (กิจกรรมและงานของซัพพลายเออร์ที่จัดหาผลิตภัณฑ์หรือบริการซอฟต์แวร์ให้กับลูกค้า)
    • การพัฒนา (การดำเนินการและงานที่ดำเนินการโดยนักพัฒนา: การสร้างซอฟต์แวร์ การเขียนแบบเอกสารการออกแบบและการปฏิบัติงาน การเตรียมเอกสารการทดสอบและการฝึกอบรม ฯลฯ)
    • การดำเนินงาน (การดำเนินการและงานของผู้ปฏิบัติงาน - องค์กรที่ดำเนินการระบบ)
    • การบำรุงรักษา (การดำเนินการและงานที่ดำเนินการโดยองค์กรที่เกี่ยวข้องนั่นคือบริการบำรุงรักษา) การบำรุงรักษา - การเปลี่ยนแปลงซอฟต์แวร์เพื่อแก้ไขจุดบกพร่อง ปรับปรุงประสิทธิภาพ หรือปรับให้เข้ากับสภาพการทำงานหรือข้อกำหนดที่เปลี่ยนแปลงไป
  • ตัวช่วย
    • เอกสารประกอบ (คำอธิบายอย่างเป็นทางการของข้อมูลที่สร้างขึ้นระหว่างวงจรชีวิตของซอฟต์แวร์)
    • การจัดการการกำหนดค่า (การประยุกต์ใช้ขั้นตอนการบริหารและทางเทคนิคตลอดวงจรชีวิตของซอฟต์แวร์เพื่อกำหนดสถานะของส่วนประกอบซอฟต์แวร์ จัดการการแก้ไข)
    • การประกันคุณภาพ (ตรวจสอบให้แน่ใจว่า IS และกระบวนการของวงจรชีวิตเป็นไปตามข้อกำหนดที่ระบุและแผนที่ได้รับอนุมัติ)
    • การตรวจสอบ (การพิจารณาว่าผลิตภัณฑ์ซอฟต์แวร์ซึ่งเป็นผลมาจากการดำเนินการบางอย่าง เป็นไปตามข้อกำหนดหรือเงื่อนไขอันเนื่องมาจากการกระทำก่อนหน้านี้)
    • การรับรอง (การกำหนดความสมบูรณ์ของการปฏิบัติตามข้อกำหนดที่ระบุและระบบที่สร้างขึ้นโดยมีวัตถุประสงค์การทำงานเฉพาะ)
    • การประเมินร่วม (การประเมินสถานะงานในโครงการ: การควบคุมการวางแผนและการจัดการทรัพยากรบุคลากรอุปกรณ์เครื่องมือ)
    • การตรวจสอบ (การกำหนดการปฏิบัติตามข้อกำหนด แผน และเงื่อนไขของสัญญา)
    • การแก้ปัญหา (การวิเคราะห์และการแก้ปัญหาโดยไม่คำนึงถึงที่มาหรือแหล่งที่มาซึ่งค้นพบในระหว่างการพัฒนา การดำเนินงาน การบำรุงรักษาหรือกระบวนการอื่น ๆ )
  • องค์กร
    • การจัดการ (กิจกรรมและงานที่ดำเนินการโดยฝ่ายใดฝ่ายหนึ่งที่จัดการกระบวนการของตน)
    • การสร้างโครงสร้างพื้นฐาน (การเลือกและการบำรุงรักษาเทคโนโลยี มาตรฐานและเครื่องมือ การเลือกและการติดตั้งฮาร์ดแวร์และซอฟต์แวร์ที่ใช้ในการพัฒนา ใช้งาน หรือบำรุงรักษาซอฟต์แวร์)
    • การปรับปรุง (การประเมิน การวัด การควบคุม และปรับปรุงกระบวนการวงจรชีวิต)
    • การฝึกอบรม (การฝึกอบรมเบื้องต้นและการพัฒนาพนักงานอย่างต่อเนื่องในภายหลัง)

แต่ละขั้นตอนประกอบด้วยกิจกรรมจำนวนหนึ่ง ตัวอย่างเช่น กระบวนการได้มาซึ่งครอบคลุมขั้นตอนต่อไปนี้:

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

การดำเนินการแต่ละครั้งประกอบด้วยงานจำนวนหนึ่ง ตัวอย่างเช่น การเตรียมการประมูลควรรวมถึง:

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

ระยะวงจรชีวิตของซอฟต์แวร์ ความสัมพันธ์ระหว่างกระบวนการและขั้นตอน

แบบจำลองวงจรชีวิตของซอฟต์แวร์- โครงสร้างที่กำหนดลำดับของการดำเนินการและความสัมพันธ์ของกระบวนการ การกระทำ และงานตลอดวงจรชีวิต แบบจำลองวงจรชีวิตขึ้นอยู่กับลักษณะเฉพาะ ขนาดและความซับซ้อนของโครงการ และเงื่อนไขเฉพาะที่ระบบถูกสร้างขึ้นและดำเนินการ

มาตรฐาน GOST R ISO/IEC 12207-99 ไม่มีรูปแบบวงจรชีวิตเฉพาะ ข้อกำหนดนี้เป็นเรื่องปกติสำหรับแบบจำลองวงจรชีวิต วิธีการ และเทคโนโลยีสำหรับการสร้าง IP อธิบายโครงสร้างของกระบวนการวงจรชีวิตโดยไม่ระบุวิธีการดำเนินการหรือดำเนินกิจกรรมและงานที่รวมอยู่ในกระบวนการเหล่านี้

โมเดลวงจรชีวิตของซอฟต์แวร์ประกอบด้วย:

  1. ขั้นตอน;
  2. ผลงานในแต่ละขั้นตอน
  3. เหตุการณ์สำคัญ - จุดสำเร็จของงานและการตัดสินใจ

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

ในแต่ละขั้นตอน สามารถดำเนินการหลายกระบวนการที่กำหนดไว้ใน ISO / IEC 12207-99 และในทางกลับกัน กระบวนการเดียวกันสามารถทำได้ในขั้นตอนที่ต่างกัน ความสัมพันธ์ระหว่างกระบวนการและขั้นตอนยังกำหนดโดยแบบจำลองวงจรชีวิตของซอฟต์แวร์ที่ใช้

โมเดลวงจรชีวิตของซอฟต์แวร์

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

จนถึงปัจจุบัน รูปแบบวงจรชีวิตหลักที่ใช้กันอย่างแพร่หลายที่สุดคือ:

  • โมเดลงาน;
  • แบบจำลองน้ำตก (หรือระบบ) (70-85);
  • แบบเกลียว (ปัจจุบัน)

โมเดลงาน

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

  • ความเร่งด่วนสุดขีด (จำเป็นที่อย่างน้อยงานจะได้รับการแก้ไขจากนั้นคุณต้องทำทุกอย่างอีกครั้ง);
  • การทดลองและการปรับตัวของลูกค้า (อัลกอริทึมไม่ชัดเจน การแก้ปัญหาถูกรวบรวมโดยการลองผิดลองถูก)

ข้อสรุปทั่วไปคือเป็นไปไม่ได้ที่จะสร้างระบบข้อมูลขนาดใหญ่ที่มีประสิทธิภาพเพียงพอด้วยวิธีนี้

โมเดลน้ำตก

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

แง่บวกของการใช้วิธีการแบบเรียงซ้อนมีดังนี้:

  • ในแต่ละขั้นตอนจะมีการจัดชุดเอกสารโครงการที่ตรงตามเกณฑ์ความสมบูรณ์และความสม่ำเสมอ
  • ขั้นตอนของงานที่ดำเนินการตามลำดับตรรกะช่วยให้คุณวางแผนระยะเวลาของการทำงานทั้งหมดให้เสร็จสิ้นและค่าใช้จ่ายที่เกี่ยวข้อง

ขั้นตอนโครงการตามแบบน้ำตก:

  1. การก่อตัวของข้อกำหนด
  2. ออกแบบ;
  3. การดำเนินการ;
  4. การทดสอบ;
  5. การดำเนินการ;
  6. การดำเนินงานและการบำรุงรักษา.

ข้าว. 1. โครงการพัฒนาแบบเรียงซ้อน

แนวทางของ Waterfall ได้พิสูจน์ตัวเองแล้วในการสร้างระบบข้อมูล ซึ่งในตอนเริ่มต้นของการพัฒนา ข้อกำหนดทั้งหมดสามารถกำหนดได้อย่างแม่นยำและสมบูรณ์ เพื่อให้นักพัฒนามีอิสระในการปรับใช้ให้ดีที่สุดจากมุมมองทางเทคนิค หมวดหมู่นี้รวมถึงความซับซ้อน ระบบการตั้งถิ่นฐาน, ระบบเรียลไทม์และงานอื่นๆ ที่คล้ายคลึงกัน อย่างไรก็ตาม ในกระบวนการของการใช้แนวทางนี้ มีการค้นพบข้อบกพร่องหลายประการ สาเหตุหลักมาจากข้อเท็จจริงที่ว่ากระบวนการที่แท้จริงของการสร้างระบบนั้นไม่เหมาะกับรูปแบบที่เข้มงวดเช่นนี้เลย ในกระบวนการสร้าง มีความจำเป็นต้องกลับไปที่ขั้นตอนก่อนหน้าและชี้แจงหรือแก้ไขก่อนหน้านี้อย่างต่อเนื่อง ตัดสินใจแล้ว. ส่งผลให้กระบวนการสร้างซอฟต์แวร์ที่แท้จริงมีรูปแบบดังนี้ (รูปที่ 2):

ข้าว. 2. กระบวนการจริงของการพัฒนาซอฟต์แวร์ตามโครงการน้ำตก

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

แบบเกลียว

จึงขอเสนอเพื่อแก้ปัญหาเหล่านี้ แบบเกลียววงจรชีวิต (รูปที่ 3) ซึ่งพัฒนาขึ้นในช่วงกลางทศวรรษ 1980 โดย Barry Boehm มันขึ้นอยู่กับ ระยะแรกวงจรชีวิต: การวิเคราะห์และการออกแบบ ในขั้นตอนเหล่านี้ ความเป็นไปได้ของการแก้ปัญหาทางเทคนิคจะได้รับการทดสอบโดยการสร้างต้นแบบ

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

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

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

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

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

รูปที่ 3 แบบจำลองเกลียวของวงจรชีวิตของ IS

หนึ่งในแนวทางที่เป็นไปได้ในการพัฒนาซอฟต์แวร์ภายในกรอบการทำงานของแบบจำลองวงจรชีวิตแบบเกลียวคือวิธี Rapid Application Development (RAD) ซึ่งเพิ่งแพร่หลายไปเมื่อเร็วๆ นี้ คำนี้มักจะเข้าใจว่าเป็นกระบวนการพัฒนาซอฟต์แวร์ที่มี 3 องค์ประกอบ:

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

วงจรชีวิตซอฟต์แวร์ตามระเบียบวิธี RAD ประกอบด้วยสี่ขั้นตอน:

  • นิยามข้อกำหนดและขั้นตอนการวิเคราะห์
  • ขั้นตอนการออกแบบ
  • ขั้นตอนการดำเนินการ
  • ขั้นตอนการดำเนินการ

ในการทำซ้ำแต่ละครั้ง จะมีการประเมินสิ่งต่อไปนี้:

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

ข้อดีของวิธีการวนซ้ำ:

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

บทความที่เกี่ยวข้องยอดนิยม