Выполнено практическое задание 4. Тема 2.1. Базовые информационные технологии. Объектно-ориентированное моделирование предметной области средствами Microsoft Visio
Задание 4
4.1. Изучите теоретический материал, представленный ниже.
4.2. Создайте в пакете «Игра в баскетбол» все классы, описывающие данную предметную область.
4.3. Создайте в пакете «Игра в хоккей» все классы, описывающие данную предметную область.
4.4. Загрузите файл Microsoft Visio в курсе для проверки преподавателем. Имя файла – Задание 4.vsd.
Ход выполнения задания 4.2
1. Создайте новую модель в Microsoft Visio, выбрав тип диаграммы UML Model Diagram.
2. В проводнике модели задайте имя модели – «Задание 4», пакет «Top Package» переименуйте в «Идентификация классов».
3. В пакете «Идентификация классов» создайте пакет «Игра в баскетбол».
4. В пакете «Игра в баскетбол» создайте классы (рис. 13).
5. Во всех классах определите их основные свойства, а также сигнатуры операций, которые могут выполнять классы. Кроме того, необходимо в этом пакете создать диаграмму классов (Static Structure) и отобразить на ней все идентифицированные классы.
Результатом этого этапа выполнения практической работы является набор классов в пакете «Игра в баскетбол» с определенными свойствами и операциями, а также лист диаграммы классов.
Ход выполнения задания 4.3
Описание игры в хоккей
«Хоккейная команда состоит из центрового, вратаря, двух крайних нападающих и двух защитников. Каждый игрок имеет клюшку, которую он использует для ведения шайбы по льду. С помощью клюшки нужно забросить шайбу в ворота.
В хоккей играют на катке с максимальными размерами 30,5 метра в ширину и 70 метров в длину. Хоккейная площадка разделена на зоны линиями. Зона, принадлежащая команде («Своя зона»), отделяется от зоны, не принадлежащей команде («Свободная зона»), красной линией. Площадка разделяется пополам синей линией. Таким образом, существуют две свободные зоны между красными линиями и центральной (синей) линией.
Задачей центрального игрока является передача шайбы крайним нападающим, которые обычно лучше всех выполняют броски. Защитник старается остановить игроков противника и не дать им занять позицию для броска. Допускается применение силовых приемов в борьбе с противником, но без ударов, подножек и т. п. Если игрок нарушает эти правила, то он может быть удален с площадки на 2 минуты, 5 минут или до конца игры – в зависимости от тяжести нарушения.
Вратарь – это последняя линия защиты, он задерживает шайбы после бросков противника. Каждый раз, когда он останавливает шайбу и не дает ей попасть в ворота, ему засчитывается один балл. Каждый гол приносит команде одно очко. Игра длится 60 минут, разделенных на три периода по 20 минут каждый».
1. В модели Microsoft Visio создайте новый пакет «Игра в хоккей», подчиненный главному пакету «Идентификация классов».
2. Используйте исходные данные для создания классов предметной области «Игра в хоккей». Для этого в пакете создайте соответствующую диаграмму (Static Structure), отображающую идентифицированные классы. В результате должен получиться набор классов в пакете «Игра в хоккей» с определенными свойствами и сигнатурами операций, а также диаграмма классов.
3. Проанализируйте классы из модели «Игра в баскетбол» и классы из модели «Игра в хоккей». Определите общие классы для обеих моделей, выявите абстракции.
4. Переименуйте пакет «Идентификация классов» в «Спортивные игры».
5. Переименуйте модель из «Задание 4» в «Идентификация классов»; переименуйте систему из «UML System 1» в «Задание 4».
6. Создайте лист диаграммы Static Structure Diagram в пакете «Спортивные игры», вызвав контекстное меню щелчком правой кнопки мыши на папке «Спортивные игры» или с помощью команды New – Static Structure Diagram. Задайте имя диаграмме «Спортивные игры».
7. Сравнивая имена классов, перетащите мышью все общие классы из модели «Игра в баскетбол» в пакет «Спортивные игры» (рис. 14). Все эти классы инкапсулируют в себе обобщенные понятия: Игра, Команда, Игрок, Площадка, ПравилоИгры – и содержат их общие свойства. Такие классы не имеют конкретных экземпляров в реализации программы и называются абстрактными.
1. На диаграмме классов «Игра в баскетбол» удалите с листа (не из модели!) классы, не относящиеся конкретно к игре в баскетбол, и оставьте на ней только те, которые непосредственно характеризуют эту игру.
2. Аналогичные действия проделайте с диаграммой классов «Игра в хоккей».
После всех изменений в пакетах «Игра в баскетбол» и «Игра в хоккей» должны находиться только те классы, которые относятся к соответствующей игре.
В результате должны быть созданы три пакета классов: «Спортивные игры», «Игра в баскетбол», «Игра в хоккей», в каждом из которых будет находиться статическая диаграмма классов, отображающих соответствующую предметную область. Примерное содержание пакетов «Игра в баскетбол» и «Игра в хоккей» представлено на рис. 15.
Изобразите на диаграмме «Спортивные игры» все производные классы и укажите их отношения с суперклассами в виде линий с треугольными стрелками, идущими от подкласса к суперклассу.
Результатом выполнения этого задания должно быть полное определение отношений обобщения (Generalization) между всеми классами модели (рис. 16). Все отношения между классами должны быть визуализированы на диаграммах «Спортивные игры», «Игра в баскетбол», «Игра в хоккей».