Программная инженерия — научная и инженерная дисциплина

Термин программная инженерия впервые произнесен на научной конференции НАТО в 1968 г. С тех пор на протяжении 40 лет понятие постепенно менялось и развивалось в среде программирование. Программирование вначале считалось искусством одиночек, потом техникой и наукой, а теперь оно переходит к инженерно...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2008
Автор: Лаврищева, Е.М.
Формат: Стаття
Мова:Russian
Опубліковано: Інститут кібернетики ім. В.М. Глушкова НАН України 2008
Назва видання:Кибернетика и системный анализ
Теми:
Онлайн доступ:http://dspace.nbuv.gov.ua/handle/123456789/72060
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Программная инженерия — научная и инженерная дисциплина / Е.М. Лаврищева // Кибернетика и системный анализ. — 2008. — № 3. — С. 19-28. — Бібліогр.: 9 назв. — рос.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
id irk-123456789-72060
record_format dspace
spelling irk-123456789-720602014-12-17T03:01:52Z Программная инженерия — научная и инженерная дисциплина Лаврищева, Е.М. Кибернетика Термин программная инженерия впервые произнесен на научной конференции НАТО в 1968 г. С тех пор на протяжении 40 лет понятие постепенно менялось и развивалось в среде программирование. Программирование вначале считалось искусством одиночек, потом техникой и наукой, а теперь оно переходит к инженерной деятельности, приближающей процесс разработки к конвейерному производству по принципу сборки из готовых "деталей". 2008 Article Программная инженерия — научная и инженерная дисциплина / Е.М. Лаврищева // Кибернетика и системный анализ. — 2008. — № 3. — С. 19-28. — Бібліогр.: 9 назв. — рос. http://dspace.nbuv.gov.ua/handle/123456789/72060 681.3.06 ru Кибернетика и системный анализ Інститут кібернетики ім. В.М. Глушкова НАН України
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
collection DSpace DC
language Russian
topic Кибернетика
Кибернетика
spellingShingle Кибернетика
Кибернетика
Лаврищева, Е.М.
Программная инженерия — научная и инженерная дисциплина
Кибернетика и системный анализ
description Термин программная инженерия впервые произнесен на научной конференции НАТО в 1968 г. С тех пор на протяжении 40 лет понятие постепенно менялось и развивалось в среде программирование. Программирование вначале считалось искусством одиночек, потом техникой и наукой, а теперь оно переходит к инженерной деятельности, приближающей процесс разработки к конвейерному производству по принципу сборки из готовых "деталей".
format Article
author Лаврищева, Е.М.
author_facet Лаврищева, Е.М.
author_sort Лаврищева, Е.М.
title Программная инженерия — научная и инженерная дисциплина
title_short Программная инженерия — научная и инженерная дисциплина
title_full Программная инженерия — научная и инженерная дисциплина
title_fullStr Программная инженерия — научная и инженерная дисциплина
title_full_unstemmed Программная инженерия — научная и инженерная дисциплина
title_sort программная инженерия — научная и инженерная дисциплина
publisher Інститут кібернетики ім. В.М. Глушкова НАН України
publishDate 2008
topic_facet Кибернетика
url http://dspace.nbuv.gov.ua/handle/123456789/72060
citation_txt Программная инженерия — научная и инженерная дисциплина / Е.М. Лаврищева // Кибернетика и системный анализ. — 2008. — № 3. — С. 19-28. — Бібліогр.: 9 назв. — рос.
series Кибернетика и системный анализ
work_keys_str_mv AT lavriŝevaem programmnaâinženeriânaučnaâiinženernaâdisciplina
first_indexed 2025-07-05T20:54:59Z
last_indexed 2025-07-05T20:54:59Z
_version_ 1836841853892165632
fulltext ÓÄÊ 681.3.06 Å.Ì. ËÀÂÐÈÙÅÂÀ ÏÐÎÃÐÀÌÌÍÀß ÈÍÆÅÍÅÐÈß — ÍÀÓ×ÍÀß È ÈÍÆÅÍÅÐÍÀß ÄÈÑÖÈÏËÈÍÀ Êëþ÷åâûå ñëîâà: ïðîãðàììíàÿ èíæåíåðèÿ, íàó÷íàÿ äèñöèïëèíà, èíæåíåðíàÿ äèñöèïëèíà, òåîðèÿ, ìåòîäû ïðîãðàììèðîâàíèÿ, ïðîãðàììíûå îáúåêòû, ÿäðî çíàíèé SWEBOK (Software Engineering Body of Knowledge) è PMBOK (Project Management Body of Knowledge), áàçîâûé ïðîöåññ, èíôðàñòðóêòóðà, ñòàíäàðòû. ÂÂÅÄÅÍÈÅ Òåðìèí ïðîãðàììíàÿ èíæåíåðèÿ âïåðâûå ïðîèçíåñåí íà íàó÷íîé êîíôåðåíöèè ÍÀÒÎ â 1968 ã. Ñ òåõ ïîð íà ïðîòÿæåíèè 40 ëåò ýòî ïîíÿòèå ïîñòåïåííî ìåíÿ- ëîñü è ðàçâèâàëîñü â ñðåäå ïðîãðàììèðîâàíèÿ. Ïðîãðàììèðîâàíèå âíà÷àëå ñ÷è- òàëîñü èñêóññòâîì îäèíî÷åê, ïîòîì òåõíèêîé è íàóêîé, à òåïåðü îíî ïåðåõîäèò ê èíæåíåðíîé äåÿòåëüíîñòè, ïðèáëèæàþùåé ïðîöåññ ðàçðàáîòêè ê êîíâåéåðíîìó ïðîèçâîäñòâó ïî ïðèíöèïó ñáîðêè èç ãîòîâûõ «äåòàëåé» òèïà reuse, application, asset provision è äð.  êà÷åñòâå ñðåäñòâ àâòîìàòèçàöèè ïðîèçâîäñòâà ïðîãðàì- ìíûõ ïðîäóêòîâ âûñòóïàþò èíñòðóìåíòàëüíî–òåõíîëîãè÷åñêèå ñèñòåìû è ñðåäû.  ðåçóëüòàòå ìíîãîëåòíåé äåÿòåëüíîñòè êîëëåêòèâîâ ïðîãðàììèñòîâ íàêîïè- ëîñü áîëüøîå êîëè÷åñòâî ïðîãðàìì, ñðåäñòâ, à òàêæå çíàíèé è îïûòà ñîçäàíèÿ êîì- ïüþòåðíûõ ïðîãðàìì. Ýòè çíàíèÿ îòîáðàæåíû â ïðîãðàììíûõ ïðîäóêòàõ ìàññîâî- ãî ïðèìåíåíèÿ è ïðåäñòàâëåíû ìíîæåñòâîì òåîðåòè÷åñêèõ è ïðèêëàäíûõ ìåòîäîâ, ñðåäñòâ, ïðèíöèïîâ, ïðàâèë, à òàêæå ïðîöåññîâ ïðîèçâîäñòâà ñèñòåì ñ ó÷àñòèåì ïðîãðàììèñòîâ è èíæåíåðîâ (ïëàíîâèêîâ, êîíòðîëåðîâ ïðîãðàììíûõ ïðîäóêòîâ è ïðîöåññîâ, òåñòîâèêîâ, èíæåíåðîâ ïî êà÷åñòâó è äð.).  ðàìêàõ äåÿòåëüíîñòè òåîðå- òèêîâ è ïðàêòèêîâ ñôîðìèðîâàëèñü ôîðìàëüíûå ìåòîäû äîêàçàòåëüñòâà, âåðèôèêà- öèè è òåñòèðîâàíèÿ ïðîãðàìì, ìàòåìàòè÷åñêèå ìîäåëè íàäåæíîñòè è ìåòîäû îöåíèâàíèÿ ïîêàçàòåëåé êà÷åñòâà ïðîãðàììíûõ ïðîäóêòîâ. Âñå ýòî îáóñëîâèëî íåîáõîäèìîñòü ñèñòåìàòèçèðîâàòü ïîëó÷åííûå çíàíèÿ è îïðåäåëèòü èõ â âèäå ñàìîñòîÿòåëüíîé äèñöèïëèíû (ïðåäìåòà) äëÿ ïîíèìàíèÿ åå âñåìè êîìïüþòåðíûìè ñîîáùåñòâàìè, îòäåëüíûìè ïðîãðàììèñòàìè è èíæåíåðàìè ïðîãðàììíîãî îáåñïå÷åíèÿ (ÏÎ). Ñïåöèàëüíî ñîçäàííûé êîìèòåò ñïåöèàëèñòîâ ïî èíôîðìàòèêå ïðè àññîöèàöèè âû÷èñëèòåëüíîé òåõíèêè ACM (Association for Computing Machinery) è IEEE Computer Society, êîìïüþòåðíîå ñîîáùåñòâî èíñòè- òóòà èíæåíåðîâ ïî ýëåêòðîòåõíèêå è ýëåêòðîíèêå IEEE (Institute of Electrical and Electronics Engineers), ñôîðìèðîâàëè áàçîâîå ÿäðî çíàíèé ïî ïðîãðàììíîé èíæåíå- ðèè SWEBOK (Software Engineering body of Knowledge), â êîòîðîì â êîíöåíòðèðî- âàííîì âèäå ïðåäñòàâëåíî êîíöåïòóàëüíîå ñîäåðæàíèå äåñÿòè áàçîâûõ îáëàñòåé (knowledge areas) è äåôèíèöèÿ ïðîãðàììíîé èíæåíåðèè (ÏÈ) [1–4]. Îïðåäåëåíèå 1. Ïðîãðàììíàÿ èíæåíåðèÿ (Software Engineering) — ñèñòåìà ìåòîäîâ, ñïîñîáîâ è äèñöèïëèíû ïëàíèðîâàíèÿ, ðàçðàáîòêè, ýêñïëóàòàöèè è ñîïðî- âîæäåíèÿ ÏÎ, ñïîñîáíàÿ ê ìàññîâîìó ïðîèçâîäñòâó. Ýòî èíæåíåðíàÿ ñòîðîíà äèñ- öèïëèíû, îíà îõâàòûâàåò âñå àñïåêòû ñîçäàíèÿ ÏÎ, íà÷èíàÿ îò ôîðìóëèðîâàíèÿ òðåáîâàíèé, ðàçðàáîòêè ïðîäóêòà, ñîïðîâîæäåíèÿ è äî åãî ñíÿòèÿ ñ ýêñïëóàòàöèè. Íà íàø âçãëÿä, ýòà äåôèíèöèÿ SWEBOK ñóæàåò ñóùíîñòü ïîíÿòèÿ ïðîãðàì- ìíîå îáåñïå÷åíèå êàê îáúåêòà ÏÈ è ñàì ïðåäìåò. Ïîýòîìó ïîïûòàåìñÿ îïðåäåëèòü ïðîãðàììíóþ èíæåíåðèþ è åå îáúåêòû â áîëåå øèðîêîì ñìûñëå, ïðèâëåêàÿ àñïåê- òû è àðãóìåíòû, êîòîðûå õàðàêòåðèçóþò ãëóáèííûå âîïðîñû ÏÈ è ïîçâîëÿþò îïðåäåëèòü åå êàê íàó÷íóþ è èíæåíåðíóþ äèñöèïëèíó. ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3 19 �Å.Ì. Ëàâðèùåâà, 2008 Èçâåñòíî, ÷òî ëþáàÿ íàóêà — ýòî ñèñòåìà ïðîâåðåííûõ ïðàêòèêîé çíàíèé, êîòîðûå îòîáðàæàþò åå îá- ùèå âîïðîñû, ïîíÿòèÿ è çàêîíîìåð- íîñòè èõ ðàçâèòèÿ. Îíà óñòàíàâëèâà- åò ñâÿçè ñ äðóãèìè íàóêàìè è âëèÿåò íà èõ ðàçâèòèå. Îòíîñèòåëüíî ÏÈ ìîæíî ñêàçàòü, ÷òî îíà èíòåãðèðîâà- ëà â ñåáå ïðèíöèïû ìàòåìàòèêè è îñíîâíûå ïîëîæåíèÿ òàêèõ ôóíäà- ìåíòàëüíûõ íàóê: òåîðèÿ àëãîðèò- ìîâ, ìàòåìàòè÷åñêàÿ ëîãèêà, òåîðèÿ óïðàâëåíèÿ, òåîðèÿ ìíîæåñòâ, äîêà- çàòåëüñòâà è äð. (ðèñ. 1). Ýòè íàóêè ñîçäàþò òåîðåòè- ÷åñêèé ôóíäàìåíò ïðîãðàììíîé èíæåíåðèè, íåîáõîäèìûé äëÿ ïî- ñòðîåíèÿ àáñòðàêöèé ïðîãðàìì ñ ïîìîùüþ áàçîâûõ ïîíÿòèé è ïðèíöèïîâ, êîòîðûå ïðèâåäåíû íèæå ïî êàæäîé èç ôóíäàìåíòàëüíûõ íàóê: � â òåîðèè àëãîðèòìîâ — íîðìàëüíûå àëãîðèòìû, âû÷èñëèòåëüíûå ôóíêöèè, ìàøèíà Òüþðèíãà, àëãîðèòìè÷åñêèå àëãåáðû, ãðàôû-ñõåìû, ìîäåëè àëãîðèòìîâ è ïðîãðàìì è ò.ï.; � â ìàòåìàòè÷åñêîé ëîãèêå — ïðàâèëà ëîãè÷åñêèõ èñ÷èñëåíèé è âûñêàçûâà- íèé, ñïîñîáñòâóþùèõ ôîðìàëüíîìó îïðåäåëåíèþ ïðàâèëüíûõ óìîçàêëþ÷åíèé, à òàêæå ëîãèêî-àëãåáðàè÷åñêèå ñïåöèôèêàöèè ïðîãðàìì; � â òåîðèè äîêàçàòåëüñòâà — ìàòåìàòè÷åñêèé âûâîä òåîðåì è ïðîãðàìì ñ ïî- ìîùüþ àêñèîì è óòâåðæäåíèé, òåîðèÿ íåïðîòèâîðå÷èâîñòè è àëãîðèòìè÷åñêè íå- ðàçðåøèìûõ ïðîáëåì, òåîðèÿ âåðèôèêàöèè ïðîãðàìì (VDM, RAISE, Z, ìåòîäû Õî- àðà, Äåéêñòðû è äð.); � òåîðèÿ ìíîæåñòâ — êâàíòîðû âñåîáùíîñòè, ñóùåñòâîâàíèÿ è îïåðàöèè íàä ìíîæåñòâàìè, êîòîðûå ïðèìåíÿþòñÿ äëÿ ôîðìàëüíîãî ïðåäñòàâëåíèÿ àêñèîì äëÿ ðàçíûõ ñîâîêóïíîñòåé ïðîãðàììíûõ îáúåêòîâ; � â òåîðèè óïðàâëåíèÿ — ïðèíöèïû, ìåòîäû è îáùèå çàêîíû ïëàíèðîâàíèÿ è óïðàâëåíèÿ â öåëÿõ èíæåíåðíîãî ïîëó÷åíèÿ è îáðàáîòêè èíôîðìàöèè â ëþáûõ êè- áåðíåòè÷åñêèõ è óïðàâëåí÷åñêèõ ñèñòåìàõ. Êðîìå ýòîãî ôóíäàìåíòà, ê ñèñòåìå çíàíèé ÏÈ îòíîñÿòñÿ [5, 6]: � ôîðìàëüíûå ìåòîäû ïðîãðàììèðîâàíèÿ — ñïåöèôèêàöèÿ ïðîãðàìì, èõ äîêàçà- òåëüñòâî, âåðèôèêàöèÿ è òåñòèðîâàíèå, à òàêæå ìàòåìàòè÷åñêèå ìîäåëè íàäåæíîñòè è ò.ï.; � ïðèêëàäíûå ìåòîäû, à èìåííî: ñðåäñòâà, ïðèíöèïû, ïðàâèëà è ïðîöåññû æèçíåííîãî öèêëà (ÆÖ) ïðîèçâîäñòâà êîìïüþòåðíûõ ñèñòåì êàê èíñòðóìåíòîâ êîëëåêòèâíîé ðàçðàáîòêè áîëüøèõ ïðîãðàììíûõ ïðîåêòîâ; � ìåòîäû óïðàâëåíèÿ êîëëåêòèâàìè, à èìåííî: ïëàíèðîâàíèå ñåòåâûõ ãðàôè- êîâ, êîíòðîëü ðàáîò íà ïðîöåññàõ ÆÖ, èçìåðåíèå è îöåíèâàíèå êà÷åñòâà ðàçðàáîò- êè ïðîìåæóòî÷íîãî è êîíå÷íîãî ïðîäóêòîâ ïðîèçâîäñòâà, ðåãóëèðîâàíèå ñðîêîâ è ñòîèìîñòè èõ èçãîòîâëåíèÿ è ñåðòèôèêàöèè. ÏÈ âõîäèò â ñîñòàâ êîìïüþòåðíîé íàóêè (Ñomputer science), ïðååìíèöû íàóêè ïðîãðàììèðîâàíèÿ âêëþ÷èëà âñå åå íàêîïëåííûå òåîðåòè÷åñêèå è ïðèêëàäíûå äîñ- òèæåíèÿ, ðàçâèëà íîâûå ìåòîäû óïðàâëåíèÿ êîëëåêòèâíûì òðóäîì ðàçðàáîò÷èêîâ è ìåòîäû èçìåðåíèÿ è îöåíèâàíèÿ ðåçóëüòàòîâ èõ äåÿòåëüíîñòè. Îíà ñôîðìèðîâà- ëàñü êàê íàó÷íî-èíæåíåðíàÿ äèñöèïëèíà. Ïîýòîìó ïðèâåäåííîå îïðåäåëåíèå 1 åñòü óçêèì êàê â ñìûñëå ïðåäìåòà ðàçðàáîòêè ÏÎ, òàê è ñàìîé åå äåôèíèöèè. Äàäèì îïðåäåëåíèå 2, êîòîðîå áîëåå øèðîêîå è ñïîñîáñòâóåò ðàñêðûòèþ ñìûñëà íàó÷íîé è èíæåíåðíîé ÷àñòè ÏÈ. 20 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3 Ïðîãðàììíàÿ èíæåíåðèÿ Òåîðèÿ äîêàçà- òåëüñòâà Òåî ðèÿ ì íîæ åñ òâ Òåîðèÿ àëãîðèò- ìîâ Òåîðèÿ óïðàâëå- íèèÿ Ìàòåìàòè- ÷åñêàÿ ëîãèêà Ðèñ. 1. Òåîðåòè÷åñêèé ôóíäàìåíò ÏÈ Îïðåäåëåíèå 2. Ïðîãðàììíàÿ èíæåíåðèÿ — ýòî ñèñòåìà ìåòîäîâ è ñðåäñòâ ïðîãðàììèðîâàíèÿ, èíæåíåðèè ïëàíèðîâàíèÿ è óïðàâëåíèÿ êîëëåêòèâíûì ïðîöåñ- ñîì ïðîèçâîäñòâà êîìïüþòåðíûõ ïðîãðàììíûõ ñèñòåì (ÏÎ, ïðèëîæåíèé, ñåìåéñòâ ñèñòåì, ïðîãðàììíûõ ïðîåêòîâ), ìåòîäû èçìåðåíèÿ è îöåíèâàíèÿ ðàçëè÷íûõ èõ õà- ðàêòåðèñòèê íà ñîîòâåòñòâèå òðåáîâàíèÿì çàêàç÷èêà. Ïðîèçâîäñòâî îðèåíòèðîâàíî íà èñïîëüçîâàíèå áàçîâûõ îáúåêòîâ (ìîäóëåé, êîìïîíåíòîâ, àñïåêòîâ, ñåðâèñîâ è ò.ï.) è àâòîìàòèçèðîâàííûå îïåðàöèè, áëèçêèå ê êîíâåéåðíîìó ïðîèçâîäñòâó. Ïðè äàííîì òîëêîâàíèè ÏÈ èìååòñÿ â âèäó ñëîæèâøàÿñÿ òåîðèÿ ïðîãðàììè- ðîâàíèÿ è îáðàçîâàâøàÿñÿ èíæåíåðèÿ óïðàâëåíèÿ èçãîòîâëåíèåì ïðîãðàììíûõ ïðîäóêòîâ (ÏÏ) ïóòåì àäàïòàöèè ê çàäà÷àì èçãîòîâëåíèÿ ÏÏ îáùèõ ìåòîäîâ óïðàâëåíèÿ (êðèòè÷åñêîãî ïóòè, PERT, ïëàí-ãðàôèêîâ), ïëàíèðîâàíèÿ è ðàñïðåäåëåíèÿ ðàáîò ìåæäó èñïîë- íèòåëÿìè ïðîåêòà, îöåíêè âëîæåííûõ èìè òðóäîçàòðàò è äîñòèãíóòîãî êà÷åñ- òâà. Ïîýòîìó åñòåñòâåííî ïðîãðàì- ìíóþ èíæåíåðèþ ðàññìàòðèâàòü êàê íàó÷íóþ è èíæåíåðíóþ äèñöèïëèíû èçãîòîâëåíèÿ ïðîãðàììíûõ ïðîäóêòîâ (ðèñ. 2). Íà ïåðåñå÷åíèè îáëàñòåé äèñöèïëèí (îâàëîâ íà ðèñ. 2) íàõîäèòñÿ òåîðèÿ è ïðàêòèêà ïîñòðîåíèÿ ñëîæíûõ ïðîãðàììíûõ îáúåêòîâ. Òåîðèÿ ïîñòðîåíèÿ — ýòî òåîðåòè÷åñêîå ïðîãðàììèðîâàíèå ñ ïîìîùüþ ñðåäñòâ àïïàðàòà àáñòðàêòíûõ ñïåöè- ôèêàöèé (ãðàôîâûõ è ñòðóêòóðíûõ ñõåì, ôóíêöèé è êîìïîçèöèé, äåñêðèïòîðîâ è íîìèíàöèé äàííûõ, use case-äèàãðàìì è äð.), à òàêæå ôîðìàëüíàÿ ïðîâåðêà ïðà- âèëüíîñòè ñïåöèôèêàöèé ìåòîäàìè äîêàçàòåëüñòâà, âåðèôèêàöèè è îöåíêè íàäåæ- íîñòè. Ïðàêòèêà ïîñòðîåíèÿ — ýòî ïðèìåíåíèå òåîðåòè÷åñêèõ è ñèñòåìíûõ ìåòî- äîâ ïðîãðàììèðîâàíèÿ íà ïðîöåññàõ ïðîâåðêè (âåðèôèêàöèÿ, âàëèäàöèÿ, òåñòèðî- âàíèå) ñïåöèôèêàöèé îáúåêòîâ, ïîñëåäîâàòåëüíîãî èõ ïðåîáðàçîâàíèÿ ê âûõîäíîìó êîäó è èíæåíåðèÿ îöåíèâàíèÿ è ñåðòèôèêàöèè ðàçíûõ ïîêàçàòåëåé êà- ÷åñòâà (íàäåæíîñòü, ïðîèçâîäèòåëüíîñòü, ýôôåêòèâíîñòü è ò.ï.) ÏÏ. ÏÐÎÃÐÀÌÌÍÀß ÈÍÆÅÍÅÐÈß ÊÀÊ ÍÀÓ×ÍÀß ÄÈÑÖÈÏËÈÍÀ  îòëè÷èå îò ìàòåìàòè÷åñêîé èëè äðóãîé ôóíäàìåíòàëüíîé íàóêè, öåëüþ êîòî- ðûõ åñòü ïîëó÷åíèå íîâûõ çíàíèé äëÿ ðåøåíèÿ ñîîòâåòñòâóþùèõ çàäà÷, â ÏÈ çíàíèÿ — ýòî îáùàÿ òåîðèÿ ïîñòðîåíèÿ ïðîãðàìì äëÿ êîìïüþòåðîâ, îðèåíòèðî- âàííàÿ íà èçãîòîâëåíèå ïðîäóêòà äëÿ ïîëó÷åíèÿ îò íåãî ðåçóëüòàòà. Íàóêà ÏÈ — ýòî òåîðåòè÷åñêèå, ôîðìàëüíûå ìåòîäû è ñðåäñòâà ïîñòðîåíèÿ ñëîæíûõ ïðîãðàììíûõ îáúåêòîâ. Ïîñòðîåíèå — ýòî àíàëèç ïðåäìåòíîé îáëàñòè, ïðîåêòèðîâàíèå è îáðàçîâàíèå âûõîäíîãî êîäà äëÿ åãî âûïîëíåíèÿ íà êîìïüþòåðå. Èíòåãðèðîâàííûå â ïðîãðàììíóþ èíæåíåðèþ ôóíäàìåíòàëüíûå íàóêè, êîòîðûå ïðèâåäåííûå íà ðèñ. 1, à òàêæå íàóêà ïðîãðàììèðîâàíèÿ îáðàçóþò åå îáùèé òåîðå- òè÷åñêèé ôóíäàìåíò, êîòîðûé ïðåäîñòàâëÿåò áàçîâûå ïîíÿòèÿ, îáúåêòû è ôîðìàëü- íûå ìåõàíèçìû, íåîáõîäèìûå ïðè ñîçäàíèè îáùèõ è ñïåöèôè÷åñêèõ îñîáåííîñòåé ïðîãðàììíûõ ïðîäóêòîâ â ñîîòâåòñòâèè ñ çàäàííûìè ê íåìó òðåáîâàíèÿìè. Êàê íàóêà ÏÈ âêëþ÷àåò: 1) îñíîâíûå ïîíÿòèÿ è îáúåêòû; 2) òåîðèþ ïðîãðàììèðîâàíèÿ è ìåòîäû óïðàâëåíèÿ èçãîòîâëåíèåì ÏÏ; 3) ñðåäñòâà è èíñòðóìåíòû ïðîöåññîâ ðàçðàáîòêè ïðîäóêòà. 1. Îñíîâíûå ïîíÿòèÿ ÏÈ — ýòî äàííûå è èõ ñòðóêòóðû, ôóíêöèè è êîìïîçè- öèè, áàçîâûå îáúåêòû (ìîäóëü, êîìïîíåíò, êàðêàñ, ïîâòîðíî èñïîëüçóåìûé êîìïî- íåíò (ÏÈÊ) è äð.) è öåëåâûå îáúåêòû (ÏÎ, ïðîãðàììíàÿ ñèñòåìà, ñåìåéñòâî ñèñ- òåì, ïðîãðàììíûé ïðîåêò, ñëîæíûå ïðîãðàììíûå ñèñòåìû). ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3 21 Ðèñ. 2. Íàó÷íàÿ è èíæåíåðíàÿ äèñöèïëèíû ÏÈ Ïðîñòûå îáúåêòû ðàçðàáàòûâàþòñÿ ñ ïîìîùüþ ýëåìåíòàðíûõ îïåðàöèé ôîðìàëüíî- ãî èõ îïèñàíèÿ, à èçãîòîâëåíèå èç íèõ öåëåâûõ îáúåêòîâ îñóùåñòâëÿåòñÿ ïðèìåíåíèåì èíæåíåðíûõ ìåòîäîâ óïðàâëåíèÿ êîëëåêòèâîì, èõ ðàáîòàìè, ñðîêàìè è ñòîèìîñòüþ. Ïðèâåäåì îïðåäåëåíèå öåëåâûõ îáúåêòîâ ÏÈ [3, 6, 7]. Ïðîãðàììíàÿ ñèñòåìà (ÏÑ, Application) — êîìïëåêñ èíòåãðèðîâàííûõ ïðî- ãðàìì è ñðåäñòâ, êîòîðûå ðåàëèçóþò íàáîð ôóíêöèé íåêîòîðîé ïðåäìåòíîé îáëàñ- òè (ÏðÎ) â çàäàííîé ñðåäå.  êîìïëåêñ ìîãóò âõîäèòü: ÏÎ, ïðèêëàäíûå ñèñòåìû (çàðïëàòà, ó÷åò è äð.), îáùåñèñòåìíûå êîìïîíåíòû (òðàíñëÿòîð, ðåäàêòîð, ñèñòåìà óïðàâëåíèÿ áàçàìè äàííûõ (ÑÓÁÄ) è ò.ï.), ñèñòåìû çàùèòû, îáåñïå÷åíèÿ áåçîïàñ- íîñòè ôóíêöèîíèðîâàíèÿ è äð. Ñïîñîá èçãîòîâëåíèÿ — èíæåíåðèÿ ÏÑ (application engineering), êîòîðàÿ âêëþ÷àåò ïðîöåññû ÆÖ, ìåòîäû ðàçðàáîòêè, óïðàâëåíèÿ, îöå- íèâàíèÿ ïðîäóêòîâ è ïðîöåññîâ äëÿ èõ âîçìîæíîãî óñîâåðøåíñòâîâàíèÿ. Ïðîãðàììíîå îáåñïå÷åíèå — ñîâîêóïíîñòü ïðîãðàììíûõ ñðåäñòâ, êîòîðûå ðåàëèçóþò ôóíêöèè êîìïüþòåðíîé ñèñòåìû (èëè ôóíêöèè àïïàðàòíî-ïðîãðàììíîé ñèñòåìû), âêëþ÷àÿ îáùåñèñòåìíûå ñðåäñòâà (íàïðèìåð, îïåðàöèîííàÿ ñèñòåìà (ÎÑ), ÑÓÁÄ, ñèñòåìû çàùèòû è ò.ï.), ïîñòðîåííûå ïîäñèñòåìû êîíòðîëÿ (ïîêàçàòå- ëåé òåõíîëîãè÷åñêèõ ïðîöåññîâ, îáðàáîòêè ñèãíàëîâ) è ïðèêëàäíûå ïðîãðàììíûå ñèñòåìû. Òàê, ôóíêöèè íåêîòîðîé ÎÑ — ýòî óïðàâëåíèå çàäà÷àìè, ïðîãðàììàìè, äàííûìè è ò.ï. ÏÎ ìîæåò âõîäèòü â ñîñòàâ ÏÑ èëè áûòü èäåíòè÷íûì ôóíêöèÿì ïðîãðàììíîé ñèñòåìû. Ñïîñîá èçãîòîâëåíèÿ — èíæåíåðèÿ ðåàëèçàöèè çàäà÷ ÏÎ. Ñåìåéñòâî ñèñòåì (systems family) — ñîâîêóïíîñòü ÏÑ ñ îáùèì (íåèçìåííûì äëÿ âñåõ ÷ëåíîâ ñåìåéñòâà) è óïðàâëÿåìûì èçìåíÿåìûì íàáîðîì åå õàðàêòåðèñòèê, êîòîðûå óäîâëåòâîðÿþò îïðåäåëåííûì ïîòðåáíîñòÿì ïðèêëàäíîé îáëàñòè (äîìå- íó). Ñïîñîá èçãîòîâëåíèÿ — èíæåíåðèÿ äîìåíà (Domain Engineering) èëè êîíâå- éåðíîå ïðîèçâîäñòâî îäíîòèïíûõ ÏÏ ñ åäèíîé ñõåìîé íà îñíîâå êàðêàñà è ñïåöè- àëüíî ðàçðàáîòàííûõ îòäåëüíûõ ÷ëåíîâ ñåìåéñòâà è äðóãèõ ãîòîâûõ ïðîãðàììíûõ ðåñóðñîâ ñ ïîìîùüþ áàçîâîãî ïðîöåññà èëè ëèíåéêè ïðîäóêòà (product line). Ïðîãðàììíûé ïðîåêò — óíèêàëüíûé è èíòåãðèðîâàííûé ïðîäóêò, â êîòîðîì îòîáðàæåíû ñîâîêóïíîñòè ðåàëèçîâàííûõ öåëåé, çàäà÷ è ðåçóëüòàòîâ äåÿòåëüíîñòè, óäîâëåòâîðÿþùèõ òðåáîâàíèÿì çàêàç÷èêà ïðîåêòà. Ñïîñîá èçãîòîâëåíèÿ — èíæå- íåðèÿ ðàçðàáîòêè è ìåíåäæìåíòà ïðîåêòà. Ñëîæíûå ïðîãðàììíûå îáúåêòû — ñîâîêóïíîñòü âçàèìîñâÿçàííûõ öåëåâûõ îáúåêòîâ ðàçíûõ òèïîâ, êîòîðûå âûïîëíÿþò íåîáõîäèìûå ôóíêöèè â òàêîé ñèñòå- ìå, ïðåäñòàâëåííûå âíîâü ðàçðàáîòàííûìè ïðîñòûìè îáúåêòàìè èëè âûáðàííûìè ñ ðåïîçèòàðèÿ ãîòîâûõ ðåñóðñîâ ÏÈ. 2. Òåîðèÿ ïðîãðàììèðîâàíèÿ — ýòî ìíîæåñòâî ìåòîäîâ, ÿçûêîâ è ñðåäñòâ îïè- ñàíèÿ (ñïåöèôèêàöèè) è ïðîåêòèðîâàíèÿ öåëåâûõ îáúåêòîâ, à òàêæå ìåòîäîâ èõ äîêà- çàòåëüñòâà, âåðèôèêàöèè è òåñòèðîâàíèÿ. Êðîìå òîãî, â ÏÈ ïðèâëå÷åíû ôîðìàëüíûå ìåòîäû óïðàâëåíèÿ ïðîåêòîì (ïåðñîíàëîì, ìàòåðèàëüíûìè è ôèíàíñîâûìè ðåñóðñà- ìè) è îòäåëüíûìè åãî ïîêàçàòåëÿìè [6–8]. Ìåòîäû ïðîãðàììèðîâàíèÿ â ÏÈ ïðåäñòàâ- ëåíû íà ðèñ. 3 è âêëþ÷àþò: � ìåòîäû òåîðåòè÷åñêèå (àëãåáðàè÷åñêèé, àëãîðèòìè- ÷åñêèé, VDM, RAISE è äð.) è ïðèêëàäíûå (îáúåêòíûé, êîì- ïîíåíòíûé, àñïåêòíûé è äð.), ïðåäíàçíà÷åííûå äëÿ ïðîåêòè- ðîâàíèÿ ðàçíûõ òèïîâ öåëå- âûõ îáúåêòîâ; � ìåòîäû ïðîâåðêè ïðà- âèëüíîñòè ïðîãðàìì ôîð- ìàëüíûìè ïðîöåäóðàìè (óòâåðæäåíèÿ, âûâîäà, äîêà- çàòåëüñòâà); 22 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3 Òåîðèÿ ïðîãðàììèðîâàííèÿ Òåîðåòè÷åñêèå ìåòîäû ïðîãðàììèðîâàíèÿ Ïðèêëàäíûå ìåòîäû ïðîãðàììèðîâàíèÿ Ìåòîäû ïðîâåðêè ïðàâèëüíîñòè Ìåòîäû îöåíèâàíèÿ ðåçóëüòàòîâ ïðîåêòèðîâàíèÿ Ìåòîäû óïðàâëåíèÿ ïðîöåññàìè ïðîåêòà Ðèñ. 3. Ñîâîêóïíîñòü ìåòîäîâ ÏÈ � ìåòîäû îöåíèâàíèÿ ðåçóëüòàòîâ ïîñëåäîâàòåëüíîãî ïðîåêòèðîâàíèÿ (ïðîìå- æóòî÷íûõ ðàáî÷èõ ïðîäóêòîâ) íà ïðîöåññàõ ïðîåêòà è îöåíêè ïîêàçàòåëåé êà÷åñòâà êîíå÷íîãî ïðîäóêòà (íàäåæíîñòè, òî÷íîñòè, ïðîèçâîäèòåëüíîñòè è ò.ï.); � ìåòîäû óïðàâëåíèÿ ïëàíàìè ðàáîò è êîíòðîëÿ ïðîìåæóòî÷íûõ ðåçóëüòàòîâ íà ïðîöåññàõ ïðîåêòà, à òàêæå äîïîëíèòåëüíûå ðàñ÷åòíûå ìåòîäû îöåíêè òðóäîçàò- ðàò íà êàæäóþ ðàáîòó, åå ñòîèìîñòü è äð. 3. ßçûêè, ñðåäñòâà è èíñòðóìåíòû ÏÈ. Âñå îáúåêòû, êàê àðòåôàêòû ÏÏ, âêëþ÷àþò ðàçíîãî ðîäà îïèñàíèÿ: òðåáîâàíèÿ ê ðàçðàáîòêå, ñîãëàñîâàííûå ñ çàêàç- ÷èêîì, àðõèòåêòóðó, ñòðóêòóðû äàííûõ, ñïåöèôèêàöèè ïðîãðàìì è ò.ï. Ïðîåêòèðîâàíèå öåëåâûõ îáúåêòîâ îñóùåñòâëÿåòñÿ ñ ïîìîùüþ ñîâðåìåííûõ ÿçûêîâ, â òîì ÷èñëå âèçóàëüíûõ (íàïðèìåð, Ñ++, Java, Pascal, UML è äð.), è ñîîòâå- òñòâóþùèõ èíñòðóìåíòàëüíûõ ñðåä, êîòîðûå ñîäåðæàò íåîáõîäèìûå ÿçûêîâûå ïðåîáðàçîâàòåëè è èíñòðóìåíòû ïîääåðæêè àðòåôàêòîâ ïðîöåññà ðàçðàáîòêè. Ê òà- êèì ñðåäñòâàì òàêæå îòíîñÿòñÿ øàáëîíû, êàðêàñû, äèàãðàììû ïîòîêîâ äàííûõ, êëàññîâ, ïîâåäåíèÿ è ò.ï. Ïðîâåðêà ïðàâèëüíîñòè öåëåâûõ îáúåêòîâ îñóùåñòâëÿåòñÿ ìåòîäàìè ïðîãðàì- ìèðîâàíèÿ è ñîîòâåòñòâóþùèìè èíñòðóìåíòàìè, ïðèñïîñîáëåííûìè äëÿ ðàçðàáîò- êè ðàçíûõ çàäà÷ ïðîåêòà â ñîîòâåòñòâóþùåé ñðåäå ïðîåêòèðîâàíèÿ. Ãîòîâûé ïðî- äóêò ïðîâåðÿåòñÿ íà ñîîòâåòñòâèå ðåàëèçîâàííûõ ôóíêöèé çàäàííûì òðåáîâàíèÿì, òåñòèðóåòñÿ ñ ïîìîùüþ ñïåöèàëüíûõ ìåòîäèê, à òàêæå ïîäâåðãàåòñÿ èçìåðåíèþ è îöåíèâàíèþ äëÿ ïîëó÷åíèÿ ïîêàçàòåëåé êà÷åñòâà ÏÏ.  ðîëè ñðåä ïðîåêòèðîâàíèÿ öåëåâûõ îáúåêòîâ èñïîëüçóþòñÿ ïåðåäîâûå, ñî- âðåìåííûå òåõíîëîãèè è ñîîòâåòñòâóþùèå ïàêåòû èíñòðóìåíòàëüíî-òåõíîëîãè÷åñ- êèõ ñèñòåì (íàïðèìåð, Microsoft Visual Studio, MSF, RUP, Rational Rose è äð.). Èõ èíñòðóìåíòû ïîääåðæèâàþò ïðîåêòèðîâàíèå ðàçíûõ òèïîâ öåëåâûõ îáúåêòîâ, à òàêæå óïðàâëåíèå ìåíåäæìåíòîì ïðîåêòà, â ÷àñòíîñòè ïåðñîíàëîì, ïëàíàìè è êà- ÷åñòâîì ïðîäóêòîâ. Ýòè ñðåäñòâà è èíñòðóìåíòû óäîáíî èñïîëüçîâàòü â êîëëåêòèâ- íîé ðàçðàáîòêå ïðîåêòà. ÏÐÎÃÐÀÌÌÍÀß ÈÍÆÅÍÅÐÈß ÊÀÊ ÈÍÆÅÍÅÐÍÀß ÄÈÑÖÈÏËÈÍÀ Èíæåíåðíàÿ äèñöèïëèíà (èëè èíæåíåðèÿ) â ÏÈ — ýòî ñïîñîáû âûïîëíåíèÿ äåÿ- òåëüíîñòè, ñâÿçàííîé ñ èçãîòîâëåíèåì ÏÏ äëÿ ðàçíûõ âèäîâ öåëåâûõ îáúåêòîâ ñ ïðèìåíåíèåì ìåòîäîâ, ñðåäñòâ è èíñòðóìåíòîâ íàó÷íîé äèñöèïëèíû ÏÈ [6–8]. Åå îñíîâó ñîñòàâëÿþò ñëåäóþùèå áàçîâûå ýëåìåíòû (ðèñ. 4): 1) ÿäðî çíàíèé SWEBOK (www.swebok.com), êàê íàáîð òåîðåòè- ÷åñêèõ êîíöåïöèé è ôîðìàëüíûõ ïðà- âèë, êîòîðûå ìîãóò ïðèìåíÿòüñÿ â ÏÈ; 2) áàçîâûé ïðîöåññ ÏÈ, êàê ñòåð- æåíü ïðîöåññíîé äåÿòåëüíîñòè â îðãà- íèçàöèè-ðàçðàáîò÷èêå ÏÏ; 3) ñòàíäàðòû, êàê íàáîð ðåãëàìåí- òèðîâàííûõ ïðàâèë êîíñòðóèðîâàíèÿ ïðîìåæóòî÷íûõ àðòåôàêòîâ íà ïðîöåñ- ñàõ ÆÖ; 4) èíôðàñòðóêòóðà — ýòî óñëîâèÿ ñðåäû è ìåòîäè÷åñêîãî îáåñïå÷åíèÿ áàçîâî- ãî ïðîöåññà ÏÈ è èñïîëíèòåëåé, êîòîðûå çàíèìàþòñÿ èçãîòîâëåíèåì ÏÏ; 5) ìåíåäæìåíò ïðîåêòà (www.pmi.com) — ýòî ñòàíäàðòíûå ïîëîæåíèÿ è ïðî- öåññû, à òàêæå íàó÷íûå ïðèíöèïû, ìåòîäû ïëàíèðîâàíèÿ è êîíòðîëÿ ðàáîò ïðîåêòà. Ñ èíæåíåðíîé òî÷êè çðåíèÿ, â ÏÈ ðåàëèçóþòñÿ çàäà÷è èçãîòîâëåíèÿ ÏÏ, êàê òåõíîëîãè÷åñêèå ïðîöåññû ôîðìèðîâàíèÿ òðåáîâàíèé, ïðîåêòèðîâàíèÿ è ñîïðî- âîæäåíèÿ ïðîäóêòà, à òàêæå ïðîâåðêè îïåðàöèé áàçîâîãî ïðîöåññà íà ïðàâèëüíîñòü ðåàëèçàöèè ðàçíûõ ôóíêöèîíàëüíûõ çàäà÷ ïðîåêòà è âêëàäûâàíèÿ åãî ðàáîò â çàäàííûé çàêàç÷èêîì ñðîê. ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3 23 Èíæåíåðèÿ ïðîãðàììèðîâàíèÿ ßäðî çíàíèé ÏÈ Áàçîâûé ïðîöåññ ÏÈ Ñòàíäàðòû ÏÈ Èíôðàñòðóêòóðà PMBOK Ðèñ. 4. Ñîñòàâ áàçîâûõ ýëåìåíòîâ èíæåíåðíîé äèñöèïëèíû ÏÈ ìîæíî ðàññìàòðèâàòü ñ äâóõ òî÷åê çðåíèÿ: — êàê èíæåíåðíóþ äåÿòåëüíîñòü, â êîòîðîé èíæåíåðû ðàçíûõ êàòåãîðèé îñó- ùåñòâëÿþò ðàáîòû ïðîåêòà, ó÷èòûâàþò ñîîòâåòñòâóþùèå òåîðåòè÷åñêèå ìåòîäû è ñðåäñòâà ÏÈ, êîòîðûå ðåêîìåíäîâàíû â ÿäðå çíàíèé SWEBOK, à òàêæå ïîëîæåíèÿ ïðîöåññîâ ÆÖ ñòàíäàðòîâ è èçáðàííûõ äëÿ ïðîöåññîâ ìåòîäîâ; — êàê ñèñòåìó óïðàâëåíèÿ ïðîåêòîì, êà÷åñòâîì è ðèñêàìè ñ ïðèâëå÷åíèåì ïðàâèë è ïîëîæåíèé ñòàíäàðòîâ ÆÖ, êà÷åñòâà è ìåíåäæìåíòà ïðîåêòà [7, 8]. Èíæåíåðíàÿ äåÿòåëüíîñòü ïëàíèðóåòñÿ, â íåé ïðîâîäèòñÿ ðàñïðåäåëåíèå ïðî- åêòà íà îòäåëüíûå ðàáîòû, êîòîðûå áóäóò âûïîëíÿòü èñïîëíèòåëè ïðîåêòà. Ìåíåä- æåð ïðîåêòà — ýòî ãëàâíîå äåéñòâóþùåå ëèöî, îòâåòñòâåííûé çà ïðîåêòèðîâàíèå è êîíòðîëü âûïîëíåíèÿ ýòèõ ðàáîò ðàçíèìè ñëóæáàìè èíôðàñòðóêòóðû ïðîåêòà â îðãàíèçàöèè (âåðèôèêàöèè, òåñòèðîâàíèÿ, îöåíêè êà÷åñòâà è äð.). Ïðîäóêò êîëëåê- òèâíîãî èçãîòîâëåíèÿ ïåðåäàåòñÿ çàêàç÷èêó äëÿ ñîïðîâîæäåíèÿ. Íàéäåííûå â íåì îøèáêè è íåäîñòàòêè óñòðàíÿþòñÿ ðàçðàáîò÷èêàìè. Ýòà äåÿòåëüíîñòü ïðàêòè÷åñêè óæå îòðàáîòàíà è ïî ñâîåé ñóùíîñòè áëèçêà ê èíæåíåðíîé äåÿòåëüíîñòè â ïðîìûøëåííîñòè, ãäå èíæåíåðèÿ — ýòî ñïîñîá ïðèìå- íåíèÿ íàó÷íûõ ðåçóëüòàòîâ â èçãîòîâëåíèè íåêîòîðûõ òåõíè÷åñêèõ èçäåëèé ñ ïî- ìîùüþ òåõíîëîãè÷åñêèõ ïðàâèë è ïðîöåäóð, ìåòîäèê èçìåðåíèÿ, îöåíêè è ñåðòèôèêàöèè èçãîòîâëåííîãî ïðîäóêòà. Äàëåå äàåòñÿ îáùàÿ õàðàêòåðèñòèêà áàçîâûõ 1)–5) ýëåìåíòîâ èíæåíåðíîé äèñ- öèïëèíû (ñì. ðèñ. 4). 1. ßäðî çíàíèé SWEBOK — ýòî ãëàâíàÿ ñîäåðæàòåëüíàÿ òðàêòîâêà è ïåðå- ÷åíü êîíöåïòóàëüíûõ îñíîâ ðàçäåëîâ ÏÈ. Ñòðóêòóðíî ÿäðî âêëþ÷àåò â ñåáÿ 10 ðàçäåëîâ (knowledge areas). Èõ óñëîâíî ïîäåëèì íà äâå êàòåãîðèè: ïðîåêòèðîâà- íèå è îðãàíèçàöèîííàÿ, èíæåíåðíàÿ äåÿòåëüíîñòü. Ïåðâàÿ êàòåãîðèÿ — ýòî ìåòî- äû è ñðåäñòâà ðàçðàáîòêè (ôîðìèðîâàíèå òðåáîâàíèé, ïðîåêòèðîâàíèå, êîíñòðóè- ðîâàíèå, òåñòèðîâàíèå, ñîïðîâîæäåíèå). Âòîðàÿ êàòåãîðèÿ âêëþ÷àåò ìåòîäû óïðàâëåíèÿ ïðîåêòîì, êîíôèãóðàöèåé, êà÷åñòâîì è áàçîâûì ïðîöåññîì îðãàíèçà- öèè-ðàçðàáîò÷èêà. Ìåòîäû ÿäðà çíàíèé SWEBOK ìåíåäæåð ïðîåêòà ñîïîñòàâëÿåò c çàäà÷àìè ñòàíäàðòíûõ ïðîöåññîâ ÆÖ è îáåñïå÷èâàåò íàïîëíåíèå áàçîâîãî ïðîöåññà ýòèìè ìåòîäàìè. Òåì ñàìûì ñîçäàåòñÿ áàçèñ èíæåíåðíîé äèñöèïëèíû èçãîòîâëåíèÿ ïðî- äóêòà, âêëþ÷àþùèé ðåãëàìåíòèðîâàííóþ ïîñëåäîâàòåëüíîñòü ïðîöåññîâ ðàçðàáîò- êè è ñîïðîâîæäåíèÿ ÏÏ. Íà íà÷àëüíûõ ïðîöåññàõ îïðåäåëÿþòñÿ òðåáîâàíèÿ ê ïðî- äóêòó, ïðîåêòíûå ðåøåíèÿ è êàðêàñ (àáñòðàêòíàÿ àðõèòåêòóðà) áóäóùåãî ïðîäóêòà. Íà îñíîâå òðåáîâàíèé è êàðêàñà ðàçðàáàòûâàþòñÿ íîâûå èëè ïîäáèðàþòñÿ ãîòîâûå îáúåêòû äëÿ «çàïîëíåíèÿ» êàðêàñà êîíêðåòíûì ñîäåðæàíèåì è ïîñëåäóþùåé åãî äîðàáîòêîé äî êîíå÷íîãî ÏÏ. 2. Áàçîâûé ïðîöåññ (ÁÏ) — ýòî ìåòàóðîâåíü äëÿ ïðîöåññèðîâàíèÿ èçãîòîâëå- íèåì ïðîäóêòà. Îí ñîäåðæèò îñíîâíûå ïîíÿòèÿ, êîòîðûå îòíîñÿòñÿ ê îñíàñòêå, îðãàíèçàöèîííîé ñòðóêòóðå êîëëåêòèâà ðàçðàáîò÷èêîâ è ìåòîäîëîãèè îöåíêè, èç- ìåðåíèÿ, óïðàâëåíèÿ èçìåíåíèÿìè è ñîâåðøåíñòâîâàíèåì ñàìîãî ïðîöåññà.  öå- ëîì ÁÏ — ýòî ìíîæåñòâî ëîãè÷åñêè ñâÿçàííûõ ñ íèì âèäîâ èíæåíåðíîé äåÿòåëü- íîñòè îðãàíèçàöèè-ðàçðàáîò÷èêà è íàáîð ñðåäñòâ è èíñòðóìåíòîâ, ïðåäíàçíà÷åí- íûõ äëÿ èñïîëüçîâàíèÿ ïðè èçãîòîâëåíèè ÏÏ. 3. Èíôðàñòðóêòóðà — ýòî íàáîð òåõíè÷åñêèõ, òåõíîëîãè÷åñêèõ, ïðîãðàì- ìíûõ (ìåòîäè÷åñêèõ) è ÷åëîâå÷åñêèõ ðåñóðñîâ îðãàíèçàöèè-ðàçðàáîò÷èêà, íåîáõî- äèìûõ äëÿ âûïîëíåíèÿ ÁÏ, îðèåíòèðîâàííîãî íà âûïîëíåíèå äîãîâîðà ñ çàêàç÷è- êîì ïðîãðàììíîãî ïðîåêòà. Ê òåõíè÷åñêèì ðåñóðñàì ïðîåêòà îòíîñÿòñÿ: êîìïüþòå- ðû, óñòðîéñòâà (ïðèíòåðû, ñêàíåðû è ò.ï.), ñåðâåðû è ò.ï., à ê ïðîãðàììíûì — ÏÎ, èíôîðìàöèîííîå è ñèñòåìíîå îáåñïå÷åíèå. Òåõíîëîãè÷åñêèå è ìåòîäè÷åñêèå ðå- ñóðñû — ýòî ìåòîäèêè, ïðîöåäóðû, ïðàâèëà, ðåêîìåíäàöèè ñòàíäàðòîâ äëÿ ïðîöåñ- ñà è óïðàâëåíèÿ ïåðñîíàëîì. ×åëîâå÷åñêèå ðåñóðñû — ýòî ãðóïïû ðàçðàáîò÷èêîâ è ñëóæá óïðàâëåíèÿ ïðîåêòîì, ïëàíàìè, êà÷åñòâîì, ðèñêîì, êîíôèãóðàöèåé è ïðî- 24 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3 âåðêè ïðàâèëüíîñòè âûïîë- íåíèÿ ïðîåêòà ðàçðàáîò÷è- êàìè. Âìåñòå ýòî áàçîâûé ïðîöåññ è êîìïëåêò äîêó- ìåíòîâ ïî ðåãëàìåíòàöèè, âûïîëíåíèþ è ðåãóëèðîâà- íèþ ïðîöåññîâ ÆÖ ïîä êîí- êðåòíûå öåëè ïðîåêòà [7]. Ñðåäñòâà, ïðîìåæóòî÷íûå ðåçóëüòàòû ðàçðàáîòêè íà ïðîöåññàõ ÆÖ, à òàêæå ìå- òîäèêè ðóêîâîäñòâà ðåñóð- ñàìè ÁÏ è ðåçóëüòàòû ïðèìåíåíèÿ ñîîòâåòñòâóþùèõ ìåòîäîâ ïðîãðàììèðîâàíèÿ ñîõðàíÿþòñÿ â áàçå çíàíèé ïðîåêòà (ðèñ. 5). Ïîñëå âûïîëíåíèÿ ïðîåêòà è ïðèîáðåòåíèÿ îïûòà ïîñòðîåíèÿ êîíêðåòíîãî ïðîåêòà áàçîâûé ïðîöåññ è åãî ýëåìåíòû ìîãóò ñîâåðøåíñòâîâàòüñÿ (äîðàáîòêà, çà- ìåíà, äîáàâëåíèå íîâûõ ñðåäñòâ) ñîîòâåòñòâåííî ñòàíäàðòó ISO/IEC TR 15504 (Information Technology — Software Process Assessment, Part 2: A reference model for processes and process capability). Ãîòîâíîñòü âñåõ âèäîâ ýëåìåíòîâ ïðîöåññà è ïåðñîíàëà îðãàíèçàöèè-ðàçðàáîò- ÷èêà ïðîèçâîäèòü êà÷åñòâåííûé ïðîäóêò — îñíîâà îöåíêè çðåëîñòè êàê ñàìîé îðãàíèçàöèè, òàê è âûïóùåííîãî ïðîäóêòà. Äëÿ ýòîãî ïðèìåíÿåòñÿ ìîäåëü çðåëîñòè CMM (Capability Maturity Model) Èíñòèòóòà ïðîãðàììíîé èíæåíåðèè SEI ÑØÀ. Äëÿ ðàññìîòðåíèÿ ðàçíîé ñòåïåíè ãîòîâíîñòè îðãàíèçàöèè ñîçäàâàòü ÏÏ ìîäåëü ðåêîìåíäóåò ñëåäóþùèå îöåíêè: óäîâëåòâîðèòåëüíî, ñðåäíå, õîðîøî è î÷åíü õîðî- øî. Óðîâåíü ñòåïåíè ãîòîâíîñòè îïðåäåëÿåòñÿ íàëè÷èåì â îðãàíèçàöèè áàçîâîãî ïðîöåññà, âñåõ íåîáõîäèìûõ äëÿ íåãî ðåñóðñîâ, ñîîòâåòñòâóþùèõ ñòàíäàðòîâ è ìå- òîäèê, à òàêæå ïðîôåññèîíàëüíûõ ñïîñîáíîñòåé (çðåëîñòè) ÷ëåíîâ êîëëåêòèâà èç- ãîòîâëÿòü ÏÏ â çàäàííûé ñðîê è âêëàäûâàòüñÿ â ñòîèìîñòü. Ìîäåëü ÑÌÌ — ïÿòè- óðîâíåâàÿ. Ïåðâûé è âòîðîé óðîâíè îïðåäåëÿþò íåäîñòàòî÷íóþ ïîäãîòîâëåííîñòü îðãàíèçàöèè âûïîëíÿòü çðåëî ïðîäóêò. Òðåòèé, ÷åòâåðòûé è ïÿòûé óðîâíè õàðàêòå- ðèçóþò ñòåïåíü ãîòîâíîñòè, çðåëîñòè è ïðîôåññèîíàëèçìà ñïåöèàëèñòîâ îðãàíèçà- öèè èçãîòàâëèâàòü ñîîòâåòñòâåííî ñðåäíèé, õîðîøèé è îòëè÷íûé ïðîäóêò. Êðîìå áàçîâîé ìîäåëè, èñïîëüçóþòñÿ ñïåöèàëèçèðîâàííàÿ ìîäåëü SW ÑÌÌ (Software CMM) äëÿ îöåíêè çðåëîñòè ÏÎ, èíòåãðèðîâàííàÿ ìîäåëü çðåëîñòè CMMI (ÑÌÌ Integrated) äëÿ ó÷åòà ïîòðåáíîñòåé ãîñóäàðñòâåííûõ ñòðóêòóð â ÏÎ, Bootstrap — äëÿ îöåíêè çðåëîñòè ìàëåíüêèõ è ñðåäíèõ êîììåð÷åñêèõ êîìïàíèé. 4. Ñòàíäàðòû ÏÈ — ýòî òåõíîëîãè÷åñêè îòðàáîòàííûé íàáîð ðàçíûõ âèäîâ ïðîöåññîâ ñî ñòðîãî îïðåäåëåííûì è ðåãëàìåíòèðîâàííûì ïîðÿäêîì ïðîâåäåíèÿ ðàáîò â ÏÈ, ñâÿçàííûõ ñ ðàçðàáîòêîé è îöåíèâàíèåì ïðîäóêòà íà êà÷åñòâî, ðèñêè è ò.ï. Ñòàíäàðòû â îáëàñòè ÏÈ ðåãëàìåíòèðóþò ðàçíûå íàïðàâëåíèÿ äåÿòåëüíîñòè. Îíè ñòàíäàðòèçèðóþò òåðìèíû è ïîíÿòèÿ, ÆÖ, êà÷åñòâî, èçìåðåíèå, îöåíêó ïðî- äóêòîâ è ïðîöåññîâ. Íàèáîëåå âàæíûìè ñðåäè íèõ — ñòàíäàðò ISO/IEC 12207 «Ïðîöåññû æèçíåííîãî öèêëà ïðîãðàììíîãî îáåñïå÷åíèÿ», à òàêæå ñòàíäàðòû ñå- ðèè ISO/IEC 9000 — 1, 2, 3, ÄÑÒÓ 2844–94 è 2850-94, ðåãëàìåíòèðóþùèå àñïåêòû ñèñòåìû óïðàâëåíèÿ è îáåñïå÷åíèÿ êà÷åñòâà ÏÏ. Ñòàíäàðò ISO/IEC 12207 ñîäåðæèò îðãàíèçàöèîííûå ïðîöåññû: ïëàíèðîâàíèå, óïðàâëåíèå è ñîïðîâîæäåíèå. Ïðîöåññ ïëàíèðîâàíèÿ âêëþ÷àåò äåéñòâèÿ ïî ñîñòàâ- ëåíèþ ïëàíîâ è ãðàôèêîâ ïðîåêòà, ïî ðàñïðåäåëåíèþ ðàáîò ìåæäó ðàçíûìè êàòåãî- ðèÿìè ñïåöèàëèñòîâ, à òàêæå äåéñòâèÿ ïî êîíòðîëþ ïëàíîâ è âûïîëíåííûõ ðàáîò. Ïðîöåññ óïðàâëåíèÿ ïðîåêòîì îïðåäåëÿåò ïðîöåññû óïðàâëåíèÿ ðàáîòàìè íà ïðî- åêòå, êîòîðûå äîëæíû âûïîëíÿòü ñïåöèàëèñòû, âëàäåþùèå òåîðèåé óïðàâëåíèÿ, ñïîñîáíûå ïëàíèðîâàòü è ñëåäèòü çà ñðîêàìè âûïîëíåíèÿ ïðîåêòà. Òðåòèé ïðî- öåññ — ýòî ñîïðîâîæäåíèå ãîòîâîãî ïðîäóêòà ïðîåêòà, âûÿâëåíèå è óñòðàíåíèå ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3 25 Èíôðàñòðóêòóðà èíæåíåðèè Òåõíèêî- òåõíîëîãè÷åñêèå è ïðîãðàììíûå ñðåäñòâà Áàçîâûé ïðîöåññ ÏÈ Êàäðîâûé ïîòåíöèàë îðãàíèçàöèè - ðàçðàáîò÷èêà Ðåñóðñû è ñðåäà ðàçðàáîòêè Îñíàñòêà ÆÖ ìåòîäàìè ÏÈ Ñëóæáû êîíòðîëÿ è îöåíîê Ñòàíäàðòû ñâÿçåé, èíñòðóêöèè îáó÷åíèÿ Áàçà çíàíèé ïðîåêòà Ðèñ. 5. Ýëåìåíòû èíôðàñòðóêòóðû ïðîåêòà íàéäåííûõ â íåì íåäîñòàòêîâ, à òàêæå äîïîëíåíèå íîâûõ èëè óäàëåíèå íåêîòîðûõ ôóíêöèé â ïðîäóêòå. ßäðî çíàíèé SWEBOK è ñòàíäàðòû ÆÖ âçàèìîñâÿçàíû. Îíè èñïîëüçóþòñÿ ïðè îïðåäåëåíèè ñòðóêòóðû áàçîâîãî ïðîöåññà ÏÈ è ðàçðàáîòêè íåîáõîäèìûõ ìå- òîäèê è îãðàíè÷åíèé íà èçãîòîâëåíèå ïðîäóêòà. Ïðè ýòîì ìîãóò èñïîëüçîâàòüñÿ ôóíäàìåíòàëüíûå ìîäåëè ÆÖ (âîäîïàäíàÿ, ñïèðàëüíàÿ è ò.ï.), êîòîðûå ðåàëèçóþò çàëîæåííûé â íèõ ñòèëü ïðîåêòèðîâàíèÿ è ðåàëèçàöèè äëÿ íåêîòîðûõ âèäîâ ïðîäóêòîâ. 5. Ìåíåäæìåíò ïðîåêòà — ýòî óïðàâëåíèå ðàçðàáîòêîé ïðîåêòà ñ èñïîëüçîâà- íèåì àäàïòèðîâàííîé òåîðèè óïðàâëåíèÿ è ïðîöåññîâ ÿäðà çíàíèé ÐÌÂÎÊ ê òèïó ïðîåêòà.  ÐÌÂÎÊ ïðåäñòàâëåíû ïîëîæåíèÿ è ïðàâèëà ðóêîâîäñòâà â ñîîòâåò- ñòâèè ñ çàäàííûì âðåìåíåì ïðîèçâîäñòâåííîãî öèêëà ïîñòðîåíèÿ óíèêàëüíîãî ïðîäóêòà â ðàìêàõ íåêîòîðîãî ïðîåêòà [9]. ÐÌÂÎÊ — ýòî ñòàíäàðò IEEE Std.1490:2003, êîòîðûé ðàçðàáîòàí àìåðèêàíñêèì Èíñòèòóòîì óïðàâëåíèÿ ïðîåêòà- ìè (www.pmi.org) äëÿ ñîçäàíèÿ ÏÎ. ßäðî çíàíèé ÐÌÂÎÊ ïîñòðîåíî àíàëîãè÷íî ÿäðó çíàíèé SWEBOK è ñîäåðæèò îïèñàíèå ëåêñèêè, ñòðóêòóðû ïðîöåññîâ è îáëàñòåé çíàíèé, êîòîðûå îòîáðàæàþò ñîâðåìåííóþ ïðàêòèêó óïðàâëåíèÿ ïðîåêòàìè â íåêîòîðûõ îáëàñòÿõ ïðîìûøëåí- íîñòè è ÏÎ â ÷àñòíîñòè. ßäðî ñîäåðæèò ïðîöåññû è îïðåäåëÿåò ïðèíÿòèå ðåøåíèé ïî ðåñóðñàì ïðîåêòà â êàæäûé ìîìåíò âðåìåíè âûïîëíåíèÿ è óïðàâëåíèÿ çàäà÷àìè ïðîåêòà. Îáëàñòü çíàíèé — óïðàâëåíèå ñîäåðæàíèåì ïðîåêòà — ýòî ïðîöåññû, ðåã- ëàìåíòèðóþùèå ïëàíèðîâàíèå, ðàçáèâêó ðàáîò íà áîëåå ïðîñòûå â öåëÿõ óïðîùå- íèÿ ïðîöåññà óïðàâëåíèÿ. Îáëàñòü óïðàâëåíèÿ êà÷åñòâîì ñîäåðæèò ïðîöåññû è îïåðàöèè äîñòèæåíèÿ öåëåé ïðîåêòà, à òàêæå ïðàâèëà è ïðîöåäóðû äëÿ óëó÷øåíèÿ ïðîöåññà îáåñïå÷åíèÿ êà÷åñòâà â ñîîòâåòñòâèè ñ çàäàííûìè òðåáîâàíèÿìè çàêàç÷è- êà è ïîëîæåíèÿìè ñòàíäàðòà êà÷åñòâà (ISO/IEC 9000 –1, 2, 3). Îáëàñòü óïðàâëåíèÿ ÷åëîâå÷åñêèìè ðåñóðñàìè âêëþ÷àåò ðàñïðåäåëåíèå ðàáîò ìåæäó èñïîëíèòåëÿìè â ñîîòâåòñòâèè ñ èõ êâàëèôèêàöèåé è ïðîôåññèîíàëèçìîì. Òàêèì îáðàçîì, ñòàíäàðò ÐÌÂÎÊ, êàê è ñòàíäàðò ISO/IEC 12207, èìååò ìíîãî îáùåãî, êàñàþùåãîñÿ îðãàíèçàöèîííûõ ïðîöåññîâ óïðàâëåíèÿ ïðîåêòîì è åãî ðåñóðñàìè. ÏÐÎÃÐÀÌÌÍÀß ÈÍÆÅÍÅÐÈß Â ÏÐÀÊÒÈ×ÅÑÊÎÌ ÈÇÌÅÐÅÍÈÈ Îáùåå íàçíà÷åíèå ÏÈ — ýòî ïðàêòèêà, ò.å. êîíêðåòíîå ïîñòðîåíèå êîìïüþòåð- íûõ ïðîãðàìì, ñèñòåì è èíñòðóìåíòîâ ñ ïðèìåíåíèåì òåîðåòè÷åñêèõ è èíæåíåð- íûõ ìåòîäîâ. Ãëàâíàÿ îñîáåííîñòü ïðàêòèêè — ýòî èñïîëüçîâàíèå ðàçðàáîòàííûõ ãîòîâûõ ïðîãðàìì è èíôîðìàöèîííûõ ðåñóðñîâ Èíòåðíåò (MatLab, Greenstone, Grid-ñèñòå- ìû è äð.). Äîñòóï ê íèì ìîæåò îñóùåñòâèòü ëþáîé ïîëüçîâàòåëü è ïîëó÷èòü áåñ- ïëàòíî èëè íà êîììåð÷åñêîé îñíîâå ãîòîâûé ðåñóðñ, êàê ñåðâèñ. Îí ìîæåò îäíîðà- çîâî èñïîëüçîâàòüñÿ äëÿ ðåøåíèÿ ñîîòâåòñòâóþùåé çàäà÷è ëèáî êàê íåêîòîðàÿ ïðî- ãðàììà ïîñòîÿííîãî è ìíîãîêðàòíîãî ïðèìåíåíèÿ â íåêîòîðîì äîìåíå. Ñåãîäíÿ ñôîðìèðîâàëîñü òðè èíæåíåðíûõ ïîäõîäà ïî ïðèìåíåíèþ ãîòîâûõ ðåñóðñîâ: reusing engineering, application engineering, domain engineering. Îíè ïðèìåíÿþò â êà- ÷åñòâå ãîòîâûõ ðåñóðñîâ ïîâòîðíî èñïîëüçóåìûå êîìïîíåíòû (ÏÈÊ), ïðèëîæåíèÿ è ñèñòåìû. Ïðèìåíåíèå ãîòîâûõ ðåñóðñîâ, êàê ìíîãîêðàòíî èñïîëüçîâàííîãî ãîòî- âîãî ïðîäóêòà, äàåò çíà÷èòåëüíóþ ýêîíîìèþ ïðè ïðîèçâîäñòâå èç íèõ íîâûõ ïðîãðàììíûõ ñèñòåì è ñåìåéñòâ ñèñòåì. Âñå âèäû ÏÈÊ ñîõðàíÿþòñÿ â õðàíèëèùàõ ïðîåêòà — ðåïîçèòàðèÿõ [6, 7]. Èíæåíåðèÿ ÏÈÊ — ýòî ñèñòåìàòè÷åñêàÿ è öåëåíàïðàâëåííàÿ äåÿòåëüíîñòü äëÿ ïîäáîðà ðåàëèçîâàííûõ è ïðåäñòàâëåííûõ â ðåïîçèòàðèè ÏÈÊ. Ñèñòåìà ïðîåêòè- ðóåòñÿ èç íèõ ñíèçó ââåðõ. Ñíà÷àëà ñîçäàåòñÿ îáùàÿ ñòðóêòóðà — êàðêàñ ïðîäóêòà, äàåòñÿ åãî îïèñàíèå è ïî ýòîìó îïèñàíèþ ãîòîâûå êîìïîíåíòû è ÏÈÊ èíòåãðèðó- þòñÿ â ñèñòåìó. 26 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3 Èíæåíåðèÿ ïðèëîæåíèé áàçèðóåòñÿ íà ìíîãîðàçîâîì èñïîëüçîâàíèè ÏÈÊ, à òàêæå ãîòîâûõ ïðîãðàìì. Ïðîåêòèðîâàíèå îäèíî÷íûõ, ò.å. óíèêàëüíûõ ïðî- ãðàìì-ïðèëîæåíèé — ýòî èíæåíåðèÿ ïðîãðàììèðîâàíèÿ èç ãîòîâûõ ÏÈÊ ïðèëî- æåíèÿ. Ïðîöåññ ïîñòðîåíèÿ íà÷èíàåòñÿ ñ àíàëèçà ÏðÎ, îïðåäåëåíèÿ êîíöåïòóàëü- íîé ìîäåëè, ðàçðàáîòêè ïðîåêòíûõ ðåøåíèé è ïðîâåäåíèÿ êîìïîçèöèè êîìïîíåí- òîâ ñ èñïîëüçîâàíèåì øàáëîíîâ èëè êàðêàñîâ. Èíæåíåðèÿ ÏðÎ — íàáîð ñðåäñòâ, èíñòðóìåíòîâ, ìíîæåñòâà ãîòîâûõ ðåñóðñîâ è áàçîâîãî ïðîöåññà ïîñòðîåíèÿ èç íèõ ñèñòåì ñåìåéñòâà (äîìåíà) íà îñíîâå ìîäå- ëè, ñîäåðæàùåé îáùèå è èçìåíÿåìûå õàðàêòåðèñòèêè ïðåäñòàâèòåëåé ñåìåéñòâà. Âûáðàííûå ÏÈÊ èëè îäèíî÷íûå ïðèëîæåíèÿ âñòðàèâàþòñÿ â ìîäåëü äîìåíà. Òåõ- íîëîãèÿ ðàçðàáîòêè ñåìåéñòâà ïëàíèðóåòñÿ êàê â ïëàíå ñîçäàíèÿ ìîäåëè äîìåíà, òàê è ÷ëåíîâ ñåìåéñòâà. Îíà âêëþ÷àåò ïðîöåññû àíàëèçà, ïðîåêòèðîâàíèÿ è âñòðàè- âàíèÿ ÏÈÊ â îòäåëüíûå ïðåäñòàâèòåëè ñåìåéñòâà. Ïî ñâîåìó õàðàêòåðó äàííàÿ èí- æåíåðèÿ ïðèáëèæåíà ê êîíâåéåðíîìó ïðîèçâîäñòâó ïðîäóêòîâ èç ãîòîâûõ ðåñóð- ñîâ. Óïðàâëåíèå ýòîé èíæåíåðèåé ñîñòîèò â ïëàíèðîâàíèè è ðàñïðåäåëåíèè ðàáîò äëÿ êàæäîãî ó÷àñòíèêà ïðîöåññà ñîçäàíèÿ äîìåíà è êîíòðîëÿ èõ âûïîëíåíèÿ. Òåõíîëîãè÷åñêèå ïðèåìû ïðîèçâîäñòâà ïðîãðàììíûõ ïðîäóêòîâ èç ãîòîâûõ êîìïîíåíòîâ è ïðîãðàììíûõ ñèñòåì âîïëîùåíû â òàê íàçûâàåìûå ëèíåéêè ïðî- äóêòîâ, êîòîðûå ñîîòâåòñòâóþò êîíâåéåðíîìó ïðîèçâîäñòâó ÏÏ íà îñíîâå ñïðîñà ðûíêà. Ïðàêòè÷åñêèå èíñòðóìåíòû ïðîèçâîäñòâà — ÿäðî çíàíèé SWEBOK, PMBOK è ñòàíäàðòû, â êîòîðûõ ïðåäñòàâëåí ðåãëàìåíò îïèñàíèÿ ïðîöåññà èíæåíåðèè äîìå- íîâ (Domain engineering process) êàê íîâîãî ïðîöåññà ÆÖ. Ñîãëàñíî ýòîìó ñòàíäàð- òó ïðîöåññ èíæåíåðèè äîìåíîâ âêëþ÷àåò: àíàëèç äîìåíà (âûÿâëåíèå ñâÿçåé, ïîñòî- ÿííûõ è èçìåíÿåìûõ òðåáîâàíèé, ïîíÿòèé è ìîäåëåé); ïðîåêòèðîâàíèå äîìåíà (Domain design) — êàðêàñà äëÿ ÏÈÊ, àêòèâîâ (asset) è èíòåðôåéñîâ, ñîãëàñîâàííûõ ñ ìîäåëüþ äîìåíà; òåõíîëîãèþ äîìåíà ñ ïîäïðîöåññàìè ôîðìèðîâàíèÿ ðåñóðñîâ (asset provision), ðàçðàáîòêîé áàçû ðåñóðñîâ (asset-based development) è èõ ñîïðî- âîæäåíèÿ.  ðåçóëüòàòå ïðèìåíåíèÿ òåõíîëîãèè èíæåíåðèè äîìåíà â ñîôòâåðíîé îðãàíèçàöèè áóäåò ñîçäàâàòüñÿ àðõèòåêòóðíûé áàçèñ ïðîèçâîäñòâà ÏÏ èç ìíîãîðà- çîâûõ ÏÈÊ ðåïîçèòàðèÿ è ÿçûêîâ ñïåöèôèêàöèè äîìåíîâ. Òàêèì îáðàçîì, íàóêà è èíæåíåðèÿ, SWEBOK, ÑÒÀÍÄÀÐÒÛ, PMBOK, êàê ãëàâíûå ñîñòàâíûå ýëåìåíòû ïðîãðàììíîé èíæåíåðèè, ñâÿçàíû ìåæäó ñîáîé ïðî- öåññàìè ÆÖ, ìåòîäàìè ïðîåêòèðîâàíèÿ è óïðàâëåíèÿ ðàçðàáîòêîé ïðîåêòà. Ñèìâî- ëè÷åñêè ýòà âçàèìîñâÿçü ïðåäñòàâëåíà íà ðèñ. 7. Ðàññìîòðåííûå áàçîâûå òåîðèè è ñîñòàâíûå ýëåìåíòû ÏÈ îðèåíòèðîâàíû íà ðàçðàáîòêó ïðè- êëàäíûõ ñèñòåì ðàçíîãî íàçíà÷åíèÿ. Ïðè èõ ðàçðà- áîòêå íåîáõîäèìû èíñòðóìåíòàëüíî-òåõíîëîãè÷- íûå ñèñòåìû è ñðåäû ñ íàáîðîì íåîáõîäèìûõ èíñòðóìåíòîâ. Ïðèìåð òàêîé ñðåäû è ðåàëèçàöèè â íåé èíæåíåðíîãî ïîäõîäà ê ïðîåêòèðîâàíèþ — ñèñòåìà Visual Studio Teams Systems ôèðìû Microsoft.  íåé ðåàëèçîâàíà òåõíîëîãèÿ ïðîåêòè- ðîâàíèÿ, êîäèðîâàíèÿ, òåñòèðîâàíèÿ è âíåäðåíèÿ ïðîãðàììíûõ ïðîäóêòîâ.  ýòîé ñðåäå îïðåäåëåíà òåõíîëîãèÿ ïîäáîðà, ðàñïðåäåëåíèÿ è âûïîëíåíèÿ ðàáîò ìåæäó ðàçíûìè ãðóïïàìè ñïåöèàëèñòîâ, èìåþùèìè ðàçíûå óðîâíè çíàíèé è íàâûêîâ â îáëàñòè ïðîãðàììèðîâàíèÿ. Îíè ðàçäåëå- íû íà ÷åòûðå êàòåãîðèè ñïåöèàëèñòîâ, â êîòîðîé êàæäûé ïîëó÷àåò ðàáîòó ïî ñâîèì ñïîñîáíîñòÿì. Ïåðåõîä â áîëåå êâàëèôèöèðîâàííóþ ãðóïïó çàâèñèò îò êà÷åñòâà âûïîëíåííûõ ðàáîò ïðåäûäóùåé çàäà÷è è îò ïîëó÷åííîãî îïûòà. ×åòâåðòàÿ ãðóï- ïà — ýòî ñïåöèàëèñòû âûñîêîé êâàëèôèêàöèè, îíè îòâå÷àþò çà ïðàâèëüíîñòü ðàç- ðàáîòêè ïðîåêòà â äàííîé ñðåäå. ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3 27 ÑòàíäàðòûP M B O K SWEBOK Èíæåíåðèÿ Í à ó ê à Ðèñ. 7. Ñîñòàâíûå ýëåìåíòû ÏÈ ÇÀÊËÞ×ÅÍÈÅ Â íàñòîÿùåé ðàáîòå ïðåäñòàâëåí ñèñòåìíûé àíàëèç ÏÈ â íàó÷íîì, èíæåíåðíîì è ïðàêòè÷åñêîì èçìåðåíèè. Äàíî åå îáùåå òîëêîâàíèå, ïðèâåäåíû àðãóìåíòû è îïðåäåëåíèÿ êàê îáúåêòîâ, òàê è ñàìîé äåôèíèöèè. Ïðîâåäåíà åå ñòðóêòóðèçàöèÿ â âèäå íàó÷íîé, èíæåíåðíîé è ïðàêòè÷åñêîé äèñöèïëèí, ñôîðìóëèðîâàíû ñîäåð- æàíèå è èõ íàçíà÷åíèå. Ïðåäëîæåí èíæåíåðíûé è ïðàêòè÷åñêèé àñïåêòû ïî- ñòðîåíèÿ öåëåâûõ ïðîãðàììíûõ îáúåêòîâ (ïðîãðàììíîãî îáåñïå÷åíèÿ, ïðèëîæå- íèé è äîìåíîâ) èç ãîòîâûõ ÏÈÊ. Ïîêàçàíà ðîëü áàçîâîãî ïðîöåññà ÏÈ, êàê ïðî- öåññíîé îñíîâû ðàçðàáîòêè êîìïüþòåðíûõ ïðîãðàìì ñ èñïîëüçîâàíèåì ÿäðà çíàíèé, ñòàíäàðòîâ ÆÖ, èíôðàñòðóêòóðû è ìåíåäæìåíòà â îðãàíèçàöèè–ðàçðà- áîò÷èêå. Ðàññìîòðåííûé ïîäõîä ê îïðåäåëåíèþ ÏÈ îáñóæäàëñÿ, äèñêóòèðîâàëñÿ è óòî÷íÿëñÿ â îòäåëå Èíñòèòóòà ïðîãðàììíûõ ñèñòåì, íà Âñåóêðàèíñêîé êîíôåðåí- öèè ïðåïîäàâàòåëåé è ñòóäåíòîâ «Ïðîãðàììíàÿ èíæåíåðèÿ — íàïðàâëåíèÿ îáó÷å- íèÿ», ïðîâåäåííîé Íàöèîíàëüíûì àâèàöèîííûì óíèâåðñèòåòîì (3–5 äåêàáðÿ 2007 ã.), íà ñåìèíàðå ïðåïîäàâàòåëåé è ñòóäåíòîâ (6 äåêàáðÿ 2007 ã.), ÷òåíèè êóðñà ëåê- öèé ñòóäåíòàì íà ôàêóëüòåòå êèáåðíåòèêè Êèåâñêîãî íàöèîíàëüíîãî óíèâåðñèòåòà èìåíè Òàðàñà Øåâ÷åíêî è â ôèëèàëå ÌÔÒÈ ïðè Èíñòèòóòå êèáåðíåòèêè èìåíè Ãëóøêîâà ÍÀÍ Óêðàèíû. Àâòîð âûðàæàåò áëàãîäàðíîñòü âñåì, êòî ïðèíÿë ó÷àñòèå â îáñóæäåíèè ïðåäìåòà ÏÈ. ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ 1. J a c o b s o n I . Object-oriented Software Engineering. A use case Driven Approach, Revised Printing. — New York: Addison Wesley, Publ. Co, 1994. — 529 ð. 2. À í ä î í Ô . È . , Ë à â ð è ù å â à Å . Ì . Ìåòîäû èíæåíåðèè ðàñïðåäåëåííûõ êîìïüþòåðíûõ ïðèëîæåíèé. — Êèåâ.: Íàóê. äóìêà, 1998. — 228 ñ. 3. Á à á å í ê î Ë . Ï . , Ë à â ð ³ ù å â à Ê . Ì . Îñíîâè ïðîãðàìíî¿ ³íæåíåð³¿. — Êè¿â: Çíàííÿ, 2001. — 269 ñ. 4. Ñ î ì å ð â è ë ë È . Èíæåíåðèÿ ïðîãðàììíîãî îáåñïå÷åíèÿ. — Ì.; Ñàíêò–Ïåòåðáóðã; Êèåâ: Èçä. äîì «Âèëüÿìñ», 2002. — 623 ñ. 5. à ð è ù å í ê î  . Í . , Ë à â ð è ù å â à Å . Ì . Ìåòîäû è ñðåäñòâà êîìïîíåíòíîãî ïðîãðàìóâàííÿ // Êèáåðíåòèêà è ñèñòåìíûé àíàëèç. — 2003. — ¹ 1. — Ñ. 39–55. 6. Ë à â ð è ù å â à Å . Ì . Ìåòîäû ïðîãðàììèðîâàíèÿ. Òåîðèÿ, èíæåíåðèÿ, ïðàêòèêà. — Êèåâ: Íàóê. äóìêà, 2006. — 450 ñ. 7. Î ñ í î â û èíæåíåðèè êà÷åñòâà ïðîãðàììíûõ ñèñòåì / Ô.È. Àíäîí, Ã.È. Êîâàëü, Ò.Ì. Êîðîòóí, Å.Ì. Ëàâðèùåâà, Â.Þ. Ñóñëîâ: 2-å èçä. — Êèåâ: Àêàäåìïåðèîäèêà, 2007. — 672 ñ. 8. Ë à â ð è ù å â à Å . Ì . , Ê î â à ë ü à . È . , Ê î ð î ò ó í Ò Ì . Ïîäõîä ê óïðàâëåíèþ êà÷åñòâîì ïðîãðàììíûõ ñèñòåì îáðàáîòêè äàííûõ // Êèáåðíåòèêà è ñèñòåìíûé àíàëèç. — 2006. — ¹ 5. — Ñ. 174–185. 9. Ç à ä î ð î æ í à Í . Ò . , Ë à â ð ³ ù å â à Ê . Ì . Ìåíåäæìåíò äîêóìåíòîîá³ãó â ³íôîðìàö³éíèõ ñèñòå- ìàõ îñâ³òè. — Êè¿â: Ïåä. äóìêà, 2007. — 220 ñ. Ïîñòóïèëà 15.02.2007 28 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2008, ¹ 3