Объектно-ориентированная система Animal

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    89,07 Кб
  • Опубликовано:
    2014-10-14
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Объектно-ориентированная система Animal













Объектно-ориентированная система Animal

Введение

программа технологический объектный

На современном этапе развития программного обеспечения (ПО) вся большая роль отводится объектно-ориентированному стилю проектирования и программирования (ООП). Это позволяет разрабатывать большие программные комплексы быстрее, повторно используя имеющиеся модули, обеспечивать инкапсуляцию данных, полиморфизм операций, наследование свойств и методов. Профессиональное обучение программированию по направлению подготовки «Программная инженерия» предусматривает освоение языка Си в качестве базового. Дальнейшее развитие навыков программирования на языке Си и изучение основ ООП выполняется в дисциплине «Объектно-ориентированное программирование». Для закрепления навыков проектирования и разработки больших программ в объектно-ориентированном стиле учебным планом направления подготовки «Программная инженерия» предусмотрено выполнение курсовой работы по этой дисциплине. Целью курсовой работы является закрепление практических навыков самостоятельной постановки и решения задачи обработки данных с помощью ЭВМ средствами ООП. Во время выполнения курсовой работы студент должен овладеть методикой объектно-ориентированного проектирования программ с помощью языка UML по формализации и решению поставленной задачи, технологическими приемами разработки объектно-ориентированных программ на языке Си++. Условием успешного выполнения курсовой работы являются практические навыки ООП, полученные при выполнении лабораторных работ по дисциплине «ООП», которые являются частью курсовой работы. Разработанная программа animal.exe является программным продуктом демонстрирующим работу с классами и объектами.

1. Постановка задачи


Программный продукт animal.exe является информационной системой типа «Объектно-ориентированная система».

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

)        конструкторов: конструктор с параметрами Animal (float Mass, char* Sex, char* Color, int Age);

)        конструктор с параметрами 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();)       демонстрация работоспособности класса Animal при - (унарный оператор), новое действие уменьшение веса на 100 гр.)         демонстрация работоспособности классов при одиночном наследовании;

Программное изделие должно удовлетворять следующим общим требованиям:

а) использование технологии раздельной компиляции;

б) режим работы монитора для программы - текстовый;

в) использование файлов для хранения всех данных;

Требование к надежности:

Программное изделие для обеспечения надежности функционирования должно:

а) проверять наличие всех файлов данных;

б) обеспечить минимизацию количества информации, вводимой пользователем;

в) контролировать корректность ввода данных пользователем;

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

Пользователь должен иметь квалификацию не ниже «оператор ПЭВМ».

Для функционирования программного изделия необходим персональный компьютер 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

{:(float mass, char* sex, char* colour, int age):Mass(mass), Age(age)

{=sex;=colour;

}~Animal()

{

}GetMass() const

{Mass;

}* GetSex() const

{Sex;

}* GetColour() const

{Color;

}GetAge() const

}& operator - ();:Mass;* Sex;* Color;Age;

};Dog:public Animal

{:(float mass, char* sex, char* color, int age, char* name, char* race, char* type):(mass, sex, color, age)

{=name;=race;=type;

}

~Dog()

{

}* GetName() const

{Name;

}* GetType() const

{Type;

}* GetRace() const

{Race;

}:* Name;* Race;

char* Type;

};

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

Реализация наследования

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

В данной программе реализовано простое наследование.

При простом наследовании у класса есть только один предок. Это можно увидеть в наследовании класса class Dog:public Animal. Класс dog наследует от класса animal такие поля как mass, sex, color, age. Также класс dog имеет свои собственные поля (name, race).

Перегрузка оператора в этой программе представлена в классе animal Animal& operator - (). Действие этого оператора заключается в том что он уменьшает массу на 100 гр.

Animal& Animal:operator - ()

{(Mass>=0.1)-=0.1;*this;

}

Выводы


В результате выполнения курсовой работы была разработана программа Animal.exe, которая демонстрирует работу с классами и объектами.

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

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

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


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


1. Скотт К. UML. Основные концепции - М.: Издательский дом «Вильямс», 2010. - 144 с.

. Статья «Перегрузка операций» Электронная энциклопедия «Википедия». [Электронный ресурс]. Страница доступа: #"786103.files/image004.gif">

Рисунок 4. Вывод данных на экран


Приложенние 3


ТЕКСТ ПРОГРАММЫ

Файл основной программы main.cpp

#include <iostream>

#include <conio.h>

#include<im_lol.h>namespace std;

main()

{Shar (40, «m», «white», 2, «Sharik», «ovcharka», «hunter»);<<Shar. GetName()<<endl;<<Shar. GetType()<<endl;<<Shar. GetSex()<<endl;<<Shar. GetColour()<<endl;<<Shar. GetAge()<<endl;<<Shar. GetMass()<<endl;

Shar;<<Shar. GetMass()<<endl;

_getch();

return 0;              

}

Файл реализации классов class.h

class Animal

{:(float mass, char* sex, char* colour, int age):Mass(mass), Age(age)

{=sex;=colour;

}~Animal()

{

}GetMass() const

{Mass;

}* GetSex() const

{Sex;

}* GetColour() const

{Color;

}GetAge() const

{Age;

}& operator - ();:Mass;* Sex;* Color;Age;

};

Dog:public Animal

{:(float mass, char* sex, char* color, int age, char* name, char* race, char* type):(mass, sex, color, age)

{=name;=race;=type;

}

~Dog()

{

}* GetName() const

{Name;

}* GetType() const

{Type;

}* GetRace() const

{Race;

};

& Animal:operator - ()

{(Mass>=0.1)=0.1;*this;

}

Похожие работы на - Объектно-ориентированная система Animal

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!