Файл: Лабораторная работа 1. Основы объектноориентированного моделирования структуры системы цель и задачи работы.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 28
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ЛАБОРАТОРНАЯ РАБОТА №1.
ОСНОВЫ ОБЪЕКТНООРИЕНТИРОВАННОГО МОДЕЛИРОВАНИЯ СТРУКТУРЫ СИСТЕМЫ
-
ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
Цель работы – приобрести умение производить объектно-ориентированное моделирование структуры разрабатываемой программной системы с помощью диаграмм классов языка UML.
Основные задачи работы:
• освоить использование основных элементов языка UML для построения диаграмм классов;
• научиться строить диаграммы классов с помощью MS Office Visio.
-
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Данная лабораторная работа предполагает выполнение
следующих этапов:
-
Изучить методические указания к лабораторной работе. Для заданных классов требуется описать атрибуты и операции, используя язык UML. Отобразить классы c их атрибутами и операциями на диаграмме классов с помощью MS Visio. К заданным атрибутам необходимо добавить статические атрибуты «количество» и «время», а к операциям – статические операции «определить количество» и «определить время». -
Оформить и защитить отчет по лабораторной работе.
7 вариант | Класс 1: Маневровый локомотив. Атрибуты: число рельсовых путей и текущий путь; наибольшее и текущее перемещение от станции; максимальное и текущее число перевозимых вагонов; средняя скорость движения. Операции: Определить местоположение локомотива; Переместить в заданное место; Прицепить/Отцепить заданное число вагонов |
Класс 2: Отрезок прямой. Атрибуты: координаты начальной и конечной точек. Операции: Получить данные; Определить длину отрезка и координаты центральной точки; Повернуть на заданный угол относительно выбранной точки. |
-
ВЫПОЛНЕНИЕ
Описание атрибутов класса Маневровый локомотив:
Видимость | Имя | Тип | Область | Крат | Нач.знач. |
private | railsCount | int | Экземпляр | 1 | - |
private | currentPath | int | Экземпляр | 1 | - |
private | maxDistance | float | Экземпляр | 1 | - |
private | currentDistance | float | Экземпляр | 1 | - |
private | maxWagonsCount | int | Экземпляр | 1 | - |
private | currentWagonsCount | int | Экземпляр | 1 | - |
private | averageSpeed | float | Экземпляр | 1 | - |
private | Static Кол | int | Экземпляр | 1 | - |
private | Static Время | datetime | Экземпляр | 1 | - |
Атрибуты класса Маневровый локомотив, содержат следующие данные:
• число рельсовых путей (railsCount)
• текущий путь (currentPath)
• наибольшее перемещение от станции (maxDistance)
• текущее перемещение от станции (currentDistance)
• максимальное число перевозимых вагонов (maxWagonsCount)
• текущее число перевозимых вагонов (currentWagonsCount)
• средняя скорость движения (averageSpeed)
• static Кол – количество;
• static Время – время;
Описание операций для класса Маневровый локомотив:
Видимость | Имя | Тип возврата | Область | Параметры | ||
Вид | Имя | Тип | ||||
public | DetachWagons | void | Экземпляр | in | wagons | int |
public | AttachWagons | void | Экземпляр | in | wagons | int |
public | MoveTo | void | Экземпляр | in | path, distance | int |
public | DetermineLocation | void | Экземпляр | | | |
public | DisplayData | void | Экземпляр | | | |
public | static Опреде_Время | int | Экземпляр | | | |
public | static Кол_ Кол | datetime | Экземпляр | | | |
Описание операций для класса Маневровый локомотив:
• DetachWagons() – отсоединяет вагоны, уменьшает значение атрибута currentWagonsCount;
• AttachWagons() – присоединяет, увеличивает значение атрибута currentWagonsCount;
• MoveTo() – Перемещает в заданное место, изменяет значение атрибута currentPath;
• DetermineLocation() – вызывает метод MoveTo(), отображает значение атрибута currentPath;
• DisplayData () – показывает данные;
• static Опреде_Время() – определяет время;
• static Кол_ Кол() – определяет количество.
Представление класса Маневровый локомотив на диаграмма представлено на рисунке 1.
Рисунок 1 – Класс Маневровый локомотив на диаграмме классов
Описание атрибутов класса Отрезок прямой:
Видимость | Имя | Тип | Область | Крат | Нач.знач. |
private | X1 | float | Экземпляр | 1 | |
private | Y1 | float | Экземпляр | 1 | |
private | X2 | float | Экземпляр | 1 | |
private | Y2 | float | Экземпляр | 1 | |
private | Static Кол | int | Экземпляр | 1 | |
private | Static Время | datetime | Экземпляр | 1 | |
Атрибуты класса Отрезок прямой, содержат следующие данные:
• x1,y1 – координаты начальной точки отрезка;
• x2, y2 - координаты конечной точки отрезка;
• static Кол – количество;
• static Время – время;
Видимость | Имя | Тип возврата | Область | Параметры | ||
Вид | Имя | Тип | ||||
public | DisplayData | void | Экземпляр | | | |
public | DetermineLengthSegment | float | Экземпляр | | | |
public | DetermineCoordinatesCenter | float | Экземпляр | | | |
public | TurnTheCorner | void | Экземпляр | in | angle, pivot | float |
public | static Опреде_Время | int | Экземпляр | | | |
public | static Кол_ Кол | datetime | Экземпляр | | | |
Описание операций для класса Отрезок прямой:
• DisplayData() - выводит на экран координаты начальной и конечной точек отрезка;
• DetermineLengthSegment() - вычисляет и возвращает длину отрезка;
• DetermineCoordinatesCenter() - вычисляет и возвращает координаты центральной точки отрезка;
• TurnTheCorner(angle, pivot) - поворачивает отрезок на заданный угол относительно выбранной точки pivot. Для этого сначала находятся координаты начальной и конечной точек относительно точки pivot, затем они поворачиваются на угол angle;
• static Опреде_Время() – определяет время;
• static Кол_Кол() – определяет количество;
Представление класса Отрезок прямой на диаграмма представлено на рисунке 2.
Рисунок 2 – Класс Отрезок прямой на диаграмме классов
ЛАБОРАТОРНАЯ РАБОТА №2.
ОТНОШЕНИЯ МЕЖДУ КЛАССАМИ И ИХ ОБОЗНАЧЕНИЕ НА ДИАГРАММАХ КЛАССОВ UML
-
ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
Целью работы является получение навыков отображения связей классов объектов через отношения UML при объектноориентированном моделировании структуры системы.
Задачи работы
• Изучить отношения, используемые в UML для отображения связей сущностей
• Научиться отображать отношения в среде Visual Studio при построении диаграмм классов.
-
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Данная лабораторная работа предполагает выполнение следующих этапов:
-
Изучить методические указания к лабораторной работе. -
Описать отношения между заданными классами, используя средства языка UML. Представить с помощью MS Visio отношения между классами на диаграмме классов. Для отношения ассоциации и его разновидности требуется определить кратность и роли полюсов. -
Оформить и защитить отчет по лабораторной работе.
-
ВЫПОЛНЕНИЕ
Отношения между классами:
- Банковская услуга ассоциируется с Кредитом с кратностью 1:1, роль полюсов не определена.
- Депозит ассоциируется с Клиентом с кратностью N:1, роль полюса "Клиент" - множественная, роль полюса "Депозит" - единичная.
- Клиент ассоциируется с Кредитом с кратностью N:1, роль полюса "Клиент" - множественная, роль полюса "Кредит" - единичная.
- Банк агрегирует Клиентов с кратностью 1:N, роль полюса "Банк" - единичная, роль полюса "Клиент" - множественная.
На рисунке 3 изображены классы и отношения между ними:
Рисунок 3 – Классы и отношения между ними
ЛАБОРАТОРНАЯ РАБОТА №3.
ОСНОВЫ РАЗРАБОТКИ КЛАССОВ В ПРИЛОЖЕНИЯХ НА ЯЗЫКЕ C#
-
ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
Цель работы – приобрести умение разрабатывать собственные классы в приложениях на языке C#.
Основные задачи работы:
• освоить синтаксис описания классов и их основных элементов (полей, методов, свойств, индексаторов) на языке C#;
• научиться разрабатывать классы и создавать их экземпляры в приложениях на языке C#;
• научиться разрабатывать статические классы на языке C#.
-
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Данная практическая работа предполагает выполнение следующих этапов:
-
Создать консольное приложение. -
Создать в консольном приложении класс в соответствии с заданием лабораторной работы 1 (класс 1). Для инициализации объектов класса переопределить конструктор по умолчанию. -
Создать метод для вывода данных класса. -
Создать в методе Main класса Program экземпляр класса. -
Отобразить данные созданного экземпляра с помощью метода вывода данных класса. -
Создать полный конструктор -
Создать экземпляр класса с помощью полного конструктора. Отобразить данные экземляра с помощью метода вывода данных. -
Создать конструктор, инициализирующий не все данные класса. -
Создать экземпляр класса с помощью дагнного конструктора. Отобразить данные экземляра с помощью метода вывода данных. -
Создать методы методы, реализующие заданные операции. -
Продемострировать их работу.
-
StatCalculator'>ВЫПОЛНЕНИЕ
9 вариант | Класс 1: Маневровый локомотив. Атрибуты: число рельсовых путей и текущий путь; наибольшее и текущее перемещение от станции; максимальное и текущее число перевозимых вагонов; средняя скорость движения. Операции: Определить местоположение локомотива; Переместить в заданное место; Прицепить/Отцепить заданное число вагонов |