- •Геоинформационные технологии
- •Мультимедиа-технологии и технологии искусственного интеллекта
- •Экспертные системы
- •Технологии защиты информации
- •Безопасность сетевого взаимодействия при активных атаках
- •Case-технологии
- •Технология внедрения case-средств
- •Планирование пилотного проекта
- •Выполнение пилотного проекта
- •Принятие решения о внедрении
- •Переход к практическому использованию case-средств
- •Системный подход к современным ит
- •Стадии разработки информационных систем
Case-технологии
CASE-технологии - комплекс программных средств, поддерживающих процессы создания и сопровождения программного обеспечения, включая анализ и формулировку требований проектирования, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом. Причем, CASE-средство может обеспечивать поддержку только в заданных функциональных областях или в широком диапазоне функциональных областей.
На рисунке №3 представлена схема архитектуры CASE-средства.
Рисунок №3
Ядром системы является база данных проекта ─ репозиторий (словарь данных).Он представляет собой специализированную базу данных, предназначенную для отображения состояния проектируемой ЭИС в каждый момент времени. Объекты всех диаграмм синхронизированы на основе общей информации словаря данных.
Репозиторий содержит информацию об объектах проектируемой ЭИС и взаимосвязях между ними, все подсистемы обмениваются данными с ним. В репозитории хранятся описания следующих объектов:
Описание проектировщиков и их прав доступа к различным компонентам систем.
Описание организационных структур, диаграмм, компонентов диаграмм, связей между диаграммами.
Описание структур данных, программных модулей, процедур, библиотек модулей и т.д.
Графические средства моделирования предметной области позволяют разработчикам автоматизированных ИС в наглядном виде изучать существующую информационную систему, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями. Все модификации диаграмм, выполняемых разработчиками в интерактивном (диалоговом) режиме, вводятся в словарь данных, контролируются с общесистемной точки зрения и могут использоваться для дальнейшей генерации действующих функциональных приложений. В любой момент времени диаграммы могут быть распечатаны для включения в техническую документацию проекта.
Графический редактор диаграмм предназначен для отображения в графическом виде в заданной нотации проектируемой ЭИС. Он позволяет выполнять следующие операции:
создавать элементы диаграмм и взаимосвязи между ними;
задавать описания элементов диаграмм;
задавать описания связей между элементами диаграмм;
редактировать элементы диаграмм, их взаимосвязи и описания.
Верификатор диаграмм служит для контроля правильности построения диаграмм в заданной методологии проектирования ЭИС. Он выполняет следующие функции:
мониторинг правильности построения диаграмм;
диагностику и выдачу сообщений об ошибках;
выделение на диаграмме ошибочных элементов.
Документатор проекта позволяет получать информацию о состоянии проекта в виде различных отчетов. Отчеты могут строиться по нескольким признакам, например по времени, автору, элементам диаграмм, диаграмме или проекту в целом.
Администратор проекта представляет собой инструменты, необходимые для выполнения следующих административных функций:
инициализации проекта;
задания начальных параметров проекта;
назначения и изменения прав доступа к элементам проекта;
мониторинга выполнения проекта.
Сервис представляет собой набор системных утилит по обслуживанию репозитория. Данные утилиты выполняют функции архивации данных, восстановления данных и создания нового репозитория.
Основные преимущества CASE-технологии по сравнению с традиционной технологией оригинального проектирования сводятся к следующему:
улучшение качества разрабатываемого программного приложения за счет средств автоматического контроля и генерации;
возможность повторного использования компонентов разработки;
поддержание адаптивности и сопровождения ИС;
снижение времени создания системы, что позволяет на ранних стадиях проектирования получить прототип будущей системы и оценить его;
освобождение разработчиков от рутинной работы по документированию проекта, так как при этом используется встроенный документатор;
возможность коллективной разработки ИС в режиме реального времени.
Таким образом, CASE - технология в рамках методологии включает в себя методы, с помощью которых на основе графической нотации строятся диаграммы, поддерживаемые инструментальной средой.
Методология определяет шаги и этапность реализации проекта, а также правила использования методов, с помощью которых разрабатывается проект.
Метод - это процедура или техника генерации описаний компонентов ИС (например, проектирование потоков и структур данных).
Нотация - отображение структуры системы, элементов данных, этапов обработки с помощью специальных графических символов диаграмм, а также описание проекта системы на формальных и естественных языках.
Инструментальные средства CASE - специальные программы, которые поддерживают одну или несколько методологии анализа и проектирования ИС.
Современные CASE-системы классифицируются по следующим признакам:
по поддерживаемым методологиям проектирования: функционально (структурно) - ориентированные, объектно-ориентированные и комплексно-ориентированные (набор методологий проектирования);
по поддерживаемым графическим нотациям построения диаграмм: с фиксированной нотацией, с отдельными нотациями и наиболее распространенными нотациями;
по степени интегрированности: tools (отдельные локальные средства), toolkit (набор неинтегрированных средств, охватывающих большинство этапов разработки ИС) и workbench (полностью интегрированные средства, связанные общей базой проектных данных - репозиторием);
по типу и архитектуре вычислительной техники: ориентированные на ПЭВМ, ориентированные на локальную вычислительную сеть (ЛВС), ориентированные на глобальную вычислительную сеть (ГВС) и смешанного типа;
по режиму коллективной разработки проекта: не поддерживающие коллективную разработку, ориентированные на режим реального времени разработки проекта, ориентированные на режим объединения подпроектов;
по типу операционной системы (ОС): работающие под управлением WINDOWS 3.11 и выше; работающие под управлением UNIX и работающие под управлением различных ОС (WINDOWS, UNIX, OS/2 и др.).
В данный момент времени case-технологии разработки ПО в основном используются 2 подхода:
Функционально-модульный или структурный;
Объектно-ориентированный.
Функционально-модульный подход основан на принципе алгоритмической декомпозиции с выделением функциональных элементов со строгим порядков выполнения действий.
ООП - основан на объектной декомпозиции с описанием поведения ИС в терминах взаимодействия объектов.
Недостатки функционально-модульного подхода:
Однонаправленность информационных потоков и недостаточная обратная связь.
В случае изменения требований к системе это приводит к полному переконструированию системы, существенно влияет на время разработки и на ее стоимость.
Неоднородность информационных ресурсов, используемых в большинстве информационных систем.
В настоящее время наблюдается тенденция переориентации инструментальных средств, созданных для структурной разработки на ОО методы. Это объясняется следующими причинами:
Возможность сборки программной системы из готовых компонентов, которые можно использовать неоднократно.
Возможность накопления проектов в виде библиотек определенных классов на основе механизмов наследования.
Простотой внесения изменений в проект за счет инкапсуляции данных в объектах.
Адаптация к изменяющимся условиям за счет использования свойств наследования и полиморфизма.
Возможность организации параллельных работ проектировщиков, аналитиков и программистов.
Рассмотренные выше концепции ОО подходов и распределенных вычислений в первые были созданы и использованы в case-технологиях в консорциуме Object Managment Group (OMG), в состав которых входят около 500 компаний. Основными направлениями действий этого консорциума является разработка стандартов для создания распределенных систем в разнородных средах. Созданная базовая концепция: Object Managment Architecture (OMA), которая состоит из 4х компонентов:
Архитектура брокеров систем CORBA определяет механизм взаимодействия объектов в разнородной сети.
Объектные сервисы (Object Service) являются основными системными сервисами для создания приложений.
Универсальные средства (Common Facilities).
Прикладные объекты (Application Object) предназначены для решения конкретных прикладных задач.
Существует несколько основных методов ООП при case-технологии. В настоящее время наблюдается процесс сближения их между собой. В частности появился унифицированный язык моделирования UML по которому классическая задачи разработки ПО системы представляет собой спиральный цикл итеративного чередования этапов ОО анализа, проектирования и реализации. В реальной практике в большинстве случаев перед проектировщиками всегда возникает возможность ознакомиться с предысторией в виде ранее разработанных и внедренных программ в которой целесообразно использовать при разработке или модернизации ИС, тогда процесс проектирования базируется на реинжиниринге программных кодов, при котором путем анализа текста программ восстанавливается начальная исходная модель программной системы, поэтому к современным case-средствам предъявляется требование инжиниринга и реинжиниринга.
Идеальное объектно-ориентированное САSЕ-средство должно содержать четыре основных блока: анализ, проектирование, разработка и инфраструктура. См. Таблицу 4.
Таблица 4
Анализ
|
Проектирование
|
Реализация
|
||||
Возможность добавлять пояснительные надписи к диаграммам и в документацию |
Возможность создавать различные представления и скрывать ненужные в данный момент слои системы |
Возможность просматривать и выбирать элементы и бизнес-объекты для использования в системе |
Возможность генерировать заготовки программного кода на нескольких объектно-ориентированных языках |
|||
Среда для создания диаграмм разнообразных моделей |
Возможность создания пользовательского интерфейса (поддержка OLE, ActiveX, ОpenDoc, НTML) |
Возможность проверки кода на синтаксическую корректность |
||||
Поддержка различных нотаций |
Возможность динамического моделирования событий в системе |
Возможности определения бизнес-модели и бизнес-правил |
Возможность генерировать код для 4GL и клиент-серверных продуктов (PowerBuider, Forte, VisuaLAge, Visual Works) |
|||
Возможность генерации документации для печати |
Возможность динамической коррекции одной диаграммы из другой |
Возможность связи с объектно-ориентированными базами данных и распределенными модулями (поддержка COBRA, DCOM, HOP, HTML) |
|
|||
Инфраструктура |
||||||
Контроль версий. Блокирование и согласование частей системы при групповой разработке |
Репозиторий |
Возможность реинжиниринга программного кода, 4GL, клиент-серверных систем в диаграммы моделей |
||||
Основные требования к блоку анализа:
возможность выбора выводимой на экран информации из всей совокупности данных, описывающих модели;
согласованность диаграмм при хранении их в репозитарии;
внесение комментариев в диаграммы и соответствующую документацию для фиксации проектных решений;
возможность динамического моделирования в терминах событий;
поддержка нескольких нотаций (хотя бы три нотации - Г.Буча, И.Джекобсона и ОМТ).
Основные требования к блоку проектирования:
поддержка всего процесса проектирования приложения;
возможность работы с библиотеками, средствами поиска и выбора;
возможность разработки пользовательского интерфейса;
поддержка стандартов ОLE, ActiveX и доступ к библиотекам HTML или Java;
поддержка разработки распределенных или двух- и трехзвенных клиент-серверных систем (работа с CORBA, DCOM, Internet).
Основные требования к блоку реализации:
генерация кода полностью из диаграмм;
возможность доработки приложений в клиент-серверных САSЕ-средствах типа Power Builder;
реинжиниринг кодов и внесение соответствующих изменений в модель системы;
наличие средств контроля, которые позволяют выявлять не соответствие между диаграммами и генерируемыми кодами и обнаруживать ошибки как на стадии проектирования, так и на стадии реализации.
Основные требования к блоку инфраструктуры:
наличие репозитория на основе базы данных, отвечающего за генерацию кода, реинжиниринг, отображение кода на диаграммах, а также обеспечивающего соответствие между моделями и программными кодами;
обеспечение командной работы (многопользовательской работы и управление версиями) и реинжиниринга.
В таблице 5 представлен обзор объектно-ориентированных CASE-средств.
Таблица 5
№ п/п |
Продукт, фирма-разработчик
(от указ. ver. и выше) |
Поддерживаемые платформы (от указ. ver. и выше) |
Используемые коды |
Генерация кода |
Описание |
1 |
BridgePoint (ver. 3.2.1), Project Tehnology |
Unix, SIG-Irix |
Шлеер/ Меллор |
C/C++ |
Поддержка полного жизненного цикла в рамках методики «Шлеер/ Меллор», генерация кода |
2 |
Grapical Designer (ver. 2.0), Advanced Software Technologies |
Unix, Windows NT Windows 95 |
ГБуч, ИДжекоб-сон, ОМТ, Шлеер/ Меллор, UML.08 и структурная нотация |
С/С++ |
Генерация кода и реинжиниринг для каждого из поддерживаемых языков и методологий. Командная работа. Возможность создания собственной нотации |
3 |
LifeModel for OOOIE (ver. 1), InteliCorp |
Unix, Windows NT |
Мартин/ Оделл (OOIE) |
С |
Средство является верхним уровнем фирменного продукта искусственного интеллекта Карра. Прото-типирование в режиме интерпретатора, генерация кода, создание экранов и т.д. Возможность программирования на С или на внутреннем Script- языке типа Prolog |
4 |
ObjectTime, ObjectTime Ltd |
Unix |
ROOM |
C++ |
Создание и визуализация исполняемых моделей систем реального времени на основе ОО-методологии реального времени (ROOM). Внутренний Script-язык — подмножество «Smalltalk» |
5 |
Dbjectory (ver. 3.7), Rational Software |
Unix, OS/2, DOSS, Windows 3.1, 95, NT |
И. Джекобсон |
C++, Smalltalk |
Два варианта: Analysis Workbench для ОО-ана-лиза и Design Workbench для проектирования. Связь с VisualWorks и C++ Softbench. BPR на основе метода Джекобсона. |
6 |
Object Partner (ver. 2.0), Verilog |
Unix |
ОМТ |
C++ |
Распространяет Verilog, а также LogLscope и Object-Geode |
7 |
ObjectTeamEnter-prise (ver. 1) Cayenne Software |
Unix |
ОМТ |
C++ |
Cayenne объединяет Cadre и Bachman technlotogy. Пользователям ObjectTeam (метод Шлеер/Меллор) предлагается обратиться к продуктам BridgePoint |
8 |
ObjectMaker (ver. 4.2, 1995) MarkV |
Unix, Windows 3.1, 95, NT |
15 нотаций, в частности: Г.Буч, ОМТ, Шлеер/Меллор, Код/Йордон и др. |
Ada '83, '95, C/C++, Smalltalk |
Общий репозиторий в сети, командная работа. Есть локальный продукт ObjectMaker Consulant |
9 |
ParadigmPlus (ver. 3.0) Platinum Technology (formerly Protosoft) |
Unix, OS/2, Windows 3.1,95,NT |
8 нотаций, в частности: Г.Буч, ОМТ, Шле- ер/Меллор, Fusion и гл. |
Ada, C/C++, Smalltalk, Java |
Генерация SQL, OO и реляционные БД. Реин- жиниринг для Forte, PowerBuilder, VisualWorks, Visual Smalltalk Enterprise, VisuaJAge, ObjectPro. Object- Store. OODB в качестве репозитория |
10 |
Ptech (ver.4.0), Ptech Inc. |
Windows 95, NT, Unix |
Мар-тин/Оделл (OOIE) |
C++, Forte 2.0 |
Интегрирован с Object-Store, Objectivity, ONTOS. Генерация кода для библиотек классов Tools.h++, USL |
11 |
Rational Rose (ver. 3.0), Rational Software |
Windows 3.1, 95, NT, Unix (Solaris, HP UX.AIX) |
Г.Буч, ОМТ |
Ada, C++, Smalltalk, Visual Basic, Java, Forte SQL, Windows, PowerBu ilder |
Конвертация Буч/ОМТ. Поддержка Java, COBRA. Реинжиниринг кода из Forte SQLWindows, Power- Builder и ОО-языков. Объявлено о выпуске но- вого средства работы с COBRA. |
12 |
System Architect Object (ver. 3.1), Popkin Software and System |
Windows 3.1, OS/2 |
Г.Буч, ОМТ, Шлеер/Меллор, Код/Йор — дон, CRC, И. Джекобсон |
C++, Smaftaflc, Java |
Поддержка структурных методологий. BPR на основе IDEF-диаграмм. Связь с PowerBuilder |
13 |
Software through Pictures/OMT and BUCH (ver. 3.2), Interactive Development Environments |
Unix |
OMT или Г. Буч, И.Джекобсон |
C++, Smalltalk, Java и OMGI DL |
Есть продукты для структурных методологий. CASE для BPR. Поддержка, Java, HTML, Netscape Navigator, COBRA, связь NetUnks Orbitaze, SN1FF+. Реинжиниринг |
14 |
SES/Objectbench (ver. 2.2), Scientific and Engineering Software |
Unix |
ООА |
C/C++ |
Объектно -ориентированный анализ |
15 |
Together/C++, Object International |
Windows 3. 1 |
Код/Йордон |
C++ |
Версия для командной работы, работающая и под Windows 3.1 |
Сравнительный анализ таблицы показывает, чо лучшим CASE-средством является разработка компании Rational Software. Именно в ней был создан универсальный язык программирования.
