Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы и средства проектирования информационных систем и технологий. Курс лекций
.pdf
Методом, который лежит в основе создания проекта реализации варианта ис-
пользования является организация выполнения сценария.
Категория «организация» многозначна. В широком смысле это свойство систем,
в узком — действия, направленные на создание чего–либо (например, организация
собственного «дела», организация необходимого поведения системы). В то же время
организацией можно назвать группу людей, объединившихся ради достижения общих
целей. Это могут быть производственные, общественно–политические и спортивные
организации, организации любителей пива и т. д. Организация выполнения сценария
является действием, направленным на достижение вариантом использования постав-
ленных целей. Для того чтобы организовать достижение целей необходимо выполнить
следующие действия:
1. Идентифицировать (определить) объекты классов проектирования, которые
будут участвовать в достижении целей
2. Распределить каждому из объектов те действия (операции), за выполнение ко-
торых они будут отвечать (распределить ответственность)
3. Используя операции объектов, задать на множестве объектов последователь-
ность действий (сценарий), который через взаимодействие (обмен сообщениями) реа-
лизует некоторое поведение системы для достижения цели
Вариант использования предназначен для моделирования взаимодействия объ-
ектов системы при отображении состояния банковского счета, создании документа
счет по данным кассового аппарата и оплаты документа счет. На диаграмме заданы
следующие сценарии: просмотр банковского счета, прием данных об оплате, оплата
покупки.
Операции класса проектирования должны поддерживать все роли, которые исполняет этот класс в различных реализациях вариантов использования. Роль опреде-
ляются посредством анализа диаграмм взаимодействия, описывающих реализации
вариантов использования, и выявление в последовательности операций и потоках со-
бытий (сценариях) некоторого списка операций, выполняемых объектом класса.
Шаблоны проектирования
При распределении ответственности и разработке способов взаимодействия
объектов разработчику предоставляется достаточная свобода действий. Неудачный вы-
бор метода распределения может привести к тому, что системы и их отдельные компо-
ненты окажутся непригодными для поддержки, понимания, повторного использования
и резервирования. Неудачи можно избежать, если при распределении ответственности
61

применять принципы объектно-ориентированного проектирования. Некоторые из этих
принципов систематизированы в шаблонах GRASP и применяются при разработке диа-
грамм взаимодействия, то есть при распределении ответственности между объектами и
разработке способов их взаимодействия.
В объектно–ориентированном проектировании шаблоном называют описание
проблемы по распределению ответственности и ее решения. Результат решения про-
блемы это операции назначенные объекту для выполнения успешного (а в общем слу-
чае требуемого) сценария взаимодействия. В идеале шаблон должен содержать советы
по поводу его применения в различных ситуациях. С этой точки зрения шаблоны явля-
ются основным механизмом для накопления и повторного использования полезных
принципов разработки программного обеспечения.
Шаблон MVC (Model–View–Controller)
Шаблон проектирования Model–View–Controller (далее просто MVC) использо-
ван в основе архитектурного решения первой среды программирования с графическим
интерфейсом пользователя — Smalltalk–80. Согласно шаблону, при проектировании
следует разделять данные приложения, пользовательский интерфейс и управляющую
логику на три отдельных компонента: модель, представление и контроллер — таким
образом, что модификация одного из компонентов оказывает минимальное воздействие
на остальные. Модель (Model) предоставляет данные предметной области представле-
нию и реагирует на команды контроллера, изменяя свое состояние. Представление
(View) отвечает за отображение данных предметной области пользователю, реагируя на
изменения модели. Контроллер (Controller) интерпретирует действия пользователя,
оповещая модель о необходимости изменений.
Предложенное программистами Smalltalk-80 решение оказалось настолько эф-
фективным, что по прошествии уже почти 30 лет с момента своего появления шаблон
проектирования MVC до сих пор является стандартом настольных и Интернет–
приложений. В этом легко убедиться — достаточно рассмотреть, насколько MVC представлен в популярных платформах программирования.
Шаблон Expert
Шаблон Expert может быть представлен описанием проблемы распределения
ответственности и описанием ее решения.
Проблема: каков наиболее общий принцип распределения ответственности
между объектами при объектно-ориентированном проектировании?
62

Решение: назначить ответственность информационному эксперту-классу, у ко-
торого имеется информация, требуемая для выполнения ответственности. При распре-
делении ответственности шаблон Expert используется гораздо чаще любого другого
шаблона. В нем определены основные принципы, которые давно используются в объ-
ектно-ориентированном проектировании. Шаблон не содержит неясных или запутан-
ных идей и отражает обычный интуитивно понятный подход. Он заключается в том,
что объекты выполняют действия, связанные с имеющейся у них информацией.
Шаблон Controller
Шаблон Controller может быть представлен описанием проблемы распределения
ответственности и описанием ее решения.
Проблема: Как распределить ответственность при обработке информационной
системой системных событий.
Системное событие это событие высокого уровня, генерируемое внешним ис-
полнителем (событие с внешним входом). Системные события связаны с системными
операциями, то есть операциями, выполняемыми системой в ответ на события. Напри-
мер, когда кассир нажимает кнопку OutCheck, он генерирует системное событие, сви-
детельствующее о завершении торговой операции.
Шаблон Polymorphism
Шаблон Polymorphism может быть представлен описанием проблемы распреде-
ление обязанностей и описанием ее решения.
Проблема: Как обрабатывать альтернативные варианты поведения на основе
типа? Как создавать подключаемые программные компоненты?
Решение: При изменении поведения одного типа (или класса), ответственность
распределяется для различных вариантов поведения с помощью полиморфных опера-
ций для этого класса.
Определение атрибутов класса проектирования
Атрибутом класса проектирования называется представление свойства или при-
знака объекта (класса) в знаковой форме в процессе мысленного выделения из окружа-
ющей его среды.
При определении атрибутов следует учитывать следующие положения:
1. Рассмотрите атрибуты классов анализа, трассируемых в классы проектирова-
ния. Иногда они соответствуют одному или нескольким атрибутам класса проектиро-
вания
63

2. Доступные типы атрибутов выбираются из предполагаемого к использованию
языка программирования
3. Выбирая тип, постарайтесь использовать ранее применяемые типы
4. Одиночный экземпляр атрибута не может совместно использоваться несколь-
кими объектами проектирования. При необходимости атрибут переопределяют в виде
отдельного класса
5. При уменьшении понимания класса проектирования по причине сложности
его атрибутов, некоторые из его атрибутов можно выделить и переопределить в виде
отдельных классов
6. При необходимости рассмотреть все множество атрибутов класса проектиро-
вания, можно проиллюстрировать его структуру отдельной диаграммой, указав на ней
только атрибуты класса.
ПРИМЕРЫ ЛАБОРАТОРНЫХ РАБОТ
Тема: Функциональное моделирование бизнес-процессов фирмы в стандарте
IDEF0.
Цель работы: Изучить теоретические основы структурного подхода к проекти-
рованию информационных систем. Освоить принципы построения IDEF0-диаграммы
классов в программной среде Ramus Educational.
Задачи:
1. Ознакомиться с теоретическими вопросами структурного подхода к проекти-
рованию информационных систем.
2. Изучить диаграмму IDEF0 (Integration Definition for Function Modeling) для
предметной области «Гостиница».
3. Построить с помощью программного средства Ramus Educational диаграмму
IDEF0 согласно индивидуальному заданию (вариант получить у преподавателя).
Разработка модели IDEF0 в системе Ramus Educational
Программное обеспечение «Ramus» предназначено для использования в проектах, в которых необходимо описание бизнес-процессов предприятия. «Ramus» поддерживает методологии моделирования бизнес-процессов IDEF0 и DFD, а также имеет ряд
дополнительных возможностей, призванных удовлетворить потребности команд разра-
ботчиков систем управления предприятиями. «Ramus» обладает гибкими возможно-
стями построения отчетности по графическим моделям, позволяющие создавать отчеты
в форме документов, регламентирующих деятельность предприятия.
64

Ramus Educational имеет достаточно интуитивный интерфейс пользователя, поз-
Наименование стрелки
Тип
Заявки на заселение в гостиницу
вход
Материально-техническое и кадровое обеспечение работы
вход
гостиницы
Нормативно-правовая база
управление
Гостиничные услуги
выход
Отчетность
выход
Финансовые результаты деятельности
выход
Услуги контрагентов
механизм
Инфраструктура гостиницы
механизм
воляющий быстро и просто создавать сложные модели.
Создание контекстной диаграммы
1. На панели инструментов выберите пиктограмму функции ( ) и мышью
укажите месторасположение на рабочем пространстве.
2. Дайте данному функциональному блоку имя «Описать деятельность гос-
тиницы».
3. Используя пиктограмму панели инструментов , создайте стрелки на кон-
текстной диаграмме согласно Таблица 1.
Таблица 1. Контекстная диаграмма
В результате должна получиться контекстная диаграмма, показанная на рис. 12.
Рис. 12. Контекстная диаграмма предметной области «Гостиница»
65

Создание диаграммы декомпозиции
Выберите в палитре инструментов кнопку перехода на нижний уровень , в
диалоговом окне «Создание новой диаграммы» (рис. 13) установите количество
функциональных блоков 3, укажите тип диаграммы (IDEF0) и нажмите кнопку ОК.
Рис. 13 Диалоговое окно создания детализирующей диаграммы
Автоматически будет создана диаграмма первого уровня декомпозиции (рис. 14)
с перенесенными в нее потоками родительской диаграммы.
Рис. 14 Рабочее пространство детализирующей диаграммы
66

Рис. 15. Детализированная диаграмма первого уровня
3. Осуществите построение детализирующих диаграмм для функциональных бло-
ков согласно представленной иерархии (рис. 16).
Рис. 16. Иерархия функциональных блоков модели
67

4. В результате должны быть разработаны IDEF0-диаграммы, представленные на
рис. 17–21.
Рис. 17 Детализированная диаграмма работы «Предоставление номера»
Рис. 18 Детализированная диаграмма работы «Обслуживание номеров»
68

Рис. 19 Диаграмма работы «Обеспечение телефонных переговоров»
Рис. 20 Детализированная диаграмма работы «Резервирование номеров»
69

Рис. 21. Детализированная диаграмма работы «Оформление заселения»
5. В программе Ramus Educational предусмотрена возможность экспорта разрабо-
танных диаграмм в виде рисунков формата *.png, *.bmp или *.jpeg. Для этого в главном
меню необходимо выбрать команду «Диаграммы» «Экспортировать как рисунки». В
появившемся окне указывается список экспортируемых рисунков, выбирается их формат
и размер, а также путь для сохранения (см. Рис. 17).
Рис. 22 Диалоговое окно экспорта диаграмм
6. Покажите преподавателю разработанные диаграммы.
Содержание работы
1. Ознакомиться с теоретическими вопросами построения IDEF0–диаграммы.
2. Изучить диаграмму IDEF0 для предметной области «Гостиница».
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
