
- •Проектирование информационных систем Учебное пособие
- •Оглавление
- •1. Методологии и технологии проектирования ис
- •2. Методология rad
- •3. Структурный подход в проектировании информационных систем
- •3.1 Методология функционального моделирования
- •Основные методологии обследования организаций
- •Основные элементы и понятия idef0
- •Особенности национальной практики применения функционального моделирования средствами idef0
- •3.2. Моделирование данных
- •3.3. Диаграммы потоков данных
- •Внешние сущности
- •Системы и подсистемы
- •Накопители данных
- •Потоки данных
- •4. Объектно-ориентированный подход в проектировании информационных систем
- •4.1. Основные понятия объектно-ориентированного программирования
- •4.2. Основные понятия объектно-ориентированного проектирования
- •5. Унифицированный язык моделирования uml
- •5.1. Основные сведения
- •5.2. Диаграммы вариантов использования
- •5.3. Диаграммы взаимодействия
- •5.4. Диаграммы классов
- •6. Инструментальные средства разработки информационных систем
- •6.1. Общая характеристика Case – средств проектирования информационных систем
- •6.2. ModelMaker как средство визуального проектирования концептуальной модели информационной системы
- •6.3. Выполнение учебного проекта с использованием case – средства ModelMaker
- •6.3.1. Постановка задачи проектирования системы регистрации для учебного заведения
- •Составление глоссария проекта
- •Описание дополнительных спецификаций
- •6.3.2. Создание главной диаграммы модели информационной системы
- •6.3.3. Составление списка вариантов использования
- •Вариант использования «Войти в систему» Login
- •Вариант использования «Зарегистрироваться на курсы» (Register for Courses)
- •Вариант использования «Закрыть регистрацию» (Close Registration)
- •6.3.4. Анализ системы
- •6.3.5. Распределение поведения, реализуемого вариантом использования, между классами
- •6.3.6. Построение диаграммы классов и модуля проекта
- •6.3.7. Документирование работы
- •8. Курсовое проектирование
- •Цели и задачи курсового проектирования
- •8.2. Тематика и примерная структура курсовой работы
- •8.3. Задания к курсовой работе
- •Заключение
- •Глоссарий
- •Библиографический список
- •Проектирование информационных систем
Вариант использования «Закрыть регистрацию» (Close Registration)
Краткое описание. Данный вариант использования позволяет регистратору закрывать процесс регистрации. Конкретные курсы, на которые не записалось достаточного количества студентов, отменяются. В расчетную систему передается информация о каждом студенте по каждому конкретному курсу, чтобы студенты могли оплатить курсы.
Основной поток событий
Данный вариант использования начинает выполняться, когда регистратор запрашивает прекращение регистрации.
Система проверяет состояние процесса регистрации. Если регистрация еще выполняется, выдается сообщение, и вариант использования завершается.
Для каждого конкретного курса система проверяет, ведет ли его какой-либо профессор и записалось ли на него не менее трех студентов. Если эти условия выполняются, система фиксирует конкретный курс в каждом графике, который включает данный курс.
Для каждого студенческого графика проверяется наличие в нем максимального количества основных курсов; если их недостаточно, система пытается дополнить альтернативными курсами из списка данного графика. Выбирается первый доступный альтернативный курс. Если таких курсов нет, то никакое дополнение не происходит.
Система закрывает все конкретные курсы. Если в каком-либо конкретном курсе оказывается менее трех студентов (с учетом добавлений, сделанных в п.3), система отменяет его и исключает из каждого содержащего его графика.
Система рассчитывает плату за обучение для каждого студента в текущем семестре и направляет информацию в расчетную систему. Расчетная система посылает студентам счета для оплаты с копией их окончательных графиков.
Предусловия
Перед началом выполнения данного варианта использования регистратор должен войти в систему.
Постусловия
Если вариант использования завершится успешно, регистрация закрывается. В противном случае состояние системы не изменится.
Рассмотрим, как выполнить описание вариантов использования в системе ModelMaker.
Упражнение 6. Описание варианта использования
Щелкните левой кнопкой мыши по варианту использования «Войти в систему» (Login).
Добавьте в окно варианта использования пиктограмму Add Annotation и введите изложенное выше описание данного варианта использования (Краткое описание, основной и альтернативный потоки, потоки ошибок, предусловия и постусловия).
По аналогии с п.1-2 в остальные варианты использования добавьте необходимые описания.
6.3.4. Анализ системы
Архитектурный анализ системы включает в себя реализацию вариантов использования и представляется в виде набора диаграмм (диаграммы последовательности, кооперативные диаграммы, диаграммы классов). Эти диаграммы описывают взаимодействие объектов в процессе реализации каждого конкретного варианта использования.
Предварительно следует определить классы системы (Классы этапа анализа системы). Имена классам следует задавать, исходя из требований к системе, знания предметной области и назначения класса.
Как правило, в потоках событий каждого варианта использования выявляются классы трех типов (Category):
Граничные классы (Boundary) – служат посредниками при взаимодействии внешних объектов с системой. Как правило, для каждой пары «действующее лицо – вариант использования» определяется один граничный класс. Именно он позволяет действующему лицу взаимодействовать с системой. Возможны следующие граничные классы:
пользовательский интерфейс: экранные формы, диалоговые окна;
системный и аппаратный интерфейсы (используемые протоколы, без деталей их реализации) и другие;
Классы – сущности (Entity) – представляют собой ключевые абстракции (понятия) создаваемой системы. Источники выявления классов – сущностей: описание потоков событий вариантов использования, глоссарий проекта (перечень ключевых слов). Обычно для каждого класса – сущности создают таблицу в базе данных;
Управляющие классы (Control) – обеспечивают координацию объектов в системе. Могут отсутствовать в некоторых вариантах использования, ограничивающихся простыми манипуляциями с хранимыми данными. Как правило, для каждого варианта использования определяется один управляющий класс. Он отвечает за координацию, но сам не несет в себе никакой функциональности. Обычно он посылает другим объектам множество сообщений. В системе могут быть управляющие классы, общие для нескольких вариантов использования. Примеры управляющих классов: координатор ресурсов, обработчик ошибок и др.
Рассмотрим последовательность действий по созданию перечня классов на примере анализа основного потока событий варианта использования «Зарегистрироваться на курсы». Первым событием в данном варианте использования является событие «Открыть форму, предназначенную для записи студентов на курсы». Для реализации данного события потребуется одноименное сообщение, источник и приемник сообщения. Источником сообщения будет действующее лицо «Student». Сообщение будем адресовать граничному классу с названием «RegisterForCoursesForm». Таким образом, мы выявили необходимость добавления в модель граничного класса.
Для реализации второго события «Система выводит список возможных действий (создать, обновить, удалить график)» добавим в модель класс «RegistrationController». Анализируя остальные события и рассуждая аналогичным образом, можно выявить все другие классы, необходимые для реализации основного потока событий рассматриваемого варианта использования. Их перечень приведен на рисунке 29. В наборе присутствуют следующие классы:
Граничный класс RegisterForCoursesForm (форма регистрации курсов);
Граничный класс CourseCatalogSystem (Каталог курсов);
Управляющий класс RegistrationController (Контроллер регистрации курсов);
Класс – сущность Student (Соответствует действующему лицу «Студент»;
Класс – сущность Schedule (Соответствует действующему лицу «Расписание».
Упражнение 7. Создание в браузере списка классов на этапе анализа модели
Маркируйте в браузере вкладку «Classes» и выполните команду контекстного меню «Add Class»;
В появившемся диалоговом окне запишите имя создаваемого класса (буквы русского алфавита использовать нельзя, т.к. имена классов будут затем использоваться в программном коде);
Рисунок 29 – Первоначальный список классов, участвующих в реализации варианта использования «Зарегистрироваться на курсы»
Задайте тип (категорию) создаваемого класса. Для этого через кнопку «+» раздела «Category» запишите название типа.
Перейдите на вкладку «Documentation» и запишите текст краткого описания класса. Завершите диалог. В результате увидим в браузере созданный класс модели;
Аналогично создайте в браузере остальные классы для варианта использования «Зарегистрироваться на курсы». На рисунке 30 представлен вид браузера с добавленным в него перечнем классов для данного варианта. Следует отметить, что родительским классом при этом является класс Tobject. На его основе созданы все остальные классы системы Delphi. Классы Student и Professor являются потомками класса User (Пользователь).
Добавьте в модель классы, необходимые для реализации других вариантов использования. Можно также позже добавлять в браузер классы, необходимость в которых обнаружится позже.