WWW.NET.KNIGI-X.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Интернет ресурсы
 

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ...»

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ им. Р. Е. АЛЕКСЕЕВА»

Институт радиоэлектроники и информационных технологий Кафедра «Компьютерные технологии в проектировании и производстве»

Методические указания к практическим занятиям по дисциплине «Объектно-ориентированное программирование»

Направление подготовки 11.04.03 «Конструирование и технология электронных средств»

(код и наименование направления подготовки) Уровень высшего образования Магистратура Форма обучения _____очная_________ Нижний Новгород Практическое занятие №1 Базовые понятия объектноориентированного программирования Цель занятия: изучение абстракции, инкапсуляции, наследования и полиморфизма для разработки объектно-ориентированных программ (ООП).

Пример использования базовых понятий ООП.

Пример программы, выполняющей вычисление периметров многоугольника, треугольника и прямоугольника.

using System;

using System.Collections.Generic;

using System.Diagnostics;

namespace polygon { class Point { double _x, _y;

public Point() { _x = 0.0;



_y = 0.0;

} public Point(double x, double y) { _x = x;

_y = y;

} public double Y { get { return _y; } set { _y = value; } } public double X { get { return _x; } set { _x = value; } } public double distance(Point p2) { double res = Math.Sqrt((_x - p2._x) * (_x p2._x) + (_y - p2._y) * (_y - p2._y));

return res;

} } /// summary /// invariant count = 3 /// /summary class Polygon { protected Point[] _arr;

public Polygon(int count) { _arr=new Point[count];

} public virtual double calcPerimeter() { double perm=0.0;

for (int i = 0; i _arr.Length-1; i++) { perm += _arr[i].distance(_arr[i + 1]);

} perm +=_arr[_arr.Length-1].distance(_arr[0]);

return perm;

} public Point this[int index] { get { return _arr[index]; } set { _arr[index] = value; } } } /// summary /// Треугольник /// /summary class Triangle : Polygon {

–  –  –

Console.WriteLine("Периметр: {0}", plg.calcPerimeter());

Console.WriteLine("Периметр: {0}", r.calcPerimeter());

Console.WriteLine("Периметр: {0}", refr.calcPerimeter());

}

–  –  –

Практическое занятие №2 Изучение основных видов отношений между классами и их преобразование в код на языке C# Цель занятия: изучение возможных видов отношений между классами их отображение на языке UML.

Пример использования основных видов отношений между классами на языке UML.

Примеры основных отношений между классами на языке UML показаны на рис. 1.

Рисунок 1- Основные виды отношений между классами Исходный код на языке C#, соответствующий приведенной диаграмме /// summary /// Класс родитель /// /summary public class ClassA { ClassAssoc _refClAss; //Вторая сторона ассоциации /// summary /// Неполиморфная функция /// /summary /// returns/returns public string operInA() { } /// summary /// Полиморфная функция /// /summary /// returns/returns public virtual string operInAPolm() { } } /// summary /// Потомок класса А /// /summary public class ClassB : ClassA { public override string operInAPolm() { } }// /// summary /// Класс с двух сторонней ассоциацией /// /summary public class ClassAssoc { ClassA _refClA;

}// /// summary /// Определение интерфейса /// /summary public interface IAnimal { string vote();

}// /// summary /// Исполнение интерфейса /// /summary public class Dog : IAnimal { string IAnimal.vote() { } }// /// summary /// Класс - часть /// /summary public class Item { ClassDep End1; //Композиция со стороны 1 (End1 - имя роли) double _y;

public Item(double y) { _y=y;

} }// /// summary /// Класс целое /// /summary public class ClassDep {

–  –  –

} Упражнения для самостоятельного выполнения Написать определение классов и функций на С# для диаграммы классов, представленной на рис. 2.

Нарисовать диаграмму классов для программы из практического занятия №1.

Рисунок 2 – Пример диаграммы классов Практическое занятие №3 Изучение диаграмм использования и составление сценариев выполнения прецедентов Цель занятия: изучение правил построения диаграмм вариантов использования на языке UML и правил написания сценариев выполнения вариантов использования.

Пример построения диаграммы прецедентов и сценария выполнения основного прецедента для информационной системы по обслуживанию продаж товаров Назначение системы Система автоматизации торговли (POST Point –of- Sale Terminalсистема) POS – система это компьютеризированная система, предназначенная для организации товарооборота и обработки платежей в обычных магазинах. Система автоматизации торговли включает аппаратные компоненты (ПК, устройство считывания штрих - кода), а также программное обеспечение, выполняющее основные задачи системы.

Это приложение должно быть связано с другими компьютерными системами: в бухгалтерскую систему должны поступать сведения о суммах выполненных продаж, в складскую систему – о видах и количествах проданного товара. Система должна быть устойчива к сбоям и продолжать работу после восстановления системы. Желательно, чтобы система поддерживала различные типы клиентских терминалов и интерфейсов. Для каждого потребителя может быть предусмотрена своя логика выполнения операций (получение скидки, оплата банковской карточкой, возврат продажи …). Менеджер магазина должен иметь возможность получать аналитическую информацию по торговой деятельности магазина. Каждая продажа должна быть закреплена за конкретным кассиром. Администратор системы должен определять – кто из кассиров и менеджеров может получить доступ к системе и их функции в системе.

Диаграмма прецедентов POST-системы

–  –  –

«Оформить продажу» предполагает предварительную идентификацию кассира в системе и выполняет обслуживание одного покупателя. Покупатель может оплатить товары наличными или кредитной карточкой. Некоторые покупатели имеют право получить скидку.

Информация о купленных товарах и о сумме продажи поступает в складскую и бухгалтерские системы. Если покупатель сохранил чек, то он может обратиться к кассиру, чтобы тот выполнил «Возврат продажи» и вернуть купленные товары. Если при выполнении «Оформить продажу» и «Возврат системы» происходит сбой системы, то кассир выполняет прецедент «Восстановить систему» для того чтобы корректно продолжить работу с системой. Менеджер после идентификации в системе может получить отчеты с различной аналитической информацией по торговой деятельности магазина. Администратор, пройдя регистрацию в системе, имеет возможность управлять пользователями системы и их правами.

Кассир – выполняет продажу товаров и получает деньги за проданные товары при оплате наличными.

Менеджер – выполняет анализ торговой деятельности магазина.

Администратор – управляет пользователями системы.

Бухгалтерская система – получает уведомление о суммах выполненных продаж Складская система – получает уведомление о видах и количествах проданных товаров.

Системное описание прецедента «Оформить продажу»

Основной прецедент использования

–  –  –

Рисунок 4 - Диаграмма прецедентов для оформления продажи

1. Прецедент использования «Оформить продажу»

1.1 Краткое описание Покупатель подходит к кассиру. Кассир поочередно берет покупки и вводит их стоимость и количество с помощью устройства считывания и клавиатуры.

Получает деньги от покупателя и выдает сдачу и чек.

1.2 Бизнес цели и преимущества Ускорение обслуживания покупателей и сохранение информации о проведенных продажах.

1.3 Актеры 1.3.1 Первичные актеры Кассир.

1.3.2 Вторичные актеры Бухг. Система получает уведомление о выполненной продаже.

Складская система получает уведомление о видах и количестве проданного товара.

1.3.3 Заинтересованные лица Менеджер получает возможность сгенерировать отчет о результатах выполненных продаж





1.4 Правила выполнения 1.4.1 Инициаторы прецедента Инициирует выполнение прецедента -кассир 1.4.2 Предусловия Кассир идентифицирован в системе.

1.5 Выходные условия 1.5.1 Выходные условия при нормальном выполнении Данные о продаже сохранены, бухгалтерские данные обновлены. Чек выдан покупателю.

1.5.2 Выходные условия при неудачном выполнении Данные о продаже не сохраняются. Взаимодействие с бух. и складской системами не производится. Чек покупателю не выдается.

1.6 Точки расширения 1.6.1 Привилегированные покупатели – выполняется 2.4а.

1.6.2 При желании покупателя расплатиться кредитной карточкой запускается прецедент «Оплата по кредитной карточке».

Основной успешный сценарий (Продажа товара)

1. Кассир открывает новую продажу.

2. Кассир вводит идентификатор товара.

3. Система записывает наименование товара и выдает его описание, цену и общую стоимость.

Кассир повторяет действия, описанные в пп. 2-3, для каждого наименования товара.

4. Кассир завершает продажу и сообщает покупателю общую стоимость и предлагает оплатить покупку.

5. Покупатель оплачивает покупку, кассир подтверждает продажу и система обрабатывает платеж наличными, сообщает сдачу, открывает кассу и отправляет информацию внешним бухгалтерской и складской системам.

6. Система выдает товарный чек.

Расширения (или альтернативные потоки) 2а. Неправильный идентификатор.

Система уведомляет об ошибке и отменяет ввод данного наименования товара.

2б. В рамках одного товара существует несколько единиц товара (например, 5 пакетов леденцов).

Кассир может ввести идентификатор товара и количество единиц.

3а. Покупатель просит кассира отменить покупку одного из товаров.

Кассир вводит идентификатор товара для удаления из продажи.

Система отображает обновленную промежуточную стоимость.

4а. Покупатель сообщает о положенной ему скидке (например, для сотрудников данного предприятия или постоянных покупателей).

4а.1. Кассир отправляет запрос на скидку.

4а.2. Кассир вводит идентификационные данные покупателя;

4а.3. Система представляет сумму скидки, вычисленную на основе дисконтных правил 5а. Оплата по кредитной карточке.

5а.1. Покупатель вводит информацию о своей кредитной карточке.

5а.2. Система отправляет запрос на авторизацию платежа внешней системе службы авторизации платежей и запрашивает подтверждение платежа.

5а.2а. Система определяет сбой при взаимодействии с внешней системой.

Система сигнализирует об ошибке кассиру.

Кассир просит покупателя изменить тип платежа.

5а.3. Система получает информацию о подтверждении платежа и сообщает об этом кассиру.

5а.3а. Система получает информацию об отказе в выполнении платежа.

Система сообщает об отказе кассиру.

Кассир просит покупателя изменить тип платежа.

5а.4. Система регистрирует платеж по кредитной карточке, включая информацию о подтверждении платежа.

Специальные требования Идентификатор товара считывается со штрих-кода (при наличии последнего) лазерным сканером или вводится с клавиатуры.

Упражнения для самостоятельного выполнения

1. Сотовый телефон умеет получать/отправлять вызов, получать/отправлять СМС и вести адресную книгу. Построить use case диаграмму.

2. Разрабатывается система для работы с Email. Система должна уметь отправлять и принимать сообщения. При приеме сообщений, если их в системе оказывается более 1000, то предлагается их заархивировать.

Администратор системы должен иметь возможность настроить адреса почтовых серверов для отправки и приема сообщений. Администратор системы должен каждую неделю сохранять резервную копию файла почтовых сообщений. Построить use case диаграмму.

3. Построить базовую диаграмму прецедентов для маршрутного такси

4. Построить базовую диаграмму прецедентов для портфеля Практическое занятие №4 Изучение диаграмм классов и объектов Цель занятия: изучение правил и особенностей построения диаграмм классов и объектов.

Пример построения диаграмм классов и объектов Нижегородский кремль является центром Нижнего Новгорода.

Московский кремль является центром Москвы. Кремль является памятником архитектуры. Памятники архитектуры охраняются государством. Построить диаграммы классов и объектов.

–  –  –

Рисунок 6 - Диаграмма объектов Упражнения для самостоятельного выполнения

1. Документ Х имеет 4 стр. На стр. документа изображены следующие фигуры: на 1-й стр: красн. точка и желтый квадрат; На 2-й стр: синяя линия и коричневый эллипс На 3-й и 4-й стр.: окруж. и прямоугольник.

Построить диаграмму классов и объектов.

2. Многоугольник знает 1-ю и последнюю точки. Каждая точка имеет две координаты и знает следующую точку. Построить диаграмму классов и диаграмму объектов квадрата.

3. Тетрадь состоит из обложки, 2 скрепок и 4 листов. Тетради бывают в клетку и линейку. Построить диаграммы классов и объектов тетради в линейку.

4. Отель «Астория» имеет номера первого, второго и третьего класса, от которых зависит количество предоставляемых услуг. Посетитель занимает номер согласно его желания. Посетитель Сидоров занял номер первого класса на 5 дней, а посетитель Петрова - третьего класса на 7 дней. Построить диаграмму классов и объектов.

5. Футбольная команда состоит из 11 игроков. Игроки могут быть нападающими, полузащитниками и защитниками. Один из игроков является капитаном. Построить диаграмму классов.

6. Организация VEKO осуществляет обработку заказов окон. Заказ может быть в состоянии принятом, скомплектованным и готовым к отправке.

Покупатель Сидоров имеет заказ №27 в состоянии «принят». Построить диаграмму классов и объектов.

Практическое занятие №5 Изучение диаграмм последовательностей и состояний Цель занятия: изучение правил и особенностей построения диаграмм последовательностей и состояний.

–  –  –

Рисунок 8 - Диаграмма состояния поддержания теплового режима в теплице Упражнения для самостоятельного выполнения

1. Нарисовать диаграмму последовательностей разъединения абонентов в предположении, что первым трубку кладет абонент А1.

2. Пользователь в Outlook Express создает письмо. В письме он указывает адрес, вставляет картинку и добавляет комментарий. Затем отправляет письмо. Построить диаграмму последовательностей.

3. Будильник заводится на 7:00. Когда настало время 7:00 будильник начинает звенеть. Если будильник не заводили, то он и не звенит. После одной минуты звона будильник переходит в обычный режим. Построить диаграмму состояний.

4. Холодильник включает охлаждение, если температура морозильной камеры больше -16 градусов. При достижении морозильной камерой температуры - -18 градусов холодильник отключается. Построить диаграмму состояний.

5. Пустой лифт начинается двигаться на этаж, на котором была первой нажата кнопка вызова. При достижении заданного этажа двери лифта открываются. Если человек на этом этаже дождался лифта, то он садится в лифт и нажимает кнопку внутри лифта для его перемещения на другой этаж. Если человек не дождался лифта и ушел пешком, то по прибытии лифта двери его открываются и через 30 секунд закрываются и лифт либо остается стоять, либо начинает двигаться к другому этажу. После выхода человека из лифта его двери остаются открытыми также 30 секунд. Построить диаграмму состояний.

6. При включении СВЧ-печки включается нагрев и вращение внутреннего стола. Через 30 секунд печка выключается и раздается звонок. Построить диаграмму состояний.

7. Программа «хранитель экрана» после пяти минут отсутствия активности пользователя включает на экране режим отображения заставки. Еще через пять минут «хранитель экрана» выключает экран. При проявлении активности пользователя экран переводится в активное состояние.

Построить диаграмму состояний.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Логанов, С.В. Язык UML и основы объектно-ориентированного проектирования ИС: учеб. пособие / С.В. Логанов - Нижний Новгород:

НГТУ, 2010. – 143 с.

2. Ларман, К. Применение UML2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ и проектирование: учеб. пособие:

[пер. с англ.] / К. Ларман. – М.: Издательский дом «Вильямс», 2008. – 736 с.

3. Рамбо, Д. UML2.0. Объектно-ориентированное моделирование и разработка. 2-е изд. / Д. Рамбо, М. Блаха. - СПб.: Питер, 2007. – 544 с.

4. Рамбо, Д. UML: специальный справочник / Д. Рамбо, А. Якобсон,

Похожие работы:

«SCIENCE TIME ВЛИЯНИЕ ГОСУДАРСТВЕННОЙ ПОДДЕРЖКИ НА ФИНАНСОВОЕ СОСТОЯНИЕ СЕЛЬСКОХОЗЯЙСТВЕННЫХ ПРЕДПРИЯТИЙ В СОВРЕМЕННЫХ УСЛОВИЯХ ХОЗЯЙСТВОВАНИЯ Малахов Андрей Владимирович, Курская государственная сельскохозяйственная академия, г. Курск E-mail: m...»

«Устройство оконечное объектовое передачи извещений по каналам сотовой связи УОО-GSM-C1 РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ СПНК.425635.010 РЭ ЗАО Аргус-Спектр Санкт-Петербург, 2007 УОО-GSM-С1 стр. 2 из 23...»

«Министерство образования и науки Российской Федерации федеральное государственное автономное образовательное учреждение высшего образования "НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ" ИнЭО Специальность 39.03.02 Социальная работа Кафедра ИФНТ БАКАЛАВРСКАЯ РАБОТА Тема работы Социальная работа...»

«Ученые записки Таврического национального университета имени В.И. Вернадского Серия "Физико-математические науки". Том 24 (63). 2011 г. № 2. С. 127-140 УДК 537.8 МАГНИТООПТИЧЕСКИЙ ВИХРЕТОКОВЫЙ КОНТРОЛЬ: ИНТРОСКОПИЧЕСКИЙ И МАГНИТОГРАФИЧЕСКИ...»

«Известия ТулГУ. Технические науки. 2013. Вып. 12. Ч. 1 УДК (621.91:621.941:621.95):519.95 АВТОМАТИЗИРОВАННОЕ УПРАВЛЕНИЕ РЕЖИМАМИ РЕЗАНИЯ МЕТАЛЛОРЕЖУЩИХ СТАНКОВ С ИСПОЛЬЗОВАНИЕМ САМООБУЧАЮЩИХСЯ СИСТЕМ А.Н. Иноземцев, Н.И. Паськ...»

«РАЗРАБОТКА КЛАССИФИКАЦИИ ГЕОТЕКСТИЛЬНЫХ ТРИКОТАЖНЫХ МАТЕРИАЛОВ ДЛЯ ИНЖЕНЕРНЫХ СООРУЖЕНИЙ И ДОРОЖНОГО СТРОИТЕЛЬСТВА Щербинин Р.А., Садыкова Д.М. Московский государственный университет технологий и управления имени К.Г. Разумовского Аннотация. В данной статье проводится анализ проблем, связанных с п...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ" И. С. БОЛЬШУХИНА НАЛОГОВОЕ ПЛАНИРОВАНИЕ УЧЕБНОЕ ПОСОБИЕ УЛЬЯНОВСК УлГТУ УДК 336.22...»

«МИНОБРНАУКИ РОССИИ ФГБОУ ВПО "Уральский государственный лесотехнический университет" Кафедра истории и социально-политических дисциплин Одобрена: Утверждаю кафедрой истории и СПД Протокол от _20г. № Директор ИАТТС Зав.кафедрой Методической комиссией института (направления) Прото...»








 
2017 www.ne.knigi-x.ru - «Бесплатная электронная библиотека - электронные матриалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.