ХОНХ

Энэ мэдээг чамаас өмнө уншсан хүмүүс бий.
Шинэ нийтлэлүүдийг хүлээн авахын тулд бүртгүүлээрэй.
Имэйл
Нэр
Овог
Та Хонхыг хэрхэн уншихыг хүсч байна вэ?
Спам байхгүй

Амьдралын мөчлөг програм хангамж

Програм хангамжийн дизайны арга зүйн үндсэн ойлголтуудын нэг бол түүний програм хангамжийн амьдралын мөчлөгийн (SO) тухай ойлголт юм. Програм хангамжийн амьдралын мөчлөг гэдэг нь түүнийг бий болгох хэрэгцээний талаар шийдвэр гаргасан мөчөөс эхэлж, үйлчилгээнээс бүрэн татгалзсан мөчид дуусдаг тасралтгүй үйл явц юм.

Програм хангамжийн амьдралын мөчлөгийг зохицуулах гол зохицуулалтын баримт бичиг нь олон улсын стандарт ISO/IEC 12207 (ISO - Олон улсын стандартчиллын байгууллага, IEC - Олон улсын цахилгаан техникийн комисс) юм. Энэ нь програм хангамжийг бүтээх явцад гүйцэтгэх ёстой үйл явц, үйл ажиллагаа, даалгавруудыг агуулсан амьдралын мөчлөгийн бүтцийг тодорхойлдог. Энэ стандартад Програм хангамж (програм хангамжийн бүтээгдэхүүн)багц гэж тодорхойлсон компьютерийн програмууд, журам болон магадгүй холбогдох баримт бичиг, өгөгдөл. Үйл явцоролтын зарим өгөгдлийг гаралтын өгөгдөл болгон хувиргах харилцан уялдаатай үйлдлүүдийн цогц гэж тодорхойлогддог. Процесс бүр нь тодорхой даалгавар, тэдгээрийг шийдвэрлэх арга, бусад процессоос олж авсан өгөгдөл, үр дүнгээр тодорхойлогддог.

ISO/IEC 12207 стандартын дагуу програм хангамжийн амьдралын мөчлөгийн бүтэц нь гурван бүлэг процесс дээр суурилдаг.

· Програм хангамжийн амьдралын мөчлөгийн үндсэн үйл явц (худалдан авах, хүргэх, хөгжүүлэх, ажиллуулах, дэмжих);

· үндсэн үйл явцын хэрэгжилтийг хангах туслах процессууд (баримт бичиг, тохиргооны удирдлага, чанарын баталгаа, баталгаажуулалт, баталгаажуулалт, үнэлгээ, аудит, асуудлыг шийдвэрлэх);

· зохион байгуулалтын үйл явц (төслийн удирдлага, төслийн дэд бүтцийг бий болгох, амьдралын мөчлөгийг тодорхойлох, үнэлэх, сайжруулах, сургалт).

Програм хангамжийн амьдралын мөчлөгийн загварууд

Амьдралын мөчлөгийн загвар- гүйцэтгэлийн дараалал, амьдралын мөчлөгийн туршид гүйцэтгэсэн үе шат, үе шатуудын хамаарлыг тодорхойлдог бүтэц. Амьдралын мөчлөгийн загвар нь програм хангамжийн онцлог, програм хангамжийг бий болгож, ажиллуулах тодорхой нөхцлөөс хамаарна. Амьдралын мөчлөгийн үндсэн загварууд нь дараах байдалтай байна.

1. Каскадын загвар(XX зууны 70-аад он хүртэл) өмнөх үе шат дууссаны дараа дараагийн шат руу дараалсан шилжилтийг тодорхойлдог.

Энэ загвар нь мэдээллийн нэгдмэл байдал, нийцтэй байдал, програм хангамж, техникийн болон зохион байгуулалтын интерфэйс шаарддаггүй бие даасан харилцан хамааралгүй ажлуудыг автоматжуулах замаар тодорхойлогддог.

Нэр төр: хувь хүний ​​асуудлыг шийдвэрлэхэд хөгжлийн хугацаа, найдвартай байдлын хувьд сайн үзүүлэлтүүд.

Алдаа: Загварын урт хугацааны туршид системийн шаардлагын өөрчлөлтийн улмаас том, нарийн төвөгтэй төслүүдэд хамаарахгүй.

2. Давталтын загвар(XX зууны 70-80-аад он) нь "доороос дээш" дизайны технологид нийцдэг. Дараагийн шатыг дуусгасны дараа өмнөх үе шатууд руу давтагдахыг зөвшөөрдөг;


Энэхүү загвар нь бие даасан асуудлуудын олж авсан дизайны шийдлүүдийг системийн хэмжээнд нэгтгэх боломжийг олгодог. Энэ тохиолдолд өмнө нь боловсруулсан шаардлагуудыг эргэн харах шаардлагатай байна.

Нэр төр:төсөлд хурдан тохируулга хийх чадвар.

Алдаа:Олон тооны давталттай үед дизайн хийх хугацаа нэмэгдэж, дизайны шийдэл, баримт бичигт зөрүү гарч, бүтээгдсэн програм хангамжийн функциональ болон системийн архитектур андуурч байна. Хуучин системийг дахин төлөвлөх эсвэл шинэ системийг бий болгох хэрэгцээ нь хэрэгжилт эсвэл ашиглалтын үе шат дууссаны дараа шууд гарч ирж болно.

3. Спираль загвар(XX зууны 80-90-ээд он) нь "дээрээс доош" дизайны технологид нийцдэг. Програм хангамжийг өргөтгөх боломжийг олгодог програм хангамжийн прототипийг ашиглахтай холбоотой. Системийн загвар нь нарийвчилсан шаардлагуудаас эхлээд програмын кодыг нарийвчлан гаргах хүртэлх замыг мөчлөгөөр давтдаг.

Системийн архитектурыг төлөвлөхдөө эхлээд функциональ дэд системүүдийн бүрэлдэхүүнийг тодорхойлж, системийн хэмжээний асуудлуудыг (нэгдсэн мэдээллийн сангийн зохион байгуулалт, мэдээлэл цуглуулах, дамжуулах, хадгалах технологи) шийддэг. Дараа нь бие даасан асуудлуудыг томъёолж, тэдгээрийг шийдвэрлэх технологийг боловсруулдаг.

Програмчлал хийхдээ эхлээд толгойнуудыг нь хөгжүүлдэг програм хангамжийн модулиуд, дараа нь - бие даасан функцийг гүйцэтгэдэг модулиуд. Нэгдүгээрт, модулиудын бие биетэйгээ болон мэдээллийн сантай харилцан үйлчлэл, дараа нь алгоритмын хэрэгжилт хангагдана.

Давуу тал:

1. давталтын тоог багасгах, улмаар засч залруулах шаардлагатай алдаа, зөрчлийн тоог багасгах;

2. дизайны хугацааг багасгах;

3. төслийн баримт бичгийг бүрдүүлэх ажлыг хялбарчлах.

Алдаа:системийн хэмжээний агуулахын чанарт тавигдах өндөр шаардлага (нийтлэг дизайны мэдээллийн сан).

Спираль загвар нь суурь юм програм боловсруулах хурдацтай технологиэсвэл ирээдүйн системийг бий болгох үйл явцад эцсийн хэрэглэгчдийн идэвхтэй оролцоог хамарсан RAD технологи (түргэн програм хөгжүүлэх). Мэдээллийн инженерчлэлийн үндсэн үе шатууд нь дараах байдалтай байна.

· Мэдээллийн стратегийн шинжилгээ, төлөвлөлт.Хэрэглэгчид мэргэжлийн хөгжүүлэгчдийн хамт асуудлын талбарыг тодорхойлоход оролцдог.

· Дизайн.Хэрэглэгчид хөгжүүлэгчдийн удирдлаган дор техникийн дизайн хийхэд оролцдог.

· Барилга.Хөгжүүлэгчид 4-р үеийн хэлийг ашиглан програм хангамжийн ажлын хувилбарыг зохион бүтээдэг;

· Хэрэгжилт.Хөгжүүлэгчид хэрэглэгчдийг шинэ програм хангамжийн орчинд ажиллахад сургадаг.

Програм хангамжийн амьдралын мөчлөг

Програм хангамжийн амьдралын мөчлөг гэдэг нь програм хангамжийн бүтээгдэхүүнийг бий болгох шаардлагатай гэсэн шийдвэр гаргасан мөчөөс эхэлж, үйлчилгээнээс бүрэн хасагдсан мөчид дуусдаг хугацаа юм. (IEEE Std 610.12)

Програм хангамжийн амьдралын мөчлөгийн (LC) үе шатуудыг тодорхойлох хэрэгцээ нь хөгжүүлэгчид асуудлыг тодорхойлохоос эхлээд програм хангамжийн зохиогчийн дэмжлэг хүртэл хөгжлийн оновчтой менежмент, чанарын хяналтын янз бүрийн механизмуудыг ашиглах замаар програм хангамжийн чанарыг сайжруулах хүсэл эрмэлзэлтэй холбоотой юм. Програм хангамжийн амьдралын мөчлөгийн хамгийн ерөнхий дүрслэл нь үндсэн үе шатууд - процессууд хэлбэрээр загвар юм, үүнд:

Системийн шинжилгээ, програм хангамжийн шаардлагуудын үндэслэл;

Програм хангамжийн урьдчилсан (ноорог) болон нарийвчилсан (техникийн) зураг төсөл;

Програм хангамжийн бүрэлдэхүүн хэсгүүдийг хөгжүүлэх, тэдгээрийг нэгтгэх, програм хангамжийг бүхэлд нь дибаг хийх;

Туршилтууд, туршилтын ажиллагааболон програм хангамжийн хуулбар;

Програм хангамжийг тогтмол ажиллуулах, ажиллахад дэмжлэг үзүүлэх, үр дүнд дүн шинжилгээ хийх;

Програм хангамжийн засвар үйлчилгээ, түүний өөрчлөлт, сайжруулалт, шинэ хувилбаруудыг бий болгох.

Энэ загвар нь ерөнхийдөө хүлээн зөвшөөрөгдсөн бөгөөд дотоодын аль алинд нь нийцдэг зохицуулалтын баримт бичигпрограм хангамж боловсруулах чиглэлээр, мөн гадаад . Технологийн аюулгүй байдлыг хангах үүднээс гадаад загварт амьдралын мөчлөгийн үе шатуудыг төлөөлөх онцлогийг илүү нарийвчлан авч үзэх нь зүйтэй. програм хангамжнь хорлон сүйтгэх төрлийн программ хангамжийн согог үүсгэдэг.

Програм хангамжийн амьдралын мөчлөгийн стандартууд

ГОСТ 34.601-90

ISO/IEC 12207:1995 (Оросын эквивалент - ГОСТ Р ISO/IEC 12207-99)

Амьдралын мөчлөгийн загваруудын график дүрслэл нь тэдгээрийн онцлог, үйл явцын зарим шинж чанарыг тодорхой харуулах боломжийг олгодог.

Эхэндээ амьдралын мөчлөгийн каскадын загварыг бий болгосон бөгөөд үр дүнг ашиглан үндсэн үе шатууд ар араасаа эхэлдэг өмнөх бүтээлүүд. Энэ нь төслийн бүх үе шатыг хатуу тогтоосон дарааллаар дараалан хэрэгжүүлэх боломжийг олгодог. Дараагийн шат руу шилжих нь өмнөх үе шатны ажлыг бүрэн дуусгах гэсэн үг юм. Шаардлагыг бүрдүүлэх үе шатанд тодорхойлсон шаардлагыг техникийн тодорхойлолт хэлбэрээр хатуу баримтжуулж, төслийг бүхэлд нь боловсруулахад бүртгэнэ. Үе шат бүр нь хөгжүүлэлтийг өөр хөгжүүлэлтийн баг үргэлжлүүлэх боломжийг олгоход хангалттай баримт бичгийн иж бүрэн багцыг гаргаснаар төгсдөг. Аливаа шаардлагын буруу эсвэл буруу тайлбар нь төслийн эхний үе шат руу "буцах" шаардлагатай болж, шаардлагатай дахин боловсруулалт нь төслийн багийг хуваарийг нь хасаад зогсохгүй ихэвчлэн чанарын өсөлтөд хүргэдэг. зардал, магадгүй төслийг анх төлөвлөж байсан хэлбэрээр нь дуусгавар болгох хүртэл. Хүрхрээний загварыг зохиогчдын гол буруу ойлголт нь төсөл нь бүхэл бүтэн үйл явцыг нэг удаа туулдаг, зохион бүтээсэн архитектур нь сайн, ашиглахад хялбар, хэрэгжилтийн загвар нь үндэслэлтэй, хэрэгжилтийн алдааг туршилтаар амархан арилгадаг гэсэн таамаглалууд юм. Энэхүү загвар нь бүх алдааг хэрэгжүүлэхэд төвлөрөх болно гэж үздэг тул тэдгээрийг арилгах нь бүрэлдэхүүн хэсгүүд болон системийг турших явцад жигд явагддаг. Тиймээс хүрхрээний загвар нь том төслүүдэд тийм ч бодитой биш бөгөөд зөвхөн жижиг системийг бий болгоход үр дүнтэй ашиглаж болно.

Хамгийн тодорхой нь спираль амьдралын мөчлөгийн загвар юм. Энэ загвар нь давтагдах үйл явцад төвлөрдөг эхний үе шатууддизайн. Эдгээр үе шатанд үзэл баримтлал, шаардлагын тодорхойлолт, урьдчилсан болон нарийвчилсан загваруудыг дараалан гаргадаг. Алхам бүрт ажлын агуулгыг тодруулж, бүтээж буй програм хангамжийн гадаад төрхийг төвлөрүүлж, олж авсан үр дүнгийн чанарыг үнэлж, дараагийн давталтын ажлыг төлөвлөдөг. Давталт бүрт дараахь зүйлийг үнэлнэ.

Төслийн эцсийн хугацаа, зардлыг хэтрүүлэх эрсдэл;

Өөр давталт хийх хэрэгцээ;

Системийн шаардлагыг бүрэн дүүрэн, үнэн зөв ойлгох зэрэг;

Төслийг зогсоох боломж.

Програм хангамжийн амьдралын мөчлөгийн стандартчиллыг гурван чиглэлээр явуулдаг. Эхний чиглэлийг Олон улсын стандартчиллын байгууллага (ISO - Олон улсын стандартын байгууллага) болон Олон улсын цахилгаан техникийн комисс (IEC - Олон улсын цахилгаан техникийн комисс) зохион байгуулж, урамшуулдаг. Энэ түвшинд олон улсын хамтын ажиллагаанд чухал ач холбогдолтой хамгийн ерөнхий технологийн процессуудыг стандартчилдаг. Хоёрдахь чиглэлийг АНУ-д Цахилгаан ба электроникийн инженерүүдийн хүрээлэн (IEEE) Америкийн үндэсний стандартын хүрээлэн (ANSI) хамтран идэвхтэй боловсруулж байна. ISO/IEC болон ANSI/IEEE стандартууд нь үндсэндээ зөвлөх шинж чанартай байдаг. Гурав дахь чиглэлийг АНУ-ын Батлан ​​хамгаалах яам (DOD) өдөөж байна. DOD стандарт нь АНУ-ын Батлан ​​хамгаалах яаманд ажилладаг компаниудад заавал байх ёстой.

Нарийн төвөгтэй систем, ялангуяа бодит цагийн системд зориулсан програм хангамжийг зохион бүтээхийн тулд бүх зүйлийг нэгтгэх үндсэн дээр системийн өргөн хэрэглээний мөчлөгийн загварыг ашиглах нь зүйтэй. алдартай бүтээлүүдавч үзсэн үндсэн үйл явцын хүрээнд. Энэ загвар нь янз бүрийн програм хангамжийн төслүүдийг төлөвлөх, төлөвлөх, удирдахад ашиглах зориулалттай.

Энэхүү амьдралын мөчлөгийн загварын үе шатуудын багцыг үйл явцын онцлог, техник, эдийн засгийн шинж чанар, тэдгээрт нөлөөлж буй хүчин зүйлүүдээр эрс ялгаатай хоёр хэсэгт хуваахыг зөвлөж байна.

Амьдралын мөчлөгийн эхний хэсэгт програм хангамжийн системийн шинжилгээ, дизайн, хөгжүүлэлт, туршилт, туршилтыг гүйцэтгэдэг. Эдгээр үе шатуудын ажлын цар хүрээ, түүний нарийн төвөгтэй байдал, үргэлжлэх хугацаа болон бусад шинж чанарууд нь объект, хөгжлийн орчноос ихээхэн хамаардаг. Програм хангамжийн янз бүрийн ангиллын ийм хамаарлыг судлах нь програм хангамжийн шинэ хувилбаруудын ажлын хуваарийн бүтэц, үндсэн шинж чанарыг урьдчилан таамаглах боломжийг бидэнд олгодог.

Програм хангамжийн ашиглалт, засвар үйлчилгээнд үзүүлэх дэмжлэгийг тусгасан амьдралын мөчлөгийн хоёр дахь хэсэг нь объект болон хөгжүүлэлтийн орчны шинж чанаруудтай харьцангуй сул холбоотой байдаг. Эдгээр үе шатуудын ажлын цар хүрээ нь илүү тогтвортой боловч тэдгээрийн хөдөлмөрийн эрч хүч, үргэлжлэх хугацаа нь ихээхэн ялгаатай байж болох бөгөөд програм хангамжийн өргөн хэрэглээнээс хамаарна. Ямар ч амьдралын мөчлөгийн загвар, заалт Өндөр чанар програм хангамжийн системүүдЭдгээр үе шат бүрт зохицуулалттай технологийн процессыг ашиглах үед л боломжтой. Энэ процессыг хөгжүүлэлтийн автоматжуулалтын хэрэгслээр дэмждэг бөгөөд үүнийг ашиглах боломжтой зүйлсээс сонгох эсвэл хөгжүүлэх объект, түүнд тохирсон ажлын жагсаалтыг харгалзан тэдгээрийг үүсгэхийг зөвлөж байна.

Сэдэв: Сонгодог ба уян хатан LCPP загварууд: тодорхойлолт, тайлбар, ялгаатай шинж чанарууд, үе шатуудын дараалал. Төрөл бүрийн сэдвээр програм хангамж боловсруулахдаа LCPP загварыг сонгох арга.


Мэдээллийн эх сурвалж https://www.intuit.ru/studies/courses/3632/874/print_lecture/14297

Програм хангамжийн амьдралын мөчлөгийн загвар ба үе шатууд

Програм хангамжийн амьдралын мөчлөгийн загвар нь програм хангамжийн амьдралын мөчлөгийн туршид үйл явц, үйлдэл, даалгаврын гүйцэтгэлийн дараалал, харилцаа холбоог тодорхойлдог бүтэц гэж ойлгогддог. Амьдралын мөчлөгийн загвар нь төслийн онцлог, цар хүрээ, нарийн төвөгтэй байдал, системийг бий болгож, ажиллуулах тодорхой нөхцлөөс хамаарна.

ISO/IEC 12207 стандарт нь амьдралын мөчлөгийн тодорхой загвар болон програм хангамж хөгжүүлэх аргыг санал болгодоггүй. Түүний заалтууд нь аливаа амьдралын мөчлөгийн загвар, арга, програм хангамж хөгжүүлэх технологид ерөнхий юм. Стандарт нь програм хангамжийн амьдралын мөчлөгийн үйл явцын бүтцийг тодорхойлсон боловч эдгээр процесст багтсан үйлдэл, даалгаврыг хэрхэн хэрэгжүүлэх, гүйцэтгэхийг заагаагүй болно.

Аливаа тодорхой програм хангамжийн амьдралын мөчлөгийн загвар нь түүнийг бий болгох үйл явцын мөн чанарыг тодорхойлдог бөгөөд энэ нь цаг хугацаанд нь захиалсан, харилцан уялдаатай, үе шат (үе шат) болгон нэгтгэсэн ажлын багц бөгөөд хэрэгжүүлэх нь шаардлагатай бөгөөд шаардлагатай програм хангамжийг бий болгоход хангалттай юм. заасан шаардлага.

Програм хангамжийг бий болгох үе шат (үе шат) нь тодорхой хугацаанд хязгаарлагдаж, шаардлагаар тодорхойлогдсон тодорхой бүтээгдэхүүн (програм хангамжийн загвар, програм хангамжийн бүрэлдэхүүн хэсэг, баримт бичиг гэх мэт) гарахад дуусдаг програм хангамжийг бий болгох үйл явцын нэг хэсэг гэж ойлгогддог. Энэ үе шатанд зориулагдсан. Програм хангамжийг бий болгох үе шатуудыг тодорхой үр дүнд хүргэх ажлыг оновчтой төлөвлөх, зохион байгуулах шалтгаанаар ялгадаг. Програм хангамжийн амьдралын мөчлөг нь ихэвчлэн дараах үе шатуудыг агуулдаг.

  1. програм хангамжийн шаардлагыг бүрдүүлэх;
  2. дизайн (хөгжил системийн төсөл);
  3. хэрэгжилт (дэд үе шат болгон хувааж болно: нарийвчилсан дизайн, кодчилол);
  4. туршилт (бие даасан болон нэгдсэн туршилт, интеграцид хуваагдаж болно);
  5. ашиглалтад оруулах (хэрэгжүүлэх);
  6. ашиглалт, засвар үйлчилгээ;
  7. ашиглалтаас гаргах.

Зарим шинжээчид нэмэлт эхний шатыг танилцуулж байна - техник эдийн засгийн шинжилгээсистемүүд. Энд бид програм хангамжийг бий болгох, худалдан авах эсвэл өөрчлөхөд зориулагдсан техник хангамж, програм хангамжийн системийг хэлж байна.

Програм хангамжийн шаардлагыг бүрдүүлэх үе шат нь хамгийн чухал үе шатуудын нэг бөгөөд бүхэл бүтэн төслийн амжилтыг мэдэгдэхүйц (тэр ч байтугай шийдвэрлэх!) хэмжээгээр тодорхойлдог. Энэ үе шатны эхлэл нь техник хангамж, програм хангамжийн хооронд функцийг хуваарилах үндсэн хэлэлцээрийг багтаасан батлагдсан, батлагдсан системийн архитектурыг олж авах явдал юм. Энэ баримт бичиг нь мөн баталгаажуулалтыг агуулсан байх ёстой ерөнхий санааПрограм хангамжийн үйл ажиллагааны талаар, түүний дотор хүн ба системийн хоорондох функцийг хуваарилах үндсэн хэлэлцээрүүд.

Програм хангамжийн шаардлагыг бий болгох үе шат нь дараах үе шатуудыг агуулна.

  1. Төсөл дээр ажиллахын өмнө ажлын төлөвлөлт. Үе шатын гол зорилго нь хөгжлийн зорилт, урьдчилсан байдлаар тодорхойлох явдал юм эдийн засгийн үнэлгээтөсөл, ажлын хуваарь гаргах, хамтарсан ажлын хэсэг байгуулах, сургах.
  2. Автоматжуулсан байгууллага (объект) -ийн үйл ажиллагааны судалгааг хийх, түүний хүрээнд ирээдүйн тогтолцоонд тавигдах шаардлагыг урьдчилан тодорхойлох, байгууллагын бүтцийг тодорхойлох, байгууллагын зорилтот чиг үүргийн жагсаалтыг тодорхойлох, хэлтэс, ажилтнуудын хооронд чиг үүргийн хуваарилалтад дүн шинжилгээ хийх, хэлтэс хоорондын функциональ харилцан үйлчлэл, хэлтэс доторх болон хоорондын мэдээллийн урсгал, байгууллагын гаднах объектууд, гадны мэдээллийн нөлөөллийг тодорхойлох, байгууллагын үйл ажиллагааг автоматжуулах одоо байгаа арга хэрэгсэлд дүн шинжилгээ хийх.
  3. Судалгааны материалыг боловсруулж, хоёр төрлийн загварыг бий болгохыг хамарсан байгууллагын (объект) үйл ажиллагааны загварыг бий болгох.

    • "AS-IS" ("байгаагаар") загвар нь судалгаа явуулах үеийн байгууллагын өнөөгийн байдлыг тусгаж, тухайн байгууллага хэрхэн үйл ажиллагаа явуулж байгааг ойлгох, түүнчлэн саад бэрхшээлийг тодорхойлж, сайжруулах саналыг боловсруулах боломжийг олгодог. нөхцөл байдал;
    • Байгууллагын шинэ технологийн санааг тусгасан "TO-BE" ("яаж байх ёстой") загвар.

Загвар бүр нь байгууллагын үйл ажиллагааны бүрэн функциональ болон мэдээллийн загвар, түүнчлэн (шаардлагатай бол) байгууллагын зан үйлийн динамикийг тодорхойлсон загварыг агуулсан байх ёстой. Баригдсан загварууд нь аж ахуйн нэгжид мэдээллийн системийг боловсруулж, хэрэгжүүлэх эсэхээс үл хамааран бие даасан практик ач холбогдолтой болохыг анхаарна уу, учир нь тэдний тусламжтайгаар ажилчдыг сургах, аж ахуйн нэгжийн бизнесийн үйл явцыг сайжруулах боломжтой юм.

Програм хангамжийн шаардлагыг бий болгох үе шатыг дуусгасны үр дүн нь програм хангамжийн техникийн үзүүлэлтүүд, функциональ, техникийн болон интерфейсийн үзүүлэлтүүд бөгөөд тэдгээрийн бүрэн бүтэн байдал, баталгаажуулалт, боломжит байдлыг баталгаажуулсан болно.

Загварын үе шат нь дараах үе шатуудыг агуулна.

  1. Програм хангамжийн системийн төслийг боловсруулах. Энэ үе шатанд "Ирээдүйн систем юу хийх ёстой вэ?" Гэсэн асуултын хариултыг өгсөн болно, тухайлбал: системийн архитектур, түүний чиг үүрэг, үйл ажиллагааны гадаад нөхцөл, интерфейс ба хэрэглэгчид болон системийн хоорондох функцүүдийн хуваарилалт, програм хангамжид тавигдах шаардлага. Мэдээллийн бүрэлдэхүүн хэсэг, гүйцэтгэгчдийн бүрэлдэхүүн, эцсийн хугацааг боловсруулах, програм хангамжийг дибаг хийх төлөвлөгөө, чанарын хяналтыг тодорхойлдог.

    Системийн төслийн үндэс нь "TO-BE" загвар дээр бүтээгдсэн зохион бүтээгдсэн системийн загваруудаас бүрддэг. Системийн төслийг боловсруулах үр дүн нь програм хангамжийн шаардлагуудын батлагдсан, батлагдсан тодорхойлолт байх ёстой: функциональ, техникийн болон интерфэйсийн үзүүлэлтүүд, тэдгээрийн бүрэн бүтэн байдал, баталгаажуулалт, боломжит байдлыг баталгаажуулсан.

  2. Нарийвчилсан (техникийн) төсөл боловсруулах. Энэ үе шатанд системийн архитектурын дизайн, нарийвчилсан дизайныг багтаасан бодит програм хангамжийн дизайныг хийдэг. Тиймээс "Шаардлагад нийцсэн тогтолцоог хэрхэн бий болгох вэ?" Гэсэн асуултын хариултыг өгч байна.

Нарийвчилсан дизайны үр дүн нь баталгаажсан програм хангамжийн тодорхойлолтыг боловсруулах явдал бөгөөд үүнд:

  • програм хангамжийн бүрэлдэхүүн хэсгүүдийн шатлал, өгөгдөл, менежментийн модуль хоорондын интерфейсийг бүрдүүлэх;
  • Програм хангамжийн бүрэлдэхүүн хэсэг бүрийн тодорхойлолт, нэр, зорилго, таамаглал, хэмжээс, дуудлагын дараалал, оролт, гаралтын өгөгдөл, алдаа гаралт, алгоритмба логик хэлхээ;
  • бие даасан талбаруудын түвшинд хүртэл физик, логик өгөгдлийн бүтцийг бий болгох;
  • тооцоолох нөөцийг хуваарилах төлөвлөгөө боловсруулах (төв процессорын цаг, санах ой гэх мэт);
  • шаардлагын бүрэн байдал, уялдаа холбоо, үндэслэл, үндэслэлтэй эсэхийг шалгах;
  • нэгтгэх, дибаг хийх урьдчилсан төлөвлөгөө, хэрэглэгчийн гарын авлага, хүлээн авах туршилтын төлөвлөгөө.

Нарийвчилсан дизайны үе шатыг дуусгах нь төслийн төгсгөлийн хяналт эсвэл төслийн чухал блок, блокийн шинжилгээ юм.

Хэрэгжүүлэх үе шат - дараах ажлуудыг дуусгах.

  1. Дэд програм бүрийн баталгаажуулсан нарийвчилсан тодорхойлолтыг боловсруулах (100-аас илүүгүй дээд түвшний хэлний командын блок).

    Гадаад техникийн үзүүлэлтүүд нь дараахь мэдээллийг агуулсан байх ёстой.

    • модулийн нэр - модулийг дуудах нэрийг заана (олон оролттой модулийн хувьд оролт тус бүрийн хувьд тусдаа техникийн үзүүлэлтүүд байх ёстой);
    • функц – модулийн гүйцэтгэсэн функц эсвэл функцийн тодорхойлолтыг өгсөн;
    • модульд дамжуулсан параметрийн жагсаалт (тоо ба дараалал);
    • оролтын параметрүүд - модулийн буцаасан бүх өгөгдлийн нарийн тодорхойлолт (ямар ч оролтын нөхцөлд модулийн үйл ажиллагааг тодорхойлсон байх ёстой);
    • гадаад нөлөө (мессеж хэвлэх, терминалын хүсэлтийг унших гэх мэт).
  2. Модулийн логик болон програмчлалын (кодчлолын) модулиудыг зохион бүтээх.
  3. Модулиудын зөв байдлыг шалгаж байна.
  4. Туршилтын модулиуд.
  5. Мэдээллийн сангийн тодорхойлолтыг түвшинд хүргэх бие даасан параметрүүд, тэмдэгтүүд болон битүүд.
  6. Элсэлтийн шалгалтын төлөвлөгөө.
  7. Хэрэглэгчийн гарын авлага.
  8. Интеграцийн болон дибаг хийх урьдчилсан төлөвлөгөө. Дараагийн үе шатуудын агуулга нь үндсэндээ програм хангамжийн амьдралын мөчлөгийн холбогдох үйл явцтай давхцдаг. Ерөнхийдөө ажлын оновчтой, оновчтой төлөвлөлт, зохион байгуулалтыг харгалзан технологийн үе шатуудыг ялгадаг. Ажлын үе шатууд болон програм хангамжийн амьдралын мөчлөгийн процессуудын хоорондын хамаарлыг зурагт үзүүлэв.


Цагаан будаа. 1.

Програм хангамжийн амьдралын мөчлөгийн загваруудын төрлүүд

Хүрхрээний загвар (сонгодог амьдралын мөчлөг)

Энэхүү загвар нь гадаад төрхөөрөө В.Ройс (1970)-д өртэй. Энэ загвар нь бас өөр нэртэй - хүрхрээ. Загварын онцлог нь дараагийн үе шат руу шилжих нь өмнөх шатны ажил бүрэн дууссаны дараа л хийгддэг; Дууссан үе шатуудад буцаан олголт байхгүй.


Цагаан будаа. 2.

Боловсруулах, дүн шинжилгээ хийх үе шатанд тодорхойлсон боловсруулсан програм хангамжид тавигдах шаардлагыг техникийн тодорхойлолт хэлбэрээр хатуу баримтжуулж, төслийг бүхэлд нь боловсруулахад бүртгэнэ. Үе шат бүр нь өөр хөгжүүлэлтийн баг үргэлжлүүлэн хөгжүүлэхэд хангалттай баримт бичгийн бүрэн багцыг (TOR, EP, TP, RP) гаргаснаар дуусдаг. Энэхүү аргын дагуу бүтээн байгуулалтын чанарын шалгуур нь техникийн нөхцлийн хэрэгжилтийн үнэн зөв байдал юм. Хөгжүүлэгчдийн гол анхаарал нь оновчтой үнэ цэнэд хүрэх явдал юм техникийн шинж чанарболовсруулсан програм хангамж - гүйцэтгэл, эзэлсэн санах ойн хэмжээ гэх мэт.

Давуу тал каскадын загвар:

  • үе шат бүрт бүрэн гүйцэд, тууштай байх шалгуурыг хангасан дизайны баримт бичгийн иж бүрдлийг бий болгодог;
  • логик дарааллаар гүйцэтгэсэн ажлын үе шатууд нь бүх ажлыг дуусгах хугацаа, холбогдох зардлыг төлөвлөх боломжийг олгодог.

Каскадын арга нь програм хангамжийн системийг бий болгоход өөрийгөө нотолсон бөгөөд үүнд тавигдах бүх шаардлагыг төслийн хамгийн эхэнд бүрэн, тодорхой томъёолж болно. Энэ бүхнийг стандарт, улсын хүлээн авах янз бүрийн комиссууд хянадаг бол энэ схем сайн ажилладаг.

Алдаа дутагдал каскадын загвар:

  • Алдааг зөвхөн туршилтын үе шатанд тодорхойлж, арилгадаг бөгөөд энэ нь ихээхэн цаг хугацаа шаарддаг;
  • бодит төслүүд нь стандарт алхамуудын дарааллаас хазайхыг шаарддаг;
  • мөчлөг нь програм хангамжийн анхны шаардлагуудын нарийн томъёолол дээр суурилдаг; бодит байдал дээр төслийн эхэнд хэрэглэгчийн шаардлагыг зөвхөн хэсэгчлэн тодорхойлдог;
  • Ажлын үр дүнг зөвхөн төсөл дууссаны дараа захиалагч авах боломжтой.

PS амьдралын мөчлөгийн давталт загвар

Өсөлттэй хамт арилжааны төслүүдСистемийг бий болгох явцад түүний үйл ажиллагааны динамик чиглэлээр (бизнес) ажиллах олон тал өөрчлөгддөг тул ирээдүйн системийн дизайныг нарийвчлан боловсруулах нь үргэлж боломжгүй байдаг. Хөгжлийн аль ч үе шат дууссаны дараа шаардлагатай залруулга хийгдсэн байхын тулд хөгжлийн үйл явцыг өөрчлөх шаардлагатай байв. Ингэж PS-ийн амьдралын мөчлөгийн давтагдах загвар гарч ирсэн бөгөөд үүнийг завсрын удирдлагатай загвар эсвэл үе шатуудын мөчлөгийн давталттай загвар гэж нэрлэдэг.


Цагаан будаа. 3.

Дахин давтагдах загварт дизайн, програмчлалын дутагдлыг өмнөх үе шат руу хэсэгчлэн буцаах замаар дараа нь арилгах боломжтой. Алдаа илрүүлэх түвшин бага байх тусам засах нь илүү үнэтэй болно. Хэрэв кодчиллын үе шатанд алдааг илрүүлэх, арилгахад шаардагдах хүчин чармайлтын зардлыг нэг гэж тооцвол шаардлагыг боловсруулах үе шатанд алдааг олж илрүүлэх, арилгах зардал 5-10 дахин бага байх болно. засвар үйлчилгээний шат нь 20 дахин бага болно.илүү.


Цагаан будаа. 4.

Ийм нөхцөлд шаардлагыг боловсруулах, техникийн нөхцөлийг боловсруулах, системийн төлөвлөгөөг бий болгох үе шат маш чухал болж байна. Програм хангамжийн архитекторууд дизайны дараагийн өөрчлөлтийг биечлэн хариуцна. Баримт бичгийн хэмжээ нь хэдэн мянган хуудас бөгөөд батлах уулзалтын тоо асар их юм. Олон төслүүд төлөвлөлтийн үе шатыг хэзээ ч орхиж, "шинжилгээний саажилт" -д ордог. Ийм нөхцөл байдлыг арилгах боломжит аргуудын нэг бол прототип хийх явдал юм.

Зохион байгуулалт

Ихэнхдээ үйлчлүүлэгч ирээдүйн програм хангамжийн бүтээгдэхүүний өгөгдөл оруулах, боловсруулах, гаргахад тавигдах шаардлагыг томъёолж чаддаггүй. Хөгжүүлэгч нь бүтээгдэхүүн нь үйлдлийн системд тохирох эсэх, хэрэглэгчтэй харилцах хэлбэр эсвэл алгоритмын үр дүнтэй эсэхэд эргэлзэж магадгүй юм. Ийм тохиолдолд прототипийг ашиглах нь зүйтэй. Прототип хийх гол зорилго нь хэрэглэгчийн шаардлагын тодорхой бус байдлыг арилгах явдал юм. Layout (prototyping) нь шаардлагатай бүтээгдэхүүний загварыг бий болгох үйл явц юм.

Загвар нь дараах хэлбэртэй байж болно.

  1. Цаасан зураглал (хүн-машины харилцан ярианы диаграмм) эсвэл компьютерт суурилсан зураглал.
  2. Шаардлагатай зарим функцийг хэрэгжүүлдэг ажлын зохион байгуулалт.
  3. Гүйцэтгэлийг нь сайжруулах шаардлагатай одоо байгаа хөтөлбөр.

Зурагт үзүүлснээр загварчлал нь үйлчлүүлэгч болон хөгжүүлэгчийн оролцоотой давтан давталт дээр суурилдаг.


Цагаан будаа. 5.

Прототип хийх явцад хийх үйлдлүүдийн дарааллыг зурагт үзүүлэв. Прототип хийх нь бий болгож буй програм хангамжийн системд тавигдах шаардлагыг цуглуулж, тодруулахаас эхэлдэг. Хөгжүүлэгч болон үйлчлүүлэгч хоёр программ хангамжийн зорилгыг хамтдаа тодорхойлж, аль шаардлагууд нь мэдэгдэж байгаа, алийг нь цаашид тодорхойлох шаардлагатай байгааг тогтооно. Дараа нь хурдан дизайн хийдэг. Энэ нь хэрэглэгчдэд харагдах ёстой шинж чанаруудад анхаарлаа төвлөрүүлдэг. Шуурхай дизайн нь зураг төсөл боловсруулахад хүргэдэг. Төлөвлөлтийг үйлчлүүлэгч үнэлж, програм хангамжийн шаардлагыг тодруулахад ашигладаг. Загвар нь хэрэглэгчийн бүх шаардлагыг илчилж, дизайнер юу хийх хэрэгтэйг ойлгох боломжийг олгох хүртэл давталт үргэлжилнэ.

Прототип хийх давуу тал нь системийн бүрэн шаардлагыг тодорхойлох чадвар юм. Байршлын сул талууд:

  • худалдан авагч бүтээгдэхүүний дизайныг андуурч болно;
  • Хөгжүүлэгч нь бүтээгдхүүний загварыг андуурч магадгүй.

Алдаа дутагдлын мөн чанарыг тайлбарлах хэрэгтэй. Үйлчлүүлэгч программ хангамжийн ажиллаж байгаа хувилбарыг хараад тэр программ хангамжийн ажиллах хувилбарыг эрэлхийлэхэд чанар, чанарын олон асуудал шийдэгдээгүй байдгийг ойлгохоо больдог. дэмжлэг үзүүлэх тав тухтай байдалсистемүүд. Хөгжүүлэгч энэ талаар хэрэглэгчдэд хэлэх үед хариу нь уурлаж, байршлыг хурдан ажиллах бүтээгдэхүүн болгон өөрчлөхийг шаардаж магадгүй юм. Энэ нь програм хангамж боловсруулах менежментэд сөргөөр нөлөөлдөг.


Цагаан будаа. 6.

Нөгөө талаас, ажлын зохион байгуулалтыг хурдан авахын тулд хөгжүүлэгч нь ихэвчлэн тодорхой буулт хийдэг. Жишээлбэл, програмчлалын хэл эсвэл үйлдлийн систем нь хамгийн тохиромжтой биш байж болно. Энгийн үзүүлэнгийн хувьд үр ашиггүй (энгийн) алгоритмыг ашиглаж болно. Хэсэг хугацааны дараа хөгжүүлэгч эдгээр хэрэгслүүд яагаад тохирохгүй байгааг мартдаг. Үүний үр дүнд хамгийн тохиромжтой биш сонгосон сонголтыг системд нэгтгэсэн болно.

Солигдсон бусад програм хангамжийн амьдралын мөчлөгийн загваруудыг авч үзэхийн өмнө каскадын загвар, бид дизайны стратегид анхаарлаа хандуулах ёстой програм хангамжийн системүүд. Энэ нь програм хангамжийн амьдралын мөчлөгийн загварыг голчлон тодорхойлдог програм хангамжийн дизайны стратеги юм.

Програм хангамжийн дизайны стратеги

Програм хангамжийн системийг зохион бүтээх гурван стратеги байдаг:

  • нэг дамжуулалт (дээр дурдсан каскадын стратеги) - дизайны үе шатуудын шугаман дараалал;
  • өсөн нэмэгдэх стратеги. Процессын эхэнд хэрэглэгчийн болон системийн бүх шаардлагыг тодорхойлж, бусад дизайныг хувилбаруудын дарааллаар гүйцэтгэдэг. Эхний хувилбар нь төлөвлөсөн функцүүдийн нэг хэсгийг хэрэгжүүлдэг бол дараагийн хувилбар нь хэрэгжүүлдэг нэмэлт функцуудгэх мэт бүрэн системийг олж авах хүртэл;
  • хувьслын стратеги. Систем нь мөн хувилбаруудын дарааллаар бүтээгдсэн боловч процессын эхэнд бүх шаардлагыг тодорхойлоогүй байна. Хувилбаруудыг боловсруулахын хэрээр шаардлагыг сайжруулдаг. IEEE/EIA 12207 стандартын шаардлагын дагуу програм хангамжийн дизайны стратегийн шинж чанарыг 1-р хүснэгтэд үзүүлэв.

Нэмэлт загвар

Өсөн нэмэгдэж буй загвар нь өсөн нэмэгдэж буй дизайны стратегийн сонгодог жишээ юм. Энэ нь дараалсан хүрхрээ загварын элементүүдийг давтагдах байршлын философитой хослуулсан (сайжруулалт болгон Б. Боем санал болгосон). каскадын загвар). Энд байгаа шугаман дараалал бүр нь нийлүүлсэн програм хангамжийн өсөлтийг үүсгэдэг. Жишээлбэл, 1-р шат (хувилбар) дахь текст боловсруулах програм хангамж нь файл боловсруулах үндсэн функц, засварлах, баримтжуулах функцийг хэрэгжүүлдэг; 2-р шатлалд - илүү төвөгтэй засварлах, баримтжуулах чадвар; 3-р шатлалд - зөв бичгийн дүрэм, дүрмийн шалгалт; 4-р шатанд - хуудасны байршлын боломжууд.

Эхний нэмэгдэл нь үндсэн шаардлагуудыг хэрэгжүүлсэн үндсэн бүтээгдэхүүнийг бий болгодог (хэдийгээр олон туслах шаардлагууд биелэгдээгүй хэвээр байна). Дараагийн өсөлтийн төлөвлөгөө нь үндсэн бүтээгдэхүүнийг нэмэлт функц, функцээр хангахын тулд өөрчлөх явдал юм.

Өсөн нэмэгдэж буй үйл явц нь мөн чанараараа давтагддаг боловч прототип хийхээс ялгаатай нь өсөлтийн загвар нь өсөлт бүрт ажлын бүтээгдэхүүнийг өгдөг.

Ийм програм хангамжийн амьдралын мөчлөгийн загварын диаграммыг зурагт үзүүлэв. Өсөн нэмэгдэж буй аргын орчин үеийн хэрэгжилтийн нэг бол экстрим програмчлал юм (маш бага функциональ өсөлтөд төвлөрдөг).


Цагаан будаа. 7.

Амьдралын мөчлөгийн програм хангамжийн спираль загвар

Спираль загвархувьслын дизайны стратегийн хэрэглээний сонгодог жишээ юм. Энэхүү загвар нь (зохиогч Б. Боем, 1988) сонгодог амьдралын мөчлөг ба прототипийн шилдэг шинж чанарууд дээр үндэслэсэн бөгөөд үүнд эдгээр парадигмуудад байхгүй эрсдлийн шинжилгээ гэсэн шинэ элемент нэмж оруулсан болно. Уг загвар нь спираль дөрвөн квадратаар дүрслэгдсэн дөрвөн үйлдлийг тодорхойлдог.


Цагаан будаа. 8.
  1. Төлөвлөлт - зорилго, сонголт, хязгаарлалтыг тодорхойлох.
  2. Эрсдэлийн шинжилгээ – сонголтуудын дүн шинжилгээ, эрсдэлийг хүлээн зөвшөөрөх/сонголт.
  3. Дизайн - дараагийн түвшний бүтээгдэхүүнийг боловсруулах.
  4. Үнэлгээ - одоогийн дизайны үр дүнгийн талаархи хэрэглэгчийн үнэлгээ.

Нэгтгэх тал спираль загварспираль радиаль хэмжээсийг харгалзан үзэхэд тодорхой байна. Дахин давтагдах бүрт спираль хэлбэрээр илүү ихийг бүтээдэг бүрэн хувилбаруудЖич. Спираль эхний ээлжинд эхний зорилго, сонголт, хязгаарлалтыг тодорхойлж, эрсдэлийг хүлээн зөвшөөрч, дүн шинжилгээ хийдэг. Хэрэв эрсдлийн шинжилгээ нь шаардлагын тодорхой бус байдлыг харуулсан бол дизайны квадрантанд ашигласан прототип нь хөгжүүлэгч болон үйлчлүүлэгчдэд туслах болно.

Асуудалтай, боловсронгуй шаардлагыг цаашид тодорхойлоход симуляцийг ашиглаж болно. Захиалагч инженерийн (дизайн) ажлыг үнэлж, өөрчлөлт оруулах саналыг гаргадаг (хэрэглэгчийн үнэлгээний квадранта). Төлөвлөлт, эрсдэлийн шинжилгээний дараагийн үе шат нь үйлчлүүлэгчийн саналд үндэслэнэ. Спираль мөчлөг бүрт эрсдэлийн шинжилгээний үр дүн нь "үргэлжлүүл, бүү үргэлжлүүл" гэсэн хэлбэрээр үүсдэг. Хэрэв эрсдэл хэт их байвал төслийг зогсоож болно.

Ихэнх тохиолдолд спираль үргэлжилсээр, алхам бүрээр хөгжүүлэгчид системийн илүү ерөнхий загвар руу шилждэг. Спираль мөчлөг бүр нь дизайныг (баруун доод квадрат) шаарддаг бөгөөд үүнийг сонгодог амьдралын мөчлөг эсвэл прототип хийх замаар хэрэгжүүлэх боломжтой. Бид спираль төвөөс холдох тусам хөгжлийн үйл ажиллагааны тоо (баруун доод квадратад тохиолддог) нэмэгддэг гэдгийг анхаарна уу.

Эдгээр үйлдлүүд дугаарлагдсан бөгөөд дараах агуулгатай байна.

  1. - анхны шаардлагыг цуглуулах, төсөл төлөвлөх;
  2. - ижил ажил, гэхдээ хэрэглэгчийн зөвлөмжийн дагуу;
  3. – анхны шаардлагад үндэслэн эрсдэлийн шинжилгээ;
  4. – үйлчлүүлэгчийн хариу үйлдэл дээр үндэслэн эрсдэлийн шинжилгээ;
  5. - нэгдсэн системд шилжих;
  6. - системийн анхны зохион байгуулалт;
  7. - дараагийн түвшний зохион байгуулалт;
  8. - зохион бүтээсэн систем;
  9. - хэрэглэгчийн үнэлгээ.

Давуу тал спираль загвар:

  1. хамгийн бодитойгоор (хувьслын хэлбэрээр) програм хангамжийн хөгжлийг тусгасан;
  2. хөгжлийн хувьслын үе шат бүрт эрсдэлийг тодорхой тооцох боломжийг танд олгоно;
  3. давталттай хөгжлийн бүтцэд системчилсэн хандлагын алхамыг багтаасан;
  4. эрсдэлийг бууруулах, програм хангамжийн бүтээгдэхүүнийг сайжруулахын тулд симуляцийг ашигладаг.

Алдаа дутагдал спираль загвар:

  • харьцуулсан шинэлэг байдал (загварын үр дүнтэй байдлын талаар хангалттай статистик мэдээлэл байхгүй);
  • үйлчлүүлэгчдэд тавигдах шаардлага нэмэгдсэн;
  • Хөгжлийн хугацааг хянах, удирдахад бэрхшээлтэй байдаг.

Спираль хөгжлийн процессын загвар нь өнөөдөр хамгийн түгээмэл байдаг. Үүний хамгийн алдартай хувилбарууд нь Rational-ийн RUP (Rational Unified Process) ба MSF (Microsoft Solution Framework) юм. Загварын хэл болгон UML (Unified Modeling Language) ашигладаг. Системийг бий болгох нь давталттай, спираль хэлбэрээр хөдөлж, ижил үе шатуудыг дамжиж, ирээдүйн бүтээгдэхүүний шинж чанарыг тодорхой болгох ёстой. Одоо бүх зүйл сайхан байгаа юм шиг санагдаж байна: зөвхөн урьдчилан харж болох зүйлийг л төлөвлөж, төлөвлөж байгаа зүйлээ боловсруулж, хэрэглэгчид шаардлагатай тохируулга хийх боломжтой болж, бүтээгдэхүүнтэй урьдчилан танилцаж эхэлдэг.

Гэсэн хэдий ч энэ нь маш их хөрөнгө шаарддаг. Үнэн хэрэгтээ, хэрэв өмнө нь шаардлагатай бол мэргэжилтнүүдийн бүлгийг байгуулж, татан буулгах боломжтой байсан бол одоо тэд бүгд төсөлд байнга оролцох ёстой: архитекторууд, програмистууд, тестерүүд, багш нар гэх мэт. Түүнээс гадна янз бүрийн бүлгүүдийн хүчин чармайлтыг дарааллаар нь синхрончлох ёстой. дизайны шийдвэрийг цаг тухайд нь тусгаж, шаардлагатай өөрчлөлтүүдийг хийх.

Рациональ нэгдсэн үйл явц

Рациональ нэгдсэн үйл явц(Rational Unified Process, RUP) нь програм хангамжийг хөгжүүлэх шилдэг аргуудын нэг юм. Олон амжилттай програм хангамжийн төслүүдийн туршлага дээр үндэслэн RUP нь үйлдвэрлэлийн хөгжлийн аргад суурилсан нарийн төвөгтэй програм хангамжийн системийг бий болгох боломжийг олгодог. RUP-ийн хөгжлийн суурь нь 1980-аад оны эхэн үеэс эхэлдэг. Rational Software корпорацид. 2003 оны эхээр Rational IBM-ийг худалдаж авсан. RUP-ийн тулгуурладаг гол тулгууруудын нэг бол нэгдсэн загварчлалын хэл (UML) ашиглан загвар бүтээх үйл явц юм.

RUP нь спираль програм хангамж хөгжүүлэх аргуудын нэг юм. Аргачлалыг Rational Software компани дэмжиж хөгжүүлдэг. Нэгдсэн загварчлалын хэлийг (UML) ерөнхий мэдлэгийн санд загварчлах хэл болгон ашигладаг. RUP-д програм хангамжийг давтах ба өсөн нэмэгдэж буй хөгжүүлэлт нь төслийг дараалсан хэд хэдэн төсөлд хуваахыг хамардаг бөгөөд хөгжүүлэлтийн давталт бүр нь давталтын төгсгөлд хүрэх ёстой зорилтуудын багцаар тодорхой тодорхойлогддог. Эцсийн давталт нь давталтын зорилтуудын багц нь бүтээгдэхүүний хэрэглэгчийн тодорхойлсон зорилтуудтай яг таарч байх ёстой, өөрөөр хэлбэл бүх шаардлагыг хангасан байх ёстой гэж үздэг.

Үйл явц нь загваруудын хувьсал; хөгжүүлэлтийн мөчлөгийн давталт нь програм хангамжийн загварын тодорхой хувилбартай өвөрмөц тохирдог. Давталт бүр хяналтуудыг агуулна програм хангамжийн амьдралын мөчлөг: шинжилгээ ба дизайн (загварчлал), хэрэгжүүлэх, нэгтгэх, турших, хэрэгжүүлэх. Энэ утгаараа RUP бол хэрэгжилт юм спираль загвар, хэдийгээр ихэвчлэн хүснэгтийн график хэлбэрээр дүрсэлсэн байдаг..

Энэ зураг нь хоёр хэмжигдэхүүнийг илэрхийлдэг: хэвтээ тэнхлэг нь цаг хугацааг илэрхийлж, үйл явцын амьдралын мөчлөгийн цаг хугацааны талыг харуулдаг; босоо тэнхлэг нь үйл явцын физик бүтцийг тодорхойлдог салбаруудыг төлөөлдөг. Төсөлд онцлох зүйл цаг хугацааны явцад хэрхэн өөрчлөгдөж байгааг харж болно. Жишээлбэл, эхний давталт нь шаардлагад илүү их цаг зарцуулдаг; дараагийн давталтуудад хэрэгжүүлэхэд илүү их цаг зарцуулдаг. Хэвтээ тэнхлэг нь цаг хугацааны хувьд үүсдэг - давталтууд, тус бүр нь бие даасан хөгжлийн мөчлөг юм; Циклийн зорилго нь оролцогч талуудын үзэл бодлоос ашиг тустай эцсийн бүтээгдэхүүнд урьдчилан тодорхойлсон бодит сайжруулалтыг авчрах явдал юм.


Цагаан будаа. 9.

Цаг хугацааны тэнхлэгийн дагуу амьдралын мөчлөгийг дөрвөн үндсэн үе шатанд хуваадаг.

  1. Эхлэл - төслийн үзэл баримтлалыг бүрдүүлэх, юу бүтээж байгаагаа ойлгох, бүтээгдэхүүн (алсын хараа), бизнес төлөвлөгөө боловсруулах (бизнесийн тохиолдол), хөтөлбөрийн прототип эсвэл хэсэгчилсэн шийдлийг бэлтгэх. Энэ бол мэдээлэл цуглуулах, шаардлагад дүн шинжилгээ хийх, төслийн дүр төрхийг бүхэлд нь тодорхойлох үе шат юм. Зорилго нь дэмжлэг, санхүүжилт авах явдал юм. Эцсийн давталтын хувьд энэ үе шатны үр дүн нь техникийн тодорхойлолт юм.
  2. Зураг төсөл боловсруулах, боловсруулах (боловсруулах) - төлөвлөгөөг тодруулах, түүнийг хэрхэн бий болгохыг ойлгох, дизайн хийх, шаардлагатай арга хэмжээ, нөөцийг төлөвлөх, онцлог шинж чанаруудыг нарийвчлан гаргах. Архитектурын бүх шийдвэрийг гаргаж, эрсдэлийг тооцсон үед гүйцэтгэх боломжтой архитектураар тайз төгсдөг. Гүйцэтгэх боломжтой архитектур нь архитектурын үндсэн шийдвэрүүдийн хэрэгжилтийг харуулсан програм хангамжийг ажиллуулдаг. Эцсийн давталтын хувьд энэ бол техникийн төсөл юм.
  3. Системийг хэрэгжүүлэх, бий болгох (Барилга) нь архитектурт хамаарах системийн үйл ажиллагааг өргөжүүлэх үе шат юм. Эцсийн давталтын хувьд энэ бол ажлын төсөл юм.
  4. Хэрэгжүүлэх, байршуулах (Шилжилт). Бүтээгдэхүүний эцсийн хувилбарыг бий болгох. Бүтээгдэхүүнийг нэвтрүүлэх үе шат, бүтээгдэхүүнийг тодорхой хэрэглэгчдэд хүргэх (хуулбарлах, хүргэх, сургах).

Босоо тэнхлэг нь салбар бүрээс бүрдэх бөгөөд тэдгээр нь тус бүрийг гүйцэтгэсэн үүрэг даалгавар, тэдгээрийг хариуцах үүрэг, даалгаврын оролт болгон нийлүүлж, хэрэгжүүлэх явцад гаргадаг бүтээгдэхүүн гэх мэтээр илүү нарийвчлан тайлбарлаж болно.

Энэ тэнхлэгийн дагуу RUP амьдралын мөчлөгийн гол салбарууд байдаг бөгөөд тэдгээрийг орос хэл дээр ихэвчлэн процесс гэж нэрлэдэг боловч IBM (болон/эсвэл гуравдагч талын) хэрэглүүрээр дэмжигдсэн энэхүү аргачлалын үүднээс авч үзвэл энэ нь бүрэн үнэн биш юм.

  1. Бизнесийн шинжилгээ, загварчлал (Бизнес загварчлал) нь байгууллагын бизнесийг судлах, түүний талаархи мэдлэгийг хуримтлуулах, бизнесийн үйл явцыг оновчтой болгох, тэдгээрийг хэсэгчлэн эсвэл бүрэн автоматжуулах шийдвэр гаргах зорилгоор загварчлалын зарчмуудыг хэрэгжүүлэх боломжийг олгодог.
  2. Шаардлагын менежмент гэдэг нь оролцогч талуудаас мэдээлэл авч, түүнийг боловсруулж буй системийн агуулгыг тодорхойлсон шаардлагын багц болгон хөрвүүлэх, системээс юу хийх ёстойг нарийвчлан тодорхойлсон шаардлагуудын багц юм.
  3. Шинжилгээ, дизайн нь шаардлагуудыг хэрхэн хэрэгжүүлэхийг харуулсан завсрын тайлбар (загвар) болгон хувиргах журмыг хамардаг.
  4. Хэрэгжилт нь тогтоосон техникийн дагуу код боловсруулах, хөгжүүлэгчийн түвшний туршилт, бүрэлдэхүүн хэсгүүд, дэд системүүд болон бүхэл бүтэн системийг нэгтгэх үйл ажиллагааг хамардаг.
  5. Туршилт нь бүтээгдсэн бүтээгдэхүүний чанарыг үнэлэхэд зориулагдсан болно.
  6. Байрлуулалт нь бүтээгдэхүүнийг хэрэглэгчдэд хүргэх, эцсийн хэрэглэгчдэд хүргэх үйл ажиллагааг хамардаг.
  7. Тохиргооны удирдлага ба өөрчлөлтийн удирдлага (Тохиргооны удирдлага) нь завсрын болон эцсийн бүтээгдэхүүнийг синхрончлох, төслийн явцад тэдгээрийн хөгжлийг удирдах, далд асуудлуудыг олоход зориулагдсан.
  8. Төслийн менежмент нь төслийн төлөвлөлт, эрсдэлийн удирдлага, ахиц дэвшлийг хянах, үндсэн үзүүлэлтүүдийг тасралтгүй үнэлэхэд зориулагдсан.
  9. Байгаль орчны менежмент нь хөгжлийн орчныг бүрдүүлэх элементүүдийг агуулдаг мэдээллийн системтөслийн үйл ажиллагааг дэмжих.

Төслийн онцлогоос хамааран IBM Rational болон гуравдагч этгээдийн аливаа хэрэгслийг ашиглаж болно. RUP нь төслийг амжилттай хөгжүүлэхийн тулд зургаан туршлагыг дагаж мөрдөхийг зөвлөж байна: давталттай хөгжил; шаардлагын удирдлага; модульчлагдсан архитектурыг ашиглах; харааны загварчлал; чанарын шалгалт; өөрчлөлтийг хянах.

RUP-ийн салшгүй хэсэг нь олдвор (олдвор), прецедент (урьдчилгаа) ба үүрэг (дүр) юм. Олдвор гэдэг нь эцсийн бүтээгдэхүүн дээр ажиллах явцад бий болсон эсвэл төсөлд ашигладаг төслийн зарим бүтээгдэхүүн юм. Прецедент нь ажиглагдахуйц үр дүнд хүрэхийн тулд системээс гүйцэтгэсэн үйлдлийн дараалал юм. Үнэн хэрэгтээ хувь хүн эсвэл бүлгийн ажлын аливаа үр дүн нь шинжилгээний баримт бичиг, загвар элемент, кодын файл, туршилтын скрипт, алдааны тайлбар гэх мэт олдвор юм. Тодорхой мэргэжилтнүүд бий болгох үүрэгтэй. нэг буюу өөр төрлийн олдвор. Тиймээс RUP нь хөгжлийн багийн гишүүн бүрийн үүрэг хариуцлагыг тодорхой үе шаттайгаар, өөрөөр хэлбэл энэ эсвэл тэр олдворыг хэзээ, хэн бүтээх ёстойг тодорхой тодорхойлдог. Програм хангамжийн системийг хөгжүүлэх бүх үйл явцыг RUP-д анхан шатны шинжилгээний баримт бичгээс эхлээд гүйцэтгэх модулиуд, хэрэглэгчийн гарын авлага гэх мэт олдворуудыг бий болгох үйл явц гэж үздэг.

RUP процессыг компьютерт дэмжихийн тулд IBM нь өргөн хүрээний хэрэгслийг боловсруулсан:

  • Rational Rose - CASE- харааны загварчлалын хэрэгсэлкодын элементүүдийг үүсгэх чадвартай мэдээллийн системүүд. Бүтээгдэхүүний тусгай хэвлэл - Rational Rose RealTime нь гүйцэтгэлийн модулийг гаралт болгон авах боломжийг танд олгоно;
  • Rational Requisite Pro нь хэрэглээний бүрэлдэхүүн хэсгүүдийн хөгжлийн аль ч үе шатанд гарч буй шаардлагын өөрчлөлтийг бий болгох, бүтэцжүүлэх, эрэмбэлэх, хянах, хянах боломжийг олгодог шаардлагын удирдлагын хэрэгсэл юм;
  • Rational ClearQuest нь төслийн өөрчлөлтийг удирдах, согогийг хянах (алдааг хянах) бүтээгдэхүүн бөгөөд туршилт, шаардлагын удирдлагын хэрэгслүүдтэй нягт уялдаатай бөгөөд бүх алдаа, баримт бичгүүдийг хооронд нь холбох нэг орчинг бүрдүүлдэг;
  • Rational SoDA нь төслийн баримт бичгийг автоматаар үүсгэх бүтээгдэхүүн бөгөөд компанийн дотоод баримт бичгийн стандартыг тогтоох боломжийг танд олгоно. Мөн баримт бичгийг одоо байгаа стандартад (ISO, CMM) нийцүүлэх боломжтой;
  • Rational Purify, Rational Quantify Rational PureCoverage, – туршилт, дибаг хийх хэрэгсэл;
  • Rational Visual Quantify нь C/C++, Visual Basic болон Java хэл дээр программчлалын болон бүрэлдэхүүн хэсэг хөгжүүлэгчдэд зориулсан гүйцэтгэлийг хэмжих хэрэгсэл юм; програм хангамжийн гүйцэтгэлийн саад бэрхшээлийг тодорхойлох, арилгахад тусалдаг;
  • Rational Visual PureCoverage - шалгагдаагүй кодын хэсгүүдийг автоматаар тодорхойлдог;
  • Rational ClearCase нь төслийн бүх баримт бичгийн хувилбарыг хянах боломжийг олгодог програм хангамжийн тохиргооны удирдлагын бүтээгдэхүүн (Rational's Software Configuration Management, SCM) юм. Түүний тусламжтайгаар та төслүүдийн олон хувилбарыг нэгэн зэрэг хадгалах, тэдгээрийн хооронд хурдан шилжих боломжтой. Rational Requisite Pro нь шинэчлэлт болон замуудыг дэмждэг. хөгжүүлэлтийн багт тавигдах шаардлагуудын өөрчлөлт;
  • SQA TeamTest - хэрэгсэл туршилтын автоматжуулалт;
  • Rational TestManager нь тесттэй холбоотой бүх хэрэгсэл, олдвор, скрипт, өгөгдлийг нэгтгэсэн тестийн удирдлагын систем юм;
  • Rational Robot - тест үүсгэх, өөрчлөх, автоматаар ажиллуулах хэрэгсэл;
  • SiteLoad, SiteCheck – вэб сайтуудын гүйцэтгэл, эвдэрсэн холбоос байгаа эсэхийг шалгах хэрэгслүүд;
  • Rational PerformanceStudio - Системийн гүйцэтгэлийн шинж чанарыг хэмжиж, таамагладаг.

Энэхүү багц бүтээгдэхүүнийг байнга сайжруулж, өргөжүүлж байна. Жишээлбэл, IBM-ийн сүүлийн үеийн бүтээгдэхүүн Rational Software Architect (RSA) нь IBM програм хангамж хөгжүүлэх платформын нэг хэсэг бөгөөд програм хангамжийн системийг хөгжүүлэх амьдралын мөчлөгийг дэмжих хэрэгслүүдийн багц юм. IBM Rational Software Architect бүтээгдэхүүн нь UML 2.0 загварчлалын нэгдсэн хэлийг ашиглан хөгжүүлж буй програм хангамжийн системийн загваруудыг бүтээхэд зориулагдсан бөгөөд үндсэндээ боловсруулж буй програмын архитектурын загварууд юм. Гэсэн хэдий ч RSA нь Rational Application Developer, Rational Web Developer, Rational Software Modeler зэрэг програм хангамжийн бүтээгдэхүүний функцийг нэгтгэдэг бөгөөд ингэснээр архитекторууд болон шинжээчдэд UML 2.0 хэлийг ашиглан боловсруулж буй мэдээллийн системийн талаар янз бүрийн үзэл бодлыг бий болгох, хөгжүүлэгчдэд хөгжүүлэлт хийх боломжийг олгодог. J2EE, XML, вэб үйлчилгээ гэх мэт.

RUP-ийн зарчмуудыг дагаж, Rational Software Architect нь дараахь салбаруудын ажлын урсгалд шаардлагатай загваруудыг бий болгох боломжийг олгодог.

  • бизнесийн шинжилгээ ба загварчлал (Бизнес загварчлал);
  • шаардлагын удирдлага;
  • дүн шинжилгээ ба дизайн (Шинжилгээ ба дизайн);
  • хэрэгжилт.

Нэмж дурдахад Rational Software Architect нь загварт тулгуурласан хөгжүүлэлтийг (MDD) дэмждэг бөгөөд энэ нь танд хянах боломжтой хийсвэрлэлийн янз бүрийн түвшний програм хангамжийг загварчлах боломжийг олгодог.

MSF (Microsoft Solution Framework)

1994 онд Майкрософт МТ-ийн төслүүдээс хамгийн их ашиг хүртэхийн тулд хэд хэдэн удирдамж гаргасан. үр ашигтай дизайн, түүний технологид суурилсан шийдлүүдийг боловсруулах, хэрэгжүүлэх, дэмжих. Энэхүү мэдлэг нь Майкрософт ажиллаж байхдаа олж авсан туршлага дээр суурилдаг том төслүүдпрограм хангамжийн хөгжүүлэлт, засвар үйлчилгээ, Microsoft-ын зөвлөхүүдийн туршлага, мэдээллийн технологийн салбарын одоогийн байдлаар хуримтлуулсан хамгийн шилдэг зүйлс. Энэ бүгдийг Microsoft Solutions Framework (MSF) болон Microsoft Operations Framework (MOF) гэсэн харилцан уялдаатай, бие биенээ нөхөх хоёр мэдлэгийн талбар хэлбэрээр танилцуулж байна.

Майкрософт нь MSF-ийн ерөнхий аргууд дээр суурилсан хэрэглээний болон тусгай зориулалтын техникийг боловсруулсан гэдгийг тэмдэглэх нь зүйтэй. Түүнчлэн, Майкрософт нь MSF-ийн хэрэглээний мэдлэгийг тусгайлан олгодог мэргэжилтнүүдийг баталгаажуулдаг (жишээлбэл, төслийн менежментийн арга техникт мэргэшсэн MCTS 74-131 гэрчилгээ). MSF-ийн аргуудыг сурахаасаа өмнө та эхлээд аль MSF програмыг хэлж байгаагаа тодорхойлох хэрэгтэй.

Майкрософт компанийн боловсруулсан хамгийн алдартай MSF програмын сонголтууд нь:

  • төслийн менежментийн чиглэлээр шийдлийг хэрэгжүүлэх арга зүй;
  • MSF болон Agile арга зүйд суурилсан мэдээллийн технологийн төслийн удирдлагын арга зүй.

MSF-ийн хэрэглээний хувилбаруудын ач холбогдлыг "цэвэр хувилбарт" Майкрософт MSF аргачлалыг өөрийн мэдээллийн технологийн төслүүдэд ашигладаггүйгээс онцлон тэмдэглэв. Microsoft Consulting Services төслүүд нь эрлийз MSF болон Agile аргачлалыг ашигладаг. Майкрософт компанийн мэргэжилтнүүдийн боловсруулсан MSF-ийн хэрэглээний хувилбаруудын гадаад мэдэгдэхүйц ялгааг үл харгалзан тэдгээрийн MSF аргын үндэс нь нийтлэг хэвээр байгаа бөгөөд давталттай төслийн менежментийн ерөнхий арга зүйн хандлагыг тусгасан болно.

СЯ нь Microsoft-ын бүтээгдэхүүн, технологид суурилсан мэдээллийн технологийн чухал шийдлүүдийг бий болгож буй байгууллагуудад тэдгээрийн найдвартай байдал, хүртээмж, дэмжлэг үзүүлэх тав тухтай байдал(дэмжих чадвар) ба удирдах чадвар (удирдах чадвар). СЯ нь боловсон хүчин, үйл явцын зохион байгуулалттай холбоотой асуудлыг шийдвэрлэх; нарийн төвөгтэй, тархсан, нэг төрлийн бус мэдээллийн технологийн орчинд технологи, менежмент. СЯ нь Их Британийн засгийн газрын харьяа Компьютер, Харилцаа Холбооны Төв Агентлагийн эмхэтгэсэн мэдээллийн технологийн дэд бүтцийн номын санд (ITIL) цуглуулсан шилдэг туршлагууд дээр тулгуурладаг.

Төлөвлөсөн цаг хугацаа, төсөвт багтаан бизнесийн шийдлийг бий болгох нь баталгаатай байх шаардлагатай арга зүйн үндэс. MSF нь мэдээллийн технологийн амжилттай шийдлүүдийг төлөвлөх, зохион бүтээх, хөгжүүлэх, хэрэгжүүлэхэд батлагдсан арга зүйг санал болгодог. Уян хатан байдал, өргөтгөх боломжтой, хатуу зааваргүй байдгаараа MSF нь ямар ч хэмжээтэй байгууллага эсвэл төслийн багийн хэрэгцээг хангаж чадна. MSF-ийн арга зүй нь ихэнх төслүүдэд байдаг хүмүүс, үйл явц, технологийн элементүүд болон холбогдох асуудлуудыг удирдах зарчим, загвар, сахилга батаас бүрддэг. MSF нь хоёр загвар, гурван салбараас бүрдэнэ. Тэдгээрийг 5 цагаан цаасан дээр дэлгэрэнгүй тайлбарласан болно. MSF-ийг загваруудаар (төслийн багийн загвар, үйл явцын загвар) судалж эхэлж, дараа нь салбаруудад (төслийн удирдлагын сахилга бат, эрсдэлийн удирдлагын сахилга бат, сургалтын удирдлагын сахилга бат) шилжих нь дээр.

MSF процессын загвар нь мэдээллийн технологийн шийдлүүдийг боловсруулах, хэрэгжүүлэх ерөнхий арга зүйг илэрхийлдэг. Энэхүү загварын онцлог нь уян хатан байдал, хатуу чанд журам байхгүй тул мэдээллийн технологийн маш өргөн хүрээний төслийг боловсруулахад ашиглах боломжтой юм. Энэхүү загвар нь хүрхрээ ба спираль гэсэн хоёр стандарт үйлдвэрлэлийн загварын шинж чанарыг хослуулсан. MSF 3.0 дахь процессын загвар дахин нэгээр шинэчлэгдсэн шинэлэг тал: Энэ нь шийдлийг бий болгох эхлэлээс эхлээд бодит хэрэгжих хүртэлх бүх амьдралын мөчлөгийг хамардаг. Энэхүү арга нь төслийн багуудад шийдлийн бизнесийн үнэ цэнэд анхаарлаа төвлөрүүлэхэд тусалдаг, учир нь энэ өгөөж нь хэрэгжилтийг дуусгаж, бүтээгдэхүүнийг ашиглаж эхэлсний дараа л бодитой болдог.

MSF-ийн үйл явц нь төслийн хүрээнд ямар нэгэн чухал (завсрын эсвэл эцсийн) үр дүнд хүрэхийг тодорхойлдог төслийн гол цэгүүд болох "чухал үеүүд" дээр төвлөрдөг. Энэхүү үр дүнг үнэлж, дүн шинжилгээ хийх боломжтой бөгөөд энэ нь "Төслийн баг төслийн зорилго, хамрах хүрээний талаар тодорхой ойлголттой болсон уу?", "Үйл ажиллагааны төлөвлөгөө хангалттай бэлтгэгдсэн үү?", "Бүтээгдэхүүн нь бэлтгэгдсэн үү?" гэсэн асуултуудад хариулт өгөх болно. батлагдсан техникийн шаардлагад нийцэж байна уу?", " Шийдэл нь хэрэглэгчийн хэрэгцээг хангаж байна уу?" гэх мэт.

MSF процессын загвар нь байнгын өөрчлөлтийг тооцдог дизайны шаардлага. Энэ нь шийдлийг боловсруулах нь шийдлийн хамгийн энгийн хувилбаруудаас эцсийн хэлбэр хүртэл дэвшилтэт хөдөлгөөнийг бий болгох богино мөчлөгүүдээс бүрдэх ёстой гэж үздэг.

MSF процессын загварын онцлогууд нь:

  • үе шат, үе шатуудын хандлага;
  • давтагдах хандлага;
  • шийдлийг бий болгох, хэрэгжүүлэх нэгдсэн арга барил.

Процессын загвар нь боловсруулах үйл явцын дараах үндсэн үе шатуудыг агуулна.

  • үзэл баримтлал боловсруулах (Төсөөлөх);
  • төлөвлөлт (төлөвлөлт);
  • хөгжил;
  • тогтворжуулах;
  • хэрэгжилт (байршуулж байна).

Нэмж дурдахад төслийн явцад тодорхой ахиц дэвшил гарсныг харуулсан олон тооны завсрын үе шатууд байдаг бөгөөд ажлын томоохон хэсгийг жижиг, ажиглагдах боломжтой хэсгүүдэд хуваадаг. Процессын загварын үе шат бүрийн хувьд MSF нь дараахь зүйлийг тодорхойлдог.

  • энэ үе шатны үр дүн юу вэ (аль олдворууд);
  • үүрэг кластер бүр энэ үе шатанд юун дээр ажиллаж байна.

MSF-ийн хүрээнд код, баримт бичиг, загвар, төлөвлөгөө болон бусад ажлын материалыг дүрмээр бол давталтын аргаар бүтээдэг. MSF нь үндсэн функцийг бүтээх, турших, хэрэгжүүлэх замаар шийдлийг боловсруулж эхлэхийг зөвлөж байна. Дараа нь шийдэлд улам олон шинэ боломжууд нэмэгддэг. Энэ стратегийг хувилбарын стратеги гэж нэрлэдэг. Хэдийгээр жижиг төслүүдэд нэг хувилбар гаргах нь хангалттай байж болох ч нэг шийдлийн олон хувилбарыг бий болгох боломжийг алдахгүй байхыг зөвлөж байна. Шинэ хувилбаруудыг бий болгосноор шийдлийн функциональ байдал өөрчлөгддөг.

Хөгжлийн үйл явцад давтагдах хандлага нь баримт бичгийг хөтлөх уян хатан аргыг ашиглахыг шаарддаг. Төсөл хөгжиж, эцсийн бүтээгдэхүүнд тавигдах шаардлага өөрчлөгдөхийн хэрээр амьд баримт бичиг өөрчлөгдөх ёстой. MSF нь бүтээгдэхүүний хөгжлийн үе шат бүрийн олдвор болох хэд хэдэн стандарт баримт бичгийн загваруудыг санал болгодог бөгөөд боловсруулах үйл явцыг төлөвлөх, хянахад ашиглаж болно.

Шийдэл нь хэрэгжих хүртэл бизнесийн үнэ цэнэгүй болно. Ийм учраас MSF процессын загвар нь шийдэл нь үнэ цэнийг өгч эхлэх хүртэл шийдлийг бий болгох бүх амьдралын мөчлөг, түүний хэрэгжилтийг багтаасан байдаг.

Тэмдэглэл.

Оршил.

1. Програм хангамжийн амьдралын мөчлөг

Оршил.

Райли програмчлалын үйл явцын үе шатууд

Оршил.

1.1.1. Асуудлын томъёолол.

1.1.2. Шийдэл дизайн.

1.1.3. Алгоритм кодчилол.

1.1.4. Хөтөлбөрийн дэмжлэг.

1.1.5. Програм хангамжийн баримт бичиг.

1.1-д заасан дүгнэлт

1.2. Лехманы дагуу LCPO-г тодорхойлох.

Оршил.

1.2.1 Системийн тодорхойлолт.

1.2.2. Хэрэгжилт.

1.2.3. Үйлчилгээ.

1.2-р зүйлийн дүгнэлт.

1.3. Боемын дагуу LCPO-ийн үе шат ба ажил

1.3.1. Каскадын загвар.

1.3.2. Каскадын загварын эдийн засгийн үндэслэл.

1.3.3. Каскадын загварыг сайжруулах.

1.3.4. Амьдралын мөчлөгийн үе шатуудыг тодорхойлох.

1.3.5. Төслийн үндсэн ажил.

Уран зохиол.


Оршил

Компьютерийн үйлдвэрлэлийн хэрэглээ, программуудын өсөн нэмэгдэж буй эрэлт хэрэгцээ нь ихээхэн нэмэгдэх зайлшгүй шаардлагатай сорилтуудыг бий болгож байна програм хангамж хөгжүүлэх бүтээмж, төлөвлөлт, хөтөлбөр боловсруулах үйлдвэрлэлийн аргыг боловсруулах, зохион байгуулалт, техник, техник, эдийн засаг, нийгэм-сэтгэл зүйн техник, хэв маяг, аргыг материаллаг үйлдвэрлэлийн салбараас компьютерийн хэрэглээний салбарт шилжүүлэх. Нарийн төвөгтэй аргаПрограм хангамж боловсруулах, ажиллуулах, засвар үйлчилгээ хийх үйл явцад тэрээр хэд хэдэн тулгамдсан асуудлуудыг дэвшүүлсэн бөгөөд тэдгээрийн шийдэл нь програмын дизайн дахь саад тотгорыг арилгах, ажил дуусах хугацааг багасгах, одоо байгаа програмуудын сонголт, дасан зохицох чадварыг сайжруулах, магадгүй суулгагдсан компьютер бүхий системийн хувь заяа.

Томоохон програм хангамжийн төслүүдийг боловсруулах практикт ихэвчлэн байдаггүй нэгдсэн хандлагаПрограм хангамжийн бүтээмжийг нэмэгдүүлэх, эцэст нь програм хангамжийн амьдралын мөчлөгийг үр дүнтэй удирдахад саад болж буй хөдөлмөрийн зардал, ажлын эцсийн хугацаа, материалын зардлыг үнэлэх. Аливаа төрлийн хөтөлбөр нь бүтээгдэхүүн болж хувирдаг (боловсролын, прототип хөтөлбөрөөс бусад тохиолдолд) түүнийг үйлдвэрлэх арга нь үйлдвэрлэлийн бүтээгдэхүүн үйлдвэрлэх хандлагатай олон талаараа төстэй байх ёстой бөгөөд хөтөлбөрийн дизайны асуудал маш чухал болж байна. Энэ санаа нь B.W.-ийн номын гол цөм юм. Бидний үүнийг бичиж байсан Boehm-ийн "Програм хангамжийн инженерчлэл" курсын ажил. Энэ номонд програм хангамжийн дизайн гэдэг нь програм хангамжийн бүтээгдэхүүний загвар бүтээх үйл явцыг хэлнэ.


1 Програм хангамжийн амьдралын мөчлөг

ОРШИЛ

LCPO нь програм хангамжийг бий болгох шаардлагатай гэж шийдвэр гаргасан мөчөөс эхэлж, үйлчилгээнээс бүрэн хасагдсан үед дуусдаг тасралтгүй үйл явц юм.

Програм хангамжийн амьдралын мөчлөгийн (SLC) үе шат, үйл ажиллагаа, програмчлалын үйл явцын үе шат, каскад болон спираль загваруудыг тодорхойлох хэд хэдэн арга байдаг. Гэхдээ тэд бүгд нийтлэг үндсэн бүрэлдэхүүн хэсгүүдийг агуулдаг: асуудлын мэдэгдэл, шийдлийн загвар, хэрэгжилт, засвар үйлчилгээ.

Хамгийн алдартай бөгөөд бүрэн гүйцэд нь магадгүй найман үе шатыг багтаасан Боемийн дагуу амьдралын мөчлөгийн үйл явцын бүтэц юм. Цаашид илүү дэлгэрэнгүй танилцуулах болно.

Нэг нь боломжит сонголтуудГурван үндсэн үе шатыг багтаасан, хамгийн ерөнхий тохиолдолд амьдралын мөчлөгийн тодорхойлолтыг илэрхийлдэг Леманны дагуу дээд түвшний тодорхойлолт нь үйлчилж болно.

Төрөл бүрийн хувьд бид Д.Райлигийн "Модула-2 хэлийг ашиглах" номонд танилцуулсан програмчлалын үйл явцын үе шатуудыг толилуулж байна. Энэ санаа бол миний бодлоор маш энгийн бөгөөд танил бөгөөд үүнээс эхэлье.

1.1 Райли програмчлалын үйл явц дахь алхамууд

Програмчлалын үйл явц нь дөрвөн үе шаттай (Зураг 1):

асуудлын мэдэгдэл, өөрөөр хэлбэл. хөтөлбөр нь ямар ажлыг гүйцэтгэх ёстой талаар хангалттай ойлголттой болох;

аль хэдийн тодорхойлсон асуудлын шийдлийг төлөвлөх (ерөнхийдөө ийм шийдэл нь эцсийн хөтөлбөрөөс бага албан ёсны);

програмын кодчилол, өөрөөр хэлбэл боловсруулсан шийдлийг машин дээр гүйцэтгэх боломжтой програм болгон хөрвүүлэх;

хөтөлбөрийн дэмжлэг, i.e. програмын алдааг олж засварлах, шинэ боломжуудыг нэмэх үйл явц.

Цагаан будаа. 1. Програмчлалын дөрвөн алхам.

Програмчлал нь тухайн мөчөөс эхэлдэг хэрэглэгч, өөрөөр хэлбэл Асуудлыг шийдэх програм хэрэгтэй байгаа хэн нэгэн нь асуудлыг хэлдэг системийн шинжээч.Хэрэглэгч болон системийн шинжээчид асуудлын мэдэгдлийг хамтдаа тодорхойлно. Дараа нь сүүлийнх нь дамждаг алгоритмист, шийдлийн загварыг хэн хариуцах вэ. Шийдэл (эсвэл алгоритм) нь үйлдлийн дарааллыг илэрхийлдэг бөгөөд тэдгээрийн гүйцэтгэл нь асуудлыг шийдвэрлэхэд хүргэдэг. Алгоритм нь ихэвчлэн машин дээр ажиллахад тохиромжгүй байдаг тул үүнийг машины програм руу хөрвүүлэх хэрэгтэй. Энэ ажиллагааг кодлогч гүйцэтгэдэг. Дагалдан яваа программист нь програмын дараагийн өөрчлөлтийг хариуцна. Системийн шинжээч, алгоритмч, кодлогч, дагалдан яваа программист бүгд програмист.

Томоохон програм хангамжийн төслийн хувьд хэрэглэгчдийн тоо, системийн шинжээч, алгоритмистууд ихээхэн байж болно. Үүнээс гадна урьдчилан тооцоолоогүй нөхцөл байдлын улмаас өмнөх алхамууд руу буцах шаардлагатай байж магадгүй юм. Энэ бүхэн нь програм хангамжийг сайтар боловсруулах нэмэлт аргумент болж өгдөг: алхам бүрийн үр дүн бүрэн, үнэн зөв, ойлгомжтой байх ёстой.

1.1.1 Асуудлын мэдэгдэл

Програмчлалын хамгийн чухал алхамуудын нэг бол асуудлыг тодорхойлох явдал юм. Энэ нь хэрэглэгч болон программист (ууд) хоорондын гэрээний үүрэг гүйцэтгэдэг. Хуулийн дагуу муу боловсруулсан гэрээний нэгэн адил муу бичсэн асуудлын мэдэгдэл нь ашиггүй. Асуудлын сайн мэдэгдлийн тусламжтайгаар хэрэглэгч болон программист хоёулаа гүйцэтгэх шаардлагатай даалгаврыг тодорхой бөгөөд хоёрдмол утгагүй илэрхийлдэг. Энэ тохиолдолд хэрэглэгчийн болон програмистын ашиг сонирхлыг харгалзан үзнэ. Хэрэглэгч юу хийж чадах талаарх мэдлэг дээрээ тулгуурлан бүтээгдээгүй программ хангамжийг ашиглахаар төлөвлөж болно. Асуудлыг сайн тайлбарлах нь түүний шийдлийг боловсруулах үндэс суурь болдог.

Асуудлын томъёолол (хөтөлбөрийн тодорхойлолт); үндсэндээ тодорхой программыг гүйцэтгэх үед юу болох талаар үнэн зөв, бүрэн гүйцэд, ойлгомжтой тайлбарыг хэлнэ. Хэрэглэгч компьютерийг ихэвчлэн хар хайрцаг мэт хардаг: түүний хувьд компьютер хэрхэн ажиллах нь чухал биш, харин компьютер юу хийж чадах нь хэрэглэгчийн сонирхлыг татдаг. Энэ тохиолдолд гол анхаарал нь хүний ​​машинтай харилцах харилцаанд чиглэгддэг.

Сайн асуудлын мэдэгдлийн шинж чанарууд:

Нарийвчлал, өөрөөр хэлбэл аливаа ойлгомжгүй байдлыг арилгах. Өгөгдсөн аливаа оролтын хувьд програмын гаралт ямар байх талаар асуулт байх ёсгүй.

Бүрэн байдал, өөрөөр хэлбэл алдаатай эсвэл төлөвлөөгүй оролт зэрэг өгөгдсөн оролтын бүх хувилбаруудыг авч үзэж, тохирох гарцыг тодорхойлох.

Тодорхой байдал, өөрөөр хэлбэл Асуудлын мэдэгдэл нь тэдний хоорондох цорын ганц гэрээ учраас хэрэглэгч болон системийн шинжээчийн аль алинд нь ойлгомжтой байх ёстой.

Нарийвчлал, бүрэн бүтэн байдал, тодорхой байдлын шаардлага нь ихэвчлэн зөрчилддөг. Тийм ээ, олон эрх зүйн баримт бичигҮүнийг ойлгоход хэцүү, учир нь тэдгээр нь албан ёсны хэлээр бичигдсэн байдаг бөгөөд энэ нь зарим заалтыг ямар нэгэн жижиг зөрүүг оруулахгүйгээр маш нарийвчлалтай боловсруулах боломжийг олгодог. Жишээлбэл, шалгалтын хуудасны зарим асуултууд заримдаа маш нарийн томъёолсон байдаг тул оюутан асуултанд хариулахаас илүү ойлгоход илүү их цаг зарцуулдаг. Түүгээр ч зогсохгүй оюутан олон тооны нарийн ширийн зүйлээс болж асуултын гол утгыг ойлгохгүй байж магадгүй юм. Асуудлын хамгийн сайн томъёолол бол бүх гурван шаардлагын тэнцвэрийг хангах явдал юм.

Асуудлын мэдэгдлийн стандарт хэлбэр.

Дараах асуудлын мэдэгдлийг анхаарч үзээрэй: "Гурван тоог оруулаад тоонуудыг дарааллаар нь гарга."

Ийм мэдэгдэл нь дээрх шаардлагыг хангаагүй: энэ нь үнэн зөв, бүрэн гүйцэд биш, ойлгомжтой биш юм. Үнэн хэрэгтээ тоонуудыг нэг мөрөнд оруулах уу эсвэл бүх тоог нэг мөрөнд оруулах уу? "Дэмжээнд" гэсэн илэрхийлэл нь ихээс бага руу, багаас их рүү эрэмбэлэх эсвэл тэдгээрийг нэвтрүүлсэн ижил дарааллыг илэрхийлж байна уу.

Ийм мэдэгдэл нь олон асуултанд хариулахгүй нь ойлгомжтой. Хэрэв бид бүх асуултын хариултыг харгалзан үзвэл асуудлын тайлбар нь нарийн бөгөөд ойлгоход хэцүү болно. Иймд Д.Райли асуудлыг тавихдаа хамгийн дээд нарийвчлал, бүрэн бүтэн байдал, тодорхой байдлыг хангах стандарт хэлбэрийг ашиглахыг санал болгож байна.

ажлын нэр (схемийн тодорхойлолт);

ерөнхий тодорхойлолт (даалгаврын товч хураангуй);

алдаа (ер бусын оролтын сонголтуудыг хэрэглэгчид болон программистуудад ийм нөхцөлд машин ямар үйлдэл хийхийг харуулахын тулд тодорхой жагсаасан);

жишээ ( сайн жишээасуудлын мөн чанарыг илэрхийлэх, түүнчлэн янз бүрийн тохиолдлуудыг дүрслэн харуулах боломжтой).

Жишээ. Асуудлыг стандарт хэлбэрээр илэрхийлэх.

НЭР

Гурван бүхэл тоог эрэмбэлэх.

ТОДОРХОЙЛОЛТ

Гурван бүхэл тооны оролт гаралт, багаас хамгийн том хүртэл эрэмбэлсэн.

Гурван бүхэл тоо, нэг мөрөнд нэг тоо оруулна. Бүхэл тоо нь нэг буюу хэд хэдэн дараалсан аравтын бутархай орон бөгөөд үүний өмнө нэмэх тэмдэг “+” эсвэл хасах тэмдэг “–” байж болно.

Оруулсан гурван бүхэл тоог нэг мөрөнд хэвлэнэ. Зэргэлдээх тоонуудыг зайгаар тусгаарлана. Тоонуудыг хамгийн жижигээс том руу, зүүнээс баруун тийш харуулна.

1) Хэрэв гурваас бага тоо оруулсан бол програм нэмэлт оруулахыг хүлээнэ.

Програм хангамжийн амьдралын мөчлөг. Үе шат ба үе шатууд

IS-ийн амьдралын мөчлөг нь системийг бий болгох, ашиглах явцад тохиолддог цуврал үйл явдлууд юм.

Үе шат- тодорхой хугацаанд хязгаарлагдаж, тодорхой бүтээгдэхүүн (загвар, програм хангамжийн бүрэлдэхүүн хэсэг, баримт бичиг) гаргахад дуусдаг програм хангамжийг бий болгох үйл явцын нэг хэсэг бөгөөд энэ үе шатанд заасан шаардлагуудаар тодорхойлогддог.

Амьдралын мөчлөгийг уламжлал ёсоор тодорхой тооны дараалсан үе шатууд (эсвэл үе шат, үе шат) хэлбэрээр загварчилсан байдаг. Одоогийн байдлаар програм хангамжийн системийн амьдралын мөчлөгийг үе шат болгон хуваах нийтээр хүлээн зөвшөөрөгдсөн зүйл байхгүй. Заримдаа үе шатыг тусдаа цэг болгон тодруулж, заримдаа илүү том тайзны салшгүй хэсэг болгон оруулдаг. Нэг эсвэл өөр үе шатанд гүйцэтгэсэн үйлдлүүд өөр өөр байж болно. Эдгээр үе шатуудын нэрэнд нэгдмэл байдал байдаггүй.

Уламжлал ёсоор програм хангамжийн амьдралын мөчлөгийн дараах үндсэн үе шатуудыг ялгадаг.

Шаардлагын дүн шинжилгээ,

Дизайн,

Кодлох (програмчлал),

Туршилт, дибаг хийх,

Ашиглалт, засвар үйлчилгээ.

Програм хангамжийн амьдралын мөчлөг. Каскадын загвар

каскадын загвар (70-80 жил) ≈ өмнөх шатны ажил бүрэн дууссаны дараа дараагийн шатанд шилжих;

Каскадын загварын гол ололт бол үе шатуудын бүрэн бүтэн байдал юм. Энэ нь зардал, эцсийн хугацааг төлөвлөх боломжийг олгодог. Нэмж дурдахад дизайны баримт бичгийг бүрэн гүйцэд, нийцтэй болгодог.

Хүрхрээний загвар нь тодорхой тодорхойлогдсон, өөрчлөгдөөгүй шаардлага бүхий жижиг програм хангамжийн төслүүдэд хамаарна. Бодит үйл явц нь аль ч үе шатанд бүтэлгүйтлийг илрүүлж болох бөгөөд энэ нь өмнөх үе шатуудын аль нэг рүү буцахад хүргэдэг. Ийм програм хангамжийн үйлдвэрлэлийн загвар нь каскад-өгөөж юм

Програм хангамжийн амьдралын мөчлөг. Завсрын удирдлагатай алхам алхмаар загвар

Завсрын удирдлагатай алхам алхмаар загвар (80-85) ≈ үе шат хоорондын эргэх холбоо бүхий програм хангамж хөгжүүлэх давталтын загвар. Энэ загварын давуу тал нь үе шат хоорондын тохируулга нь каскадын загвартай харьцуулахад хөдөлмөрийн бага эрч хүчийг өгдөг; Гэсэн хэдий ч үе шат бүрийн ашиглалтын хугацаа нь хөгжлийн бүх хугацаанд үргэлжилдэг.

Асуудлыг шийдвэрлэх үндсэн үе шатууд

Програмчлалын зорилго нь өгөгдөл боловсруулах үйл явцыг (цаашид энгийн процесс) тайлбарлах явдал юм.

Өгөгдөл гэдэг нь баримт, санааг тодорхой үйл явцын хүрээнд дамжуулах, боловсруулахад тохиромжтой, албан ёсны хэлбэрээр танилцуулах, мэдээлэл бол тэдгээрийг танилцуулахдаа өгөгдөлд өгч буй утга санаа юм.

Мэдээллийн боловсруулалт гэдэг нь өгөгдөл дээрх үйлдлийн системчилсэн дарааллыг гүйцэтгэх явдал юм. Мэдээллийг хадгалах хэрэгсэл дээр танилцуулж, хадгалдаг.

Аливаа өгөгдөл боловсруулахад ашигладаг өгөгдөл зөөвөрлөгчдийн багцыг мэдээллийн орчин (өгөгдлийн орчин) гэж нэрлэдэг.

Мэдээллийн орчинд ямар ч үед агуулагдах өгөгдлийн багц - мэдээллийн орчны төлөв байдал.

Процессыг зарим мэдээллийн орчны дараалсан төлөв байдлын дараалал гэж тодорхойлж болно.

Үйл явцыг дүрслэх гэдэг нь мэдээллийн орчны төлөв байдлын дарааллыг тодорхойлох гэсэн үг юм. Шаардлагатай процессыг өгөгдсөн тодорхойлолтын дагуу ямар ч компьютер дээр автоматаар үүсгэхийн тулд энэ тайлбарыг албан ёсны болгох шаардлагатай.

Програм хангамжийн чанарын шалгуур

Арилжааны бүтээгдэхүүн (бүтээгдэхүүн, үйлчилгээ) нь хэрэглэгчийн шаардлагыг хангасан байх ёстой.

Чанар нь бүтээгдэхүүний (бүтээгдэхүүн, үйлчилгээ) объектив шинж чанар бөгөөд хэрэглэгчийн сэтгэл ханамжийн түвшинг харуулдаг

Чанарын шинж чанарууд:

› Гүйцэтгэл– систем ажиллаж, шаардлагатай функцуудыг хэрэгжүүлдэг.

› Найдвартай байдал– систем нь ямар ч гэмтэл, доголдолгүй ажилладаг.

› Сэргээх чадвар.

› Үр ашиг– систем нь өөрийн чиг үүргээ хамгийн сайн аргаар хэрэгжүүлдэг.

› Эдийн засгийн үр ашиг– хамгийн их ашиг бүхий эцсийн бүтээгдэхүүний хамгийн бага өртөг.

Чанарын шинж чанарууд:

› Хүний хүчин зүйлийг харгалзан үздэг- ашиглахад хялбар, програм хангамжтай ажиллахад суралцах хурд, засвар үйлчилгээ хийхэд хялбар, өөрчлөлт хийх.

› Зөөврийн чадвар(хөдөлгөөнт байдал) – кодыг өөр платформ эсвэл систем рүү зөөвөрлөх чадвар.

› Функциональ бүрэн байдал- магадгүй гадаад функцүүдийн хамгийн бүрэн гүйцэд хэрэгжилт.

› Тооцооллын нарийвчлал

Алгоритмын шинж чанарууд.

Үр ашиг хязгаарлагдмал тооны үйлдлийг гүйцэтгэсний дараа үр дүнд хүрэх боломжийг хэлнэ.

Баталгаатай Хэрэглэгч болон ашигласан техникийн хэрэгслээс үл хамааран олж авсан үр дүнгийн давхцлаас бүрдэнэ.

Массын дүр Энэ нь алгоритмыг анхны өгөгдлийн тодорхой утгаараа ялгаатай ижил төстэй асуудлын бүхэл бүтэн ангид ашиглах боломж юм.

Салангид байдал - алгоритмаар тогтоосон тооцооллын үйл явцыг тусдаа үе шатанд хуваах боломж, тодорхой бүтэцтэй програмын хэсгүүдийг сонгох боломж.

Алгоритмыг дүрслэх арга замууд

Алгоритмуудыг тайлбарлах (өндөрлөх) дараах аргууд байдаг.

1. аман тайлбар;

2. математикийн томъёог ашиглан алгоритмын тодорхойлолт;

3. алгоритмын график дүрслэлийг блок диаграмм хэлбэрээр;

4. псевдокод ашиглан алгоритмын тайлбар;

5. алгоритмыг аман, график болон бусад аргуудыг ашиглан дүрслэх хосолсон арга .

6. Петрийн тор ашиглах.

Аман тайлбаралгоритм гэдэг нь алгоритмын бүтцийг байгалийн хэлээр тайлбарлах явдал юм. Жишээлбэл, гэр ахуйн цахилгаан хэрэгсэл нь ихэвчлэн ашиглалтын зааврыг дагалддаг, i.e. Энэ төхөөрөмжийг ашиглах алгоритмын аман тайлбар.

График тайлбаралгоритмыг блок диаграмм хэлбэрээрхолбооны шугамтай геометрийн дүрсийг ашиглан алгоритмын бүтцийн тодорхойлолт юм.

Алгоритмын урсгал диаграм нь үйлдлүүдийг илэрхийлэх тусгай тэмдэгтүүдийг ашиглан асуудлыг шийдвэрлэх аргын график дүрслэл юм.

Алгоритм блок диаграммыг бүрдүүлдэг тэмдгүүдийг ГОСТ 19.701-90-аар тодорхойлно. Энэ ГОСТ-д нийцдэг олон улсын стандарталгоритмын дизайн, тиймээс ГОСТ 19.701-90-ийн дагуу боловсруулсан алгоритмын схемийг өөр өөр улс оронд хоёрдмол утгагүй ойлгодог.

Псевдокод- алгоритмын бүтцийг байгалийн, гэхдээ хэсэгчлэн албан ёсны хэлээр тайлбарлах. Псевдокод нь зарим албан ёсны бүтэц, нийтлэг математик тэмдэгтүүдийг ашигладаг. Псевдокод бичих хатуу синтакс дүрэм байдаггүй.

Ингээд авч үзье хамгийн энгийн жишээ. Хяналтын дэлгэц дээр хоёр тооны хамгийн том утгыг харуулах алгоритмыг тайлбарлах шаардлагатай.


Зураг 1 - Блок диаграмм хэлбэрээр алгоритмын тайлбарын жишээ

Псевдокод дахь ижил алгоритмын тайлбар:

2. Тоонуудыг оруулна уу: Z, X

3. Хэрэв Z > X бол Z гаралт

4. Үгүй бол X гаралт

Алгоритмыг дүрслэх жагсаасан аргууд тус бүр нь давуу болон сул талуудтай. Жишээлбэл, аман арга нь дэлгэрэнгүй бөгөөд тодорхой бус боловч бие даасан үйл ажиллагааг илүү сайн дүрслэх боломжтой болгодог. График арга нь илүү нүдээр харагддаг боловч ихэнхдээ зарим үйлдлүүдийг аман хэлбэрээр дүрслэх шаардлагатай байдаг. Тиймээс нарийн төвөгтэй алгоритмуудыг боловсруулахдаа хосолсон аргыг ашиглах нь дээр.

Алгоритмуудын төрлүүд

шугаман;

салбарлах;

мөчлөгийн.

· Шугаман алгоритм- ар араасаа дараалан гүйцэтгэсэн командын багц (заавар).

· Салбарлах алгоритм- дор хаяж нэг нөхцөлийг агуулсан алгоритм нь компьютер нь хоёр боломжит алхамын аль нэгэнд шилжих боломжийг олгодог.

· Дугуй эргэлтийн алгоритм- шинэ анхны өгөгдөл дээр ижил үйлдлийг (ижил үйлдлүүдийг) давтан хийх алгоритм. Сонголтуудыг тооцоолох, тоолох ихэнх аргуудыг мөчлөгийн алгоритм болгон бууруулсан байдаг. Програмын мөчлөг - тодорхой нөхцөл хангагдах хүртэл давтан (шинэ эх өгөгдлийн хувьд) гүйцэтгэх боломжтой командуудын дараалал (цуврал, давталтын хэсэг).

C. Өгөгдлийн төрлүүд.

Өгөгдлийн төрөл гэдэг нь тодорхой төрлийн хувьсагчийн авч чадах утгын хүрээний тайлбар юм. Өгөгдлийн төрөл бүр нь дараахь шинж чанартай байдаг.
1. эзэлсэн байтын тоо (хэмжээ)
2. энэ төрлийн хувьсагчийн авч чадах утгын хүрээ.

Бүх өгөгдлийн төрлийг дараахь төрлүүдэд хувааж болно.
1. энгийн (скаляр) ба төвөгтэй (вектор) төрөл;
2. үндсэн (систем) ба хэрэглэгч (хэрэглэгчийн тодорхойлсон).
SI хэл дээр үндсэн төрлүүдийн системийг дөрвөн төрлийн өгөгдлийн төрлөөр бүрдүүлдэг.
1. бэлгэдлийн,
2. бүхэл тоо,
3. нэг нарийвчлалтай бодит,
4. давхар нарийвчлалтай бодит.

C программын бүтэц.

1. С++ хэлний операторууд

Операторууд програмын гүйцэтгэлийн явцыг хянадаг. С++ хэлний операторуудын багц нь бүтэцлэгдсэн програмчлалын бүх удирдлагын бүтцийг агуулдаг.
Нийлмэл хэллэгийг буржгар хаалтаар заана. Бусад бүх мэдэгдэл цэг таслалаар төгсдөг.
Хоосон оператор – ;
Хоосон өгүүлбэр нь зөвхөн цэг таслалаас тогтсон хэллэг юм. Синтакс нь мэдэгдэл шаарддаг програмын хаана ч гарч болно. Хоосон мэдэгдлийг гүйцэтгэх нь програмын төлөвийг өөрчлөхгүй.
Нийлмэл оператор - (...)
Нийлмэл хэллэгийн нөлөө нь тухайн мэдэгдэл нь хяналтыг програмын өөр газар шилжүүлэхээс бусад тохиолдолд түүнд агуулагдах хэллэгүүдийг дараалан гүйцэтгэх явдал юм.
Онцгой байдлын тухай мэдэгдэл

оролдох (<операторы> }
барих (<объявление исключения>) { <операторы> }
барих (<объявление исключения>) { <операторы> }
...
барих (<объявление исключения>) { <операторы> }

Нөхцөлт оператор

хэрэв (<выражение>) <оператор 1>

Шилжүүлэгч оператор

солих (<выражение>)
(тохиолдол<константное выражение 1>: <операторы 1>
хэрэг<константное выражение 2>: <операторы 2>
...
хэрэг<константное выражение N>: <операторы N>
}
Switch хэллэг нь программыг гүйцэтгэх хэд хэдэн өөр замуудын аль нэгийг сонгоход хэрэглэгддэг. Шилжүүлэгч мэдэгдлийн үнэлгээ нь илэрхийллийн үнэлгээнээс эхэлдэг бөгөөд үүний дараа удирдлага нь илэрхийллийн үнэлэгдсэн утгатай тэнцүү тогтмол илэрхийллээр тэмдэглэгдсэн мэдэгдэлд шилжинэ. Switch хэллэгээс гарах үйлдлийг break хэллэгээр гүйцэтгэдэг. Хэрэв илэрхийллийн утга нь ямар ч тогтмол илэрхийлэлтэй тэнцүү биш бол хяналтыг хэрэв байгаа бол анхдагч түлхүүр үгээр тэмдэглэсэн мэдэгдэлд шилжүүлнэ.
Урьдчилсан нөхцөл бүхий давталтын оператор

байхад (<выражение>) <оператор>

Дараах нөхцөл бүхий давталтын оператор

хийх<оператор>байхад<выражение>;
С++ хэлэнд энэ оператор нь дараах нөхцөлтэй давталтын сонгодог хэрэглүүрээс ялгаатай нь хэрэв илэрхийлэл үнэн бол гогцооноос гарах бус харин давталт үргэлжлэх болно.
Алхам давталтын оператор

төлөө ([<начальное выражение>];
[<условное выражение>];
[<выражение приращения>])
<оператор>
Нөхцөлт илэрхийлэл худал болох хүртэл (0-тэй тэнцүү) for хэллэгийн биеийг гүйцэтгэнэ. Эхний болон өсөлтийн илэрхийлэл нь ихэвчлэн давталтын параметрүүд болон бусад утгыг эхлүүлэх, өөрчлөхөд ашиглагддаг. Нөхцөл илэрхийллийг анх удаа шалгахын өмнө эхний илэрхийлэлийг нэг удаа, харин өсөлтийн илэрхийлэл нь мэдэгдлийн гүйцэтгэл бүрийн дараа үнэлэгддэг. Гурван давталтын толгой илэрхийллийн аль нэгийг, тэр ч байтугай гурвыг нь орхиж болно (цэг таслалыг орхихоо бүү мартаарай). Нөхцөлт илэрхийлэл орхигдвол үнэнд тооцогдох ба давталт нь хязгааргүй болно.
С++ хэл дээрх алхам алхмаар давталтын оператор нь уян хатан, тохиромжтой бүтэцтэй тул while урьдчилсан нөхцөл бүхий давталтын операторыг C++ хэлэнд маш ховор ашигладаг. ихэнх тохиолдолд for операторыг ашиглах нь илүү тохиромжтой байдаг.
Завсарлагааны оператор

завсарлага;
Break оператор нь while, do, for, switch хэллэгүүдийн гүйцэтгэлийг тасалдаг. Энэ нь зөвхөн эдгээр мэдэгдлийн үндсэн хэсэгт агуулагдаж болно. Хяналт нь тасалдсаны дараа програмын оператор руу шилждэг. Хэрэв break хэллэгийг while, do, for, switch гэсэн үүрлэсэн хэллэгүүд дотор бичсэн бол зөвхөн түүнийг хавсаргасан хэллэгийг шууд дуусгана.
үргэлжилсэн оператор

үргэлжлүүлэх;
Үргэлжлүүлэх оператор нь while, do, for циклийн операторуудын дараагийн давталт руу хяналтыг шилжүүлдэг. Энэ нь зөвхөн эдгээр мэдэгдлийн үндсэн хэсэгт агуулагдаж болно. Do болон while хэллэгүүдэд дараагийн давталт нь нөхцөлт илэрхийллийг үнэлэхээс эхэлдэг. For мэдэгдэлд дараагийн давталт нь өсөлтийн илэрхийллийг үнэлэх замаар эхэлж, нөхцөлт илэрхийллийг үнэлдэг.
Буцах оператор

буцах [<выражение>];
Буцаах мэдэгдэл нь түүнийг агуулсан функцийн гүйцэтгэлийг дуусгаж, дуудаж буй функцэд хяналтыг буцаана. Удирдлага нь дуудлагын функцийн цэг рүү шилждэг

Хэрэв (логийн илэрхийлэл)

оператор;

Хэрэв (логийн илэрхийлэл)

оператор_1;

оператор_2;

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

Хэрэв логик илэрхийллийн утга үнэн бол илэрхийлэл_1-г, эс бөгөөс илэрхийлэл_2-г үнэлнэ.

шилжүүлэгч (бүхэл тоон илэрхийлэл)

тохиолдлын утга_1:

мэдэгдэл_дараалал_1;

тохиолдлын утга_2:

мэдэгдэл_дараалал_2;

тохиолдлын утга_n:

мэдэгдэл_дараалал_n;

анхдагч:

operator_sequence_n+1;

Салбар анхдагч дүрслэх боломжгүй. Дээд илэрхийллүүдийн аль нь ч хангагдаагүй тохиолдолд үүнийг гүйцэтгэнэ.

Давталтын оператор.

Turbo C нь циклийг програмчлах боломжийг олгодог дараах бүтэцтэй. байхад нь хийх Тэгээд төлөө . Тэдний бүтцийг дараах байдлаар тодорхойлж болно.

Дээд талд байгаа нөхцөлийг шалгах гогцоо:

Сонгох оператор

Хэрэв таны программд хийхийг хүсэж буй үйлдлүүд нь зарим нэг хувьсагчийн утгаас шалтгаалж байвал та сонгох операторыг ашиглаж болно. Харин C++ хэл дээр зөвхөн тоон хувьсагчдыг сонгох операторт хувьсагч болгон ашиглаж болно. Ерөнхийдөө сонгох операторын оруулга дараах байдалтай байна.

шилжүүлэгч (хувьсагч)
{
тохиолдлын утга1:
үйлдлүүд1
завсарлага;

тохиолдлын утга2:
үйлдлүүд2
завсарлага;
...

анхдагч:
анхдагч үйлдлүүд
}

Салбар бүрийн төгсгөлд таслах түлхүүр үг заавал байх ёстой. Энэ нь сонгох үйлдлийг ажиллуулахыг зогсооно. Хэрэв та үүнийг бичихгүй бол нэг сонголтын салбараас үйлдлийг гүйцэтгэсний дараа дараагийн салбаруудын үйлдлийг гүйцэтгэх болно. Гэсэн хэдий ч заримдаа энэ сонголтын шинж чанар нь ашигтай байдаг, жишээлбэл, хэрэв та ижил үйлдлийг гүйцэтгэх шаардлагатай бол өөр өөр утгатайхувьсагч.

шилжүүлэгч (хувьсагч)
{
тохиолдлын утга1:
тохиолдлын утга2:
үйлдлүүд1
завсарлага;

тохиолдлын утга3:
үйлдлүүд2
завсарлага;
...
}

Сонголтыг ашиглах жишээ:

int n, x;
...
шилжүүлэгч(n)
{
тохиолдол 0:
завсарлага; //хэрэв n нь 0 бол бид ямар ч үйлдэл хийхгүй

тохиолдол 1:
тохиолдол 2:
тохиолдол 3:
x = 3 * n; //хэрэв n нь 1, 2 эсвэл 3 бол зарим үйлдлийг гүйцэтгэнэ
завсарлага;

тохиолдол 4:
x = n; //хэрэв n нь 4 бол бусад үйлдлийг гүйцэтгэнэ
завсарлага;

анхдагч:
x = 0; //n-ийн бусад бүх утгын хувьд өгөгдмөл үйлдлийг гүйцэтгэнэ
}

C.Цикл: параметртэй гогцоо

Бүртгэлийн ерөнхий маягт

for (параметрийг эхлүүлэх; төгсгөлийн нөхцөлийг шалгах; параметрийн засвар) (

үйл ажиллагааны блок;

for - параметрийн гогцоо (тогтмол тооны давталт бүхий гогцоо). Ийм мөчлөгийг зохион байгуулахын тулд гурван үйлдлийг гүйцэтгэх ёстой.

§ параметрийг эхлүүлэх- мөчлөгийн параметрт анхны утгыг өгөх;

§ эцсийн нөхцөл байдлыг шалгаж байна- параметрийн утгыг тодорхой хилийн утгатай харьцуулах;

§ параметрийн залруулга- гогцооны биеийг дамжуулах бүрт параметрийн утгыг өөрчлөх.

Эдгээр гурван үйлдлийг хаалтанд бичиж, цэг таслалаар (;) тусгаарлана. Ихэвчлэн давталтын параметр нь бүхэл тоон хувьсагч юм.
Параметрийг эхлүүлэх нь зөвхөн нэг удаа тохиолддог - for давталт ажиллаж эхлэх үед. Дуусах нөхцөлийг давталтын биетийн боломжит гүйцэтгэл бүрийн өмнө шалгана. Илэрхийлэл худал (тэгтэй тэнцүү) болоход гогцоо дуусна. Параметрийг давталтын биетийн гүйцэтгэл бүрийн төгсгөлд тохируулна. Параметр нь нэмэгдэж эсвэл буурч болно.

Жишээ

#оруулна
int main() (

төлөө(тоо = 1; тоо< 5; num++)

printf("тоо = %d\n", тоо);

Си. Урьдчилсан нөхцөл бүхий гогцоо

Бүртгэлийн ерөнхий маягт

while(илэрхийлэл) (

үйл ажиллагааны блок;
}

Хэрэв илэрхийлэл үнэн бол (тэгтэй тэнцүү биш) буржгар хаалтанд орсон үйлдлийн блок хийгдэж, илэрхийллийг дахин шалгана. Үйлдлийн блокыг шалгах, гүйцэтгэхээс бүрдэх үйлдлүүдийн дараалал нь илэрхийлэл худал болох хүртэл (тэгтэй тэнцүү) давтана. Энэ тохиолдолд давталтаас гарч, давталтын операторын дараах үйлдлийг гүйцэтгэнэ.

Жишээ

int k=5;
int i=1;
int нийлбэр=0;
байхад(i<=k) {

while-ийн давталт үүсгэх үед туршилт хийж буй илэрхийллийн утгыг эцэст нь худал болох (тэгтэй тэнцүү) болгох бүтцийг оруулах шаардлагатай. Үгүй бол гогцоо нь эцэс төгсгөлгүй (хязгааргүй давталт), жишээлбэл

үйл ажиллагааны блок;
}

while нь урьдчилсан нөхцөлтэй давталт тул эхний шалгалтын үед шалгаж байгаа нөхцөл худал болсон тохиолдолд давталтын бие нэг удаа ч биелэгдэхгүй байх бүрэн боломжтой.

Си. Дараах нөхцөл бүхий давталт

do...while дараах нөхцөлтэй давталт

Бүртгэлийн ерөнхий маягт

үйл ажиллагааны блок;

) while(илэрхийлэл);

Дараах нөхцөл бүхий давталт

Do...while гогцоо нь буржгар хаалтаар тусгаарлагдсан блокт орсон бүх үйлдлүүдийг гүйцэтгэсний дараа илэрхийллийн үнэн эсэхийг шалгах нөхцөлтэй давталт юм.Илэрхийлэл худал болох хүртэл давталтын их биеийг гүйцэтгэнэ. бол, дараах нөхцөл бүхий давталтын бие нь зөвхөн нэг удаа биелдэг.

Доод тал нь нэг давталт хийх шаардлагатай тохиолдолд, эсвэл нөхцөлийг шалгахад оролцож буй объектуудын эхлэл давталтын бие дотор тохиолдсон тохиолдолд do...while давталтыг ашиглах нь дээр.

Жишээ. 0-ээс 10 хүртэлх тоог оруулна уу

#оруулна
#оруулна
int main() (

систем("chcp 1251");

printf("0-ээс 10 хүртэлх тоог оруулна уу:");

scanf("%d", &num);

) байхад((тоо< 0) || (num > 10));

printf("Та %d тоог оруулсан", num);

getchar(); getchar();

Функцуудыг тодорхойлох

Жишээ болгон нийлбэр функцийг ашиглан функцийн тодорхойлолтыг авч үзье.

C болон C++ хэл дээр функцуудыг ашиглах хүртэл нь тодорхойлогдох шаардлагагүй, харин өмнө нь зарласан байх ёстой. Гэхдээ энэ бүхний дараа ч энэ функцийг тодорхойлох ёстой. Дараа нь функцийн загвар болон түүний тодорхойлолтыг холбож, функцийг ашиглаж болно.

Хэрэв функцийг өмнө нь зарласан бол түүнийг буцаах утга, өгөгдлийн төрлөөр тодорхойлох ёстой, эс бөгөөс хэт ачаалалтай шинэ функц үүснэ. Функцийн параметрийн нэр нь ижил байх албагүй гэдгийг анхаарна уу.

ХОНХ

Энэ мэдээг чамаас өмнө уншсан хүмүүс бий.
Шинэ нийтлэлүүдийг хүлээн авахын тулд бүртгүүлээрэй.
Имэйл
Нэр
Овог
Та Хонхыг хэрхэн уншихыг хүсч байна вэ?
Спам байхгүй