Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Опубликован: 05.03.2005 | Уровень: специалист | Доступ: платный
Дополнительный материал 3:
Высокоуровневый дизайн
Класс TStore
Класс реализует терминал склада.
Операции:
- Метод GetStatus() вызывает функцию внешнего модуля IStore.GetStoreStat(...) и в случае, если она вернула 0, GetStatus() возвращает значение статуса склада, в противном случае возвращается -1.
- Метод AddBearingAxle() добавляет запись об обслуженной оси в базу данных на основе переданной в качестве параметра команды.
- Метод AddBearing() добавляет запись о принятом подшипнике в базу данных на основе переданной в качестве параметра команды.
- Метод RemoveBearing() удаляет запись о выданном подшипнике из базы данных на основе переданной в качестве параметра команды.
- Метод MarkCellBad(...) помечает ячейку как проблемную, порядковый номер ячейки передается как параметр.
- Метод GetMessage() вызывает функцию внешнего модуля IStore.GetStoreMessage(...) и возвращает код сообщения склада
- Конструктор TStore() читает из конфигурационного файла имя сервера SQL , имя пользователя, пароль и инициализирует все поля типа SqlConnection.
- Метод Process() вызывает метод GetStatus(). В зависимости от
полученного статуса склада он производит следующие действия:
- Статус = 32. Добавляется сообщение в журнал и вызывается метод обработки ситуации прихода подшипника - TerminalBearing.Process().
- Статус = 16. Добавляется сообщение в журнал и вызывается метод постановки команды "Положить в резерв" в очередь CommandQueue.AddCommand().
- Статус = 8. Добавляется сообщение в журнал.
- Статус = 4. Добавляется сообщение в журнал и вызывается метод постановки команды "Произвести зануление" в очередь CommandQueue.AddCommand().
- Статус = 0. Добавляется сообщение в журнал.
- При любом другом статусе в журнал добавляется сообщение об ошибке.
- Метод ProcessMessage() вызывает метод GetMessage() и в
зависимости от полученного результата выполняет следующие
действия:
- Полученный результат - -1. Добавляется сообщение в журнал. Предпринимается повторная попытка получить сообщение, после второй неудачной попытки происходит выход из приложения.
- Полученный результат - 0. Добавляется сообщение в журнал. Продолжается опрос (вызов метода GetMessage() ).
- Полученный результат -1. Добавляется сообщение в журнал. Производит обновление базы данных по выданному или принятому подшипнику и удаляет команду из очереди.
- Полученный результат -2. Добавляется сообщение в журнал. Пытается выполнить команду повторно, после второй неудачной попытки удаляет команду из очереди.
- Полученный результат -3. Добавляется сообщение в журнал. Пытается выполнить команду повторно, после второй неудачной попытки удаляет команду из очереди.
Операция FindFreeCell(...) ищет свободную ячейку в резервной (параметр IsReserve установлен в true ) или рабочей (параметр IsReserve установлен в false ) области с наименьшим порядковым номером и возвращает ее координаты: порядковый номер - CNum, сторона - TagSt, ряд - TagRow, колонка - TagCol.
Операция GetCoord(...) возвращает для переданного порядкового номера ячейки ( CNum ) номер строки ( Side ), колонки ( Col ) и ряда ( Row ).
public class TLog { static private FileStream fs = new FileStream("system.log", FileMode.Create,FileAccess.Write, FileShare.ReadWrite); static private StreamWriter srLog = new StreamWriter(fs); // Деструктор ~ TLog() // Добавляет запись в журнал сообщений системы static public void AddToLog(string LogMessage) }
Класс TLog
Класс реализует журнал сообщений системы.
Операции:
- Метод AddToLog() сохраняет переданное ему в качестве параметра сообщение в файл.
public class TModel { private TLog Log; //Ссылка на журнал сообщений private TStore Store; //Ссылка на склад private TTerminalAxle TerminalAxle; //Ссылка на //терминал оси private TTerminalBearing TerminalBearing; //Ссылка на //терминал подшипника private TCommandQueue CommandQueue; //Ссылка на очередь //команд public Thread QueryThread; //Поток опроса public Thread CommandThread; //Поток команд public bool QueryThreadTerminated; //Флаг окончания //работы потока опроса public bool CommandThreadTerminated; //Флаг окончания //работы потока команд // Конструктор public TModel() // Метод, реализующий поток опроса public void QueryThreadExecute() // Метод, реализующий поток выполнения команд public void CommandThreadExecute() }
Класс TModel
Класс реализует журнал сообщений системы.
Операции:
- Метод QueryThreadExecute() реализует поток опроса. Здесь последовательно вызываются методы TStore.Process() и TTerminalAxle.Process().
- Метод CommandThreadExecute() реализует поток выполнения команд. Здесь вызывается метод TcommandQueue.ProcessCommand().