- •«Информационная система автоматизированного управления работой сервиса по ремонту автомобилей»
- •Введение…………………………………………………………………………..3
- •1. Постановка задачи
- •2. Разработка uml-диаграмм в системе Rational Rose
- •2.1. Разработка диаграммы вариантов использования
- •2.2. Разработка диаграммы последовательности
- •2.3. Разработка диаграммы активности
- •2.4. Разработка диаграммы состояний
- •2.5. Разработка диаграммы развертывания
- •2.6. Разработка диаграммы классов
- •3. Код программы
- •4. Пользовательский интерфейс
2.4. Разработка диаграммы состояний
Каждая диаграмма состояний в UML описывает все возможные состояния одного экземпляра определенного класса и возможные последовательности его переходов из одного состояния в другое, то есть моделирует все изменения состояний объекта как его реакцию на внешние воздействия.
Диаграммы состояний чаще всего используются для описания поведения отдельных объектов, но также могут быть применены для спецификации функциональности других компонентов моделей, таких как варианты использования, актеры, подсистемы, операции и методы.
Диаграмма состояний является графом специального вида, который представляет некоторый автомат. Вершинами графа являются возможные состояния автомата, изображаемые соответствующими графическими символами, а дуги обозначают его переходы из состояния в состояние. Диаграммы состояний могут быть вложены друг в друга для более детального представления отдельных элементов модели.
Рисунок 8. Диаграмма Statechart для процессора
Рисунок 7. Диаграмма Statechart для устройства смешивания
2.5. Разработка диаграммы развертывания
Диаграммы развертывания используются для моделирования статического вида системы с точки зрения развертывания. В основном под этим понимается моделирование топологии аппаратных средств, на которых выполняется система. Диаграммы развертывания важны не только для визуализации, специфицирования и документирования встроенных, клиент-серверных и распределенных систем, но и для управления исполняемыми системами с использованием прямого и обратного проектирования.
Рисунок 8. Диаграмма Deployment
2.6. Разработка диаграммы классов
В UML диаграмма классов является типом диаграммы статической структуры. Она описывает структуру системы, показывая её классы, их атрибуты и операторы, а также взаимосвязи этих классов.
Рисунок 9. Диаграмма классов
3. Код программы
#include "Mixer.h"
void Mixer::mixing_colors() {
// TODO - implement Mixer::mixing_colors
throw "Not yet implemented";
}
class Mixer {
private:
int model;
public:
int max_volume;
void mixing_colors();
};
#include "Painting_booth.h"
void Painting_booth::storage_painting_codes() {
// TODO - implement Painting_booth::storage_painting_codes
throw "Not yet implemented";
}
void Painting_booth::recive_paint_code() {
// TODO - implement Painting_booth::recive_paint_code
throw "Not yet implemented";
}
class Painting_booth {
private:
int model;
public:
int lighting_coeff;
void storage_painting_codes();
void recive_paint_code();
};
#include "Processor.h"
void Processor::database_updating() {
// TODO - implement Processor::database_updating
throw "Not yet implemented";
}
void Processor::database_analys() {
// TODO - implement Processor::database_analys
throw "Not yet implemented";
}
void Processor::processing_data() {
// TODO - implement Processor::processing_data
throw "Not yet implemented";
}
void Processor::mixer_control() {
// TODO - implement Processor::mixer_control
throw "Not yet implemented";
}
void Processor::component_selection() {
// TODO - implement Processor::component_selection
throw "Not yet implemented";
}
void Processor::booth_control() {
// TODO - implement Processor::booth_control
throw "Not yet implemented";
}
class Processor {
private:
int frequency;
int ram;
public:
void database_updating();
void database_analys();
void processing_data();
void mixer_control();
void component_selection();
void booth_control();
};
#include "Spectrograph.h"
void Spectrograph::paint_analysis() {
// TODO - implement Spectrograph::paint_analysis
throw "Not yet implemented";
}
void Spectrograph::recive_paint_atributes() {
// TODO - implement Spectrograph::recive_paint_atributes
throw "Not yet implemented";
}
class Spectrograph {
private:
int model;
public:
int resolution;
int optical_atributes;
void paint_analysis();
void recive_paint_atributes();
};
#include "Stuff_data_base.h"
void Stuff_data_base::storage_service_data() {
// TODO - implement Stuff_data_base::storage_service_data
throw "Not yet implemented";
}
class Stuff_data_base {
private:
int type;
public:
int memory;
void storage_service_data();
};
#include "Car_data_base.h"
void Car_data_base::storage_car_info() {
// TODO - implement Car_data_base::storage_car_info
throw "Not yet implemented";
}
class Car_data_base {
private:
int type;
public:
int memory;
void storage_car_info();
};
#include "Wheel_booth.h"
void Wheel_booth::storage_angle_settings() {
// TODO - implement Wheel_booth::storage_angle_settings
throw "Not yet implemented";
}
void Wheel_booth::get_wheel_angle() {
// TODO - implement Wheel_booth::get_wheel_angle
throw "Not yet implemented";
}
void Wheel_booth::recive_wheel_angle() {
// TODO - implement Wheel_booth::recive_wheel_angle
throw "Not yet implemented";
}
class Wheel_booth {
private:
int model;
public:
int optical_options;
int wheel_radius;
void storage_angle_settings();
void get_wheel_angle();
void recive_wheel_angle();
};
