Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Приложение Б Пример выполнения курсового проекта № 1




 

1 Техническое задание

 

1.1 Введение

 

Наименование разрабатываемого программного обеспечения — переносимая программа трансляции данных по различным протоколам (Data Retranslation, DR).

Данное программное обеспечение применяется для перенаправления HTTP, FTP, SSL и других запросов и данных с клиентской машины через промежуточную машину на другие вышестоящие proxy-серверы. Выбор вышестоящего proxy-сервера осуществляется в соответствии с ранее определенными приоритетами.

Настоящее программное обеспечение может применяться в организациях, располагающих несколькими каналами выхода в Internet. DR должен позволять автоматическое переключение на резервный (менее приоритетный канал) в том случае, если основной канал является недоступным.

 

1.2 Основания для разработки

 

Разработка ведется на основании следующих документов:

1. Данное техническое задание

 

1.3 Назначение разработки

 

Функциональное и эксплуатационное назначение программы:

Данная программа призвана осуществлять перенаправления запросов от клиентов на вышестоящие proxy-серверы в соответствии с определенными для них приоритетами, а также доступностью или недоступностью того или иного сервера. Программа также позволяет достигать некоторой степени анонимности при работе в сети.

 

1.4 Технические требования к программе или программному

изделию

 

1.4.1 Требования к функциональным характеристикам

 

- Программа должна полностью поддерживать стандарты передачи гипертекста (HTTP) версий 1.0 и 1.1, утвержденные World Wide Web Consortium (W3C), а так же стандартные протоколы FTP, SSL, SMTP, POP3 и т.д.

- Программа должна обеспечивать переносимость в рамках операционных систем семейства Windows. Стандарт, предназначенный для достижения переносимости программного обеспечения на уровне исходных кодов.

- Программа должна работать по архитектуре «клиент-сервер», поддерживать несколько одновременных соединений.

- Программа должна считывать основные настройки из конфигурационного файла, осуществлять это во время работы, без остановки передачи данных.

- Конфигурационный файл должен быть легко читаем для человека, занимающегося администрированием proxy-сервера.

- Программа должна выбирать подходящий вышестоящий proxy-сервер, на который следует перенаправить запрос в соответствии с его приоритетом, определенным в конфигурационном файле, и его текущим статусом (доступен или недоступен).

- Программа должна осуществлять проверку выше­стоя­щих proxy-серверов на работоспособность. Это должно осуществляться в фоновом процессе, без прерывания выполнения других операций передачи данных.

- Программа должна поддерживать передачу нескольких запросов в рамках одного соединения (pipelining).

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

 

1.4.2 Требования к надежности

 

- Программа должна при считывании конфигурационного файла корректно обрабатывать его отсутствие, поврежденность и некорректность введенных в него данных. В случае ошибки соответствующая запись должна быть создана в журнале работы программы и выведено предупреждение на экран.

- Программа должна обеспечивать устойчивое функционирование в течение минимум 48 часов.

 

1.4.3 Требования к эксплуатации

 

Никаких требований к условиям эксплуатации не выдвигается. Для обслуживания требуется один квалифицированный системный администратор.

1.4.4 Требования к составу и параметрам технических средств

 

- Для эксплуатации разрабатываемого программного обеспечения необходимы Windows-совместимая операционная система (Windows 98, WinNT 4.0, WinNT 5.0, WinNT 5.1) и компьютер архитектуры, поддерживаемой этой ОС.

- Необходим сетевой адаптер, обеспечивающий связь с Internet.

 

1.4.5 Требования к информационной и программной

совместимости

 

Язык программирования — C или C++.

 

1.5 Требования к программной документации

 

- В дистрибутиве программного средства должно присутствовать полное описание процедуры установки программы.

- Необходимо также составить синтаксис описания конфигурационного файла, а также снабдить дистрибутив примером оформления этого файла.

 

1.6 Технико-экономические показатели

 

Программа является узкоспециализированной, более простой в использовании по сравнению с аналогами (WinGate, WinProxy), а также менее требовательной к системным ресурсам и времени.

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

 

1.7 Стадии и этапы разработки

 

1. Ознакомление со стандартами и протоколами, анализ схожих существующих программных средств.

2. Разработка концептуальной модели функционирования будущей программы.

3. Разработка эскизного проекта программного средства и согласование его с заказчиком.

4. Непосредственная разработка законченного программного средства (рабочий проект).

5. Отладка и тестирование.

6. Внедрение.

 

2 Соглашения о требованиях

 

2.1 Описание программного изделия

 

2.1.1 Наименование и шифры изделия

 

2.1.1.1 Полное наименование изделия

Переносимая программа трансляции данных по различным протоколам (Data Retranslation, DR).

 

2.1.1.2 Сокращенные наименования

DR.

 

2.1.1.3 Шифры изделия

Отсутствуют.

 

2.1.1.4 Шифры проекта

Отсутствуют.

 

2.1.2 Краткое описание изделия

 

Данное программное обеспечение применяется для перенаправления HTTP, FTP, SSL и других запросов и данных с клиентской машины через промежуточную машину на другие вышестоящие proxy-серверы. Выбор вышестоящего proxy-сервера осуществляется в соответствии с ранее определенными приоритетами.

 

2.1.3 Сведения об авторском праве

 

Не требуются.

 

2.1.4 Результирующие компоненты изделия

 

Результирующие компоненты изделия перечислены в таблице 2.1.

 

 

Таблица 2.1 — Результирующие компоненты изделия

 
Обозначения:   Основное изделие — не используется для создания других изделий   Вспомогательное изделие — используется для создания других изделий   Уровень поддержки 1: удовлетворяются заявки на исправление дефектов; возможно сообщение об изменениях; принимаются заявки на расширение функциональных возможностей изделия   Уровень поддержки 2: удовлетворяются заявки на исправление дефектов; возможно сообщение об изменениях; заявки на расширение не принимаются   Уровень поддержки 3: удовлетворяются заявки на исправление дефектов   Р — группа разработки   Формируется целиком Модифицируется Распространяется Не распространяется Ответственная группа
Спецификации            
Внешняя спецификация X     X Р
Внутренняя спецификация X     X Р
Спецификация испытаний (не надо)          
Спецификация сопровождения (не надо)          
Другие спецификации          
Документация          
Техническое описание системы          
Справочное руководство          
Справочный буклет            
Руководство оператора X   X   Б
Тип изде­лия Основное   Начальный уровень поддержки Указатель системных сообщений          
Вспомогательное X Информационный листок выпуска          
    X Другие печатные издания          
    Рекламные материалы          
Окончание табл. 2.1
3

               
    Программное обеспечение          
    Листинги            
    Исходные модули X       X Р
    Объектные модули            
    Контрольные примеры X     X Р
    Средства разработки          
    Прочие средства            

 

2.2 Цели

 

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

 

2.2.1 Согласование заявок на проверку

 

2.2.1.1 Отклоненные заявки

Отсутствуют.

 

2.2.1.2 Принятые заявки

Отсутствуют.

 

2.2.2 Согласование заявок на расширение функциональных

возможностей изделия

 

2.2.2.1 Отклоненные заявки

Отсутствуют.

 

2.2.2.2 Принятые заявки

Отсутствуют.

 

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) Эти программы используют не совсем корректный алгоритм для определения работоспособности того или иного вышестоящего сервера, вследствие чего все запросы могут уходить в никуда, т.к. неработоспособный 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.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 Рестарт

В программе отсутствует информация, которую необходимо периодически сохранять для возобновления работы после отказа блока питания. Все необходимые для работы данные содержатся в конфигурационном файле, который из самой программы не изменяется.

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

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

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 Consortium (W3C), SSL и т.д.

- Стандарт, предназначенный для достижения переносимости программного обеспечения на уровне исходных кодов. Windows-стандарт стандартизирован ANSI (American National Standards Institute) и ISO (International Standards Organisation).

 

2.5 Передача заказчику и ввод в действие

 

2.5.1 Ресурсы, обеспечивающие ввод в действие

 

Любой квалифицированный системный администратор Windows, имеющий опыт работы более 6 месяцев (или при эквивалентном обучении), сможет осуществить ввод в действие DR.

Для генерации ПO требуется Windows-совместимая операционная система и любой Windows-совместимый компилятор C++.

 

2.5.2 Носители информации

 

В качестве носителей информации используется дискета емкостью 1.44 Мб.

 

2.6 Тактика

 

2.6.1 Взаимосвязи

 

2.6.1.1 Требуемые взаимосвязи

Не выдвигаются требования другим изделиям.

2.6.1.2 Обеспечения взаимосвязи

Требования других изделий к программе отсутствуют.

 

2.6.2 Техническая ревизионная комиссия (ТРК)

 

Создание ревизионной комиссии не требуется.

 

2.6.3 Проверка изделия

 

2.6.3.1 Уровни испытаний

Уровни испытаний приведены в таблице 2.2.

 

 

Таблица 2.2 — Уровни испытаний

 

Категория испытаний Класс испытаний
A B C
Демонстрация в действии   Р  
Аттестация      
Полная функциональная проверка   И  
Проверка новых свойств      
Эксплуатационные испытания   И  
Испытания надежности   И  
Проверка устойчивости      
Возвратная проверка      
Пусковые испытания      
Испытания конфигураций   Р  
Режимы испытаний: I — проводятся группой испытаний () II — контролируются группой испытаний (X) III — группа испытаний не участвует ()
Подразделения, проводящие испытания: Р — группа разработки И — группа испытаний О — группа обслуживания / — испытания исключены

 

2.6.3.2 Эталоны для сравнения

Отсутствуют.

 

2.6.4 Обеспечение внедрения

 

2.6.4.1 Мероприятия, обеспечивающие продвижение программного изделия на рынок

Не предусматриваются.

2.6.4.2 Мероприятия, связанные с обучением

Обслуживающий персонал должен быть знаком с операционными системами семейства Windows, существующими средствами сборки ПO (компиляторами), общепринятой структурой конфигурационных файлов Windows. Специальное обучение не проводится. В случае возникновения каких-либо вопросов, они могут быть разрешены посредством online-консультаций или очных встреч с разработчиками ПO.

2.6.4.3 Средства, обеспечивающие модернизацию программного изделия

Не предусматриваются.

 

2.7 Календарный план

 

Календарный план работы представлен в таблице 2.3.

 

Таблица 2.3 — Календарный план

 

Этапы работы Дата начала Дата окончания Финансирование
Анализ требований 18.09.06 25.09.06 3000 руб. (15%)
Спецификации 26.09.06 07.10.06 2000 руб. (10%)
Проектирование 08.10.06 15.10.06 2000 руб. (10%)
Кодирование 16.10.06 15.11.06 8000 руб. (40%)
Тестирование 16.11.06 30.11.06 5000 руб. (25%)

 

3 Спецификации

 

3.1 Внешняя спецификация

 

main: procedure

do steps:

«Открыть, прочитать настройки»:

ReadSettings();

«Выполнение»:

Start();

do case:

«Пауза»: Suspend();

«Завершение выполнения»: Stop();

end;

end;

end main.

 

3.2 Внутренняя спецификация

 

/* Обработка подключения */

Function StartUserThread (указатель на

настройки, указатель на текущий сокет)

declare Result число

if проверка имени пользователя и пароля

прошла успешно then do

begin

Внести в список текущий сокет, IP-адрес,

логин и пароль как цепочку.

Продолжение работы с пользователем,

обработка его запросов.

else do Сообщение об ошибке доступа.

Set result as Correct Connection;

End;

 

/* Ожидание подключений */

procedure WaitForConnection()

declare HTHREAD HANDLE;

Ожидание подключений пользователей.

if соединение успешно then

begin

Set HTHREAD =CreateThread(StartThread).

Внести HTHREAD в список.

End;

 

/* Приостановка всех потоков */

BOOL Function SuspendThreads()

if список потоков не пустой then

for all thread in list do SuspendThread();

/* Продолжение всех потоков */

BOOL Function ResumeThreads()

if список потоков не пустой then

for all thread in list do ResumeThread();

 

/* Остановка всех потоков */

BOOL Function TerminateThreads()

if список потоков не пустой then

for all thread in list do

TerminateThread();

 

 

4 Тестирование

 

Для проведения тестирования программы «Переносимая программа транслирования данных по различным протоколам» составим классы эквивалентности входных данных (табл. 4.1).

 

Таблица 4.1 — Классы эквивалентности входных данных

 

Входные условия Классы эквивалентности
Правильные Неправильные
Host name, IP-address Тип string(20) («*.*.*.*» или «*») (1) Не удовлетворяет маске ввода (2)
Port Тип Word (3) Не принадлежит типу Word (4)
Start Тип Boolean (5) Не принадлежит типу Boolean (6)

 

Классы 1,3,5: вводимые данные

«192.168.0.2», 3129, TRUE

Создан процесс «транслятор», главная форма программы свернута в Tray.

Ожидаемый результат: тот же.

 

Класс 2: вводимые данные

9З, 3129, TRUE

Результат: программа выводит сообщение «Error read data. Try another name» и закрывается.

Ожидаемый результат: тот же.

 

Класс 4: вводимые данные

«192.168.0.2», 124123123, TRUE

Результат: программа выводит сообщение «Error. This value is not WORD value» и закрывается.

Ожидаемый результат: тот же.

 

Класс 6: вводимые данные

«192.168.0.2», 3129, 3

Результат: программа выводит сообщение «Error. This not a valid Boolean value» и закрывается.

Ожидаемый результат: тот же.

 

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

 

5 Руководство системного программиста

 

5.1 Общие сведения о программе

 

Данное программное обеспечение применяется для перенаправления HTTP, FTP, SSL и других запросов и данных с клиентской машины через промежуточную машину на другие вышестоящие proxy-серверы. Выбор вышестоящего proxy-сервера осуществляется в соответствии с ранее определенными приоритетами.

Это консольное приложение может функционировать на технических средствах под управлением операционной системы семейств Windows NT. Минимальными требованиями для выполнения программы являются система, поддерживающая Windows NT, 1,5 Мб места на жёстком диске, клавиатура. Программа поставляется в архиве, содержащем программу, исходный код на языке C++.

 

5.2 Структура программы

 

Переносимая программа транслирования данных по различным протоколам состоит из следующих компонентов:

1) kblc_proxy.exe — исполняемый модуль;

2) kblc_proxy.cpp — исходный код программы на языке C++.

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

 

5.3 Настройка программы

 

5.3.1 Установка программы

 

Распакуйте архив в выбранную папку.

 

5.3.2 Настройка программы

 

Не нуждается в настройке.

 

5.4 Проверка программы

 

Проверка программы производится в следующем порядке:

1. Запуск приложения.

2. Ввод необходимых параметров для начала работы.

Пример: «192.168.0.2», 3129, TRUE

3. Результат: программа запускается и сворачивается в Tray.

4. Проверка полученных результатов: в браузере Internet Explorer устанавливается proxy-сервер с параметрами «192.168.0.2:3129». После обращения к доступному до выбора данных настроек ресурсу вы увидите тот же ресурс.

5. Если результаты работы программы Internet Explorer до настройки и после совпадают, то проверка считается успешно завершенной.

6. При получении диагностических и иных сообщений в ходе проверки программы следует обращаться к разделу «Сообщения системному программисту» данного руководства.

 

5.5 Дополнительные возможности

 

Программа не обладает дополнительными возможностями.

 

5.6 Сообщения системному программисту

 

В таблице 5.1 представлены сообщения, которые может получить системный программист в ходе выполнения настройки, проверки программы, а также пользователь в ходе выполнения программы. Описаны содержание этих сообщений и действия системного программиста, которые необходимо предпринять по этим сообщениям.

 

Табл. 5.1 — Сообщения системному программисту
и пользователю

 

Сообщение Описание Действия системного программиста
Error read data. Try another Name Нет такого имени компьютера или оно введено неправильно Ввести другое имя компьютера
Error. This value is not WORD value Номер порта вышел за пределы диапазона 1..65535 Введите другое значение порта
Error. This not a valid Boolean value Параметр START введён неправильно (требуется тип BOOLEAN) Ввести правильное значение параметра START
Error. Host is unreachable В ходе работы программы последующий узел связи стал недоступен Проверить подключения до следующего узла

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных