Всем привет. Написано в описании, что стоимость 30 000 рублей. Вопрос: 30 000 за возможность пройти курс? или же 30 000 только за выдачу диплома? |
Разработка диаграммы классов и редактирование их свойств
Добавление класса на диаграмму классов и редактирование его свойств
Для добавления класса на диаграмму классов нужно с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы класса на специальной панели инструментов, отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. На диаграмме появится изображение класса с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию NewClass.
Продолжая разработку модели банкомата в качестве сквозного примера проекта, построим для этой модели следующую каноническую диаграмму - диаграмму классов. С этой целью следует изменить предложенное по умолчанию имя диаграммы Main на Диаграмма классов ATM, а имя добавленного на диаграмму класса - на Транзакция Банкомата (рис. 4.1).
Поскольку разрабатываемая модель банкомата на начальных этапах работы над проектом используется для анализа общей архитектуры проекта и согласования ее с различными участниками рабочей группы, имена классов, их атрибутов и операций для большей наглядности и понимания задаются на русском языке с пробелами и записываются символами кириллицы. В последующем по мере выполнения проекта и реализации модели на некотором языке программирования, имена соответствующих классов, атрибутов и операций должны быть преобразованы в символы латиницы. При этом имена этих элементов модели должны быть записаны без пробелов. В контексте управляемой моделью архитектуры первую модель еще называют независимой от платформы реализации, а вторую - зависимой от платформы реализации.
Для класса Транзакция Банкомата можно уточнить его назначение в модели с помощью указания стереотипа и пояснительного текста в форме документации. С этой целью двойным щелчком левой кнопкой мыши на изображении этого класса на диаграмме или в браузере проекта следует открыть диалоговое окно спецификации свойств этого класса (рис. 4.2) и на вкладке General (Общие) выбрать из вложенного списка Stereotype стереотип entity (сущность).

Рис. 4.2. Диалоговое окно спецификации свойств класса Транзакция Банкомата при выборе из вложенного списка стереотипа entity
Выбор данного стереотипа означает, что соответствующий класс предназначен для хранения информации, которая должна сохраняться в системе после уничтожения объектов данного класса. Далее в секцию документации данного класса можно ввести поясняющий текст: "Используется для сохранения информации о выполненных банкоматом транзакциях" и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования свойств выбранного класса. После назначения стереотипа классу Транзакция банкомата текст данного стереотипа в угловых скобках появится выше имени данного класса (рис. 4.3).

Рис. 4.3. Диаграмма классов модели банкомата после выбора стереотипа для класса Транзакция Банкомата
Для отдельного класса можно уточнить также и другие его свойства, доступные для редактирования на вкладке Detail (Подробно) окна спецификации свойств этого класса. Например, на этой вкладке с помощью вложенного списка Multiplicity (Кратность) можно задать количество объектов или экземпляров данного класса, для чего следует выбрать строку с буквой n. Данное значение означает, что у класса Транзакция банкомата может быть любое конечное число экземпляров (рис. 4.4). Поле ввода с именем Space (Пространство) служит для указания объема абсолютной или относительной памяти, которая требуется, по оценке разработчика, для реализации каждого объекта данного класса. Применительно к рассматриваемой модели это поле можно оставить пустым.

Рис. 4.4. Диалоговое окно спецификации свойств класса Транзакция Банкомата, открытое на вкладке Detail (Подробно)
Далее можно задать устойчивость классов в группе выбора Persistence. При этом выбор свойства Persistent (Устойчивый) означает, что информация об объектах данного класса должна быть сохранена в системе. Выбор свойства Transient (Временный) означает, что нет необходимости сохранять информацию об объектах данного класса в системе после завершения работы программного приложения. Применительно к рассматриваемой модели следует выбрать свойство Persistent.
В группе выбора Concurrency (Параллельность) можно специфицировать условия на возможность реализации объектов данного класса в параллельных потоках управления. Для выбора могут быть использованы следующие свойства:
- Sequential (Последовательный) - свойство по умолчанию, которое означает, что объекты класса будут вести себя нормально только при наличии одного потока управления, т. е. соответствующие операции объектов должны выполняться последовательно. В то же время при наличии нескольких потоков управления стабильное поведение объектов класса не гарантируется.
- Guarded (Безопасный) - означает, что при наличии нескольких потоков управления объекты класса будут вести себя ожидаемым от них образом. Для этого объекты в различных потоках должны взаимодействовать друг с другом для того, чтобы гарантировать отсутствие конфликта между ними.
- Active (Активный) - означает, что класс должен иметь свой собственный поток управления.
- Synchronous (Синхронный) - означает, что объекты класса будут вести себя ожидаемым от них образом при наличии нескольких потоков управления. При этом нет необходимости во взаимодействии объектов в различных потоках управления, поскольку объекты данного класса могут самостоятельно разрешать возможные конфликты.
Для того, чтобы специфицировать класс как абстрактный, т.е. не имеющий экземпляров, следует на этой же вкладке выставить отметку в свойстве Abstract (Абстрактный). Применительно к рассматриваемой модели для класса Транзакция банкомата следует выбрать свойства Persistent и Sequential, а отметку для свойства Abstract оставить пустой.
Следует заметить, что для предотвращения потери информации о разрабатываемой модели и результатов редактирования свойств ее графических элементов необходимо периодически сохранять модель во внешнем файле. Для этого следует выполнить операцию главного меню: File>Save (Файл>Сохранить) или нажать комбинацию клавиш: Ctrl+S. Для этой же цели служит соответствующая кнопка на стандартной панели инструментов (см. табл. 1.1).