Объектно-ориентированная система 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.