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



ЗНАЕТЕ ЛИ ВЫ?

Шаблон 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; просмотров: 362; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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