Аппараттық және бағдарламалық қамтамасыз етуді орнату

Бағдарламалық қамтамасыз етуді әзірлеу. Бағдарламалық жасақтаманы әзірлеу құралдары бағдарламасы арқылы жүйені әзірлеуді қолдау құралдары

1-кезең: 50-жылдардың ортасына дейін.

Негізгі шығындар кодтаумен байланысты (машина кодтарында). Автокодтар (командалар үшін мнемоникалық белгілерді пайдаланатын тілдер) және олардан аудармашылар (ассемблер) пайда болады.

Бағдарламаларды бөлек құрастыру және тасымалдау мүмкіндігі іске асырылды. Бағдарлама жүктеушілері мен сілтемелері пайда болады.

2-кезең: 50-жылдардың ортасы – 60-жылдардың ортасы

Бағдарламалардың өлшемдері ұлғаюда, проблемалық аймақтар мен машиналық-бағытталған тілдер ұғымдары арасында алшақтық анықталды. Әртүрлі жоғары деңгейлі тілдер (алгоритмдік, әмбебап) пайда болуда:

Фортран (1954-1957);

Алгол-60 (1958-1960);

Кобол (1959-1961);

және олардан аудармашылар (құрастырушылар). Барлық дерлік негізгі деректер түрлері, олармен операциялар, басқару құрылымдары және оларды бағдарламаларда көрсету тәсілдері ойлап табылған және сынақтан өткен, әртүрлі опцияларішкі бағдарламаларды параметрлеу.

3 кезең: 60-жылдардың ортасы – 70-жылдардың басы.

Бағдарламалық қамтамасыз етудің көлемі күрт өсуде, жұмыстың ұжымдық сипатына көшу байқалады. Тауарлы өндіріске көшу нәтижесінде бағдарламалық қамтамасыз етуге қойылатын талаптар артуда.

Бағдарламалық қамтамасыз етуді әзірлеуге кететін шығындардың арақатынасы өзгеруде (40% немесе одан да көп жөндеуге, жобалауға және құжаттамаға жұмсалады), кодтау ең көп жұмыстардың бірі болып табылады. қарапайым түрлержұмыс істейді. «Үлкен» бағдарламалау тілдері пайдаланылады және жасалады - PL/1, ALGOL-68, SIMULA-67, бұрын табылған шешімдерді жалпылау және біріктіру.

Трансляторларды, макро кітапханаларды, кітапханаларды оңтайландыратын және түзетуі бар жетілдірілген бағдарламалау жүйелері бар. стандартты бағдарламалар, арнайы мәтіндік редакторлар, талдау құралдары және енгізу тілі тұрғысынан интерактивті жөндеу. Әзірленген операциялық жүйелер, алғашқы ДҚБЖ, көптеген құжаттаманы автоматтандыру жүйелері, бағдарламалық қамтамасыз ету конфигурациясын басқару жүйелері (бақылау модификациялары және бағдарламалық қамтамасыз етудің нұсқалары) әзірленуде.

4-кезең («бағдарламалық қамтамасыз етуді әзірлеу дағдарысы кезеңі»): 1970 жылдардың басы – 1970 жылдардың ортасы

Құралдардың дамығанына қарамастан, бағдарламалаушылардың өнімділігі өспейді. Оның үстіне бағдарламалық қамтамасыз етуге қойылатын талаптардың артуына және оның күрделілігінің сызықтық емес өсуіне байланысты еңбек өнімділігі төмендейді. Бағдарламалық қамтамасыз етуді әзірлеу шарттары бұзылған, оның құны өсуде, сапасы күтпеген, дәстүрлі әдістер (қосымша адам және материалдық ресурстармен қамтамасыз ету) жұмыс істемейді, бұл «бағдарламалық қамтамасыз ету дағдарысы» ретінде сипатталады.

Құрылымдық программалаудың әдістемелері танылуда (Дейкстра, 1968), программалау технологиясының негіздері қалыптасуда (Паскаль тілі (Н. Вирт), 1971).

5-кезең: 1976 жыл – біздің уақыт. Құралдардың дағдарыстан кейінгі даму кезеңі.

1976 жыл - бағдарламалық қамтамасыз етудің өмірлік циклінің тұжырымдамасын енгізетін және негізгі шығындар бағдарламалық қамтамасыз етуді әзірлеуге емес, техникалық қызмет көрсетуге жұмсалатынын көрсететін Боем жұмысының жариялануы.

Бағдарламалау тілдері:

C (1970 жылдардың басы, алғаш рет 1978 жылы толық сипатталған);

Модуль-2 (1978, Оберон тілі әзірлеген (1988));

Пролог (1972, 1980 жылдан тарады);

Smalltalk (1970 ж., 1980 жылы Smalltalk-80 ретінде енгізілген);

C++ (1980 жылдардың басы, аты 1983 ж., ол 1990 жылдан бастап әдеттегі түрінде бар);

java( Java нұсқасы 1.0 - 1996, Java 2.0 - 1998, Java 5 - 2004...);

C# (1998-2001, 1.0 нұсқасы - 2000-2002, 2.0 нұсқасы - 2003-2005, 3.0 нұсқасы - 2004-2008, 4.0 нұсқасы - 2008-2010).

Біріктірілген бағдарламалық қамтамасыз етуді әзірлеу орталары әзірленуде. Жобалау мен бағдарламалаудың объектілі-бағытталған тәсілі қабылдануда. Әр кезеңде бағдарламалық қамтамасыз етуді құруды қолдайтын бағдарламалар әзірленуде.

Бақылау сұрақтары:

1. Бағдарламалық өнімді әзірлеу қандай әрекеттерді қамтиды?

2. Рационалды біртұтас процесс (RUP) бойынша бағдарламалық жасақтаманы әзірлеудің қандай кезеңдері бар?

3. Құралдарды қолдану нені қамтамасыз етеді?

4. Бағдарламаның құрамдас бөліктері қандай? Әр бөліктің мақсаты.

5. Бағдарламалар мен бағдарламалық қамтамасыз ету анықтамалары.

6. Бағдарламалық құрал қандай қасиеттерге ие болуы керек?

7. Бағдарламаларды жасауда қандай программалау тілдері қолданылады?

8. Құралдық бағдарламалық қамтамасыз етудің анықтамасы.

9. Құралдық бағдарламалық қамтамасыз етуді қандай төрт топқа бөлуге болады? Әр топқа бағдарламалық қамтамасыз ету мысалдары.

10. Бір сыныптағы бағдарламаларды қандай критерийлер бойынша салыстыруға болады?

11. Бағдарламалық қамтамасыз етуді әзірлеу құралдарын жасаудың қандай кезеңдері бар?

12. Компиляторлар (ассемблер) және сілтеме редакторларының мақсаты және негізгі сипаттамалары.

13. Мәтіндік редакторлардың тағайындалуы және негізгі сипаттамалары.

14. Отладчиктердің мақсаты және негізгі сипаттамалары.

15. Инсталляторларды құру бағдарламаларының мақсаты және негізгі сипаттамалары.

16. Ресурс редакторларының мақсаты және негізгі сипаттамалары.

17. Профильдеушілердің мақсаты және негізгі сипаттамалары.

18. Нұсқаларды қолдау бағдарламаларының мақсаты және негізгі сипаттамалары.

19. Анықтамалық файлдарды (құжаттама) құруға арналған бағдарламалардың мақсаты және негізгі сипаттамалары.

20. Құжаттама генераторларының мақсаты және негізгі сипаттамалары.

21. Бөлшектеуіштер мен декомпиляторлардың мақсаты және негізгі сипаттамалары.

22. Жүйенің белсенділігін және жүйеде болып жатқан өзгерістерді қадағалауға арналған бағдарламалардың мақсаты мен негізгі сипаттамалары.

23. Бағдарламалар-верфикаторлар мен контейнерлердің мақсаты және негізгі сипаттамалары.

24. Әзірленген бағдарламалық қамтамасыз етуді (қорғауыштарды) қорғауға арналған бағдарламалардың мақсаты және негізгі сипаттамалары.

25. SDK мақсаты және негізгі сипаттамалары.

26. Пысықтауыштардың мақсаты және негізгі сипаттамалары.

27. Технологиялық стандарттарды тағайындау.


ТАҚЫРЫП:Бағдарламалық қамтамасыз етуді әзірлеу әдістемелері.

Әдебиет: 1. Зелковиц М., Шоу А., Ганнон Дж. БҚ әзірлеу принциптері.

2. Геззи К., Джазаери М., Мандриоли Д. Бағдарламалық қамтамасыз ету негіздері.

3. Камаев В.А., Костерин В.В. Бағдарламалау технологиялары.

Әдістеме, әдіс және құралдар ұғымдарын қарастырыңыз.

1-анықтама: Әдіс(грек тілінен methodos – зерттеу немесе білім, теория немесе оқыту әдісі) – кез келген жағдайда бір нәрсені іс жүзінде жүзеге асыруға арналған әдістеме немесе әдістер жүйесі пәндік аймақ, нақты мәселелерді шешуге бағынатын шындықты практикалық немесе теориялық дамыту әдістері немесе операцияларының жиынтығы.

Әдіс кіреді нысандар- ол арқылы іс-әрекет жүзеге асырылады және жолдары- іс-әрекет қалай жүзеге асады.

Анықтама 2: Әдістемепринциптер жүйесі, сонымен қатар бағдарламалық қамтамасыз етуді әзірлеу стилін анықтайтын идеялар, тұжырымдамалар, әдістер, әдістер мен құралдар жиынтығы.

Әдістеме – стандартты жүзеге асыру. Стандарттардың өзі таңдау және бейімделу еркіндігін қалдырып, не болу керектігі туралы айтады.

Нақты нәрселер таңдалған әдістеме арқылы жүзеге асырылады. Дамудың қалай жүзеге асырылатынын ол анықтайды. Көптеген табысты бағдарламалық қамтамасыз етуді әзірлеу әдістемелері бар. Нақты әдістемені таңдау ұжымның көлеміне, жобаның ерекшеліктері мен күрделілігіне, компаниядағы процестердің тұрақтылығы мен жетілуіне, қызметкерлердің жеке қасиеттеріне байланысты.

Әдістемелер бағдарламалық жасақтаманы әзірлеуді басқару теориясының өзегі болып табылады.

Қолданылатын өмірлік цикл моделіне байланысты әдістемелер келесіге бөлінеді:

Сарқырама (каскад);

Итеративті (спираль).

Сондай-ақ келесідей жалпы классификация бар:

Болжалды;

Бейімделу.

Жобаланған әдістемелерболашаққа егжей-тегжейлі жоспарлауға назар аударыңыз. Жоспарланған тапсырмалар мен ресурстар жобаның бүкіл ұзақтығына белгілі. Команда жауап беруге қиналады ықтимал өзгерістер. Жоспар жұмыс көлемі мен қолданыстағы талаптар негізінде оңтайландырылған. Талаптардың өзгеруі жоспардың, сондай-ақ жобаның дизайнының айтарлықтай өзгеруіне әкелуі мүмкін. Көбінесе жобада ең маңызды талаптардың ғана ескерілуін қамтамасыз ету үшін арнайы «өзгерістерді басқару» комитеті құрылады.

Бейімделу әдістеріталаптардың күтілетін толық еместігін және олардың тұрақты өзгеруін еңсеруге бағытталған. Талаптар өзгерген кезде әзірлеу тобы да өзгереді. Agile әзірлеумен айналысатын топ жобаның болашағын болжау қиынға соғады. Тек жақын болашаққа нақты жоспар бар. Алыстағы жоспарлар жоба мақсаттары, күтілетін шығындар мен нәтижелер туралы декларация ретінде ғана бар.

Каскадты дамунемесе сарқырама моделі – әзірлеу процесі талаптарды талдау, жобалау, енгізу, тестілеу, біріктіру және қолдау кезеңдерінен дәйекті түрде өтетін ағынға ұқсайтын бағдарламалық қамтамасыз етуді әзірлеу процесінің моделі.

Каскадтық тәсілдің негізгі ерекшелігі: келесі кезеңге көшу ағымдағы кезеңдегі жұмыс толық аяқталғаннан кейін ғана жүзеге асырылады және өткен кезеңдерге қайтарулар болмайды . Әрбір кезең келесі кезеңге кіріс ретінде қызмет ететін кейбір нәтижелермен аяқталады (Cурет 1).

Күріш. 1. Каскадты өмірлік цикл моделі.

Әрбір кезең әзірлеуді басқа әзірлеу тобымен жалғастыру үшін жеткілікті құжаттамалар жинағын шығарумен аяқталады. Бұл тәсілмен әзірлеу сапасының критерийі техникалық тапсырманың спецификациясын орындау дәлдігі болып табылады.

Каскадтық әдісті қолданудың артықшылықтары:

Әрбір кезеңде толықтық пен дәйектілік талаптарына сәйкес келетін жобалық құжаттаманың толық жинағы қалыптасады;

Логикалық реттілікпен орындалатын жұмыс кезеңдері барлық жұмыстардың аяқталу мерзімін және сәйкес шығындарды жоспарлауға мүмкіндік береді.

Каскадты тәсіл электрондық ақпараттық жүйелерді құруда өзін дәлелдеді, олар үшін әзірлеудің ең басында әзірлеушілерге оларды техникалық жағынан мүмкіндігінше ең жақсы енгізуге еркіндік беру үшін барлық талаптарды дәл және толық тұжырымдауға болады.

Сонымен қатар, бұл тәсілдің бірқатар кемшіліктері бар, ең алдымен бағдарламалық қамтамасыз етуді құрудың нақты процесі ешқашан мұндай қатаң схемаға толығымен сәйкес келмейтініне байланысты. Бағдарламалық қамтамасыз етуді құру процесі, әдетте, итеративті сипатта: келесі кезеңнің нәтижелері көбінесе алдыңғы кезеңдерде әзірленген конструкторлық шешімдердің өзгеруін тудырады. Осылайша, алдыңғы кезеңдерге қайта оралу және бұрын қабылданған шешімдерді нақтылау немесе қайта қарау қажеттілігі үнемі туындайды (2-сурет). Бейнеленген схеманы жеке үлгіге жатқызуға болады - аралық басқаруы бар модель, онда кезең аралық түзетулер бүкіл даму кезеңін ұлғайтқанымен, каскадты модельмен салыстырғанда үлкен сенімділікті қамтамасыз етеді.

Сарқырама моделінің негізгі кемшілігі нәтижелерді алудың айтарлықтай кешігуі және нәтижесінде пайдаланушылардың өзгеретін қажеттіліктерін қанағаттандырмайтын жүйені құрудың жоғары тәуекелі болып табылады. Бұл екі себепке байланысты:

Пайдаланушылар өздерінің барлық талаптарын бірден айта алмайды және әзірлеу кезінде олардың қалай өзгеретінін болжай алмайды;

Даму барысында жүйеге қойылатын талаптарға әсер ететін сыртқы ортада өзгерістер болуы мүмкін.

Күріш. 2. Тәжірибедегі өмірлік циклдің каскадты моделі.

Каскадтық тәсіл шеңберінде әзірленетін өнімге қойылатын талаптар оны жасаудың барлық уақытына техникалық тапсырма түрінде бекітіледі, ал алынған нәтижелер пайдаланушылармен әрбір аяқталғаннан кейін жоспарланған нүктелерде ғана келісіледі. кезең (егер олар техникалық тапсырмада баяндалған талаптарға әсер етпесе, пайдаланушылардың ескертулеріне сәйкес нәтижелерді түзетуге болады). Осылайша, пайдаланушылар жүйедегі жұмыс толығымен аяқталғаннан кейін ғана маңызды түсініктемелер жасай алады. Пайдаланушылар олардың қажеттіліктеріне сәйкес келмейтін жүйені алуы мүмкін. Нәтижесінде, бастау керек жаңа жобакімнің тағдыры бірдей болуы мүмкін.

Осы мәселелерді шешу үшін 1980 жылдардың ортасында спиральды өмірлік цикл үлгісі ұсынылды (3-сурет).

Күріш. 3. Спиральды (итеративті) өмірлік цикл моделі.

Оның басты ерекшелігі мынада: қолданбалы бағдарламалық қамтамасыз ету сарқырамаға жақындау жағдайындағыдай бірден құрылмайды, бірақ прототиптеу әдісін қолданатын бөліктерде .

астында прототипіәзірленетін бағдарламалық құралдың жеке функциялары мен сыртқы интерфейстерін жүзеге асыратын белсенді бағдарламалық құрал құрамдас бөлігін білдіреді. Прототиптерді жасау бірнеше итерацияда немесе спиральдың бұрылыстарында жүзеге асырылады. Әрбір итерация бағдарламалық қамтамасыз етудің фрагментін немесе нұсқасын құруға сәйкес келеді, ол жобаның мақсаттары мен сипаттамаларын нақтылайды, алынған нәтижелердің сапасын бағалайды және келесі итерация жұмысын жоспарлайды. Әрбір итерацияда жобаның уақыты мен құнынан асып кету қаупі басқа итерация қажет пе, жүйе талаптарын түсінудегі толықтық пен дәлдік дәрежесін және жобаны тоқтату керек пе екенін анықтау үшін мұқият бағаланады.

Спиральды модель пайдаланушылар мен әзірлеушілерді бастапқы кезеңде жүйелік талаптарды дәл және толық тұжырымдау қажеттілігінен босатады, өйткені олар әрбір итерацияда нақтыланады. Осылайша, жобаның егжей-тегжейлері тереңдетіліп, дәйекті түрде нақтыланады, нәтижесінде іске асыруға әкелетін орынды нұсқа таңдалады.

Спиральды модель эволюциялық дизайн стратегиясының классикалық үлгісі болып табылады. Спиральды модель (Barry Boehm, 1988) классикалық өмірлік циклдің және орналасудың ең жақсы мүмкіндіктеріне негізделген, оған жаңа элемент қосылады - бұрын болмаған тәуекелді талдау.

Спираль моделі спиральдың жеке секторларымен ұсынылған төрт әрекетті анықтайды:

1. Жоспарлау – мақсаттарды, нұсқаларды және шектеулерді анықтау.

2. Тәуекелді талдау – опцияларды талдау және тәуекелді тану/таңдау.

3. Инженерлік – келесі деңгейлі өнімді әзірлеу.

4. Бағалау – жобаның ағымдағы нәтижелерін тапсырыс берушінің бағалауы.

Спиральдың радиалды өлшемін қарастырған кезде спираль моделінің интеграциялық аспектісі айқын көрінеді. Спираль бойымен әрбір итерациямен (орталықтан шетке қарай жылжу), көбірек және көбірек толық нұсқаларыҚОСУЛЫ.

Спиральдың бірінші айналымында бастапқы мақсаттар, нұсқалар мен шектеулер анықталады, тәуекел танылады және талданады. Тәуекелді талдау талаптардың белгісіздігін көрсетсе, прототиптеу (дизайн квадрантында қолданылады) әзірлеушіге және тапсырыс берушіге көмектеседі. Модельдеу проблемалық және нақтыланған талаптарды одан әрі анықтау үшін пайдаланылуы мүмкін. Тапсырыс беруші инженерлік (жобалау) жұмыстарын бағалайды және өзгертулер бойынша ұсыныстар жасайды. Жоспарлау мен тәуекелді талдаудың келесі кезеңі тұтынушылардың ұсыныстарына негізделген. Спиральдағы әрбір циклде тәуекелді талдау нәтижелері «жалғастыру, жалғастырмау» түрінде қалыптасады. Тәуекел тым үлкен болса, жоба тоқтатылуы мүмкін.

Көп жағдайда спираль жалғасады, әр қадам әзірлеушілерді жалпы жүйе үлгісіне итермелейді.

Итеративті әдіспен жетіспейтін жұмысты келесі итерацияда орындауға болады. Негізгі міндет - жүйені пайдаланушыларға жұмыс істейтін өнімді мүмкіндігінше тезірек көрсету, сол арқылы талаптарды нақтылау және толықтыру процесін белсендіру.

Спиральды модель жүйеге қойылатын талаптар толық анықталған жағдайларда жобаның соңғы кезеңдерінде каскадты тәсілді жоққа шығармайды.

Спиральды циклдің негізгі мәселесі келесі кезеңге өту сәтін анықтау болып табылады. Оны шешу үшін өмірлік циклдің әрбір кезеңіне уақыт шектеулерін енгізу қажет. Барлық жоспарланған жұмыстар аяқталмаса да, көшу жоспарға сәйкес жүреді. Жоспар алдыңғы жобалардан алынған статистикалық деректер және әзірлеушілердің жеке тәжірибесі негізінде құрастырылады.

Спиральды модельдің артықшылықтары:

Ең шынайы (эволюция түрінде) бағдарламалық жасақтаманы әзірлеуді көрсетеді;

Даму эволюциясының әрбір кезеңінде тәуекелді нақты есепке алуға мүмкіндік береді;

Итеративті даму құрылымына жүйелі тәсіл қадамын қосады;

Тәуекелді азайту және бағдарламалық өнімді жақсарту үшін симуляцияны пайдаланады.

Спиральды модельдің кемшіліктері:

Жаңашылдық (үлгінің тиімділігі туралы жеткілікті статистика жоқ);

Тұтынушыға қойылатын талаптардың артуы;

Әзірлеу уақытын бақылау және басқарудағы қиындықтар.

Бүгінгі таңда бағдарламалық жасақтаманы әзірлеудің келесі итеративті әдістемелерін бөлуге болады:

Рационалды бірыңғай процесс (RUP)

Икемді әзірлеу әдістемелері (SCRUM, KANBAN, DSDM, MSF, ALM, XP)

Agile дамыту әдістемесі(ағыл. Agile бағдарламалық қамтамасыз етуді әзірлеу).

Көптеген ептілік әдістемелері дамуды қысқа цикл деп аталатын бірқатар қысқарту арқылы тәуекелді азайтуға бағытталған итерацияларәдетте бір-екі аптаға созылады. Әрбір итерация өздігінен көрінеді бағдарламалық жобаминиатюрада және функционалдылықты арттыру үшін қажетті барлық тапсырмаларды қамтиды: жоспарлау, талаптарды талдау, дизайн, кодтау, тестілеу және құжаттама. Бір итерация әдетте босату үшін жеткіліксіз жаңа нұсқасыөнімде Agile бағдарламалық жасақтама жобасы әрбір итерацияның соңында шығаруға дайын деп есептеледі. Әрбір итерацияның соңында топ даму басымдықтарын қайта бағалайды.

Agile әдістері бетпе-бет қарым-қатынасқа баса назар аударады. Шапшаң командалардың көпшілігі бір кеңседе орналасқан. Кем дегенде, оған «тұтынушылар» да кіреді (өнімді анықтайтын тұтынушылар; олар өнім менеджерлері, бизнес-аналитиктер немесе тұтынушылар да болуы мүмкін). Кеңсеге сонымен қатар тестерлер, интерфейс дизайнерлері, техникалық жазушылар және менеджерлер кіруі мүмкін.

Ең танымал және жетілдірілген икемді әдістемелердің бірі - SCRUM әдістемесі.

SCRUM- шағын командаларға арналған әдістеме (10 адамға дейін). Бүкіл жоба әрқайсысы 30 күнге созылатын итерацияларға (спринттерге) бөлінген. Келесі спринт кезінде енгізу жоспарланған жүйе мүмкіндіктерінің тізімі таңдалады. Ең маңызды шарттар - бір итерацияны орындау кезінде таңдалған функциялардың өзгермейтіндігі және оның шығарылымы арқылы барлық жоспарланған функционалдылықты жүзеге асыру мүмкін болмаса да, келесі шығарылымның шығарылу мерзімдерін қатаң сақтау. Әзірлеу менеджері күнделікті 20 минуттық кездесулер өткізеді, олар скрам деп аталады, оның нәтижесі алдыңғы күні жүзеге асырылған жүйе функциясын, туындаған қиындықтарды және келесі күнге жоспарды анықтау болып табылады. Мұндай кездесулер жобаның орындалу барысын үнемі бақылауға, туындаған мәселелерді тез анықтауға және оларға жедел әрекет етуге мүмкіндік береді.

ҚАНБАН– тапсырмаға бағытталған бағдарламалық жасақтаманы әзірлеудің епті әдіснамасы.

Негізгі ережелер:

Дамытушылық көрнекілігі:

o жұмысты міндеттерге бөлу;

o тапсырманың әзірлеудегі орны туралы белгілерді қолдану;

Дамудың әрбір кезеңінде бір мезгілде орындалатын жұмыстардың шектелуі;

Цикл уақытын өлшеу (бір тапсырманы орындаудың орташа уақыты) және процесті оңтайландыру.

KANBAN артықшылықтары:

Параллельді тапсырмалардың санын азайту әрбір жеке тапсырманың орындалу уақытын айтарлықтай қысқартады;

Проблемалық міндеттерді жылдам анықтау;

Орташа тапсырманы орындау уақытын есептеңіз.

ДИНАМИКАЛЫҚ ЖҮЙені ДАМЫТУ ӘДІСІ(DSDM) 17 британдық компанияның консорциумының жұмысының нәтижесінде пайда болды. Бүкіл ұйым осы әдістеме бойынша нұсқаулықтарды әзірлеумен, оқу курстарын ұйымдастырумен, аккредиттеу бағдарламаларымен және т.б. айналысады. Сонымен қатар, DSDM құнының ақшалай мәні бар.

Барлығы бағдарламаның орындылығын және оның көлемін зерттеуден басталады. Бірінші жағдайда, сіз DSDM берілген жоба үшін дұрыс екенін анықтауға тырысасыз. Бағдарламаның ауқымын қысқаша семинарлар сериясында зерделеу жоспарлануда, онда бағдарламашылар өздері жұмыс істейтін бизнес саласы туралы білетін болады. Ол сондай-ақ болашақ жүйенің архитектурасына және жоба жоспарына қатысты негізгі ережелерді талқылайды.

Процесс әрі қарай өзара байланысты үш циклге бөлінеді: функционалдық үлгі циклі аналитикалық құжаттама мен тәжірибелік үлгілерді жасауға жауап береді, жобалау және құрастыру циклі жүйені жұмыс жағдайына келтіруге арналған, және ақырында, соңғы цикл – іске асыру циклі – қамтамасыз етеді. бағдарламалық қамтамасыз ету жүйесін енгізу.

DSDM құрастырылатын негізгі принциптер:

Пайдаланушылармен белсенді әрекеттесу;

Нұсқалардың жиі шығарылуы;

Шешім қабылдауда әзірлеушілердің тәуелсіздігі;

Бүкіл жұмыс циклі бойынша тестілеу.

Көптеген басқа ептілік әдістемелері сияқты, DSDM әрқайсысы екі-алты апталық қысқа итерацияларды пайдаланады. Жұмыстың жоғары сапасына және өзгеретін талаптарға бейімделуге ерекше назар аударылады.

MICROSOFT SOLUTIONS FRAMEWORK(MSF) — Microsoft корпорациясы ұсынған бағдарламалық жасақтаманы әзірлеу әдістемесі. MSF негізінде құрылады практикалық тәжірибе Microsoft және шешімді әзірлеу процесінде адамдарды және жұмыс процестерін басқаруды сипаттайды.

MSF процесс моделінің негізгі ұғымдары мен принциптері:

Жобаның біртұтас көрінісі – барлық мүдделі тараптар және жобаның әділ қатысушылары түпкілікті нәтижені анық түсінуі керек, әркім жобаның мақсатын түсінуі керек;

Сауда-саттықты басқару – жоба ресурстары, кесте және іске асырылатын мүмкіндіктер арасындағы сәйкестіктерді табу;

Икемділік – дизайн шарттарын өзгертуге дайындық;

Бизнестің басымдықтарына назар аудару - шешімді тұтынушы күтетін табыс пен пайдаға назар аудару;

Жоба аясында еркін қарым-қатынасты ынталандыру;

Негізгі нұсқаларды жасау – бағдарлама кодын, жоба жоспарын, пайдаланушы нұсқаулығын, сервер параметрлерін және одан кейінгі тиімді өзгерістерді басқаруды, жоба аналитикасын қоса алғанда, кез келген жоба артефактісінің күйін бекіту.

MSF табысты АТ шешімдерін жоспарлау, жобалау, әзірлеу және енгізу үшін дәлелденген әдістемелерді ұсынады. Икемділігімен, ауқымдылығымен және қатаң нұсқауларының болмауымен MSF кез келген көлемдегі ұйымның немесе жоба командасының қажеттіліктерін қанағаттандыра алады. MSF әдіснамасы персоналды басқаруға арналған принциптерден, үлгілерден және пәндерден, процестерден, технологиялық элементтерден және көптеген жобаларға тән осы факторлардың барлығына қатысты мәселелерден тұрады.

Қолданбаның өмірлік циклін басқару(ALM) - Borland әзірлеген және қолдаушы.

экстремалды бағдарламалау(XP) - тәуелсіз әзірлеушілердің ашық қауымдастығы қолдайтын экстремалды бағдарламалау.

Аспаптық бағдарламалық қамтамасыз етудің мәні мен түсінігі

Құралдық бағдарламалық қамтамасыз ету (IPO) – бағдарламаларды жобалау, әзірлеу және техникалық қызмет көрсету кезінде пайдалануға арналған бағдарламалық қамтамасыз ету.

Әзірлеу кезеңінде қолданбалы құралдар. Құралдық бағдарламалық қамтамасыз ету - бұл бағдарламашыларға олардың жұмысында көмектесу үшін, бағдарламалық жасақтаманы әзірлеу менеджерлеріне әзірлеу процесін және нәтижесінде нәтижені басқаруға ұмтылуда көмектесу үшін пайдаланылатын бағдарламалар жиынтығы. Бұл бағдарламалық жасақтаманың ең танымал өкілдері бағдарламашыларға машиналық нұсқауларды жазуға көмектесетін бағдарламалау тілдеріндегі аудармашылар бағдарламалары болып табылады. Құрал бағдарламалары Fortran, Cobol, Jovial, BASIC, APL және Pascal тілінен аудармашылар болып табылады. Олар жаңа жұмыс бағдарламаларын құру процесін жеңілдетеді. Дегенмен, тілдерден аудармашылар құрал бағдарламаларының ең танымал бөлігі ғана; олардың саны өте көп.

Жаңа бағдарламаларды жасауға көмектесу үшін компьютерлерді пайдалану кәсіби бағдарламашы емес адамдар үшін анық емес. Көбінесе кәсіпқойлар құрал (әзірлеу кезеңі) және жүйелік (пайдалану кезеңі) бағдарламалық жасақтама туралы бір демде сөйлеседі, олардың дағдыларының құпияларын білмейтін адамдар бағдарламалық қамтамасыз етудің бұл рөлін біледі деп есептейді. Пайдалану кезеңіндегідей (қолданбалы бағдарламалар үшін), жүйелік бағдарламалық қамтамасыз етуәзірлеу кезеңінде жұмыс істейді, бірақ тек құрал-сайманмен бірге. Құралдық бағдарламалық қамтамасыз ету немесе бағдарламалау жүйелері – бұл бағдарламалау тілінде жаңа бағдарламаларды әзірлеуді автоматтандыруға арналған жүйелер.

Ең жалпы жағдайда таңдалған бағдарламалау тілінде (тіл жүйелік бағдарламалау) сізде келесі компоненттер болуы керек:

1. Бағдарламаның бастапқы коды бар файлды құруға арналған мәтіндік редактор.

2. Компилятор немесе интерпретатор. Бастапқы мәтін компиляторлық бағдарламаның көмегімен аралық объектілік кодқа аударылады. Үлкен бағдарламаның бастапқы мәтіні бірнеше модульдерден (бастапқы мәтіндері бар файлдар) тұрады. Әрбір модуль құрастырылады бөлек файлобъект кодымен, содан кейін оны бір бүтінге біріктіру қажет.

3. Объектілік модульдерді байланыстыратын және жұмыс істейтін қосымшаны – орындалатын кодты тудыратын байланыстырушы немесе ассемблер.

Орындалатын код - бұл бағдарлама жасалған операциялық жүйесі бар кез келген компьютерде іске қосуға болатын толық бағдарлама. Әдетте, алынған файлдың кеңейтімі .EXE немесе .COM болады.

Соңғы уақытта Windows қосымшаларын құруға бағытталған визуалды бағдарламалау әдістері (скрипт тілдерін қолдану) кең тарады. Бұл процесс орталарда автоматтандырылған жылдам дизайн. Бұл жағдайда арнайы редакторлардың көмегімен конфигурацияланатын дайын көрнекі компоненттер қолданылады.

Визуалды дизайнға арналған ең танымал редакторлар (визуалды құралдарды пайдаланатын бағдарламалау жүйелері):

Borland Delphi – қолданбалы бағдарламалаудың кез келген дерлік мәселесін шешуге арналған.

Borland C++ Builder – DOS және Windows қосымшаларын әзірлеуге арналған тамаша құрал.

Microsoft Visual Basic Windows бағдарламаларын жасаудың танымал құралы болып табылады.

Microsoft Visual C++ – бұл құрал ОЖ ортасында жұмыс істейтін кез келген қолданбаларды әзірлеуге мүмкіндік береді Microsoft түрі Windows

Осылайша, аспаптық бағдарламалық қамтамасыз етудің мәні кез келген құру болып табылады орындалатын бағдарлама, формалды түрлендіру арқылы логикалық өрнектерорындалатын машиналық кодқа, сондай-ақ оны басқару және түзету.

Құралдың бағдарламалық құралының міндеттері мен функциялары

Құралдық бағдарламалық қамтамасыз ету, бағдарламалық қамтамасыз етудің арнайы түрі ретінде, жалпы және жеке сипатталады

функциялары, жалпы барлық бағдарламалық құрал сияқты. Жалпы функцияларжоғарыда біз талқылаған және тек қана тән арнайы функциялар бұл түрібағдарламалар мыналар:

1. Арнайы белгіленген кодтық сөздерді (бағдарламалау тілі), сондай-ақ белгілі бір символдар жиынын және олардың құрылған файлдағы орналасуын – программаның синтаксисін пайдаланып әзірленген программаның мәтінін құру.

2. Құрылған бағдарлама мәтінін компьютерді тануға қолжетімді машиналық-бағытталған кодқа аудару. Құрылған бағдарламаның айтарлықтай көлемі болған жағдайда, ол жеке модульдерге бөлінеді және модульдердің әрқайсысы бөлек аударылады.

3. Жеке бөліктердің бір-бірімен өзара әрекеттесуін үйлестіруді қамтамасыз ететін қажетті құрылымды сақтай отырып, жеке модульдерді бір орындалатын кодқа қосу.

4. Құрылған бағдарламаны тестілеу және бақылау, формальды, логикалық және синтаксистік қателерді табу және жою, тыйым салынған кодтардың бар-жоғын бағдарламаларды тексеру, сондай-ақ құрылған бағдарламаның өнімділігі мен әлеуетін бағалау.

Құралдардың бағдарламалық құралдарының түрлері

Аспаптық бағдарламалық қамтамасыз етуге жүктелген міндеттерге сүйене отырып, аспаптық бағдарламалық қамтамасыз етудің көптеген түрлерін ажыратуға болады:

Мәтіндік редакторлар

Біріктірілген даму орталары

Құрастырушылар

Аудармашылар

Байланыстырғыштар

Талдаушылар және талдаушы генераторлар (Javacc бөлімін қараңыз)

Құрастырушылар

Түзетушілер

Профильдеушілер

Құжаттама генераторлары

Кодты қамтуды талдау құралдары

Үздіксіз интеграция құралдары

Автоматтандырылған тестілеу құралдары

Нұсқаларды басқару жүйелері және т.б.

Қолданбалы бағдарламаларды құруға арналған қабықшалар да құралдық бағдарламалар арқылы жасалатынын және сондықтан қолданбалы бағдарламалар деп атауға болатынын атап өткен жөн. Кейбір аспаптық бағдарламалардың мақсатын қысқаша қарастырыңыз.

Мәтіндік редакторлар.

Мәтіндік редактор - компьютерлік бағдарламаөңдеуге арналған мәтіндік файлдарқұру және өзгертулер енгізу сияқты.

CAD құрамы

АЖЖ – техникалық құралдарды, математикалық және бағдарламалық қамтамасыз етуді біріктіретін жүйе, оның параметрлері мен сипаттамалары инженерлік жобалау және құрылыс тапсырмаларының ерекшеліктерін барынша ескере отырып таңдалады. АЖЖ-да бағдарламаларды қолданудың ыңғайлылығы инженер мен компьютер арасындағы жедел байланыс құралдарын, арнайы проблемалық-бағытталған тілдерді пайдалану және ақпараттық-анықтамалық базаның болуы арқылы қамтамасыз етіледі.

АЖЖ құрылымдық құрамдастары жүйенің барлық қасиеттеріне ие және тәуелсіз жүйелер ретінде құрылған ішкі жүйелер болып табылады. Бұл кейбір критерийлер бойынша таңдалған АЖЖ бөліктері, олар сәйкес жобалық шешімдер мен жобалық құжаттарды алу арқылы кейбір аяқталған жобалық тапсырмалардың орындалуын қамтамасыз етеді.

АЖЖ ішкі жүйесінің мақсаты бойынша олар екі түрге бөлінеді: жобалау және техникалық қызмет көрсету.

Жобалау жобалау процедуралары мен операцияларын орындайтын ішкі жүйелерді қамтиды, мысалы:

машинаның орналасу ішкі жүйесі;

құрастыру қондырғыларын жобалаудың ішкі жүйесі;

Бөлшектерді жобалаудың ішкі жүйесі;

· басқару сұлбасының конструкциясының ішкі жүйесі;

· технологиялық жобалаудың ішкі жүйесі.

Қызмет көрсету дизайн ішкі жүйелерінің өнімділігін қолдауға арналған ішкі жүйелерді қамтиды, мысалы:

· дизайн объектілерін графикалық көрсетудің ішкі жүйесі;

құжаттаманың ішкі жүйесі;

Ақпаратты іздеудің ішкі жүйесі және т.б.

Жобалау объектісіне қатынасына қарай жобалаудың ішкі жүйесінің екі түрін ажыратады:

объектіге бағытталған (объективті);

Объектіге тәуелсіз (инвариантты).

Нысандық ішкі жүйелер бір немесе бірнеше жобалау процедураларын немесе нақты жобалау объектісіне тікелей тәуелді операцияларды орындайтын ішкі жүйелерді қамтиды, мысалы:

технологиялық жүйелерді жобалаудың ішкі жүйесі;

динамикасын модельдеуге арналған ішкі жүйе, жобаланған құрылым және т.б.

Инвариантты ішкі жүйелерге біртұтас жобалау процедуралары мен операцияларын орындайтын ішкі жүйелер жатады, мысалы:

машина бөлшектерін есептеудің ішкі жүйесі;

кесу шарттарын есептеудің ішкі жүйесі;

техникалық-экономикалық көрсеткіштерді есептеудің ішкі жүйесі және т.б.

Жобалау процесі ішкі жүйелерде жобалау процедуралары мен операцияларының белгілі бір реттілігі түрінде жүзеге асырылады. Жобалау процедурасы жобалаудың ішкі жүйесінің бір бөлігіне сәйкес келеді, нәтижесінде белгілі бір жобалық шешім қабылданады. Ол қарапайым жобалау операцияларынан тұрады, оларды орындаудың берік бекітілген тәртібі бар және жобалау процесінде жергілікті мақсатқа жетуге бағытталған. Жобалау операциясы деп жобалау процедурасының шартты түрде бөлінген бөлігі немесе жобалау процесінде жобалаушының орындайтын элементар әрекеті түсініледі. Жобалау процедураларының мысалдары станоктың кинематикалық немесе орналасу сұлбасын әзірлеу процедуралары, өнімді өңдеу технологиясы және т.б., ал жобалау операцияларының мысалдары - үстемелерді есептеу, теңдеуді шешу және т.б.

АЖЖ ішкі жүйелерінің құрылымдық бірлігі осы ішкі жүйе үшін ортақ мақсатты функциямен біріктірілген бағдарламалық қамтамасыз етудің әртүрлі түрлері арасындағы байланыстарды қатаң реттеумен қамтамасыз етіледі. Қауіпсіздіктің келесі түрлері бар:

әдістемелік қамтамасыз ету – жобалауды автоматтандыру құралдарының құрамын, таңдау және пайдалану ережелерін көрсететін құжаттар;

· лингвистикалық қамтамасыз ету – жобалау тілдері, терминология;

математикалық бағдарламалық қамтамасыз ету - әдістер, математикалық модельдер, алгоритмдер;

бағдарламалық қамтамасыз ету – бағдарламалық мәтіндері бар құжаттар, машиналық тасымалдаушылардағы бағдарламалар және операциялық құжаттар;

· техникалық қамтамасыз ету – компьютерлік және ұйымдастыру техникасының құрылғылары, мәліметтерді беру құралдары, өлшеу және басқа да құрылғылар және олардың комбинациялары;

· Ақпараттық қолдау- типтік жобалау процедураларының, типтік жобалық шешімдердің, типтік элементтердің, құрамдас бөліктердің, материалдардың және басқа деректердің сипаттамасын қамтитын құжаттар;

ұйымдастырушылық қамтамасыз ету – бөлімшелердің ұйымдық құрылымын және олардың жобалауды автоматтандыру құралдарының жиынтығымен өзара әрекетін реттейтін ережелер мен нұсқаулар, бұйрықтар, штаттық кесте және басқа да құжаттар.

· 64 CALS технологиялары.

CALS-технологиялары өнеркәсіптік автоматтандырылған жүйелерді біртұтас көп функциялы жүйеге біріктіру құралы ретінде қызмет етеді. Автоматтандырылған жобалау және басқару жүйелерін біріктірудің мақсаты күрделі жабдықты құру және пайдалану тиімділігін арттыру болып табылады.

Жаһандық қалыптасуының қазіргі жағдайында ақпараттық қоғамақпараттың рөлі және ақпараттық технологияларболашақ маманды дайындауда айтарлықтай өседі. Жақын болашақта қоғамның стратегиялық әлеуеті энергетикалық ресурстар емес, ақпараттық және ғылыми білім болады. Ақпарат қоғамның ғылыми-техникалық және әлеуметтік-экономикалық дамуының негізгі ресурсына айналады, ғылымның, техниканың және әртүрлі өндірістердің жеделдетілген дамуына айтарлықтай әсер етеді, білім беруді жаңғырту процесінде маңызды рөл атқарады. ЖОО-да білім берудің құндылық-семантикалық сипаттамасы және мамандардың кәсіби іс-әрекеті ғылыми-зерттеу және жобалау қызметінің міндеттерін барынша толық жүзеге асыратын интеллектуалды кәсіби ортаны қалыптастыруда көрінуі керек.

Адам қызметінің барлық түрлерін: ғылыми сипаттағы дәстүрлі интеллектуалдық міндеттерден бастап өндірісті, сауданы, коммерциялық, банктік және басқа да қызметті автоматтандыруға дейін кеңінен компьютерлендіру өндірістің тиімділігін арттыруға қызмет етеді. Нарықтық экономика жағдайында бәсекені өз қызметінде заманауи ақпараттық технологияларды пайдаланатын кәсіпорындар ғана табысты қамтамасыз етеді.

Дәл ақпараттық технология материалдық өндірістің прогрессивті технологияларымен қатар еңбек өнімділігін және өнім сапасын айтарлықтай арттыруға және сонымен бірге тұтынушылардың қажеттіліктері мен үміттерін қанағаттандыратын жаңа өнімдерді шығару уақытын айтарлықтай қысқартуға мүмкіндік береді. Жоғарыда айтылғандардың барлығы ең алдымен күрделі ғылымды қажет ететін өнімдерге, соның ішінде техникалық мақсаттағы бұйымдарға қатысты.

Әртүрлі автономды ақпараттық жүйелерді енгізу процесінде жинақталған тәжірибе кәсіпорында немесе кәсіпорындар тобында (виртуалды кәсіпорын) қолдау көрсететін интеграцияланған ақпараттық ортаны құру негізінде әртүрлі ақпараттық технологияларды бір кешенге біріктіру қажеттілігін жүзеге асыруға мүмкіндік берді. өнімдердің өмірлік циклінің барлық кезеңдері. Кәсіби орта ғылымда және өндіріс процесін басқару саласында жаңа ақпараттық технологияларды пайдалана отырып, кәсіби даму мүмкіндіктерін барынша толық ашады. Инновациялық технологияларақпаратты өңдеу өнеркәсібі саласында CALS-(Continuous Acquisition and Life cycle Support) технологиясын енгізу арқылы – жобаланатын объектінің өмірлік циклін үздіксіз ақпараттық қамтамасыз ету, өндіріс процесін басқаруды автоматтандыруды жаңа деңгейге шығарады.

CALS идеологиясына негізделген ақпараттық технологияларды пайдалану жүйені тиімдірек енгізуге ықпал ететін факторлардың бірі болып табылады. автоматтандырылған басқарукәсіпорын.

CALS-технологиялары өнеркәсіптік автоматтандырылған жүйелерді біртұтас көп функциялы жүйеге біріктіру құралы ретінде қызмет етеді. Автоматтандырылған жобалау және басқару жүйелерін біріктірудің мақсаты күрделі жабдықты құру және пайдалану тиімділігін арттыру болып табылады.

CALS концепциясының мәні процестерді басқарудың және осы циклдің барлық қатысушыларымен өзара әрекеттесудің біркелкі әдістерін қамтамасыз ететін интеграцияланған ақпараттық ортаны пайдалануға негізделген өнімнің өмірлік циклінің барлық кезеңдерінде ақпараттық қамтамасыз етудің принциптері мен технологияларын қолдану болып табылады. : өнім тұтынушылары (соның ішінде мемлекеттік органдар мен ведомстволар), жеткізушілер (өндірушілер) ) өнімдер, операциялық және техникалық қызмет көрсететін персонал. Бұл принциптер мен технологиялар талаптарға сәйкес жүзеге асырылады халықаралық стандарттар, басқару ережелерін реттейтін және өзара іс-қимыл негізінен электрондық деректер алмасу арқылы.

CALS-технологиясын қолдану кезінде жобалық және басқарушылық шешімдерді қабылдау кезінде қолда бар ақпаратты неғұрлым толық есепке алу есебінен өнімнің сапасы жақсарады, сонымен қатар өнімді жобалау мен өндіруге кететін материалдық және уақыт шығындары азаяды. Бұл технологияны енгізу процесінде кәсіпорынды басқарудың автоматтандырылған жүйесінде (БАЖ) қабылданған шешімдердің негізділігі, егер шешім қабылдаушы және сәйкес басқару бағдарламалары тек АМЖ деректер базасына ғана емес, сонымен қатар басқа да мәліметтер базасына онлайн қолжетімді болса, жоғарырақ болады. автоматтандырылған жүйелер және, демек, жұмыс жоспарларын, қосымшалардың мазмұнын, орындаушыларды бөлуді, қаржыны бөлуді және т.б. оңтайландыра алады. Сонымен қатар, онлайн қолжетімділікті деректер базасынан деректерді оқу мүмкіндігі ретінде ғана емес, сонымен қатар оларды дұрыс түсіндірудің қарапайымдылығы деп түсіну керек, т.б. синтаксис пен семантиканың APCS-те қабылданған хаттамалармен сәйкестігі. Технологиялық ішкі жүйелер компьютерлік дизайнның ішкі жүйелерінен келетін деректерді дәл қабылдауы және дұрыс түсіндіруі керек. Егер негізгі кәсіпорын және оған қатысты ұйымдар әртүрлі автоматтандырылған жүйелермен жұмыс істейтін болса, бұған қол жеткізу оңай емес. Сонымен қатар, технологиялық ішкі жүйелер жұмысының бүкіл периметрі бойынша ақпаратты қорғау мәселесі өзекті бола бастайды.

CALS технологияларын пайдалану жобалау жұмыстарының көлемін айтарлықтай қысқартуы мүмкін, өйткені компоненттер мен құрылғылардың, жабдықтардың, машиналар мен жүйелердің бұрын жобаланған көптеген құрамдас бөліктерінің сәтті әзірлемелерінің сипаттамалары кез келген пайдаланушыға қолжетімді желілік серверлердің дерекқорларында сақталады. CALS технологиясы. Қол жетімділік және қорғау тағы да жалпы біріктірілген жүйенің әртүрлі бөліктеріндегі форматтардың, әдістердің, нұсқаулықтардың сәйкестігімен қамтамасыз етіледі. Сонымен қатар, виртуалды кәсіпорындарды құруға дейін кәсіпорындарды мамандандыруға көбірек мүмкіндіктер бар, бұл да шығындарды азайтуға көмектеседі.

CALS технологиясын енгізу процесінде кешенді логистикалық қолдау функцияларын жүзеге асыру есебінен операциялық шығындар айтарлықтай төмендейді. Техникалық қызмет көрсету, өнімді әртүрлі жүйелер мен орталарға біріктіру, өзгермелі жұмыс жағдайларына бейімделу және т.б. мәселелерін шешуге айтарлықтай ықпал етеді. Бұл деректерді біріктіру артықшылықтары заманауи CALS технологияларын пайдалану арқылы қол жеткізіледі.

Өнеркәсіптік автоматтандырылған жүйелер автономды түрде жұмыс істей алады және қазіргі уақытта өндірісті басқару процесін ұйымдастыру осы негізде жүзеге асырылады. Дегенмен, жүйелердің бірінде жасалған деректер басқа жүйелерде қол жетімді болса, автоматтандырудың тиімділігі айтарлықтай жоғары болады, өйткені оларда қабылданған шешімдер ақпараттандырылады.

CALS технологиясын енгізу тәжірибесі өндірістік автоматтандырылған жүйелердің өзара әрекеттесуінің тиісті деңгейіне жету үшін жеке кәсіпорындардың ішінде де, ең бастысы, кәсіпорындар бірлестігі шеңберінде де бірыңғай ақпараттық кеңістік құру қажет екенін көрсетеді. Біріккен ақпараттық кеңістікОл олардың өмірлік циклінің әртүрлі кезеңдерінде нақты өнімдер туралы ақпараттың пішіні мен мазмұнын біріздендіру есебінен қамтамасыз етіледі.

Пішінді бір жүйеге келтіруге стандартты форматтар мен бағдарламалар аралық алмасуларда және құжаттамада ақпаратты көрсету үшін тілдерді пайдалану арқылы қол жеткізіледі.

Белгілі бір өнім туралы деректерді оның өмірлік циклінің барлық кезеңдерінде бір мәнді дұрыс түсіндіру ретінде түсінілетін мазмұнды унификациялау CALS қолданбалы хаттамаларында бекітілген қолданбалы онтологияларды (мета-сипаттамаларды) әзірлеу арқылы қамтамасыз етіледі.

CAD - бұл не?

Сонымен, компьютерлік жобалау жүйелері дегеніміз не? CAD жобалау арқылы белгілі бір ақпараттық технологияны енгізуге арналған автоматтандырылған жүйелерді білдіреді. Іс жүзінде CAD болып табылады техникалық жүйелер, осылайша автоматтандыруға, жобаларды әзірлеуді құрайтын процестердің жұмыс істеуін қамтамасыз етуге мүмкіндік береді. CAD контекстке байланысты мыналарға сілтеме жасай алады:

сәйкес инфрақұрылымның негізгі элементі ретінде пайдаланылатын бағдарламалық қамтамасыз ету;

Жобаны әзірлеу процесін автоматтандыру үшін кәсіпорында қолданылатын техникалық және кадрлық жүйелердің (соның ішінде бағдарламалық қамтамасыз ету түріндегі АЖЖ қолдануды көздейтін) жиынтығы;

Осылайша, қарастырылып отырған терминнің неғұрлым кең және тар түсіндірмесін бөліп көрсетуге болады. Бұл түсіндірмелердің қайсысы бизнесте жиі қолданылатынын айту қиын. Мұның бәрі автоматтандырылған жобалау жүйелерін пайдаланудың нақты көлеміне, сондай-ақ осы жүйелерді пайдалану болжанатын міндеттерге байланысты. Мәселен, мысалы, өндірістегі бір цех жағдайында CAD компьютерлік дизайнға арналған арнайы бағдарлама болуы керек. Егер біз ұйымды дамытудың стратегиялық жоспарлауы туралы айтатын болсақ, онда CAD сияқты тұжырымдама әртүрлі жобаларды әзірлеудің тиімділігін арттыру үшін пайдаланылатын ауқымды инфрақұрылымға сәйкес келуі мүмкін. Айта кету керек, CAD терминінің өзі аббревиатура болып табылады, оны әртүрлі тәсілдермен шешуге болады. Жалпы жағдайда бұл аббревиатура «компьютерлік жобалау жүйесі» сөздерінің тіркесіміне сәйкес келеді. Бұл аббревиатураны шешудің басқа нұсқалары да бар. Мысалы, «жобалау жұмысын автоматтандыру жүйесі» опциясы өте кең таралған. CAD терминінің ағылшын тіліндегі аналогының мағынасына сәйкес CAD аббревиатурасы, кейбір жағдайларда CAX да қолданылады.Келесі сұрақты толығырақ қарастырайық: машина жасауда компьютерлік жобалау жүйелерін қандай мақсатта жасауға болады және басқа өрістер?

CAD: құру мақсаты

АЖЖ әзірлеудің негізгі мақсаты әртүрлі өндірістік тапсырмаларды, соның ішінде инженерлік жобалаумен байланысты мәселелерді шешетін кәсіпорын мамандарының жұмысының тиімділігін арттыру болып табылады. Бұл жағдайда тиімділікті келесі факторлар арқылы арттыруға болады:

Жобалау процесінің күрделілігін азайту;

Жобаны іске асыру уақытын қысқарту;

Жобалау жұмыстарының құнын және операцияға байланысты шығындарды азайту;

Жобалау инфрақұрылымының сапасын жақсартуды қамтамасыз ету.

Тестілеу және модельдеу шығындарын азайту.

CAD келесі факторларға байланысты белгіленген артықшылықтарға қол жеткізуге мүмкіндік беретін құрал:

Тиімді Ақпараттық қолдаужобаларды әзірлеуге қатысатын мамандар;

құжаттаманы автоматтандыру;

Параллельді жобалау ұғымдарын қолдану;

Әртүрлі шешімдерді унификациялау;

Қымбат сынақтарға балама ретінде математикалық модельдеуді қолдану;

Жобалау әдістерін оңтайландыру;

Бизнесті басқару процестерінің сапасын арттыру.

Енді автоматты жобалау жүйесі қандай құрылымда ұсынылуы мүмкін екенін қарастырайық.

АЖЖ: классификациялар

АЖЖ жүйелерін жіктеудің ең көп тараған критерийлері салалық тағайындауды қамтиды. Келесі түрлері бар:

  1. Машина жасау инфрақұрылымын компьютердің көмегімен жобалау;
  2. электрондық жабдыққа арналған CAD;
  3. Құрылыс индустриясындағы АЖЖ.

Бірінші типті АЖЖ жүйелері өнеркәсіптің кең ауқымында қолданылуы мүмкін: ұшақ, автомобиль, кеме жасау, халық тұтынатын тауарлар. Сондай-ақ, сәйкес инфрақұрылымды модельдеу және жобалау шеңберінде әртүрлі тәсілдер арқылы жеке бөліктерді де, әртүрлі механизмдерді де әзірлеу үшін пайдалануға болады.

Екінші типті АЖЖ жүйелері дайын электронды жабдықты және оның дизайнын жасау үшін қолданылады жеке элементтеринтегралдық схемалар, процессорлар және аппараттық құралдардың басқа түрлері сияқты.

Үшінші типті АЖЖ әртүрлі құрылымдарды, ғимараттарды, инфрақұрылым элементтерін жобалау үшін пайдаланылуы мүмкін.

Автоматтандырылған жобалау жүйелерін жіктеуге болатын тағы бір критерий - мақсатты мақсат. Мұнда ерекшеленеді:

Екі өлшемді немесе үш өлшемді геометриялық модельдерді автоматтандыру, конструкторлық құжаттаманы құру үшін қолданылатын жобалау құралдары;

Әртүрлі сызбаларды әзірлеу үшін қолданылатын жүйелер;

Геометриялық модельдеуге арналған жүйелер;

Инженерлік жобалардағы есептеулерді автоматтандыруға арналған жүйелер және динамикалық модельдеу;

Жобаларды технологиялық оңтайландыру мақсатында қолданылатын автоматтандыру құралдары;

Жобалар үшін әртүрлі параметрлерді компьютерлік талдауға арналған жүйелер.

Бұл классификация шартты болып саналады.

В автоматтандырылған жүйепроцесті жобалау жоғарыда аталған функциялардың кең ауқымын қамтуы мүмкін. АЖЖ мүмкіндіктерінің нақты тізімін ең алдымен осы жүйені әзірлеуші ​​анықтайды. Ол қандай міндеттерді шеше алатынын қарастырайық.

Бағдарламалық қамтамасыз етуді әзірлеу құралдарының жүйелері

1. Бағдарламалық қамтамасыз етуді әзірлеу құралдары.

Бағдарламалық құралдарды жасау процесінде белгілі бір дәрежеде PS әзірлеу үшін компьютерлік қолдау қолданылады.

Бұған компьютердің деректер тасымалдаушыларында (мысалы, дискілерде) PS-тің кем дегенде кейбір бағдарламалық құжаттарын (негізінен бағдарламалар) ұсыну және PS әзірлеушісіне қолжетімді ету арқылы қол жеткізіледі. арнайы PSнемесе компьютерге кіреді арнайы құрылғыларосындай құжаттарды кез келген өңдеу үшін жасалған.

Мұндай арнайы PS ретінде көрсетуге болады құрастырушыкез келген бағдарламалау тілінен.

Компилятор PS әзірлеушісін PS әзірлеушісіне өте ыңғайсыз болатын бағдарламаларды компьютер тілінде жазудан құтқарады - оның орнына ол өзіне ыңғайлы бағдарламалау тілінде бағдарламаларды жазады, оны сәйкес компилятор автоматты түрде компьютер тіліне аударады. .

PS әзірлеу процесін қолдайтын арнайы құрылғы ретінде ол қызмет ете алады эмуляторкез келген тіл.

Эмулятор PS әзірлеуді қолдайтын компьютер тілінен басқа тілде, мысалы, осы бағдарлама арналған компьютер тілінде бағдарламаларды орындауға (түсіндіруге) мүмкіндік береді.

Басқа PS ерік-жігерінің дамуын қолдауға арналған PS PS әзірлеуге арналған бағдарламалық құралды шақырыңыз,және PS әзірлеуді қолдау үшін арнайы жасалған компьютерлік құрылғы шақырылады аппараттық бағдарламалық қамтамасыз етуді әзірлеу құралы.

PS әзірлеу құралдарын әртүрлі бағдарламалық құжаттармен жұмыс істеу үшін PS бүкіл өмірлік циклінде пайдалануға болады. Сонымен мәтіндік редакторкез келген дерлік бағдарламалық құжатты әзірлеу үшін пайдалануға болады.

Бағдарламалық жасақтаманы әзірлеуде құралдардың атқаратын қызметтері тұрғысынан оларды келесі төрт топқа бөлуге болады:

редакторлар,

анализаторлар,

түрлендіргіштер,

бағдарламалардың орындалуын қамтамасыз ететін құралдар.

Редакторларөмірлік циклдің әртүрлі кезеңдерінде белгілі бір бағдарламалық құжаттарды ресімдеуге (қалыптастыруға) қолдау көрсету.

Жоғарыда айтылғандай, бұл үшін сіз әмбебаптардың бірін пайдалана аласыз мәтіндік редактор.

Дегенмен, күшті қолдау көрсетуге болады арнайы редакторлар:Әрбір құжат түрінің өз редакторы болады. Атап айтқанда, әзірлеудің бастапқы кезеңдерінде құжаттар кеңінен пайдалана алады графикалық құралдарсипаттамалар (диаграммалар, диаграммалар және т.б.). Мұндай жағдайларда бұл өте пайдалы болуы мүмкін графикалық редактор.

Бағдарламалау (кодтау) кезеңінде мәтіндік редактордың орнына ыңғайлырақ болуы мүмкін синтаксистік басқарылатын редакторҚолданылатын бағдарламалау тіліне тән.

Анализаторларқұжаттарды не статикалық өңдеуді жүзеге асырады әртүрлі түрлеріоларды бақылау, олардың белгілі бір қасиеттерін анықтау және статистикалық мәліметтерді жинақтау (мысалы, құжаттардың белгіленген стандарттарға сәйкестігін тексеру) немесе бағдарламаларды динамикалық талдау (мысалы, бағдарламаның жұмыс уақытын бағдарлама бойынша бөлуді анықтау үшін) модульдер).

Түрлендіргіштерқұжаттарды автоматты түрде ұсынудың басқа формасына (мысалы, пішімдеушілер) әкелуге немесе бір түрдегі құжатты басқа түрдегі құжатқа (мысалы, түрлендіргіштер немесе компиляторлар) аударуға, құжатты бөлек бөліктерден синтездеуге және т.б.

Бағдарламалардың орындалуын қамтамасыз ететін құралдар, компьютерде машиналық кодтан немесе оны түсіндірудің қосымша мүмкіндіктері бар машиналық кодтан басқа пішінде ұсынылған процестердің немесе олардың жеке бөліктерінің сипаттамаларын орындауға мүмкіндік береді.

Мұндай құралдың мысалы болып табылады басқа компьютердің эмулятор коды. Бұл құралдар тобына әртүрлі отладчиктерді де қосу керек.

Негізінде, әрқайсысы бағдарламалау жүйесі бағдарламалау тілі үшін ең типтік бағдарлама фрагменттерін орындайтын және бағдарламаны орындау кезінде орын алатын ерекше жағдайларға стандартты жауап беретін орындалатын бағдарламаның ішкі жүйесін қамтиды (біз мұндай ішкі жүйені атқарушы қолдау деп атаймыз), - бұл топтың құралы ретінде де қарастыруға болады.

2. Бағдарламалық қамтамасыз етуді әзірлеуге және қызмет көрсетуге арналған құрал орталары.

Қазіргі уақытта әрбір бағдарламалау жүйесі жеке құралдармен емес (мысалы, компилятормен) байланысты бағдарламалық жасақтаманы әзірлеуге және қызмет көрсетуге қолдау көрсететін кейбір логикалық байланысты бағдарламалық және аппараттық құралдар жиынтығы берілген тілбағдарламалау немесе кез келген белгілі бір пән саласына бағытталған. Біз мұндай жинақты атаймыз PS әзірлеуге және қызмет көрсетуге арналған құрал ортасы.

Мұндай аспаптық орталар үшін бұл тән

біріншіден, бағдарламалық және аппараттық құралдарды пайдалану және,

екіншіден, белгілі бір бағдарламалау тіліне немесе белгілі бір пәндік аймаққа белгілі бір бағдар.

Аспаптық ортаоның көмегімен жасалған PS пайдаланылуы керек болатын компьютерде жұмыс істеу міндетті емес. Көбінесе бұл комбинация өте ыңғайлы (қолданылатын компьютердің қуаты ғана мүмкіндік берсе): компьютерлермен жұмыс істеудің қажеті жоқ әртүрлі түрлері, әзірленген PS құрал ортасының құрамдастарын қамтуы мүмкін.

Алайда, егер PS қолданылатын компьютер осы PS әзірлеушілеріне қол жетімді болмаса (мысалы, ол үзілмейтін басқа жұмыстармен үнемі бос емес болса немесе ол әлі де әзірленуде) немесе ыңғайсыз болса. PS әзірлеу немесе бұл компьютердің қуаты қажетті аспаптық ортаның жұмыс істеуін қамтамасыз ету үшін жеткіліксіз, содан кейін деп аталатын аспаптық-объективті көзқарас.

Оның мәні мынада PS аспаптық деп аталатын бір компьютерде әзірленетінін және мақсат (немесе нысан) деп аталатын басқа компьютерде қолданылатыны.

Айырмау PS әзірлеуге және қызмет көрсетуге арналған құралдар ортасының үш негізгі класы

(16.1-сурет): ·

бағдарламалау орталары,

жұмыс орындары компьютерлік технология

бағдарламалау технологиясының аспаптық жүйелері.

Бағдарламалау ортасы арналған

негізінен бағдарламалау (кодтау), тестілеу және PS жөндеу процестерін қолдау үшін.

Компьютерлік технологияның жұмыс орны PS (спецификациялар) дамуының бастапқы кезеңдерін қолдауға және спецификацияларға сәйкес бағдарламаларды автоматты түрде құруға бағытталған.

Бағдарламалау технологиясының құралдар жүйесібағдарламалық жасақтаманың өмірлік циклінің барлық әзірлеу және техникалық қызмет көрсету процестерін қолдауға арналған және ұзақ өмірлік циклі бар үлкен бағдарламалық жүйелерді ұжымдық дамытуға бағытталған.

Мұндай жүйелер үшін техникалық қызмет көрсету құны әдетте әзірлеу құнынан асып түседі.

Күріш. 16.1. PS әзірлеуге және қызмет көрсетуге арналған құрал орталарының негізгі кластары.

3. Құралдарды бағдарламалау орталары.

Бағдарламалау орталарыең алдымен қамтиды

мәтіндік редактор, ол берілген программалау тілінде бағдарламаларды жобалауға, осы тілдегі бағдарламаларды құрастыруға немесе интерпретациялауға мүмкіндік беретін құралдарды, сонымен қатар алынған бағдарламаларды тексеруге және жөндеуге мүмкіндік береді.

Сонымен қатар, басқа құралдар болуы мүмкін, мысалы, статикалық немесе динамикалық талдаубағдарламалар.

Бұл құралдар бір-бірімен өзара әрекеттеседі кәдімгі файлдаркөмегімен стандартты мүмкіндіктерфайлдық жүйе.

Төмендегілер бар программалау орталарының кластары(14.2-суретті қараңыз): ·

жалпы мақсаттағы орталар,

тілге бағытталған орталар.

Жалпы мақсаттағы бағдарламалау орталарыәр түрлі бағдарламалау тілдеріндегі бағдарламаларды әзірлеуді қолдайтын бағдарламалық құралдардың жиынтығын қамтиды (мысалы, мәтіндік редактор, сілтеме редакторы немесе мақсатты компьютер тіліне арналған интерпретатор) және әдетте оның мүмкіндіктерін кеңейтуді білдіреді. қолданылатын операциялық жүйе. Мұндай ортада кез келген бағдарламалау тілінде бағдарламалау үшін сізге осы тілге бағытталған қосымша құралдар қажет болады (мысалы, компилятор).


16.2-сурет. Бағдарламалау құралдарының орталарының классификациясы.

Тілге бағытталған құрал ортасыбағдарламалау кез келген бір бағдарламалау тілінде бағдарламалық қамтамасыз ету жүйесінің дамуын қолдауға арналған және бұл тіл туралы білім мұндай ортаны құруда айтарлықтай пайдаланылды. Нәтижесінде мұндай ортада осы тілдің ерекшеліктерін ескеретін жеткілікті қуатты мүмкіндіктер болуы мүмкін.

Мұндай орталар екі ішкі сыныпқа бөлінеді:

интерпретациялық орталар,

синтаксистік басқарылатын орталар.

Интерпретациялық бағдарламалау ортасыберілген бағдарламалау тілінде бағдарламаларды интерпретациялауды қамтамасыз етеді, яғни. ең алдымен осы орта бағытталған бағдарламалау тілінің интерпретаторын қамтиды. Мұндай орта интерпретациялық типтегі бағдарламалау тілдері үшін қажет (мысалы, Lisp), бірақ оны басқа тілдер үшін де қолдануға болады (мысалы, аспаптық компьютерде).

Синтаксистік басқарылатын бағдарламалау ортасыбағдарланған бағдарламалау тілінің синтаксисін білуге ​​негізделген. Мұндай ортада мәтіндік редактордың орнына синтаксистік басқарылатын редактор пайдаланылады, бұл пайдаланушыға синтаксистік конструкциялардың әртүрлі үлгілерін пайдалануға мүмкіндік береді (оның нәтижесінде әзірленетін бағдарлама әрқашан синтаксистік тұрғыдан дұрыс болады). Бағдарламамен бір уақытта мұндай редактор (компьютердің жадында) басқа құралдармен пайдалануға болатын оның синтаксистік ағашын қалыптастырады.

4. Бағдарламалық қамтамасыз етуді жасаудың компьютерлік технологиясы түсінігі және оның жұмыс орындары.

CASE-технологиясының (ПС әзірлеудің компьютерлік технологиясы) қатаң анықтамасын әзірлеуде кейбір қиындықтар бар.

CASE – Computer-Aided Software Engineering (Computer-Assisted Programming Engineering) сөзінің аббревиатурасы. Бірақ компьютердің көмегінсіз (қолдауынсыз) PS ұзақ уақыт бойы дамымаған (кем дегенде компилятор қолданылады).

Шындығында, бұл ұғымға бірте-бірте бұлыңғыр болатын тар (арнайы) мағына қойылады (ұғымның қатаң анықтамасы болмаған кезде болатындай).

Бастапқыда CASE бағдарламалық қамтамасыз етуді (бағдарламалық құралдарды) пайдалана отырып, бағдарламалық қамтамасыз етуді әзірлеудің бастапқы кезеңдерін (талаптарды анықтау, ПС сыртқы сипаттамасын және архитектурасын әзірлеу) инженерия деп түсінді.

Енді CASE бағдарламалық жасақтаманың бүкіл өмірлік циклінің (оның техникалық қызмет көрсетуін қоса) инженериясы ретінде де түсінуге болады, бірақ бағдарламалар әзірлеудің көрсетілген бастапқы кезеңдерінде алынған құжаттарға сәйкес ішінара немесе толығымен жасалған жағдайда ғана. Бұл жағдайда CASE технологиясы PS әзірлеуге арналған қолмен (дәстүрлі) технологиядан түбегейлі ерекшеленді: мазмұны ғана өзгерген жоқ. технологиялық процестерсонымен бірге олардың жиынтығы.

Қазіргі уақытта ПС дамытудың компьютерлік технологиясын сипаттауға болады

Графикалық талаптарды әзірлеу үшін бағдарламалық қамтамасыз етуді пайдалану және графикалық сипаттамалар PS,

Кез келген бағдарламалау тілінде немесе машиналық кодта (ішінара немесе толық) бағдарламаларды автоматты түрде жасау;

Прототиптеуді бағдарламалық қамтамасыз ету.

Сондай-ақ, ПС әзірлеуге арналған компьютерлік технология «қағазсыз», яғни. бағдарламалық құжаттарды компьютерде көрсетуге арналған.

Дегенмен, осы мүмкіндіктерге негізделген бағдарламалық жасақтаманы қолмен жасау технологиясын компьютерлік технологиядан сенімді түрде ажырату өте қиын. Бұл компьютерлік технологиядағы ең маңыздысы бөлектелмегенін білдіреді.

Біздің ойымызша, бағдарламалық қамтамасыз етуді қолмен жасау технологиясы мен компьютерлік технологияның негізгі айырмашылығы мынада.

Қол технологиясы әртүрлі PS әзірлеушілеріне бірдей түсінікті құжаттарды әзірлеуге бағытталған, ал компьютерлік технология компьютерлік технологияларды бағдарламалық қамтамасыз етумен құжаттарды семантикалық түсінуді (интерпретациялауды) қамтамасыз етуге бағытталған.

Құжаттарды компьютерде көрсету әлі оларды мұндай түсінуді білдірмейді. Құжаттарды семантикалық түсіну бағдарламалық қамтамасыз етуді автоматты түрде бағдарламаларды құруға мүмкіндік береді, ал мұндай түсінуді қамтамасыз ету қажеттілігі кіріс құжаттарының әртүрлі графикалық нысандарын қажет етеді. Бұл бағдарламалық қамтамасыз етуді әзірлеу және қызмет көрсету үшін технологиялық процестердің жиынтығын ұтымды өзгертуге мүмкіндік беретін нәрсе.

Компьютерлік технологияның мәнін талқылаудан бағдарламалық қамтамасыз етудің өмірлік цикліндегі байланысты өзгерістерді түсінуге болады.

Егер қолмен технологияны қолдану кезінде ПС әзірлеудегі негізгі күш-жігер нақты бағдарламалау (кодтау) және жөндеу (тестілеу) кезеңдерінде жасалса, онда компьютерлік технологияны пайдалану кезінде ол ПС әзірлеудің бастапқы кезеңдерінде болды (талаптарды анықтау). және функционалдық спецификация).

Сонымен бірге құжаттаманың сипаты айтарлықтай өзгерді: тұтынушыдан (пайдаланушыдан) әзірлеушілердің әртүрлі санаттарына ақпаратты беруге бағытталған бейресми құжаттардың тұтас тізбегінің орнына таңдалған пайдаланушыны қолдайтын PS прототипі қалыптастырылды. PS бағдарламаларын (немесе олардың ең болмағанда маңызды бөлігін) автоматты түрде синтездеу (генерациялау) үшін жеткілікті интерфейс және ресми функционалдық сипаттамалар.

Сонымен бірге әзірлеушілер мен пайдаланушылар үшін қажетті құжаттаманың бір бөлігін автоматты түрде жасау мүмкін болды. Қолмен бағдарламалаудың (кодтау) орнына - бағдарламаларды тәуелсіз жөндеу және тестілеуді қажет етпейтін бағдарламаларды автоматты түрде жасау: оның орнына құжаттаманы терең автоматты түрде семантикалық басқару қосылады.

PS техникалық қызмет көрсету сипаты да айтарлықтай өзгереді: барлық өзгертулерді техникалық қызмет көрсетуші тек техникалық сипаттамаларға (соның ішінде прототипке) енгізеді, PS-ге басқа өзгерістер автоматты түрде енгізіледі.

Мұнымен Компьютерлік технологияны қолдану арқылы PS өмірлік циклікелесі диаграммамен көрсетуге болады (16.3-сурет).


Күріш. 16.3. Компьютерлік технологияны пайдаланатын бағдарламалық құралдың өмірлік циклі.

прототиптеуқолданушы мен ПС арасындағы өзара әрекеттестіктің жанама сипаттамасын қолмен технологиямен ауыстыруға мүмкіндік береді (ПС-қа қойылатын талаптарды және ЖС-ның сыртқы сипаттамасын анықтау кезінде) қолданушының бекітумен осы өзара әрекеттесу әдісі мен стилін тікелей таңдауы арқылы. барлық қажетті мәліметтер.

Негізінде бұл кезеңде нақты сипаттама жасалады пайдаланушы интерфейсікомпьютерлік технологияларды түсінікті бағдарламалық қамтамасыз ету және пайдаланушының жауапты қатысуымен: әзірлеуші ​​​​пайдаланушыға мониторда әртүрлі опцияларды көрсетеді және пайдаланушы өзіне қолайлы опцияларды таңдайды, пайдаланушы әзірлеушінің көмегімен әзірлеушінің белгілеулерін енгізеді. өзі өңдейтін ақпараттық объектілерді және олардағы операцияларды, ол оларға қол жеткізу әдісін таңдайды және оларды әртүрлі терезелерге, мәзірлерге, виртуалды пернетақталарға және т.б.

Мұның бәрі теңшелетін қабықтың компьютерлік технологиясының бағдарламалық қамтамасыз етуде болуына негізделген кең кітапханаэкранның әр түрлі фрагменттері мен бөлшектерінің бланкілері. Осы әрекеттердің нәтижесінде PS қабығы анықталады - PS жоғарғы басқару деңгейі. Мұндай прототиптеу бар сияқты ең жақсы жолпайдаланушы мен әзірлеуші ​​арасындағы кедергіні еңсеру.

Спецификацияны әзірлеубірнеше түрлі процестерге бөлінеді.

Егер алып тастасақ Бірінші кезеңспецификацияларды әзірлеу (талаптарды анықтау), содан кейін бұл процестерде формальды құжаттарды құруға әкелетін әдістер қолданылады, яғни формалды спецификация тілдері қолданылады. Бұл ретте спецификацияның графикалық әдістері кеңінен қолданылады, бұл құруға әкеледі әртүрлі схемаларжәне ақпараттық ортаның құрылымын және PS басқару құрылымын жеткілікті түрде ресми түрде анықтайтын диаграммалар. Мәліметтердің фрагменттері мен бағдарламалардың сипаттамалары алгебралық спецификация тілдерінде (мысалы, операциялық немесе аксиоматикалық семантиканы пайдалану арқылы) немесе логикалық спецификация тілдерінде (бағдарлама спецификациясына логикалық көзқарас негізінде) ұсынылған мұндай құрылымдарға қоса беріледі. Мұндай спецификациялар бағдарламаларды негізінен немесе толығымен автоматты түрде жасауға мүмкіндік береді.

Автоматтандырылған спецификацияны басқару

Бағдарламалау технологиясының құралдық жүйелері.

Ұзақ өмірлік циклі бар ірі бағдарламалық жүйелерді әзірлеуге және техникалық қызмет көрсетуге компьютерлік қолдау көрсету үшін бағдарламалау технологиясының құралдар жүйелері қолданылады.

Бағдарламалау технологиясы құралдарының жүйесі - бұл белгілі бір технология шеңберінде оның бүкіл өмірлік циклі бойына үлкен бағдарламалық жүйелерді әзірлеу және қолдаудың барлық процестерін қолдайтын бағдарламалық және аппараттық құралдардың біріктірілген жиынтығы.

Осы анықтамадан компьютерді қолдаудың осы класының келесі негізгі мүмкіндіктері шығады: ·

күрделілік, ·

команданың дамуына көңіл бөлу,

технологиялық сенімділік,

интеграция.

Компьютерлік қолдаудың күрделілігі оның бағдарламалық қамтамасыз етуді әзірлеу мен қолдаудың барлық процестерін қамтитынын және осы процестердің өнімдерінің үйлестірілген және өзара байланысты екенін білдіреді. Осылайша, жүйе, ең болмағанда, жасалған құжаттаманың (бағдарламалар жиынтығын қоса алғанда) толықтығын (толықтығын) және оның өзгеруінің (нұсқасының) жүйелілігін бақылауды қамтамасыз ете алады. Компьютерлік қолдаудың PS қолдау фазасын да қамтуы жүйенің ПС пайдаланудың әртүрлі жағдайларына және онымен байланысты әртүрлі жабдыққа бағытталған бірнеше PS нұсқаларымен жұмысты бірден қолдауы керек екенін білдіреді, т.б. PS конфигурациясын басқаруды қамтамасыз етуі керек.

Ынтымақтастықты дамытуға бағытталғанжүйе ұжымның жұмысын басқаруды (басқаруды) қолдауы керек және осы ұжымның әртүрлі мүшелері үшін технологиялық процестер өндірісінің әртүрлі фрагменттеріне әртүрлі қол жеткізу құқықтарын қамтамасыз етуі керек дегенді білдіреді.

Технологиялық сенімділік компьютерлік қолдауоның күрделілігі кез келген нақты бағдарламалау технологиясының шеңберімен шектелетінін білдіреді. Бағдарламалау технологиясының құралдар жүйелері қандай да бір жолмен олардың шамадан тыс жүктелуін ақтайтын жеткілікті үлкен және қымбат бағдарламалық жүйелер болып табылады. Сондықтан оларға енгізілген құралдар жиынтығы пәндік аймақтың қажеттіліктерін, қолданылатын тілдерді және таңдалған бағдарламалау технологиясын ескере отырып мұқият таңдалады.

Біріктірілген компьютерлік қолдау мынаны білдіреді:

деректерді біріктіру,

Пайдаланушы интерфейсін біріктіру

Әрекеттер (функциялар) бойынша интеграция,

Деректерді біріктіруқұралдар жүйеде қолданылатын әртүрлі деректер фрагменттерінің (ақпараттық объектілердің) бір-біріне тәуелділігін анықтайтын жүйенің тіркелген ақпараттық схемасына (моделіне) сәйкес әрекет ететінін білдіреді.

Пайдаланушы интерфейсін біріктірубарлық құралдардың бір пайдаланушы интерфейсімен біріктірілгенін білдіреді.

Әрекет интеграциясыбіріншіден, жүйеде барлық құралдардың ортақ бөліктері бар, екіншіден, кейбір құралдар өз функцияларын орындай отырып, басқа құралдарға қол жеткізе алады.

Бағдарламалау технологиясының аспаптық жүйелерінің талқыланған қасиеттерін ескере отырып, т ажыратуға болады олардың негізгі құрамдас бөліктері

әзірлеу деректері (репозиторий),

құралдар жинағы, ·

интерфейстер.

Репозиторий – БЖ жобасына (әзірлеуіне) қатысты ақпаратты оның бүкіл өмірлік циклі бойынша орталық компьютерлік сақтау орны.

Құралдар жинағы – жүйенің әзірлеушілер тобына беретін мүмкіндіктерін анықтайтын құралдар жиынтығы. Әдетте бұл жиынтық ашық болады: минималды жиынтықтан (кіріктірілген құралдардан) басқа оның кеңейту құралдары (импортталған құралдар) және құрылымдық, барлық құралдардың кейбір ортақ бөлігінен (өзегі) және құрылымдық (кейде иерархиялық байланысты) құралдар кластары.

интерфейстер бөлінеді

1) әдет-ғұрып

2) жүйелік.

Пайдаланушы интерфейсіәзірлеушілерге жүйелік қабық арқылы жүзеге асырылатын құралдарға (командалық тіл және т.б.) қол жеткізуді қамтамасыз етеді.

Жүйе интерфейстері құралдар мен олардың ортақ бөліктерінің өзара әрекетін қамтамасыз ету. Жүйе интерфейстері жүйенің ашықтығына байланысты архитектуралық компоненттер ретінде ерекшеленеді - оларды жүйеге енгізілген жаңа (импортталған) құралдар пайдалануы керек.

Бағдарламалау технологиясының аспаптық жүйелерінің ең жалпы архитектурасы суретте көрсетілген. 16.4.

Айырмау екі сынып программалаудың технологиялық құралдарының жүйелері:

1) жобаны қолдау құралдарының жүйелері және

2) тілге тәуелді аспаптық жүйелер.

Жобаны қолдау құралдарының жүйесі- бұл ашық жүйе, таңдалған тілге бағытталған бағдарламалық құралдармен сәйкес кеңейтілгеннен кейін әртүрлі бағдарламалау тілдерінде PS дамуын қолдауға қабілетті. Мұндай жүйе өзегінен (атап айтқанда, репозиторийге қол жеткізуді қамтамасыз ететін), PS әзірлеуді басқаруды (басқаруды) қолдайтын құралдар жиынтығын, PS әзірлеуді қолдайтын бағдарламалау тіліне тәуелсіз құралдарды (мәтіндік және графикалық) қамтиды. редакторлар, есеп генераторлары және т.б.), сондай-ақ жүйені кеңейту құралдары.

Тілге тәуелді құралдар жүйесі- бұл өз жұмысын ұйымдастыруда осы тілдің ерекшелігін қолданатын кез келген бір бағдарламалау тілінде PS дамуын қолдау жүйесі. Бұл ерекшелік ядроның мүмкіндіктеріне де (оның ішінде репозиторий құрылымына), қабық пен құралдарға қойылатын талаптарға да әсер етуі мүмкін.

Мұндай жүйенің мысалы Ada Programming Support Environment (APSE) болып табылады.


Күріш. 16.4. Бағдарламалау технологиясының аспаптық жүйелерінің жалпы архитектурасы.

Бағдарламалық қамтамасыз етуді әзірлеудің негізгі кезеңдері анықталған және сипатталған. Әрбір кезең үшін кезеңнің мақсатына жету үшін қолдануға болатын құралдар беріліп, сипатталады.

1. Терминология

Бағдарламаларды құру үшін пайдалануға болатын әзірлеу құралдарын қарастыруға кіріспес бұрын, мақалада қолданылатын негізгі ұғымдар мен терминдерді анықтау қажет. Мақаланың тақырыбына сәйкес, біз үшін негізгі термин, әрине, «бағдарламалық қамтамасыз етуді әзірлеу құралдары». Бағдарламалық жасақтаманы әзірлеу саласына қатысты бұл анықтама келесідей болуы мүмкін:

Бағдарламалық қамтамасыз етуді әзірлеу құралдары- көрсетілген талаптарға жауап беретін Бағдарламаның бағдарламалық кодын жасау үшін әзірлеуші ​​пайдаланатын әдістердің, әдістердің, әдістердің, сондай-ақ құралдар бағдарламаларының жиынтығы (компиляторлар, қолданбалы/жүйелік кітапханалар және т.б.).

Ескере отырып бұл анықтама«Бағдарлама әзірлеу» термині келесідей естіледі:

Бағдарламалық қамтамасыз етуді әзірлеуқиын негізгі мақсаты сенімділік пен сапаның қажетті деңгейін қамтамасыз ететін бағдарламалық кодты құру және қолдау болып табылатын процесс. Бағдарламалық қамтамасыз етуді әзірлеудің негізгі мақсатына жету үшін бағдарламалық қамтамасыз етуді әзірлеу құралдары қолданылады.

2. Бағдарламаны жасаудың әртүрлі кезеңдерінде қолданылатын негізгі құралдар

Пәндік аймаққа және әзірлеушілерге жүктелетін міндеттерге байланысты бағдарламалық жасақтаманы әзірлеу қатысушылардың көп санын және әртүрлі құралдарды қамтитын біршама күрделі, сатылы процесс болуы мүмкін. Қашан және қандай жағдайларда қандай құралдар қолданылатынын анықтау үшін бағдарламалық қамтамасыз етуді әзірлеудің негізгі кезеңдерін бөліп көрсетеміз. Қарастырылып отырған мәселенің проблематикасы үшін келесі даму кезеңдері үлкен қызығушылық тудырады:

  1. Қолданбаның дизайны.
  2. Қолданбаның кодын енгізу.
  3. Қолданбаны тестілеу.

Мұнда техникалық тапсырманы жазу, жоспарлау мерзімдері, бюджет және т.б. Мұның себебі - бұл кезеңдерде, сирек жағдайларды қоспағанда, нақты әзірлеу құралдары іс жүзінде қолданылмайды.

2.1 Қолданбаларды жобалау құралдары

Қолданбаны жобалау кезеңінде талаптарға тікелей байланысты әзірленетін бағдарламалық өнімнің күрделілігіне байланысты келесі жобалау тапсырмалары орындалады:

  1. Талаптарды талдау.
  2. Болашақ бағдарламалық жасақтаманың архитектурасын әзірлеу.
  3. Бағдарламалық қамтамасыз етудің негізгі компоненттерінің құрылғыларын әзірлеу.
  4. Пайдаланушы интерфейсінің макеттерін әзірлеу.

Дизайн шығысы әдетте бағдарламалық жасақтаманың дизайн құжаты немесе бағдарламалық жасақтаманың архитектуралық құжаты болып табылады. «Талаптарды талдау» тапсырмасы әдетте конструктордың сарапшылық тәжірибесін ескере отырып, жүйетану әдістерін (анализ және синтез) пайдалана отырып орындалады. Талдау нәтижесі әдетте бағдарламаның жұмыс істеу процесінің мағыналы немесе формальды үлгісі болып табылады. Процестің күрделілігіне байланысты бұл модельдерді құру үшін әртүрлі әдістер мен көмекші құралдарды қолдануға болады. Жалпы жағдайда модельдерді сипаттау үшін әдетте келесі белгілер қолданылады (жақшада берілген бағдарламалық қамтамасыз етуүлгілерді алу үшін пайдаланылуы мүмкін):

  • BPMN (Vision 2003 + BPMN, AcuaLogic BPMN, Eclipse, Sybase Power Designer).
  • Блок-схемалар (Vision 2003 және басқалары).
  • ER диаграммалары (Visio 2003, ERWin, Sybase Power Designer және басқалары).
  • UML диаграммалары (Sybase Power Designer, Rational Rose және басқалары).
  • макеттер, төсеніш-модельдер және т.б.

Кейде дамыған кезде бағдарламалық қамтамасыз етукез келген күрделі әрекетті автоматтандыруға арналған, құрастыру алдында Талдау (модельдеу) тапсырмасы орындалады техникалық талаптарболашақ өнімге. Талдау нәтижелері әзірленген бағдарламаның белгілі бір функционалдығына негізделген талаптарды қалыптастыруға және әзірленген өнімді енгізуден нақты пайданы есептеуге мүмкіндік береді. Оның үстіне, талдау нәтижелері бойынша автоматтандырудың бастапқы мақсаттары мен міндеттері күрт өзгеретіні немесе әзірлеу мен енгізудің тиімділігін бағалау нәтижелері бойынша өнімді дамытпау туралы шешім қабылданатыны басқаша болып шықты.

Жоғарыда келтірілген тапсырмалар тізімінен екінші және үшінші тапсырмалардың мақсаты кодтаушы – программалық кодты жазатын адамға түсінікті болашақ жүйенің моделін (сипаттамасын) әзірлеу болып табылады. Бұл жерде бағдарламаны жазу кезінде қандай бағдарламалау парадигмасын (бағдарламалау парадигмасын әзірлеу құралы ретінде де қарастыру керек) қолданудың маңызы зор. Негізгі парадигмалардың мысалы ретінде мыналарды келтіру керек:

  • Функционалды бағдарламалау;
  • Құрылымдық бағдарламалау;
  • императивті бағдарламалау;
  • Логикалық бағдарламалау;
  • Объектіге бағытталған бағдарламалау (прототиптеу; сыныптарды қолдану; субъективті-бағытталған бағдарламалау).

Оның таңдауы көп жағдайда әзірлеу тобында қалыптасқан әдеттерге, тәжірибеге, дәстүрлерге, құралдарға байланысты. Кейде әзірленетін бағдарламалық өнім соншалықты күрделі, сондықтан жүйенің әртүрлі құрамдас бөліктеріндегі бірқатар мәселелерді шешу үшін әртүрлі парадигмалар қолданылады. Бір немесе басқа тәсілді таңдау бағдарламалық кодты енгізу сатысында қолданылатын құралдарға шектеулер қоятынын атап өткен жөн. Бұл мәселені шешудің нәтижесі тәсілге байланысты болуы мүмкін (оларды алу үшін қолданылатын бағдарламалық құралдар жақшада келтірілген):

  • класс диаграммасы және т.б. (Ration Rose, Sybase PowerDesigner және басқалары).
  • құрылымдық модульдердің сипаттамасы және олардың бағдарламалау интерфейсі (мысалы, Sybase PowerDesigner және басқалары).

Пайдаланушы интерфейсінің макеттерін әзірлеу әзірленіп жатқан қолданбадағы белгілі бір бейне пішіндері, терезелері қалай көрінетінінің көрнекі көрінісін жасауды білдіреді. Бұл мәселені шешу осы мақалада қарастырылмайтын дизайнерлік құралдарды пайдалануға негізделген.

2.2 Бағдарламалық кодты енгізу құралдары

Бағдарламалық кодты жүзеге асыру сатысында әзірленген техникалық жобаға сәйкес бағдарламаның жеке компоненттерін кодтау орындалады. Қолданылуы мүмкін құралдар көп дәрежеде жобалау кезінде қандай тәсілдер қолданылғанына және сонымен қатар техникалық дизайнның күрделілік дәрежесіне байланысты. Осыған қарамастан, программалық кодты әзірлеу құралдарының ішінде келесі негізгі құралдар түрлерін (құралдардың мысалдары жақшада берілген) бөліп көрсету қажет: алгоритмдердің әдістері мен тәсілдері.

  • бағдарламалау тілдері (C++, C, Java, C#, php және т.б.);
  • пайдаланушы интерфейсінің құралдары (MFC, WPF, QT, GTK+ және т.б.)
  • бағдарлама кодының нұсқасын жасау құралдары (cvs, svn, VSS).
  • орындалатын кодты алу құралы (MS визуалды студия, gcc және басқалары).
  • деректер қорын басқару құралдары (Oracle, MS SQL, FireBird, MySQL және т.б.).
  • жөндеушілер (MS Visual Studio, gdb және т.б.).

2.3 Бағдарламаны тексеру құралдары

Тестілеудің негізгі міндеттері - әзірленген бағдарламаның функционалдық мүмкіндіктерінің бастапқы талаптарға сәйкестігін тексеру, сонымен қатар бағдарламаның жұмыс істеуі кезінде айқын немесе жанама түрде көрінетін қателерді анықтау. Негізгі тестілеу әрекеттеріне мыналар кіреді:

  • Сәтсіздікке тестілеу және қалпына келтіру.
  • Функционалды тестілеу.
  • Қауіпсіздік сынағы.
  • Өзара әрекеттестік тесті.
  • Орнату процесін сынау.
  • Қолдану мүмкіндігін тексеру.
  • конфигурация сынағы.
  • Стресс тестілеу.

Белгіленген жұмыстарды орындау үшін пайдаланылуы мүмкін қорлардың негізгі түрлерінің қатарына мыналар жатады:

  • кодты талдау құралдары, профильдеу (Code Wizard - ParaSoft, Purify - Rational Softawre. Test Coverage - Semantic және т.б.);
  • функционалдық тестілеу құралдары (TEST - Parasoft, QACenter - Compuware, Borland SilkTest және т.б.);
  • өнімділікті тексеру құралдары (QACenter Performance - Compuware және т.б.).

3. Қорытынды

Бағдарламаларды жасау процесі күрделі процесс және қандай құралдарды пайдалану қажет екендігі көбінесе әзірлеушілерге жүктелген міндеттерге байланысты. Әзірлеу міндеттеріне қарамастан, құралдар тек кейбір құралдардың жиынтығымен шектелмейді, сонымен қатар әдістерді, әдістерді, тәсілдер мен көрсетілген талаптарға жауап беретін бағдарламаны құру үшін қолданылатын барлық нәрселерді қосу қажет.

Сондай-ақ қараңыз :

Бағдарламалық қамтамасыз етуді әзірлеу әртүрлі құралдарды қолдану арқылы жүзеге асырылады, олар:

    түпнұсқа бағдарламалау;

    қолданбалы бағдарламалық қамтамасыз ету пакеттерін пайдалану – мәліметтерді өңдеу функцияларын жүзеге асыратын типтік бағдарламалар;

    бағдарламаны әзірлеудің негізгі кезеңдерін автоматтандыру.

Дамудың ең дәстүрлі құралдары бағдарламалау тілдері мен жүйелері болып табылады. Бағдарламалау тілдері әдетте машиналық және алгоритмдік тілдерге бөлінеді.

Машинатілдерде қарапайым өңдеу операцияларына сәйкес келетін машина нұсқаулары бар. Машиналық нұсқаулар компьютерлердің және/немесе операциялық жүйелердің белгілі бір класына байланысты.

Алгоритмдікбағдарламалау тілдері есептің алгоритмін сипаттайды, алгоритмнің көрінуін және бағдарламаны жүргізудің ыңғайлылығын қамтамасыз етеді. Алгоритмдік тілдер машинаға бағытталған, процедураға бағытталған және мәселеге бағытталған тілдер болып бөлінеді.

машина-бағытталғанБағдарламалау тілдері төмен деңгейлі тілдер болып табылады, өйткені олар компьютерлердің архитектурасы мен түрін ескереді. Мұндай тілдерде бағдарламалау көп еңбекті қажет етеді, бірақ бағдарламалар қажетті компьютерлік ресурстар тұрғысынан оңтайлы. Машинаға бағытталған бағдарламалау тілдерінің мысалдары компьютерлердің белгілі бір класының әртүрлі ассемблерлері 1 (Macro Assembler, Turbo Assembler және т.б.).

процессуалдық-бағытталған Visual Basic, Pascal, C++, Ada, Cobol, PL1 және т.б. сияқты бағдарламалау тілдері өңдеу процедураларының жиынтығын сипаттауға және типтік есептеу құрылымдарын жүзеге асыруға мүмкіндік береді:

1. Блоктардың реті (нұсқаулары): 1, 2, 3, 4, т.б.

Барлық блоктар (нұсқаулар) қатаң реттілікпен орындалады (5 А-сурет)

2. Шартты көшу (5-сурет Б) – берілген шартты (2) тексеру және балама әрекетті таңдау: шарт ақиқат болса – 3, әйтпесе – 4. Осыдан кейін басқару 5-блокқа ауыстырылады.

3. Альтернативті таңдау (C-сурет 5) - тексеру шарты (2), егер шарт ақиқат болса - 3-іс-әрекетті орындау, әйтпесе тексеру шарты (4); егер шарт ақиқат болса, 5-әрекет орындалады және т.б. Бірде-бір шарт орындалмаса немесе әрекеттер орындалса (3 немесе 5 және т.б.), басқару 6-блокқа ауыстырылады.

A B C

5-сурет

4. Циклдік процесс– while циклі (Cурет 6А). Цикл (2) шарт ақиқат болғанша қайталанады – 3-блок. Егер (2) шарт жалған болса, басқаруды 4-блокқа ауыстырыңыз.

5. Циклдік процесс – «бұрынғы» цикл (6Б-сурет). Цикл кем дегенде бір рет орындалады – блок 2. Шартты (3) тексергеннен кейін, егер ол ақиқат болса, блок (2) орындалады, әйтпесе басқару 4-блокқа беріледі.

6-сурет

Бағдарламалау тілдері мақсатқолданылатын түрі бағдарлама кодыобъект кластары немесе оқиға процедуралары да құрылымдық бағдарламалаудың элементтері болып табылады.

проблемалық-бағытталғанпрограммалау тілдері – жоғары деңгейлі реляциялық сұраныс тілдері, есеп генераторлары және т.б. нақты өңдеу процедураларын көрсетпей, мәселені анықтауға, ақпаратты енгізу және шығаруға мүмкіндік береді.

Қолданбалы бағдарламалық қамтамасыз ету пакеттері (ҚҚБ) сыныптарға бөлінеді:

    Проблемалық-бағдарлы СПП – нақты пәндік саланың мәселелерін шешуді қамтамасыз ету;

    Әдіс-бағдарланған СПП – белгілі бір үлгі түрін және есептерді шешу әдістерін қолдау, пәндік аймаққа қарамастан қолданылады;

    Жалпы мақсаттағы қолданбалы бағдарламалық қамтамасыз ету – ақпараттық технологияларды (мәтіндік жұмыстар, графикалық жұмыстар, стандартты есептеулер және т.б.) қамтамасыз етеді.

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!