Автор работы: Пользователь скрыл имя, 05 Февраля 2014 в 22:38, курсовая работа
Одним из определяющих факторов обеспечения безопасности и экономичности воздушного движения является автоматизация управления воздушным движением.
Система управления воздушным движением - автоматизированный сервис, обеспечиваемый наземными службами для управления воздушным движением. Задача системы состоит в таком проведении воздушных судов через зону своей ответственности, чтобы исключить их опасное сближение по горизонтали и вертикали.
1. Задание 3
2. Краткое описание методов и средств, которые используются при проектировании. 5
3. Спецификация проекта 8
3.1. Определение требований 8
3.2. Вербальные спецификации прецедентов 8
3.3. Рабочая структура (WBS): 12
3.4. Организационная структура (OBS): 13
3.5. Специфицирование требований 14
3.6. Моделирование поведения системы 15
3.7. Проектирование архитектуры ПО 23
3.8. Детальное проектирование 24
Проектирование базы данных 27
4. Генерация программного кода 28
5. Вывод 39
Также Командная консоль осуществляет мониторинг состояния COM портов узлов, отвечающих за прием и передачу радиолокационной информации.
Документирование сообщений командной консоли
Сообщения выводимые на "Панель сообщений" могут быть записаны в файл и (или) распечатываться на принтер по мере их появления.
Все сообщения из окна "Command Console Message" выводятся в файл. Файл сообщений располагается в директории задаваемой при помощи модуля конфигурации. Имя файла формируется автоматически следующим образом CCMSGMMDD.TXT, где ММ - месяц, DD - день. Размер файла не ограничивается. Старые (ненужные файлы) удаляются автоматически, при этом указывается максимальное количество файлов. Новый файл начинается при смене суток.
Проектирование базы данных
Рис.22 Диаграмма базы данных
1) класс AirwayController
#ifndef AIRWAYCONTROLLER_H_HEADER_
#define AIRWAYCONTROLLER_H_HEADER_
#include "FlightData.h"
class SecuritySystem;
class ScheduleGenerator;
class PlanInfoHandler;
class ModuleController;
class InterActSystem;
//##ModelId=480121F00213
class AirwayController
{
public:
//##ModelId=4801228E006D
AirwayControlLoop();
//##ModelId=4801229E0109
PathwayControlLoop();
//##ModelId=480122A70109
CodeControlLoop();
//##ModelId=48012F130186
InterActSystem* GetInterface();
//##ModelId=480A4CA101F4
Schedule GetSchedule(int bortNum);
private:
//##ModelId=4801275F0280
FlightData CheckSecurity();
//##ModelId=48012F36002E
FlightData GetModuleInfo(string modName);
//##ModelId=4801227E00DA
int systemState;
//##ModelId=480123230167
ModuleController* ModuleSet;
//##ModelId=48012464004E
PlanInfoHandler* Planner;
//##ModelId=480124C70128
InterActSystem* Interface;
//##ModelId=480125AF0177
SecuritySystem* SecurityGuard;
//##ModelId=480A4C5F002E
ScheduleGenerator* Scheduler;
};
#endif /* AIRWAYCONTROLLER_H_HEADER_
2) класс AlarmSytem
#ifndef ALARMSYTEM_H_HEADER_INCLUDED_
#define ALARMSYTEM_H_HEADER_INCLUDED_
#include "FlightData.h"
//##ModelId=4800C07E00BB
class AlarmSytem
{
public:
//##ModelId=4801265C029F
FlightData AlarmMinAlt();
//##ModelId=4801266E0232
FlightData AlarmWarnZone();
//##ModelId=4801267B030D
FlightData AlarmPossibleConflict();
};
#endif /* ALARMSYTEM_H_HEADER_INCLUDED_
3) класс AltimeterModule
#ifndef ALTIMETERMODULE_H_HEADER_
#define ALTIMETERMODULE_H_HEADER_
#include "ControlModule.h"
#include "FlightData.h"
//##ModelId=4800BC340119
class AltimeterModule : public ControlModule
{
public:
//##ModelId=48011B4A0167
AddAltimeter(altimeter* Alt);
//##ModelId=48011B6901C5
FlightData GetAltiInfo();
//##ModelId=48011B880261
FlightData GetCorrelationInfo();
private:
//##ModelId=48011B350177
altimeter* altimetersSet;
};
#endif /* ALTIMETERMODULE_H_HEADER_
4) класс Bort
#ifndef BORT_H_HEADER_INCLUDED_
#define BORT_H_HEADER_INCLUDED_
//##ModelId=480134AF01B5
class Bort
{
public:
//##ModelId=480135030251
int GetPayLoad();
//##ModelId=4801352F0280
int GetVelocity();
//##ModelId=48013539007D
int GetNumber();
//##ModelId=4801354200EA
int GetMass();
private:
//##ModelId=480134D6029F
int number;
//##ModelId=480134DB030D
int mass;
//##ModelId=480134E90271
int velocity;
//##ModelId=480134F30280
int payload;
};
#endif /* BORT_H_HEADER_INCLUDED_B7F325B
5) класс AirwayController
#ifndef CENTERCOORDINATOR_H_HEADER_
#define CENTERCOORDINATOR_H_HEADER_
#include "FlightData.h"
class AirwayController;
//##ModelId=4800C072032C
class CenterCoordinator
{
public:
//##ModelId=48011F820186
AddCenter(AirwayController* newCenter);
//##ModelId=480120840203
FlightData CoordinateNavInfo();
//##ModelId=48012092034B
FlightData CoordinateMeteoInfo();
private:
//##ModelId=48011F6E0167
AirwayController* BordinCenters;
//##ModelId=48011FD40119
FlightData MeteoInfo;
//##ModelId=48011FE2004E
FlightData NavInfo;
};
#endif /* CENTERCOORDINATOR_H_HEADER_
6) класс ControlModule
#ifndef CONTROLMODULE_H_HEADER_INCLUDE
#define CONTROLMODULE_H_HEADER_
#include "FlightData.h"
//##ModelId=4800BA070213
class ControlModule
{
public:
//##ModelId=4800BA22036B
virtual FlightData Report() = 0;
//##ModelId=4800BA660261
virtual string GetName() = 0;
//##ModelId=4800BA740203
virtual int GetType() = 0;
private:
//##ModelId=4800BA4C0196
string moduleName;
//##ModelId=4800BA5A0213
int moduleType;
};
#endif /* CONTROLMODULE_H_HEADER_
7) класс FlightData
#ifndef FLIGHTDATA_H_HEADER_INCLUDED_
#define FLIGHTDATA_H_HEADER_INCLUDED_
//##ModelId=4800B8AC0290
class FlightData
{
public:
//##ModelId=4800B8B6037A
SetBinData(void* pData);
//##ModelId=4800B926030D
void* GetBinData();
private:
//##ModelId=4800B93E03A9
void* pData;
};
#endif /* FLIGHTDATA_H_HEADER_INCLUDED_
8) класс InterActSystem
#ifndef INTERACTSYSTEM_H_HEADER_
#define INTERACTSYSTEM_H_HEADER_
#include "LandingControl.h"
#include "MeteoControl.h"
#include "ThreadsOrganizationControl.h"
class AirwayController;
//##ModelId=4800C311035B
class InterActSystem
{
public:
//##ModelId=480133FB007D
ChangeOwner(AirwayController* owner);
private:
//##ModelId=4801337700BB
LandingControl LandRep;
//##ModelId=48013383000F
MeteoControl MeteoRep;
//##ModelId=4801338F030D
ThreadsOrganizationControl ThreadRep;
//##ModelId=480133ED0222
AirwayController* owner;
};
#endif /* INTERACTSYSTEM_H_HEADER_
9) класс LandingControl
#ifndef LANDINGCONTROL_H_HEADER_
#define LANDINGCONTROL_H_HEADER_
//##ModelId=4800C3D901F4
class LandingControl
{
public:
//##ModelId=48012C750128
ShowCoordPoints();
//##ModelId=48012C8801B5
ShowFlyways();
//##ModelId=48012E6901E4
ChangeRep(axis* newAxis);
private:
//##ModelId=48012C3C01E4
axis* View;
//##ModelId=48012C4200BB
flyway* Ways;
};
#endif /* LANDINGCONTROL_H_HEADER_
10) класс MeteoControl
#ifndef METEOCONTROL_H_HEADER_
#define METEOCONTROL_H_HEADER_
#include "FlightData.h"
//##ModelId=4800C3FB004E
class MeteoControl
{
public:
//##ModelId=48012D5101B5
ShowMeteoState();
//##ModelId=48012D5C01E4
int ChangeFormat(int fmt);
//##ModelId=48012D790290
FlightData ReformatState();
//##ModelId=48012DB7004E
FlightData UpdateState();
//##ModelId=48012DD9007D
SetRangeMin(int min);
//##ModelId=48012DF0037A
SetRangeMax(int max);
private:
//##ModelId=48012D1102CE
FlightData meteoState;
//##ModelId=48012D2603A9
int viewFormat;
//##ModelId=48012D370203
int viewRange;
};
#endif /* METEOCONTROL_H_HEADER_
11) класс MeteoModule
#ifndef METEOMODULE_H_HEADER_INCLUDED_
#define METEOMODULE_H_HEADER_INCLUDED_
#include "ControlModule.h"
#include "FlightData.h"
//##ModelId=4800BBD8031C
class MeteoModule : public ControlModule
{
public:
//##ModelId=480119E101D4
AddStation(station* _station);
//##ModelId=480119FD038A
SetMetrics(metric* newMetrics);
//##ModelId=48011A1B0167
FlightData ProcessMeteoInfo(int statNum);
private:
//##ModelId=4801198203D8
station* MStations;
//##ModelId=480119AB00AB
mectric* Metrics;
};
#endif /* METEOMODULE_H_HEADER_INCLUDED_
12) класс ModuleController
#ifndef MODULECONTROLLER_H_HEADER_
#define MODULECONTROLLER_H_HEADER_
class TrackingModule;
class RadioModule;
class PelengModule;
class MeteoModule;
class FlightData;
class AltimeterModule;
//##ModelId=4800B4E90177
class ModuleController
{
public:
//##ModelId=4801238C0251
FlightData* GetTrackInfo();
//##ModelId=4801239E01B5
FlightData* GetPelengInfo();
//##ModelId=480123B100AB
FlightData* GetAltiInfo();
//##ModelId=480123C10242
FlightData* GetMeteoState();
//##ModelId=480123D401E4
FlightData* GetRadarInfo();
private:
//##ModelId=48011D4C0138
TrackingModule* Tracker;
//##ModelId=48011D600242
RadioModule* Radar;
//##ModelId=48011D87003E
MeteoModule* Meteo;
//##ModelId=48011D9902EE
AltimeterModule* HighMapper;
//##ModelId=48011DAD02FD
PelengModule* Pelengator;
};
#endif /* MODULECONTROLLER_H_HEADER_
13) класс PelengModule
#ifndef PELENGMODULE_H_HEADER_
#define PELENGMODULE_H_HEADER_
#include "ControlModule.h"
#include "FlightData.h"
//##ModelId=4800BBBA030D
class PelengModule : public ControlModule
{
public:
//##ModelId=4801189A03D8
SetPelengCounter(int pelCnt);
//##ModelId=480118B301F4
int GetPelengCounter();
//##ModelId=480118C0036B
SetPoints(points* pnts);
//##ModelId=480118D403C8
points* GetPoints();
//##ModelId=480118E40242
FlightData ProcessPelengInfo();
private:
//##ModelId=4801187D036B
int pelengCount;
//##ModelId=4801188C0186
point* pelengPoints;
};
#endif /* PELENGMODULE_H_HEADER_INCLUDED
14) класс PlanInfoHandler
#ifndef PLANINFOHANDLER_H_HEADER_
#define PLANINFOHANDLER_H_HEADER_
#include "FlightData.h"
class AirwayController;
//##ModelId=4800BE580138
class PlanInfoHandler
{
public:
//##ModelId=480120DD0213
FlightData ProcessPlanInfo();
//##ModelId=480120EE01D4
PassPlanMessage(
//##ModelId=480121210251
FlightData CalcTraectory();
//##ModelId=4801213303B9
FlightData CalcETA();
private:
//##ModelId=4801216B02CE
FlightData PlanInfo;
};
#endif /* PLANINFOHANDLER_H_HEADER_
15) класс RadioModule
#ifndef RADIOMODULE_H_HEADER_INCLUDED_
#define RADIOMODULE_H_HEADER_INCLUDED_
#include "ControlModule.h"
#include "FlightData.h"
//##ModelId=4800BBB00261
class RadioModule : public ControlModule
{
public:
//##ModelId=480117B6030D
SetFeq(int freq);
//##ModelId=480117CB0251
int GetFreq();
//##ModelId=4801180E01F4
FlightData ProcessMonoRadar();
//##ModelId=48011824004E
FlightData ProcessMultiRadar();
private:
//##ModelId=4801179F005D
int frequency;
};
#endif /* RADIOMODULE_H_HEADER_INCLUDED_
16) класс ScheduleGenerator
#ifndef SCHEDULEGENERATOR_H_HEADER_
#define SCHEDULEGENERATOR_H_HEADER_
#include "Bort.h"
//##ModelId=480A49330128
class ScheduleGenerator
{
public:
//##ModelId=480A49B302CE
AddBort(Bort newbort);
//##ModelId=480A4A1802AF
ResetBorts();
//##ModelId=480A4A420280
Schedule GetScheduleByBortNum(int bortnum);
private:
//##ModelId=480A4A2000AB
Schedule GenerateData();
//##ModelId=480A494B01E4
Bort* flights;
};
#endif /* SCHEDULEGENERATOR_H_HEADER_INC
17) класс SecuritySystem
#ifndef SECURITYSYSTEM_H_HEADER_
#define SECURITYSYSTEM_H_HEADER_
#include "AlarmSytem.h"
#include "FlightData.h"
//##ModelId=4800C0320196
class SecuritySystem
{
public:
//##ModelId=480126D8033C
FlightData CheckSecurity();
//##ModelId=4801299500DA
int SetSecurityLevel(void int);
private:
//##ModelId=480126CA003E
AlarmSytem Alarms;
//##ModelId=480129890232
int level;
};
#endif /* SECURITYSYSTEM_H_HEADER_
18) класс ThreadsOrganizationContr
#ifndef THREADSORGANIZATIONCONTROL_H_
#define THREADSORGANIZATIONCONTROL_H_
class AirwayController;
//##ModelId=4800C436002E
class ThreadsOrganizationControl
{
public:
//##ModelId=48013232002E
AddThread(thread* th);
//##ModelId=4801325E00DA
bort* GetBortByThread(thread* th);
//##ModelId=480132A7003E
SortThreads();
//##ModelId=480132AE0128
int GetThreadLoad(thread* th);
//##ModelId=480132D5037A
DeleteThreads(thread* th);
//##ModelId=480132EC0186
MoveThread(thread* th, AirwayController* center);
private:
//##ModelId=480132170261
thread* Threads;
};
#endif /* THREADSORGANIZATIONCONTROL_H_
19) класс TrackingModule
#ifndef TRACKINGMODULE_H_HEADER_
#define TRACKINGMODULE_H_HEADER_
#include "ControlModule.h"
#include "FlightData.h"
//##ModelId=4800BBE502CE
class TrackingModule : public ControlModule
{
public:
//##ModelId=48011BDF00AB
SetTracks(track* newTracks);
//##ModelId=48011BF40138
SetPlots(plot* newPlots);
//##ModelId=48011C0E0148
ResetToPrev();
//##ModelId=48011C1A007D
FlightData ProcessPlots();
//##ModelId=48011C2D0399
FlightData ProcessTracks();
private:
//##ModelId=48011BC002FD
track* TrackSet;
//##ModelId=48011BCC02CE
plot* PlotSet;
};
#endif /* TRACKINGMODULE_H_HEADER_
Разработанная система позволяет автоматизировать сложные процессы, связанные с управлением воздушного движения. Спроектированная модель максимально приближена к реальным требованиям потенциального заказчика. Она позволяет осуществлять автоматические вычисления для предотвращения столкновений воздушных судов и предоставлять указания и рекомендации авиадиспетчерам. Данная система достаточно детализирована и информационно насыщена, однако не является тяжелой для восприятия. Это равновесие позволяет использовать систему непосредственно в условиях УВД.
Информация о работе Автоматизированная система управления воздушным движением