Жалпысынан алганда, ар кандай программалык камсыздоону иштеп чыгуу иши төмөнкү этаптардан турат:
* Талаптарды талдоо жана спецификация;
* Программалык камсыздоону дизайндоо жана ишке ашыруу;
* Программаны текшерүү;
* Программанын эволюциясы.
Компьютердик программалык камсыздоо же жөн эле программалык камсыздоо – бул компьютерге кантип иштөө керектиги жөнүндө маалымат берүүчү маалыматтардын же компьютердик нускамалардын жыйындысы. Башкача айтканда, биз колдонуп жаткан программалардын бардыгы программалык камсыздоо болуп саналат. Программалар белгилүү бир кардар үчүн иштелип чыгышы мүмкүн же жалпы рынок үчүн иштелип чыгат.
Жалпысынан алганда, ар кандай программалык камсыздоону иштеп чыгуу иши төмөнкү этаптардан турат:
* Талаптарды талдоо жана спецификация;
* Программалык камсыздоону дизайндоо жана ишке ашыруу;
* Программаны текшерүү;
* Программанын эволюциясы.
Мисалга, бизге тиркеме жасоо керек дейли. Биздин программалык камсыздообуз – бул белгилүү бир тиркеме болуп саналат. Тиркемени иштеп чыгуу үчүн 4 негизги этап бар.
Биринчи этап бул “талаптарды талдоо жана спецификация”. Бул этапта биздин эң негизги максатыбыз – кардардын оюн, идеяларын, талаптарын талдоо жана аны расмий документге которуу. Эгерде талаптар абдан так жана түшүнүктүү болсо, анда жогорку сапаттагы программалык камсыздоо даярдалат.
Талаптардын түрлөрү:
- Кардардын талаптары:
Бул талап – кардарлар үчүн жазылат. Башкача айтканда, талаптар бул этапта, жөнөкөй, баарына, айрыкча кардарга түшүнүктүү жана жеткиликтүү тилде берилиши керек.
- Системалык талаптар:
Бул талап эмнени ишке ашыруу керектигин аныктайт. Системанын функцияларынын, кызматтарынын жана операциялык чектөөлөрүнүн толук сүрөттөлүшүн камтыган, структураланган документ. Кардар менен программистердин ортосундагы келишимдин бир бөлүгү дал ушул этап болушу мүмкүн.
- Функционалдык талаптар:
Билдирүүлөргө система кандай реакция кылышы керек жана система конкреттүү кырдаалдарда өзүн кандай алып жүрүшү керек экенин сүрөттөп жазуу керек. Система эмне кылбашы керек? деген суроого да бул этапта жооп берүү зарыл. Системага коюлган функционалдык талаптар система эмне кылышы керектигин сүрөттөйт.
- Функционалдык эмес талаптар:
Система тарабынан сунушталган кызматтарга же функцияларга чектөөлөр, мисалы, убакыттын чектөөлөрү, иштеп чыгуу процессиндеги чектөөлөр, стандарттар, ж.б.у.с. бул этапта аныкталат.
Демек, биз биринчи эле, кардар менен тиркеменин талаптарын анализдеп, анын оюн, расмий документке түшүрүп, программистер учун техникалык тапшырманы түзүп алуу зарыл.
Кийинки этап бул – “программалык камсыздоонун дизайны жана аны ишке ашыруу”. Программалык камсыздоонун дизайны – спецификацияны чыгарган программалык камсыздоонун структурасын конструкциялоо болуп саналат. Ал эми ишке ашыруу болсо, бул структураны аткарылуучу программага которуу, башкача айтканда, түзүлгөн дизайн аркылуу анын программасын жазып баштайбыз.
Дизайндын түрлөрү:
- Архитектуралык дизайн. Анда сиз системанын жалпы түзүмүн, негизги компоненттерин (кээде подсистемалар же модулдар деп аталат), алардын өз ара байланышын жана бөлүштүрүлүшүн аныктайсыз.
- Системанын компоненттеринин ортосундагы интерфейстерди аныктоочу интерфейс дизайны(UI/UX).
- Компоненттин дизайны – сиз системанын ар бир компонентин алып, анын кантип иштей турганын конструкциялайсыз.
- Маалыматтар базасынын дизайны – системанын маалымат структураларын иштеп чыгасыз жана алар маалымат базасында кантип көрсөтүлөт экенин аныктайсыз.
Дизайнды даярдап, бардыгын конструкциялап алгандан кийин программага которуу процесси башталат. Жөнөкөй тил менен айтканда код жазуу башталат.
Биз тиркеменин бардык дизайндарын даярдап алдык дейли, андан сон, код жазып программалоону да кылдык. Эми кийинки этап бул “программалык камсыздоону текшерүү” болуп саналат. Бул этап процесстерди жана системаны текшерүүнү жана карап чыгууну камтыйт. Кыскача, тестирлөө десек жанылышпайбыз.
Tестирлөө этаптары:
- Компоненттик тестирлөө:
Жеке компоненттер өз алдынча текшерилет. Компоненттер бул объекттердин функциялары же объекттери, же ырааттуу топтору болушу мүмкүн.
- Системалык тестирлөө:
Бүтүндөй системаны тестирлөө. Пайда болгон функцияларын сыноо болуп саналат.
- Кабыл алуу (кардар) тести:
Системанын кардардын муктаждыктарына жооп берерин текшерүү үчүн кардар маалыматтары менен тестирлөө.
Үчүнчү этап бул тестирлөө болду. Биз жазган программаны кандай иштерин, кардардын муктаждыктарына жооп берерин дал ушул этапта текшере алабыз.
Кийинки жана акыркы этап болуп “программалык камсыздоонун эволюциясы” болуп саналат. Программалык камсыздоо ийкемдүү жана өзгөрүшү мүмкүн. Бизнес шарттарынын өнүгүшү менен, колдогон программалык камсыздоо да өнүгүп, өзгөрүшү керек. Жасалган тиркеме убакыт өткөн сайын жаңы нерселер киригизилип, жакшыртылып туруусу зарыл. Жаңы версияларды чыгарып, өзгөрүүлөрдү киргизүү бул программалык камсыздоонун эволюциясы деп аталат жана бул акыркы, балким чексиз этап болуп эсептелинет.
Колдонулган булактар: (SOFTWARE ENGINEERING Ninth Edition Ian Sommerville).
✍️ Айдайым Өмүрбековна