12.2. Автоматизациячрез интегрирани среди Полезността на индивидуалните средства за АСП е безспорна, но интегри-
рането им за съвместно използване би улеснило:
предаването на информация между тях;
ефективното изпълнение на глобални дейности, като документиране,
осигуряване на качеството и управление на софтуерните конфигурации;
— реализацията на потребителски сценарии за решаване на конкретен проблем.
Естествено развитие на идеята за' автоматизация с индивидуални средства
е използването на групи от средства, които са проектирани да работят съвмес-
тно. Един от приносите на операционната система UNIX към разработването
на софтуера е предоставянето на т. нар. PWB (Programmer's workbench), при
който интеграцията се осъществява чрез общи формати на файловете, възмож-
ности за управление на версиите (SCCS) и за изграждане на софтуерна система
чрез описание на съставящите я части (MAKE). Идеята за разрастващо се изг-
раждане на средства чрез "навързване" на по-малки средства е изключително
полезна. По-нататък развитието е през средите за програмиране на Ада, докато
се достигне до сегашната обща теория за изграждане на интегрирани среди.
В [2] са формулирани следните изисквания към интегрираните среди за
АСП:
да осигуряват механизъм за общо използване на информацията от всич-
ки средства в средата;
да допускат директно извикване на всяко средство;
да поддържат решаването на всяка конкретна задача при реализацията
на софтуерния проект чрез подходящо съчетаване на средства;
да улесняват комуникациите между всички участници в процеса на съз-
даване на софтуер;
да натрупват статистическа информация, която да се използва за подоб-
ряване качеството на процеса и продукта.
В зависимост от начина на свързване на група от автоматизиращи средства
в единна среда интеграцията може да бъде:
а) еклектична интеграция — съществуващи индивидуални средства се обе-
диняват в система чрез създаване на програма—монитор, извикваща всяко от
средствата;
б) интеграция чрез данните — използване на общ модел на данните. Този
вид интеграция може да бъде с различно ниво на сложност — обмен на данни
155
между две средства чрез програма — конвертор, използване на обща съвкуп-
ност от прости символни файлове или чрез система за управление на обекти;
в) интеграция чрез потребителския интерфейс. В този случай средствата в
системата използват общ стил и съвкупност от общи стандарти за връзка с пот-
ребителя;
г) интеграция чрез дейностите, които се поддържат.
Този тип интеграция се основава на модел на процеса, който определя ос-
новните извършвани дейности, резултатите от тях, потока на данни и потока на
управление. Известно е и кои средства в интегрираната среда кои основни дей-
ности поддържат.
12.2.1. Видове интегрирани среди Всяка интегрирана среда обединява в едно положение няколко софтуерни
средства, поддържащи специфични дейности в процеса на създаване на софту-
ер. Чрез интеграцията се постига:
хомогенен и логически последователен потребителски интерфейс;
лесно извикване на всяко средство и на верига от средства;
начин.
Удобствата за работа, предоставяни от някои среди за АСП, могат да доп-
ринесат за въвеждане в софтуерната организация на нови методи и техники.
В зависимост от предназначението си интегрираните среди могат да бъдат за:
а) планиране и моделиране на бизнесинформационни системи. Този клас
включва продукти, подпомагащи идентифицирането и описанието на сложни
бизнесдейности. Те се използват за построяване на обобщени модели на предп-
риятие, за да се оценят общите изисквания и информационни потоци и да се
определят приоритетите в разработването на информационните системи. Сред-
ствата, интегрирани в такива продукти, включват графични редактори (за съз-
даване на диаграми и структурни схеми), генератори на отчети и генератори на
справки за срещането на отделни елементи.
б) анализ и проектиране.
Съвременните средства автоматизират най-често използваните подходи за
анализ и проектиране — структурния, обектно ориентирания и подхода на Джак-
сън. Те обикновено включват един или повече редактора за създаване и моди-
фициране на спецификации и други средства за анализирането, симулирането
и трансформирането им. Например Excelerator има редактори за създаване на
диаграми на потока на данните, на блок-схеми и на диаграми същност—връзка.
Той включва още редактор и симулатор за създаване и тестване на макети на
системните входове и изходи (форми и отчети), както и генератор на код, който
създава първичен код на Кобол на основата на блок-схемите.
Възможностите на средствата от този клас зависят от:
—: нивото на формализираност на използваната нотация. Ако тя е неформал-
на (структуриран английски или друго свободно текстово описание), то се осигу-
рява само редактиране и съставяне на документ. Ако нотацията е полуформална
(без точна семантика, но да е възможно да се проверява синтаксисът) или с фор-
мално определени синтаксис и семантика (крайни автомати или мрежи на Петри);
156
— от вида на приложението — дали преобладава обработката на данните,
както е в банковите и счетоводни системи, или управленските функции;
в) създаване на потребителски интерфейс
Смята се, че потребителският интерфейс е определящ за пазарната реали-
зация и използване на всяка софтуерна система. Затова са създадени интегри-
рани среди, които позволяват на разработчика да създава и да тества лесно ком-
понентите на потребителския интерфейс и да ги свърже с приложната програ-
ма. Те включват:
графични редактори за създаване на прозорци, диалогови кутии, икони и
ДР-;
симулатори за тестване на създадените компоненти преди интегриране-
то им с приложението;
генератори на първичен текст;
— библиотеки за поддържане на генерирането на изпълним код.
r) програмиране
Те включват текстов редактор за създаване и променяне на текста на прог-.
рамите, компилатор, свързващ редактор и дебъгер. Характеризират се с:
— удобен потребителски интерфейс;
— управление на създаваната по време на сесия информация — файлове с
първичен текст, междинни, обектни и изпълними файлове. За ускоряване на
съставянето и тестването на програмата се съчетават компилатор с интерпрета-
тор и свързване с отчитане на направените промени. Примери за такива среди
са Turbo C++, Turbo Pascal, Microsoft C++ Developer Studio.
д) верификация и валидация
Такива среди подпомагат модулното и системно тестване и обикновено
включват:
статичен анализатор за създаване на управляващ граф на програма и
граф на извикванията;
средство за инструментиране на програмата и за проследяване (траси-
ране на изпълнението) при динамичен анализ;
генератор на тестови данни;
управляваща програма — средство за реализация на тестването, което
създава, съхранява и поддържа тестови данни, сценарии, резултати и докумен-
тация.
е) съпровождане
Средата за съпровождане управлява внасянето на промени, създаването и
контрола на версии и за управление на софтуерните конфигурации.
ж) управление на проекти
Подпомагат се планирането, съставянето на графици и текущото следене
на изпълнението на проекти.