Шаблон Controller (Контроллер) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Шаблон Controller (Контроллер)



Проблема. Кто должен отвечать за обработку системных сообщений?

Решение. Делегировать обязанности по обработке системных сообщений классу, удовлетворяющему одному из следующих условий:

– класс представляет всю систему в целом (внешний контроллер), например «СРТ».

– класс представляет всю организацию (внешний контроллер), например «Магазин».

– класс представляет активный объект из реального мира (котроллер роли), например «Кассир».

– класс представляет искусственный обработчик всех системных сообщений в рамках некоторого прецедента (контроллер прецедента), например «ПродажаТовара».

В любом случае для всех системных сообщений в рамках одного прецедента должен использоваться один контроллер.

Заметим, что в указанный выше перечень не включены объекты интерфейса пользователя. Обработка системных сообщений на уровне интерфейса пользователя является довольно распространенной ошибкой проектирования, которая приводит к серьезным проблемам при поддержке и повторном использовании. На рис. 100 представлен пример использования шаблона Controller.

Применение шаблона Controller позволяет контролировать состояние прецедента, т.к. все системные сообщения прецедента обрабатываются в одном месте. Кроме того, система получается независимой от уровня представления, что позволяет легко изменять интерфейс пользователя и поддерживать сразу несколько интерфейсов (например, WinForms, Web-интерфейс, интерфейс для мобильных устройств и т.д.).

Рис. 100. Использование шаблона Controller

На практике рекомендуется использовать контроллеры прецедентов, а если системных сообщений мало, то любой внешний контроллер.

Вопросы для самоконтроля

1. Опишите каждый из шаблонов.

2. Какой шаблон является наиболее общим?

3. Что такое связывание и зацепление?

4. Какие бывают контроллеры и зачем они нужны?

Задания для самостоятельной работы

Переделайте Ваши диаграммы сотрудничества и диаграммы классов с учетом рекомендаций, описанных выше в шаблонах GRASP.

Учебное задание

Информационная система для аптеки.

У аптеки имеется несколько поставщиков, поставляющих лекарства, различных производителей. Каждое лекарство относится к некоторой категории (от насморка, болеутоляющее, от аллергии и пр.). Лекарства хранятся в различных шкафах и на полках, в зависимости от условий реализации (требуется рецепт, спец. рецепт) и условий хранения. Полки могут находиться в шкафах.

Перед разрабатываемой системой ставятся следующие основные задачи:

1. Оперативный учет остатков товаров.

2. Анализ спроса.

3. Формирование отчетов о приходе/расходе товара.

Примерный перечень вопросов к зачету
по всему курсу

1. Жизненный цикл информационной системы. Понятие жизненного цикла, процессы жизненного цикла, его виды.

2. Структурный и объектный подходы к разработке информационных систем. Суть подходов, различия между ними, достоинства и недостатки.

3. Моделирование. Понятие и назначение моделирования, понятие модели, классификация моделей.

4. Метамоделирование. Классификация метамоделей. Классификация информационных систем по количеству, уровню и способу использования моделей.

5. Модель прецедентов. Цель и принцип построения модели прецедентов, понятия прецедента и актора, диаграмма прецедентов.

6. Модель бизнес-процессов. Цель и принцип построения модели бизнес-процессов, понятие активности, диаграмма активностей.

7. Концептуальная модель. Цель и принцип построения концептуальной модели, диаграмма понятий (понятия, атрибуты, ассоциации, роли).

8. Концептуальная модель. Цель и принцип построения концептуальной модели, диаграмма понятий (обобщение, правило is_a, правило 100%, агрегация).

9. Диаграммы последовательностей. Цель и принцип построения диаграмм последовательностей, понятия системного сообщения и системной операции, связь между ними.

10. Диаграммы сотрудничества. Цель и принцип построения диаграмм сотрудничества, понятия сотрудничества и взаимодействия, связь между ними.

11. Шаблоны проектирования. Шаблоны GRASP. Примеры.

12. Диаграммы классов. Цель и принцип построения диаграмм классов.

13. Модель реализации. Понятие компонента, диаграмма компонентов.

14. Модель развертывания. Понятие узла, диаграмма развертывания.

Вопрос для итоговой аттестации

Понятие модели информационной системы. Статическая, динамическая и функциональная модели информационной системы; связь между ними; относительная важность. Концептуальная модель, модель спецификации и модель реализации; различия в интерпретации. Классификация Буча. Понятие метамодели. Язык UML. Краткий обзор диаграмм языка UML.

III. Примерное распределение часов курса
по формам и видам работ

№ п/п Наименование разделов и тем Всего часов Аудиторные занятия Самостоятельная работа
лекционные лабораторные
Раздел 1 Введение        
Тема 1.1 Понятие информационной системы        
Тема 1.2 Проблемы сложных задач        
Раздел 2 Введение в теорию моделирования        
Тема 2.1 Понятие моделирования и модели. Принципы моделирования и классификация моделей        
Тема 2.2 Метамоделирование        
Тема 2.3 Классификация информационных систем по уровню и составу моделей        
Раздел 3 Жизненный цикл программного обеспечения        
Тема 3.1 Понятие жизненного цикла. Процессы жизненного цикла        
Тема 3.2 Модели жизненного цикла.        
Раздел 4 Структурный подход к разработке информационных систем        
Тема 4.1 Сущность и основные принципы структурного подхода        
Тема 4.2 Метод функционального моделирования SADT        
Тема 4.3 Моделирование потоков данных        
Тема 4.4 Моделирование структур данных        
Раздел 5 Объектно-ориентированный подход к разработке информационных систем        
Тема 5.1 Сущность и основные принципы объектно-ориентированного подхода        
Тема 5.2 Пример объектно-ориентированного анализа и проектирования        
Раздел 6 Унифицированный язык моделирования UML        
Тема 6.1 Обзор языка UML        
Тема 6.2 Моделирование функциональных требований и диаграмма прецедентов        
Тема 6.3 Моделирование бизнес-процессов и диаграмма активностей        
Тема 6.4 Концептуальное моделирование и диаграмма понятий        
Тема 6.5 Моделирование поведения системы и диаграмма последовательностей        
Тема 6.6 Проектирование поведения системы и диаграмма сотрудничества        
Тема 6.7 Проектирование статической структуры системы и диаграмма классов        
Тема 6.8 Модель реализации и диаграмма компонентов        
Тема 6.9 Модель и диаграмма развертывания        
Раздел 7 Шаблоны проектирования        
Тема 7.1 Введение в шаблоны проектирования        
Тема 7.2 Шаблоны проектирования GRASP        
  Итого:        

IV. Форма итогового контроля

Изучение курса завершается зачетом, выставляемым по результатам выполнения практических заданий, и ответа на теоретический вопрос.

V. Учебно-методическое обеспечение курса

Рекомендуемая литература
(обязательная)

1. Буч Г. Язык UML. Руководство пользователя /Г. Буч, Д. Рамбо, А. Джекобсон: пер. с англ. М.: ДМК Пресс; СПб.: Питер, 2004. (Сер. «Объектно-ориентированные технологии в программировании»).

2. Вендров А.М. Проектирование программного обеспечения экономических информационных систем / А.М. Вендров. М.: Финансы и статистика, 2000.

3. Калянов Г.Н. Современные CASE-технологии / Г.Н. Калянов. М.: ИПУ, 1992.

Рекомендуемая литература
(дополнительная)

1. Боэм Б. Инженерные проектирование программного обеспечения / Б. Боэм. М.: Радио и связь, 1985.

2. Гантер Р. Методы управления проектированием программного обеспечения / Р. Гантер. М.:Мир, 1981.

3. Гласс. Р. Сопровождение программного обеспечения / Р. Гласс, Р. Нуазо. М.: Мир, 1983.

4. Зиглер К. Методы проектирования программных систем / К. Зиглер. М.: Мир, 1985.

5. Золотухина Е.Б. Пример описания предметной области с использованием Unified Modeling Language (UML) при разработке программных систем // Е.Б. Золотухина, Р.В. Алфимов. Interface Ltd., 2001.

6. Калянов Г.Н. CASE структурный системный анализ (автоматизация и применение) / Г.Н. Калянов. М.: Изд-во «Лори», 1996.

7. Калянов Г.Н. Методы и средства системного структурного анализа и проектирования / Г.Н. Калянов. М.: НИВЦ МГУ, 1996.

8. Кватрани Т. Rational Rose 2000 и UML. Визуальное моделирование / Т. Кватрани. Изд‑во ДМК, 2001.

9. Кумсков М. Унифицированный язык моделирования (UML) и его поддержка в Rational Rose 98i – CASE-средстве визуального моделирования / М. Кумсков [Электронный ресурс] (www.interface.ru/public/990804/uml4b.htm).

10. Ларман К. Применение UML и шаблонов проектирования.: пер. с англ.: учеб. пособие / К. Ларман. М.: Изд. дом «Вильямс», 2001.

11. Липаев В.В. Управление разработкой программных комплексов / В.В. Липаев. М.: Финансы и статистика, 1993.

12. Лядова Л.Н. Основы информатики и информационных технологий / Л.Н. Лядова, Б.И. Мызникова, Н.В. Фролова. Пермь: Перм. ун‑т, 2004.

13. Маклаков С.В. BPwin и ERwin. CASE-средства разработки информационных систем / С.В. Маклаков. М.: ДИАЛОГ-МИФИ, 2000.

14. Фаулер М. UML в кратком изложении. Применение стандартного языка объектного моделирования / М. Фаулер, К. Скотт. М.: Мир, 1999.

15. Фергюсон Я. Язык моделирования UML – новая веха в истории Rational /Я. Фергюсон// Computerworld Today, Австралия, 27.11.1997, Computerworld, #44/1997

16. Фокс Д. Программное обеспечение и его разработка / Д. Фокс. М.: Мир, 1985.

17. Штрик А.А. CASE: машинное проектирование программного обеспечения / А.А. Штрик. М.: МЦИЭ ИнтерЭВМ, 1990.

18. Юдицкий С.А. Технология проектирования архитектуры информационно-управляющих систем / С.А. Юдицкий, А.Т. Кутанов. М.: ИПУ, 1993.

19. UML – новый стандарт языка объектно-ориентированного моделирования. Квинтэссенция успешного опыта // SoftScribe International [Электронный ресурс] (http://www.ci.ru/inform22_97/sscrb.htm).

20. UML. Метаязык проектирования и моделирования программного обеспечения [Электронный ресурс] (http://it.metod.ru/reviews/UML).

Список адресов в Интернет

1. www.interface.ru

2. www.citforum.ru

3. www.rif.ru

4. www.osp.ru

5. www.uml.ru

6. www.uml.org

7. www.omg.org

8. Материалы сайтов фирм-производителей CASE-средств.


Учебное издание

Шаврин Сергей Михайлович

Лядова Людмила Николаевна

Чуприна Светлана Игоревна

 



Поделиться:


Последнее изменение этой страницы: 2016-12-15; просмотров: 313; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.228.95 (0.027 с.)