Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proektirovanie_modeley_predmetnoy_oblasti.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
106.5 Кб
Скачать

Пакет «атр»

Объект «Автотранспортное предприятие».

ATP {

//атрибутивная часть АТП

//Название фирмы

String atp_name;

//Юр. адрес

String address;

//подвижной состав АТП

Transport[] transport;

//отдел технической эксплуатации

ExplotationDep expl_dep;

//отдел перевозок

TransportationDep transp_dep;

//подсистема работы с пространственными данными

GISSystem gis;

//Контрагенты АТП

Contragent[] cntr;

//Водители АТП

Driver[] driv;

//функциональная часть АТП

//получение заявки на перевозку, исходя из которой необходимо определить

//техническую готовность подвижного состава и рассчитать стоимость перевозки

Transport[] getTransportAvaliable(Cargo c, Date start, Date end) {}

//определение транспорта, который может везти указанный груз

Transport[] filterTransportByCargoType(Cargo cr) {}

//определение свободных ТС в заданный период перевозки, отфильтрованных по соответствию груза

Transport[] defineTransportAvaliability(Transport[] tr, Date start, Date end) {}

//определение стоимости перевозки

float getTransportationPrice(Route r, Cargo c) {}

//функции, связанные с внутренними задачами объекта

создание объекта АТП

ATP()

}

Объект «Контрагент»

Contraсtor {

//атрибутивная часть

//Название юр. лица

String contr_name;

//лицо, заключающее договора

String executive_name;

//основание заключение договора ответственным лицом контрагента

//(Устав, Доверенность, пр.)

String cause;

//Контактные лица

String[] contacts;

//контактные телефоны

String[] phone_nums;

//функциональная часть

//Выдать название юр. лица

String getName()

//Выдать перечень контактных лиц контрагента

String[] getContactNames()

//выдать контактный телефон заданного контактного лица

String getPhoneByContact(String cont)

}

Объект «Калькулятор стоимости перевозки»

PriceCalculator {

//атрибутивная часть

//пробег порожний

float emptyRunKm;

//стоимость, нормированная по пробегу и массе груза

float kgKm;

//пробег, нормированный по пробегу и объему груза

float m3Km;

//функциональная часть

//расчет стоимости по стране

float calcPriceOverCountry(float dist_empty, float dist_loaded, Cargo c)

//расчет стоимости международной перевозки

float calcPriceAbroad(float dist_empty, float dist_loaded,int borderCount, Cargo c)

}

Объект «Планируемые работы транспортного средства»

TransportReservation {

//атрибутивная часть

//Тренапортное средство

Transport ts;

//массив дат начала планируемых работ

Date[] dt_start;

//пробег, нормированный по пробегу и объему груза

Date[] dt_end ;

//функциональная часть

//получение транспортного средства

Transport getTransport()

//проверка, - зарезервировано ли ТС на данный период

boolean checkTransportReserved(Transport tr,Date s,Date e)

//добавление планируемых работ

boolean addReservation(Transport t,Date s,Date e)

//удаление планируемых работ

boolean removeReservation(Transport t,Date s,Date e)

}

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