Реализация классов 'Компьютерные комплектующие'

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

Реализация классов 'Компьютерные комплектующие'

Министерство образования и науки РФ

Рязанский Государственный Радиотехнический Университет

Кафедра вычислительной и прикладной математики










Пояснительная записка

к курсовой работе

Реализация классов "Компьютерные комплектующие"


Выполнил:

студент группы 943

Букарев С.И.

Проверил:

доцент кафедры ВПМ

Лаврентьев С.И.

Рязань, 2012

Оглавление

Задание

Введение

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

.1 Выбор среды разработки

.2 Иерархия классов и их обоснование

.3 Описание основных методов

.4 Пользовательский интерфейс

. Системные требования

Заключение

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

Приложения

Задание


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

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

)        Процессор, Материнская плата, Видеокарта, Оперативная память, Жёсткий диск, Блок питания

)        Компьютерная мышь, Клавиатура, Колонки, Наушники.

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

Введение


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

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

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


1.1 Выбор среды разработки


Для разработки программы была выбрана среда C++ Builder 6

 

.2 Иерархия классов и их обоснование


Основным классом рассмотрения предметной области "Компьютерные комплектующие" является товар. Класс товар содержит общие свойства для всех других классов, таких как наушники или центральный процессор. Так как наушники или процессор являются товаром, который, как и все товары имеют вес, цену, и название. Он описывает общие характеристики всех комплектующих. От него наследуются 2 класса: внутренние составляющие и периферия. Так как бываю только внутренние состовляющие (процессор, материнская плата, жесткий диск и так далее) и переферия (шаушники, мышка, клавиатура и так далее).

Класс внутренних компонентов содержит свойства присущие только для внутренних компонентов. А именно это тактовая частота.

Класс переферии содержит толко свойства присущие только переферийным устройствам. А именно дистанция работы.

.        Разработка классов.

А) Внутренние составляющие

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

·        Процессорам - Processor

·        Материнским платам - Motherboard

·        Видеокартам - Video Card

·        ОЗУ - DDR

·        Жёстким дискам - Hard Disk

·        Блокам питания - Block Power

Общее свойство у всех вышеперечисленных - наличие частоты/скорости (FrecuencySpeed).

Рассмотрим каждый наследуемый от Components класс поподробнее.

)        Processor- Особенности процессора- Технология- Тип гнезда(LGA755, LGA1156 и т.д.)- Размер кэша L3 в Мб (сколько приходится на каждый процессор)- Количество ядер- Напряжение питания (~ 0.8-1.5Вт)- Критическая температура

)        MotherBoard- Особенности материнской платы- Тип гнезда для процессора- Тип аудио (количество каналов: 6,8,10..)- Наличие встроенной сетевой карты- Количество сокетов под оперативную память- Возможное количество подключаемых хардов SataII

)        HardDisk- Буфер HDD- Пропускная способность- Объём харда- Среднее время ожидания- Среднее время доступа при чтении- Среднее время доступа при записи

)        DDR- Объём оперативной памяти в Мб- Тип памяти (DDR,DDR2,DDR3)- Пропускная способность в Мб/сек

)        VideoCard- Техпроцесс- Максимальное разрешение (например 1200х1600)- Размер видеопамяти- Тип видеопамяти (например, GDDR5)- Разрядность (128bit, 256bit…)- Требование к Блоку Питания (минимальные)- Частота видеопамяти в Гц

)        BlockPower- Мощность в Вт- Комбинированная нагрузка- Диаметр вентилятора- Входное напряжение минимальное- Входное напряжение максимальное- КПД в %- Уровень шума в дБ

Б) Периферийные устройства

В этот класс входят все комплектующие, которые находятся на определённом расстоянии от корпуса и необходимы скорее для корректной/более удобной работы компьютера. Каждому компоненту будут соответствовать классы:

·        Клавиатура - KeyBoard

·        Компьютерная мышь - CompMouse

·        Наушники - EarPhones

·        Колонки - Columns

Общее свойство у всех вышеперечисленных - дистанция, на которой они могут работать (Distance).

Рассмотрим каждый наследуемый от Peripheral класс поподробнее.

)        KeyBoard- Основной цвет(-а) клавиатуры- Подсветка клавиш- Наличие ЖК-дисплея

)        CompMouse- Основной цвет(-а) мыши- Тип сенсора (Оптический, Лазерный)- Является ли ноутбучной мышью- Количество кнопок- Наличие подсветки- Разрешение (400,600,800…5600dpi)- Максимальное ускорение (например, 20G)

)        Columns- Суммарная мощность колонок- Наличие сабвуфера- Количество колонок- Материал- Минимально воспроизводимая частота- Максимально воспроизводимая частота- Соотношение сигнал/шум

)        EarPhones- Размер динамиков (в мм)- Наличие микрофона- Чувствительность микрофона- Тип- Минимально воспроизводимая частота- Максимально воспроизводимая частота- Соотношение сигнал/шум динамиков

Полученная иерархия классов представлена на рис. 1.

Рис. 1. Иерархия классов

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

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

В методе Write происходит запись информации об объекте в файл.

Тексты всех классов представлены в разделе "Тексты основных классов".

1.4 Пользовательский интерфейс


При разработке пользовательского интерфейса были использованы основные компоненты и возможности C++Builder 6.

Главное окно программы (рис. 2).

Рис. 2. Главное окно программы

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

При нажатии на картинку любого компонента появляется окно со списком компонентов (рис. 3).

Рис. 3. Список компонентов типа "Оперативная память"

Рис. 4. Диалог поиска

При нажатии на кнопку поиск появляется диалоговое окно (рис. 5).

После ввода условий поиска и нажатия кнопки "Найти" появляется форма с нужными компонентами. И пользователь может добавить в корзину новый компонент.

Рис. 5. Результаты поиска

При нажатии на кнопку "Добавить" появляется диалог добавления нового компонента (рис. 6).

Рис. 6. Диалог добавления нового видео

Для вызова справки необходимо выбрать пункт меню Справка->О программе.

2. Системные требования

Программа может быть запущена на любом компьютере под управлением операционной системы Windows 98 - Windows 7 . Для запуска требуется более 8Mb ОЗУ и 10 Mb свободной памяти на диске. Для работы требуется компьютерная мышь и клавиатура.

Заключение


В ходе выполнения курсовой работы были получены навыки по разработке классов на языке C++ в среде C++Builder 6. Так же изучена работа с основными компонентами, диалоговыми окнами и возможностями проектирования приложений в данной среде.

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


1. "Реализация интерфейса с использование Borland C++ Builder по курсу Объектно-ориентированное программирование", Рязань, 2004 г.

компьютер сборка программа деталь

Приложения

 

Тексты основных классов

Класс BaseGoods


#include <vcl.h>

#pragma hdrstop

#include "BaseGoods.h"

#include "ChoiseComp.h"

#pragma package(smart_init)::Goods(float parPrice,AnsiString parManufacturer,AnsiString parModel,int parGuarantee,float parWeigth)

{= parPrice;= parManufacturer;= parModel;= parGuarantee;= parWeigth;

}Goods::Show(int parNumber)

{>SGComp->Cells[1][parNumber+1] = FormatFloat("0.00",Price);>SGComp->Cells[2][parNumber+1] = Manufacturer;>SGComp->Cells[3][parNumber+1] = Model;>SGComp->Cells[4][parNumber+1] = Guarantee;>SGComp->Cells[5][parNumber+1] = FormatFloat("0.000",Weigth);

}Goods::price()

{Price;

}Goods::model()

{Model;

}Goods::manufacturer()

{Manufacturer;

}Goods::guarantee()

{Guarantee;

}Goods::weigth()

{Weigth;

}

Приложение 2

Класс Components

#pragma hdrstop

#include "BaseGoods.h"

#include "ComputerComponents.h"

#include "ChoiseComp.h"

#pragma package(smart_init)::Components(float parPrice,AnsiString parManufacturer,AnsiString parModel,int parGuarantee,float parWeigth,int parFrequencySpeed):Goods(parPrice,parModel,parManufacturer,parGuarantee,parWeigth)

{= parFrequencySpeed;

}Components::Show(int parNumber)

{::Show(parNumber);>SGComp->Cells[6][parNumber+1] = FrequencySpeed;

}Components::frequencySpeed()

{FrequencySpeed;

}

Приложение 3

Класс Peripheral

#pragma hdrstop

#include "BaseGoods.h"

#include "RemoteTerminalUnits.h"

#include "ChoiseComp.h"

#pragma package(smart_init)::Peripheral(float parPrice,AnsiString parModel,AnsiString parManufacturer,int parGuarantee,float parWeigth,int parDistance):Goods(parPrice,parModel,parManufacturer,parGuarantee,parWeigth)

{= parDistance;

}Peripheral::Show(int parNumber)

{::Show(parNumber);>SGComp->Cells[6][parNumber+1] = Distance;

}Peripheral::distance()

}

 


Приложение 4

 

Класс Processor


#pragma hdrstop

#include <stdio.h>

#include <math.h>

#include "ComputerComponents.h"

#include "Processor.h"

#include "ChoiseComp.h"

#pragma package(smart_init)* Good;* Component;::Processor(float parPrice,AnsiString parManufacturer,AnsiString parModel,int parGuarantee,float parWeigth,parFrequencySpeed,AnsiString parAbout,float parTechnology,AnsiString parNest,int parCache,int parCountOfNucleus,parPressure,float parCritTemp):Components(parPrice,parManufacturer,parModel,parGuarantee,parWeigth,parFrequencySpeed)

{= parAbout;= parTechnology;= parNest;= parCache;= parCountOfNucleus;= parPressure;= parCritTemp;

}Processor::Show(int parNumber)

{::Show(parNumber);>SGComp->Cells[7][parNumber+1] = About;>SGComp->Cells[8][parNumber+1] = FormatFloat("0.000",Technology);>SGComp->Cells[9][parNumber+1] = Nest;>SGComp->Cells[10][parNumber+1] = Cache;>SGComp->Cells[11][parNumber+1] = CountOfNucleus;>SGComp->Cells[12][parNumber+1] = FormatFloat("0.00",Pressure);>SGComp->Cells[13][parNumber+1] = FormatFloat("0.00",CritTemp);

}Processor::Write()

{FILE * f;s[255];num;= fopen("Процессоры.txt","r");(s,256,f);= atoi(s); num++;(f);= fopen("Процессоры.txt","a");(num != 1)(f,"%s\n"," ");(f,"%s\n",FloatToStr(this->price()));(f,"%s\n",this->manufacturer());(f,"%s\n",this->model());(f,"%s\n",IntToStr(this->guarantee()));(f,"%s\n",FloatToStr(this->weigth()));(f,"%s\n",IntToStr(this->frequencySpeed()));(f,"%s\n",this->about());(f,"%s\n",FloatToStr(this->technology()));(f,"%s\n",this->nest());(f,"%s\n",IntToStr(this->cache()));(f,"%s\n",IntToStr(this->countOfNucleus()));(f,"%s\n",FloatToStr(this->pressure()));(f,"%s\n",FloatToStr(this->critTemp()));(f);= fopen("Процессоры.txt","r+");(f,"%s\n",IntToStr(num));(f);

}Processor::about()

{About;

}Processor::technology()

{Technology;

}Processor::nest()

{Nest;

}Processor::cache()

{Cache;

}Processor::countOfNucleus()

{CountOfNucleus;

}Processor::pressure()

{Pressure;

}Processor::critTemp()

{CritTemp;

}::~Processor(void)

{}

Приложение 5

Класс KeyBoard

#pragma hdrstop

#include <stdio.h>

#include "RemoteTerminalUnits.h"

#include "KeyBoard.h"

#include "ChoiseComp.h"

#pragma package(smart_init)* Good;* Periph;::KeyBoard(float parPrice,AnsiString parManufacturer,AnsiString parModel,int parGuarantee,float parWeigth,int parDistance,parColor,AnsiString parKeyIllumination,AnsiString parLCD):Peripheral(parPrice,parManufacturer,parModel,parGuarantee,parWeigth,parDistance)

{= parColor;= parKeyIllumination;= parLCD;

}KeyBoard::Show(int parNumber)

{::Show(parNumber);>SGComp->Cells[7][parNumber+1] = Color;>SGComp->Cells[8][parNumber+1] = KeyIllumination;>SGComp->Cells[9][parNumber+1] = LCD;

}KeyBoard::Write()

{FILE * f;s[255];num;= fopen("Клавы.txt","r");(s,256,f);= atoi(s); num++;(f);= fopen("Клавы.txt","a");(num != 1)(f,"%s\n"," ");(f,"%s\n",FloatToStr(this->price()));(f,"%s\n",this->manufacturer());(f,"%s\n",this->model());(f,"%s\n",IntToStr(this->guarantee()));(f,"%s\n",FloatToStr(this->weigth()));(f,"%s\n",IntToStr(this->distance()));(f,"%s\n",this->color());(f,"%s\n",this->keyIllumination());(f,"%s\n",this->lcd());(f);= fopen("Клавы.txt","r+");(f,"%s\n",IntToStr(num));(f);

}KeyBoard::color()

{Color;

}KeyBoard::keyIllumination()

{KeyIllumination;

}KeyBoard::lcd()

{LCD;

}::~KeyBoard(void)

{}

Похожие работы на - Реализация классов 'Компьютерные комплектующие'

 

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