Файл: Лабораторная работа 1. Основы объектноориентированного моделирования структуры системы цель и задачи работы.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 28

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ЛАБОРАТОРНАЯ РАБОТА №1.

ОСНОВЫ ОБЪЕКТНООРИЕНТИРОВАННОГО МОДЕЛИРОВАНИЯ СТРУКТУРЫ СИСТЕМЫ

  1. ЦЕЛЬ И ЗАДАЧИ РАБОТЫ

Цель работы – приобрести умение производить объектно-ориентированное моделирование структуры разрабатываемой программной системы с помощью диаграмм классов языка UML.

Основные задачи работы:

• освоить использование основных элементов языка UML для построения диаграмм классов;

• научиться строить диаграммы классов с помощью MS Office Visio.

  1. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Данная лабораторная работа предполагает выполнение

следующих этапов:

  1. Изучить методические указания к лабораторной работе. Для заданных классов требуется описать атрибуты и операции, используя язык UML. Отобразить классы c их атрибутами и операциями на диаграмме классов с помощью MS Visio. К заданным атрибутам необходимо добавить статические атрибуты «количество» и «время», а к операциям – статические операции «определить количество» и «определить время».

  2. Оформить и защитить отчет по лабораторной работе.

7 вариант

Класс 1: Маневровый локомотив.

Атрибуты: число рельсовых путей и текущий путь;

наибольшее и текущее перемещение от станции;

максимальное и текущее число перевозимых вагонов;

средняя скорость движения.

Операции: Определить местоположение локомотива;

Переместить в заданное место; Прицепить/Отцепить

заданное число вагонов

Класс 2: Отрезок прямой.

Атрибуты: координаты начальной и конечной точек.

Операции: Получить данные; Определить длину отрезка и

координаты центральной точки; Повернуть на заданный

угол относительно выбранной точки.





  1. ВЫПОЛНЕНИЕ

Описание атрибутов класса Маневровый локомотив:

Видимость

Имя

Тип

Область

Крат

Нач.знач.

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

  1. ЦЕЛЬ И ЗАДАЧИ РАБОТЫ

Целью работы является получение навыков отображения связей классов объектов через отношения UML при объектноориентированном моделировании структуры системы.

Задачи работы

• Изучить отношения, используемые в UML для отображения связей сущностей

• Научиться отображать отношения в среде Visual Studio при построении диаграмм классов.

  1. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Данная лабораторная работа предполагает выполнение следующих этапов:

  1. Изучить методические указания к лабораторной работе.

  2. Описать отношения между заданными классами, используя средства языка UML. Представить с помощью MS Visio отношения между классами на диаграмме классов. Для отношения ассоциации и его разновидности требуется определить кратность и роли полюсов.

  3. Оформить и защитить отчет по лабораторной работе.




  1. ВЫПОЛНЕНИЕ

Отношения между классами:

- Банковская услуга ассоциируется с Кредитом с кратностью 1:1, роль полюсов не определена.

- Депозит ассоциируется с Клиентом с кратностью N:1, роль полюса "Клиент" - множественная, роль полюса "Депозит" - единичная.

- Клиент ассоциируется с Кредитом с кратностью N:1, роль полюса "Клиент" - множественная, роль полюса "Кредит" - единичная.


- Банк агрегирует Клиентов с кратностью 1:N, роль полюса "Банк" - единичная, роль полюса "Клиент" - множественная.

На рисунке 3 изображены классы и отношения между ними:



Рисунок 3 – Классы и отношения между ними

ЛАБОРАТОРНАЯ РАБОТА №3.

ОСНОВЫ РАЗРАБОТКИ КЛАССОВ В ПРИЛОЖЕНИЯХ НА ЯЗЫКЕ C#

  1. ЦЕЛЬ И ЗАДАЧИ РАБОТЫ

Цель работы – приобрести умение разрабатывать собственные классы в приложениях на языке C#.

Основные задачи работы:

• освоить синтаксис описания классов и их основных элементов (полей, методов, свойств, индексаторов) на языке C#;

• научиться разрабатывать классы и создавать их экземпляры в приложениях на языке C#;

• научиться разрабатывать статические классы на языке C#.

  1. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Данная практическая работа предполагает выполнение следующих этапов:

  1. Создать консольное приложение.

  2. Создать в консольном приложении класс в соответствии с заданием лабораторной работы 1 (класс 1). Для инициализации объектов класса переопределить конструктор по умолчанию.

  3. Создать метод для вывода данных класса.

  4. Создать в методе Main класса Program экземпляр класса.

  5. Отобразить данные созданного экземпляра с помощью метода вывода данных класса.

  6. Создать полный конструктор

  7. Создать экземпляр класса с помощью полного конструктора. Отобразить данные экземляра с помощью метода вывода данных.

  8. Создать конструктор, инициализирующий не все данные класса.

  9. Создать экземпляр класса с помощью дагнного конструктора. Отобразить данные экземляра с помощью метода вывода данных.

  10. Создать методы методы, реализующие заданные операции.

  11. Продемострировать их работу.




  1. StatCalculator'>ВЫПОЛНЕНИЕ

9 вариант

Класс 1: Маневровый локомотив.

Атрибуты: число рельсовых путей и текущий путь;

наибольшее и текущее перемещение от станции;

максимальное и текущее число перевозимых вагонов;

средняя скорость движения.

Операции: Определить местоположение локомотива;

Переместить в заданное место; Прицепить/Отцепить

заданное число вагонов