
Лабораторная работа №3
UML-диаграммы.
Язык UML представляет собой общецелевой язык визуального моделирования, который разработан для спецификации, визуализации, проектирования и документирования компонентов программного обеспечения, бизнес-процессов и других систем. Язык UML является достаточно строгим и мощным средством моделирования, которое может быть эффективно использовано для построения концептуальных, логических и графических моделей сложных систем различного целевого назначения. Этот язык вобрал в себя наилучшие качества и опыт методов программной инженерии, которые с успехом использовались на протяжении последних лет при моделировании больших и сложных систем.
С точки зрения методологии объектно-ориентированного анализа и проектирования (ООАП) достаточно полная модель сложной системы представляет собой определенное число взаимосвязанных представлений (views), каждое из которых адекватно отражает аспект поведения или структуры системы. При этом наиболее общими представлениями сложной системы принято считать статическое и динамическое, которые в свою очередь могут подразделяться на другие более частные.
Принцип иерархического построения моделей сложных систем предписывает рассматривать процесс построения моделей на разных уровнях абстрагирования или детализации в рамках фиксированных представлений.
Уровень представления (layer)— способ организации и рассмотрения модели на одном уровне абстракции, который представляет горизонтальный срез архитектуры модели, в то время как разбиение представляет ее вертикальный срез.
При этом исходная или первоначальная модель сложной системы имеет наиболее общее представление и относится к концептуальному уровню. Такая модель, получившая название концептуальной, строится на начальном этапе проектирования и может не содержать многих деталей и аспектов моделируемой системы. Последующие модели конкретизируют концептуальную модель, дополняя ее представлениями логического и физического уровня.
Вся необходимая информация для построения UML-диаграмм представлена в лекциях и в раздаточном материале для студентов.
Лабораторное задание
Вариант задания согласно номеру компьютера.
Разработать UML-диаграмму вариантов использования в StarUML, добавив к заданию действующее лицо (Actor).
Разработать UML-диаграмму классов в StarUML, добавив к заданию действующее лицо (Actor).
Разработать UML-диаграмму состояний в StarUML, добавив к заданию действующее лицо (Actor).
Цель работы состоит в понимании того, что согласно ООАП объекты могут хранить друг друга и использовать интерфейс друг друга для собственных нужд, а также в отображении этих связей, используя UML.
Таблица 3.1. Варианты заданий
1, 13 |
Создать класс «Автомобиль», включающий данные-элементы: марка, объем топливного бака, тип привода, тип кузова, макс скорость, разгон до 100 км/ч, расход бензина на 100 км (учесть движение по городу, шоссе, проселочной дороге и др.) Методы:
Создать класс «Двигатель», включающий данные-элементы: тип двигателя, текущее состояние (запущен или нет). Методы:
|
2, 14 |
Создать класс «Пиломатериал», включающий данные-элементы: тип материала, стоимость покупки, стоимость продажи, объем. Методы:
Создать класс «Склад пиломатериалов», включающий данные-элементы: № склада, фамилия директора, максимальный объем хранимых пиломатериалов, список пиломатериалов, покупная и отпускная цена за м3 каждого из видов пиломатериалов. Методы:
|
3, 15 |
Создать класс «SIM-карта», включающий данные-элементы: номер, количество денег на счете, пин-код, тариф. Методы:
Создать класс «Мобильный телефон», включающий данные-элементы: фирма изготовитель, модель, список SIM-карт (вставленных в телефон, который может быть как «односимочным», так и «двухсимочным»). Методы:
|
4, 16 |
Создать класс «Вагон поезда», включающий данные-элементы: номер вагона, класс вагона, максимальное и занятое количество мест. Функции-элементы:
Создать класс «Поезд», включающий данные-элементы: номер поезда, количество мест, список вагонов поезда. Функции-элементы:
|
5, 17 |
Создать класс «Платная автостоянка», включающий данные-элементы: название, место расположения, список мест. Методы:
Создать класс «Место на стоянке», включающий данные-элементы: номер, статус (занято или нет), стоимость места. Методы:
|
6, 18 |
Создать класс «Турникет автобуса», включающий данные-элементы: номер турникета, тип, состояние (открыт или закрыт) Методы:
Создать класс «Билет», включающий данные-элементы: номер билета, срок действия билета, тип билета (разовый, проездной, социальная карта, транспортная карта). Функции-элементы:
|
7, 19 |
Создать класс «Банковская карта», включающий данные-элементы: номер, имя владельца, количество денег на счете, пин-код. Функции-элементы:
Пояснение: очевидно, что карта не может пополнить свой баланс самостоятельно, также как и чтобы снять с нее деньги используется внешнее устройство. Создать класс «Банкомат», включающий данные-элементы: номер, вставленная в него текущая карта. Функции-элементы:
|
8, 20 |
Создать класс «Вагон поезда», включающий данные-элементы: номер вагона, класс вагона, максимальное и занятое количество мест. Функции-элементы:
Создать класс «Поезд», включающий данные-элементы: номер поезда, количество мест, список вагонов поезда. Функции-элементы:
|
9, 21 |
Создать класс «Пончик», включающий данные-элементы: вес теста, вес начинки. Методы:
Создать класс «Пончиковый аппарат», включающий данные-элементы: заправка тестом (в граммах), начинкой (в граммах), вес теста на один пончик, вес начинки на один пончик. Функции-элементы:
|
10, 22 |
Создать класс «Цифровой фотоаппарат», включающий данные-элементы: модель, объем встроенной памяти, объем внешней памяти (карта памяти), список идентификаторов фотографий. Методы:
Создать класс класс «Фотография», включающий данные-элементы: идентификатор, количество требуемой памяти. Методы:
|
11, 23 |
Создать класс «Трехступенчатая ракета-носитель», включающий данные-элементы: вид топлива, объем каждой из ступеней, список ступеней. Методы:
Создать класс «Ступень ракеты-носителя», включающий данные-элементы: вид топлива, объем топлива, время работы. Методы:
|
12, 24 |
Создать класс «Кофе», включающий данные-элементы: вес кофе, объем молока. Методы:
Создать класс «Кофе - машина», включающий данные-элементы: заправка кофе (в граммах), молоком (мл), вес кофе на одну чашечку, объем молока на одну чашечку. Методы:
|