
- •О.Н. Ванеев, д.Е. Турчин
- •Лабораторный практикум
- •Кемерово 2013
- •Описание лабораторного практикума
- •1.2.2. Множества и операции над ними
- •1.2.3. Декартово произведение множеств. Соответствия и отношения на множествах
- •1.2.4. Основные понятия теории графов
- •1.2.5. Анализ модели системы
- •1. Определение цели системы.
- •2. Выделение подсистем.
- •3. Выделение внешних систем.
- •4. Выделение входов, ресурсов и затрат.
- •5. Выделение выходов, результатов и прибыли.
- •1. Определение цели системы.
- •2. Выделение подсистем.
- •3. Выделение внешних систем.
- •4. Выделение входов, ресурсов и затрат.
- •5. Выделение выходов, результатов и прибыли.
- •1.3. Порядок выполнения работы
- •2.3. Порядок выполнения работы
- •3.3. Порядок выполнения работы
- •4.3. Порядок выполнения работы
- •5.2.2. Метод ранжирования вариантов
- •2.2.3. Метод парных сравнений
- •5.3. Порядок выполнения работы
- •Основные положения объектной модели.
- •6.2.2. Общая характеристика объектов и классов. Отношения между объектами и классами Общая характеристика объектов.
- •Общая характеристика классов.
- •6.2.2. Понятие о языке uml. Диаграммы классов Понятие о языке uml.
- •Диаграммы классов uml.
- •6.2.3. Реализация класса и его элементов на языке программирования c# Состав класса. Описание класса.
- •Поля и константы. Методы.
- •Свойства.
- •6.3. Порядок выполнения работы
- •6.4. Контрольные вопросы
- •Диаграммы последовательностей.
- •7.2.2. Отношения между классами. Моделирование наследования Отношение между классами. Ассоциация, агрегация и зависимость.
- •7.2.3. Реализация отношений между классами на языке c#
- •7.3. Порядок выполнения работы
- •8.4. Контрольные вопросы
- •Рекомендуемая литература
- •Приложение п.1. Значения статистических критериев
Диаграммы последовательностей.
Диаграммы последовательностей (sequence diagram) используются для описания порядка передачи сообщений между экземплярами классов.
Рис. 7.Х. Включение частей в агрегат по ссылке
7.2.2. Отношения между классами. Моделирование наследования Отношение между классами. Ассоциация, агрегация и зависимость.
Классы подобно объектам не существуют в изоляции. Для описания предметной области используют множество взаимосвязанных классов.
Выделяют следующие основные виды отношений между классами на диаграммах классов:
• ассоциация;
• зависимость;
• агрегация;
• обобщение;
• реализация.
Ассоциация обозначает смысловую зависимость классов. Она не указывает направление и точную реализацию отношения.
Отношение ассоциации между классами Книга и Библиотека показано на рис. 6.Х. Класс Книга играет роль элемента, хранимого в библиотеке. Класс Библиотека играет роль хранилища для книг.
Каждая ассоциация может иметь метку – имя, которое описывает природу отношения.
Рис. 7.Х. Отношение ассоциации
Ассоциация обладает такой характеристикой, как мощность, которая показывает, как много объектов могут быть связаны отношением. Мощность
Например, можно задать следующие варианты мощности:
- 5 – определенное число;
- * - неограниченное количество;
- 0…* - ноль или более;
- 1…* - один или более;
- 3…7 – определенный диапазон;
- 1…4, 8 - определенный диапазон или число.
Рис. 7.Х. Ассоциации с различными типами мощности
На конце ассоциации можно задать разные модификаторы видимости.
Зависимость (dependency) – это отношение, которое показывает, что изменение в одном классе (независимом) может влиять на другой класс (зависимый).
Графически зависимость изображается как пунктирная стрелка, направленная на класс, от которого зависят (рис. 7.Х). С помощью зависимости уточняют, какая абстракция является клиентом, а какая – поставщиком определенной услуги. То есть пунктирная стрелка зависимости направлена от клиента к поставщику.
Рис. 7.Х. Отношение зависимости
Наиболее часто зависимость показывают, что один класс (клиент) использует другой класс (поставщик) в сигнатуре своей операции. Например, на рис. 7.Х показана зависимость класса Заказ от класса Товар, поскольку Товар используется в операциях класса Заказ.
Агрегация – это отношение, которое имеет место в том случае, если
❒ Пример 7.1. Описание отношений между классами.
Для системы, описанной в примере 6.1, требуется с помощью языка UML описать отношения между классами Автомобиль, Водитель, Двигатель, Журнал заданий.
Класс Водитель (Voditel).
Атрибуты:
Имя
Операции:
Завести двигатель()
Заглушить двигатель()
Управлять автомобилем()
Класс Двигатель (Dvigatel)
Атрибуты:
Мощность
Износ
Операции:
Журнал заданий (JurZadan)
Атрибуты:
- автомобиль
- водитель
- координаты места назначения
Рис. 7.Х. Диаграмма классов системы
Рис. 7.Х. Диаграмма последовательностей
.❒
7.2.3. Реализация отношений между классами на языке c#
7.3. Порядок выполнения работы
Данная лабораторная работа предполагает выполнение следующих этапов:
Изучить методические указания к лабораторной работе.
Для предложенных классов (табл. 7.Х).
Описать отношения между классами и их экземплярами с помощью диаграммы классов языка UML.
Реализовать предложенные классы и отношения между ними с помощью языка C#.
Разработать приложение Windows.Forms, позволяющее смоделировать взаимодействие заданных классов.
Оформить и защитить отчет по лабораторной работе.
Таблица 7.Х
Варианты задания на описание отношений между классами
№ вар. |
Предм. область |
Класс 1 (ЛР6) |
Класс 2 |
Класс 3 |
1, 13 |
Ж/д перевозки грузов |
Грузовой вагон |
Состав |
Локомотив |
2, 14 |
Измерительная система |
Датчик температуры |
Исследуемый объект |
Вторичный прибор |
3, 15 |
Банк |
Банковский счет |
Вкладчик |
Курс валют |
4, 16 |
Система уборки дорог |
Снегоуборочная машина |
Транспортер |
Оператор |
5, 17 |
Система бытовых электроприборов |
Электрический чайник |
Электрическая сеть |
Термореле |
6, 18 |
Отдел кадров и бухгалтерия |
Сотрудник фирмы |
Отдел |
План работ |
7, 19 |
Отдел кредитования |
Кредитное обязательство |
Получатель |
График погашения |
8, 20 |
Система бытовых электроприборов |
Стиральная машина автомат |
Электрическая сеть |
Контроллер |
9, 21 |
Торговая сеть |
Покупатель |
Покупка |
Система скидок |
10, 22 |
ТЭЦ |
Паровой котел |
Нагреватель |
Регулятор |
11, 23 |
Деканат |
Студент |
Группа |
Учебный план |
12, 24 |
Жилищно-коммунальный трест |
Коммунальный платеж |
Потребитель |
Тарифы |
7.4. Контрольные вопросы
1. ?
2. ?
8. Объектно-ориентированная разработка требований к системе
8.1. Цель работы
Цель работы – приобрести умение разрабатывать объектно-ориентированную модель предметной области помощью универсального языка моделирования UML.
8.2. Основные теоретические сведения
8.3. Порядок выполнения работы
Опишите существенные для целей моделирования абстрактные объекты (сущности) и их свойства. Приведите примеры несущественных объектов или свойств, от которых необходимо абстрагироваться.
Опишите устойчивые связи между различными сущностями, типы этих связей. Опишите какого рода события могут происходить с объектами и какие действия можно с ними производить.
Предметные области:
библиотека
факультет
расчетно-кассовый центр банка
графический интерфейс пользователя программы
Данная практическая работа предполагает выполнение следующих этапов:
1. Изучить методические указания к.
2..