Объектно-ориентированная система Animal
Особенности исследования методик объектно-ориентированного проектирования программ с помощью языка UML по формализации, решению поставленной задачи, технологических приемов разработки объектно-ориентированных программ на языке Си++. Разработка программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 22.10.2014 |
Размер файла | 188,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Объектно-ориентированная система Animal
Введение
программа технологический объектный
На современном этапе развития программного обеспечения (ПО) вся большая роль отводится объектно-ориентированному стилю проектирования и программирования (ООП). Это позволяет разрабатывать большие программные комплексы быстрее, повторно используя имеющиеся модули, обеспечивать инкапсуляцию данных, полиморфизм операций, наследование свойств и методов. Профессиональное обучение программированию по направлению подготовки «Программная инженерия» предусматривает освоение языка Си в качестве базового. Дальнейшее развитие навыков программирования на языке Си и изучение основ ООП выполняется в дисциплине «Объектно-ориентированное программирование». Для закрепления навыков проектирования и разработки больших программ в объектно-ориентированном стиле учебным планом направления подготовки «Программная инженерия» предусмотрено выполнение курсовой работы по этой дисциплине. Целью курсовой работы является закрепление практических навыков самостоятельной постановки и решения задачи обработки данных с помощью ЭВМ средствами ООП. Во время выполнения курсовой работы студент должен овладеть методикой объектно-ориентированного проектирования программ с помощью языка UML по формализации и решению поставленной задачи, технологическими приемами разработки объектно-ориентированных программ на языке Си++. Условием успешного выполнения курсовой работы являются практические навыки ООП, полученные при выполнении лабораторных работ по дисциплине «ООП», которые являются частью курсовой работы. Разработанная программа animal.exe является программным продуктом демонстрирующим работу с классами и объектами.
1. Постановка задачи
Программный продукт animal.exe является информационной системой типа «Объектно-ориентированная система».
Должно быть разработано программное обеспечение, которое может работать в следующих режимах:
a) демонстрация описания классов Animal, Dog и работоспособности функций-членов класса:
1) конструкторов: конструктор с параметрами Animal (float Mass, char* Sex, char* Color, int Age);
2) конструктор с параметрами Dog (float Mass, char* Sex, char* Color, int Age, char* Name, char* Race, char* Type);
3) функций-членов типа float GetMass(); char* GetSex(); char* GetSex();
4) деструктора ~animal(),~dog();
b) демонстрация работоспособности класса Animal при - (унарный оператор), новое действие уменьшение веса на 100 гр.
c) демонстрация работоспособности классов при одиночном наследовании;
Программное изделие должно удовлетворять следующим общим требованиям:
а) использование технологии раздельной компиляции;
б) режим работы монитора для программы - текстовый;
в) использование файлов для хранения всех данных;
Требование к надежности:
Программное изделие для обеспечения надежности функционирования должно:
а) проверять наличие всех файлов данных;
б) обеспечить минимизацию количества информации, вводимой пользователем;
в) контролировать корректность ввода данных пользователем;
г) обрабатывать исключительные ситуации, вызванные не корректностью ввода данных пользователем с целью предотвращения прерывания выполнения программы.
Пользователь должен иметь квалификацию не ниже «оператор ПЭВМ».
Для функционирования программного изделия необходим персональный компьютер IBM PC/AT со стандартным набором периферийных устройств (монитор, клавиатура, мышь).
Курсовая работа должна быть выполнена на языке Си++ в операционной системе MS-DOS или MS Windows 9X/XP/200X.
2. Объектно-ориентированный анализ и проектирование
В данном проекте для выполнения поставленной задачи потребуются следующие классы: Animal и производный от него Dog
Рисунок 1. Диаграмма классов
На данной диаграмме представлено два класса. Класс Animal, который содержит в себе поля и методы, а также производный класс Dog который наследует свойства первого класса и добавляет свои.
Рисунок 2. Диаграмма объектов
На рисунке 2 изображена диаграмма объектов, которая показывает состояние объекта в определенный момент времени. Также она отображает какие значения могут принимать атрибуты в данном классе.
Рисунок 3. Диаграмма прецедентов
На рисунке 3 изображена диаграмма прецедентов, которая отображает взаимодействие пользователя и системы, а также основные действия, которые можно делать с системой.
4. Рабочее проектирование
Структуры данных приложения
Таблица 1. Переменные используемые в программе
Название |
Тип |
Использование |
|
char* Name; |
char |
Задает имя животного |
|
char* Race; |
char |
Задает породу |
|
char* Type |
char |
Задает вид |
Таблица 2. Используемые методы
Название |
Тип |
Использование |
|
GetName() |
Void |
Метод, с помощью которого получаем имя |
|
GetType() |
Void |
Метод получения вида |
|
GetRace() |
Void |
Метод, с помощью которого можно узнать породу |
Разработка классов
В данной программе создано 2 класса Animal, Dog, которые взаимодействуют между собой.
Реализация инкапсуляции
Инкапсуляция - это механизм, который объединяет данные и методы, манипулирующими этими данными, и защищает и то, и другое от внешнего вмешательства или неправильного использования.
class Animal
{
public:
Animal (float mass, char* sex, char* colour, int age):Mass(mass), Age(age)
{
Sex=sex;
Color=colour;
}
virtual ~Animal()
{
}
float GetMass() const
{
return Mass;
}
char* GetSex() const
{
return Sex;
}
char* GetColour() const
{
return Color;
}
int GetAge() const
{
return Age;
}
Animal& operator - ();
protected:
float Mass;
char* Sex;
char* Color;
int Age;
};
class Dog:public Animal
{
public:
Dog (float mass, char* sex, char* color, int age, char* name, char* race, char* type):
Animal (mass, sex, color, age)
{
Name=name;
Race=race;
Type=type;
}
~Dog()
{
}
char* GetName() const
{
return Name;
}
char* GetType() const
{
return Type;
}
char* GetRace() const
{
return Race;
}
private:
char* Name;
char* Race;
char* Type;
};
В приведенном коде можно увидеть, как реализована инкапсуляция данных. Пользователю недоступны данные, но ему доступен интерфейс, через который он может взаимодействовать с этими данными.
Реализация наследования
Наследование - это процесс, по средствам которого один объект может наследовать свойства другого и добавить к ним черты, характерные только для него.
В данной программе реализовано простое наследование.
При простом наследовании у класса есть только один предок. Это можно увидеть в наследовании класса class Dog:public Animal. Класс dog наследует от класса animal такие поля как mass, sex, color, age. Также класс dog имеет свои собственные поля (name, race).
Перегрузка оператора в этой программе представлена в классе animal Animal& operator - (). Действие этого оператора заключается в том что он уменьшает массу на 100 гр.
Animal& Animal:operator - ()
{
if (Mass>=0.1)
Mass-=0.1;
return *this;
}
Выводы
В результате выполнения курсовой работы была разработана программа Animal.exe, которая демонстрирует работу с классами и объектами.
Программа обладает текстовым интерфейсом, что значительно облегчает работу пользователя с программой.
В программе использовалась раздельная компиляция файлов, что позволяет быстро отредактировать программу в случае необходимости, а также повышает читабельность исходного кода
Выполнение курсовой работы способствовало улучшению навыков в области объектно-ориентированного программирования, а также усвоение полученных знаний.
Список литературы
1. Скотт К. UML. Основные концепции - М.: Издательский дом «Вильямс», 2010. - 144 с.
2. Статья «Перегрузка операций» Электронная энциклопедия «Википедия». [Электронный ресурс]. Страница доступа: http://ru.wikipedia.org/wiki/Перегрузка_функций
3. Статья «Наследование (программирование)». Электронная энциклопедия «Википедия». [Электронный ресурс]. Страница доступа: http://ru.wikipedia.org/wiki/Наследование_(программирование)
4. Керниган Б., Ритчи Д. Язык программирования Си - СПб.:Невский диалект, 2011. - 352 с.
5. Методические указания и задания к выполнению курсовой работы по дисциплине «Основы программирования и алгоритмические языки» (для студентов специальности «Программное обеспечение автоматизированных систем») / Сост. Н.Н. Дацун - Донецк, ДонНТУ, 2010, - 56 с.
6. Методические указания и задания к лабораторным работам по курсу «Основы программирования и алгоритмические языки» (для студентов специальности 7.50207 «Программное обеспечение автоматизированных систем» дневной формы обучения). Ч. 2/ Авторы: Н.М. Дацун, И.П. Суворова, И.О. Коломойцева. - Донецк, ДонНТУ, 2009. - 116 с.
Приложение 1
программа технологический объектный
Руководство программиста
Разработанная программа обладает текстовым интерфейсом, что значительно облегчает работу конечного пользователя и обеспечивает удобство его работы с системой. Для выполнения программы необходима ПЭВМ типа IBM PC или программно совместимая с ней, функционирующая под управлением MS-DOS (Windows 9x/200x/XP).
Для запуска программы необходимо запустить файл animal.exe. Файл приложение и текстовые файлы должны находиться в одной папке.
При работе с программой могут возникнуть следующие ошибки:
- «Error01 - Ошибка открытия файла» - файл не может быть считан программой так как он не соответствует формату
- «Error02-Файл не найден» - такую ошибку можно увидеть в случает если в папке с программой не будет необходимого файла.
Приложение 2
Руководство пользователя
Данная программа предназначена для демонстрации работы с классами и объектами. Программа включает в себя два связанных класса. Это классы Animal и класс Dog. Класс Dog наследует класс Animal.
Класс Animal содержит следующие поля и методы:
- float Mass - масса
- char* Sex - пол.
- char* Color - цвіт
- int Age - возраст
- float GetMass() - метод получение массы
- char* GetSex() - метод который выводит пол.
- int GetAge() - этот метод возвращает возраст
- char* GetColor() - этот метод показывает цвет
Класс Dog содержит следующие поля и методы:
- char* Name - кличка
- char* Race - порода
- char* Type - вид
- Dog (float Mass, char* Sex, char* Color, int Age, char* Name, char* Race, char* Type) - конструктор с параметрами
Для выполнения программы необходима ПЭВМ типа IBM PC или программно совместимая с ней, функционирующая под управлением MS-DOS (Windows 9x/200x/XP).
Для того чтобы запустить программу необходимо открыть файл animal.exe. В папке в этим файлом должны находится текстовые файлы из которых будут загружаться данные в программу.
После запуска программы на экране пользователя появится информация программе, а именно тема курсовой работы, кем была выполнена, основные возможности программы.
Далее пользователи будет предложено меню в котором он сможет выбрать
необходимое действие.
Основные возможности программы:
1) Загрузить информацию в программу из текстового файла и вывести ее на экран
2) Ввести необходимые данные с клавиатуры и вывести результат на экран
3) Ввести данные с клавиатуры в текстовый файл и записать его на жесткий диск
Рисунок 4. Вывод данных на экран
Приложенние 3
ТЕКСТ ПРОГРАММЫ
Файл основной программы main.cpp
#include <iostream>
#include <conio.h>
#include<im_lol.h>
using namespace std;
int main()
{
Dog Shar (40, «m», «white», 2, «Sharik», «ovcharka», «hunter»);
cout<<Shar. GetName()<<endl;
cout<<Shar. GetType()<<endl;
cout<<Shar. GetSex()<<endl;
cout<<Shar. GetColour()<<endl;
cout<<Shar. GetAge()<<endl;
cout<<Shar. GetMass()<<endl;
- Shar;
cout<<Shar. GetMass()<<endl;
_getch();
return 0;
}
Файл реализации классов class.h
class Animal
{
public:
Animal (float mass, char* sex, char* colour, int age):Mass(mass), Age(age)
{
Sex=sex;
Color=colour;
}
virtual ~Animal()
{
}
float GetMass() const
{
return Mass;
}
char* GetSex() const
{
return Sex;
}
char* GetColour() const
{
return Color;
}
int GetAge() const
{
return Age;
}
Animal& operator - ();
protected:
float Mass;
char* Sex;
char* Color;
int Age;
};
class Dog:public Animal
{
public:
Dog (float mass, char* sex, char* color, int age, char* name, char* race, char* type):
Animal (mass, sex, color, age)
{
Name=name;
Race=race;
Type=type;
}
~Dog()
{
}
char* GetName() const
{
return Name;
}
char* GetType() const
{
return Type;
}
char* GetRace() const
{
return Race;
}
private:
char* Name;
char* Race;
char* Type;
};
Animal& Animal:operator - ()
{
if (Mass>=0.1)
Mass-=0.1;
return *this;
}
Размещено на Allbest.ru
Подобные документы
Приемы и правила объектно-ориентированного программирования с использованием языка С++. Общие принципы разработки объектно-ориентированных программ. Основные конструкции языка С++. Разработка различных программ для Windows с использованием WIN32 API.
учебное пособие [1,6 M], добавлен 28.12.2013Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.
контрольная работа [60,1 K], добавлен 17.01.2011Изучение методик языка Javascript по формализации и решению поставленной задачи, технологических приемов разработки программ на языке Javascript, HTML, CSS. Формально определение машины Тьюринга, распознающую язык. Ее программная модель, протоколы работы.
курсовая работа [220,7 K], добавлен 03.03.2015Общая характеристика объектно-ориентированного подхода в программировании, его основные свойства и принципы. Разработка программы для автоматизация деятельности кафе на основе объектно-ориентированного подхода, проектирования и реализации схемы данных.
курсовая работа [1,2 M], добавлен 22.01.2012Особенности объектно-ориентированного проектирования. Основные понятия объектно-ориентированного подхода. Основы языка UML, варианты его использования. Диаграммы классов и взаимодействия. Разработка диаграммы прецедентов (вариантов использования).
курсовая работа [1,1 M], добавлен 13.05.2014Понятие объектно-ориентированного программирования, характеристика используемых языков. Практическая разработка средств объектно-ориентированного программирования в задачах защиты информации: программная реализация на языке С++, а также Turbo Pascal.
курсовая работа [275,9 K], добавлен 22.12.2011Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.
курсовая работа [2,6 M], добавлен 17.11.2014Особенности реализации главных элементов разрабатываемой программы (цифровые элементы) с помощью объектно-ориентированного подхода. Применение принципа инкапсуляции для защиты данных. Конструирование классов, описание и тестирование программного продукта.
курсовая работа [2,3 M], добавлен 10.05.2015Использование скриптового языка программирования для разработки web-приложений (сценариев). Изучение основ объектно-ориентированного программирования в языке PHP. Ознакомление со специальными методами для работы с классами. Назначение интерфейсов.
контрольная работа [25,1 K], добавлен 14.03.2015Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014