Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема-05-02испр.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
797.95 Кб
Скачать

5.2.4.4. Уровни представления

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

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

На начальном уровне проектирования для класса становятся актуальны такие концепции, как сопоставление состояния с классом, эффективность переходов между объектами, отделение внеш­нею представления от внутренней реализации и определение точных сигнатур операций.

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

И наконец, при реализации в программном коде класс принимает форму, максимально подхо­дящую для отображения в выбранном языке программирования. При этом могут пропасть те об­щие свойства класса, которые не находят в этом языке прямого применения. На уровне реализации класс уже в точности отражает программный код.

Одна и та же модель может содержать классы нескольких уровней. При этом классы, ориен­тированные на непосредственную реализацию в программном коде, могут реализовывать функции логических классов данной модели. Класс программной реализации представляет собой объявле­ние класса в конкретном языке программирования и имеет ту форму, которую требует данный язык. Впрочем, довольно часто всю аналитическую информацию вместе с информацией, касаю­щейся проектирования и реализации, можно разместить в одном классе.

5.2.4.5. Идентификация классов

Классы – это слова и термины из предметной области задачи. При общении с клиентом раз­работчик, анализируя предметную область заказчика, строит компьютерную систему для решения задач в этой области. При этом аналитик изучает терминологию и формирует классы UML.

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

Предположим, аналитику требуется построить модель игры в баскетбол. Он берет интервью у тренера, чтобы понять, как происходит игра. Запись интервью выглядит следующим образом:

«Цель игры – забросить мяч в корзину и получить больше очков, чем противник. Каждая ко­манда состоит из пяти игроков: двух защитников, двух нападающих и центрового. В процессе иг­ры баскетболист стремится перенести мяч к корзине соперника с целью забросить мяч. Мяч ведет и передает игрок. Команда должна забросить мяч до истечения времени атаки. Это – 24 секунды в профессиональных играх, 30 секунд – в международных и 35 секунд – в любительских играх. После получения мяча в течение этого времени нужно сделать бросок.

За каждое попадание в корзину команда получает два очка, если только бросок не происхо­дил из-за пределов трех-очковой линии. В последнем случае добавляется три очка. Свободный бросок оценивается в одно очко. Свободный бросок, является наказанием для команды, нарушив­шей правила. Если игрок неправильно сыграл против соперника, игра останавливается, и против­ник получает право на бросок с линии свободного броска.

Роли игроков.

Защитник преимущественно ведет мяч и передает его. Такие игроки часто имеют рост мень­ший, чем нападающие, которые, в свою очередь, ниже центрового. Предполагается, что все игроки в состоянии вести мяч, передавать его, выполнять броски и отбор мяча. Нападающие, в основном, выполняют отбор и промежуточную передачу мяча, в то время как центральный игрок располага­ется возле корзины и делает броски с небольшого расстояния.

Размеры площадки и продолжительность игры.

Для международных игр длина площадки составляет 28 метров, а ширина – 15. В профессиональном баскетболе игра проходит в течение сорока восьми минут, разделенных на четыре двенадцатиминутных тайма. В любительских и международных играх матч длится 40 минут, раз­деленных на два тайма по 20 минут. Часы показывают оставшееся время».

Идентификацию (выявление) классов надо начать с существительных. Анализ текста и интер­вью позволяют выявить следующие сущности: мяч, корзина, команда, игроки, защитники, напа­дающие, центровой, бросок, время атаки команды, трех-очковая линия, свободный бросок, линия свободного броска, площадка, время игры и др.

А вот глаголы: бросать, вести мяч, нарушать правила, передавать и отбирать мяч. Имеется также дополнительная информация о росте игроков, выполняющих на поле разные задачи, разме­ре площадки, времени, отведенном для броска в корзину и общем времени игры.

Рис. 5.2-18. Исходная диаграмма классов для моделирования игры в баскетбол

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