close

Вход

Забыли?

вход по аккаунту

?

Курсовая работа(1)

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Факультет прикладной математики и информатики
Кафедра многопроцессорных систем и сетей
ПРОТАСЕВИЧ МАКСИМ АЛЕКСАНДРОВИЧ
ТЕСТИРУЮЩЕЕ WEB-ПРИЛОЖЕНИЕ
Курсовой проект
студента 3 курса 1 группы
“Допустить к защите“
с предварительной оценкой __
Руководитель работы
________________
“___” ___________ 2012 г
Минск 2012
Руководитель
Рафеенко
Екатерина
Дмитриевна
доцент кафедры МСС
канд. физ.-мат. наук
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ
Кафедра компьютерных технологий и систем
“Утверждаю”
Заведующий кафедрой
_______________М.К. Буза
“___” _______________ 2012 г.
ЗАДАНИЕ
ПО ПОДГОТОВКЕ КУРСОВОЙ РАБОТЫ
Студенту 3 курса ПРОТАСЕВИЧУ МАКСИМУ АЛЕКСАНДРОВИЧУ (группа № 1)
1. Тема работы ТЕСТИРУЮЩЕЕ WEB-ПРИЛОЖЕНИЕ
2. Срок сдачи студентом законченной работы __ декабря 2012 г.
3. Исходные данные к работе
o Технические требования к электронным версиям отчетных документов, рекомендации
составителям.
Библиографические описания источников, рекомендуемых студентам к ознакомлению при
выполнении работы (для изучения предметной части задания, как правило, достаточно
ознакомиться с любой из перечисленных в начале списка книг):
1. Теория статистики: учебник / Под ред. Р.А. Шмойловой. 4-е издание, доп. и перераб. –
М.: Финансы и статистика, 2003. -320 с.
2. [Электрон. ресурс] Методы сжатия данных. Устройство архиваторов, сжатие
изображений и видио. БГУ, факультет прикладной математики и информатики,
\\Serv314\subfaculty\Каф. КТС\Казаченок\ . Методы сжатия данных. Устройство
архиваторов, сжатие изображений и видео.
3. [Электрон. ресурс] Таранчук В.Б. Курсовое проектирование, 5 семестр. БГУ, факультет
прикладной математики и информатики, \\Serv314\subfaculty\ КурсовойПроект2012.pps.
4. Перечень вопросов подлежащих разработке или краткое содержание работы
 Рассмотреть основные принципы создания web-приложений на языке JAVA.
 Освоить общие теоретические вопросы о сервлетах.
 Провести краткий анализ различных web-фреймворков.
 Реализовать страницу для входа в тестирующую систему.
5. Перечень графического материала
 Логотип БГУ для включения на слайды презентации.
 Графики изучаемых функций (один график в одном окне).
 Иллюстрации сравнительного анализа изучаемых функций.
 Скриншоты интерфейса для включения в презентацию.
 Фрагменты электронных ресурсов использованной литературы
6. Дата выдачи задания __ сентября 2012 г.
7. Календарный график работы на весь период (с указанием этапов работы и
сроков их выполнения)
 сентябрь – ознакомление с предлагаемыми темами, выбор и согласование темы с
руководителем;
 сентябрь – ознакомление с техническими требованиями к электронным отчетным
документам (doc, ppt, pdf) и освоение правил, как их реализовать;
 сентябрь-октябрь – изучение постановки задачи, основных теоретических вопросов;
 октябрь-ноябрь – информационный поиск, работа с электронными ресурсами;
2



ноябрь – частичная практическая реализация задач работы;
ноябрь-декабрь – оформление результатов работы (отчета DOC, презентации PPT),
подготовка доклада и отладка презентации на защиту;
23.11 - 18.12: защита, зачет.
Руководитель ______________ / Е.Д. Рафеенко / …. сентября 2012 г.
Задание принял к исполнению __________________ .… сентября 2012 г.
(подпись студента)
3
АННОТАЦИЯ
Протасевич М.А. Тестирующее web-приложение. Курсовая работа / Минск: БГУ,
2012. – 18с.
Рассматриваются основные принципы создания и работы web-приложений, а также
проводится краткий анализ фреймворков для реализации тестирующей системы. Реализуется
страница входа в тестирующую систему.
АНАТАЦЫЯ
Пратасевіч М.А. Web-праграма для тэставання. Курсавая работа / Мінск: БДУ, 2012. –
18с.
Разглядаюцца асноўныя прынцыпы стварення і работы web-праграм, а таксама
праводзіцца краткі аналіз фрэймворкаў для рэалізацыі сістэмы для тэставання. Рэалізуецца
старонка уваходу ў сістэму для тэставання.
ANNOTATION
Protasevich M.A. Testing web-application. Course work / Minsk: BSU, 2012. – 18p.
Common principles and functioning of web-applications is considered. Was conducted a
brief analisys of frameworks for the implementation of testing web-application. A login page was
implemented.
4
РЕФЕРАТ
Курсовой проект: 18с., 3 источника.
Ключевые слова: WEB-ПРИЛОЖЕНИЕ, ТЕСТИРОВАНИЕ, ФРЕЙМВОРКИ, STRUTS,
SPRING, JAVA.
Объект исследования –.
Цель работы – изучить общие теоретические вопросы по созданию и работе сервлетов, а
также по созданию web-приложений.
Методы исследования – обзор и изучение технологий создания web-приложений.
Результатами является реализованная страницы логина с помощью сервлетов.
Областью применения является использование тестирующих систем для проверки
различных знаний или способностей тестируемых.
5
Содержание
Введение ............................................................................................................................................. 7
1
Основные принципы создания web-приложений. Сервлеты. ................................................ 8
1.1 Определение и понятия ...................................................................................................... 8
1.2 Основные сведения о сервлетах ........................................................................................ 8
1.3 Основная характеристика алгоритмов сжатия ................................................................. 9
2
Алгоритм Шеннона-Фано ........................................................Error! Bookmark not defined.
2.1 Описание и теоретическое обоснование алгоритма Шеннона-ФаноError! Bookmark
not defined.
2.2 Недостатки алгоритма Шеннона-Фано............................Error! Bookmark not defined.
3 Реализация алгоритма Шеннона-Фано на языке высокого уровня JAVA и анализ работы
программы ........................................................................................................................................ 11
3.1 Постановка задачи для реализации алгоритма Шеннона-Фано ................................... 11
3.2 Пример работы программы.............................................................................................. 11
3.3 Анализ работы программы .............................................................................................. 12
Заключение....................................................................................................................................... 15
Список использованных источников............................................................................................. 16
6
Введение
Web-приложения представляют собой вспомогательные программные средства,
предназначенные для автоматизированного выполнения действий на web-серверах. Они
используют в качестве пользовательских интерфейсов web-браузеры. Обычно webприложения создаются в разных вариантах архитектуры клиент-сервер. К числу средств
создания web-приложений относятся ISAPI, CGI, ASP, JSP, WAP. За годы существования
WWW состав web-приложений, выполняемые ими функции, принципы и архитектура их
построения претерпели значительные изменения — от простейших средств хранения HTMLстраниц до решений, ориентированных на поддержку работы корпоративными
информационных систем и их партнеров.
Существенное преимущество построения web приложений для поддержки стандартных
функций браузера заключается в том, что функции должны выполняться независимо от
операционной системы данного клиента. Вместо того чтобы писать различные версии для
Microsoft Windows, Mac OS X,GNU/Linux и других операционных систем, приложение
создается один раз для произвольно выбранной платформы и на ней разворачивается.
Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может
вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того,
возможность пользователя настраивать многие параметры браузера (например, размер
шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе
приложения.
Другой (менее универсальный) подход заключается в использовании Adobe Flash,
Silverlight или Java-апплетов для полной или частичной реализации пользовательского
интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило,
с помощью плагинов), Flash- или Java-приложения могут выполняться с легкостью. Так как
они предоставляют программисту больший контроль над интерфейсом, они способны
обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между
Java или Flash реализациями на стороне клиента может приводить к различным
осложнениям.
В связи с архитектурным сходством с традиционными клиент-серверными
приложениями, в некотором роде «толстыми» клиентами, существуют споры относительно
корректности отнесения подобных систем к web-приложениям.
7
1
1.1
Сервлеты.
Определение и понятия
Приведём основные определения и понятия.
Сервлеты – это модули расширения для запрос-ответ ориентированных серверов, таких
как web сервера с поддержкой JAVA. Например, сервлет ответственный за передачу
информации из HTML форм для обновления базы данных компании.
Контейнер сервлетов — программа, представляющая собой сервер, который занимается
системной поддержкой сервлетов и обеспечивает их жизненный цикл в соответствии с
правилами, определёнными в спецификациях. Может работать как полноценный
самостоятельный web-сервер, быть поставщиком страниц для другого веб-сервера, например
Apache, или интегрироваться в Java EE сервер приложений. Обеспечивает обмен данными
между сервлетом и клиентами, берёт на себя выполнение таких функций, как создание
программной среды для функционирующего сервлета, идентификацию и авторизацию
клиентов, организацию сессии для каждого из них.
JSP (Java Server Pages) — технология создания Web-приложений, основанная на
однократной компиляции Java-кода (сервлета) при первом обращении к нему с
последующим выполнением методов этого сервлета и помещением полученных результатов
в набор данных, которые отправляются в браузер.
Фреймворк (англ. framework – каркас, структура) — структура программной системы;
программное обеспечение, облегчающее разработку и объединение разных компонентов
большого программного проекта. В отличие от библиотек, которые объединяют набор
подпрограмм близкой функциональности, фреймворк содержит в себе большое количество
разных по назначению библиотек.
1.2
Основные сведения о сервлетах
Когда пользователь работает с интерактивным web-сайтом, все, что он видит,
отображается в браузере. За кулисами процесса web-сервер принимает от вас запросы во
время сессии, возможно, передает их в другой код (возможно, другим серверам) для
обработки запроса и обращения к данным, а также генерирует результаты для отображения в
браузере.
Сервлет представляет собой диспетчер процесса. Он находится на web-сервере и
обрабатывает входящие запросы и исходящие ответы. Вообще говоря, он не имеет ничего
общего с представлением.
Помимо JVM для работы сервлета требуется контейнер, который будет обеспечивать
связь между указанным пользователем URL и серверными компонентами, обрабатывающим
запрос. Во время работы сервлета, контейнер загружает и инициализирует сервлет, а также
управляет его жизненным циклом.
Жизненный цикл сервлета состоит из следующих шагов:
1. В случае отсутствия сервлета в контейнере.
1.1. Класс сервлета загружается контейнером.
1.2. Контейнер создает экземпляр класса сервлета.
1.3. Контейнер вызывает метод init(). Этот метод инициализирует сервлет и
вызывается в первую очередь, до того, как сервлет сможет обслуживать запросы.
За весь жизненный цикл метод init() вызывается только однажды.
2. Обслуживание клиентского запроса. Каждый запрос обрабатывается в своем
отдельном потоке. Контейнер вызывает метод service() для каждого запроса. Этот
метод определяет тип пришедшего запроса и распределяет его в соответствующий
этому типу метод для обработки запроса. Разработчик сервлета должен предоставить
реализацию для этих методов. Если поступил запрос, метод для которого не
реализован, вызывается метод родительского класса и обычно завершается
возвращением ошибки инициатору запроса.
3. В случае если контейнеру необходимо удалить сервлет, он вызывает метод destroy(),
который снимает сервлет из эксплуатации. Подобно методу init(), этот метод тоже
вызывается однажды за весь цикл сервлета.
8
1.3
Основная характеристика алгоритмов сжатия
Коэффициент сжатия — основная характеристика алгоритма сжатия. Она определяется
как отношение объёма сжатых данных к объёму исходных несжатых, то есть:
k
lC
lS
(1)
где k — коэффициент сжатия, lC — объём сжатых, а lS — объём исходных данных.
Таким образом, чем меньше коэффициент сжатия, тем эффективнее алгоритм. Следует
отметить:
1. если k  1 , то алгоритм не производит сжатия, то есть выходное сообщение
оказывается по объёму равным входному;
2. если k  1 , то алгоритм порождает сообщение большего размера, нежели несжатое, то
есть, совершает «вредную» работу.
Ситуация где k  1 вполне возможна при сжатии. Принципиально невозможно получить
алгоритм сжатия без потерь, который при любых данных образовывал бы на выходе данные
меньшей или равной длины. Обоснование этого факта заключается в том, что поскольку
число различных сообщений длиной n бит составляет ровно 2 n , число различных
сообщений с длиной меньшей или равной n (при наличии хотя бы одного сообщения
меньшей длины) будет меньше 2 n . Это значит, что невозможно однозначно сопоставить все
исходные сообщения сжатым: либо некоторые исходные сообщения не будут иметь сжатого
представления, либо нескольким исходным сообщениям будет соответствовать одно и то же
сжатое, а значит, их нельзя отличить.
9
2
2.1
Краткий анализ фреймворков
Краткий анализ фреймворков
У современным web-разработчиков есть огромный выбор множества инструментов для
создания различных интернет-ресурсов и web-приложений. Перед реализацией
тестирующего приложения необходимо сначала определиться, с помощью какого из
фреймворков следует реализовать данный проект: Grails, Hamlets JSF, RichFaces, Spring,
Stripes, Struts, Tapesty, Wicked, JBoss, и пр. В результате было выбрано три наиболее
популярных и поддерживаемых на данный момент фреймворка: JSF, Spring, Struts.
Далее необходимо рассмотреть каждый из фреймворков отдельно.
JSF является частью JavaEE. Несмотря на то, что для данного инструмента существует
множество книг, он лёгок в изучении и создавать UI с его помощью довольно просто,
следует учесть, что настройка свойств безопасности может быть довольно сложной и что в
процессе реализации будет генерироваться большое количество ненужного текста на HTML
странице, из-за чего довольно сложно будет контролировать её точное содержание.
Spring считается довольно быстрым в плане рендеринга страниц и обработки запросов, с
его помощью легко контролировать работу с памятью, заполнение страниц и их рендеринг.
Среди преимуществ так же стоит отметить наличие у Spring фрейморков доступа к данным с
помощью JDBC и ORM, транкзакций, а также фреймворка авторизации.
Struts довольно лёгок в изучении и и довольно быстр. Кроме того он позволяет
несколько упростиь обработку и валидацию форм. Среди недостатков стоит выделить
плохую документацию. Кроме того, данный фреймворк ориентирован больше на
процедурную, а не объектно-ориентированную модель, что может вызвать завтруднения на
начальном этапе реализации.
2.2
Заключение анализа
10
3
3.1
Реализация страницы входа в систему
Постановка задачи для реализации алгоритма Шеннона-Фано
 Закодировать данные произвольного объёма, содержащие произвольное, но не
превышающее 23, количество символов, находящиеся в файле “input.txt”,
закодированную информацию вывести отобразить в окне программы.
 Вывести информацию о коэффициенте сжатия, таблицу частот, а так же полученные с
помощью алгоритма Шеннона-Фано коды символов.
3.2
Пример работы программы
Рис 1.1. Окно программы для ввода данных
На Рис.1 изображено вкладка программы, на которой пользователь вводит текст,
составленный из алфавита до 20 символов. Как только текст введён в поле Input, нужно
нажать кнопку Encrypt, после чего программа, применив к вводимым данным алгоритм
Шеннона-Фано, выдаст результат.
Чтобы посмотреть какие коды сопоставлены тем или иным символам, нужно перейти на
вкладку Results (Рис 1.2).
11
Рис 21.2. Вкладка статистических данных
3.3
Анализ работы программы
Проведём анализ работы программы с помощью следующих тестов:
Рис. 2.1. Равномерно распределённые данные
В данном случае получим следующий результат: k = 0,878462, что говорит о малой
эффективности алгоритма с точки зрения сжатия информации.
12
Рис. 2.2. Данные с различными частотами
В случае, когда частоты символов различны: k = 0,816465.
Рис 2.3. В исходных данных один из символов встречается чаще, чем все остальные вместе
взятые.
На этих данныхалгоритм работает довольно эффективно: k = 0.6.
13
Рис. 2.4 Данные с символами из неполного алфавита.
В данном случае мы получили k = 0,392941.
Из данных результатов можно сделать вывод, что алгоритм Шеннона-Фано работает
достаточно хорошо только в случаях, когда в тексте не встречаются некоторые символы из
заданного алфавита или когда один из символов встречается чаще, чем все осатальные
вместе взятые.
14
Заключение
В работе:





рассмотрена задача сжатия информации, используя алгоритм Шеннона-Фано;
изучены общие теоретические вопросы по сжатию информации;
освоены общие теоретические приемы кодирования и сжатия информации;
запрограммирован сжатие информации, используя алгоритм Шеннона-Фано и JAVA;
Освоены приемы подготовки скриншотов и включения их в отчеты doc, презентации
ppt.
15
Список использованных источников
1.
2.
3.
[Электрон. ресурс] Основы кодирования информации. БГУ, факультет прикладной
математики и информатики, \\Serv314\subfaculty\Каф. КТС \ Казаченок \ Анализ,
обработка, визуализация данных \ Основы кодирования информации.doc
[Электрон. ресурс]: Справочное пособие / Библ. каф. ИПМОАП БГУ. – Электрон.
презент. мат. (478 кбайт). – Мн.: БГУ, 2009. – \\Serv314\subfaculty\Курс_проектирование\02_Объявления\КурсовойПроект2012.pps
[Электрон. ресурс] Основы сжатия изображений. БГУ, факультет прикладной
математики и информатики, \\Serv314\subfaculty\Каф. КТС \ Казаченок \ Анализ,
обработка, визуализация данных \ Подходы к сжатию.doc
16
Документ
Категория
Компьютеры, Программирование
Просмотров
64
Размер файла
280 Кб
Теги
работа, курсовая
1/--страниц
Пожаловаться на содержимое документа