- •Проектирование информационных систем
- •Для студентов пятого курса специальности 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.12.2Соединения
Узлы системы находятся друг с другом в определённых отношениях. Самое распространённое отношение между узлами – ассоциация.
Ассоциация в контексте развёртывания системы – это физическое соединение узлов для исполнения реальных процессов.
Ассоциация не имеет направления. Наличие ассоциации предполагает, что между узлами необходимо организовать физический канал для обмена информацией между соответствующими узлами. Например, последовательный канал, разделяемая шина.
В виду того, что узлы аналогичны классам, могут быть доступны все возможные типы отношений (зависимость, агрегация, обобщение). Можно задавать роли и мощности отношений. Решение о необходимости включения в диаграмму развёртывания детального описания отношений принимается разработчиками.
Соединения так же, как и узлы, используются для определения топологии создаваемой системы с точки зрения взаимодействия конкретных процессоров и устройств, которое должно поддерживаться для успешной работы системы.
2.12.3Диаграмма развёртывания
Диаграмма развёртывания показывает конфигурацию узлов, где производится обработка информации, и то, какие компоненты размещены на каждом узле.
Диаграммы развёртывания используют для представления статики системы с точки зрения размещения.
Основные элементы диаграммы развёртывания – это узлы и соединения.
Для одной системы строится одна единственная диаграмма развёртывания, на которой показывают соединения процессоров и устройств, а также процессы, развёрнутые на каждом процессоре.
Данная UML-диаграмма позволяет визуализировать аппаратные аспекты системы и является достаточной для описания аппаратной платформы, на которой система будет исполняться. Системный программист получит из этой диаграммы всю необходимую информацию для обеспечения сопряжения между программной и аппаратной частями системы.
2.12.4Использование диаграмм развёртывания
Диаграммы развёртывания строятся при проектировании систем следующего типа:
Встроенные системы – embedded systems.
Системы клиент/сервер – client/server systems.
Распределённые системы – fully distribution systems.
2.12.4.1Встроенные системы
Встроенная система – аппаратный комплекс, который взаимодействует с внешним миром, и в котором велика роль программного обеспечения.
Такие системы управляют двигателями, манипуляторами, дисплеями, табло, а сами управляются внешними стимулами. Например, управляющими приводами, датчиками.
Чаще всего, это всевозможные робототехнические системы или системы управления автоматикой.
На диаграмме развёртывания изображаются процессоры и микропроцессоры с развёрнутыми на них компонентами, а также управляющие и управляемые устройства.
Внимание уделяется:
уникальным устройствам и узлам системы;
специальным обозначениям нестандартных устройств с целью различить процессоры с программными компонентами от устройств, которые таковых не содержат;
отношениям между процессорами и устройствами;
детализации структуры компонентов наиболее “интеллектуальных устройств”.
2.12.4.2Клиент-серверные системы
Клиент-серверная система – это система с пользовательским интерфейсом, расположенным на клиенте, и данными, хранящимися на сервере.
Известны две вариации таких систем: “тонкий” клиент и “толстый” клиент. В первом случае у клиентов может не быть своих собственных компонентов для обработки данных и вычислительные ресурсы ограничены. Во втором – вычислительные ресурсы клиента больше, он может заниматься не только визуализацией данных, но и их обработкой.
При использовании трёхуровневой архитектуры понятно, что компоненты уровня представления следует разместить на клиенте, а компоненты уровня управления данными – на сервере. Компоненты логики представления, то есть компоненты уровня бизнес-правил, требуют детализации как с точки зрения реализации (диаграмма компонентов), так и с точки зрения их развёртывания.
При проектировании клиент-серверных систем строится одна диаграмма развёртывания для системы и ряд уточняющих диаграмм, в которых показываются пакеты (то есть более крупные элементы размещения). На этих диаграммах уточняется минимальное количество выполняющих одинаковые процессы и необходимых для функционирования системы процессоров и устройств.
Внимание уделяется:
идентификации узлов, представляющих клиента и сервер (может быть много клиентов и много серверов);
идентификации специальных устройств, которые влияют на поведение системы (нестандартные устройства ввода-вывода данных), потому что эти устройства важны с точки зрения архитектуры системы;
описанию процессов, которые разворачиваются на отдельных узлах с целью рационального размещения компонентов на клиенте и на сервере.