- •Проектирование информационных систем
- •Для студентов пятого курса специальности 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.9.6.4Идентификация ассоциаций
Ассоциация – структурное отношение, описывающее набор связей, в котором каждая из них представляет собой соединение между объектами.
Требуемые ассоциации определяются на основе диаграмм взаимодействия.
На диаграмме классов логического проектирования ассоциации выбираются по программно-ориентированному критерию, и связи проводятся не между объектами предметной области (это модель анализа), а между программными объектами.
Типичными ситуациями, которые требуют определения ассоциаций с указанием направления связи от объекта А к объекту В:
Объект А отправляет сообщение объекту В.
Объект А создаёт объект В.
Объект А должен поддерживать связь с объектом В.
Для выявления отношений между классами необходимо исследовать:
Диаграммы взаимодействия для определения типичных ситуаций.
Объекты на наличие связей целое-часть.
Объекты на наличие связей общее-частное.
Объекты на наличие остальных связей.
При проектировании ассоциаций следует помнить:
Наличие большого количества ассоциаций между классами говорит о плохо спроектированной системе. Недостатками будут: сложность изменения, трудность повторного использования, необходимость изменений во многих классах при изменении какого-то одного класса.
Наличие большого числа уровней иерархии в отношении обобщения приведёт к тому, что система будет плохо управляемой.
В спецификации для агрегации задаётся метод локализации (containment):
Целое и часть создаются и разрушаются одновременно By value – по значению. Это сильная агрегация. Обозначается как закрашенный ромб.
Целое и часть создаются и разрушаются в разное время By reference – по ссылке. Это слабая агрегация. Обозначается как полый ромб.
В UML существует особый вид отношения, называемого отношением зависимости. Это отношение указывает, что элемент (класс, пакет, вариант использования) знает о другом элементе и зависит от него. Лучшим способом реализации отношения зависимости является передача ссылки на независимый класс в операциях зависимого класса.
На диаграмме классов для ассоциаций указывается их направление и мощность (multiplicity). Мощность ассоциации показывает допустимое число объектов, принимающих участие в этой ассоциации.
К онцептуальная диаграмма классов для системы POST.
Д иаграмма классов для варианта использования Покупка товара:
2.10Диаграммы состояний – statechart diagrams
Диаграммы состояний используются для моделирования динамических аспектов системы, в отличие от диаграмм классов, которые показывают статическую картину классов и их отношений.
Диаграмма состояний является графом специального вида, который представляет некоторый конечный автомат. Вершинами графа являются состояния автомата. Дуги графа обозначают переходы из одного состояния в другое состояние.
Автомат (state machine) в UML является формализмом для моделирования поведения системы. Функционирование автомата начинается при поступлении внешнего воздействия и заканчивается либо после поступления нового воздействия, либо после выполнения задачи (функций, на которые рассчитан автомат). Автомат должен быть конечным, то есть у него должно быть конечное множество состояний.
С помощью UML диаграммы состояний можно строить как для системы в целом, так и для различных элементов системы, включая понятия (реального мира); варианты использования; программные классы.
В большинстве случаев отдельные диаграммы состояний строятся для таких элементов, у которых имеется ярко выраженное сложное поведение, и отражают динамику поведения единственного элемента. Другими словами – диаграмма моделирует поведение одного элемента. На диаграмме состояний объекта отображают его жизненный цикл (интервал между моментом создания объекта и моментом его разрушения).
Диаграмма состояний не строится для взаимодействующих объектов. Для представления динамики их поведения служат диаграммы взаимодействия и диаграммы деятельности.
Поведение моделируется как последовательное перемещение по графу состояний от вершины к вершине по связывающим их дугам с учётом их ориентации. Предполагается, что последовательность изменения состояний упорядочена во времени. Это значит, что каждое последующее состояние наступает позже предшествующего ему состояния.
П ростейший пример диаграммы состояния для понятия компьютер: