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

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

Full description

Saved in:
Bibliographic Details
Published in:Кибернетика и системный анализ
Date:2008
Main Author: Лаврищева, Е.М.
Format: Article
Language:Russian
Published: Інститут кібернетики ім. В.М. Глушкова НАН України 2008
Subjects:
Online Access:https://nasplib.isofts.kiev.ua/handle/123456789/72060
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Cite this:Программная инженерия — научная и инженерная дисциплина / Е.М. Лаврищева // Кибернетика и системный анализ. — 2008. — № 3. — С. 19-28. — Бібліогр.: 9 назв. — рос.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1859990844663136256
author Лаврищева, Е.М.
author_facet Лаврищева, Е.М.
citation_txt Программная инженерия — научная и инженерная дисциплина / Е.М. Лаврищева // Кибернетика и системный анализ. — 2008. — № 3. — С. 19-28. — Бібліогр.: 9 назв. — рос.
collection DSpace DC
container_title Кибернетика и системный анализ
description Термин программная инженерия впервые произнесен на научной конференции НАТО в 1968 г. С тех пор на протяжении 40 лет понятие постепенно менялось и развивалось в среде программирование. Программирование вначале считалось искусством одиночек, потом техникой и наукой, а теперь оно переходит к инженерной деятельности, приближающей процесс разработки к конвейерному производству по принципу сборки из готовых "деталей".
first_indexed 2025-12-07T16:31:45Z
format Article
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
id nasplib_isofts_kiev_ua-123456789-72060
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
language Russian
last_indexed 2025-12-07T16:31:45Z
publishDate 2008
publisher Інститут кібернетики ім. В.М. Глушкова НАН України
record_format dspace
spelling Лаврищева, Е.М.
2014-12-16T19:16:33Z
2014-12-16T19:16:33Z
2008
Программная инженерия — научная и инженерная дисциплина / Е.М. Лаврищева // Кибернетика и системный анализ. — 2008. — № 3. — С. 19-28. — Бібліогр.: 9 назв. — рос.
https://nasplib.isofts.kiev.ua/handle/123456789/72060
681.3.06
Термин программная инженерия впервые произнесен на научной конференции НАТО в 1968 г. С тех пор на протяжении 40 лет понятие постепенно менялось и развивалось в среде программирование. Программирование вначале считалось искусством одиночек, потом техникой и наукой, а теперь оно переходит к инженерной деятельности, приближающей процесс разработки к конвейерному производству по принципу сборки из готовых "деталей".
ru
Інститут кібернетики ім. В.М. Глушкова НАН України
Кибернетика и системный анализ
Кибернетика
Программная инженерия — научная и инженерная дисциплина
Article
published earlier
spellingShingle Программная инженерия — научная и инженерная дисциплина
Лаврищева, Е.М.
Кибернетика
title Программная инженерия — научная и инженерная дисциплина
title_full Программная инженерия — научная и инженерная дисциплина
title_fullStr Программная инженерия — научная и инженерная дисциплина
title_full_unstemmed Программная инженерия — научная и инженерная дисциплина
title_short Программная инженерия — научная и инженерная дисциплина
title_sort программная инженерия — научная и инженерная дисциплина
topic Кибернетика
topic_facet Кибернетика
url https://nasplib.isofts.kiev.ua/handle/123456789/72060
work_keys_str_mv AT lavriŝevaem programmnaâinženeriânaučnaâiinženernaâdisciplina