Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_4_отчёт.doc
Скачиваний:
4
Добавлен:
29.08.2019
Размер:
2.22 Mб
Скачать
      1. Требования к надёжности

  • Предусмотреть контроль вводимой информации

  • Предусмотреть блокировку некорректных действий пользователя при работе с системой.

  • Обеспечить целостность хранимой информации.

      1. Требования к составу и параметрам технических средств

Тип процессора – Intel Pentium 1 и выше; Объём оперативной памяти – 64 мб и выше.

      1. Требования к информационной и программной совместимости

Система должна работать под управлением Windows 7 Starter и выше.

    1. Требования к программной документации

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

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

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

Рисунок 1 – Иерархия классов в виде графа

3 Иерархия объектов

Рисунок 2 – Иерархия объектов в виде графа

4 Описание маршрута, который проходит событие TEvent от формирования до очистки

Событие TEvent образуется в методе void MyApplication::GetEvent(), где для него с клавиатуры задаются наименование команды (которое потом переводится в числовой эквивалент), после чего это событие проходит первоначальную обработку в методе void MyApplication::HandleEvent(), в котором, при необходимости, указываются дополнительные параметры для события. Если событие не было полностью выполнено в классе приложения, оно передаётся объекту-группе, содержащемуся в классе приложения, который затем обрабатывает это событие (добавляет элементы, или удаляет их) и передаёт это событие своим элементам-группам, если он не смог обработать эти события. Это происходит до тех пор, пока один из объектов не обработает событие и не вызовет для события метод Clear().

5 Определения классов

class TEvent

{

public:

TEvent(void);

~TEvent(void);

int _evType;

int _commandID;

TObject* _param1;

char* _param2;

void ClearEvent();

};

class MyApplication

{

private:

TDepartment* _head;

TEvent* _currentEvent;

public:

MyApplication(void);

~MyApplication(void);

void GetEvent();

void Execute();

void HandleEvent();

void ShowCommands();

};

class TObject

{

protected:

char* _name;

public:

TObject();

TObject(char* name);

virtual ~TObject();

char* GetName();

void SetName(char* name);

virtual void Show() = 0;

};

class TPerson : public TObject

{

public:

TPerson(void);

TPerson(char* name, int age);

virtual ~TPerson(void);

virtual void Show() = 0;

protected:

int _age;

};

class Employee :

public TPerson

{

public:

Employee(void);

Employee(Employee& emp);

Employee(char* name, int age, int workExp);

~Employee(void);

int GetWorkExp();

void Show();

protected:

int _workExpirience;

};

class Worker :

public TPerson

{

public:

Worker(void);

Worker(Worker& wk);

Worker(char* name, int age, int workExpirience);

~Worker(void);

int GetWorkExp();

virtual void Show();

protected:

int _workExpirience;

};

class Engineer :

public Worker

{

public:

Engineer(void);

Engineer(Engineer& eng);

Engineer(char* name, int age, int workExp);

void Show();

~Engineer(void);

};

class TDepartment :

public TObject

{

protected:

TPerson* _head;

TItem* _listHead;

TDepartment();

TDepartment(char* name, TPerson* head);

public:

virtual ~TDepartment(void);

TPerson* GetHead();

void SetHead(TPerson* person);

void PushBack(TObject* obj);

bool Remove(TObject* obj);

void ForEach(PF action, int minExp);

virtual void Show();

void HandleEvent(TEvent* ev);

};

class Branch :

public TDepartment

{

public:

void Show();

Branch(void);

Branch(char* name, TPerson* head);

~Branch(void);

};

class WorkShop :

public TDepartment

{

public:

WorkShop(char* name, TPerson* head);

WorkShop(void);

~WorkShop(void);

void Show();

};

class Factory :

public TDepartment

{

public:

Factory(void);

Factory(char* name, TPerson* head);

~Factory(void);

void Show();

};

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]