Словарь предметной области
Стр 1 из 2Следующая ⇒ Министерство образования и науки Российской Федерации Новосибирский государственный технический университет Кафедра ПМт
Расчетно-графическое задание по дисциплине “Объектно-ориентированное программирование ”
Факультет: ПМИ Группа: ПМИ-21 Студент: Давыдов Д.В. Преподаватель: Тракимус Ю.В.
Новосибирск Формулировка задания
· Представить разработанные классы в виде диаграмм классов языка UML. · Описать наиболее важные аспекты поведения системы посредством разработки нескольких сценариев, отражающих взаимодействие ряда объектов различных классов. · Представить сценарии в виде диаграмм последовательностей или коммуникации языка UML. · Реализовать разработанные диаграммы классов в системе Enterprise Architect. Диаграммы последовательностей или коммуникации также можно реализовать в системе Enterprise Architect. Сгенерировать прототип кода средствами Enterprise Architect.
Вариант предметной области: Автомобильный магазин
Словарь предметной области
Автомобильный магазин – Помещение магазина. Характеризуется состоянием открытия (магазин открыт или магазин закрыт)
Человек – Живое существо, обладающее разумом. Характеризуется именем, возрастом, полом. (абстрактный класс).
Работник – Человек, работающий в заданном магазине. Характеризуется рабочими днями и зарплатой (абстрактный класс).
Директор – Глава магазина, нанимает и увольняет работников, а так же выплачивает им зарплату. Характеризуется лояльностью, которую проявляют к нему его работники.
Покупатель – Клиент магазина, покупает, либо просто просматривает товар. Характеризуется наличием лицензии и денег.
Продавец-консультант – Проверяет лицензию покупателя, даёт ему консультацию, а так же продаёт товар.
Складной работник – Отвечает за состояние склада (наличие необходимого товара, проверка недостачи), а так же приносит необходимый товар со склада, при его наличии.
Уборщица – Следит за чистотой помещения магазина и склада.
Охранник – Защищает работников магазина от нападений, а так же защищает магазин от воров.
Товар – Продаваемые в магазине автомобили и запчасти. Характеризуется ценой, названием, а также необходимостью лицензии для данного товара.
3.Спецификации разработанных классов и их назначение
class Director: public Human //Директор { int loyality;//Лояльность public: Director(); virtual ~Director(); Worker *m_Worker;
void FireCrew(Worker* crew);//Нанять работника int GetLoyality();//Получить значение лояльности void HireCrew(Worker* crew);//Уволить работника void PaySalaryToAll();//Выдать зарплату void SetLoyality(int newL);//Изменить лояльность };
class Сar_Store //Автомобиль магазин { bool opened;//флажок открытия short TimeClose;//Время закрытия short TimeOpen;//Время открытия public: Weapon_Store(); virtual ~Car_Store(); Director *v_Director; Good *v_Good;
void SetOpenCloseStatus(short curTime);//Поменять статус открытия в зависимости от //времени };
class Security: public Worker //Охранник {
public: Security(); virtual ~Security();
void Protect();//Защита помещения. Когда открыто – сотрудников и товар, когда //закрыто – только товар.
};
class Client: public Human //Покупатель { bool haveLicense;//Есть ли лицензия
int Money;//Кол-во денег public: Client(); virtual ~Client();
void Buy(Good* car);//Купить оружие bool CanBuy();//Проверить – можно ли покупать авто int GetMoney();//Проверить деньги };
class Shopper: public Worker { public: Shopper(); virtual ~Shopper();
bool CheckClientLicense();//Проверить лицензию покупателя void GetConsultation();//Проконсультировать покупателя void Sell(Good* ammo);//Продать оружие };
class Worker: public Human //Работник { protected: int salary;//Зарплата boolean[7] shedule;//Дни работы public: Worker(); virtual ~Worker();
virtual void CalculateNewSalary();//Пересчитать зарплату
virtual void GetShedule(boolean* shed);//Получить график работы virtual void PaySalary();//Выдать зарплату };
class Store_worker: public Worker //Складной работник {
public: Store_worker(); virtual ~Store_worker();
bool CheckForDeficit();//Проверить склад на недостачу bool CheckSpare(Good* spare);//Проверить наличие товара на складе void GiveSpareFromStore(Good* spare);//Принести товар со склада
};
class Good//Товар { char* name;//Название bool needLicense;//Необходимость лицензии int price;//Цена public: Good(); virtual ~Good();
bool CheckForLicense();//Проверить необходимость лицензии void GetName(char* nm);//Получить название int GetPrice();//Получить цену };
class Cleaner: public Worker//Уборщица {
public: Cleaner(); virtual ~Cleaner();
void Clean();//Привести помещение в порядок
};
class Human // Человек { protected: int Age;//Возраст int exp;//Стаж char* Name;//Имя char sex;//Пол char* Surname;//Фамилия public: Human(); virtual ~Human();
virtual int GetExpierence();//Получить стаж };
4. Диаграмма классов
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|