Научно-исследовательская работа студентов

Вид материалаНаучно-исследовательская работа

Содержание


МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ Секция информатикии математического обеспечения
ХАРАКТЕРИЗАЦИЯ ТРАФИКА УЗЛА ИНТЕРНЕТ ПетргуНА УРОВНЕ ПОТОКОВ
Система web-syndic: разработкапрограммного обеспеченияна основе прецедентов
Обеспечение качества по в командахразработчиков малого размера
Система статистики посещений web-сайта
Подобный материал:
1   ...   8   9   10   11   12   13   14   15   ...   48
^

МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ

Секция информатики
и математического обеспечения

СИСТЕМА WEB-SYNDIC: РАЗРАБОТКА СЕРВЕРА
И ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ

Крышень М. А. — студ. 3 курса
Научные руководители — к. техн. н., доц. Богоявленский Ю. А.,
к. ф.-м. н., ст. преп. Корзун Д. Ж.


Данная работа является частью проекта Web-SynDic, цель которого — разработка Web-системы для тестирования алгоритмов решения неотрицательных диофантовых уравнений, ассоциированных с грамматиками (АНЛДУ). Цель данной работы — разработка интерфейса пользователя и подсистемы, реализующей этот интерфейс (WS).

Подсистема WS отвечает за получение запросов клиента (в качестве которого может выступать любой стандартный Интернет-обозреватель) и формирование ответов. Особенностью любой Web-системы, в отличие от обычного приложения, является возможность одновременного использования системы несколькими пользователями, поэтому подсистема WS должна также обеспечивать совместную независимую работу пользователей и разделение между ними прав доступа к функциям системы.

Процесс разработки был основан на водопадной модели. На стадии анализа требований были определены функциональные требования и построена модель прецедентов. Далее на стадии проектирования были разработаны формы, предоставляющие пользователю интерфейс к функциям системы,
и форматы данных для взаимодействия с пользователем.

Была спроектирована подсистема WS. При этом использовались технологии Java Servlets и Java Server Pages (JSP). Для реализации подсистемы использовался пакет Apache Tomcat, включающий библиотеку классов сервлетов и компилятор страниц JSP. Всего было реализовано 27 страниц JSP и 9 классов Java, включая сервлеты (около 1600 строк кода). На стадии тестирования были внесены улучшения в пользовательский интерфейс, обнаружены и исправлены некоторые ошибки, достигнуто полное соответствие возвращаемого HTML кода спецификации HTML 4.01. В настоящее время продолжается α-тестирование системы.

^

ХАРАКТЕРИЗАЦИЯ ТРАФИКА УЗЛА ИНТЕРНЕТ Петргу
НА УРОВНЕ ПОТОКОВ

Кухарев Д. В. — студ. 5 курса
Научный руководитель — к. техн. н., доц. Богоявленский Ю. А.


Одной из основных задач, возникающих в процессе работы локальных поставщиков сетевых услуг (лПСУ) Интернет, является задача планирования мощности, обеспечивающей приемлемый уровень предоставляемых услуг. Решение этой задачи позволяет обеспечить управление ростом лПСУ экономически оправданным способом. Любой проект планирования мощности состоит из нескольких этапов, при этом ключевыми являются этапы построения модели рабочей нагрузки и модели производительности системы. Модель рабочей нагрузки строится на базе характеризации нагрузки с использованием данных ее мониторинга.

Целью работы является характеризация трафика лПСУ Интернет ПетрГУ на уровне потоков. В данной работе под потоком в сети понимается однонаправленная последовательность пакетов между двумя узлами — источником и приемником. Каждый поток идентифицируется несколькими параметрами: IP-адресом, временем начала и окончания
и др. За период с 4 декабря 2000 г. по 29 апреля 2001 г. была накоплена статистика по трафику, проходящему через главный маршрутизатор ПетрГУ. Из этого периода был выбран недельный промежуток и по трафику за эту неделю рассчитаны некоторые базовые характеристики
и представлены в виде графиков.

Для сбора статистики использовалась система NetFlow компании Cisco, а для расчета характеристик — язык спецификации TCPConal, разработанный на кафедре ИМО. Данные, получаемые от системы NetFlow, представляют собой последовательность записей о потоках. Механизм обработки данных системой TCPConal состоит в выполнении для каждого потока некоторого набора операций, записанных на языке TCPConal. Для расчета представленных характеристик было написано 5 программ, общее количество строк кода — 770. Для графического представления результатов использовалась утилита gnuplot.

В результате проведенной работы были рассчитаны следующие характеристики трафика: объем (байты, пакеты, потоки) по дням и часам для сегментов сети и отдельных узлов, распределение потоков по скорости передачи. Расчет проводился отдельно для входящего и исходящего трафиков сегментов сети.

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

^

СИСТЕМА WEB-SYNDIC: РАЗРАБОТКА
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
НА ОСНОВЕ ПРЕЦЕДЕНТОВ

Ананьин А. В. — студ. 3 курса
Научные руководители — к. техн. н., доц. Богоявленский Ю. А.
к. ф.-м. н., ст. преп. Корзун Д. Ж.


Целью проекта Web-SynDic является разработка Web-системы для демонстрации и тестирования синтаксических алгоритмов решения систем АНЛДУ (ассоциированная с КС-грамматикой система неотрицательных линейных диофантовых уравнений). Web-система позволяет исследователям через Интернет задавать вручную или генерировать автоматически системы АНЛДУ, находить их базис Гильберта, проверять правильность результата, оценивать потребление ресурсов и сравнивать эффективность алгоритмов.

Одной из важнейших задач проекта была задача разработки модели прецедентов (на стадиях анализа требований и проектирования), а также программной реализации и тестирования системы на основе этой модели.

Под прецедентом понимается логически завершенная последовательность событий, связанных с исполнителем (внешним объектом), который для выполнения требуемой функции использует программную систему. Примером прецедента в системе Web-SynDic может быть прецедент «Solve ANLDE System» («Решить систему АНЛДУ»), а внешним объектом является Solver (программа, реализующая алгоритм решения АНЛДУ-систем). На основе языка UML модель прецедентов включает
в себя диаграмму прецедентов и описание каждого прецедента в отдельности с соответствующими диаграммами последовательностей.

В рамках проекта Web-SynDic построение модели прецедентов заключалось в следующем. На стадии анализа требований составлялся список высокоуровневых требований заказчика, на основе которых создавались расширенные требования. Каждое такое требование определяло отдельный прецедент. Затем выполнялось построение диаграммы прецедентов на основе выделения внешних объектов и взаимосвязей между прецедентами.

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

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

Руководство пользователя Web-системы также строилось по прецедентам.

Таким образом, при разработке системы были получены следующие результаты, касающиеся модели прецедентов: на стадии анализа требований построена модель прецедентов (10 диаграмм, одно описание прецедента), модель прецедентов успешно применена на последующих стадиях разработки, проведены 32 базовых системных теста на стадии тестирования.

^

ОБЕСПЕЧЕНИЕ КАЧЕСТВА ПО В КОМАНДАХ
РАЗРАБОТЧИКОВ МАЛОГО РАЗМЕРА

Яблоков А. С. — студ. 5 курса
Научные руководители — к. техн. н. Токарев М. В.,
к. техн. н., доц. Богоявленский Ю. А.


Для любой команды разработчиков важной задачей является обеспечение качества ПО. В командах разработчиков малого размера (от 1 до 10 человек) наибольшее влияние на качество оказывают проблемы, возникающие в работе отдельных разработчиков. В силу этого их надо снабдить методами обеспечения качества, сходными с теми, что определены в CMM. Кроме того, для обеспечения согласованности работы инженеров в команде и для прогнозирования процесса разработки необходимо иметь количественные методы оценивания и прогнозирования работы каждого инженера с учетом его индивидуальных особенностей.

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

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

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

Для обеспечения объективного управления процессом разработки вводятся различные метрики, позволяющие оценить эффективность действий по обеспечению качества

^

СИСТЕМА СТАТИСТИКИ ПОСЕЩЕНИЙ WEB-САЙТА

Суриков В. А. — студ. 3 курса
Научный руководитель — ст. преп. Пономарев В. А.


Владельцам Web-серверов для их развития полезно знать различную статистику о посетителях. Это нужно для определения правильности сделанных изменений, полезности для посетителей определенных разделов, эффективности рекламы и т. п. В работе поставлена задача разработать систему для сбора и систематизации этой статистики для сайта кафедры ИМО (relia.ru/).

Зачем же писать новую систему, когда такие существуют? Просто существующие бесплатные наборы скриптов имеют некоторые недостатки в связи с попыткой сделать их универсальными для любых сайтов. Профессиональные рейтинговые системы (например, SpyLog и HotLog) предоставляют услуги платно, в бесплатном же варианте показывают минимум информации. Кроме того, при их использовании замедляется загрузка страниц сайта из-за обращения к стороннему серверу, что отрицательно действует на отношение посетителя. По всем перечисленным причинам было решено написать систему статистики посещений под конкретный Web-сервер — сервер кафедры ИМО.

Web-сайт кафедры ИМО полностью разработан на основе скриптов на языке PHP. Поэтому систему легче всего писать именно на PHP. Для хранения данных было решено использовать базу данных. Это сделано потому, что вся хранимая информация должна часто изменяться, ее нужно извлекать, используя разные фильтры, доступ к ней должен быть ограничен и необходимо хранить большие объемы данных. Для подобных целей лучше всего подходит именно база данных с ее возможностями запросов. А самой доступной и удобной для использования в интерфейсе с PHP является mySQL.

Учтя все ограничения, я разработал набор скриптов, собирающих информацию по всем запросам страниц сайта, и отображающих различные отчеты по собранным данным. В ходе разработки возникли проблемы
с определением необходимости изменения некоторых собираемых статистик в ходе обработки посещения. Эти проблемы были решены. Также была оптимизирована структура базы данных для уменьшения объема хранящихся данных. В данный момент эта система проходит тестирование на Web-сайте со структурой, аналогичной структуре сайта кафедры ИМО, располагающемся на том же сервере.