Главная страница
Навигация по странице:

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

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

  • 2.1.3 Сведения об авторском праве Не требуются.2.1.4 Результирующие компоненты изделия

  • 2.2.1 Согласование заявок на проверку 2.2.1.1 Отклоненные заявкиОтсутствуют.2.2.1.2 Принятые заявкиОтсутствуют.2.2.2 Согласование заявок на расширение функциональных

  • 2.2.3 Согласование заявок на внесение исправлений 2.2.3.1 Отклоненные заявкиОтсутствуют.2.2.4 Согласование планов

  • 2.2.5 Перечень требований пользователя

  • 2.2.6 Рассмотренные альтернативы

  • 2.2.7 Окупаемость капиталовложений Капиталовложений нет.2.3 Стратегии 2.3.1 Соглашения относительно представления материала

  • 2.3.2 Генерируемое программное обеспечение Не используется.2.3.3 Системное программное обеспечение

  • 2.3.4 Внутренние ограничения

  • 2.4 Используемые материалы 2.4.1 Справочные документы

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

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

  • 2.6.2 Техническая ревизионная комиссия (ТРК) Создание ревизионной комиссии не требуется.2.6.3 Проверка изделия

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

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

  • Операционные системы. Задание. Техническое задание явля ется первым разделом курсовой работы. 1


    Скачать 0.67 Mb.
    НазваниеТехническое задание явля ется первым разделом курсовой работы. 1
    АнкорОперационные системы
    Дата15.08.2022
    Размер0.67 Mb.
    Формат файлаpdf
    Имя файлаЗадание.pdf
    ТипТехническое задание
    #646348
    страница6 из 8
    1   2   3   4   5   6   7   8
    1.6 Технико-экономические показатели
    Программа является узкоспециализированной, более простой в использовании по сравнению с аналогами (WinGate, WinProxy), а так- же менее требовательной к системным ресурсам и времени.
    Предполагается, что внедрение такой программы и обучение пер- сонала обойдется в гораздо меньшую сумму, чем другие аналогичные некоммерческие и коммерческие разработки.
    1.7 Стадии и этапы разработки
    1. Ознакомление со стандартами и протоколами, анализ схожих существующих программных средств.
    2. Разработка концептуальной модели функционирования буду- щей программы.
    3. Разработка эскизного проекта программного средства и согла- сование его с заказчиком.
    4. Непосредственная разработка законченного программного средства (рабочий проект).

    78 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.

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

    80 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.1

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

    86

    Стандарт, предназначенный для достижения переносимости программного обеспечения на уровне исходных кодов. 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.

    87
    Таблица 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 Средства, обеспечивающие модернизацию программного изделия
    Не предусматриваются.

    88
    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-адрес, логин и пароль как цепочку.

    89
    Продолжение работы с пользователем, обработка его запросов. 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).

    90
    Таблица 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 an- other 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» и закрывается.
    Ожидаемый результат: тот же.
    Вывод. Результаты тестирования программы не выявили ошибок, по результатам тестирования делаем вывод, что программа работает корректно.

    91
    1   2   3   4   5   6   7   8


    написать администратору сайта