ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Методичка
Дисциплина: Проектирование информационных систем
Добавлен: 21.10.2018
Просмотров: 6252
Скачиваний: 6
81
2.2.3 Согласование заявок на внесение исправлений
2.2.3.1 Отклоненные заявки
Отсутствуют.
2.2.4 Согласование планов
2.2.4.1 Исключенные пункты плана
Отсутствуют.
2.2.4.2 Включенные пункты плана
Отсутствуют.
2.2.5 Перечень требований пользователя
Заказчику требуется:
−
Программа, которая должна служить в качестве proxy-сервера,
осуществляющего перенаправление запросов на другие вышестоящие
proxy-серверы.
−
Программа должна работать под любой операционной систе-
мой семейства Windows (начиная с версии 3.1).
−
Программа должна поддерживать многопоточность, т.е. одно-
временно обрабатывать несколько запросов от пользователей.
−
Программа должна поддерживать изменение пользователь-
ских установок без остановки работы сервера, т.е. перечитывание кон-
фигурационного файла без остановки уже запущенных передач фай-
лов.
2.2.6 Рассмотренные альтернативы
Среди операционных систем семейства Windows наибольшее
распространение получили два proxy-сервера: WinGate и WinProxy.
Они были отклонены вследствие следующих причин:
1) Эти продукты являются универсальными, вследствие чего гро-
моздки, сложны в использовании и требовательны к системным ресур-
сам и времени, что влечет за собой большие затраты на внедрение та-
кой программы и обучение персонала.
2) Эти программы используют не совсем корректный алгоритм
для определения работоспособности того или иного вышестоящего
сервера, вследствие чего все запросы могут уходить в никуда, т.к. не-
82
работоспособный proxy-сервер имеет более высокий приоритет, неже-
ли другой, работоспособный.
2.2.7 Окупаемость капиталовложений
Капиталовложений нет.
2.3 Стратегии
2.3.1 Соглашения относительно представления материала
2.3.1.1 Обозначения
В данном документе не используется никаких специальных обо-
значений.
2.3.1.2 Терминология
Вся специальная терминология определяется в контексте данного
документа.
2.3.2 Генерируемое программное обеспечение
Не используется.
2.3.3 Системное программное обеспечение
Программа состоит из конфигурационного блока и блока обра-
ботки данных (рис. 2.1).
Рис. 2.1 — Функциональные модули программы
2.3.3.1 Характеристики конфигурационного блока
2.3.3.1.1 Внешние ограничения
2.3.3.1.1.1 Действующие стандарты
Не используются.
2.3.3.1.1.2 Ограничения на совместимость
2.3.3.1
Конфигурационный
блок
2.3.3.2
Блок обработки дан-
ных
83
Не существует программных изделий, совместимых с данным
программным продуктом.
2.3.3.1.1.3 Программные ограничения
Данная программа работает с любыми операционными системами
семейства Windows.
2.3.3.1.1.4 Аппаратные ограничения
Для эксплуатации разрабатываемого программного обеспечения
необходимы Windows-совместимая операционная система и компью-
тер архитектуры, поддерживаемой этой ОС.
Необходим сетевой адаптер, обеспечивающий связь с Internet.
2.3.3.1.2 Внешние характеристики
2.3.3.1.2.1 Результаты работы конфигурационного блока
Проверка конфигурационного файла на противоречивость и пере-
дача обработанных данных блоку обработки данных.
2.3.3.1.2.2 Процессы конфигурационного блока
Конфигурационный блок производит лексический разбор данных
из конфигурационного файла, проверку их корректности и осуществ-
ляет безопасную синхронизацию этими данными между блоком обра-
ботки и собой.
2.3.3.1.2.3 Входы конфигурационного блока
Конфигурационный файл, оформленный в соответствии с синтак-
сисом описания конфигурационного файла, приведенным в руково-
дстве оператора.
2.3.3.1.3 Эргономические характеристики
2.3.3.1.3.1 Безопасность и секретность
Изменение конфигурационного файла возможно только с правами
администратора данной ЭВМ.
Никакие входные данные (будь то некорректный конфигурацион-
ный файл или некорректный запрос пользователя) не должны приво-
дить к сбою системы.
2.3.3.1.3.2 Надежность
Любой набор входных данных (описанный выше) не должен при-
водить к сбою системы. В случае некорректности конфигурационного
файла продолжает действовать старая конфигурация (если имеется). В
случае некорректности запроса, пользователю отправляется соответст-
вующее сообщение, вместо ответа от вышестоящего proxy-сервера.
Реализуется контроль типа вводимых пользователем данных и
пороговый контроль их значений.
2.3.3.1.3.3 Рестарт
В программе отсутствует информация, которую необходимо пе-
риодически сохранять для возобновления работы после отказа блока
84
питания. Все необходимые для работы данные содержатся в конфигу-
рационном файле, который из самой программы не изменяется.
2.3.3.1.3.4 Соответствие требованиям заказчика
Система должна соответствовать требованиям технического зада-
ния.
2.3.3.1.3.5 Рабочие характеристики
Изделие не накладывает никаких ограничений на конфигурацию,
помимо ограничений, определяемых оборудованием.
2.3.3.1.3.6 Обеспечение эксплуатации
Никаких требований к условиям эксплуатации не выдвигается.
Для обслуживания требуется один квалифицированный систем-
ный администратор.
Работа программного изделия начинается с запуска исполняемого
файла. По умолчанию программа работает в режиме сервиса (систем-
ная служба). Всю информацию о работе программы можно посмот-
реть, воспользовавшись службой syslog. Пример настройки syslog
можно посмотреть в руководстве оператора.
Для завершения работы программы необходимо послать соответст-
вующий сигнал сервису из командной строки. Например: TASKKILL /PID
1230 /T. При этом все установленные соединения будут разорваны.
2.3.3.1.3.7 Мобильность
Данный программный продукт распространяется с открытым ис-
ходным кодом.
2.3.3.1.4 Внутренние характеристики
2.3.3.1.4.1 Удобство сопровождения
Программа может быть скомпилирована с ключом DEBUG (-
DDEBUG), что дает разработчику или человеку, занимающемуся со-
провождением данного ПО, достаточно полную информацию о том,
чем занимается в данный момент программа.
2.3.3.1.3.2 Алгоритмы
Подлежат описанию во внутренней спецификации.
2.3.3.2 Характеристики блока обработки данных
Все пропущенные пункты см. в п. 2.3.3.1.
2.3.3.2.2 Внешние характеристики
2.3.3.2.2.1 Результаты работы блока обработки данных
Обработка запросов от пользователей, перенаправление запроса
на один из вышестоящих proxy-серверов и передача полученной ин-
формации обратно пользователю.
2.3.3.2.2.2 Процессы блока обработки данных
Блок обработки данных представляет собой три процесса:
85
1) Первый процесс занимается поддержанием небольшого пула
потоков. Ограниченное количество потоков (задаваемое в конфигура-
ционном файле) постоянно является активным, чтобы минимизировать
временные задержки при обработке поступающих запросов.
2) Второй процесс осуществляет прием соединений от пользова-
телей и назначение им того или иного потока из пула.
3) Третий процесс также работает параллельно с первыми двумя и
проводит фоновую проверку работоспособности вышестоящих proxy-
серверов.
После создания нового потока для принятого соединения идет пе-
редача информации между клиентом и наиболее приоритетным выше-
стоящим proxy-сервером.
В рамках одного соединения может быть передано несколько за-
просов.
2.3.3.2.2.3 Входы блока обработки данных
1) Данные, полученные от конфигурационного блока.
2) Данные об установленном соединении, передаваемые про-
грамме от операционной системы.
3) Текст запросов, получаемый от клиентов.
4) Текст ответов, получаемый от вышестоящих proxy-серверов.
2.3.4 Внутренние ограничения
Единственные ограничения, которые накладываются на данное
ПО, связаны с ограничениями операционной системы (максимальное
количество сокетов, потоков, количество открытых файлов и т.д.), а
также возможностями данной аппаратной системы (количество опера-
тивной памяти).
Программа может иметь более одной своей копии в оперативной
памяти только в том случае, если каждая из них слушает свой порт
(имеется в виду номер TCP-порта), при этом при запуске каждой ко-
пии программы указывается свой конфигурационный файл (в качестве
ключа командной строки).
2.4 Используемые материалы
2.4.1 Справочные документы
−
Стандарты передачи гипертекста (HTTP) версий 1.0 и 1.1, ут-
вержденные World Wide Web Consortium (W3C), Стандарты передачи
файлов (FTP) версий 1.0 и 1.1, утвержденные World Wide Web Consor-
tium (W3C), SSL и т.д.