План проекта

1) Описание:

  Проект разрабатывается в рамках дисциплины "Групповой проект по ТППО". Предметной областью данного проекта
является обработка данных о сетевых потоках, аккумулируемых в формате Cisco NetFlow. 
Основная задача проекта - достичь скоростей обработки и выборки данных из базы потоков больших,
чем у существующих средств, за счет использования метода индексации данных.

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


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



2) Основные требования к проекту:

  a) Скорость обработки запросов выше чем у аналогов.
  b) Поддержка формата хранения записей о потоках NetFlow v5.
  c) Расширяемость.


3) Функции системы:

  a) Построение индексного файла.
  b) Фильтрация данных с использованием индексного файла.


4) Ограничения проекта:

  a) Время отведённое на разработку составляет 15 недель.
  b) Количество человек в команде разработчиков - 7 человек.
  c) Разрабатываемая программная система должна работать на POSIX-совместимой операционной системе 
(*BSD, Solaris, GNU/Linux, etc).
  d) Следование стилю кодирования GNU.
  e) Изучение внутреннего устройства формата NetFlow и алгоритмов индексации.


5) Заказчик проекта:

  Богоявленский Юрий Анатольевич, заведующий кафедрой, доцент, к.т.н, кафедра Информатики и математического 
обеспечегия.
  Корзун Дмитрий Жоржевич, доцент, к.ф. м.н., кафедра Информатики и математического обеспечегия.


6) Инструктор команды:

    Крышень Михаил Александрович


7) Состав команды разработчиков (в алфавитном порядке):

  Зиновик Игорь Анатольвич        разработчик
  Кириков Павел Владимирович      разработчик
  Митрукова Елена Сергеевна       разработчик, секретарь
  Спащенко Дмитрий Викторович     разработчик
  Тидор Антон Станиславович       разработчик
  Чистяков Дмитрий Борисович      разработчик
  Шериков Александр Владимирович  разработчик, руководитель проекта


8) Отчетность:

    1) Каждую неделю в 13:30 в 138 аудитории проводится собрание с заказчиком.
    2) Каждую неделю менеджер готовит документ о текущем состоянии проекта и отсылает его инструктору.


9) Формы взаимодействия внутри группы:

  a) Основными формами взаимодействия между участниками являются рабочие собрания, электронная почта и 
телефон. Также могут быть использованны клиенты передачи мгновенных сообщений (ICQ, IRC, SILC).
  b) Собрания проводятся каждую пятницу в 15:00, в 217 аудитории. На собраниях обсуждается текущее состояние
 проекта и результаты проделанной работы, распределяются задачи, определяются коррективы, которые необходимо
 внести в готовые документы. Секретарь ведёт протокол собрания.
  c) Участники должны предоставлять последние версии своих индивидуальных отчётов к к 21:00 вечера каждой 
субботы, т.к. на их основе менеджер будет формировать отчёт о текущем состоянии проекта.
  d) Всю документацию, исходные тексты программ разработчики хранят в CVS репозитории.
  e) Для отчётности перед заказчиком часть документации выкладывается на web-сайт.