^

CASE-технологии проектирования информационных систем


За последнее десятилетие сформировалось новое направление в программотехнике - CASE (Computer-Aided Software/System Engineering) - в дословном переводе - разработка программного обеспечения информационных систем при поддержке (с помощью) компьютера. В настоящее время не существует общепринятого определения CASE, термин CASE используется в весьма широком смысле. Первоначальное значение термина CASE, ограниченное вопросами автоматизации разработки только лишь программного обес-печения, в настоящее время приобрело новый смысл, охватывающий процесс разработки сложных автоматизированных информационных систем в целом. Теперь под термином CASE-средства понимаются программные средства, поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного программного обеспечения (ПО) (приложений) и баз данных, генерацию кода, тести-рование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют полную среду разработки ИС.

CASE-средства позволяют не только создавать "правильные" продукты, но и обеспечить "правильный" процесс их создания. Основная цель CASE состоит в том, чтобы отделить проектирование ИС от его кодирования и последующих этапов разработки, а также скрыть от разработчиков все детали среды разработки и функционирования ИС. При использовании CASE-технологий изменяются все этапы жизненного цикла программного обеспечения (подробнее об этом будет сказано ниже) информационной системы, при этом наибольшие изменения касаются этапов анализа и проектирования. Большинство существующих CASE-средств основано на методологиях структурного (в основном) или объектно-ориентированного анализа и проектирования, использующих специ-фикации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств. Такие методологии обеспечивают строгое и наглядное описание про-ектируемой системы, которое начинается с ее общего обзора и затем детализируется, приобретая иерархическую структуру со все большим числом уровней. CASE-технологии успешно применяются для построения практически всех типов ИС, однако устойчивое положение они занимают в следующих областях:


  • обеспечение разработки деловых и коммерческих ИС, широкое применение CASE-технологий обусловлены массовостью этой прикладной области, в которой CASE применяется не только для разработки ИС, но и для создания моделей систем, помогающих решать задачи стратегического планирования, управления финансами, определения политики фирм, обучения персонала и др. (это направление получило свое собственное на-звание - бизнес-анализ);

  • разработка системного и управляющих ИС. Активное применение CASE-технологий связано с большой сложностью данной проблематики и со стремлением повысить эффективность работ.
CASE - не революция в программотехнике, а результат естественного эволюционного развития всей отрасли средств, называемых ранее инструментальными или технологическими. С самого начала CASE-технологии развивались с целью преодоления ограничений при использовании структурных методологий проектирования 60-70-х гг. XX в. (сложности понимания, большой трудоемкости и стоимости использова-ния, трудности внесения изменений в проектные спецификации и т. д.) за счет их автоматизации и интеграции поддержи-вающих средств. Таким образом, CASE-технологии не могут считаться самостоятельными методологиями, они только развивают структурные методологии и делают более эффективным их применение за счет автоматизации.

Помимо автоматизации структурных методологий и, как следствие, возможности применения современных методов системной и программной инженерии, CASE-средства обладают следующими основными достоинствами:


  • улучшают качество создаваемых ИС за счет средств автоматического контроля (прежде всего контроля проекта);

  • позволяют за короткое время создавать прототип будущей системы, что позволяет на ранних этапах оценить ожидаемый результат;

  • ускоряют процесс проектирования и разработки;

  • освобождают разработчика от рутинной работы, позволяя ему целиком сосредоточиться на творческой части разработки;

  • поддерживают развитие и сопровождение разработки;

  • поддерживают технологии повторного использования компонента разработки.
Появлению CASE-технологии и CASE-средств предшествовали исследования в области методологии программирования. Программирование обрело черты системного подхода с разработкой и внедрением языков высокого уровня, методов структурного и модульного программирования, языков проектирования и средств их поддержки, формальных и неформальных языков описаний системных требований и спецификаций и т. д. В 70-80-х гг. стала на практике применять-ся структурная методология, предоставляющая в распоря-жение разработчиков строгие формализованные методы описания ИС и принимаемых технических решений. Она основана на наглядной графической технике: для описания раз-личного рода моделей ИС используются схемы и диаграммы. Наглядность и строгость средств структурного анализа позволяла разработчикам и будущим пользователям системы с самого начала неформально участвовать в ее создании, обсуждать и закреплять понимание основных технических решений. Однако широкое применение этой методологии и следование ее рекомендациям при разработке контактных ИС встречалось достаточно редко, поскольку при неавтоматизированной (ручной) разработке это практически невозможно. Это и способствовало появлению программно-технических средств особого класса - CASE-средств, реализующих CASE-технологию создания и сопровождения ИС.

Необходимо понимать, что успешное применение CASE-средств невозможно без понимания базовой технологии, на которой эти средства основаны. Сами по себе программные CASE-средства являются средствами автоматизации процес-сов проектирования и сопровождения информационных систем. Без понимания методологии проектирования ИС невозможно применение CASE-средств.
^

Характеристика современных CASE-средств


Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл (ЖЦ) ИС.

Наиболее трудоемкими этапами разработки ИС являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых техни-ческих решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил. Графические средства моделирова-ния предметной области позволяют разработчикам в наглядном виде изучать существующую ИС, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями.

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

Обычно к CASE-средствам относят любое программное средство, автоматизирующее ту или иную совокупность процессов жизненного цикла ИС и обладающее следующими основными характерными особенностями:


  • мощными графическими средствами для описания и документирования ИС, обеспечивающими удобный интерфейс с разработчиком и развивающими его твор-ческие возможности;

  • интеграцией отдельных компонент CASE-средств, обеспечивающей управляемость процессом разработки ИС;

  • использованием специальным образом организованного хранилища проектных метаданных (репозитория). Интегрированное CASE-средство (или комплекс средств, поддерживающих полный ЖЦ ИС) содержит следующие компоненты:

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

  • графические средства анализа и проектирования, обеспечивающие создание и редактирование иерархичес-ки связанных диаграмм (DFD, ERD и др.), образующих модели ИС;

  • средства разработки приложений, включая языки 4GL и генераторы кодов;

  • средства конфигурационного управления;

  • средства документирования;

  • средства тестирования;

  • средства управления проектом;

  • средства реинжиниринга.
Все современные CASE-средства могут быть классифицированы в основном по типам и категориям. Классификация по типам отражает функциональную ориентацию CASE-средств на те или иные процессы ЖЦ. Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи (tools), набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС (toolkit) и полностью интегрированные средства, поддерживающие весь ЖЦ ИС и связанные общим репозиторием. Помимо этого, CASE-средства можно классифицировать по следующим признакам:

  • применяемым методологиям и моделям систем и БД;

  • степени интегрированности с СУБД;

  • доступным платформам.
Классификация по типам в основном совпадает с компо-нентным составом CASE-средств и включает следующие основные типы (после названия средства в скобках указана фирма-разработчик):

  • средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области (Design/IDEF (Meta Software), BPWin (Logic Works));

  • средства анализа и проектирований (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций (Vantage Team Builder (Cayenne), Designer/2000 (Oracle), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE. Аналитик (Макро-Проджект)). Выходом таких средств являются специ-фикации компонентов и интерфейсов системы, архитектуры системы, алгоритмов и структур данных;

  • средства проектирования баз данных , обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее рас-пространенных СУБД. К ним относятся ERwin (Logic Works). S-Designor (SDP) и DataBase Designer (Oracle). Средства проектирования баз данных имеются также в составе CASE-средств Vantage Team Builder, Designer/2000, Silverrun и PRO-IV;

  • средства разработки приложений . К ним относятся средства 4GL (Uniface (Compuware), JAM (JYACC), PowerBuilder (Sybase), Developer/2000 (Oracle), New Era (Informix), SQL Windows (Gupta), Delphi (Borland) и др.) и генераторы кодов, входящие в состав Vantage Team Builder, PRO-IV и частично - в Silverrun;

  • средства реинжиниринга , обеспечивающие анализ про-граммных кодов и схем баз данных и формирование на их основе различных моделей и проектных специфи-каций. Средства анализа схем БД и формирования ERD входят в состав Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin и S-Designor. В области анализа программных кодов наибольшее распространение получают объектно-ориентированные CASE-средства, обеспечивающие реинжиниринг программ на языке C++ (Rational Rose (Rational Software), Object Team (Cayenne)). Вспомогательные типы включают:

  • средства планирования и управления проектом (SE Companion, Microsoft Project и др.);

  • средства конфигурационного управления (PVCS (Intersolv));

  • средства тестирования (Quality Works (Segue Software));

  • средства документирования (SoDA (Rational Software)).
На сегодняшний день российский рынок программного обеспечения располагает следующими наиболее развитыми CASE-средствами:

    • Silverrun;

    • Designer/2000;

    • Vantage Team Builder (Westmount I-CASE);

    • ERwin+BPwin;

    • S-Designor;

    • CASE-Аналитик.
Кроме того, на рынке постоянно появляются как новые для отечественных пользователей системы (например, CASE/ 4/0, PRO-IV, System Architect, Visible Analyst Workbench, EasyCASE), так и новые версии и модификации перечислен-ных систем.

Охарактеризуем основные возможности CASE-средств на примере имеющей широкое распространение системы Silverrun.

CASE-средство Silverrun американской фирмы Computer Systems Advisers, Inc. (CSA) используется для анализа и про-ектирования ИС бизнес-класса и ориентировано в большей степени на спиральную модель ЖЦ. Оно применимо для поддержки любой методологии, основанной на раздельном построении функциональной и информационной моделей (диаграмм потоков данных и диаграмм "сущность-связь").

Настройка на конкретную методологию обеспечивается выбором требуемой графической нотации моделей и набора правил проверки проектных спецификаций. В системе имеются готовые настройки для наиболее распространенных методологий: DATARUN (основная методология, поддерживае-мая Silverrun), Gane/Sarson, Yourdon/DeMarco, Merise, Ward/Mellor, Information Engineering. Для каждого понятия, введенного в проекте, имеется возможность добавления собственных описателей. Архитектура Silverrun позволяет наращивать среду разработки по мере необходимости.

Silverrun имеет модульную структуру и состоит из четырех модулей, каждый из которых является самостоятельным продуктом и может приобретаться и использоваться без связи с остальными модулями.

Модуль построения моделей бизнес-процессов в форме диаграмм потоков данных (ВРМ - Business Process Modeler) позволяет моделировать функционирование обследуемой организации или создаваемой ИС. В модуле ВРМ обеспечена возможность работы с моделями большой сложности: автома-тическая перенумерация, работа с деревом процессов (вклю-чая визуальное перетаскивание ветвей), отсоединение и при-соединение частей модели для коллективной разработки. Диаграммы могут изображаться в нескольких предопределенных нотациях, включая Yourdon/DeMarco и Gane/Sarson. Имеется также возможность создавать собственные нотации, в том числе добавлять в число изображаемых на схеме дескрипторов определенные пользователем поля.

Модуль концептуального моделирования данных (ERX - Entity-Relationship eXpert) обеспечивает построение моделей данных "сущность-связь", не привязанных к конкретной реализации. Этот модуль имеет встроенную экспертную систему, позволяющую создать корректную нормализованную модель данных посредством ответов на содержательные вопросы о взаимосвязи данных. Возможно автоматическое построение модели данных из описаний структур данных. Анализ функциональных зависимостей атрибутов дает возможность проверить соответствие модели требованиям третьей нормальной формы и обеспечить их выполнение. Проверенная модель передается в модуль RDM.

Модуль реляционного моделирования (RDM- Relational Data Modeler) позволяет создавать детализированные модели "сущность-связь", предназначенные для реализации в ре-ляционной базе данных. В этом модуле документируются все конструкции, связанные с построением базы данных: индексы, триггеры, хранимые процедуры и т. д. Гибкая изменяемая нотация и расширяемость репозитория позволяют работать по любой методологии. Возможность создавать подсхемы соответствует подходу ANSI SPARC к представлению схемы базы данных . На языке подсхем моделируются как узлы распределенной обработки, так и пользовательские представле-ния. Этот модуль обеспечивает проектирование и полное документирование реляционных баз данных.

^ Менеджер репозитория рабочей группы (WRM - Workgroup Repository Manager) применяется как словарь данных для хранения общей для всех моделей информации, а также обеспечивает интеграцию модулей Silverrun в единую среду проектирования.

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

Для автоматической генерации схем баз данных у Silverrun существуют мосты к наиболее распространенным СУБД: Oracle, Informix, DB2, Ingres, Progress, SQL Server, SQLBase, Sybase. Для передачи данных в средства разработки приложений имеются мосты к языкам 4GL: JAM, PowerBuilder, SQL Windows, Uniface, NewEra, Delphi. Все мосты позволяют загрузить в Silverrun RDM информацию из каталогов соответствующих СУБД или языков 4GL. Это позволяет доку-ментировать, перепроектировать или переносить на новые платформы уже находящиеся в эксплуатации базы данных и прикладные системы. При использовании моста Silverrun расширяет свой внутренний репозиторий специфичными для целевой системы атрибутами. После определения значений этих атрибутов генератор приложений переносит их во внутренний каталог среды разработки или использует при генерации кода на языке SQL. Таким образом, можно полностью определить ядро базы данных с использованием всех воз-можностей конкретной СУБД: триггеров, хранимых процедур, ограничений ссылочной целостности. При создании приложения на языке 4GL данные, перенесенные из репозитория Silverrun, используются либо для автоматической генерации интерфейсных объектов, либо для быстрого их создания вручную.

Для обмена данными с другими средствами автоматиза-ции проектирования, создания специализированных проце-дур анализа и проверки проектных спецификаций, составле-ния специализированных отчетов в соответствии с различными стандартами в системе Silverrun имеются три способа выдачи проектной информации во внешние файлы:


  • система отчетов. Можно, определив содержимое отчета по репозиторию, выдать отчет в текстовый файл. Этот файл можно затем загрузить в текстовый редак-тор или включить в другой отчет;

  • система экспорта/импорта. Для более полного контро-ля над структурой файлов в системе экспорта/импор-та имеется возможность определять не только содержимое экспортного файла, но и разделители записей, полей в записях, маркеры начала и конца текстовых полей. Файлы с указанной структурой можно не толь-ко формировать, но и загружать в репозитории. Это дает возможность обмениваться данными с различны-ми системами: другими CASE-средствами, СУБД, тек-стовыми редакторами и электронными таблицами;

  • хранение репозитория во внешних файлах через ODBC-драйверы. Для доступа к данным репозитория из наиболее распространенных систем управления базами данных обеспечена возможность хранить всю проектную информацию непосредственно в формате этих СУБД.
Групповая работа поддерживается в системе Silverrun двумя способами:

  • в стандартной однопользовательской версии имеется механизм контролируемого разделения и слияния моделей. Разделив модель на части, можно раздать их нескольким разработчикам. После детальной доработки модели объединяются в единые спецификации;

  • сетевая версия Silverrun позволяет осуществлять одно-временную групповую работу с моделями, хранящи-мися в сетевом репозитории на базе СУБД Oracle, Sybase или Informix. При этом несколько разработчи-ков могут работать с одной и той же моделью, так как блокировка объектов происходит на уровне отдельных элементов модели.
Имеются реализации Silverrun трех платформ - MS Windows, Macintosh и OS/2 Presentation Manager – с возможностью обмена проектными данными между ними.

Помимо системы Silverrun, укажем назначение и дру-гих популярных CASE-средств и их групп.

Vantage Team Builder представляет собой интегрирован-ный программный продукт, ориентированный на реализацию каскадной модели ЖЦ ИС и поддержку полного ЖЦ ИС.

Uniface 6.1 – продукт фирмы Compuware (США) - представляет собой среду разработки крупномасштабных прило-жений в архитектуре "клиент-сервер".

CASE-средство Designer/2000 2.0 фирмы Oracle является интегрированным CASE-средством, обеспечивающим в со-вокупности со средствами разработки приложений Developer/ 2000 поддержку полного ЖЦ ИС для систем, использующих СУБД Oracle.

Пакет CASE/4/0 (microTOOL GmbH), включающий структурные средства системного анализа, проектирования и программирования, обеспечивает поддержку всего жизненного цикла разработки (вплоть до сопровождения), на основе сете-вого репозитория, контролирующего целостность проекта и поддерживающего согласованную работу всех его участников (системных аналитиков, проектировщиков, программистов).
^

Локальные средства


Пакет ERWin (Logic Works) используется при моделировании и создании баз данных произвольной сложности на ос-нове диаграмм "сущность-связь". В настоящее время ERWin является наиболее популярным пакетом моделирований дан-ных благодаря поддержке широкого спектра СУБД самых различных классов - SQL-серверов (Oracle, Informix, Sybase SQL Server, MS SQL Server, Progress, DB2, SQLBase, Ingress, Rdb и др.) и "настольных" СУБД типа xBase (Clipper, dBase, FoxPro, MS Access, Paradox и др.).

BPWin - средство функционального моделирования, реализующее методологию IDEFO. Модель в BPWin представляет собой совокупность SADT-диаграмм, каждая из которых описывает отдельный процесс, разбивая его на шаги и подпроцессы.

S-Designer 4.2 (Sybase/Powersoft) представляет собой CASE-средство для проектирования реляционных баз данных. По своим функциональным возможностям и стоимости он близок к CASE-средству ERWin, отличаясь внешне ис-пользуемой на диаграммах нотацией. S-Designer реализует стандартную методологию моделирования данных и генери-рует описание БД для таких СУБД, как Oracle, Informix, Ingres, Sybase, DB2, Microsoft SQL Server и др.

CASE-Аналитик 1.1 (Эйтекс) является практически един-ственным в настоящее время конкурентоспособным отече-ственным CASE-средством функционального моделирования и реализует построение диаграмм потоков данных в соответ-ствии с описанной ранее методологией.
^

Объектно-ориентированные CASE-средства


Rational Rose - CASE-средство фирмы Rational Software Corporation (США) - предназначено для автоматизации этапов анализа и проектирования ИС, а также для генерации кодов на различных языках и выпуска проектной документа-ции. Rational Rose использует синтез-методологию объектно-ориентированного анализа и проектирования, основанную на подходах трех ведущих специалистов в данной области: Буча, Рамбо и Джекобсона. Разработанная ими универсальная нотация для моделирования объектов (язык UML - Unified Modeling Language) является в настоящее время и, очевид-но, останется в будущем общепринятым стандартом в области объектно-ориентированного анализа и проектирования. Конкретный вариант Rational Rose определяется языком, на котором генерируются коды программ (C++, Smalltalk, PowerBuilder, Ada, SQLWindows и ObjectPro). Основной вариант – Rational Rose/C++ - позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также генерировать программные коды на C++. Кроме того, Rational Rose содержит средства реинжиниринга программ, обеспечивающие повторное использование программных компонент в новых проектах.
^

Средства конфигурационного управления


Цель конфигурационного управления (КУ) - обеспечить управляемость и контролируемость процессов разработки и сопровождения ИС. Для этого необходима точная и достоверная информация о состоянии ИС и его компонент в каждый момент времени, а также о всех предполагаемых и выполненных изменениях.

Для решения задач КУ применяются методы и средства, обеспечивающие идентификацию состояния компонент, учет номенклатуры всех компонент и модификаций системы в це-лом, контроль за вносимыми изменениями в компоненты, структуру системы и ее функции, а также координирован-ное управление развитием функций и улучшением характеристик системы.

Наиболее распространенным средством КУ является PVCS фирмы Intersolv (США), включающее ряд самостоятельных продуктов: PVCS Version Manager, PVCS Tracker, PVCS Configuration Builder и PVCS Notify.
^

Средства документирования


Для создания документации в процессе разработки АИС используются разнообразные средства формирования отчетов, а также компоненты издательских систем. Обычно средства документирования встроены в конкретные CASE-средства. Исключением являются некоторые пакеты, предоставляющие дополнительный сервис при документировании. Из них наиболее активно используется SoDA (Software Document Automation).

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

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

SoDA реализована на базе издательской системы FrameBuilder и предоставляет полный набор средств по редактированию и верстке выпускаемой документации.

Итоговым результатом работы системы SoDA является готовый документ (или книга). Документ может храниться в файле формата SoDA (Frame Builder), который получается в результате генерации документа. Вывод на печать этого до-кумента (или его части) возможен из системы SoDA.

Среда функционирования SoDA - ОС типа UNIX на рабочих станциях Sun SPARCstation, IBM RISC System/6000 или Hewlett Packard HP 9000 700/800.
^

Средства тестирования


Под тестированием понимается процесс исполнения программы с целью обнаружения ошибок. Регрессионное тести-рование - это тестирование, проводимое после усовершен-ствования функций программы или внесения в нее изменений.

Одно из наиболее развитых средств тестирования QA (новое название – Quality Works) представляет собой интег-рированную, многоплатформенную среду для разработки автоматизированных тестов любого уровня, включая тесты регрессии для приложений с графическим интерфейсом пользователя.

QA позволяет начинать тестирование на любой фазе ЖЦ, планировать и управлять процессом тестирования, отображать изменения в приложении и повторно использовать тесты для более чем 25 различных платформ.

В заключение приведем пример комплекса CASE-средств, обеспечивающего поддержку полного ЖЦ ИС. Нецелесообразно сравнивать отдельно взятые CASE-средства, поскольку ни одно из них не решает в целом все проблемы создания и сопровождения ИС. Это подтверждается также полным набором критериев оценки и выбора, которые затрагивают все этапы ЖЦ ИС. Сравниваться могут комплексы методоло-гически и технологически согласованных инструментальных средств, поддерживающие полный ЖЦ ИС и обеспеченные необходимой технической и методической поддержкой со стороны фирм-поставщиков (отметим, что рациональное комплексирование инструментальных средств разработки ИС является важнейшим условием обеспечения качества этой ИС, причем это замечание справедливо для всех предметных областей).

Лекция №8

Многоуровневая архитектура 9

Интернет/интранет-технологии 10

Требования, предъявляемые к информационным системам 10

Гибкость 11

Надежность 11

Эффективность 11

Безопасность 12

Жизненный цикл информационных систем 16

Общие сведения об управлении проектами 17

^ Классификация проектов 18

Основные фазы проектирования информационной системы 18

Концептуальная фаза 19

Подготовка технического предложения 19

Проектирование 19

Разработка 20

Ввод системы в эксплуатацию 20

Процессы, протекающие на протяжении жизненного цикла информационной системы 21

^ Основные процессы жизненного цикла 21

Разработка 21

Эксплуатация 21

Сопровождение 22

Вспомогательные процессы жизненного цикла 23

Организационные процессы 23

Структура жизненного цикла информационной системы 23

Начальная стадия 24

Стадия уточнения 24

^ Стадия конструирования 24

Стадия передачи в эксплуатацию 24

Жизненный цикл информационных систем 28

Модели жизненного цикла информационной системы 28

^ Каскадная модель жизненного цикла информационной системы 29

Основные этапы разработки по каскадной модели 29

Основные достоинства каскадной модели 29

Недостатки каскадной модели 30

^ Спиральная модель жизненного цикла 31

Итерации 31

Преимущества спиральной модели 32

Недостатки спиральной модели 33

Методология и технология разработки информационных систем 37

Методология RAD 40

Основные особенности методологии RAD 40

^ Объектно-ориентированный подход 41

Визуальное программирование 42

Событийное программирование 43

Фазы жизненного цикла в рамках методологии RAD 44

Фаза анализа и планирования требований 44

Фаза проектирования 44

Фаза построения 45

Фаза внедрения 46

^ Ограничения методологии RAD 46

Методология и технология разработки информационных систем 51

Профили открытых информационных систем 51

Понятие профиля информационной системы 52

Принципы формирования профиля информационной системы 53

^ Структура профилей информационных систем 55

Профиль прикладного программного обеспечения 57

Профиль среды информационной системы 57

Профиль защиты информации 58

Профиль инструментальных средств 58

^ Методология и технология разработки информационных систем 63

Стандарты и методики 63

Виды стандартов 64

Методика CDM фирмы Oracle 65

Общая структура 66

Особенности методики СDМ 68

^ Международный стандарт ISO/IEC 12207: 1995-08-01 69

Общая структура 69

Основные и вспомогательные процессы ЖЦ 69

Особенности стандарта ISO 12207 71

CASE-технологии проектирования информационных систем 77

Характеристика современных CASE-средств 80

^ Локальные средства 86

Объектно-ориентированные CASE-средства 87

Средства конфигурационного управления 87

Средства документирования 87

Средства тестирования 88

Принципы построения и этапы проектирования баз данных 93

Основные понятия и определения 93

Описательная модель предметной области 99

^ Принципы построения и этапы проектирования баз данных 111

Концептуальные модели данных 111

Типы структур данных 112

Операции над данными 113

^ Ограничения целостности 114

Иерархическая модель данных 115

Сетевая модель данных 117

Реляционная модель данных 118

Бинарная модель данных 119

Семантическая сеть 119

Технология моделирования информационных систем 124

Методы моделирования систем 124

^ Математическая модель системы 126

Классификация математических моделей 128

Имитационные модели информационных систем 136

Методологические основы применения метода имитационного моделирования 136

^ Имитационные модели информационных систем 146

Классификация имитационных моделей 146

Структура типовой имитационной модели с календарем событий 153

^ Имитационные модели информационных систем 161

Технология моделирования случайных факторов 161

Генерация псевдослучайных чисел (ПСЧ) 161

Мультипликативный метод 163

Аддитивный метод 164

Смешанный метод 164

^ Моделирование случайных событий 165

Последовательное моделирование 167

Моделирование после предварительных расчетов 167

Имитационные модели информационных систем 172

Технология моделирования случайных факторов 172

^ Моделирование случайных величин 172

Моделирование непрерывных случайных величин 173

Метод обратной функции 173

Метод исключения (Неймана) 174

Метод композиции 176

Моделирование дискретных случайных величин 177

Метод последовательных сравнений 177

Метод интерпретации 178

^ Моделирование случайных векторов 178

Метод условных распределений 179

Метод исключения (Неймана) 180

Метод линейных преобразований 181

Имитационные модели информационных систем 187

Основы организации имитационного моделирования 187

^ Этапы имитационного моделирования 187

Испытание имитационной модели 188

Задание исходной информации 189

Верификация имитационной модели 189

Проверка адекватности модели 189

Калибровка имитационной модели 190

Исследование свойств имитационной модели 190

Оценка погрешности имитации, связанной с использованием в модели генераторов псевдослучайных чисел (ПСЧ) 190

Определение длительности переходного режима 191

Оценка устойчивости результатов имитации 192

Исследование чувствительности модели 192

^ Языки моделирования 193

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Автоматизированное проектирование ИС (CASE-технология)

Определение . CASE-технология (Computer Aided Software Engineering) представляет собой совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения, поддержанную комплексом взаимоувязанных средств автоматизации.

Основные черты CASE-технологии

Назначение : автоматизация проектирования сложных информационных систем.

Изначально CASE-средства были ориентированы на разработку ПО. Сейчас чаще всего под такими средствами подразумевают любые средства проектирования ИС и/или моделирования предметной области.

CASE-средства охватывают все стадии ЖЦ ИС (анализ, проектирование, разработка, сопровождение).

Не создают новых методологий, а повышают эффективность использования существующих - за счет автоматизации.

Цели использования CASE-технологии в индустриальном проектировании ИС

Улучшение качества разрабатываемой ИС за счет автоматического контроля и генерации отдельных элементов;

Возможность повторного использования компонентов разработки;

Повышение уровня адаптивности и качества сопровождения ИС;

Использование методологии прототипного проектирования;

Ускорение работы за счет автоматизированной генерации кода и автоматизированного документирования проекта;

Возможность коллективной разработки ИС в режиме реального времени.

Методология - определяет шаги реализации проекта, а также правила используемых при его разработки методов.

Метод - процедура или техника генерации описания компонентов ИС (например, метод проектирования потоков данных).

Модель - совокупность символов (вербальных, математических, графических и т.п.), которая адекватно описывает некоторые свойства моделируемого объекта и отношения между ними.

Нотация - Система условных обозначений, принятая в конкретной модели. Обычно для описания моделей используются графические символы (почему? ), а также формальные и естественные языки.

Инструментальные средства - CASE-средства

Определение . CASE-средство - это специальный программный продукт, который поддерживает одну или несколько методологий анализа и проектирования ИС.

Общая архитектура системы CASE-средств включает в себя следующие элементы:

Репозиторий (словарь данных) - специализированная база данных, являющаяся ядром системы. Обеспечивает хранение версий проекта и его отдельных компонентов и объектов, синхронизацию поступающей от проектировщиков информации, контроль метаданных на полноту и непротиворечивость. Репозиторий хранит описания следующих объектов:

Проектировщиков и их прав доступа к различным компонентам системы;

Организационных структур;

Диаграмм, компонентов диаграмм и связей между диаграммами;

Структур данных;

Программных модулей, процедур, библиотек и т.п.

Графические средства анализа и проектирования (редакторы диаграмм). Используются для создания иерархически связанных диаграмм - моделей ИС - в заданной графической нотации.

Верификатор диаграмм . Служит для контроля правильности построения диаграмм в заданной методологии проектирования. Основные функции: мониторинга, диагностика, информирование об ошибках.

Неграфические средства проектирования и разработки приложений . Используются для построения моделей ИС на формальных и естественных языках, а также для автоматизированной разработки программ проекта.

Документатор проекта . Позволяет получать информацию о проекте в виде различных отчетов.

Средства администрирования проектом . Представляют собой набор инструментов и служебных программ, необходимых для выполнения таких административных функций, как:

Инициализация проекта;

Задание начальных параметров проекта;

Назначение и управление правами доступа к отдельным элементам проекта;

Мониторинг выполнения проекта.

Служебные средства . Представляют собой набор служебных программ, которые необходимы для обслуживания БД репозитория: архивация, восстановление данных и т.п.

Классификация CASE-средств

По области действия в пределах ЖЦ ИС

Upper CASE - средства, используемые на стадии анализа предметной области;

Middle CASE - средства, используемые на стадии анализа и проектирования структуры ИС;

Примечание. В настоящее время в зарубежной литературе имеет место тенденция объединять средства Upper и Middle CASE в одну группу (Upper CASE).

Lower CASE - средства, используемые на стадиях разработки и внедрения (тестирования).

I-CASE - интегрированная система CASE-средств, которая может использоваться как на ранних, так и на поздних стадиях ЖЦ ИС (т.е. объединяет возможности Upper- и Lower- CASE).

По функциональному назначению:

Средства анализа и проектирования ИС (автоматизация наиболее популярных методологий проектирования);

Средства проектирования баз данных (моделирование данных и генерация схем БД);

Средства разработки приложений (в том числе, средства генерации и рефакторинга программного кода, средства быстрой разработки приложений);

Средства обратного инжиниринга (построение моделей действующей ИС для ее переноса в другую среду);

Средства документирования проекта;

Средства управления тестированием ПО;

Средства планирования и управления проектом.

По поддерживаемым методологиям проектирования:

Функционально-ориентированные;

Объектно-ориентированные;

Комплексные (поддерживают различные методологии).

По степени интеграции:

Отдельные средства, которые могут быть использованы на той или иной стадии проектирования ИС.

Частично интегрированные наборы средств, охватывающие несколько стадий разработки ИС;

Полностью интегрированные системы средств, охватывающие несколько стадий разработки ИС и связанные между собой общим репозиторием.

По реализованной архитектуре:

Локальные;

Корпоративные (с поддержкой взаимодействия по корпоративным информационным сетям и возможностью коллективной разработки проекта).

Методологии проектирования ИС с использованием CASE-средств

В настоящее время существует два основных подхода к проектированию, которые мы уже упоминали:

Функционально-ориентированный (структурный);

Объектно-ориентированный.

В основе функционально-ориентированного подхода лежат две идеи:

Декомпозиция;

Графическое представление.

В настоящее время в качестве основных средств структурного анализа и проектирования используют следующие виды диаграмм:

Business Function Diagram (BFD) - диаграммы функциональных спецификаций. Позволяют представить общую структуру исследуемого объекта, отражающую взаимосвязь различных задач в процессе получения требуемых результатов. Основные элементы BFD - это функции (некоторые действия, необходимые для решения поставленных задач) и декомпозиции функций (разбиение функции на множество подфункций). На практике диаграмма функциональных спецификаций, используется, например, для верификации диаграмм сущность-связь при проектировании базы данных ИС.

Диаграммы SADT (диаграммы работ и объектов).

Диаграммы потоков данных (DFD).

State Transition Diagram (STD) - диаграммы переходов состояний. Моделируют поведение системы во времени в зависимости от произошедших событий. Позволяют осуществить декомпозицию управляющих процессов, происходящих в системе и описать отношение между управляющими потоками. С формальной точки зрения, диаграммы переходов состояний описывают некоторый конечный автомат. К основным элементам диаграммы перехода состояний относятся:

Состояние - устойчивое значение некоторого свойства в течение определенного времени. В каждый момент времени система находится строго в одном состоянии. Находясь в текущем состоянии, необходимо знать о предыдущих состояниях, чтобы определить условие перехода в следующее состояние.

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

Переход - определяет перемещение моделируемой системы из одного состояния в другое. Имя перехода определяется событием, которое вызвало этот переход. Переход может быть вызван каким-либо действием.

Триггер - логическое выражение, написанное на каком-либо макроязыке, которое показывает условие перехода в данное состояние.

Применяется два способа построения ST-диаграммы. Первый способ заключа-ется в идентификации всех возможных состояний и дальнейшем исследо-вании всех не бессмысленных связей (переходов) между ними. По второ-му способу сначала строится начальное состояние, затем следующие за ним и т.д. В результате формируется предварительная диаграмма перехода состояний, для которой необходимо выполнить контроль состоятельности. Обычно он заключается в отве-те на следующие вопросы;

все ли состояния определены и имеют уникальное имя?

все ли состояния достижимы?

все ли состояния имеют выход?

реагирует ли система соответствующим об-разом на все возможные условия (особенно на ненормальные)?

все ли входные (выходные) потоки управляющего процесса отражены в условиях диаграммы?

Примеры диаграммы переходов состояний

Диаграммы состояний UML.

Диаграммы инфологических моделей «сущность-связь».

System Structure Diagram (SSD) - Диаграммы структуры программного приложения ИС. Представляют собой иерархическую взаимосвязь программных модулей, которые реализуют ИС. Диаграмма SSD служит «мостом» для перехода от системных требований, которые отображены в таких диаграммах, как BFD, DFD, ERD и STD, к реализации информационной системы.

Основные черты объектно-ориентированного проектирования

Предметная область моделируется как совокупность взаимодействующих во времени объектов;

Процесс обработки информации представляется как последовательность взаимодействий этих объектов;

Данные и операции моделируются совместно (неразрывно друг от друга);

За основу принимается спиральная модель проектирования. Модели предметной области накапливаются в репозитории и постепенно уточняются.

На основе сформированных моделей может быть автоматически сгенерирована система классов для программного приложения ИС;

Для моделирования широко используется унифицированный язык моделирования UML (Unified Modeling Language).

Самостоятельно:

Изучить, какие основные диаграммы включает в себя система объектно-ориентированных моделей в соответствии с нотациями UML;

Изучить общую характеристику и назначение каждой диаграммы;

Обратить внимание на диаграмму прецедентов, диаграмму состояний, диаграмму деятельности, диаграмму компонентов и диаграмму размещения.

Рассмотреть общую схему проектирования экономических ИС в рамках объектно-ориентированного подхода.

case проектирование информационный система

Размещено на http://www.allbest.ru/

Рис.1 . Пример диаграммы перехода состояний.

Размещено на Allbest.ru

...

Подобные документы

    Анализ структуры и методологии CASE-средств. Методологии проектирования, используемые в CASE-средствах. Основные понятия о системах электронного документооборота, их создание с помощью CASE-средств. Объектно-ориентированное и структурное проектирование.

    курсовая работа , добавлен 18.07.2014

    Основы методологии проектирования информационных систем, понятие их жизненного цикла. Основные модели жизненного цикла. Методология функционального моделирования SADT. Состав функциональной модели. Моделирование данных, характеристика case-средств.

    реферат , добавлен 28.05.2015

    Классификация автоматизированных информационных систем (АИС). Проектирование АИС складского учета с использованием CASE-средства Rational Rose. Подходы к проектированию, анализ CASE-средств. Программная реализация профессионально ориентированной АИС.

    курсовая работа , добавлен 06.03.2012

    Системы автоматического проектирования. Сравнительный анализ средств для проектирования автоматизированных информационных систем. Экспорт SQL-кода в физическую среду и наполнение базы данных содержимым. Этапы развития и характеристика Case-средств.

    курсовая работа , добавлен 14.11.2017

    Особенности проектирования информационных систем основанных на базах данных. Использование CASE-средств и описание бизнес процессов в BP-Win. Этапы проектирования современных информационных систем, виды диаграмм и визуальное представление web-сайта.

    курсовая работа , добавлен 25.04.2012

    История развития информационных технологий. Классификация, виды программного обеспечения. Методологии и технологии проектирования информационных систем. Требования к методологии и технологии. Структурный подход к проектированию информационных систем.

    дипломная работа , добавлен 07.02.2009

    Использование CASE-средств для поддержки процессов создания и сопровождения информационных систем. Задачи графического редактора диаграмм, документатора и администратора проекта. Основные возможности IBM Rational Professional Bundle и IBM Rational Rose.

    реферат , добавлен 30.05.2012

    Жизненный цикл автоматизированных информационных систем. Основы методологии проектирования автоматизированных систем на основе CASE-технологий. Фаза анализа и планирования, построения и внедрения автоматизированной системы. Каскадная и спиральная модель.

    курсовая работа , добавлен 20.11.2010

    Основные методологии проектирования, модели жизненного цикла локальных систем, сущность структурного подхода. Моделирование потоков процессов и программные средства поддержки их жизненного цикла. Характеристика и технология внедрения CASE средств.

    курсовая работа , добавлен 13.12.2010

    Особенности основных, вспомогательных и организационных процессов жизненного цикла автоматизированных информационных систем. Основные методологии проектирования АИС на основе CASE-технологий. Определение модели жизненного цикла программного продукта.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

План

1. CASE средство: определения и общая характеристика

2. Применения CASE технологий: преимущества и недостатки

3. Внедрение CASE-средств

4. Примеры CASE-средств и их характеристики

1 . CASE средство: определения и общая характеристика

Аббревиатура CASE расшифровывается как Computer Aided Software Engineering. Этот термин широко используется в настоящее время. На этапе появления подобных средств, термин CASE употреблялся лишь в отношении автоматизации разработки программного обеспечения. Сегодня CASE средства подразумевают процесс разработки сложных ИС в целом: создание и сопровождение ИС, анализ, формулировка требований, проектирование прикладного ПО и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. Таким образом, CASE-технологии образуют целую среду разработки ИС. Итак, CASE-технология представляет собой методологию проектирования программных систем, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. Большинство существующих CASE-средств основано на методологиях структурного или объектно-ориентированного анализа и проектирования, использующих спецификации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств. Главные составляющие CASE-продукта таковы:

· методология (Method Diagrams) , которая задает единый графический язык и правила работы с ним.

· графические редакторы (Graphic Editors) , которые помогают рисовать диаграммы; возникли с распространением PC и GUI, так называемых "upper case технологий

· генератор : по графическому представлению модели можно сгенерировать исходный код для различных платформ (так называемая low case часть CASE-технологии).

· репозиторий , своеобразная база данных для хранения результатов работы программистов

2 . Применения CASE технологий: преимущества и недостатки

CASE-технология представляет собой совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем и поддерживается комплексом взаимоувязанных средств автоматизации. CASE-технология - это инструментарий для системных аналитиков, разработчиков и программистов, заменяющий бумагу и карандаш компьютером, автоматизируя процесс проектирования и разработки ПО. При использовании методологий структурного анализа появился ряд ограничений (сложность понимания, большая трудоемкость и стоимость использования, неудобство внесения изменений в проектные спецификации и т.д.) С самого начала CASE-технологии и развивались с целью преодоления этих ограничений путем автоматизации процессов анализа и интеграции поддерживающих средств. Они обладают достоинствами и возможностями, перечисленными ниже. Е диный графический язык. CASE-технологии обеспечивают всех участников проекта, включая заказчиков, единым строгим, наглядным и интуитивно понятным графическим языком, позволяющим получать обозримые компоненты с простой и ясной структурой. При этом программы представляются двумерными схемами (которые проще в использовании, чем многостраничные описания), позволяющими заказчику участвовать в процессе разработки, а разработчикам - общаться с экспертами предметной области, разделять деятельность системных аналитиков, проектировщиков и программистов, облегчая им защиту проекта перед руководством, а также обеспечивая легкость сопровождения и внесения изменений в систему.

Единая БД проекта. Основа CASE-технологии - использование базы данных проекта (репозитория) для хранения всей информации о проекте, которая может разделяться между разработчиками в соответствии с их правами доступа. Содержимое репозитория включает не только информационные объекты различных типов, но и отношения между их компонентами, а также правила использования или обработки этих компонентов. Репозиторий может хранить свыше 100 типов объектов: структурные диаграммы, определения экранов и меню, проекты отчетов, описания данных, логика обработки, модели данных, их организации и обработки, исходные коды, элементы данных и т. п.

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

Поддержка коллективной разработки и управления проектом. CASE-технология поддерживает групповую работу над проектом, обеспечивая возможность работы в сети, экспорт-импорт любых фрагментов проекта для их развития и/или модификации, а также планирование, контроль, руководство и взаимодействие, т. е. Функции, необходимые в процессе разработки и сопровождения проектов. Эти функции также реализуются на основе репозитория. В частности, через репозиторий может осуществляться контроль безопасности (ограничения и привилегии доступа), контроль версий и изменений и др.

Макетирование . CASE-технология дает возможность быстро строить макеты (прототипы) будущей системы, что позволяет заказчику на ранних этапах разработки оценить, насколько она приемлема для будущих пользователей и устраивает его.

Генерация документации. Вся документация по проекту генерируется автоматически на базе репозитория (как правило, в соответствии с требованиями действующих стандартов). Несомненное достоинство CASE-технологии заключается в том, что документация всегда отвечает текущему состоянию дел, поскольку любые изменения в проекте автоматически отражаются в репозитории (известно, что при традиционных подходах к разработке ПО документация в лучшем случае запаздывает, а ряд модификаций вообще не находит в ней отражения). Верификация проекта. CASE-технология обеспечивает автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах разработки, что влияет на успех разработки в целом - по статистическим данным анализа пяти крупных проектов фирмы TRW (США) ошибки проектирования и кодирования составляют соответственно 64% и 32% от общего числа ошибок, а ошибки проектирования в 100 раз труднее обнаружить на этапе сопровождения ПО, чем на этапе анализа требований. Автоматическая генерация объектного код а. Генерация программ в машинном коде осуществляется на основе репозитория и позволяет автоматически построить до 85-90% объектного кода или текстов на языках высокого уровня. Сопровождение и реинжинирин г. Сопровождение системы в рамках CASE-технологии характеризуется сопровождением проекта, а не программных кодов. Средства реинжиниринга и обратного инжиниринга позволяют создавать модель системы из ее кодов и интегрировать полученные модели в проект, автоматически обновлять документацию при изменении кодов и т. п.

Таблица 1

Традиционная технология разработки

Разработка с помощью CASE-технологий

Основные усилия - на кодирование и тестирование

Основные усилия - на анализ и проектирование

"Бумажные" спецификации

Быстрое итеративное макетирование

Ручное кодирование

Автоматическая генерация машинного кода

Тестирование ПО

Автоматический контроль проекта

Сопровождение программного кода

Сопровождение проекта

При использовании CASE-технологий изменяются все фазы жизненного цикла ИС, причем наибольшие изменения касаются фаз анализа и проектирования. В табл. 1 приведены основные изменения жизненного цикла ИС при использовании CASE-технологий по сравнению с традиционной технологией разработки.

Таблица 2

В табл. 2 приведены оценки трудозатрат по фазам жизненного цикла программного обеспечения (ПО). Первая строка таблицы соответствует традиционной технологии разработки, вторая - разработке с использованием структурных методологий вручную, третья - разработке с использованием CASE-технологий. Для успешного внедрения CASE-средств организация должна обладать следующими качествами: * Технология. Понимание ограниченности существующих возможностей и способность принять новую технологию; * Культура. Готовность к внедрению новых процессов и взаимоотношений между разработчиками и пользователями; * Управление. Четкое руководство и организованность по отношению к наиболее важным этапам и процессам внедрения. Если организация не обладает хотя бы одним из перечисленных качеств, то внедрение CASE-средств может закончиться неудачей, независимо от степени тщательности следования различным рекомендациям по внедрению. Для того чтобы принять взвешенное решение относительно инвестиций в CASE-технологию, пользователи вынуждены производить оценку отдельных CASE-средств, опираясь на неполные и противоречивые данные. Эта проблема зачастую усугубляется недостаточным знанием всех возможных "подводных камней" использования CASE-средств. Среди наиболее важных проблем выделяют следующие: * достоверная оценка отдачи от инвестиций в CASE-средства затруднительна ввиду отсутствия приемлемых метрик и данных по проектам и процессам разработки ПО; * внедрение CASE-средств может представлять длительный процесс и не принести немедленной отдачи. Возможно даже краткосрочное снижение продуктивности в результате усилий, затрачиваемых на внедрение. Вследствие этого руководство организации-пользователя может утратить интерес к CASE-средствам и прекратить поддержку их внедрения; * отсутствие полного соответствия между теми процессами и методами, которые поддерживаются CASE-средствами, и теми, что используются в данной организации, может привести к дополнительным трудностям; * CASE-средства зачастую трудно использовать в комплексе с другими подобными средствами. Это объясняется как различными парадигмами, поддерживаемыми разнообразными средствами, так и проблемами передачи данных и управления от одного средства к другому; * некоторые CASE-средства требуют слишком много усилий для того, чтобы оправдать их использование в небольшом проекте, тем не менее, можно извлечь выгоду из той дисциплины, к которой обязывает их применение; * негативное отношение персонала к внедрению новой CASE-технологии может быть главной причиной провала проекта. Пользователи CASE-средств должны быть готовы к необходимости долгосрочных затрат на эксплуатацию, частому появлению новых версий и возможному быстрому моральному старению средств, а также постоянным затратам на обучение и повышение квалификации персонала. программный код репозиторий графический

3 . Внедрение CASE-средств

Процесс внедрения состоит из следующих этапов: * определение потребностей в CASE-средствах; * оценка и выбор CASE-средств; * выполнение пилотного проекта; * практическое внедрение CASE-средств. Определение потребностей в CASE-средствах можно проиллюстрировать следующей диаграммой. Данный этап включает достижение понимания потребностей организации и технологии последующего процесса внедрения CASE-средств. Он должен привести к выделению тех областей деятельности организации, в которых применение CASE-средств может принести реальную пользу. Результатом данного этапа является документ, определяющий стратегию внедрения. Процесс оценки и выбора CASE-средств можно рассмотреть в виде модели. Этот процесс может преследовать несколько целей и включать:* оценку нескольких CASE-средств и выбор одного или более из них; * оценку одного или более CASE-средств и сохранение результатов для последующего использования; * выбор одного или более CASE-средств с использованием результатов предыдущих оценок. Ниже приведена диаграмма, описывающая наиболее общую ситуацию оценки и выбора, а также показывает зависимость между ними. Входной информацией для процесса оценки является: * определение пользовательских потребностей; * цели и ограничения проекта; * данные о доступных CASE-средствах; * список критериев, используемых в процессе оценки. Результаты оценки могут включать результаты предыдущих оценок. При этом не следует забывать, что набор критериев, использовавшихся при предыдущей оценке, должен быть совместимым с текущим набором. Конкретный вариант реализации процесса (оценка и выбор, оценка для будущего выбора или выбор, основанный на предыдущих оценках) определяется перечисленными выше целями. Элементы процесса включают: * цели, предположения и ограничения, которые могут уточняться в ходе процесса; * потребности пользователей, отражающие количественные и качественные требования пользователей к CASE-средствам; * критерии, определяющие набор параметров, в соответствии с которыми производится оценка и принятие решения о выборе; * формализованные результаты оценок одного или более средств; * рекомендуемое решение (обычно либо решение о выборе, либо дальнейшая оценка). Перед полномасштабным внедрением выбранного CASE-средства в организации выполняется пилотный проект. Его цель - экспериментальная проверка правильности решений, принятых на предыдущих этапах, и подготовка к внедрению. Пилотный проект представляет собой первоначальное реальное использование CASE-средства и обычно подразумевает более широкий масштаб использования CASE-средства по отношению к тому, который был достигнут во время оценки. Пилотный проект должен обладать многими из характеристик реальных проектов, для которых предназначено данное средство. Он преследует следующие цели: * подтвердить достоверность результатов оценки и выбора;* определить, действительно ли CASE-средство годится для использования в данной организации, и если да, то определить наиболее подходящую область его применения; * собрать информацию, необходимую для разработки плана практического внедрения; * приобрести собственный опыт использования CASE-средства. Пилотный проект позволяет получить важную информацию, необходимую для оценки качества функционирования CASE-средства и его поддержки со стороны поставщика после того, как средство установлено. Его реализацию можно проиллюстрировать следующей схемой. Важной функцией пилотного проекта является принятие решения относительно приобретения или отказа от использования CASE-средства. Провал пилотного проекта позволяет избежать более значительных и дорогостоящих неудач в дальнейшем, поскольку он обычно связан с приобретением относительно небольшого количества лицензий и обучением узкого круга специалистов. Ну и, наконец, наступает переход к практическому использованию CASE-средств. Он начинается с разработки и последующей реализации плана перехода. План перехода должен включать следующее: * Информацию относительно целей, критериев оценки, графика и возможных рисков, связанных с реализацией плана. * Информацию относительно приобретения, установки и настройки CASE-средств. * Информацию относительно интеграции каждого средства с существующими средствами, включая как интеграцию CASE-средств друг с другом, так и их интеграцию в процессы разработки и эксплуатации ПО, существующие в организации. * Ожидаемые потребности в обучении и ресурсы, используемые в течение и после завершения процесса перехода. * Определение стандартных процедур использования средств. Реализация плана перехода требует постоянного мониторинга использования CASE-средств, обеспечения текущей поддержки, сопровождения и обновления средств по мере необходимости. Достигнутые результаты должны периодически подвергаться экспертизе в соответствии с графиком, а план перехода - корректироваться при необходимости. Необходимо постоянно уделять внимание удовлетворению потребностей организации и критериям успешного внедрения CASE-средств. Значимой и неотъемлемой частью реализации плана является также обучение и переобучение. Каждая категория сотрудников (например, администраторы средств, служба поддержки рабочих мест, интеграторы средств, служба сопровождения и разработчики приложений) нуждается в различном обучении. Обучение не должно замыкаться только на пользователях CASE-средств, обучаться должны и те сотрудники, на деятельность которых, так или иначе, оказывает влияние использование CASE-средств. При дальнейшем применении CASE-средств организация должна ориентироваться на обучение как сотрудников, вновь принятых на работу, так и специалистов, выполняющих проекты с использованием данных средств. Именно поэтому обучение должно стать неотъемлемой частью нормативных материалов, касающихся деятельности организации, которые предлагаются новым сотрудникам. Итогом данного этапа является внедрение CASE-средств в повседневную практику организации, при этом больше не требуется какого-либо специального планирования. Кроме того, поддержка CASE-средств включается в план текущей поддержки ПО в данной организации.

4 . Примеры CASE-средств и их характеристики

Silverrun

CASE-средство Silverrun американской фирмы Computer Systems Advisers, Inc. используется для анализа и проектирования ИС бизнес-класса. Оно применимо для поддержки любой методологии, основанной на раздельном построении функциональной и информационной моделей. Silverrun имеет модульную структуру и состоит из четырех модулей, каждый из которых является самостоятельным продуктом и может приобретаться и использоваться без связи с остальными модулями: модуль построения моделей бизнес-процессов, модуль концептуального моделирования данных, модуль реляционного моделирования и менеджер репозитория рабочей группы. Платой за высокую гибкость и разнообразие изобразительных средств построения моделей является такой недостаток Silverrun, как отсутствие жесткого взаимного контроля между компонентами различных моделей

Средство разработки приложений JAM - продукт американской фирмы JYACC. Основной чертой JAM является его соответствие методологии RAD, поскольку он позволяет достаточно быстро реализовать цикл разработки приложения, заключающийся в формировании очередной версии прототипа приложения с учетом требований, выявленных на предыдущем шаге, и предъявить его пользователю. JAM имеет модульную структуру и состоит из следующих компонент:

· Ядро системы;

· JAM/DBi - специализированные модули интерфейса к СУБД (JAM/DBi-Oracle, JAM/DBi-Informix, JAM/DBi-ODBC и т.д.);

· JAM/RW - модуль генератора отчетов;

· JAM/CASEi - специализированные модули интерфейса к CASE-средствам (JAM/CASE-TeamWork, JAM/CASE-Innovator и т.д.);

· JAM/TPi - специализированные модули интерфейса к менеджерам транзакций (например, JAM/TPi-Server TUXEDO и т.д.);

· Jterm - специализированный эмулятор X-терминала.

Ядро системы (собственно, сам JAM) является законченным продуктом и может самостоятельно использоваться для разработки приложений. Все остальные модули являются дополнительными и самостоятельно использоваться не могут. При использовании JAM разработка внешнего интерфейса приложения представляет собой визуальное проектирование и сводится к созданию экранных форм путем размещения на них интерфейсных конструкций и определению экранных полей ввода/вывода информации.

Vantage Team Builder

Vantage Team Builder представляет собой интегрированный программный продукт, ориентированный на реализацию каскадной модели ЖЦ ПО и поддержку полного ЖЦ ПО. Наличие универсальной системы генерации кода, основанной на специфицированных средствах доступа к репозиторию проекта, позволяет поддерживать высокий уровень исполнения проектной дисциплины разработчиками: жесткий порядок формирования моделей; жесткая структура и содержимое документации; автоматическая генерация исходных кодов программ и т.д. - все это обеспечивает повышение качества и надежности разрабатываемых ИС.

Локальные средства (ERwin, BPwin, S-Designor)

ERwin - средство концептуального моделирования БД, использующее методологию IDEF1X. ERwin реализует проектирование схемы БД, генерацию ее описания на языке целевой СУБД и реинжиниринг существующей БД. ERwin выпускается в нескольких различных конфигурациях, ориентированных на наиболее распространенные средства разработки приложений 4GL. Для ряда средств разработки приложений (PowerBuilder, SQLWindows, Delphi, Visual Basic) выполняется генерация форм и прототипов приложений. BPwin - средство функционального моделирования, реализующее методологию IDEF0. S-Designor представляет собой CASE-средство для проектирования реляционных баз данных. По своим функциональным возможностям и стоимости он близок к CASE-средству ERwin, отличаясь внешне используемой на диаграммах нотацией. S-Designor реализует стандартную методологию моделирования данных и генерирует описание БД для таких СУБД, как ORACLE, Informix, Ingres, Sybase, DB/2, Microsoft SQL Server и др.

Объектно-ориентированные CASE-средства (Rational Rose)

Rational Rose - CASE-средство фирмы Rational Software Corporation - предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует синтез-методологию объектно-ориентированного анализа и проектирования, основанную на подходах трех ведущих специалистов в данной области: Буча, Рамбо и Джекобсона. Разработанная ими универсальная нотация для моделирования объектов (UML - Unified Modeling Language) претендует на роль стандарта в области объектно-ориентированного анализа и проектирования. Конкретный вариант Rational Rose определяется языком, на котором генерируются коды программ (C++, Smalltalk, PowerBuilder, Ada, SQLWindows и ObjectPro). Основной вариант - Rational Rose/C++ - позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также генерировать программные коды на С++. Кроме того, Rational Rose содержит средства реинжиниринга программ, обеспечивающие повторное использование программных компонент в новых проектах.

Размещено на Allbest.ru

Подобные документы

    Этапы разработки модели базы данных: составление логической схемы и создание на ее основе физической формы графическим инструментарием Erwin. CASE-технологии для проектирования прикладного программного обеспечения и конфигурационного управления проектом.

    контрольная работа , добавлен 03.01.2011

    Исследование объектно-ориентированного подхода к проектированию программного обеспечения будильника. Модель программного обеспечения. Взаимодействие между пользователями и системой. Диаграммы и генерация программного кода при помощи средств Rational Rose.

    курсовая работа , добавлен 26.09.2014

    Типы документации на программное обеспечение. Особенности создания документации в EA. Изучение метода генерации документации в формате RTF. Шаблоны как инструмент для настройки пользовательских требований и стилизации документации программного продукта.

    реферат , добавлен 31.05.2013

    Оснащенность предприятия системным программным обеспечением, используемым для организации производственного процесса. Проектирование, внедрение и эксплуатация системного и прикладного программного обеспечения. Тестирование и отладка программного продукта.

    отчет по практике , добавлен 29.12.2014

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

    курсовая работа , добавлен 20.01.2010

    История возникновения тестирования программного обеспечения, основные цели и особенности его проведения. Виды и типы тестирования, уровни его автоматизации. Использование и исследование необходимых технологий. Полный цикл прогона всей системы мониторинга.

    дипломная работа , добавлен 03.05.2018

    Особенности разработки кода программного модуля на современных языках программирования. Отладка и тестирование программы, оформление документации на программные средства. Применение инструментальных средств для автоматизации оформления документации.

    отчет по практике , добавлен 12.04.2015

    Разработка программно-аппаратного комплекса на базе ПЭВМ типа Pentium IV, включающего в себя периферийное устройство для генерации сигнала в виде напряжения, меняющегося во времени, и программного обеспечения для управления процессом генерации.

    дипломная работа , добавлен 30.06.2012

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

    курсовая работа , добавлен 20.12.2012

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

За последнее десятилетие сформировалось новое направление в программотехнике: CASE (Computer-Aided Software/System Engi­neering - Технология автоматизированной разработки програм­много обеспечения). CASE-технология представляет собой сово­купность методологий анализа, проектирования, разработки и со­провождения сложных систем программного обеспечения (ПО), поддерживаемую комплексом взаимосвязанных средств автомати­зации. CASE - это инструментарий для системных аналитиков, разработчиков и программистов, позволяющий автоматизировать процесс проектирования и разработки ПО.

Практически ни один серьезный зарубежный программный проект не осуществляется без использования CASE-средств. Изве­стная методология структурного системного анализа SADT (точнее ее подмножество IDEFO) принята в качестве стандарта на разработ­ку ПО Министерством обороны США. Более того, среди менедже­ров и руководителей компьютерных фирм знание основ SADT счи­тается правилом хорошего тона; при обсуждении каких-либо вопро­сов упомянутые работники способны нарисовать простейшую диа­грамму, поясняющую суть дела.

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

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

Таким образом, CASE-технологии развивают структурные ме­тодологии и делают более эффективным их применение за счет ав­томатизации.

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

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

CASE-технологии предлагают новый, основанный на автомати­зации подход к концепции ЖЦ ПО. При использовании CASE изме­няются все фазы ЖЦ, при этом наибольшие изменения касаются фаз анализа и проектирования.

В табл. 3.1 приведены оценки трудозатрат по фазам ЖЦ. В табл. 3.2 представлены основные изменения в ЖЦ при использова­нии CASE-технологий сравнению с традиционной разработкой.

Таблица 3.1

Оценки трудозатрат по базам жизненного цикла изделия. %


Таблица 3.2

Основные изменения в жизненном цикле изделия при использовании

CASE-технологий

Традиционная разработка

CASE-технология

Основные усилия направлены на кодирование и тестирование

Основные усилия направлены на анализ и проектирование

Бумажные спецификации

Быстрое итеративное прототипирование

Ручное кодирование

Автоматическая кодогенерация

Ручное документирование

Автоматическая генерация документации

Тестирование кодов

Автоматический контроль проекта

Сопровождение кодов

Сопровождение спецификаций проектирования

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

Мощная графика для описания и документирования систем ПО, а также для улучшения интерфейса для пользователя, развивающая творческие возможности специалистов и не отвлекающая их от про­цесса проектирования на поиск решения второстепенных вопросов;

Интеграция, обеспечивающая легкость передачи данных между средствами и позволяющая управлять всем процессом проек­тирования и разработки ПО непосредственно через процесс плани­рования проекта;

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

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

широкое использование базовых программных средств, полу­чивших массовое распространение в других приложениях (БД и СУ БД, компиляторы с различных языков программирования, отладчи­ки, документаторы, издательские системы, оболочки экспертных систем и базы знаний, языки четвертого поколения и др.);

автоматизированная или автоматическая кодогенерация, вы­полняющая несколько видов генерации кодов: преобразования для получения документации, формирования БД, ввода/модификации данных, получения выполняемых машинных кодов из специфика­ций ПО, автоматической сборки модулей из словарей и моделей данных и повторно используемых программ, автоматической кон­версии ранее используемых файлов в форматы, соответствующие новым требованиям;

ограничение сложности, позволяющее получать компоненты, поддающиеся управлению, обозримые и доступные для понимания, а также обладающие простой и ясной структурой;

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

сопровождаемоетъ, обеспечивающая способность адаптации при изменении требований и целей проекта.

Интегрированный CASE-пакет в совокупности должен:

    поддерживать графические модели;

    контролировать ошибки;

    организовывать и поддерживать репозитарии;

Поддерживать процесс проектирования и разработки.

Графическая ориентация CASE заключается в том, что про­граммы представляют собой схематические проекты и формы, кото­рые оказываются намного более простыми в использовании, чем многостраничные описания.

Для CASE существенны четыре типа диаграмм:

    диаграммы функционального проектирования (для этих целей наиболее часто употребляются DFD-диаграммы потоков данных);

    диаграммы моделирования данных (как правило, ERD-диа- граммы "сущность-связь");

3) диаграммы моделирования поведения (как правило, STD-диаграммы переходов состояний);

4) структурные диаграммы (карты), применяемые на этапе про­ ектирования и описывающие отношения между модулями и внутри- модульную структуру,

Создание и модификация подобных диаграмм осуществляется с помощью специальных графических редакторов (диаграммеров), которые представляют собой сервисные средства на этапах анализа требований и проектирования спецификаций.

Важность контроля ошибок на этапах анализа требований и проектирования спецификаций обусловлена возможностью их ав­томатического обнаружения на ранних этапах ЖЦ, CASE-средства обеспечивают автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах ЖЦ, что влияет на успех разработки в целом. В подтверждение можно привести сле­дующие статистические данные, основанные на отчетах фирмы "TRW" по анализу пяти крупных проектов: при традиционной ор­ганизации работ ошибки проектирования и кодирования составля­ют 64 и 32% от общего числа ошибок, соответственно. Обнару­жить ошибки проектирования на этапе сопровождения ПО в 100 раз труднее, чем на этапах анализа требований и проектирования спецификаций.

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

На основе репозитария осуществляется интеграция CASE-средств и разделение системной информации между разработчиками.

Репозитарий служит базой для стандартизации документов по проекту и контроля состоятельности проектных спецификаций.

Поддержка структурных методологий осуществляется за счет средств их автоматизации на следующих двух уровнях:

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

    корректное использование шагов обработки в методологиях.

Кодогенерация осуществляется на основе репозитария и позво­ляет автоматически построить до 80...90% объектных кодов или текстов программ на языках высокого уровня. Все CASE-средства делятся на типы, категории и уровни. Классификация по типам от­ражает функциональную ориентацию CASE-средств в технологиче­ском процессе.

Анализ и проектирование. Средства этой группы использу­ют для создания спецификаций системы и ее проектирования; они поддерживают широко известные методологии проектиро­вания. К таким средствам относятся CASE. Аналитик (Эйтэкс), The Developer (ASYST Technologies), POSE (Computer Systems Advisers), ProKit *Workbench (McDonnell Douglas), Excelerator (Index Technology), Design-Aid (Nastec), Design Machine (Opti­ma), MicroStep (Meta Systems), VS Designer (Visual Software), Analist/Designer (Yourdon), Design/IDEE (Meta Software), BPWin (Logic Works), SELECT (Select Software Tools), System Architect (Popkin Software & Systems), Westmount I-CASE Yourdon (West-mount Technology B. V. & CADRE Technologies), CASE/4/0 (mic-roTOOL GmbH). Их цель заключается в определении системных требований и свойств, которыми должна обладать система, а также создание проекта системы, удовлетворяющей этим требо­ваниям и обладающей соответствующими свойствами. На выхо­де продуцируются спецификации компонентов системы и ин­терфейсов, связывающих эти компоненты, а также "калька" ар­хитектуры системы и детальная "калька" проекта, включающая алгоритмы и определения структур данных.

Проектирование баз данных и файлов. Средства этой группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в форму, обеспечивающую авто­матическую генерацию схем БД и описаний форматов файлов на уровне программного кода. В число таких средств входят: ERWin (Logic Works), Chen Toolkit (Chen & Associates), S-Designer (SDP), Designer/2000 (Oracle), Silverrun (Computer Systems Advisers).

Программирование. Средства этой группы поддерживают эта­пы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полностью документиро­ванную выполняемую программу: COBOL 2/Workbench (Mikro Fo­cus), DECASE (DEC), NETRON/CAP (Netron), APS (Sage Software). Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традици­онные генераторы кодов, анализаторы кодов (как в статике, так и в динамике), генераторы наборов тестов, анализаторы покрытия тес­тами, отладчики.

Сопровождение и реинжениринг. К таким средствам относятся документаторы, анализаторы программ, средства реструктурирова­ния и реинжениринга: Adpac CASE Tools (Adpac), Scan/COBOL и Superstructure (Computer Data Systems), Inspector/Recoder (Language Technology). Их цель -корректировка, изменение, анализ, преоб­разование и реинжениринг существующей системы. Средства по­зволяют осуществлять поддержку всей системной документации (включая коды, спецификации, наборы тестов); контролировать по­крытие тестами для оценки полноты тестируемости; управлять фун­кционированием системы и т.п. Особый интерес представляют средства обеспечения мобильности (в CASE они получили название средств миграции) и реинжениринга.

Управление проектом. К этим средствам относятся поддержи­вающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов: Project Workbench (Applied Business Technology).

Значительно лучше соответствуют большой размерности задачи ие­рархические CASE-модели. Аббревиатура CASE (Computer-Aided Software/System Engineering) означает проектирование программного обеспечения или системы на основе компьютерной поддержки.

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

Среди отечественных систем, созданных с использованием CASE-средств, следует отметить систему БОСС-КОРПОРАЦИЯ фир­мы АйТи. На всех стадиях создания этой системы использовались сред­ства разработки, относящиеся к семейству Oracle 2000 (Designer/2000, Developer/200, Programmer/2000).

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

Следует отметить, что CASE-технологий применяются не только для создания автоматизированных систем управления, но и для разработки моделей систем, помогающих в принятии решений в области страте­гического планирования, управления финансами фирмы, обучения пер­сонала и т.д. Это направление применения CASE-технологий получило свое собственное название - бизнес-анализ.

CASE-технологий применяются также там, где проблематика пред­метной области отличается большой сложностью, например, в разработ­ке системного программного обеспечения.

Рассмотрим методологические основы CASE-технологий.

Основой CASE-методологии является моделирование. CASE-технология - это модельный метод автоматизации проектирования системы.

CASE-технология основана на парадигме: методология - метод - нотации - средства

Методология определяет общие подходы к оценке и выбору вариан­та системы, последовательность стадий и этапов проектирования, под­ходы к выбору методов.

Метод конкретизирует порядок проектирования отдельных компо­нентов системы (например, известны методы проектирования потоков данных в системе, задания спецификаций (описаний) процессов, пред­ставления структур данных в хранилище и т.д.).

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

Наконец, средства - это инструментарии, средства автоматизации проектирования в виде программных продуктов для обеспечения интер­активного режима проектирования (создание и редактирование графи­ческого проекта информационной системы) и кодогенерацни программ (автоматического создания кодов программ системы).

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

Модель системы должна отражать:

Функциональную часть системы;

Отношения между данными;

Переходы состояний системы при работе в реальном времени. Для моделирования информационной системы в трех указанных аспектах используются три разновидности графических средств с опре­деленными нотациями.

1. Диаграммы потоков данных - DFD (Data Flow Diagrams). Они используются совместно со словарями данных и спецификациями процессов.

2. Диаграммы „сущность-связь" - ERD (Entity Relationship Dia­grams), показывающие отношения между данными.

3. Диаграммы переходов состояний - STD (State Transitign Dia­grams) для отражения зависящего от времени поведения системы (в режиме реального времени).

Ведущая роль в моделировании принадлежит DFD.

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

Графическое представление диаграммы потоков данных на экране дисплея обеспечивает наглядность моделирования и удобство корректи­ровки основных компонентов модели в интерактивном режиме.

Поскольку графического представления недостаточно для точно­го определения компонентов DFD, используются текстовые описания и другие средства конкретизации процессов обработки и структуры данных.

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

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

Текстовое описание;

Естественный структурированный язык;

Таблицы решений;

Деревья решений;

Визуальные языки;

Языки программирования.

Языки программирования (С, Cobol и др.) вызывают затруднения в написании алгоритмов применительно к DFD, поскольку требуют использования, помимо потоков данных, словарей данных, и требуют синхронной корректировки спецификаций процессов при корректиров­ке DFD.

Структурированный естественный язык легко понимается не только проектировщиками и программистами, но и конечными пользователями. В этом его достоинство. Однако он не обеспечивает автоматической кодогенерации из-за наличия неоднозначностей.

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

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

Содержимое каждого хранилища данных, представленного на диа­грамме потока данных, описывается словарем данных и моделью дан­ных ERD. В случае работы системы в реальном времени DFD дополня­ется STD.

Иерархическая структура CASE-модели представлена на рис. 11.9.

Важным методологическим принципом CASE-технологии создания информационной системы является четкое разделение процесса созда­ния системы на 4 стадии:

Предпроектную (стадию анализа, прототипирования, и построения модели требовании к системе);

Проектную, предполагающую логическое проектирование системы (без программирования);

Стадию программирования (включая проектирование физической базы данных);

Послепроектную, включающую в себя ввод в действие, эксплуата­цию и сопровождение системы.

На предпроектной стадии строится модель требований к системе, т. е. подробное описание того, что она должна делать, без указания путей реализации требований.

На проектной стадии происходит уточнение модели требований (раз­работка подробной иерархической модели на основе DFD и специфика­ций процессов) и расширение ее до модели реализации на логическом уровне. В заключение этой стадии происходит тщательный контроль проекта на уровне логической модели реализации.

На следующей стадии (программирования) осуществляется физиче­ское проектирование системы. Эта стадия предусматривает автоматиче­скую кодогенерацию по спецификациям процессов программного обес­печения системы и физическое проектирование базы данных.

Заключительная послепроектная стадия начинается с приемо­сдаточных испытаний. Далее следуют ввод в постоянную эксплуатацию, сопровождение и развитие системы.

Последовательность операций создания информационной системы на основе CASE-технологии представлена на рис. 11.10.

Рассмотрим факторы эффективности CASE-технологии.

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

2. Доступная для понимания пользователей-непрограммистов графи­ческая форма представления модели позволяет осуществить прин­цип пользовательского проектирования, предусматривающий уча­стие пользователей в создании системы. CASE-модель позволяет достичь взаимопонимания между всеми участниками создания системы (заказчиками, пользователями, проектировщиками, про­граммистами).

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

4. Закрепление в формализированном виде требований к системе из­бавляет проектировщиков от необходимости многочисленных кор­ректировок по новым требованиям пользователей.

5. Отделение проектирования системы от программирования созда­ет устойчивость проектных решений для реализации на разных программно-технических платформах.

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

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

8. Модель системы может использоваться не только как основа ее создания, но и в целях автоматизированного обучения персонала с использованием диаграмм.

9. На основе модели действующей системы может выполняться бизнес-анализ для поддержки управленческих решений и бизнес-реинжиниринг при изменении направления деятельности фирмы.

Рассмотрим программные средства, обеспечивающие CASE-техно-логию. В зависимости от функционального назначения они подразделя­ются на следующие классификационные группировки, обеспечивающие:

Анализ и проектирование информационной системы;

Проектирование баз данных;

Программирование;

Сопровождение и реинжиниринг;

Управление процессом проектирования.

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

К таким средствам относятся: отечественный пакет CASE. Аналитик, Design/IDEF (Meta Software), The Developer (ASYST Technologies) и др.

Для согласования требований пользователей создаются прототи­пы пользовательских интерфейсов, включающих в себя меню, экран­ные формы и отчеты в виде таблиц или графиков. Примером про­граммного средства создания пользовательского интерфейса является Developer/2000 (Oracle).

Средства проектирования баз данных обеспечивают логическое мо­делирование данных, автоматическое преобразование моделей данных в третью нормальную форму и генерацию схем баз данных. Примера­ми таких средств является Designer/2000 фирмы Oracle, ERWin (Logic Works) и др.

Средства программирования поддерживают автоматическую кодогенерацию из спецификаций процессов, тестирование и документирование программы. К их числу относятся Programmer/2000 (Oracle), DECASE (DEC), APS (Sage Software) и др.

Средства сопровождения и реижиниринга позволяют вносить изме­нения в систему на уровне моделей при меняющихся условиях бизнеса (Adpac CASE Tools фирмы Adpac и др.).

Средства управления процессом проектирования поддерживают пла­нирование и контроль выполнения комплекса проектных работ, а так­же взаимодействие аналитиков, проектировщиков и программистов на основе общей базы данных проекта (например, Project Workbench фирмы Applied Business Technology). Очевидна актуальность созда­ния интегрированного пакета инструментальных средств поддержки CASE-технологии на всех этапах жизненного цикла информационной системы.