- •Технология разработки программного обеспечения
- •Использование объектного подхода при проектировании программного продукта
- •Контрольные вопросы:
- •Контрольные вопросы
- •Индивидуальное задание:
- •Контрольные вопросы
- •Индивидуальное задание:
- •Примеры использования таких диаграмм
- •Для моделирования процессов
- •Для моделирования операций
- •Контрольные вопросы
- •Индивидуальное задание:
- •Индивидуальное задание:
- •Контрольные вопросы
- •Контрольные вопросы
Контрольные вопросы:
Для чего используется вариант использования?
Что представляет собой «актер»?
Какие вам известны отношения вариантов использования?
Какие вопросы позволяют определить актеров, взаимодействующих с системой?
Индивидуальное задание:
Построить диаграмму вариантов использования для исследуемой предметной области:
№ вариант |
Диаграмма вариантов использования |
1 |
спортивные соревнования |
2 |
функционирование компьютера |
3 |
расписание занятий |
4 |
ремонт транспортных средств |
5 |
обучение в колледже |
6 |
библиотека |
7 |
обучение программированию |
8 |
интернет – кафе |
9 |
прием заказа на ремонт электрооборудования |
10 |
банковские вклады |
11 |
склад предприятия |
12 |
покупка товара |
13 |
электронная почта |
14 |
мобильный телефон |
15 |
работа компании |
Занятие 2: Построение диаграммы классов
Диаграмма классов (class diagram) — диаграмма, предназначенная для представления модели статической структуры программной системы в терминологии классов объектно-ориентированного программирования
Класс на диаграмме изображается в виде прямоугольника, разделенного горизонтальными линиями на три части. В первой части указывается название класса. Как правило, имя класса состоит из одного, максимум двух слов. Вторая часть содержит перечень атрибутов класса, которые характеризуют тот или иной объект этого класса в модели предметной области. Третья часть содержит перечень операций, отражающих его поведение в модели предметной области.
В UML атрибуты и операции с модификаторами доступа обозначаются специальными символами слева от их имен:
Символ |
Значение |
+ |
public - открытый доступ |
- |
private - только из операций того же класса |
# |
protected - только из операций этого же класса и классов, создаваемых на его основе |
Пример класса:
Пример:
Первый пример весьма прост. Как видим, он, хоть и немного однобоко, иллюстрирует с помощью операции наследования или генерализации "генеалогическое древо" бытовой техники. Думаем, мы бы поняли смысл этой диаграммы, даже если бы ничего не знали о классах и не занимались программированием вообще.
1)
Рассмотрим еще пример 2):
И опять-таки смысл этой диаграммы ясен без особых пояснений. Она описывает предметную область задачи об автоматизации работы некоего вуза или учебного центра. Обратите внимание на обозначения кратности на концах связей. А теперь немного усложним задачу 3):
Как видим, здесь уже все более серьезно - кроме кратности обозначены свойства (и их типы) и операции, и вообще, эта диаграмма производит впечатление набора классов для реализации, а не просто описания предметной области, как предыдущие. Но, тем не менее, все равно все просто и понятно.
А вот более сложный, но, опять-таки, взятый из реальной жизни пример моделирования отношений между классами 4):
И наконец, доказательство того, что UML можно использовать для чего угодно, в том числе и для записи сказок: диаграмма, описывающая предметную область сказки о Курочке Рябе и взятая с сайта конкурса шуток на UML (http://www.umljokes.com/) 4):
