Смекни!
smekni.com

CASE-технологии проектирования автоматизированных информационных систем (стр. 2 из 5)

Техническое и организационное обеспечение проекта вклю­чает выбор методов и инструментальных средств для реали­зации проекта, определение методов описания промежуточ­ных состояний разработки, разработку методов и средств ис­пытаний ПО, обучение персонала и т. п. Обеспечение каче­ства проекта связано с проблемами верификации, проверки и тестирования ПО. Верификация — это процесс определе­ния того, отвечает ли текущее состояние разработки, дос­тигнутое на данном этапе, требованиям этого этапа. Провер­ка позволяет оценить соответствие параметров разработки с исходными требованиями. Проверка частично совпадает с те­стированием, которое связано с идентификацией различий между действительными и ожидаемыми результатами и оцен­кой соответствия характеристик ПО исходным требованиям. В процессе реализации проекта важное место занимают воп­росы идентификации, описания и контроля конфигурации отдельных компонентов и всей системы в целом.

Управление конфигурацией является одним из вспомо­гательных процессов, поддерживающих основные процессы жизненного цикла ПО, прежде всего процессы разработки и сопровождения ПО. При создании проектов сложных ИС, со­стоящих из многих компонентов, каждый из которых может иметь разновидности или версии, возникает проблема учета их связей и функций, создания унифицированной структуры и обеспечения развития всей системы. Управление конфигу­рацией позволяет организовывать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ. Общие принципы и рекомендации конфигурационного учета, планирования и управления конфигурациями ПО от­ражены в проекте стандарта ISO 12207-2.

Каждый процесс характеризуется определенными зада­чами и методами их решения, исходными данными, получен­ными на предыдущем этапе, результатами. Результатами ана­лиза, в частности, являются функциональные модели, ин­формационные модели и соответствующие им диаграммы. ЖЦ ПО носит итерационный характер: результаты очередного этапа часто вызывают изменения в проектных решениях, выработанных на более ранних этапах.

Существующие модели ЖЦ определяют порядок испол­нения этапов в ходе разработки, а также критерии перехода от этапа к этапу. В соответствии с этим наибольшее распрос­транение получили три следующие модели ЖЦ:

♦ каскадная модель (1970—1980 гг.) — предлагает пере­ход на следующий этап после полного окончания работ по предыдущему этапу;

♦ поэтапная модель с промежуточным контролем (1980—1985 гг.) — итерационная модель разработки ПО с циклами обратной связи между этапами. Преимуще­ство такой модели заключается в том, что межэтап­ные корректировки обеспечивают меньшую трудоем­кость по сравнению с каскадной моделью, однако вре­мя жизни каждого из этапов растягивается на весь пе­риод разработки;

♦ спиральная модель (1986—1990 гг.) — делает упор на начальные этапы ЖЦ: анализ требований, проектиро­вание спецификаций, предварительное и детальное про­ектирование. На этих этапах проверяется и обосновыва­ется реализуемость технических решений путем созда­ния прототипов. Каждый виток спирали соответствует поэтапной модели создания фрагмента или версии про­граммного изделия, на нем уточняются цели и характе­ристики проекта, определяется его качество, планиру­ются работы следующего витка спирали. Таким обра­зом, углубляются и последовательно конкретизируют­ся детали проекта и в результате выбирается обосно­ванный вариант, который доводится до реализации.

Специалистами отмечаются следующие преимущества спиральной модели:

♦ накопление и повторное использование программных средств, моделей и прототипов;

♦ ориентация на развитие и модификацию ПО в процес­се его проектирования;

♦ анализ риска и издержек в процессе проектирования.

Главная особенность индустрии создания ПО состоит в концентрации сложности на начальных этапах ЖЦ (анализ, проектирование) при относительно невысокой сложности и трудоемкости последующих этапов. Более того, нерешенные вопросы и ошибки, допущенные на этапах анализа и проек­тирования, порождают на последующих этапах трудные, ча­сто неразрешимые проблемы и, в конечном счете, приводят к неуспеху всего проекта.

2. RAD-технологии прототипного создания приложений

Одним из возможных подходов к разработке ПО в рам­ках спиральной модели ЖЦ является получившая в после­днее время широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development). Под этим термином обычно понимается процесс разработки ПО, содержащий три элемента:

♦ небольшую команду программистов (от 2 до 10 чело­век);

♦ короткий, но тщательно проработанный производствен­ный график (от 2 до б мес);

♦ повторяющийся цикл, при котором разработчики, по мере того, как приложение начинает обретать форму, запрашивают и реализуют в продукте требования, по­лученные через взаимодействия с заказчиком.

Команда разработчиков должна представлять собой группу профессионалов, имеющих опыт в анализе, проектировании, генерации кода и тестировании ПО с использованием CASE-средств. Члены коллектива должны также иметь трансфор­мировать в рабочие прототипы предложения конечных пользо­вателей.

Жизненный цикл ПО по методологии RAD состоит из четырех фаз:

♦ фазы анализа и планирования требований;

♦ фазы проектирования;

♦ фазы построения;

♦ фазы внедрения.

На фазе анализа и планирования требований пользова­тели системы определяют функции, которые она должна выполнять, выделяют наиболее приоритетные из них, тре­бующие проработки в первую очередь, описывают информа­ционные потребности. Определение требований выполняется в основном силами пользователей под руководством специа­листов-разработчиков. Ограничивается масштаб проекта, оп­ределяются временные рамки для каждой из последующих фаз. Кроме того, определяется сама возможность реализации данного проекта в установленных рамках финансирования, на данных аппаратных средствах и т. п. Результатом данной фазы должны быть список и приоритетность функций буду­щей АИС, предварительные функциональные и информаци­онные модели ИС.

На фазе проектирования часть пользователей принимает участие в техническом проектировании системы под руко­водством специалистов-разработчиков. CASE-средства исполь­зуются для быстрого получения работающих прототипов при­ложений. Пользователи, непосредственно взаимодействуя с ними, уточняют и дополняют требования к системе, которые не были выявлены на предыдущей фазе. Более подробно рас­сматриваются процессы системы. Анализируется и при необ­ходимости корректируется функциональная модель. Каждый процесс рассматривается детально. При необходимости для каждого элементарного процесса создается частичный про­тотип: экран, диалог, отчет, устраняющий неясности или неоднозначности. Определяются требования разграничения доступа к данным. На этой же фазе происходит определение набора необходимой документации.

После детального определения состава процессов оцени­вается количество функциональных элементов разрабатыва­емой системы и принимается решение о разделении АИС на подсистемы, поддающиеся реализации одной командой раз­работчиков за приемлемое для RAD-проектов время — примерно 60—90 дней. С использованием CASE-средств проект распределяется между различными командами (делится фун­кциональная модель). Результатом данной фазы должны быть:

♦ общая информационная модель системы;

♦ функциональные модели системы в целом и подсис­тем, реализуемых отдельными командами разработчи­ков;

♦ точно определенные с помощью CASE-средства интер­фейсы между автономно разрабатываемыми подсисте­мами;

♦ построенные прототипы экранов, отчетов, диалогов.

Все модели и прототипы должны быть получены с при­менением тех CASE-средств, которые будут использоваться в дальнейшем при построении системы. Данное требование вызвано тем, что в традиционном подходе при передаче ин­формации о проекте с этапа на этап может произойти фак­тически неконтролируемое искажение данных. Применение единой среды хранения информации о проекте позволяет избежать этой опасности.

В отличие от традиционного подхода, при котором ис­пользовались специфические средства прототипирования, не предназначенные для построения реальных приложений, а прототипы выбрасывались после того, как выполняли задачу устранения неясностей в проекте, в подходе RAD каждый прототип развивается в часть будущей системы. Таким обра­зом, на следующую фазу передается более полная и полез­ная информация.

На фазе построения выполняется непосредственно сама быстрая разработка приложения. На данной фазе разработ­чики производят итеративное построение реальной системы на основе полученных в предыдущей фазе моделей, а также требований нефункционального характера. Программный код частично формируется при помощи автоматических генера­торов, получающих информацию непосредственно из репо-зитория CASE-средств. Конечные пользователи на этой фазе оценивают получаемые результаты и вносят коррективы, если в процессе разработки система перестает удовлетворять оп­ределенным ранее требованиям. Тестирование системы осу­ществляется непосредственно в процессе разработки.

После окончания работ каждой отдельной команды раз­работчиков производится постепенная интеграция данной ча­сти системы с остальными, формируется полный программ­ный код, выполняется тестирование совместной работы дан­ной части приложения с остальными, а затем тестирование системы в целом. Завершается физическое проектирование системы:

♦ определяется необходимость распределения данных;

♦ производится анализ использования данных;