Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Яблочникова / В2 Л2

.docx
Скачиваний:
31
Добавлен:
07.04.2021
Размер:
341.08 Кб
Скачать

Федеральное агентство связи

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра интеллектуальных систем в управлении и автоматизации

ЛАБОРАТОРНЫЕ ЗАНЯТИЯ

по разделу

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

{

}

}

}

}

Контрольные вопросы:

  1. Назначение диаграммы классов?

Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений.

2. Как обозначается класс и что в себя включает?

Графически класс изображается в виде прямоугольника, который дополнительно может быть разделен горизонтальными линиями на разделы или секции. В этих разделах могут указываться имя класса, атрибуты (переменные) и операции (методы).

3. Что такое атрибут в диаграмме классов?

Атрибут (свойство) определяет характеристики класса (видимость, имя, тип данных, кратность, начальное значение, свойство).

4. Как обозначаются области видимости у атрибута?

Область видимости у атрибутов отображается 3 специальными символами:

• «+»: обозначает атрибут с областью видимости типа общедоступный (public). Атрибут с этой областью видимости доступен или виден из любого другого класса пакета, в котором определена диаграмма.

• «#»: обозначает атрибут с областью видимости типа защищенный (protected). Атрибут с этой областью видимости недоступен или невиден для всех классов, за исключением подклассов данного класса.

• «-»: обозначает атрибут с областью видимости типа закрытый (private). Атрибут с этой областью видимости недоступен или невиден для всех классов без исключения.

5. Что такое операция в диаграмме классов?

Некоторый сервис, предоставляющий каждый экземпляр класса по определенному требованию. Совокупность операций характеризует функциональный аспект поведения класса.

6. Перечислить виды отношений между классами, охарактеризовать каждое из них?

• Отношение зависимости - указывает некоторое семантическое отношение между двумя элементами модели или двумя множествами таких элементов. Используется в такой ситуации, когда некоторое изменение одного элемента модели может потребовать изменения другого зависимого от него элемента модели.

• Отношение ассоциации - соответствует наличию некоторого отношения между классами. Данное отношение обозначается сплошной линией с дополнительными специальными символами, которые характеризуют отдельные свойства конкретной ассоциации.

• Отношение обобщения - является обычным таксономическим отношением между более общим элементом (родителем или предком) и более частным или специальным элементом (дочерним или потомком).

• Отношение реализации - возникает между классами в том случае, когда один класс задает требования к поведению системы (функциональную спецификацию), а другой является полной или частичной программной или аппаратной реализацией этого поведения.

• Отношение агрегации - имеет место между несколькими классами в том случае, если один из классов представляет собой некоторую сущность, включающую в себя в качестве составных частей другие сущности («часть-целое»).

• Отношение композиции - является частным случаем отношения агрегации. Это отношение служит для выделения специальной формы отношения «часть-целое», при которой составляющие части в некотором смысле находятся внутри целого.

7. Как обозначается объект (экземпляр) класса?

Для графического изображения объектов используется символ прямоугольника. Отличия между объектом класса и классом проявляются при указании имен объектов, которые в случае объектов обязательно подчеркиваются.

Соседние файлы в папке Яблочникова