Проектирование информационной системы с помощью case метода. Основные возможности пакета Rational Rose
CASE-технологии проектирования информационных систем
За последнее десятилетие сформировалось новое направление в программотехнике - CASE (Computer-Aided Software/System Engineering) - в дословном переводе - разработка программного обеспечения информационных систем при поддержке (с помощью) компьютера. В настоящее время не существует общепринятого определения CASE, термин CASE используется в весьма широком смысле. Первоначальное значение термина CASE, ограниченное вопросами автоматизации разработки только лишь программного обес-печения, в настоящее время приобрело новый смысл, охватывающий процесс разработки сложных автоматизированных информационных систем в целом. Теперь под термином CASE-средства понимаются программные средства, поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного программного обеспечения (ПО) (приложений) и баз данных, генерацию кода, тести-рование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют полную среду разработки ИС.
CASE-средства позволяют не только создавать "правильные" продукты, но и обеспечить "правильный" процесс их создания. Основная цель CASE состоит в том, чтобы отделить проектирование ИС от его кодирования и последующих этапов разработки, а также скрыть от разработчиков все детали среды разработки и функционирования ИС. При использовании CASE-технологий изменяются все этапы жизненного цикла программного обеспечения (подробнее об этом будет сказано ниже) информационной системы, при этом наибольшие изменения касаются этапов анализа и проектирования. Большинство существующих CASE-средств основано на методологиях структурного (в основном) или объектно-ориентированного анализа и проектирования, использующих специ-фикации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств. Такие методологии обеспечивают строгое и наглядное описание про-ектируемой системы, которое начинается с ее общего обзора и затем детализируется, приобретая иерархическую структуру со все большим числом уровней. CASE-технологии успешно применяются для построения практически всех типов ИС, однако устойчивое положение они занимают в следующих областях:
обеспечение разработки деловых и коммерческих ИС, широкое применение CASE-технологий обусловлены массовостью этой прикладной области, в которой CASE применяется не только для разработки ИС, но и для создания моделей систем, помогающих решать задачи стратегического планирования, управления финансами, определения политики фирм, обучения персонала и др. (это направление получило свое собственное на-звание - бизнес-анализ);
разработка системного и управляющих ИС. Активное применение CASE-технологий связано с большой сложностью данной проблематики и со стремлением повысить эффективность работ.
Помимо автоматизации структурных методологий и, как следствие, возможности применения современных методов системной и программной инженерии, CASE-средства обладают следующими основными достоинствами:
улучшают качество создаваемых ИС за счет средств автоматического контроля (прежде всего контроля проекта);
позволяют за короткое время создавать прототип будущей системы, что позволяет на ранних этапах оценить ожидаемый результат;
ускоряют процесс проектирования и разработки;
освобождают разработчика от рутинной работы, позволяя ему целиком сосредоточиться на творческой части разработки;
поддерживают развитие и сопровождение разработки;
поддерживают технологии повторного использования компонента разработки.
Необходимо понимать, что успешное применение CASE-средств невозможно без понимания базовой технологии, на которой эти средства основаны. Сами по себе программные CASE-средства являются средствами автоматизации процес-сов проектирования и сопровождения информационных систем. Без понимания методологии проектирования ИС невозможно применение CASE-средств.
^
Характеристика современных CASE-средств
Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл (ЖЦ) ИС.
Наиболее трудоемкими этапами разработки ИС являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых техни-ческих решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил. Графические средства моделирова-ния предметной области позволяют разработчикам в наглядном виде изучать существующую ИС, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями.
В разряд CASE-средств попадают как относительно дешевые системы для персональных компьютеров с весьма ограниченными возможностями, так и дорогостоящие системы для неоднородных вычислительных платформ и операционных сред. Так, современный рынок программных средств насчитывает около 300 различных CASE-средств, наиболее мощные из которых, так или иначе, используются практически всеми ведущими западными фирмами.
Обычно к CASE-средствам относят любое программное средство, автоматизирующее ту или иную совокупность процессов жизненного цикла ИС и обладающее следующими основными характерными особенностями:
мощными графическими средствами для описания и документирования ИС, обеспечивающими удобный интерфейс с разработчиком и развивающими его твор-ческие возможности;
интеграцией отдельных компонент CASE-средств, обеспечивающей управляемость процессом разработки ИС;
использованием специальным образом организованного хранилища проектных метаданных (репозитория). Интегрированное CASE-средство (или комплекс средств, поддерживающих полный ЖЦ ИС) содержит следующие компоненты:
репозиторий, являющийся основой CASE-средства. Он должен обеспечивать хранение версий проекта и его отдельных компонентов, синхронизацию поступления информации от различных разработчиков при групповой разработке, контроль метаданных на полноту и непротиворечивость;
графические средства анализа и проектирования, обеспечивающие создание и редактирование иерархичес-ки связанных диаграмм (DFD, ERD и др.), образующих модели ИС;
средства разработки приложений, включая языки 4GL и генераторы кодов;
средства конфигурационного управления;
средства документирования;
средства тестирования;
средства управления проектом;
средства реинжиниринга.
применяемым методологиям и моделям систем и БД;
степени интегрированности с СУБД;
доступным платформам.
средства анализа (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)).
Silverrun;
Designer/2000;
Vantage Team Builder (Westmount I-CASE);
ERwin+BPwin;
S-Designor;
CASE-Аналитик.
Охарактеризуем основные возможности 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 позволяет осуществлять одно-временную групповую работу с моделями, хранящи-мися в сетевом репозитории на базе СУБД Oracle, Sybase или Informix. При этом несколько разработчи-ков могут работать с одной и той же моделью, так как блокировка объектов происходит на уровне отдельных элементов модели.
Помимо системы 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 Engineering - Технология автоматизированной разработки программного обеспечения). 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 существенны четыре типа диаграмм:
диаграммы функционального проектирования (для этих целей наиболее часто употребляются 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 (Optima), 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 Focus), 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 Diagrams), показывающие отношения между данными.
3. Диаграммы переходов состояний - STD (State Transitign Diagrams) для отражения зависящего от времени поведения системы (в режиме реального времени).
Ведущая роль в моделировании принадлежит 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-технологии на всех этапах жизненного цикла информационной системы.