Опубликован: 05.03.2005 | Уровень: специалист | Доступ: платный
Дополнительный материал 3:

Высокоуровневый дизайн

< Дополнительный материал 2 || Дополнительный материал 3: 12345

ОПИСАНИЕ КЛАССОВ

Класс TBearingParam

// Класс параметров подшипника
public class TBearingParam
{
  public string Number;    // Номер подшипника
  public int ShiftNum;     // Номер рабочей смены
  public DateTime OutDateTime;
    // Дата и время выдачи подшипника
  public DateTime InDateTime;
    // Дата и время поступления подшипника
  public string Factory;   // Название депо
  public string NameMaster;// ФИО мастера
  public int GroupNum;     // Номер группы подшипника
  public int SepType;      // Тип сепаратора подшипника
  public float AShift;     // Осевой сдвиг
  public int Position;
  // Позиция на оси (0 - на заднем кольце (Back),
  // 1 - на переднем кольце (Front))
  // Конструктор
  public TBearingParam()
}

Класс реализует набор параметров подшипника.

Класс TTerminalBearing

// Класс терминала подшипника
public class TTerminalBearing
{
private TBearingParam BearingParam;//Структура параметров
                                   //подшипника
public TCommandQueue CommandQueue; //Ссылка на очередь
                                   //команд
public bool IsQuery;               //Флаг, разрешающий
                                   //опрос терминала
// Конструктор
  public TTerminalBearing()
  // Опрашивает терминал
  private long QueryTerminal()
  // Запрашивает и обрабатывает статус терминала
  public void Process()
}

Класс используется для взаимодействия с терминалом подшипника. Операции:

  • Конструктор TTerminalBearing() инициализирует поле BearingParam и устанавливает значение флага IsQuery в true.
  • Метод QueryTerminal() вызывает функцию внешнего модуля IBearing.GetRollerPar(...), присваивает возвращенные значения полю BearingParam и возвращает значение статуса терминала.
  • Метод Process() вызывает метод QueryTerminal(). Если статус терминала равен 0 (это означает, что параметры подшипника были успешно возвращены), то на первое место в очередь команд добавляется команда GetR - получить из входной ячейки:
    CommandQueue.AddCommand(TCommand.GetR,-1,0,-1,
    this.BearingParam, null,0);

Если получены другие значения статуса терминала, то в журнал сообщений добавляется запись в соответствии с FS пункт 1.а.iv.

Класс TAxleParam

// Класс параметров оси
public class TAxleParam
{
  public byte ShiftNum;     //Номер рабочей смены
  public string NameMaster; //ФИО мастера
  public string Factory;    //Название депо
  public string Number;     //Номер оси
  public int Side;          //Сторона оси 0 - правая,
                            //1 - левая
  public float BackDiam;    //Номер группы задний
  public float FrontDiam;    //Номер группы передний
}

Класс реализует набор параметров оси.

Класс TTerminalAxle

// Класс терминала оси
public class TTerminalAxle
{
private TAxleParam AxleParam; //Структура параметров
                              //подшипника
  public TStore Store;        //Ссылка на склад
  //Опрашивает терминал
  private long QueryTerminal()
  //Конструктор
  public TTerminalAxle()
  //Запрашивает и обрабатывает статус терминала
  public void Process()
}

Класс используется для взаимодействия с терминалом оси. Операции:

  • Конструктор TTerminalAxle() инициализирует поле AxleParam.
  • Метод QueryTerminal() вызывает функцию внешнего модуля IAxle.GetAxlePar(...), присваивает возвращенные значения полю AxleParam и возвращает значение статуса терминала.
  • Метод Process() вызывает метод QueryTerminal(). Если статус терминала равен 0 (это означает что параметры оси были успешно возвращены), то вызывается метод Store.FindBearingInStore(...), подбирающий подшипники для данной оси. В зависимости от результатов подбора в журнал выводится сообщение (FS пункт 2).

Если получены другие значения статуса терминала, то в журнал сообщений добавляется запись в соответствии с FS пункт 2.

Класс TCommand

// Класс команды
public class TCommand
{
  public const short GetR = 1;  //Получить из входной
                                //ячейки
  public const short SendR = 2; //Отправить из ячейки в
                                //выходную ячейку
  public const short MoveR = 3; //Переложить из ячейки
                                //в ячейку
  public const short PutR = 4;  //Положить в резерв
  public const short PutR1 = 5; //Положить при выдаче
  public const short SetN = 6;  //Произвести зануление
  public const short CheckR = 9;//Проверить ячейку на
                                //занятость
  public const short PRoll = 10;//Получить параметры
                                //подшипника
  public const short Term = 20; //Завершение команд выдачи
  public int NameCommand;       //Название команды
  public int NRetry;            //Число попыток выполнения команды
  public int CellSource;        //Порядковый номер исходной ячейки
  public int CellTarget;        //Порядковый номер
                                //результирующей ячейки
  public int TagSt;             //Сторона результирующей ячейки
  public int TagCol;            //Колонка результирующей ячейки
  public int TagRow;            //Ряд результирующей ячейки
  public int SourseSt;          //Сторона исходной ячейки
  public int SourseCol;         //Колонка исходной ячейки
  public int SourseRow;         //Ряд исходной ячейки
  public TBearingParam PR;      //Структура характеристик
                                //подшипника
  public TAxleParam PA;         //Структура характеристик оси
  public string GetFullName()
}

Класс реализует команду складу. Команда складу описывает:

  • код;
  • название команды;
  • полное название команды.

Код и название команды используются внутри системы и при взаимодействии со складом, а полное название команды используется при добавлении в журнал сообщений записей о работе системы.

Класс содержит описание всех допустимых команд (табл. 14.1).

Таблица 14.1. Список команд складу
Код Название Полное название
1 1 GetR Получить из входной ячейки
2 2 SendR Отправить из ячейки в выходную ячейку
3 4 PutR Положить в резерв
4 6 SetN Произвести зануление
5 20 Term Завершение команд выдачи

Операции:

  • Операция GetFullName() возвращает полное название команды, соответствующее коду команды (табл. 14.1), указанному в поле NameCommand, если он является допустимым кодом. В противном случае возвращается сообщение "ОШИБКА: Неверный код команды". Может применяться в любой момент.

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

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

< Дополнительный материал 2 || Дополнительный материал 3: 12345
Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Сергей Чурбанов
Сергей Чурбанов
Екатерина Столярова
Екатерина Столярова
Россия, УдГУ
Ольга Акбашева
Ольга Акбашева
Россия, Самара, Аэрокосмический университет, 2013