Программирование в интернете

Автор работы: Пользователь скрыл имя, 07 Декабря 2010 в 06:32, Не определен

Описание работы

Курсовая работа

Файлы: 1 файл

курсовая.docx

— 641.45 Кб (Скачать файл)

      Выводы:

  1. В данном разделе были рассмотрены модели и диаграммы функционирования сайта.
  2. Рассмотрены алгоритмы необходимые для создания сайта.

    3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

    3.1. Выбор языка программирования

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

    При выборе программного средства для реализации проекта необходимо учитывать, что  каждый язык программирования имеет  свои положительные и отрицательные  стороны и может быть использован  эффективно только для реализации проектов определенного вида. Учитывая то, что  основное требование для системы  Интернет-голосования – работа в  среде web, будем проводить обзор  только тех средств, основным назначением  которых является разработка web-приложений.

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

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

    ASP (Active Server Pages) – популярная технология  Microsoft, предназначенная для разработки  эффективных Интернет-приложений  и оживления Web-страниц различными  динамическими данными, получаемых  из самых разнообразных источников. ASP – это все те же VBScript-коды, только они не загружаются  в браузер и не интерпретируются  им, а выполняются непосредственно  на сервере в контексте MS IIS (Microsoft Web Internet Information Server). Раньше необходимо  было провести дополнительную  инсталляцию специального 10-мегабайтного  файла, чтобы модифицировать существующий IIS, входящий в состав операционной  системы Windows NT 4.0, но, начиная с  Win 2k, поддержка ASP в IIS стала стандартной.  Текстовые файлы с расширением  .asp – это обычные HTML-файлы с  вставленными в них кодами  на VBScript. В отличие от обычных  кодов в них можно применять  многочисленные встроенные методы, которые резко облегчают процесс  программирования и используют  объектную модель и объектно-ориентированные  методы. ASP-поддержка в IIS выстроена  в точном соответствии с 3-уровневой  моделью клиент-серверных технологий.

    JSP (Java Server Pages) – мощное средство  для придания Web-страницам гибкого,  динамически обновляемого содержания  – очень нужный инструмент  для разработки систем электронной  коммерции. JSP-функции в современном  сервере приложений – это повторно  используемый код, основанный  на последней по времени появления  спецификации JSP Sun Microsystems.

    Одна  из главных особенностей JSP – это  разделение бизнес-логики и представления  данных на Web-страницах. JSP как раз  помогает реализовать некоторые  алгоритмы, связанные с данными, представляемыми клиентам, поскольку они помогают осуществить доступ к повторно используемым компонентам, таким как сервлеты, JavaBeans и написанные на Java Web-приложения. JSP так же поддерживает встроенный Java-код внутри Web-страниц.

    Perl - интерпретируемый язык, приспособленный  для обработки произвольных текстовых  файлов, извлечения из них необходимой  информации и выдачи сообщений. Perl также удобен для написания  различных системных программ. Этот  язык прост в использовании,  эффективен, но про него трудно  сказать, что он элегантен и  компактен. Perl сочетает в себе  лучшие черты C, shell, sed и awk, поэтому  для тех, кто знаком с ними, изучение Perl-а не представляет  особого труда. Синтаксис выражений  Perl-а близок к синтаксису C. В  отличие от большинства утилит  ОС UNIX Perl не ставит ограничений  на объем обрабатываемых данных  и если хватает ресурсов, то  весь файл обрабатывается как  одна строка. Рекурсия может быть  произвольной глубины. Хотя Perl приспособлен  для сканирования текстовых файлов, он может обрабатывать так  же двоичные данные и создавать  .dbm файлы, подобные ассоциативным  массивам. Perl позволяет использовать  регулярные выражения, создавать  объекты, вставлять в программу  на С или C++ куски кода на Perl-е, а также позволяет осуществлять  доступ к базам данных, в том  числе Oracle.РНР

    РНР (Personal Home Page Tools - средства для персональной домашней страницы) - это мощный кроссплатформенный набор средств, который располагается  на сервере и предназначен для  обработки специального кода, встраиваемого  в HTML-страницу. Благодаря этому, появляется возможность легко создавать  динамические сайты. Файлы, созданные  таким образом, хранятся и обрабатываются на сервере, и когда посетитель запрашивает  документ с РНР, скрипт обрабатывается не браузером посетителя, как например Java Script, а сервером, и посетителю передаются уже только результаты работы. Точно также работает CGI-программа, написанная на С или Perl. Но в отличии  от CGI, код РНР можно встраивать в любое место HTML-странички, что является основным преимуществом по отношению к CGI. А кроме того, сам язык РНР очень прост для изучения, и не требует каких-либо специфических знаний. РНР был создан для работы в сети и превосходен для использования в этой области, однако он не приспособлен для создания больших и сложных проектов. Процессор сценариев РНР хорошо оптимизирован для времени оклика, необходимого Web-приложениям; он может быть включен в состав самого сервера, в результате чего возрастет производительность. Еще одно достоинство РНР – это, что он является «open source».

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

    Выбор системы управления базами данных.

    Были  рассмотрены следующие СУБД, реализующие  реляционную модель базы данных:

    mSQL;

    MySQL;

    Microsoft SQL Server 2000;

    Oracle.

    Microsoft SQL Server 2000 - Функциональная, гибкая в  настройке, масштабируемая реляционная  СУБД, разработанная фирмой Microsoft. В  основном, эта СУБД ориентирована  на корпоративный сектор, как  и большинство продуктов Microsoft.

    Oracle - СУБД, изначально ориентирована  на обработку очень больших  объемов данных и большую нагрузку  на сервер. В подавляющем большинстве  случаев используется только  на крупных предприятиях в  крупномасштабных проектах автоматизации.  Учитывая особенности этой СУБД, далее ее не рассматриваем.

    MySQL – это еще одна реализация  реляционной СУБД. Основными целями, преследуемыми при разработке  которой, выступали скорость и  стабильность, что и является  основными достоинствами этой  СУБД. К достоинствам MySQL можно отнести  еще и то, что версия для  UNIX распространяется бесплатно,  что также немаловажно для  российских условий. Кроме того, на сегодняшний день использование  СУБД MySQL является стандартом де-факто  при разработке Веб-приложений. К  недостаткам MySQL можно отнести  отсутствие поддержки механизма  транзакций и хранимых процедур. Однако, несмотря на это, учитывая  специфику разрабатываемого проекта,  СУБД MySQL является оптимальным выбором.

    mSQL, наверняка, хорош для обучения в области проектирования приложений на основе СУБД. Но применить на деле практически нельзя. Много недостатков и нехватка документации делают данную СУБД непригодной для многих задач.

    В результате был выбран продукт MySQL  4.0.15 на платформе Windows 2000 Server.

    Выбор web-сервера.

    Для реализации проекта был выбран Apache, так как имеет следующие неоспоримые преимущества:

  • открытость (исходный код поставляется вместе с инсталляционным пакетом);
  • многообразие — существуют версии сервера почти для всех известных операционных систем и платформ;
  • простота в конфигурировании (почти все параметры работы сервера задают, изменяя тексты лишь двух файлов);
  • высокая скорость обработки запросов;
  • легкость конфигурирования и стабильная работа дополнительных модулей (PHP, Perl);
  • удобство администрирования;
  • безопасность (найденные по всему миру уязвимости тут же закрываться выпущенными патчами (patch)).

    Кроме всего выше перечисленного веб сервер Apache признан многими компаниями использующими его как наибольшее надежный и отказоустойчивый веб сервер. MySQL является самой распространенной СУБД для веб приложений и в большинстве случаев используется именно в связке с веб сервером Apache.

    Для разработки Web-сайта будет использоваться сервер баз данных MySQL, и язык сценариев PHP.

    3.2 Разработка интерфейса

    Разработанный сайт состоит из множества страниц, которые может просматривать  пользователь, а именно:

  • главная;
  • информация о сайте;
  • каталог файлов;
  • регистрация;
  • каталог статей;
  • блог;
  • форум;
  • фотоальбомы;
  • гостевая книга;
  • редактирование статей.

    Связь между модулями осуществляется посредством  гиперссылок и переменных.  Использование каскадных таблиц стилей CSS (файл style.css) позволяет использовать один дизайн для всех web-страницсайта.

    На  главной странице представлена следующая  информация:

  • Навигационное меню
  • Форма авторизации
  • Список последних статей

    Главная страница представлена на рисунке 1.1. Все остальные страницы представлены в Приложении 1. 
 
 

      меню меню меню меню Аутентификация
     
    меню  
    меню Основная  часть
    меню  

    Рис.3.1. Структура страниц 

    

    Рис.3.2. Страница «Главная» 

    3.3 Программная реализация алгоритмов

    Любая страница, запрашиваемая пользователем, выводится как часть страницы Index.php.

    <?php

     session_start();

    include("config.php");

    ?>

    <? include("top.php");?>

    <table class="main">

    <tr><td class="left"><table class="left1" >

                <tr class="avt">

                <td><? include("aut.php");?>

    </td>

Информация о работе Программирование в интернете