Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛабРаб № 6!.doc
Скачиваний:
5
Добавлен:
18.08.2019
Размер:
601.6 Кб
Скачать

Классы из модели предметной области и модели проектирования

Напомним, что в модели предметной области объект Sale не представляет про­граммную сущность, а определяет абстракцию понятия реального мира, состояние которой необходимо знать в системе. В отличие от модели предметной области, на диаграмме классов проектирования отображаются программные компоненты. Здесь элемент Sale представляет собой программный класс (рис. 3.2).

Рисунок 3.2 – Классы модели предметной области и модели проектирования

Создание диаграммы классов для pos-системы тт Алгоритм построения диаграмм классов

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

Для POS-приложения к числу таких классов относятся следующие:

Register

Sale

ProductCatalog

Product Specification

Store

SalesLineItem

Payment

  1. Нанесение этих классов на диаграмму и добав­ление атрибутов, определенных с использованием модели предметной области (рис. 3.3).

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

Рисунок 3.3 – Программные классы приложения

Добавление имен методов

Методы каждого класса можно определить путем анализа диаграмм взаимодей­ствия. Например, если сообщение makeLineItem передается экземпляру класса Sale, то в классе Sale должен быть определен метод makeLineItem (рис. 3.4).

Рисунок 3.4 – Имена методов из диаграмм взаимодействия

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

Изучив все диаграммы взаимодействия для POS-приложения, получим име­на методов, представленные на рис. 3.5.

Рисунок 3.5 – Методы приложения

Выбор имен методов

При выборе имен методов необходимо руководствоваться следующими сооб­ражениями:

1. Интерпретировать сообщение create ( ).

2. Описывать методы доступа.

3. Интерпретировать сообщения сложным объектам.

4. Использовать синтаксис языка программирования.

Имена методов: create

Сообщение create на языке UML представляет собой абстрактную форму ини­циализации или инстанцирования. При переходе к реализации системы на объектно-ориентированном языке программирования процесс передачи сообщения необходимо выразить средствами языка программирования с использованием его идиом для инстанцирования и инициализации. В языке C++, Java или Smalltalk не существует реального метода create. Например, на языке C++ память выделяется с помощью оператора new, после которого следует имя конструктора.

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