Файл: Технология разработки программного обеспечения.pdf

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

 

 
 

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)  Эти  программы  используют  не  совсем  корректный  алгоритм 

для  определения  работоспособности  того  или  иного  вышестоящего 
сервера, вследствие чего все запросы могут уходить в никуда, т.к. не-


background image

 

 

 
 

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

 

Блок обработки дан-

ных

 


background image

 

 

 
 

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 Рестарт 

 

В  программе  отсутствует  информация,  которую  необходимо  пе-

риодически  сохранять  для  возобновления  работы  после  отказа  блока 


background image

 

 

 
 

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 Процессы блока обработки данных

 

Блок обработки данных представляет собой три процесса:

 


background image

 

 

 
 

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 и т.д.