- •Содержание
- •Введение
- •1 Обзор автоматизированной системы учета продаж автомобилей
- •Обзор предметной области
- •Обзор существующих аналогов
- •3 Структура используемых данных
- •4 Описание созданных программных конструкций
- •5 Разработка и описание диаграммы классов
- •6 Результаты тестирования разработанной системы
- •Заключение
- •Список использованных источников
- •Приложение а (обязательное) Листинг кода
- •Продолжения приложения а
- •Продолжения приложения а
5 Разработка и описание диаграммы классов
Объектно-ориентированное программирование предполагает создание собственных типов данных, называемых классами. Такой подход использовался и при разработке данного проекта.
ООП строится на основных парадигмах, которым должны следовать все программы, реализуемые в этом стиле:
1 Абстракция данных. Абстрагирование означает выделение значимой информации и исключение из рассмотрения незначимой. В ООП рассматривают лишь абстракцию данных, подразумевая набор наиболее значимых характеристик объекта, доступных остальной программе.
2 Инкапсуляция – свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе.
3 Наследование – свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствованной функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс – потомком, наследником, дочерним или производным классом.
4 Полиморфизм – свойство системы, позволяющее использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Программа представлена данными классами:
– class Admin;
– class Loging;
– class CarParts;
– class ElectricalEquipment;
– class AutoParts;
– class Car;
– class User.
Класс Admin работает с данными администраторами. В нем содержатся следующие методы:
– void Admin::setter(string adminLog, string adminName, srtring adminSecondName, string adminPost) – устанавливает значения полей, которые играют важную роль при регистрации сотрудника;
– void Admin::readFromFile(string adminLong) – считывание данных из файла;
– void Admin::write() – запись данных в файл;
– void Admin::viewUsers() – просмотр данных о покупателе
– void Admin::deleteUser() – удаление покупателя;
– void Admin::viewUserBasket() – просмотр корзины клиента.
В классе Loging используются методы, с помощью которых можно войти/зарегистрироваться в системе:
Класс Car – класс, являющийся базовым классов ElectricalEquipment и AutoParts. Три класса отличия между собой лишь двумя полем.
Класс Car Parts содержит метод установки полей и просмотр информации.
Класс ElectricalEquipment содержит следующие методы:
– void ElecticalEquipment::add(string userName) – добавление данных в файл;
– void ElecticalEquipment::view(short counterOfEquipment) – просмотр информации;
– void ElecticalEquipment::deleteEquipment(int countToDel, string userName) – удаление данных
Класс AutoParts содержит информацию о просмотре информации для сотрудника, удаление информации о деталях, сортировка, используя последовательный контейнер list.
Класс Car хранит данные о покупках автомобилей, вызов методов которого происходит в меню сотрудника. Также данный класс позволяет просмотреть информацию о всех покупках клиента, добавить автомобили на склад, сортировать автомобили на складе, удалить товары на складе, просмотреть корзину покупателя и удалить клиента.
Класс User является классом, который хранит информацию о пользователе: имя, фамилия, отчество, номер паспорта, количество денег на счету.