Автоматизированная система управления воздушным движением

Автор работы: Пользователь скрыл имя, 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

Прикрепленные файлы: 1 файл

Автоматизированная система управления воздушным движением.doc

— 2.05 Мб (Скачать документ)

 

Также Командная консоль  осуществляет мониторинг состояния COM портов узлов, отвечающих за прием и  передачу радиолокационной информации.

 

Документирование  сообщений командной консоли

 

Сообщения выводимые  на "Панель сообщений" могут быть записаны в файл и (или) распечатываться  на принтер по мере их появления.

 

Все сообщения из окна "Command Console Message" выводятся в файл. Файл сообщений располагается в директории задаваемой при помощи модуля конфигурации. Имя файла формируется автоматически следующим образом CCMSGMMDD.TXT, где ММ - месяц, DD - день. Размер файла не ограничивается. Старые (ненужные файлы) удаляются автоматически, при этом указывается максимальное количество файлов. Новый файл начинается при смене суток.

 

 

Проектирование базы данных

 

Рис.22 Диаграмма базы данных

  1. Генерация программного кода

 

1) класс AirwayController

 

#ifndef AIRWAYCONTROLLER_H_HEADER_INCLUDED_B7F378D5

#define AIRWAYCONTROLLER_H_HEADER_INCLUDED_B7F378D5

#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_INCLUDED_B7F378D5 */

 

2) класс AlarmSytem

 

#ifndef ALARMSYTEM_H_HEADER_INCLUDED_B7F35201

#define ALARMSYTEM_H_HEADER_INCLUDED_B7F35201

#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_B7F35201 */

 

3) класс AltimeterModule

 

#ifndef ALTIMETERMODULE_H_HEADER_INCLUDED_B7F3020F

#define ALTIMETERMODULE_H_HEADER_INCLUDED_B7F3020F

#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_INCLUDED_B7F3020F */

 

4) класс Bort

 

#ifndef BORT_H_HEADER_INCLUDED_B7F325B8

#define BORT_H_HEADER_INCLUDED_B7F325B8

 

//##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_B7F325B8 */

 

5) класс AirwayController

 

#ifndef CENTERCOORDINATOR_H_HEADER_INCLUDED_B7F3508E

#define CENTERCOORDINATOR_H_HEADER_INCLUDED_B7F3508E

#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_INCLUDED_B7F3508E */

 

6) класс ControlModule

 

#ifndef CONTROLMODULE_H_HEADER_INCLUDED_B7F34D0E

#define CONTROLMODULE_H_HEADER_INCLUDED_B7F34D0E

#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_INCLUDED_B7F34D0E */

 

7) класс FlightData

 

#ifndef FLIGHTDATA_H_HEADER_INCLUDED_B7F3706C

#define FLIGHTDATA_H_HEADER_INCLUDED_B7F3706C

 

//##ModelId=4800B8AC0290

class FlightData

{

  public:

    //##ModelId=4800B8B6037A

    SetBinData(void* pData);

 

    //##ModelId=4800B926030D

    void* GetBinData();

 

  private:

    //##ModelId=4800B93E03A9

    void* pData;

 

};

#endif /* FLIGHTDATA_H_HEADER_INCLUDED_B7F3706C */

 

8) класс InterActSystem

 

#ifndef INTERACTSYSTEM_H_HEADER_INCLUDED_B7F35C71

#define INTERACTSYSTEM_H_HEADER_INCLUDED_B7F35C71

#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_INCLUDED_B7F35C71 */

 

9) класс LandingControl

 

#ifndef LANDINGCONTROL_H_HEADER_INCLUDED_B7F37F1B

#define LANDINGCONTROL_H_HEADER_INCLUDED_B7F37F1B

 

//##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_INCLUDED_B7F37F1B */

 

10) класс MeteoControl

 

#ifndef METEOCONTROL_H_HEADER_INCLUDED_B7F33FF3

#define METEOCONTROL_H_HEADER_INCLUDED_B7F33FF3

#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_INCLUDED_B7F33FF3 */

 

11) класс MeteoModule

#ifndef METEOMODULE_H_HEADER_INCLUDED_B7F35689

#define METEOMODULE_H_HEADER_INCLUDED_B7F35689

#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_B7F35689 */

 

12) класс ModuleController

 

#ifndef MODULECONTROLLER_H_HEADER_INCLUDED_B7F351D7

#define MODULECONTROLLER_H_HEADER_INCLUDED_B7F351D7

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_INCLUDED_B7F351D7 */

 

13) класс PelengModule

 

#ifndef PELENGMODULE_H_HEADER_INCLUDED_B7F376E7

#define PELENGMODULE_H_HEADER_INCLUDED_B7F376E7

#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_B7F376E7 */

 

14) класс PlanInfoHandler

 

#ifndef PLANINFOHANDLER_H_HEADER_INCLUDED_B7F35C89

#define PLANINFOHANDLER_H_HEADER_INCLUDED_B7F35C89

#include "FlightData.h"

class AirwayController;

 

//##ModelId=4800BE580138

class PlanInfoHandler

{

  public:

    //##ModelId=480120DD0213

    FlightData ProcessPlanInfo();

 

    //##ModelId=480120EE01D4

    PassPlanMessage(AirwayController* center);

 

    //##ModelId=480121210251

    FlightData CalcTraectory();

 

    //##ModelId=4801213303B9

    FlightData CalcETA();

 

  private:

    //##ModelId=4801216B02CE

    FlightData PlanInfo;

 

};

#endif /* PLANINFOHANDLER_H_HEADER_INCLUDED_B7F35C89 */

 

15) класс RadioModule

 

#ifndef RADIOMODULE_H_HEADER_INCLUDED_B7F37138

#define RADIOMODULE_H_HEADER_INCLUDED_B7F37138

#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_B7F37138 */

 

16) класс ScheduleGenerator

 

#ifndef SCHEDULEGENERATOR_H_HEADER_INCLUDED_B7F353F2

#define SCHEDULEGENERATOR_H_HEADER_INCLUDED_B7F353F2

#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_INCLUDED_B7F353F2 */

 

17) класс SecuritySystem

 

#ifndef SECURITYSYSTEM_H_HEADER_INCLUDED_B7F311B0

#define SECURITYSYSTEM_H_HEADER_INCLUDED_B7F311B0

#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_INCLUDED_B7F311B0 */

 

18) класс ThreadsOrganizationControl

 

#ifndef THREADSORGANIZATIONCONTROL_H_HEADER_INCLUDED_B7F35203

#define THREADSORGANIZATIONCONTROL_H_HEADER_INCLUDED_B7F35203

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_HEADER_INCLUDED_B7F35203 */

 

19) класс TrackingModule

 

#ifndef TRACKINGMODULE_H_HEADER_INCLUDED_B7F34E7E

#define TRACKINGMODULE_H_HEADER_INCLUDED_B7F34E7E

#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_INCLUDED_B7F34E7E */

 

 

  1. Вывод

Разработанная система позволяет автоматизировать сложные процессы, связанные с управлением воздушного движения. Спроектированная модель максимально приближена к реальным требованиям потенциального заказчика. Она позволяет осуществлять автоматические вычисления для предотвращения столкновений воздушных судов и предоставлять указания и рекомендации авиадиспетчерам. Данная система достаточно детализирована и информационно насыщена, однако не является тяжелой для восприятия. Это равновесие позволяет использовать систему непосредственно в условиях УВД.

 


Информация о работе Автоматизированная система управления воздушным движением