วงจรชีวิตของซอฟต์แวร์ (วงจรชีวิตของซอฟต์แวร์) วงจรชีวิตของซอฟต์แวร์

วงจรชีวิตของซอฟต์แวร์

วงจรชีวิตของซอฟต์แวร์เป็นช่วงเวลาที่เริ่มต้นจากช่วงเวลาที่มีการตัดสินใจเกี่ยวกับความจำเป็นในการสร้างผลิตภัณฑ์ซอฟต์แวร์และสิ้นสุดในช่วงเวลาของการถอนตัวจากการให้บริการที่สมบูรณ์ (มาตรฐาน IEEE Std 610.12)

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

การวิเคราะห์ระบบและเหตุผลของความต้องการซอฟต์แวร์

การออกแบบซอฟต์แวร์เบื้องต้น (ร่าง) และรายละเอียด (เทคนิค);

การพัฒนาส่วนประกอบซอฟต์แวร์การรวมและการดีบักซอฟต์แวร์โดยรวม

การทดสอบการดำเนินการทดลองและการจำลองซอฟต์แวร์

การใช้งานซอฟต์แวร์เป็นประจำการสนับสนุนการบำรุงรักษาและการวิเคราะห์ผลลัพธ์

การบำรุงรักษาซอฟต์แวร์การดัดแปลงและปรับปรุงการสร้างเวอร์ชันใหม่

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

มาตรฐานวงจรชีวิตของซอฟต์แวร์

GOST 34.601-90

ISO / IEC 12207: 1995 (อะนาล็อกรัสเซีย - GOST R ISO / IEC 12207-99)

การแสดงกราฟิกของโมเดลวงจรชีวิตช่วยให้คุณสามารถเน้นคุณสมบัติและคุณสมบัติบางอย่างของกระบวนการด้วยสายตา

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

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

ความเสี่ยงเกินข้อกำหนดและค่าใช้จ่ายของโครงการ

จำเป็นที่จะต้องทำซ้ำอีกหนึ่งครั้ง

ระดับของความสมบูรณ์และความถูกต้องของการทำความเข้าใจข้อกำหนดสำหรับระบบ

ความเป็นไปได้ของการยกเลิกโครงการ

มาตรฐานซอฟต์แวร์วงจรชีวิตนั้นดำเนินการในสามทิศทาง ทิศทางแรกจัดและส่งเสริมโดยองค์กรระหว่างประเทศเพื่อการมาตรฐาน (ISO - องค์กรมาตรฐานระหว่างประเทศ) และคณะกรรมการเทคนิคไฟฟ้าระหว่างประเทศ (IEC - คณะกรรมการเทคนิคไฟฟ้าระหว่างประเทศ) ในระดับนี้มาตรฐานของกระบวนการทางเทคโนโลยีทั่วไปที่สำคัญที่สุดสำหรับความร่วมมือระหว่างประเทศจะดำเนินการ ทิศทางที่สองกำลังพัฒนาอย่างแข็งขันในสหรัฐอเมริกาโดยสถาบันวิศวกรไฟฟ้าและอิเล็กทรอนิกส์ (IEEE) ในความร่วมมือกับสถาบันมาตรฐานแห่งชาติอเมริกัน (ANSI) มาตรฐาน ISO / IEC และ ANSI / IEEE ส่วนใหญ่จะเป็นคำแนะนำตามธรรมชาติ พื้นที่ที่สามถูกกระตุ้นโดยกระทรวงกลาโหมสหรัฐ (DOD) มาตรฐาน DOD มีผลผูกพันกับ บริษัท ที่ได้รับมอบหมายจากกระทรวงกลาโหมสหรัฐ

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

ขอแนะนำให้แบ่งชุดของขั้นตอนของแบบจำลองวงจรชีวิตนี้ออกเป็นสองส่วนซึ่งแตกต่างกันอย่างมากในคุณลักษณะของกระบวนการลักษณะทางเทคนิคและเศรษฐกิจและปัจจัยที่มีอิทธิพลต่อพวกเขา

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

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

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

ขั้นตอนวงจรชีวิต:

2. การออกแบบ

3. การดำเนินการ

4. ประกอบทดสอบทดสอบ

5. การนำไปใช้ (ปล่อย)

6. เพื่อนเที่ยว

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

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

ออกแบบ

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

การดำเนินงาน

การเขียนรหัสโปรแกรม การใช้งานรวมถึงการพัฒนาการทดสอบและเอกสาร

การประกอบการทดสอบการทดสอบ

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

การใช้งาน (ปล่อย)

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

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

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

คุ้มกัน

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

แบบจำลองวงจรชีวิต

1. น้ำตก ("น้ำตก" รุ่นน้ำตก)

2. การสร้างต้นแบบ

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

3. รูปแบบการวนซ้ำ

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

วิศวกรรมไฟฟ้า) มาตรฐานนี้กำหนดโครงสร้างของวงจรชีวิตที่มีกระบวนการการกระทำและงานที่ต้องดำเนินการในระหว่างการสร้าง PS

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

ควรสังเกตว่าในสหภาพโซเวียตและจากนั้นในรัสเซียการสร้างซอฟต์แวร์ (ซอฟต์แวร์) เป็นครั้งแรกในยุค 70 ของศตวรรษที่ผ่านมาควบคุมโดยมาตรฐานของ GOST ESPD (ระบบรวมของเอกสารโปรแกรม - GOST 19.XXX series) ซึ่งเน้นไปที่ ค่อนข้างง่ายโปรแกรมขนาดเล็กที่สร้างโดยโปรแกรมเมอร์แต่ละคน ในปัจจุบันมาตรฐานเหล่านี้ล้าสมัยในเชิงแนวคิดและในรูปแบบระยะเวลาที่ใช้งานได้หมดอายุและการใช้งานไม่ได้ผล

กระบวนการสร้างระบบอัตโนมัติ (AS) ซึ่งรวมถึงซอฟต์แวร์นั้นควบคุมโดยมาตรฐาน GOST 34.601-90 "เทคโนโลยีสารสนเทศชุดมาตรฐานสำหรับระบบอัตโนมัติขั้นตอนการพัฒนา", GOST 34.602-89 "เทคโนโลยีสารสนเทศชุดมาตรฐานสำหรับระบบอัตโนมัติ งานด้านเทคนิค เพื่อสร้างระบบอัตโนมัติ "และ GOST 34.603-92" เทคโนโลยีสารสนเทศ ประเภทของการทดสอบระบบอัตโนมัติ "อย่างไรก็ตามข้อกำหนดจำนวนมากของมาตรฐานเหล่านี้ล้าสมัยและอื่น ๆ ไม่ได้สะท้อนให้เห็นพอที่จะนำไปใช้สำหรับโครงการที่จริงจังสำหรับการสร้างระบบซอฟต์แวร์ดังนั้นจึงแนะนำให้ใช้มาตรฐานสากลสมัยใหม่ในการพัฒนาประเทศ

ตามมาตรฐาน ISO / IEC 12207 กระบวนการวงจรชีวิตซอฟต์แวร์ทั้งหมดจะถูกแบ่งออกเป็นสามกลุ่ม (รูปที่ 5.1)


รูปที่. 5.1

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

5.2 กระบวนการพื้นฐานของวงจรชีวิตของ PS

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

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

การเริ่มต้นการได้มาซึ่งเกี่ยวข้องกับงานต่อไปนี้:

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

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

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

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

การเตรียมการและการปรับสัญญาประกอบด้วยงานดังต่อไปนี้:

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

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

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

  1. การเริ่มต้นส่งมอบ
  2. การเตรียมการตอบสนองต่อข้อเสนอการสมัคร
  3. การเตรียมสัญญา
  4. การวางแผนงานภายใต้สัญญา
  5. การปฏิบัติและการควบคุมงานตามสัญญาและการประเมิน
  6. การส่งมอบและความสมบูรณ์ของงาน

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

กระบวนการดำเนินงานบนโลกไซเบอร์กิจกรรมและงานขององค์กรของผู้ประกอบการดำเนินงานระบบ กระบวนการดำเนินการรวมถึงขั้นตอนต่อไปนี้

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

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

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

วงจรชีวิตของ IS คือชุดของเหตุการณ์ที่เกิดขึ้นกับระบบระหว่างการสร้างและใช้งาน

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

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

ตามเนื้อผ้าขั้นตอนหลักต่อไปนี้ของวงจรชีวิตของซอฟต์แวร์จะแตกต่าง:

การวิเคราะห์ความต้องการ

ออกแบบ,

การเข้ารหัส (การเขียนโปรแกรม)

การทดสอบและการดีบัก

การดำเนินงานและการบำรุงรักษา.

วงจรชีวิตของซอฟต์แวร์ แบบจำลองน้ำตก

แบบจำลองน้ำตก (70-80 ปี) umes ถือว่าการเปลี่ยนเป็นระยะต่อไปหลังจากเสร็จสิ้นการทำงานในระยะก่อนหน้า

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

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

วงจรชีวิตของซอฟต์แวร์ ตัวแบบทีละขั้นตอนพร้อมการควบคุมระดับกลาง

โมเดลทีละขั้นตอนพร้อมการควบคุมระดับกลาง (80-85) model เป็นรูปแบบซ้ำ ๆ ของการพัฒนาซอฟต์แวร์พร้อมลูปข้อเสนอแนะระหว่างแต่ละขั้นตอน ข้อดีของรุ่นนี้คือการปรับเปลี่ยนระหว่างขั้นตอนนั้นใช้แรงงานน้อยกว่าโมเดลน้ำตก อย่างไรก็ตามอายุการใช้งานของแต่ละขั้นตอนจะขยายออกไปตลอดระยะเวลาการพัฒนาทั้งหมด

ขั้นตอนหลักของการแก้ปัญหา

วัตถุประสงค์ของการเขียนโปรแกรมคือเพื่ออธิบายกระบวนการประมวลผลข้อมูล (ซึ่งต่อไปนี้จะเรียกว่ากระบวนการง่ายๆ)

Data (data) เป็นตัวแทนของข้อเท็จจริงและความคิดในรูปแบบที่เป็นทางการเหมาะสำหรับการถ่ายโอนและการประมวลผลในกระบวนการบางอย่างและข้อมูล (ข้อมูล) เป็นความหมายที่มอบให้กับข้อมูลเมื่อมีการนำเสนอ

การประมวลผลข้อมูลเป็นการประมวลผลลำดับของการกระทำที่เป็นระบบต่อข้อมูล ข้อมูลจะถูกนำเสนอและเก็บไว้ในผู้ให้บริการข้อมูล

การรวบรวมผู้ให้บริการข้อมูลที่ใช้ในการประมวลผลข้อมูลชนิดใดเรียกว่าสื่อข้อมูล

ชุดของข้อมูลที่มีอยู่ในช่วงเวลาใด ๆ ในสภาพแวดล้อมข้อมูล - สถานะของสภาพแวดล้อมข้อมูล

กระบวนการสามารถกำหนดเป็นลำดับของสถานะต่อเนื่องของสภาพแวดล้อมข้อมูลที่แน่นอน

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

เกณฑ์คุณภาพซอฟต์แวร์

ผลิตภัณฑ์เชิงพาณิชย์ (ผลิตภัณฑ์บริการ) ต้องเป็นไปตามข้อกำหนดของลูกค้า

คุณภาพเป็นลักษณะวัตถุประสงค์ของผลิตภัณฑ์ (ผลิตภัณฑ์บริการ) แสดงระดับความพึงพอใจของลูกค้า

ลักษณะคุณภาพ:

› สามารถในการทำงาน - ระบบทำงานและใช้งานฟังก์ชั่นที่ต้องการ

› ความเชื่อถือได้ - ระบบทำงานโดยไม่มีความล้มเหลวและความล้มเหลว

› คืน.

› อย่างมีประสิทธิภาพ - ระบบใช้ฟังก์ชั่นในวิธีที่ดีที่สุด

› ประสิทธิภาพเชิงเศรษฐกิจ - ต้นทุนขั้นต่ำของผลิตภัณฑ์ขั้นสุดท้ายพร้อมผลกำไรสูงสุด

ลักษณะคุณภาพ:

› โดยคำนึงถึงปัจจัยมนุษย์ - ใช้งานง่าย, ความเร็วในการเรียนรู้ที่จะทำงานกับ PP, บำรุงรักษาง่าย, เปลี่ยนแปลง

› ความเบา (พกพาได้) - พกพาโค้ดไปยังแพลตฟอร์มหรือระบบอื่นได้

› ฟังก์ชั่นครบถ้วน - อาจเป็นการใช้งานฟังก์ชั่นภายนอกที่สมบูรณ์ที่สุด

› ความแม่นยำในการคำนวณ

คุณสมบัติอัลกอริทึม

ประสิทธิผล หมายถึงความเป็นไปได้ที่จะได้รับผลลัพธ์หลังจากดำเนินการเป็นจำนวน จำกัด

ความเชื่อมั่น ประกอบด้วยความบังเอิญของผลลัพธ์ที่ได้โดยไม่คำนึงถึงผู้ใช้และวิธีการทางเทคนิคที่ใช้

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

Discreteness - ความเป็นไปได้ของการแบ่งกระบวนการคำนวณที่กำหนดโดยอัลกอริทึมเป็นขั้นตอนแยกความสามารถในการเลือกส่วนของโปรแกรมที่มีโครงสร้างบางอย่าง

วิธีการอธิบายอัลกอริธึม

มีวิธีต่อไปนี้เพื่ออธิบาย (แสดง) อัลกอริทึม:

1. คำอธิบายด้วยวาจา;

2. คำอธิบายของอัลกอริทึมโดยใช้สูตรทางคณิตศาสตร์

3. คำอธิบายกราฟิกของอัลกอริทึมในรูปแบบบล็อกไดอะแกรม

4. คำอธิบายของอัลกอริทึมโดยใช้ pseudocode

5. รวมวิธีการแสดงอัลกอริทึมโดยใช้วาจากราฟิกและวิธีการอื่น ๆ .

6. ใช้มุ้ง Petri

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

คำอธิบายกราฟิก อัลกอริทึมในรูปแบบของผังเป็นคำอธิบายโครงสร้างของอัลกอริทึมโดยใช้รูปทรงเรขาคณิตกับสายการสื่อสาร

แผนผังลำดับงานเป็นการแสดงกราฟิกของวิธีการแก้ปัญหาที่ใช้อักขระพิเศษเพื่อแสดงการดำเนินการ

สัญลักษณ์ที่ประกอบกันเป็นไดอะแกรมบล็อกของอัลกอริทึมถูกกำหนดโดย GOST 19.701-90 GOST นี้สอดคล้องกับมาตรฐานสากลสำหรับการออกแบบอัลกอริธึมดังนั้นบล็อกไดอะแกรมของอัลกอริธึมที่สร้างขึ้นตาม GOST 19.701-90 นั้นมีความเข้าใจอย่างไม่น่าสงสัยในประเทศต่าง ๆ

pseudocode - คำอธิบายโครงสร้างของอัลกอริทึมในภาษาที่เป็นธรรมชาติ pseudocode ใช้โครงสร้างที่เป็นทางการและสัญกรณ์คณิตศาสตร์ทั่วไป ไม่มีกฎไวยากรณ์ที่เข้มงวดสำหรับการเขียน pseudocode

ลองดูตัวอย่างที่ง่ายที่สุด ให้มีความจำเป็นต้องอธิบายอัลกอริทึมสำหรับการแสดงค่าที่ใหญ่ที่สุดของตัวเลขสองตัวบนหน้าจอมอนิเตอร์


เต็มตัว 1 - ตัวอย่างของคำอธิบายของอัลกอริทึมในรูปแบบของบล็อกไดอะแกรม

คำอธิบายของอัลกอริทึมเดียวกันใน pseudocode:

2. ป้อนตัวเลข: Z, X

3. ถ้า Z\u003e X ดังนั้นให้สรุป Z

4. มิฉะนั้นเอาต์พุต X

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

ประเภทอัลกอริทึม

เชิงเส้น

แตกแขนง;

เป็นวงกลม

· อัลกอริทึมเชิงเส้น - ชุดคำสั่ง (คำสั่ง) ดำเนินการตามลำดับทีละรายการ

· ขั้นตอนวิธีการแยก - อัลกอริทึมที่มีเงื่อนไขอย่างน้อยหนึ่งข้ออันเป็นผลมาจากการตรวจสอบว่าคอมพิวเตอร์ให้การเปลี่ยนเป็นหนึ่งในสองขั้นตอนที่เป็นไปได้

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

C. ประเภทข้อมูล

ชนิดข้อมูลเป็นคำอธิบายของช่วงของค่าที่ตัวแปรของชนิดที่ระบุสามารถใช้ได้ ข้อมูลแต่ละประเภทมีลักษณะดังนี้:
1. จำนวนไบต์ที่ถูกครอบครอง (ขนาด)
2. ช่วงของค่าที่ตัวแปรประเภทนี้สามารถใช้ได้

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

โครงสร้างของโปรแกรม C

1. ผู้ประกอบการของภาษา C ++

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

ลอง (<операторы> }
จับ (<объявление исключения>) { <операторы> }
จับ (<объявление исключения>) { <операторы> }
...
จับ (<объявление исключения>) { <операторы> }

ผู้ประกอบการตามเงื่อนไข

ถ้า (<выражение>) <оператор 1>

เปลี่ยนโอเปอเรเตอร์

สวิตซ์ (<выражение>)
(กรณี<константное выражение 1>: <операторы 1>
กรณี<константное выражение 2>: <операторы 2>
...
กรณี<константное выражение N>: <операторы N>
}
ตัวดำเนินการสลับมีวัตถุประสงค์เพื่อเลือกหนึ่งในหลายวิธีของการดำเนินการโปรแกรมทางเลือก การประเมินผลของผู้ประกอบการสวิตช์เริ่มต้นด้วยการประเมินผลของการแสดงออกหลังจากนั้นการควบคุมจะถูกโอนไปยังผู้ประกอบการที่มีเครื่องหมายนิพจน์คงที่เท่ากับมูลค่าการประเมินของการแสดงออก ทางออกจากโอเปอเรเตอร์สวิตช์จะดำเนินการโดยโอเปอเรเตอร์เบรกเกอร์ หากค่าของการแสดงออกไม่เท่ากับการแสดงออกคงที่ใด ๆ แล้วการควบคุมจะถูกโอนไปยังผู้ประกอบการที่มีเครื่องหมายคำหลักเริ่มต้นถ้ามี
ผู้ประกอบการวนกับเงื่อนไข

ในขณะที่ (<выражение>) <оператор>

ผู้ประกอบการวนกับ postcondition

ทำ<оператор> ในขณะที่<выражение>;
ในภาษา C ++ ตัวดำเนินการนี้แตกต่างจากการใช้คลาสสิกของลูปกับ postcondition ซึ่งหากนิพจน์เป็นจริงลูปจะดำเนินต่อไปและไม่ออกจากลูป
ผู้ประกอบการวงจรขั้นตอน

สำหรับ (<начальное выражение>];
[<условное выражение>];
[<выражение приращения>])
<оператор>
เนื้อความของคำสั่ง for ถูกเรียกใช้งานจนกว่านิพจน์เงื่อนไขจะกลายเป็นเท็จ (เท่ากับ 0) นิพจน์เริ่มต้นและนิพจน์ส่วนเพิ่มมักใช้เพื่อเริ่มต้นและแก้ไขพารามิเตอร์ลูปและค่าอื่น ๆ นิพจน์เริ่มต้นจะถูกประเมินหนึ่งครั้งก่อนการทดสอบนิพจน์เงื่อนไขครั้งแรกและนิพจน์ส่วนเพิ่มจะถูกประเมินหลังจากประมวลผลคำสั่งแต่ละครั้ง คุณสามารถละเว้นนิพจน์ส่วนหัวสามวงใดก็ได้หรือเว้นทั้งสามอย่าง (อย่าลืมเว้นเครื่องหมายอัฒภาค) หากละเว้นนิพจน์แบบมีเงื่อนไขจะถือว่าเป็นจริงและลูปจะไม่สิ้นสุด
ตัวดำเนินการวนรอบ stepwise ในภาษา C ++ เป็นโครงสร้างที่ยืดหยุ่นและสะดวกสบายดังนั้นตัวดำเนินการวนรอบที่มีเงื่อนไขก่อนหน้านี้จึงถูกใช้บ่อยมากในภาษา C ++ เนื่องจาก ในกรณีส่วนใหญ่จะสะดวกกว่าในการใช้คำสั่ง for
ทำลายผู้ประกอบการ

หยุดพัก;
คำสั่ง break หยุดการทำงานของ while, do, for และ switch สามารถมีอยู่ในเนื้อหาของข้อความเหล่านี้เท่านั้น การควบคุมจะถูกถ่ายโอนไปยังผู้ควบคุมโปรแกรมหลังจากที่ถูกขัดจังหวะ หากคำสั่ง break ถูกเขียนภายในซ้อนในขณะที่, ทำ, สำหรับ, สลับคำสั่งจากนั้นคำสั่งนั้นจะยกเลิกเฉพาะคำสั่งที่ล้อมรอบทันทีเท่านั้น
ผู้ประกอบการต่อเนื่อง

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

คืน [<выражение>];
คำสั่งส่งคืนสิ้นสุดการดำเนินการของฟังก์ชันที่มีอยู่และส่งคืนการควบคุมไปยังฟังก์ชั่นการโทร การควบคุมจะถูกส่งไปยังจุดของฟังก์ชั่นการโทร

ถ้า (นิพจน์บูลีน)

ผู้ประกอบการ;

ถ้า (นิพจน์บูลีน)

operator_1;

operator_2;

<логическое выражение> ? <выражение_1> : <выражение_2>;

หากค่าของนิพจน์โลจิคัลเป็นจริงจะมีการประเมิน expression_1 มิฉะนั้นจะมีการประเมิน expression_2

สวิตช์ (นิพจน์จำนวนเต็ม)

มูลค่ากรณี _ 1:

statement_sequence_1;

มูลค่ากรณี _2:

statement_sequence_2;

มูลค่า case_n:

statement_sequence_n;

ค่าเริ่มต้น:

statement_sequence_n + 1;

สาขา ค่าเริ่มต้น ไม่สามารถอธิบายได้ มันจะถูกดำเนินการหากไม่มีการแสดงออกที่ระดับสูงกว่าเป็นที่พอใจ

ผู้ประกอบการวน

Turbo C มีโครงสร้างต่อไปนี้ที่อนุญาตให้คุณตั้งโปรแกรมลูป: ในขณะที่ทำในขณะที่ และ สำหรับ ... โครงสร้างของพวกเขาสามารถอธิบายได้ดังนี้

วนรอบด้วยการตรวจสอบสภาพที่ด้านบน:

ผู้ประกอบการคัดเลือก

หากการกระทำที่ต้องดำเนินการในโปรแกรมขึ้นอยู่กับค่าของตัวแปรบางตัวคุณสามารถใช้คำสั่ง select ในเวลาเดียวกันใน C ++ สามารถใช้ตัวแปรตัวเลขเท่านั้นเป็นตัวแปรในคำสั่ง select โดยทั่วไปบันทึกของตัวดำเนินการที่เลือกมีลักษณะดังนี้:

สวิตช์ (ตัวแปร)
{
กรณีค่า 1:
actions1
หยุดพัก;

กรณีค่า 2:
action2
หยุดพัก;
...

ค่าเริ่มต้น:
การกระทำเริ่มต้น
}

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

สวิตช์ (ตัวแปร)
{
กรณีค่า 1:
กรณีค่า 2:
actions1
หยุดพัก;

มูลค่ากรณี 3:
action2
หยุดพัก;
...
}

ตัวอย่างการใช้ตัวเลือก:

int n, x;
...
สวิตช์ (n)
{
กรณีที่ 0:
หยุดพัก; // ถ้า n คือ 0 เราจะไม่ทำการกระทำใด ๆ

กรณีที่ 1:
กรณีที่ 2:
กรณีที่ 3:
x \u003d 3 * n; // ถ้า n คือ 1, 2 หรือ 3 เราจะทำการกระทำบางอย่าง
หยุดพัก;

กรณีที่ 4:
x \u003d n; // ถ้า n คือ 4 ให้ทำอย่างอื่น
หยุดพัก;

ค่าเริ่มต้น:
x \u003d 0; // สำหรับค่าอื่นทั้งหมดของ n ให้ดำเนินการตามค่าเริ่มต้น
}

C. Loop: วนรอบพร้อมพารามิเตอร์

รูปแบบทั่วไปของการเข้า

สำหรับ (การกำหนดค่าเริ่มต้นของพารามิเตอร์ตรวจสอบเงื่อนไขการเลิกจ้างแก้ไขพารามิเตอร์) (

บล็อกของการดำเนินงาน

for เป็น parametric loop (วนซ้ำจำนวนคงที่) ในการจัดระเบียบวงจรดังกล่าวมีความจำเป็นต้องดำเนินการสามอย่าง:

§ การเริ่มต้นพารามิเตอร์ - การกำหนดค่าเริ่มต้นให้กับพารามิเตอร์วน

§ ตรวจสอบสภาพสิ้นสุด - การเปรียบเทียบค่าพารามิเตอร์กับค่าขอบเขตที่แน่นอน

§ การแก้ไขพารามิเตอร์ - เปลี่ยนค่าของพารามิเตอร์ด้วยเนื้อเรื่องแต่ละตอนของเนื้อความลูป

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

ตัวอย่าง

#include
int main () (

สำหรับ (num \u003d 1; num< 5; num++)

printf ("num \u003d% d \\ n", num);

ศรี ห่วงกับเงื่อนไข

รูปแบบทั่วไปของการเข้า

ในขณะที่ (นิพจน์) (

บล็อกของการดำเนินงาน
}

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

ตัวอย่าง

int k \u003d 5;
int i \u003d 1;
int sum \u003d 0;
ขณะที่ฉัน<=k) {

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

บล็อกของการดำเนินงาน
}

ในขณะที่เป็นวงรอบที่มีเงื่อนไขดังนั้นจึงค่อนข้างเป็นไปได้ที่ร่างกายของลูปจะไม่ถูกเรียกใช้งานแม้แต่ครั้งเดียวหากเงื่อนไขการตรวจสอบกลายเป็นเท็จในเวลาที่ตรวจสอบครั้งแรก

ศรี วนรอบด้วย postcondition

วนซ้ำกับ postcondition ทำ ... ในขณะที่

รูปแบบทั่วไปของการเข้า

บล็อกของการดำเนินงาน

) ในขณะที่ (แสดงออก);

วนรอบด้วย postcondition

do ... while loop เป็นลูปที่มี postcondition ซึ่งความจริงของนิพจน์จะถูกตรวจสอบหลังจากการดำเนินการทั้งหมดที่รวมอยู่ในบล็อกที่ล้อมรอบด้วยวงเล็บปีกกาถูกดำเนินการแล้วเนื้อความของลูปจะถูกดำเนินการจนกระทั่งนิพจน์กลายเป็นเท็จนั่นคือเนื้อหาของลูป ครั้งหนึ่ง

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

ตัวอย่าง... ป้อนตัวเลขตั้งแต่ 0 ถึง 10

#include
#include
int main () (

ระบบ ("chcp 1251");

printf ("โปรดป้อนตัวเลขระหว่าง 0 ถึง 10:");

scanf ("% d", & NUM)

) ในขณะที่ ((จำนวน< 0) || (num > 10));

printf ("คุณป้อนหมายเลข% d", NUM);

getchar (); getchar ();

การกำหนดฟังก์ชั่น

ลองพิจารณาคำจำกัดความของฟังก์ชันโดยใช้ตัวอย่างฟังก์ชันผลรวม

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

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

การพัฒนา VT กำลังขยายชั้นเรียนอย่างต่อเนื่องเพื่อแก้ไขที่เกี่ยวข้องกับการประมวลผลข้อมูลในลักษณะที่แตกต่างกัน

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

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

2) งานสำหรับการประมวลผลข้อมูลสัญลักษณ์ที่เกี่ยวข้องกับการสร้างการแก้ไขและการแปลงข้อมูลข้อความ การแก้ปัญหาของงานดังกล่าวมีความเกี่ยวข้องกับงานตัวอย่างของเลขาพิมพ์ดีด

3) งานสำหรับประมวลผลข้อมูลกราฟิกเช่น ไดอะแกรมภาพวาดกราฟสเก็ตช์ ฯลฯ งานดังกล่าวรวมถึงงานพัฒนาภาพวาดของผลิตภัณฑ์ใหม่โดยนักออกแบบ

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

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

เทคโนโลยีการเขียนโปรแกรม ศึกษากระบวนการทางเทคโนโลยีและลำดับขั้นตอน (ขั้นตอน) โดยใช้ความรู้วิธีการและวิธีการ

สะดวกในการกำหนดลักษณะเทคโนโลยีในสองมิติ - แนวตั้ง (แสดงถึงกระบวนการ) และแนวนอน (แทนระยะ)

ภาพ

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

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

การพัฒนาซอฟต์แวร์เป็นไปตามวงจรชีวิตที่กำหนดไว้

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


a) ล้าสมัย;

b) การสูญเสียความจำเป็นในการแก้ปัญหาที่เกี่ยวข้อง

แนวทางเทคโนโลยีเป็นกลไกการดำเนินการวงจรชีวิต

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

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

วงจรชีวิตของการพัฒนาซอฟต์แวร์สามารถนำเสนอด้วยองศาที่แตกต่างของรายละเอียดของขั้นตอน มุมมองวงจรชีวิตที่ง่ายที่สุดรวมถึงขั้นตอน:

ออกแบบ

การดำเนินงาน

การทดสอบและการดีบัก

การดำเนินการการดำเนินงานและการบำรุงรักษา

การเป็นตัวแทนที่ง่ายที่สุดของวงจรชีวิตของโปรแกรม (วิธีการทางเทคโนโลยีของน้ำตกเพื่อรักษาวงจรชีวิต):

กระบวนการ

ออกแบบ

การเขียนโปรแกรม

การทดสอบ

คุ้มกัน

การดำเนินการออกแบบการทดสอบการดำเนินการ

และการแก้จุดบกพร่องและการบำรุงรักษา

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

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

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

ขั้นตอนการดำเนินงานรวมถึงการเขียนโปรแกรม

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

ซอฟต์แวร์วงจรชีวิตถูกควบคุมโดยมาตรฐานจำนวนมากรวมถึงซอฟต์แวร์ระดับสากล

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

การสรุปประสบการณ์และผลการวิจัยของผู้เชี่ยวชาญหลายคน

ดำเนินการเกี่ยวกับกระบวนการทางเทคโนโลยีและเทคนิคการพัฒนารวมถึงพื้นฐานวิธีการสำหรับระบบอัตโนมัติ

มาตรฐานรวมถึง:

กฎสำหรับการอธิบายข้อมูลเบื้องต้นวิธีการและวิธีการปฏิบัติงาน

กำหนดกฎเกณฑ์สำหรับการควบคุมกระบวนการทางเทคโนโลยี

กำหนดข้อกำหนดสำหรับการนำเสนอผลลัพธ์

ควบคุมเนื้อหาของเอกสารเทคโนโลยีและการดำเนินงาน

กำหนดโครงสร้างองค์กรของทีมพัฒนา

ให้การกระจายงานและการกำหนดเวลา;

ให้การควบคุมความคืบหน้าของการสร้าง PS

ในรัสเซียมีมาตรฐานที่ควบคุมวงจรชีวิต:

ขั้นตอนการพัฒนาซอฟต์แวร์ - GOST 19.102-77

ขั้นตอนของการพัฒนา NPP - GOST 34.601 –90;

ข้อกำหนดการอ้างอิงสำหรับการสร้าง AU - GOST 34.602-89

ประเภทของการทดสอบ AC - GOST 34.603-92;

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

ในเรื่องนี้มาตรฐานสากล ISO / IEC 12207-1999 - "เทคโนโลยีสารสนเทศ - กระบวนการวงจรชีวิตซอฟต์แวร์" ควรได้รับการบันทึกไว้

ISO - องค์การระหว่างประเทศว่าด้วยการกำหนดมาตรฐาน - องค์การระหว่างประเทศเพื่อการมาตรฐาน, IEC - คณะกรรมการ Electrotechnical นานาชาติ - คณะกรรมการ Electrotechnical นานาชาติ

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

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

โครงสร้างวงจรชีวิตซอฟต์แวร์ตามมาตรฐานสากล ISO / IEC 12207-95 ขึ้นอยู่กับกระบวนการสามกลุ่ม:

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

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

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

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) เสร็จสิ้นการดำเนินงาน

การดำเนินการเหล่านี้สามารถจัดกลุ่มได้โดยเน้นถึงขั้นตอนหลักของการพัฒนาซอฟต์แวร์ตามอัตภาพดังนี้

·คำแถลงปัญหา (TZ) (ตาม GOST 19.102-77 ขั้นตอน "ข้อกำหนดการอ้างอิง")

บทความที่คล้ายกัน

2020 choosevoice.ru ธุรกิจของฉัน. การบัญชี เรื่องราวความสำเร็จ ไอเดีย เครื่องคิดเลข นิตยสาร.