ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Некоммерческое акционерное общество

АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ

Кафедра инженерной кибернетики 

 

 

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Методические указания к  выполнению курсовой работы

для студентов специальности 5В070200 - «Автоматизация и управление»

 

 

Алматы 2013

СОСТАВИТЕЛИ: Ешпанова М.Д., Ибрашева А.Т. Объектно-ориентированное программирование. Методические указания к   выполнению курсовой работы для студентов специальности 5В070200 – «Автоматизация и управление»- Алматы: АУЭС, 2013 – 16 с. 

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

Рассматривается технология  создания оконных приложений – основного вида приложения, используемых в операционных системах семейства Windows.

Приводится пример оформления курсовой работы.

Библиогр. – 5 наим

 

Рецензент:  член УМК Шахматова Г.А. 

 

Печатается по плану издания некоммерческого акционерного общества «Алматинский университет энергетики и связи» на 2011 г. 

 

© НАО «Алматинский университет энергетики и связи», 2013 г.

 

Введение

Цель работы: освоить принципы анализа моделируемой предметной области и построения имитационной модели системы, а также  получить навыки реализации интерфейса пользователя в визуальной среде для модели.

Объектно-ориентированное программирование предоставляет возможность создавать упрощенные модели производственных процессов, модели автоматизации процессов. Моделирование  процессов позволяет  установить объекты процесса, проследить связь между ними.

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

При выполнении курсовой работы будет использоваться интегрированная среда программирования Delphi, ориентированная на работу в операционных системах семейства Windows. Программы в Delphi создаются на основе современной технологии визуального проектирования, которая, в свою очередь, базируется на идеях объектно-ориентированного программирования.

Среда программирования Delphi позволяет сравнительно легко и быстро создавать законченные приложения Windows. Поэтому она получила название RAD (Rapid Application Development - среда быстрой разработки приложение).

Среда программирования Delphi имеет встроенный компилятор, переводящий текст программы на машинный код, понятный процессору компьютера. В настоящее время этот компилятор является самым быстрым и позволяет обеспечивать высокую производительность среды программирования, необходимую для создания приложений Windows. Компилятор среды программирования Delphi создает автономные ехе-файлы (исполняемые файлы). Поэтому приложения, созданные в Dephi, будут работать на компьютере, на котором не установлена среда Delphi.

Предлагаемые методические указания к выполнению курсовых работ разработаны для освоения студентами основ разработки программ в среде Delphi и технологии визуального программирования.

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

По курсовой работе студент должен представить отчет и защитить работу.

  

1 Задание на курсовую работу

1.1 Выполнить анализ предметной области.

1.2 Определить функциональные составляющие модели и построить модель.

1.3 Разработать пользовательский интерфейс.

1.4 Разработать программу модели.

1.5 Оформить пояснительную записку по курсовой работе .

1.6  Защита курсовых работ

1.7 Порядок выполнения и защиты курсовой работы

 

Темы курсовой работы выбираются студентом согласно журнальному списку.

 

2 Варианты заданий на курсовую работу

 

2.1       Разработать программу, моделирующую работу банкомата. Требования:  имитация работы банкомата; вывод информации о конкретном клиенте: в какое время была проведена транзакция, на какую сумму, с какого аппарата, предусмотреть, чтобы карточка была категории «Виза». Составить отчеты по указанным клиентам. О вкладчиках должны быть следующие сведения: номер лицевого счета, паспортные данные, текущая сумма вклада, операции приема и выдачи  любой суммы, автоматическое начисление процентов.

2.2  Разработать программу, моделирующую работу системы «Электронные билеты». Требования: по номеру международного паспорта  или удостоверения определяется номер билета и рейс. Определить, сколько раз данный клиент пользовался услугами аэропорта или ЖД. Определить, прибыл ли указанный клиент в место прибытия, куда был куплен билет. Определить, сколько человек в Казахстане за определенный период посетили указанный город. Составить отчеты по количеству билетов, купленных в Алматы, в Астане.

2.3  Разработать программу, моделирующую работу с клиентами  в сберегательной кассе: в зависимости от предполагаемого действия выдается талон по направлению. Например, оплата коммунальных услуг – направление 6, оформление кредита – направление – 1, и так далее. Требования: сделать отчет, сколько человек посетило банк по каждому из направлений.

2.4  Составить картотеку Интерпола. Данные по каждому зарегистрированному преступнику: фамилия, имя, кличка, рост, цвет волос и глаз, особые предметы, гражданство, место и дата рождения, последнее место жительства, знание языков, преступная профессия.  Требования: составить выборку по любому подмножеству признаков. Перенос «завязавших» в архив. Удаление – только после смерти.

2.5  Создать записную книжку, в которую будут занесены данные, адреса, телефоны, место работы или учебы, интересы, деловые качества и  далее. Требования: автоматически формировать поздравления с днем рождения. Производить поиск по любому из шаблонов.

2.6  Создать справочник покупателя. Создать список торговых точек города: название, адрес, телефон, специализация, форма собственности, время работы и так далее. Требования: выбор магазинов по специализации, по районам, по удобному времени работы.

2.7  Создать справочник работника ГАИ. Указать марку, цвет, заводской и бортовой номера, дату выпуска, особенности конструкции и окраски, дату последнего техосмотра транспортного средства (автомобиля, мотоцикла, прицепа и так далее), паспортные данные владельца. Требования: выбор транспорта по марке, окраске, по срокам техосмотра. Формировать приглашения на техосмотр в соответствии со сроком.

2.8  Турнирная таблица: в клетки квадратной матрицы – турнирной таблицы – вносится счет очередного матча. Требования: на диагонали матрицы рассчитывается разность числа забитых и пропущенных голов. Подсчитать текущее место каждой команды в чемпионате и пересортировывать таблицу в соответствии с местами.

2.9  Даны  результаты лыжного забега: фамилия, инициалы участников, возраст, время старта, время финиша. По возрасту выделены три возрастные группы, заданные диапазонами. Найти чемпиона по каждой возрастной группе.

2.10     Экзаменационная ведомость. В сводную ведомость с заготовленными фамилиями студентов вносятся результаты сессии. По результатам определить размер дифференцированной стипендии каждого студента и итоговую сумму, количество оценок каждого вида по группе по каждому экзамену и по всем экзаменам.

2.11     Создать приложение, имитирующее регистрацию автомобилей на стоянке в аэропорту г.Алматы. Надо определить, сколько времени пробыл на стоянке автомобиль с данным номером, сколько пришлось заплатить. Составить отчетность, сколько автомобилей на указанную дату стояло на стоянке. Вывести количество автомобилей на стоянке на данный момент.

2.12     Создать приложение, имитирующее работу банкомата для людей ограниченными возможностями – слабовидящих. Все операции, проведенные через банкомат, зарегистрировать, чтобы можно было выдать при необходимости отчет по каждому клиенту. «Выдавать» звуковой чек  о состоянии счета.

2.13     Создать модель АРМ для врача поликлиники.

2.14     Создать модель АРМ для врача стационара. 

2.15     Создать модель конвейера по приготовлению кисломолочных продуктов: смешивание молока с определенными бактериями, закваска определенное время, розлив в бутылки.

2.16     Создать модель информационной справочной системы вокзала, чтобы пассажир мог узнать расписание поездов по данному направлению, стоимость билета. Требование: определить среднее число обращений по каждой справке за единицу времени.

2.17     Создать модель АРМ преподавателя Университета.

2.18     Создать модель АРМ преподавателя средней школы (учителя).

2.19     Создать модель автоматизированной системы по выпечке хлебобулочных изделий.

2.20     Создать модель АЗС.

Пример выполнения курсовой работы приведен в приложении А.

3 Основные вопросы, подлежащие разработке

Системный  анализ предметной области

Каждая информационная система в зависимости от ее назначения имеет дело с той или иной частью реального мира, который принято называть предметной областью.

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

Системный анализ состоит из следующих этапов:

-    подробное описание информации об объектах предметной области;

- формулировка конкретных задач, которые будут решаться с построением  данной модели;

-   описание выходной информации, которые должны генерироваться в системе;

-    кратким описанием алгоритмов решения задач;

-    описание входной  информации.

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

 

Имитационное моделирование систем

 

Можно дать следующее определение понятия модель: это такое описание, которое исключает несущественные подробности и учитывает наиболее важные особенности системы.

Модель – это упрощенное представление или описание системы или сущности, направленное на то, чтобы облегчить вычисления и прогнозирование.

К. Шеннон дает такое определение: «Модель является представлением объекта, системы или понятия (идеи) в некоторой форме, отличной от формы их реального существования». Моделирование можно определить как методологию изучения системы путем наблюдения отклика модели на искусственно генерируемый входной поток.

Имитационное моделирование имеет следующие цели:

-   писать поведение системы;

-   построить теории и гипотезы, которые могут объяснить наблюдаемое поведение;

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

Модель  представляет или описывает нечто, существующее в действительности; модель упрощает это «нечто»; создание модели преследует цель, как правило выполнить некоторые вычисления и предсказать,  как это «нечто» будет себя вести. Фотографический снимок не является моделью, так как, удовлетворяя двум первым пунктам, не удовлетворяет третьему.

Основные факторы, влияющие на принятие правильного решения по результатам моделирования:

- Адекватное понимание решаемой задачи; если задача не полностью определена и недостаточно четко описана, очень мало шансов, что ее решение  принесет пользу. Это фундаментальное утверждение относится ко всем задачам, а не только к моделированию.

- Корректная модель; это первостепенный фактор для технически эффективного решения. Ошибки в модели, если они не выявлены, скорее всего, приведут к принятию результатов, основанных на неверной модели.

- Корректная программа; программирование – последний этап разработки, и корректная программа может быть написана только по корректной модели.

Имитационная модель включает описание структуры изучаемой системы. Поэтому разработка  модели начинается с выделения  функциональных составляющих рассматриваемого объекта. От того, насколько правильно определены составляющие модели и связи между этими составляющими, настолько корректно будет работать модель. Описывается каждая из составляющих: какую функцию выполняет, как связана с входными данными, как связана с выходными данными, каким образом связана с другими составляющими. 

 

Разработка пользовательского интерфейса

 

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

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

Работа  в создаваемом приложении может быть многовариантной: можно использовать меню, контекстное меню, панели инструментов.

 

Программа модели

 

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

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

Поскольку все варианты заданий связаны с визуализацией модели, то в качестве среды программирования можно выбрать Delphi   или Builder C++.

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

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

 

Структура Пояснительной записки

 

Пояснительная записка к курсовой работе должна содержать:

-   титульный лист;

-   задание на курсовое проектирование;

-   содержание;

-   основную часть пояснительной записки,  схемы алгоритмов, общий вид интерфейса;

-   список использованной литературы;

-   приложение - листинг программы;

 

Порядок выполнения  и защиты курсовых работ

 

Темы выбираются студентами из списка тем, предложенного преподавателем – руководителем курсовой работы.

Сложная (комплексная тема) тема может выполняться группой студентов (2 чел). При этом между исполнителями по согласованию с руководителем распределяются роли, при этом роль каждого будет указана  в приложении, выполненном в MS Project.

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

Защита проходит в форме доклада студента о результатах выполненной работы и ответов на вопросы. Вопросы могут задаваться по теме работы и пройденному курсу.

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

Оценка за КР складывается из оценки за выполненную работу, оценки за доклад, оценки за ответы на вопросы, оценки за презентацию. Наивысший вес имеет оценка за выполненную работу.

К защите представить:

-   пояснительную записку (10-15 стр);

-   распечатку исходных текстов программ с комментариями;

-   программу на носителе информации.

 

Приложение А

Образец титульного листа  

 

АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ

Теплоэнергетический факультет

Кафедра Инженерной кибернетики

 

 

Курсовая работа по дисциплине

«Объектно-ориентированное программирование»

 

Тема курсовой работы: Создание модели, имитирующей работу автостоянки

 

 

Выполнил: студент группы БАУ-06-1

Петров Н.И.

Проверил: ст.преп. Сидорова А.П.

 

 

Алматы, 2013

Продолжение приложения А

Образец задания

 

ЗАДАНИЕ

на курсовую работу

 

студенту группы БАУ-07-2 Петрову Н.И.

 

Тема курсовой работы: «Создание модели, имитирующей  работу автостоянки».

 

Цель работы: на основе анализа предметной области разработать программу, имитирующую работу автостоянки. Составить отчетность, сколько автомобилей на указанную дату стояло на стоянке. Вывести количество автомобилей на стоянке на данный момент.

 

Основные вопросы, подлежащие разработке:

Анализ предметной области

Постановка задачи моделирования

Определение требований к исходной информации

Разработка содержательного описания модели

Разработка алгоритма модели

Разработка программы модели

 

К защите представить:

Пояснительную записку (7-10 стр.)

Распечатку исходных текстов программ с комментариями

Программу модели на носителе информации

 

Место выполнения курсовой работы АИЭС, факультет Инженерной кибернетики

 

Руководитель ст.преподаватель                                             Сидорова А.П.

 

Задание получил студент группы БАУ-07-2                             Петров  Н.И.

 

Продолжение приложения А

 

Содержание

 

1 Введение

2 Анализ предметной области

3 Построение модели

3.1 Определение составляющих модели

3.2 Построение модели

4 Разработка программы

5 Разработка пользовательского интерфейса

6 Анализ работы программы

Заключение

 

1 Введение

 

Объектно-ориентированное программирование предоставляет возможность создавать упрощенные модели производственных процессов, модели автоматизации процессов. Моделирование  процессов позволяет  установить объекты процесса, проследить связь между ними.

В данной работе будет создана модель, имитирующая работу автостоянки.  Будет использован набор визуальных компонентов, создан удобный интерфейс для оператора-кассира и для оператора колонки.

 

2 Анализ предметной области (обследование предприятия)

 

Направление деятельности предприятия – автостоянка. Водители автомобилей перед въездом на стоянку регистрируются. Перед выездом производится оплата в зависимости от времени нахождения на стоянке, которое фиксируется автоматически.

Последовательность действий водителя следующая.

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

Стоимость оплаты определяется временем. 

Около  въездного шлагбаума  установлен датчик1 (Д1), регистрирующий въезд, выездного – датчик2 (Д2), регистрирующий выезд. Автостоянка рассчитана на 50 автомобилей. При поступлении сигнала от Д1 счетчик увеличивает свое значение на 1; при поступлении сигнала от Д2 значение счетчика уменьшается на 1. Если  значение счетчика меньше 50, то на въезде выходит надпись: «Есть свободные места», в противном случае – «Нет мест».

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

……………………………………………………………..

Продолжение приложения А

 

3 Построение модели

 

3.1 Определение составляющих модели

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

…………………………………………….

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

………………………………………….

 

3.2 Построение модели

 

Разрабатывается модель работы автостоянки. Были выделены составляющие: компьютер, парковочные стойки, кассовый аппарат, таймер, карточки.

Карточки: каждой карточке соответствует штрихкод, который занесен в таблицу.

Электронные часы установлены на въездной стойке и кассовом аппарате. Они регистрируют время активизации и остановки таймера карточки.

…………………..

 

4 Разработка программы

 

Разрабатывается программа, моделирующая работу автостоянки..

Языком программирования выбран объектно-ориентированный  язык Паскаль. Для разработки выбрана среда Delphi.

Для удобства все составляющие системы будут расположены на отдельных формах одного проекта.

Процесс работы автостоянки  характеризуется выбором шлагбаума – в зависимости от этого счетчик увеличивается или уменьшается. Одна из основных переменных – это счетчик. Для схематичного изображения шлагбаумов  и кассового аппарата выбирается компонент Memo1, Memo2;

……………………………………………………….

 

5 Разработка пользовательского интерфейса

 

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

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

Для корректности работы программы в коде формы в обработчиках событий обозначены все необходимые проверки корректности ввода и последовательности действий, выполняемых пользователем.

 

6 Анализ работы программы

 

Выбрано 10 карточек, которые «въехали». Три клиента выехали один за другим.  Затем снова «приехали». Все это время отслеживается, чему равен счетчик, правильно ли фиксируется, сколько за определенное время автомобилей было на стоянке.

…………………………………………….

 

Заключение

 

Разработанная программа имитирует работу автостоянки: въезд автомобиля, его регистрация, определяет время пребывания автомобиля на стоянке. Позволяет вести анализ, сколько бывает автомобилей за определенный срок, делать прогнозы для модели.

………………………………

 

Приложение

Код прогрммы.

………………………….

 

Список литературы

 

1.       Архангельский А.Я. С++ Builder 6. Справочное пособие. Книга 1. Классы и компоненты.- М.:Бином-Пресс. 2002.

…………………………………………………..

 

На этом образец КП кончается.

 

Список литературы 

1.       Кандзюба С.П., Громов В.Н. Delphi 6/7. Базы данных и приложения. – СПб: ООО «ДиаСофтЮП», 2002.

2.       Желонкин А. В. Основы программирования в интегрированной среде DELPHI. Практикум. – М.: БИНОМ, 2006.

3.       Жуков А. Изучаем Delphi. – М. : Питер, 2002.

4.       Фленов М. Библия Delphi.- СПб.: БХВ – Петербург, 2008.

5.       Культин Н. С++ Builder  в задачах и примерах.- СПб.: БХВ-Петербург, 2005.

 

Содержание 

Введение

3

1 Задание на курсовую работу 

4

2 Варианты заданий на курсовую работу

4

3 Основные вопросы, подлежащие разработке

6

Системный  анализ предметной области

6

Имитационное моделирование систем

6

Разработка пользовательского интерфейса

7

Программа модели

8

Структура Пояснительной записки

8

Порядок выполнения  и защиты курсовых работ

8

Приложение А

10

Список литературы

15

 

                                                                                Свод. план 2011 г. поз 26