- •Проектирование информационных систем
- •Для студентов пятого курса специальности 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.7.3Категории вариантов использования
Варианты использования так же, как и функции системы, делятся на категории. Для классификации use cases приняты следующие категории: основные, второстепенные и дополнительные:
Основные (primary use cases) – представляют самые общие процессы. Например, покупка товара.
Второстепенные (secondary use cases) – представляют менее значительные или редкие процессы. Например, запрос на новый ассортимент товаров.
Дополнительные (optional use cases) – описывают процессы, реализация которых в системе не является обязательной. Например, авторизация главного кассира.
2.7.4Абстрактные варианты использования
Варианты использования могут иметь абстрактный (покупка товара) или конкретный (детализированный) характер.
На этапе бизнес-моделирования лучше записывать прецеденты в формате высокого уровня абстракции, определяя категорию варианта (основной, второстепенный, дополнительный).
Вариант использования |
Покупка товара – Buy Items |
Актёры |
Покупатель, кассир |
Категория |
Основной |
Описание |
Покупатель подходит к кассе с выбранными товарами. Кассир вводит информацию о товаре и оформляет оплату. Покупатель уходит с покупками. |
Вариант использования |
Включение – Start Up |
Актёры |
Менеджер |
Категория |
Основной |
Описание |
Менеджер включает систему POST для её дальнейшего использования кассирами и проверяет правильность системной даты и времени, после чего система считается готовой к использованию. |
На этапе логического проектирования (следующем шаге после бизнес-моделирования) следует выделить наиболее важные и рискованные варианты использования и записать их в развёрнутом виде. Описание всех других вариантов использования лучше отложить во избежание дополнительных сложностей.
2.7.5Конкретные варианты использования
Конкретные варианты использования должны описывать, что должна будет делать создаваемая система, а не как она будет это делать. На данном этапе проектировщиков не должна интересовать среда программирования, но лучше заранее подумать о конкретных технологиях ввода-вывода информации. Это делается для того, чтобы определить содержимое диалоговых окон интерфейса пользователя. Из технологии программирования известно, что чем раньше будет определён пользовательский интерфейс, согласован с пользователями и “заморожен”, тем легче будет разрабатывать всю систему в целом. Развёрнутые варианты использования очень полезны для проектирования.
Конкретные прецеденты записываются в описании потока событий.
2.7.6Запись актёров и вариантов использования
На диаграмме вариантов использования к каждому актёру в окне документации спецификации актёра следует кратко определить актёра. Например, “Кассир – человек, занимающийся продажей товаров и приёмом денег за проданные товары”.
К каждому варианту использования следует подключить текстовый файл в формате MS Word. В этом файле должно находиться подробное описание потока событий для варианта использования – flow of events.
2.7.7Описание потока событий
Описание потока событий обычно содержит:
Краткое описание.
Предусловия (pre-conditions).
Основной поток событий.
Альтернативный поток событий (или альтернативные потоки).
Постусловия (post-conditions).
2.7.7.1Описание
Описание содержит краткие сведения о том, что будет делать данный вариант использования.
Описание легко составляется из абстрактного описания варианта использования. Например, для прецедента Покупка товара это может быть: Позволяет кассиру ввести информацию о товарах, выбранных покупателем, и оформить оплату.
2.7.7.2Предусловия варианта использования
Предусловия – это такие условия, которые должны быть выполнены прежде, чем вариант использования начнёт свою работу.
Например, условием может быть выполнение другого варианта использования.
Не у всех вариантов использования могут быть предусловия.
2.7.7.3Основной поток событий
Основной поток событий отражает, что должно происходить во время выполнения заложенной в вариант использования функциональности, причём с точки зрения актёра. В основном потоке событий описывается нормальный поток событий (без отклонений и без ошибок).
Например, основной поток событий для прецедента Покупка товара:
Для каждого товара кассир вводит универсальный код товара UPC в поле ввода UPC окна [Покупка товара]. Если выбрано несколько единиц одного и того же товара, кассир может ввести это количество в поле ввода [Количество].
По завершению ввода кассир сообщает системе, что информация введена, для чего нажимает клавишу <Enter> или щёлкает на кнопке <Ввести данные>.
Система отображает цену товара в поле [Цена товара] и добавляет информацию для выполнения транзакции. Описание товара отображается в поле [Товар] окна [Покупка товара].
Система вычисляет и выводит общую стоимость покупки в поле [Всего] окна [Покупка товара].
Кассир по желанию покупателя выбирает тип платежа: оплата наличными, оплата по кредитной карточке.
Выбрана оплата наличными.
Выбрана оплата по кредитной карточке.
Система регистрирует сделанную покупку.
Система обновляет сведения о наличии и количестве товара.
Система готовит товарный чек.
Кассир, нажав на кнопку <Чек> выдаёт товарный чек покупателю.
Отдельные строки основного потока событий могут быть детализированы, о чём в этих строках должно быть обязательно написано.
Детализация строки 5.1 основного потока событий Оплата наличными:
Кассир вводит полученную от покупателя сумму в поле ввода [Сумма] окна [Покупка товара]. Сумма может превышать общую стоимость покупки.
Система отображает полученную сумму. Вычисляет сумму сдачи и отображает её в поле [Сдача] окна [Покупка товара].
Кассир вносит полученную сумму в кассу, извлекает при необходимости сдачу.
Система фиксирует внесённую в кассу сумму и изъятую из кассы.
Детализация 5.2 Оплата по кредитной карточке:
Кассир вводит информацию, необходимую для оформления оплаты по кредитной карточке.
Система генерирует запрос на оформление оплаты по кредитной карточке и отправляет его внешней системе авторизации кредитов.
Система авторизации кредитов авторизует оплату.
Система получает подтверждение на выполнение платежа от системы авторизации кредитов.
Система заносит информацию об оплате по кредитной карточке и подтверждение в систему оплаты кредитов, которая перечисляет деньги на счёт магазина.
Система отображает сообщение об успешной авторизации.