Участник:Васин Юрий/ТЗ

Материал из Викиверситета

Пример технического задания на разработку программы "Moodle phone book"

[1]

Вступление[править]

  • Разработать программу (модуль, плагин, программный продукт);
  • Программа не должна быть абстрактной, т. е. должна иметь практический смысл;
  • Требования:
    1. Общие требования
      • программа должна относиться к какому-либо проекту с открытым кодом (open source);
      • программа должна быть написана с помощью программного обеспечения, распространяемого на условиях лицензии GNU GPL.
    2. Требования к применению в системе языков программирования высокого уровня:
      • В программе должны быть применены языки программирования высокого уровня, обеспечивающие возможность объектно ориентированного программирования. Например Java, PHP5.
    3. Требования к численности и квалификации персонала и режиму его работы:
      • Работа выполняется самостоятельно.
  • Предпочтительная область применения — система управления обучением moodle;
  • Программа должна легко инсталлироваться и деинсталлироваться;
  • Необходимо обеспечить возможность быстрой проверки работоспособности программы;
  • Документация создается по окончании работ из комментариев (phpdocumentor);
  • Предоставить полный список источников, использованных во время выполнения задания.

Детализация ТЗ для модуля телефонный справочник[править]

  • Назначение программы - программа предназначена для решения перечисленных ниже задач:
    1. Программа служит для упрощения и ускорения административных решения задач, путем предоставления информации о пользователях системы и участниках обучающего процесса;
    2. Программа позволяет вести быстрый поиск с с большим количеством параметров.
  • Функциональные требования. Программа должна обеспечивать возможность выполнения перечисленных ниже функций:
    1. в рамках первой задачи - должна предоставлять пользователю структурированную информацию о пользователях системы;
    2. в рамках второй задачи - должна позволять вести расширенный поиск с большим количеством критериев:
      • поиск по имени пользователя;
      • поиск по номеру телефона;
      • расшифровка кодов мобильной связи;
      • коррекция неверных запросов - Soundex.
  • Цели создания системы - целями создания системы являются:
    1. увеличение удобства системы Moodle, путем предоставления дополнительной справочной информации;
    2. ускорение процесса поиска контактной информации участников учебного процесса;
    3. уменьшение издержек на выпуск печатных справочников;
    4. улучшение показателей системы Moodle, как АСУ;


Требования к модулям Moodle[2][править]

  • XHTML — Весь вывод Moodle должен быть подчинен XHTML Strict 1.0, а также общим правилам стандартов Accessibility Guidelines(руководства по доступности веб-содержания) (такого как W3C WAG).
  • Формы — Все формы должны использовать библиотеку Moodleforms, если это возможно. Это из-за единого стандартизированного вывода, который дизайнеры могут модернизировать единым образом.
  • Параметры — Все параметры должны быть проверены с помощью require_param() и optional_param(), которые безопасно очистят все входящие данные для использования и обеспечения установки значений по умолчанию в вашем коде.
  • Вывод — Весь текстовый вывод должен быть осуществлен с использованием функции format_text или format_string. Тогда текст будет действительно чистым и отфильтрованным должным образом.
  • Доступ — Все проверки прав доступа должны использовать библиотеку "Access library" чтобы проверить соответствие текущим возможностям. Наиболее общая функция, которую Вы будите использовать – это has_capability(), она проверяет права текущего пользователя, чтобы определить, можно ли ему осуществлять данную операцию. Не исправляйте специфические роли в вашем коде (напр. учитель/студент) так как это сделает ваш код непригодным.
  • JavaScript — вся функциональность должна сохранятся при отключении JavaScript.

Основные сведения[править]

Наименование программы[править]

Наименование программы: "Модуль поиска для системы Moodle".

Назначение и область применения[править]

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

  • Вести поиск пользователей по имени и фамилии;
  • Отображать номера телефонов найденых пользователей.

Программа предоставляет блок для главной, написаный с помощью стандартных средств Moodle API.

Требования к программе[править]

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

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

  • Предоставлять возможность настроийки модуля;
  • Коректно обрабатывать ситуации ошибочного ввода не на том языке (укр. рус. англ.).

Требования к надежности[править]

Требования к обеспечению надежного функционирования программы[править]

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

Отказы из-за некорректных действий пользователей системы[править]

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

Условия эксплуатации[править]

Требования к квалификации и численности персонала[править]

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

  1. задача поддержания работоспособности технических средств;
  2. задачи установки (инсталляции) и поддержания работоспособности системных программных средств — родительской системы Moodle;
  3. задача установки (инсталляции) модуля;
  4. задача создания резервных копий базы данных.

Требования к информационной и программной совместимости[править]

Требования к информационным структурам и методам решения[править]

База данных работает под управлением Microsoft SQL Server. Используется много поточный доступ к базе данных. Необходимо обеспечить одновременную работу с программой с той же базой данной модулей экспорта внешних данных

Структура баз данных[править]

Описание действий администратора по модификации структуры БД для установки модуля

Требования к исходным кодам и языкам программирования[править]

Модуль должен быть написан на объектно-ориентированном языке.

Требования к программным средствам, используемым программой[править]

Для нормальной работы модуля необходима версия Moodle 1.5 или выше. Для пользователей необходим браузер с поддержкой JavaScript.

Требования к защите информации и программ[править]

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

Специальные требования[править]

Разработчики не несут ответственность за последствия использования модуля. Администраторы должны осозновать опасность и возможные последствия установки и использования модуля.

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

Предварительный состав программной документации[править]

Состав программной документации должен включать в себя:

  1. техническое задание;
  2. программу и методики испытаний;
  3. руководство по установке;
  4. автоматически созданную документацию с помощью системы PhpDocumentor;
  5. список справочных рессурсов wiki системы Moodle.

Технико-экономические показатели[править]

Экономические преимущества разработки[править]

Ориентировочная экономическая эффективность не рассчитываются. Аналогия не проводится ввиду уникальности предъявляемых требований к разработке. Но ожидаемая полная стоимость разработки и владения ожидается на очень низком уровне из-за использования модульного подхода в составе комплексной системы Moodle.

Стадии и этапы разработки[править]

Стадии разработки[править]

Разработка должна быть проведена в три стадии:

  1. разработка технического задания;
  2. рабочее проектирование;
  3. внедрение.

Этапы разработки[править]

На стадии разработки технического задания должен быть выполнен анализ системы Moodle. На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

  1. разработка программы;
  2. разработка программной документации;
  3. испытания программы.

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

Содержание работ по этапам[править]

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

  1. постановка задачи;
  2. определение и уточнение требований к техническим средствам;
  3. определение требований к программе;
  4. определение стадий, этапов и сроков разработки программы и документации на неё;
  5. согласование и утверждение технического задания.

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

  1. разработка методики испытаний;
  2. проведение приемо-сдаточных испытаний;
  3. корректировка программы и программной документации по результатам испытаний.

На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию.

Порядок контроля и приемки[править]

Виды испытаний[править]

Приемо-сдаточные испытания должны фиксироватся с помощью средств визуального контроля (видеосъемка). Ход проведения приемо-сдаточных испытаний Исполнитель документирует в протоколе проведения испытаний.

Общие требования к приемке работы[править]

После проведения испытаний планируется передача модуля сообществу Moodle.

Пояснительная записка к ТЗ[править]

В связи с тем, что мы не изучали язык программирования Java, а на написание дипломной работы нам было выделено всего месяц, для написания программы был выбран язык PHP. Этот язык был выбран потому, что позволяет писать модули для системы управления обучением Moodle, которая используется в КПУ.


Примечания[править]