Яблочникова / В2 Л2
.docxФедеральное агентство связи
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра интеллектуальных систем в управлении и автоматизации
ЛАБОРАТОРНЫЕ ЗАНЯТИЯ
по разделу
CASE-средства
Лабораторное занятие №2
Диаграмма классов
Москва 2021 г.
Задание:
1. Изучить теоретический материал.
2. Разработать диаграмму классов, соответствующую диаграмме вариантов использования, построенной в 1-ой лабораторной работе.
3. Создать диаграмму классов в оболочке для программирования (например, MS Visual Studio).
4. Оформить отчет, который включает вариант задания, диаграмму вариантов использования, диаграмму классов и полученный код.
Т. к. вариант 2, то ИС №2: «Клиент сдает автомобиль в сервис».
Выполнение:
Диаграмма вариантов использования показана на рисунке 1.
Рисунок 1 – Диаграмма вариантов использования
Следовательно, диаграмма классов будет выглядеть следующим образом:
Рисунок 2 - Диаграмма классов
Код выглядит следующим образом:
namespace ConsoleApplication1
{
public class Автовладелец
{
private String ФИО;
private string техпаспорт;
private int паспорт;
private int телефон;
private string марка_авто.;
public Система_оформления_автомобиля_в_ремонт
Система_оформления_автомобиля_в_ремонт
{
get
{
throw new System.NotImplementedException();
}
set
{
}
}
}
public class Система_оформления_автомобиля_в_ремонт
{
private int серьезность ремонта; //по шкале 1-10
private bool факт_оплаты;
}
public class Мелкий ремонт
{
private int цена;
private string поломка;
private bool факт оплаты;
public Ремонт
Ремонт
{
get
{
throw new System.NotImplementedException();
}
set
{
}
}
}
public class Крупный ремонт
{
private int цена;
private string поломка;
private bool факт оплаты;
public Ремонт
Ремонт
{
get
{
throw new System.NotImplementedException();
}
set
{
}
}
}
public class Ремонт : Возвращение_автомобиля_владельцу
{
private bool Факт_ремонта;
private string Тестирование;
}
public class Возвращение_автомобиля_владельцу
{
private DateTime Дата_починки;
private DateTime Дата_возвращения_автомобиля;
private int Гарантия;
public Мелкий_ремонт Мелкий_ремонт
{
get
{
throw new System.NotImplementedException();
}
set
{
}
}
public Крупный_ремонт Крупный_ремонт
{
get
{
throw new System.NotImplementedException();
}
set
{
}
}
}
}
Контрольные вопросы:
Назначение диаграммы классов?
Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений.
2. Как обозначается класс и что в себя включает?
Графически класс изображается в виде прямоугольника, который дополнительно может быть разделен горизонтальными линиями на разделы или секции. В этих разделах могут указываться имя класса, атрибуты (переменные) и операции (методы).
3. Что такое атрибут в диаграмме классов?
Атрибут (свойство) определяет характеристики класса (видимость, имя, тип данных, кратность, начальное значение, свойство).
4. Как обозначаются области видимости у атрибута?
Область видимости у атрибутов отображается 3 специальными символами:
• «+»: обозначает атрибут с областью видимости типа общедоступный (public). Атрибут с этой областью видимости доступен или виден из любого другого класса пакета, в котором определена диаграмма.
• «#»: обозначает атрибут с областью видимости типа защищенный (protected). Атрибут с этой областью видимости недоступен или невиден для всех классов, за исключением подклассов данного класса.
• «-»: обозначает атрибут с областью видимости типа закрытый (private). Атрибут с этой областью видимости недоступен или невиден для всех классов без исключения.
5. Что такое операция в диаграмме классов?
Некоторый сервис, предоставляющий каждый экземпляр класса по определенному требованию. Совокупность операций характеризует функциональный аспект поведения класса.
6. Перечислить виды отношений между классами, охарактеризовать каждое из них?
• Отношение зависимости - указывает некоторое семантическое отношение между двумя элементами модели или двумя множествами таких элементов. Используется в такой ситуации, когда некоторое изменение одного элемента модели может потребовать изменения другого зависимого от него элемента модели.
• Отношение ассоциации - соответствует наличию некоторого отношения между классами. Данное отношение обозначается сплошной линией с дополнительными специальными символами, которые характеризуют отдельные свойства конкретной ассоциации.
• Отношение обобщения - является обычным таксономическим отношением между более общим элементом (родителем или предком) и более частным или специальным элементом (дочерним или потомком).
• Отношение реализации - возникает между классами в том случае, когда один класс задает требования к поведению системы (функциональную спецификацию), а другой является полной или частичной программной или аппаратной реализацией этого поведения.
• Отношение агрегации - имеет место между несколькими классами в том случае, если один из классов представляет собой некоторую сущность, включающую в себя в качестве составных частей другие сущности («часть-целое»).
• Отношение композиции - является частным случаем отношения агрегации. Это отношение служит для выделения специальной формы отношения «часть-целое», при которой составляющие части в некотором смысле находятся внутри целого.
7. Как обозначается объект (экземпляр) класса?
Для графического изображения объектов используется символ прямоугольника. Отличия между объектом класса и классом проявляются при указании имен объектов, которые в случае объектов обязательно подчеркиваются.