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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


курсовая работа Интернет-комплекса «Знание»

Информация:

Тип работы: курсовая работа. Добавлен: 07.12.2012. Сдан: 2011. Страниц: 8. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Содержание
 

Введение

 
      Целью данной работы является создание Интернет-комплекса  для анализа и хранения информации, который будет использоваться в  работе Гродненской областной организации  общественного объединения «Белорусское общество «Знание».
      Необходимо  дать краткую характеристику обществу, а также – его основным направлениям работы. В июле 1947 г. по инициативе группы выдающихся ученых было создано Всесоюзное общество по распространению политических и научных знаний (в 1963 году переименовано во Всесоюзное общество «Знание»).
      В Республике Беларусь в настоящее  время правопреемником Всесоюзного  общества является государственно-общественное объединение «Белорусское общество «Знание». Оно объединяет в своих  рядах более 300 учёных, экономистов, юристов, медиков, работников культуры, служащих госаппарата, других специалистов в различных отраслях знаний. Существуют его региональные отделения, в частности Гродненская областная организация.
      Деятельность  общества в основном заключается  в лекционно-просветительской работе. Приоритетные направления: информационные технологии, внешняя и внутренняя политика РБ, проблемы экологии и природопользования, охрана здоровья и здоровый образ жизни, современные проблемы молодёжи. Любая организация, предприятие, объединение может обратиться в Гродненскую областную организацию и заказать проведение у себя лекционных занятий.
      Сегодня уже очевидно, что деятельность любой  организации будет более успешной, если она имеет свой ресурс в Интернете. Этот ресурс может быть статическим  сайтом, но гораздо больше пользы от ресурса, который обладает динамичностью, интерактивностью.
      Таким образом, возникла идея создания Интернет-комплекса  для анализа и хранения информации, который будет позволять потенциальным  заказчикам знакомиться с деятельностью, структурой организации, её сотрудниками, проводимыми мероприятиями и так далее. Эта информация заполняется администраторами и может использоваться для анализа деятельности объединения. Кроме того, подобный Интернет-ресурс будет полезен для сотрудников организации тем, что они смогут изучать спрос потребителя, анализируя статистику посещения сайта и определённых его web-страниц.
      Итак, сформулируем цель и задачи курсовой работы.
      Цель  курсовой работы – создание Интернет-комплекса «Знание» для хранения и анализа информации.
      Предусмотрено решение следующих задач:
      1. Обзор материалов, касающихся систем  и технологий для их реализации.
      2. Моделирование предметной области  и обоснование выбранных средств  разработки проекта
      3. Программная реализация проекта.
      4. Подготовка презентации и отчёта по курсовой работе.
 

Глава 1. Выбор программных  средств для реализации 
Интернет-комплекса «Знание»

 
      Для реализации Интернет-комплекса «Знание» были выбраны СУБД MySQL, язык программирования Java, а также технология Struts, которая является каркасом web-приложения и значительно облегчает его создание.

1.1. Выбор СУБД (MySQL).

      Целью курсовой работы было создание интернет-системы, обрабатывающей информацию о людях, мероприятиях, лекциях. Естественно, возникает  вопрос, в каком виде должна храниться эта информация и с помощью каких средств её следует обрабатывать. Так как, например, информация о каждом отдельном человеке представляет собой типичный набор данных (фамилия, имя, отчество, биография и т. д.), то очевидно, что в этом случае целесообразно хранить их в реляционной базе данных на сервере. Посредством запросов к базе данных пользователь может получать нужные ему сведения, а администратор может добавлять и изменять данные.
      Выбор конкретной СУБД в качестве сервера  баз данных осуществлялся исходя из тех преимуществ, которые она имеет перед другими, а также удобства работы с ней. В данном случае был выбрана клиент-серверная СУБД MySQL. Её архитектура изображена на рис.1.1.
      
     Рис. 1.1. Клиент-серверная  архитектура MySQL
      Самая подходящая для MySQL сфера применения - это Интернет, благодаря хорошей системе безопасности этого пакета, стабильной работе и высокому быстродействию. Для создания скриптов был выбран язык программирования PHP, а MySQL – самая популярная СУБД, которая поддерживается этим языком. В PHP есть множество функций, которые позволяют удобно и эффективно работать с базами данных – и это одна из причин выбора данной СУБД.
      Рассмотрим  преимущества MySQL:
      1) Быстродействие
      Благодаря внутреннему механизму многопоточности  быстродействие MySQL весьма высоко. Для разработчиков MySQL скорость всегда являлась ключевым параметром. Новые возможности добавлялись в пакет MySQL только после того, как их удавалось реализовать без ущерба для производительности. Иногда это означало, что некоторые возможности добавлялись не так быстро, как хотелось бы пользователям, но зато всегда гарантировало быструю работу MySQL.
      2) Безопасность
      Довольно  высокий уровень безопасности обеспечивается благодаря базе данных mysql, создающейся  при установке пакета и содержащей пять таблиц. При помощи этих таблиц можно описать, какой пользователь из какого домена с какой таблицей может работать и какие команды он может применять. Пароли, хранящиеся в базе данных, можно зашифровать при помощи встроенной в MySQL функции password().
      3) Лицензия
      Раньше  лицензирование MySQL было немного запутанным; сейчас эта программа для некоммерческих целей распространяется бесплатно.
      4) Открытость кода
      Благодаря этому программист может сам  добавлять в пакет нужные функции, расширяя его функциональность так, как ему требуется. За отдельную плату это могут сделать и сами авторы MySQL.
      5) Простота использования
      Для начала работы с MySQL не требуется сложной  процедуры конфигурации. MySQL Server начнёт работать соответствующим образом  сразу. По умолчанию выбираются значения, соответствующие минимальному использованию ресурсов диска и памяти. Для получения оптимальной производительности и для специальных условий (например, для проверки входа в систему), конечно же, потребуется дополнительная настройка. Чтобы помочь выполнить такую настройку, предлагаются соответствующие примеры файлов типовой конфигурации.
      6) Сообщество
      Как следствие открытости кода, бесплатности программы, стабильной и надежной ее работы образовалось сообщество людей, которые не просто лояльны к MySQL, но и всячески участвуют как в развитии самого пакета, так и в обучении менее опытных людей работе с ним. Существует огромное количество листов рассылки и конференций, где можно получить бесплатную помощь в любое время суток.
      7) Переносимость
      В настоящее время существуют версии программы для большинства распространенных компьютерных платформ. Это говорит  о том, что вам не навязывают определенную операционную систему. Вы сами можете выбрать, с чем работать, например с Linux или Windows, но даже в случае замены ОС вы не потеряете свои данные и вам даже не понадобятся дополнительные инструменты для их переноса.
      Конечно же, как и любое программное  средство, СУБД MySQL не избавлена от некоторых  недостатков. Например, можно назвать  отсутствие вложенных запросов, что приводит к необходимости находить нужные значения отдельно и подставлять их в другой запрос непосредственно в CGI-сценарии, что, несомненно, сказывается на производительности.
      Несмотря  на это, СУБД MySQL была выбрана как  наиболее подходящий сервер баз данных для интернет-комплекса «Знание».

1.2. Язык программирования Java

     Объектно-ориентированный  язык программирования Java широко используется для создания серверных приложений.
     Система Java создана на основе простого языка  программирования, техника использования которого близка к общепринятой и обучение которому не требует значительных усилий.
     Java как язык программирования является  объектно-ориентированным с момента  основания. Кроме того программист  с самого начала обеспечивается  набором стандартных библиотек, обеспечивающих функциональность от стандартного ввода/вывода и сетевых протоколов до графических пользовательских интерфейсов. Эти библиотеки легко могут быть расширены. 
Несмотря на то, что язык С++ был отвергнут, синтаксис языка Java максимально приближен к синтаксису С++. Это делает язык знакомым широкому кругу программистов. В то же время из языка были удалены многие свойства, которые делают С++ излишне сложным для пользования, не являясь абсолютно необходимыми. В результате язык Java получился более простым и органичным, чем С++.

     Надежность  и безопасность Java существенно облегчает  создание надежного программного обеспечения. Кроме исчерпывающей проверки на этапе компиляции, система предусматривается  анализ на этапе выполнения. Сам язык спроектирован так, чтобы вырабатывать у программиста привычку писать "правильно". Модель работы с памятью, в которой исключено использование указателей, делает невозможными целый класс ошибок, характерных для С и С++.
     В силу того, что Java предназначен для работы в распределенной среде, безопасность становится чрезвычайно важной проблемой. Требования безопасности определяют многие черты как языка, так и реализации всей системы.
     Компилятор Java производит байт-коды, т.е. модули приложения имеют архитектурно-независимый формат, который может быть проинтерпретирован на множестве разнообразных платформ. Это уже не исходные тексты, но еще не платформно-зависимые машинные коды.
     Схема работы системы и набор байт-кодов  виртуальной машины Java таковы, что  позволяют достичь высокой производительности на этапе выполнения программы:
     анализ  кодов на соблюдение правил безопасности производится один раз до запуска  кодов на выполнение, в момент выполнения таких проверок уже не нужно, и  коды выполняются максимально эффективно ;
     работа  с базовыми типами максимально эффективна, для операций с ними зарезервированы  специальные байт-коды;
     методы  в классах не обязательно связываются  динамически;
     автоматический  сборщик мусора работает отдельным  фоновым потоком, не замедляя основную работу программы, но в то же время обеспечивая своевременный возврат свободной памяти в систему;
     стандарт  предусматривает возможность написания  критических по производительности участков программы в машинных кодах.
     Каждая  из перечисленных характеристик по отдельности может быть найдена в уже существующих программных пакетах. Новым является соединение их в стройную непротиворечивую систему, которая должна стать всеобщим стандартом.

1.3. Технология Struts

     Struts – это каркас для разработки  приложений, который создан и используется вместе с популярной J2EE (Java 2, Enterprise Edition) платформой. Он укорачивает время разработки и делает разработчиков более продуктивными, обеспечивая их набором инструментов и компонент для создания приложений.
     Использование каркаса означает, что программисту не нужно тратить время на создание всего приложения. Он может сосредоточиться на кодировании бизнес-логики и представлении (presentation layer) приложения, а не на частях "верхнего уровня" таких как описание того как принимать входные данные от пользователя или как генерировать выпадающие списки на Веб-странице.
      Другое  преимущество в использовании каркаса  состоит в том, что он позволяет  коду быть в большой степени независимым  от платформы (как это и есть в  случае Struts). И это может быть достигнуто во многих случаях даже без рекомпиляции кода – то же самое Веб-приложение (или ".war" файл) может просто быть скопирован с одного сервера на другой.
      Другое  особенно важное преимущество – это  то, что каркас дает для начинающих разработчиков "место для старта". Очевидно, что проще иметь основу для приложения и расширять её чем писать все с нуля. Это качество Struts сохраняет программистам дни или даже недели планирования и разработки.
      Struts опирается на шаблон проектирования Model-View-Controller (MVC, Модель-представление-поведение»). Шаблон MVC широко признан как один из самых хорошо разработанных и зрелых шаблонов проектирования которые используются в данное время.
      MVC – архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.
      Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контролера), изменяя свое состояние.
      Представление (View). Отвечает за отображение информации (пользовательский интерфейс).
      Поведение (Controller). Интерпретирует данные, введённые  пользователем, и информирует модель и представление о необходимости  соответствующей реакции.
     
     Рисунок 1.2. Схема паттерна проектирования MVC
      Важно отметить, что как представление, так и поведение зависят от модели. Однако модель не зависит ни от представления, ни от поведения. Это одно из ключевых достоинств подобного разделения. Оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.
      Каким же образом шаблон проектирования MVC реализуется в Struts?
      Компоненты  моделей предоставляют "модель" для бизнес-логики или данные для Struts программы. Например, в Struts приложении, которое управляет данными клиентов, возможно было бы выгодно создать  компонент модели "Customer", который  бы предоставлял программе доступ к информации о клиентах. Компоненты моделей, как правило, являются стандартными Java классами. Для моделей не требуется специального формата, поэтому можно использовать код, написанный для других проектов.
      Компоненты  представления это те части приложения, которые отвечают за презентацию информации и её прием от пользователя. В Struts компоненты представления соответствуют Веб-страницам.
      Компоненты  представления используются для  представления информации хранящейся в моделях. Обычно для каждой Веб-страницы в Struts приложении имеется один или  более компонент представления.
      Компоненты  представления создаются при  помощи JavaServer Pages (JSP). Struts предлагает разработчику большое количество «JSP Custom Tags» (иногда называемых Struts Tags) которые расширяют обычные возможности JSP и упрощают разработку компонентов представления.
      Компоненты  контроля координируют деятельность в  приложении. Имеется ввиду, например, прием данных от пользователя и обновление базы данных с помощью компонента модели или обнаружение ошибки back-end системой и ее обработка. Контроллер принимает данные от пользователей, принимает решение о том какие компоненты моделей должны быть обновлены и выбирает компоненты представления, которым посылается сообщение сигнализирующее о необходимости демонстрации обновленных результатов.
      Одно  из главных преимуществ компонент  контроля состоит том, что они  позволяют разработчику перенести код, занимающийся обработкой ошибок, из JSP-страниц в само приложение. Это может значительно упростить логику в страницах и облегчить их разработку и обслуживание.
      Компоненты  контроля в Struts являются Java классами и  должны быть созданы по определенным правилам. В контексте Struts их обычно называют «Action classes».
      Таким образом, технология Struts позволяет  разработчикам представлять (и проектировать) сложные приложения как последовательность относительно простых компонентов  моделей, представления и контроля. Это ведёт к лучшим, более однородным и легче обслуживаемым проектам.
 

Глава 2. Анализ предметной области  и создание концептуальной модели

2.1. Сбор информации  о предметной области

      Анализируя  предметную область, рассмотрим более  подробно, в чём заключается деятельность Гродненской областной организации общественного объединения «Белорусское общество «Знание».
      Сотрудники  общества разрабатывают лектории –  циклы лекций, посвящённых одной  тематике. Каждый лектор может заниматься лекционно-просветительской работой по нескольким направлениям. При этом в процессе подготовки лекций специалисту наверняка понадобится дополнительная информация. Результатом работы является лекторий. С ним специалист выступает в каких-либо учреждениях, организациях.
      Кроме выступлений с лекциями, организация может проводить и другие мероприятия, например встречи с интересными людьми. Фотографии, относящиеся к мероприятиям, также следует хранить в Интернет-комплексе.
      Таким образом, можно сделать вывод, что  основная информация, которая интересует заказчиков в деятельности организации – это её сотрудники, направления, по которым они работают, и проводимые мероприятия. Для самих специалистов также  интересна информация в помощь.
      Логично разделить всех посетителей Интернет-комплекса  «Знание» на две группы: пользователи и администраторы. Предполагается, что в группу администраторов будут входить сами деятели общества (как специалисты-лекторы, так и управление организации).
      1) Пользователи имеют возможность  лишь ознакомиться с информационными ресурсами, представленными на сайте. Для этого им не нужно регистрироваться на сайте. Для всех пользователей должна быть доступна следующая информация: деятели общества, лектории, направления деятельности, мероприятия, фотографии.
      2) Администраторы обязательно должны быть зарегистрированы в системе, т. е. иметь свои логин и пароль. Администратор также вправе удалить профиль пользователя либо назначить пользователя администратором с такими же правами. Помимо тех ресурсов, которые доступны обычным пользователям, администраторы имеют доступ к информации в помощь специалистам.
      Кроме того, администратор непосредственно  занимается наполнением Интернет-комплекса  информацией.
      Итак, анализ предметной области позволяет  нам выделить сущности и определить связи между ними.

2.2. Выделение сущностей

      При анализе предметной области были выделены следующие сущности: деятели, лектории, направления деятельности, мероприятия, фотографии, информация в  помощь.
      1) Деятели
      Фамилия
      Имя
      Отчество
      Статус (занимаемая должность)
      Контактные данные
      Краткая биография
      Резюме
      Фотография
    2) Лектории
      Название
      Описание
      Ссылка (ссылка на документ с подробным описанием лектория)
      Авторы
    Направления деятельности
      Название
      Описание
    4) Мероприятия
      Дата
      Тип мероприятия (лекция, встреча, организационное собрание и т. д.)
      Тема
      Место проведения
      Направления деятельности, по которым проводится мероприятие
      Участники мероприятия (деятели)
      Фотографии
    5) Фотографии
      Дата
      Описание
      Ссылка на фотографию
    6) Информация  в помощь
      Тема
      Авторы
      Ссылка на информацию

2.3. Определение отношений между сущностями

      Далее определялись отношения между выделенными  сущностями. В ходе этого процесса было выявлено, что в большинстве  случаев для сущностей характерны отношения типа «многие-ко-многим». Это безусловно делает приложение более гибким, но усложняет его реализацию.
      Рассмотрим, например, сущность Мероприятие. Она  характеризуется такими атрибутами, как Участники и Направления  деятельности.
      Понятно, что участвовать в мероприятии  могут несколько человек. С другой стороны, деятели принимают участие в множестве мероприятий.
      Мероприятие может проводиться по нескольким направлениям одновременно. В то же время по каждому направлению  читается множество лекций, следовательно  и в этом случае между Мероприятиями  и Направлениями деятельности существует отношение «многие-ко-многим».
      Такая же ситуация наблюдаются и в отношении  между сущностями Мероприятие и  Фотография.

     Рисунок 2.1. Фрагмент концептуальной модели данных
      Рассмотрим  связь между сущностями Деятель  и Лекторий. Очевидно, что лектор может быть автором многих лекториев. В то же время возможна ситуация соавторства, т.е. у лектория может быть два и более авторов. Получаем, что и для этих двух сущностей характерно отношение «многие-ко-многим».
      Далее, информация в помощь специалистам может быть посвящена не только одной тематике. С другой стороны по каждому направлению деятельности может быть собрано множество источников дополнительной информации в помощь. Следовательно между сущностями Информация в помощь и Направление деятельности существует отношение «многие-ко-многим».

2.4. Создание концептуальной  модели

      Таким образом, построена концептуальная модель для данной предметной области.
      
     Рис 2.2. Концептуальная модель данных

Глава 3. Программная реализация Интернет-комплекса

3.1. Логическая структура  программы

      Давно известно, что любое серьёзное  приложение должно быть грамотно спроектировано и разделено на отдельные модули, которые должны быть относительно независимыми друг от друга. Подобное разделение значительно  облегчает не только реализацию приложения, но и возможную его модификацию. В этом заключается принцип модульности объектно-ориентированного программирования.
      Интернет-комплекс «Знание» представляет собой большое  web-приложение с поддержкой базы данных, и целесообразно было разделить его на слои.
      Были  выделены следующие слои приложения:
      База данных.
      Классы работающие с базой данных.
      Классы-сущности.
      Action-классы, работающие с сущностями.
      Пользовательский интерфейс.
      Приложение  реализовано с использованием технологии Struts, а значит его логическая структура сроится в соответствии с паттерном проектирования MVC. В данном случае к Модели (Model) относится вся бизнес-логика классов-сущностей и классов, работающих с базой данных. Пользовательский интерфейс является Представлением (View) в MVC. А все Action-классы, которые получают запросы пользователя и соответствующим образом их обрабатывают, представляют собой Контроллер (Controller).
      Рассмотрим  названные слои более подробно.

3.2. База данных

      Таблицы базы данных – самый низкий логический уровень приложения. В соответствии с концептуальной схемой предметной области создана база данных Knowledge со следующими основными таблицами:
      Actors (Деятели)
      Events (Мероприятия)
      Lectories (Лектории)
      Domains (Направления деятельности)
      Photo (Фотографии)
      Data (Информация в помощь)
      Так как между некоторыми таблицами  используется связь «многие-ко-многим», то возникла необходимость создать  дополнительные промежуточные таблицы:
      ActorsAndDomains
      ActorsAndEvents
      ActorsAndLectories
      ActorsAndPhoto
      DomainsAndData
      EventsAndDomains
      EventsAndPhoto
      В каждой из этих таблиц всего два  столбца, содержащие значения первичных  ключей тех таблиц, для которых  данная таблица является промежуточной.

3.3. Классы работающие  с базой данных

      Классы, которые относятся к этому  логическому слою, находятся в  пакете by.knowledge.database.
      Класс DBQueryHelper вспомогательный. Он генерирует SQL запросы к базе данных. Например, рассмотрим метод insertQuery, который конструирует SQL запрос, добавляющий новую запись в таблицу:
      public static String insertQuery(String table, String[] fields,
и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.