- •Проектирование информационных систем
- •Для студентов пятого курса специальности 071900 – Информационные системы в технике и технологиях
- •1Введение
- •1.1Классификация методов проектирования
- •1.2Виды информационных систем
- •1.2.1Системы обработки данных
- •1.2.2Системы управления
- •1.2.3Офисные системы
- •1.2.4Системы поддержки принятия решений
- •1.2.5Экспертные системы
- •1.3Структура информационной системы
- •1.4Архитектура системы
- •1.4.1Общее понятие системной архитектуры
- •1.4.2Архитектурные уровни
- •2Проектирование информационных систем на основе объектно-ориентированного подхода
- •2.1Представления системы
- •2.2Uml-модель информационной системы
- •2.3Представления системы в rational rose
- •2.4Проектирование в rational rose
- •2.5Моделирование предметной области
- •2.5.1Моделирование организационной структуры
- •2.5.2Моделирование бизнес-процессов
- •2.5.3Моделирование бизнес-функций
- •2.5.4Моделирование документов и бизнес-сущностей
- •2.6Использование бизнес-модели на этапах разработки
- •2.7Диаграмма вариантов использования – use case diagram
- •2.7.1Обозначения в диаграмме вариантов использования
- •2.7.2Идентификация актёров и вариантов использования
- •2.7.3Категории вариантов использования
- •2.7.4Абстрактные варианты использования
- •2.7.5Конкретные варианты использования
- •2.7.6Запись актёров и вариантов использования
- •2.7.7.4Альтернативные потоки событий
- •2.7.7.5Постусловия варианта использования
- •2.8Диаграммы взаимодействия – interaction diagrams
- •2.8.1Идентификация объектов
- •2.8.2Использование диаграмм взаимодействия
- •2.8.3Диаграмма последовательности – Sequence diagram
- •2.8.4Подход к разработке диаграммы последовательности
- •2.8.5Диаграмма кооперации – Collaboration Diagram
- •2.9Диаграммы классов – class diagrams
- •2.9.1Классы
- •2.9.1.1Параметризованный класс – parameterized class
- •2.9.1.2Класс-наполнитель – instantiated class
- •2.9.1.3Утилита - utility
- •2.9.1.4Метакласс – metaclass
- •2.9.1.5Абстрактный класс – abstract class
- •2.9.2Стереотип класса
- •2.9.2.1Пограничные классы – boundary classes
- •2.9.2.2Управляющие классы – control classes
- •2.9.2.3Классы-сущности – entity classes
- •2.9.3Видимость класса – Visibility
- •2.9.4Пакеты – packages
- •2.9.5Диаграммы классов
- •2.9.6Создание диаграммы классов
- •2.9.6.1Идентификация программных классов
- •2.9.6.2Идентификация атрибутов
- •2.9.6.3Идентификация операций
- •2.9.6.4Идентификация ассоциаций
- •2.10Диаграммы состояний – statechart diagrams
- •2.10.1Основные сведения о диаграмме состояний
- •2.10.2События
- •2.10.2.1Сигнал
- •2.10.2.2С обытие вызова
- •2.10.2.3События времени и изменения
- •2.10.3Правила построения диаграммы состояний
- •2.10.4Диаграммы состояний для вариантов использования
- •2.10.5Классы и типы для диаграммы состояний
- •2.11Диаграммы компонентов – component diagrams
- •2.11.1Компоненты
- •2.11.2Основные виды компонентов
- •2.11.3Основные стереотипы компонентов
- •2.11.4Диаграмма компонентов
- •2.11.5Правила построения диаграммы компонентов
- •2.12Диаграмма развёртывания – deployment diagram
- •2.12.1Узлы - Nodes
- •2.12.2Соединения
- •2.12.3Диаграмма развёртывания
- •2.12.4Использование диаграмм развёртывания
- •2.12.4.1Встроенные системы
- •2.12.4.2Клиент-серверные системы
- •2.12.4.3Распределённые системы
- •3Системное проектирование сложных систем
- •3.1Цель и задачи системного проектирования
- •3.1.1Цель системного проектирования
- •3.1.2Задачи системного проектирования
- •3.2Структура и содержание документов системного проекта
- •3.2.1Техническое задание
- •3.2.2Описание архитектуры программного и информационного обеспечения системы
- •3.2.3Описание жизненного цикла, технологии и инструментария проектирования программного средства и базы данных
- •3.2.4Планы управления рабочими проектами
- •3.2.5Техническое задание на рабочее проектирование
- •3.2.6Системный проект
- •3.2.7Акт завершения работ и утверждения системного проекта
- •3.2.8Основные компоненты договора на детальное проектирование
- •3.3Работы и нормативные документы по системному проектированию информационной системы
- •3.4Стандарты в жизенном цикле информационных систем
- •3.4.1Нормативно-методическое обеспечение
- •3.4.2Рекомендуемые стандарты
- •4Проектирование систем как часть жизненного цикла
- •4.1Стадии и этапы жизненного цикла
- •4.1.1Исследование
- •4.1.2Проработка
- •4.1.3Создание
- •4.1.4Переходный период
- •4.2Процесс проектирования
- •4.2.1Концептуальное проектирование
- •4.2.2Логическое проектирование
- •4.2.3Физическое проектирование
2.2Uml-модель информационной системы
В рамках унифицированного языка моделирования все представления о модели сложной системы фиксируются в виде диаграмм. Перечень этих диаграмм является неотъемлемой частью графической нотации UML, а объектно-ориентированный подход к анализу и проектированию систем неразрывно связан с построением этих диаграмм. Совокупность построенных диаграмм содержит всю необходимую информацию для реализации проекта сложной системы.
Следует заметить, что каждая из диаграмм может быть построена как с концептуальной точки зрения, так и с точки зрения спецификации. Более того, RUP предполагает построение диаграмм спецификации на основе диаграмм концепции. Кроме того, внесение изменений на одной диаграмме [автоматически] вызывает внесение этих же изменений в остальные. Поэтому, хотя каждое из представлений может разрабатываться в отдельности, не следует забывать о существующих зависимостях между ними.
При проектировании с использованием UML диаграммы используются для отображения системной архитектуры. Диаграммы могут создаваться для разных целей, основными из которых являются:
Отображение поведения системы:
диаграммы деятельностей (процессы, подлежащие автоматизации) – Activity Diagrams;
диаграмма вариантов использования (функции системы для конкретных участников) – Use case Diagrams;
диаграммы последовательностей (операции, упорядоченные во времени) – Sequence Diagrams;
диаграммы коопераций (потоки данных между участниками) – Collaboration Diagrams;
диаграммы состояний (изменение состояний и переходы между состояниями) – Statechart Diagrams;
Отображение структуры системы:
диаграммы классов (классы, интерфейсы, кооперации) – Class Diagrams;
диаграммы компонентов (модули реализации) – Component Diagrams;
диаграмма развёртывания (узлов и соединений) – Deployment Diagram.
Конкретный набор диаграмм для разрабатываемой системы зависит от её сложности. Не для каждой системы необходимо создавать абсолютно все диаграммы. Это во многом определяется необходимостью детализации тех или иных аспектов проектируемой системы.
2.3Представления системы в rational rose
CASE-средство Rational Rose поддерживает следующие представления:
Use case View – представление с точки зрения функций. Служит для описания предметной области, подлежащей автоматизации.
Logical View – представление с точки зрения проектирования. Предназначено для описания ключевых абстракций системы, то есть логики системы и путей удовлетворения предъявляемых к системе требований.
Component View – представление с точки зрения реализации. Служит для описания физической реализации Logical View.
D eployment View – представление с точки зрения развёртывания. Служит для описания размещения компонентов (модулей) системы по аппаратным средствам.
Первые два представления предполагают построение следующих диаграмм: Use case, Activity, Class, Sequence, Collaboration, Statechart. Различие этих диаграмм заключается в том, что в представлении Use case View они создаются для бизнес-объектов и отражают точку зрения пользователей, а в Logical View – для программных объектов и отражают точку зрения проектировщиков.
Как правило, проектирование новых сложных информационных систем начинается с глубокого анализа предметной области и создания модели (набора диаграмм) представления с точки зрения функций. В первую очередь определяются организационные пакеты, которые детализируются до такой степени детализации, при которой возможно решение предъявленных требований. Далее создаётся логическая модель, выбираются средства программирования и баз данных, строится модель реализации (диаграммы компонентов и развёртывания).
Rational Rose обеспечивает поддержку существенных элементов создания современного программного обеспечения информационных систем. Эти элементы независимы друг от друга, но совместное их использование и естественно и выгодно. К ним относятся:
приоритет архитектуры на ранних этапах жизненного цикла;
компонентно-ориентированная разработка;
управляемая итеративная и последовательная разработка.