Техническое задание (данная версия и возможные последующие) будем называть тз



Скачать 82.29 Kb.
Дата02.01.2013
Размер82.29 Kb.
ТипТехническое задание

Техническое задание на программу


Далее техническое задание (данная версия и возможные последующие) будем называть ТЗ.
    1. Предназначение разработки


  1. Библиотека (далее – основной модуль) для поддержки различных форматов растровых графических файлов посредством модулей (далее - плагинов), подключаемых с помощью однотипного интерфейса.

  2. Реализация вышеупомянутых плагинов для форматов BMP и JPEG.

    1. Условное наименование программного продукта


Для основного модуля – «libnebular»
    1. Основание для проведения разработки


Документ «Задача № 24»
    1. Требования к программному продукту

      1. Состав выполняемых функций:


  1. Основной модуль, функции с точки зрения пользователя – исполняемые посредством внешнего интерфейса (user API):

    1. Определение формата файла посредством плагинов с помощью:

      1. Расширения имени файла

      2. Сигнатуры (file signature, “magic”), находящейся в содержимом файла

    2. Передача файла на обработку соответствующему плагину на основе информации о типе файла

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

      1. Битовой карты (bitmap) изображения

        1. Записывается либо в ту область оперативной памяти, куда запросил пользователь, либо в область, отведённую самим плагином (по выбору пользователя)

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

        3. Формат:

          1. Информация о пикселе представляет собой последовательность длиной до 32-х бит

          2. Количество байт для представления пикселя является целым (соотвественно, допустимы пиксели по {8, 16, 24, 32} бита)

          3. Для каждого канала (красный, зелёный, синий, alpha) задаётся битовая маска, с помощью которой этот канал записываетя в вышеупомянутую последовательность

          4. Биты маски каждого канала последовательны и не перекрывают маску другого канала

        4. В памяти битовая карта располагается начиная с левого вехнего угла

      2. Размера в пикселях

      3. Размера в физических единицах длины

      4. Количества пикселей на физическую единицу длины (разрешения)

      5. Цветовой глубины, количества бит на пиксель (несжатого) изображения

      6. Цветов палитры

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

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

    6. Плагинам для идентификации обрабатываемого файла передаётся его имя в формате, специфичном для используемой ОС; файл должен находиться на локальном компьютере (для того, чтоб быть доступным для чтения стандартными функциями C++)

  2. Плагин BMP:

    1. Поддержа чтения графических файлов формата Microsoft Windows Bitmap:

      1. Версии спецификации: 2 - 4

      2. Без сжатия (uncompressed) или со сжатием с помощью битовых полей (bitfields encoding)

      3. Только цвета в формате device-dependent RGB

    2. Поддержка записи файлов Microsoft Windows Bitmap:

      1. Версия спецификации – 4

      2. Битовая карта:

        1. 24 бита на пиксель (BPP) – без сжатия, либо

        2. 32 бита на пиксель – формат RGB888 , сжатие с помощью битовых полей (идентично описанному выше формату битовой карты, предоставляемой пользователю)

      3. Цвета в формате device-dependent RGB

      4. Другие характеристики выходного изображения (кроме размера и разрешения), как и прочие значения в заголовках выходного файла, также фиксируются плагином

  3. Плагин JPEG
    Осуществляет поддержку чтения и записи JPEG с помощью libjpeg от Independent JPEG Group (IJG).

    1. JPEG используется в соответствии со стандартом от ISO и стандартом JFIF. В соответствии с документацией libjpeg, не поддерживаются следующие части стандарта ISO:

      1. Hierarchical storage

      2. Lossless JPEG

      3. DNL marker

      4. Nonintegral subsampling ratios

    2. Ширина и высота поддерживаемых изображений ограничивается значением 65500 (значение по умолчанию константы JPEG_MAX_DIMENSION в вышеупомянутой библиотеке)

    3. Характеристики выходного изображения (кроме размера и разрешения), как и прочие значения в заголовках выходного файла, фиксируются плагином

  4. Тестовое приложение для проведения приёмо-сдаточных испытаний

    1. Использует библиотеку SDL (Simple DirectMedia Layer) для вывода на экран и вышеуказанные разработки для работы с графическими файлами

    2. Имеет интерфейс командной строки

    3. Вывод информации о файле осуществляется с помощью соответствующей опции командной строки и в консоль.
      1. Требования к надёжности


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


Будет использован язык программирования C++ стандартов ISO/IEC 14882:1998, ISO/IEC 14882:2003. Любой совместимый с данным стандартом компилятор может быть использован, однако исплонителем будет гарантироваться только работа с компилятором из пакета GCC 4.4. Допускается ограниченное использование специфичных для платформы и/или компилятора нестандартных языковых средств.
      1. Комплект поставки


  1. Скомпилированные бинарные модули и заголовочные файлы:

    1. Основной модуль – в виде статически связываемой библиотеки с приложенным заголовочным файлом С++ (.hpp).

    2. Плагины – в виде динамически связываемых библиотек

    3. Формат библиотек определяется при компиляции; работа гарантируется только на ОС GNU/Linux.

    4. Документация (см. требования к документации)

  1. Также возможна поставка исходых кодов

  2. Комплект оформлен в виде стандартного установочного комплекта для GNU/Linux.
      1. Требования к ПО на этапе использования программного продукта


Ввиду используемого стандарта, библиотеку можно будет использовать на различных программных платформах, но исполнителем гарантируется только работа на ОС Ubuntu 9.10 (Karmic Coala).

Требования к надёжности сторонних плагинов - такие же, как и требования к надёжности плагинов, являющихся частью программного продукта.
      1. Требования к огранизации входных и выходных данных


Для графических файлов - полностью определяются плагином, обрабатывающим данный файл.
      1. Требования к документации


Оформляется с помощью средства автогенерации документации из исходных кодов - Doxygen - в виде “man” (Unix Manual) файлов. Состав документации:

  1. Описание (description) программного продукта

  2. Руководство по работе с внешним интерфейсом (user API reference)

  3. Руководство по работе с интерфейсом для плагинов (plugin API reference)
      1. Дополнительные требования


Могут быть оговорены с заказчиком и приняты к исполнению при условии обязательного внесения в ТЗ.
    1. Стадии и этапы разработки


  1. Разработка и согласование ТЗ
    Ведётся на основе требований заказчика; включает в себя определение и уточнение:

    1. Требований к программному продукту, в т.ч. к его документации

    2. Требований к порядку («стадиям и этапам») разработки

  2. Проектирование

    1. Разработка основной части исходных кодов программного продукта

    2. Тестирование

    3. Документирование

  3. Внедрение

    1. Передача программного продукта в составе комплекта поставки заказчику
    1. Состав тестовых испытаний


Будут проводиться посредством вышеописанного тестового приложения.

  1. Открытие файла BMP, файла JPEG и вывод их на экран.

  2. Открытие подерживаемого графического файла и вывод его на экран в формате RGB565.

  3. Открытие файла BMP, файла JPEG с размерами не менее 2000x2000 пикселей.

  4. Открытие файла BMP в формате, в который может сохранять плагин BMP, с последующим сохранением данного файла и сравнением сохранённой и оригинальной версий.

  5. Открытие подерживаемого графического файла с последующим сохранением в JPEG и визуальным сравнением содержимого.

  6. Запрос информации о поддерживаемом графическом файле.

  7. Попытка открытия неподдерживаемого формата файла (Ожидаемый результат – ошибка: нельзя определить формат файла).

  8. Попытка открытия файла BMP неподдерживаемой версии спецификации.

  9. Попытка открытия BMP со сжатием RLE.

  10. Попытка открытия BMP с неверно указанными размерами изображения (Ожидаемый результат – ошибка: неожиданный конец файла).

  11. Попытка открытия lossless JPEG.

  12. Попытка открытия JPEG с шириной либо высотой большей, чем максимально поддерживаемые.

  13. Заказчик может предоставить свои тесты в заранее оговоренном количестве.

Похожие:

Техническое задание (данная версия и возможные последующие) будем называть тз iconПроективная Геометрия
Рассмотрим трёхмерное пространство. Зафиксируем в нём какую-нибудь систему координат. Будем называть точками проективной плоскости...
Техническое задание (данная версия и возможные последующие) будем называть тз iconИсследование предметной части Техническое задание
...
Техническое задание (данная версия и возможные последующие) будем называть тз iconТехническое задание «Определение величины арендной платы за использование причальных стенок»
Данное техническое задание (далее тз) содержит стандартные требования
Техническое задание (данная версия и возможные последующие) будем называть тз iconПредупреждение Данная версия 02
Данная версия 02 02m не совместима с предыдущей при игре по сети. Для совместимости при игре по сети сервер и игра должны быть одной...
Техническое задание (данная версия и возможные последующие) будем называть тз iconТехническое задание на программный продукт или что значит фраза "по форме гост 19. 201-78"
Рассмотрим, как правильно составить техническое задание на разработку программного продукта
Техническое задание (данная версия и возможные последующие) будем называть тз iconТехническое задание на выполнение работы «Разработка Стратегии развития города Харькова до 2030 года»
...
Техническое задание (данная версия и возможные последующие) будем называть тз iconМы будем называть часть плоскости, заключённую между двумя лучами этой плоскости, имеющими общее начало. Точки, лежащие в этой части плоскости, будем называть внутренними точками угла
Углом называется фигура, которая состоит из точки вершины угла и двух различных полупрямых, исходящих из этой точки, сторон угла
Техническое задание (данная версия и возможные последующие) будем называть тз iconТехническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5
Данное техническое задание было предложено разбить разработку программы на две составляющие
Техническое задание (данная версия и возможные последующие) будем называть тз iconТехническое задание на выполнение строительной части установки лифта hd347-79-рп расположенной по адресу
Настоящие техническое задание разработано на выполнение строительных работ требуемых для монтажа пассажирского лифта компании
Техническое задание (данная версия и возможные последующие) будем называть тз iconТехническое задание по проекту. Аннотация Данная работа является обзорно-аналитическим трудом автора, посвященным проблеме
Разработка структуры, пользовательских функций и программной оболочки информационного ресурса на кафедре/специализации вмтп
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org