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

^

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

Гайфуллов Руслан, студент 2 курса, специальность прикладная информатика ФГБОУ ВПО Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «МГТУ имени Носова»

Аннотация

В данной статье дается определение базы данных. Дальше рассматриваются типы данных в базах данных, и их использование при проектировании баз данных. Потом дается определение Case технологий. А в конце, рассказывается о Case технологиях в проектирования баз данных

CASE technologies in database design

Gayfullov Ruslan, 2nd year student, specialty Applied Informatics, FSBEI HPE “MSTU of a name Nosov”

Аnnotation

In this article provides a definition database. Further describes the types of data in databases and their use in database design. Then provides a definition database. And in the end, tells about case technologies in database design.

ЧТО ТАКОЕ БАЗЫ ДАННЫХ

Базы данных (БД) – множество связанных друг с другом данных, которые организуются со схемой БД для удобной работы с ними пользователя.

Определение из Википедии: Базы данных – множество документов в объективной форме, систематизированных для поиска и обработки с помощью ЭВМ (это электронная вычислительная машина).

База данных – множество данных, хранящихся согласно схеме данных, манипуляция с которыми происходит по правилам средств манипулирования данных.

База данных – сведения, хранящиеся неким упорядоченным способом.

ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ

Этап проектирования базы данных - процесс создания проекта баз данных, нужной для поддержки функционирования предприятия и способствующей достижению его целей.

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

Основные задачи:

Хранение в БД всей нужной информации.

Возможность получить данные по всем нужным запросам.

Уменьшение избыточности и дублирования данных.

Обеспечение целостности и дублирования данных

ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ

Проектирование БД осуществляется в 3 этапа: концептуальное (инфологическое), логическое (даталогическое), физическое.

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

Концептуальное (инфологическое) проектирование – создание семантической модели предметной области (информационная модель самого высокого уровня абстракции). Эта модель создаётся без ориентации на СУБД и модель данных. Концептуальная модель БД состоит из описания информационных объектов (понятий предметной области) со связями меж ними и описания ограничений целостности, то есть требований к допускаемым значением данных связей меж ними.

Логическое проектирование – перенесение проекта на внутреннюю модель СУБД (это система управления БД).

Логическое (даталогическое) проектирование – это создание схемы БД с помощью реляционной модели данных.

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

Физическое проектирование – это создание схемы БД для конкретно для нужной системы управления БД (например, Access).

Есть еще один вариант этапов проектирования БД:

1 этап: постановка задачи

2 этап: Анализ предметной области.

3 этап: Создание модели.

4 этап: Выбор способов представления информации и программного инструментария.

5 этап: Создание компьютерной модели объекта.

6 этап: Работа с созданной базой данных.

ЧТО ТАКОЕ CASE ТЕХНОЛОГИИ

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

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

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

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

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

Также подход использует общепринятые методологии, моделируя разные информационные системы, а именно

SADT (Structured Analysis and Design Technique), DFD (Data Flow Diagrams), а также ERD (Entity Relationship Diagrams).

Есть три основные модели в этом подходе:

функциональные, информационные и динамические

Этот подход реализуют Bpwin, Erwin, Business Studio, IBM WebSphere business modeler и Sybase Power Designer.

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

Этот подход реализуют Rational Rose и ARIS.

Case умеет анализировать и программировать программные средства, проектировать интерфейс, документировать, а также производить структурный код на каком-нибудь языке программирования.

Case инструменты делятся на типы и категории:

Типы (здесь отражается функциональная ориентация на разные процессы жизненного цикла разработки ПО и совпадает с составом компонент крупных интегрированных Case систем):

средства анализа, созданные для создания и анализа модели предметной области(Bpwin (logical works).

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

средства проектирования БД, моделирующие данные и генерирующие схемы БД (на SQL) для систем управления базами данных. Это Erwin (Logic works) и DataBase Designer (Oracle) и Designer/2000.

средства разработки приложений (Developer/2000), Delphi).

средства реинжиниринга, анализирующие программные коды и схемы БД, а также формирование с их помощью разных моделей и проектных спецификаций. Средства анализа схем БД и формирование ERD имеют Designer/2000, Erwin. При анализе программных кодов самыми известными являются объектно-ориентированные Case средства, помогающие проводить реинжиниринг программ на языке С++ (Rational Rose).

Вспомогательные типы

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

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

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

средства документирования (SoDA (Rational Software)).

CASE ТЕХНОЛОГИИ В ПРОЕКТИРОВАНИИ БАЗ ДАННЫХ

В качестве Case технологии я рассмотрю Erwin

На всех стадиях разработки БД, Erwin показывает структуру и основные элементы создаваемой базы данных. Это инструмент разработки, в автоматическом режиме создающий таблицы, а также генерирующий тысячи строк текста хранимых процедур и триггеров для систем управления базами данных. Erwin ускоряет создание приложений для обработки данных.

С Erwin проектирование БД легче. Для этого надо создается графическую E-R модель (объект-отношение), которая удовлетворяет требованиям к данным, а также вводятся бизнес-правила, создавая логическую модель, отображающую элементы, атрибуты, отношения и группировки. Erwin может манипулировать атрибутами при помощи их буксировки, вносить изменения, а также нормализовать во время создания БД. Можно редактировать прямо на диаграммах. Это означает внесение изменений в модель, не открывая специальных диалоговых окон. При помощи отчетов, которые формируются системой, проверяется правильность созданной БД.

Erwin не только инструмент для «рисования», но и автоматизирует проектирование. Ссылочная целостность БД обеспечивается автоматическим переносом ключей. Создающиеся в Erwine модели данных могут редактироваться, просматриваться и распечатываться разными способами. А при помощи RPTwin (имеющей графический интерфейс и умеющей формировать отчеты) и средства для просмотра настраиваемыми режимами, обеспечивающими контроль отображения содержимого отчетов, можно реализовать одинаковые стандарты проектирования и отображения настроек для всех моделей.

Erwin средство для быстрого создания БД. Erwin оптимизирует модель для соответствия физическим характеристикам нужной БД. Так же Erwin самостоятельно согласует логическую и физическую схемы и преобразовывает логические конструкции (например, многие ко многим) в их реализацию на физическом уровне. Реализация и прямого и обратного инжиниринга в Erwin достигается при помощи естественной динамической связи между моделью и базой данных. При помощью этой связи Erwin самостоятельно создает таблицы, представления, индексы, правила поддержания целостности ссылок (первичных и внешних ключей), устанавливает значения по умолчанию, а также ограничения для доменов/столбцов. В Erwine целостность ссылок обеспечивают множество оптимизированных шаблонов триггеров, а также мощный макроязык, при помощи которого создаются свои триггеры и хранимые процедуры. Для точной оценки и характера роста базы данных или хранилища имеются средства расчёта объема, облегчающие эффективное распределение ресурсов системы и планирование мощности.

Количество просмотров публикации: -

Что такое CASE-СРЕДСТВАCASE-средства (от англ.Computer-Aided Software
Engineering) -– это инструментальные средства
автоматизации проектирования ИС.
CASE-СРЕДСТВА это методы программной инженерии для
проектирования программного обеспечения, которые
позволяют обеспечить высокое качество программ,
отсутствие ошибок и простоту в обслуживании
программных продуктов.
Также под CASE понимают совокупность средств
проектирования информационных систем с
использованием CASE-инструментов.

Case средства

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

Функции проектирования, которые наиболее часто автоматизируемые в рамках CASE-средств:

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

Результат применения CASE-средств:

оптимизация структуры ИС;
снижение расходов на разработку;
повышение эффективности ИС;
снижение вероятности ошибок при
проектировании ИС.

Архитектура типового Case-средства

Репозиторий

Ядром любой системы проектирования ПО является репозиторий.
Репозиторий представляет собой специализированную БД,
которая используется для отображения состояния системы в любой момент
времени и содержит информацию о всех объектах проектной ИС:
Имена проектировщиков и их права доступа,
Организованные структуры,
Компоненты диаграмм и диаграммы в целом,
Структуры данных,
Взаимосвязи между диаграммами,
Программные модули, процедуры и библиотеки модулей.

Классификация Современных Case средств:

1. Классификация Case средств по
поддерживаемым методологиям:
-
функциональные или структурно-ориентированные;
-
объектно-ориентированные;
-
комплексно-ориентированные.

2. Классификация Современных Case средств по типам:

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

Примеры Case-средств различных типов:

Средства анализа (Design, BpWin);
Средства анализа и проектирования (Designer - Oracle);
Средства проектирования БД (ErWin, Designer - Oracle);
Средства разработки приложений (Developer – Oracle,
Delphi);
Средства реинженеринга (ErWin, Rational Rose).

3. Классификация Современных Case средств по категориям:

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

Другие виды классификации Case-средств:

4.
Классификация Case-средств по поддерживаем
графическим нотациям;
5.
Классификация Case-средств по степени
интегрированности отдельных инструментов;
6.
Классификация Case-средств по типу и архитектуре
используемой вычислительной техники;
7.
Классификация Case-средств по типу коллективной
разработки;
8.
Классификация Case-средств по типу используемой
операционной среды.

При выборе Case средств необходимо учитывать следующие аспекты:

Наличие БД, архива или словаря;
Наличие интерфейсов с другими Case системами;
Возможности экспорта и импорта информации;
Открытая архитектура;
Наличие необходимых методологий;
Наличие графических средств поддержки проекта;
Возможность автоматической генерации кода программ;
Возможность планирование и управление проектом.

Case-средство Универсальный язык моделирования UML

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

Взаимосвязь диаграмм UML

Диаграмма вариантов
использования
Диаграмма
последовательности
Диаграмма
классов
Диаграмма
кооперации
Диаграмма
компонентов
Диаграмма
состояний
Диаграмма
развертывания
Диаграмма
видов деятельности

Case-средство IBM Rational Rose

Rational Rose - современное и мощное средство анализа,
моделирования и разработки программных систем,
охватывающее весь Жизненный цикл ПО
от анализа бизнес-процессов до кодогенерации на
заданном языке программирования.
Такой арсенал позволяет не только проектировать новую
информационную систему, но и доработать старую,
произведя процесс обратного проектирования.

Основные возможности пакета Rational Rose:

прямое и обратное проектирование на языках: ADA,
Java, С, C++, Basic;
поддержка технологий COM, DDL, XML;
возможность генерации схем БД Oracle и SQL.

Версии продукта Rational Rose:

Версия Rational Rose Modeler позволяет проводить анализ бизнес-процессов и
проектировать систему. Но не поддерживает кодогенерацию.
Версия Rational Rose Professional В зависимости от выбранного языка программирования
позволяет выполнять прямое и обратное проектирование. Заказывается только в
определенной конфигурации (например, Rose Professional С++ или Rose Professional С++
DataModeler). Не создает 100 % исполняемого кода. На выходе разработчик получает
каркасный код информационной системы на определенном (заказанном) языке
программирования, который впоследствии нужно еще дорабатывать.
Версия Rational Rose RealTime создана специально для получения 100 % исполняемого
кода в реальном масштабе времени, позволяет проводить прямое и обратное
проектирование на языках С или С++. На выходе модель автоматически компилируется
и собирается в исполняемый файл.
Версия Rational Rose Enterprise эта версия продукта покрывает весь спектр задач по
проектированию, анализу и кодогенерации. Поддерживаются все функции других
редакций, за исключением возможности 100 % кодогенерации.
Версия Rational Rose DataModeler вариант продукта по проектированию баз данных.
Функции DataModeler входят в состав Rose Enterprise или Professional.
В пакет MS Visual Studio 6.0 встроен Visual Modeler - усеченный вариант Rational Rose 98.

Дополнительная информация по пакету Rational Rose:

Бесплатной версии продукта Rational Rose не
существует;
для образовательных учреждений все программное
обеспечение IBM доступно бесплатно;
бесплатное использованиея в учебных целях возможно
в рамках программы IBM Academic Initiative.

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

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

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

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

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

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

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

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

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

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

Характерные особенности CASE-средств:

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

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

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

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

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

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

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

- Автоматическая генерация программного кода . Генерация программного кода осуществляется на основе репозитария и позволяет автоматически построить до 85–90% текстов на языках высокого уровня.

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

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

Повторная разработка сводится к построению исходной модели программной системы путем исследования ее программных кодов. Имея модель, можно ее усовершенствовать, а затем вновь перейти к разработке. Одним из наиболее известных принципов такого типа является принцип возвратного проектирования (Round Trip Engineering (RTE)).

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

В настоящее время среди прочих требований к CASE-средствам предъявляются следующие:

Наличие возможностей определения основной модели прикладной задачи (бизнес-модели, обычно объектно-ориентированной) и правил ее поведения (бизнес-правил);

Поддержка процесса проектирования с помощью библиотек, оснащенных средствами хранения, поиска и выбора элементов проектирования (объектов и правил);

Наличие средств для создания пользовательского интерфейса и поддержания распространенных программных интерфейсов (поддержка стандартов OLE, OpenDoc, доступ к библиотекам HTML/Java и т.п.);

Наличие возможностей для создания различных распределенных клиент-серверных приложений.

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

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

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

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

· Виды блюд.

· Персонал.

· Должности.

· Постоянные клиенты.

· Заказы.

Модель строим на логическом уровне (см. рис. 2). Из рисунка 2 видно, что в модели проставлены связи. Рассмотрим их подробнее:

Таблица «Виды блюд» и таблица «Блюда» - установлена связь «один-ко-многим» при помощи первичного ключа «Код вида»;

Таблица «Должности» и таблица «Персонал» - установлена связь «один-ко-многим» при помощи первичного ключа «Код должности»;

Таблица «Блюда» и таблица «Заказы» - установлена связь «один-ко-многим» при помощи первичного ключа «Код блюда»;

Таблица «Персонал» и таблица «Заказы» - установлена связь «один-ко-многим» при помощи первичного ключа «Код работника»;

Таблица «Постоянные клиенты» и таблица «Заказы» - установлена связь «один-ко-многим» при помощи первичного ключа «Код клиента».



Рис. 2. Концептуальная модель данных


2.3 Разработка логической модели информационной системы

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

Схема 1 - Многоуровневое представление данных БД под

управлением СУБД

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

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

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

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

Проектирование базы данных состоит в построении комплекса взаимосвязанных данных. На рисунке 2 условно отображены этапы процесса проектирования базы данных.

Схема 2 - Этапы процесса проектирования базы данных

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

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

При связи один ко многим (1:М) одному экземпляру информации А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с одним экземпляром объекта А.

Примером связи 1:М служит связь между информационными объектами Фамилия – Оклад:

Фамилия Оклад


В базе данных информация хранится в виде двумерных таблиц. Можно так же импортировать и связывать таблицы из других СУБД или систем управления электронными таблицами. Одновременно могут быть открыты 1024 таблицы.

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

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

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

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

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

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

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

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

Функциональная зависимость реквизитов – зависимость, при которой в экземпляре информационного объекта определённому значению ключевого реквизита соответствует только одно значение описательного реквизита.

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

Рисунок 1 - Графическое изображение функциональной зависимости реквизитов

В случае составного ключа вводится понятие функционально полной зависимости.

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

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

Третья нормальная форма. Понятие третьей нормальной формы основывается на понятии не транзитивной зависимости.

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

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

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

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

Целью работы является создание базы данных, обеспечивающей:

быстрый ввод новых данных;

хранения и поиск уже введённых данных;

печать необходимого количества персональных отчётов.

Данными являются:

Фамилия, имя, отчество;

Дата рождения;

Занимаемая должность;

Должностной оклад;

Количество фактических дней отработанных за месяц.

Рассмотрев определенные выше задачи можно спроектировать основные таблицы базы данных.

Для этого будем пользоваться средствами Database Desktop

В этой среде создадим все необходимые таблицы для разрабатываемой базы данных. Атрибутами в этой таблице будет:

Фамилия, Имя, Отчество, Дата принятия, Адрес, Телефон, Смены, Не выходы на работу, Ставка, зарплата.