CASE-технологии
На данный момент в технологии разработки программного обеспечения существуют два основных подхода к разработке информационных систем, отличающиеся критериями декомпозиции: функционально-модульный (структурный) и объектно-ориентированный.
Функционально-модульный подход основан на принципе алгоритмической декомпозиции с выделением функциональных элементов и установлением строгого порядка выполняемых действии. Главным недостатком функционально-модульного подхода является однонаправленность информационных потоков, недостаточная обратная связь. В случае изменения требовании к системе это приводит к полному перепроектированию, поэтому ошибки, заложенные на ранних этапах, сильно сказываются на продолжительности и стоимости разработки. Другой важной проблемой является неоднородность информационных ресурсов, используемых в большинстве информационных систем. В силу этих причин в настоящее время наибольшее распространение получил объектно-ориентированный подход.
Объектно-ориентированныйподход основан на объектной декомпозиции с описанием поведения системы в терминах в действия объектов.
Под САSЕ-технологиейпонимается комплекс программных средств, поддерживающих процессы создания и сопровождения программного обеспечения, включая анализ и формулировку требований, проектирование, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом (САSЕ-средство может обеспечивать поддержку только в заданных функциональных областях или в широком диапазоне функциональных областей) [7].
В связи с наличием двух подходов к проектированию программного обеспечения существуют САSE-технологии ориентированные на структурный подход, объектно-ориентированный подход, а также комбинированные. Однако сейчас наблюдается тенденция переориентации инструментальных средств, созданных для структурных методов разработки, на объектно-ориентированные методы, что объясняется следующими причинами:
· возможностью сборки программной системы из готовых компонентов, которые можно использовать повторно;
· возможностью накопления проектных решений в виде библиотек классов на основе механизмов наследования;
· простотой внесения изменений в проекты за счет инкапсуляции данных в объектах;
· быстрой адаптацией приложений к изменяющимся условиям за счет использования свойств наследования и полиморфизма;
· возможностью организации параллельной работы аналитиков, проектировщиков и программистов.
Идеальное объектно-ориентированное САSЕ-средство должно содержать четыре основных блока: анализ, проектирование, разработка и инфраструктура [8].
Основные требования к блоку анализа:
· возможность выбора выводимой на экран информации из всей совокупности данных, описывающих модели;
· согласованность диаграмм при хранении их в репозитарии;
· внесение комментариев в диаграммы и соответствующую документацию для фиксации проектных решений;
· возможность динамического моделирования в терминах событий;
· поддержка нескольких нотаций (хотя бы три нотации - Г.Буча, И.Джекобсона и ОМТ).
Основные требования к блоку проектирования:
· поддержка всего процесса проектирования приложения;
· возможность работы с библиотеками, средствами поиска и выбора;
· возможность разработки пользовательского интерфейса;
· поддержка стандартов ОLE, ActiveX и доступ к библиотекам HTML или Java;
· поддержка разработки распределенных или двух- и трехзвенных клиент-серверных систем (работа с CORBA, DCOM, Internet).
Основные требования к блоку реализации:
· генерация кода полностью из диаграмм;
· возможность доработки приложений в клиент-серверных САSЕ-средствах типа Power Builder;
· реинжиниринг кодов и внесение соответствующих изменений в модель системы;
· наличие средств контроля, которые позволяют выявлять не соответствие между диаграммами и генерируемыми кодами и обнаруживать ошибки как на стадии проектирования, так и на стадии реализации.
Основные требования к блоку инфраструктуры:
· наличие репозитория на основе базы данных, отвечающего за генерацию кода, реинжиниринг, отображение кода на диаграммах, а также обеспечивающего соответствие между моделями и программными кодами;
· обеспечение командной работы (многопользовательской работы и управление версиями) и реинжиниринга.
Сравнительный анализ САSЕ-систем показывает, что на сегодняшний день одним из наиболее приближенных к идеальному варианту САSЕ-средств является семейство Rational Rose фирмы Ration Software Corporation. Следует отметить, что именно здесь работают авторы унифицированного языка моделирования Г. Буч, Д. Рамбо и И. Джекобсон, под руководством которых ведется разработка нового САSЕ-средства, поддерживающегоUML.
Выделим основные критерии оценки и выбора САSЕ-средств.
1. Функциональные характеристики:
o среда функционирования: проектная среда, программное обеспечение/технические средства, технологическая среда;
o функции, ориентированные на фазы жизненного цикла: моделирование, реализация, тестирование;
o общие функции: документирование, управление конфигурацией, управление проектом;
2. Надежность;
3. Простота использования;
4. Эффективность;
5. Сопровождаемость;
6. Переносимость;
7. Общие критерии (стоимость, затраты, эффект внедрения, характеристики поставщика).