Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Обзор средств разработки серверных web-приложений

Содержание:

Введение

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

Некоторые технологии разработки Web-приложений прилагаются к Web-серверу, при этом они могут быть независимы от языка программирования, как, например, технология CGI (Common Gateway Interface). Часть из них сильно зависит от доступных средств разработки, как, например, компоненты ActiveX, разрабатываемые в основном с помощью Microsoft Visual Studio.

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

Какое же средство подойдет именно нам? На этот вопрос нет однозначного ответа. Информационным системам, работающим на базе продукции Microsoft, несомненно, подойдет превосходный набор средств разработки сервера IIS, зато более независимые в своих пристрастиях программисты предпочтут бесплатный Apache Server с PHP, обладающий широчайшей поддержкой. Разработчикам, работающим на Java, трудно будет найти среду лучше Netscape (iPlanet) с ее поддержкой самых современных Java-средств.

Цель работы заключается в разработке серверного web-приложения.

Для достижения поставленной цели нужно выполнить следующие задачи:

  • рассмотреть средства разработки серверного web-приложения;
  • выбрать средство разработки;
  • реализовать веб-приложение.

1. Обзор средств разработки серверных web-приложений

Apache Server и PHP

В качестве средств разработки приложений мы бы предпочли выбрать Apache Server и PHP. Документация к ним имеется в изобилии, а поддержка со стороны пользователей просто феноменальная. Надежность продукта, особенно на Unix-сервере, не имеет себе равных. Средство контроля исходного кода Source Code Control может работать совместно со свободно доступными средствами CVS. Если ваш информационный центр никак не связан с IIS и Java, то вам стоит серьезно подумать о возможности использования Apache, PHP и mySQL на Linux-сервере.

Web-сервер Apache обеспечивает несколько опций разработки программного кода приложений любой степени сложности. Старомодный интерфейс CGI (Common Gateway Interface) в соединении с Perl, Си и прочими языками программирования позволяет без проблем справиться с простыми задачами для узлов с низким уровнем трафика. Все эти программы генерируются в отдельных процессах, что обычно сильно увеличивает вычислительную нагрузку на машину, где запущены Web-приложения.

Сервер Apache, как и Netscape и IIS, имеет API, позволяющий справиться с трудностями работы с CGI. При помощи Apache API программисты могут написать фрагмент программы в требуемом формате на языке Си. Этот фрагмент, называемый модулем, затем подключается к серверу Apache или же загружается динамически в момент исполнения. Используя вызовы Си-функций, программист получает прямой доступ к функциям ядра Apache. Такая же возможность доступна и для Netscape (через NSAPI) и для IIS (через ISAPI), но разработчики во всем мире чаще всего пользуются ею при работе с Apache. Если вы хотите использовать этот механизм и ваши приложения имеют дело с большими объемами данных, то, прежде чем приступать к работе, просмотрите файл mod_example.c, находящийся в каталоге текстов исходных модулей. Специальный модуль под названием mod_perl позволит вам писать собственные модули на языке Perl вместо Си.

Кроме того, язык PHP и сам по себе достаточно прост. Написать с его помощью Web-приложение, использующее базу данных, не представляет особого труда. У такого приложения на HTML-странице имеется форма ввода данных, которая инициирует исполнение PHP-сценария; тот, в свою очередь, открывает соединение с базой данных одним оператором, задающим имена сервера и пользователя, а при необходимости и пароль. Потом такая программа может выполнить SQL-запрос и в результате получить все адреса, отвечающие заданным в форме условиям. Кроме того, при помощи PHP-цикла запускается итерационный процесс обработки извлеченного из БД набора данных. Выбранная информация с использованием встроенных функций echo() и print() печатается на итоговой HTML-странице. Необходимый для этого текст PHP-сценария состоит всего из шести строк. Конечный пользователь увидит только HTML-страницу со списком имен и адресов, так как весь программный PHP-код заранее обрабатывается на сервере.

Более сложным Web-приложениям, особенно полномасштабным Web-клиентам, которые идут на замену существующим традиционным, или «толстым» клиентам, требуется уже применение сеансов. Технология ASP уже давно определила концепцию сеанса, и в PHP4 она теперь тоже реализована. При использовании сеансов не нужно постоянно записывать и считывать специальные маркеры (cookies) для выяснения того, где побывал данный пользователь, - необходимая информация сохраняется в соответствующей переменной сеанса. Эти переменные вместе с уникальными идентификаторами сеанса позволяют писать сложные приложения, которые, выполняя запросы пользователей, одновременно отслеживают их действия.

1.2. IIS и Visual Studio фирмы Microsoft

Платформа Microsoft обладает наилучшим набором средств разработки, но и наименьшей надежностью. И тем не менее, если вы работаете в организации, использующей продукцию Microsoft, а ваши клиенты и серверы работают под управлением Windows, то, вероятно, вы выберете IIS и Visual Studio. Данный тандем позволит вам разрабатывать самые сложные Web-приложения.

Крупные клиент-серверные приложения IIS, как правило, имеют трехуровневую архитектуру. Уровень представления разрабатывается с помощью HTML, Java-аплетов и JavaScript. Средний уровень строится средствами Active Server Pages (ASP) и ActiveX (Dynamic Link Libraries). А серверная СУБД, например MS SQL Server, содержит обычно таблицы, хранимые процедуры и представления. IIS силен своим средним архитектурным уровнем. Компоненты ActiveX разрабатываются с помощью поставляемого отдельно пакета Visual Studio 6.0, в который входят Visual Basic, Visual C++ и Visual J++. Средства этого крупномасштабного пакета сред разработки позволят вам разрабатывать компоненты ActiveX, которые вызываются из ASP-кода и устанавливают связь с серверной базой данных. ASP – это уже не просто язык, а скорее базовая связующая среда, позволяющая подключать любые совместимые машины сценариев серверной стороны. Так, для написания ASP-кода мы с успехом использовали машину сценариев фирмы PerlScript, но ниже мы сосредоточим свое внимание на VBScript, который встроен в IIS. Клиентский браузер никогда не видит ASP-код, так как он обрабатывается на Web-сервере (в данном случае это IIS), а результирующая Web-страница передается браузеру. ASP легко использовать для простых примеров, однако применение его в более сложных проектах уже становится трудоемким.

Управление базой данных и установление с ней соединений, выполнение запросов к базе данных, обработка полученных в результате наборов данных – все это невероятно просто сделать средствами Visual Basic. Например, для компонентов установления соединения с базой данных требуется всего две-три строчки кода ADO (ActiveX Database Objects). Компоненты ActiveX могут получать большие массивы результатов и сохранять их в динамических структурах данных. К этим массивам данных может быть применена сложная бизнес-логика, что облегчает разработку интеллектуальных приложений. ASP, выступая в роли моста между браузером и компонентами ActiveX, увязывает бизнес-логику с пользовательским интерфейсом. IIS и ASP также позволяют управлять сеансом посредством задаваемых пользователем переменных, время жизни которых ограничивается продолжительностью сеанса. А сеанс заканчивается, как только вы закрываете свой браузер или же программным путем явно обнуляете все переменные сеанса. Управление сеансом оказалось настолько удачной идеей, что в последней бета-версии PHP и в Enterprise Server фирмы Netscape оно уже фигурирует в качестве встроенного средства.

Однако надежность технологии ASP напрямую связана с Windows, поскольку она не предназначена для работы в какой-либо другой среде Web-разработки. В отличие от более зрелых ОС сервер под управлением NT может оказаться неожиданно парализованным из-за небольших изъянов в логике приложения.

Netscape Enterprise Server фирмы Netscape и язык Java

Если вы тесно связаны с Java, то лучше всего вам подойдет Netscape Enterprise Server (NES), который поддерживает самые современные Java-технологии, включая серверные приложения Java, Java Server Pages (JSP) и Server Side JavaScript. Документация фирмы Netscape, когда дело касается ее собственных технологий, очень обширна. Язык же Java все еще находится в процессе развития, и поэтому относящаяся к нему документация не соответствует тому уровню, на котором должно осуществляться программирование критически важных задач на серверной стороне, но в этом недостатке нельзя упрекать серверы Netscape. Когда технология Java для сервера станет более зрелой, NES окажется на голову выше остальных в плане поддержки различных возможностей Java для разработки приложений серверной стороны.

В продукте NES предлагается самый широкий набор опций для разработчиков Web-приложений, включая CGI для форм различной сложности, Netscape API (NSAPI) для представления более сложной пользовательской информации, серверные приложения Java, JSP и Server Side JavaScript. Вооружившись средствами Java, JavaScript и HTML с целью разработки внешнего интерфейса, программисты посредством NES смогут строить приложения любой сложности.

Для организации взаимодействия с базами данных мы использовали JSP, серверные приложения Java и JDBC API. Для разработки Java-кода программистам необходимы средства, не входящие в NES. Такие средства поставляются по большей части компанией Sun Microsystems, к ним относится, например, Java Development Kit (JDK). Фирмы Sun и Netscape работают в тесном контакте над внедрением Java-решений в серверы Netscape.

Для создания простейшей программы типа “Hello World” на ASP или PHP нам достаточно было написать одну-две строки, а вот переписать ее в виде серверного приложения Java оказалось задачей куда более утомительной. После того как программный код написан, вы должны его откомпилировать и разместить в специальном, заранее сконфигурированном каталоге для серверных приложений. Имеющиеся средства написания серверных приложений Java очень разные – от SDK фирмы Sun, базирующегося на командной строке, до более проработанных с точки зрения интегрированной среды разработчика, таких, как Visual Cafeў фирмы Symantec и Visual Age for Java компании IBM.

Технология JSP, как и ASP, представляет собой смесь HTML со специальным синтаксисом сценариев, обрабатываемых на серверной стороне и выглядящих как чистый HTML для клиентов. В этом языке сценариев нет ничего особенно привлекательного, хотя компоненты JavaBeans могут выделить его среди прочих. В среде NES вы сможете разрабатывать сложные приложения при помощи JSP, благодаря которой компоненты Enterprise JavaBeans будут защищаться на серверной стороне. Это позволит вам облегчить процесс разработки и снизить вычислительную нагрузку на клиентскую часть. NES поддерживает JavaScript для серверной стороны, однако код должен быть заранее откомпилирован на сервере, причем для его работы требуются специальные установки и конфигурирование. Инструментарий JSP, работа которого во многом похожа на ASP и PHP, скорее всего, вообще избавит разработчиков от необходимости в использовании JavaScript.

2. Разработка серверного web-приложения

2.1 Выбор и обоснование средств реализации

Разрабатывать информационную систему было решено с использованием .NET технологий. Инструментом и средством разработки была выбрана Microsoft Visual Studio 2012. Для создания базы данных был выбран другой продукт Microsoft – Microsoft SQL Server 2012.

Microsoft Visual Studio – это продукт компании Microsoft, в состав которой входит интегрированная среда разработки программного обеспечения и ряд других инструментальных средств. Данный продукт позволяет разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, так же с помощью Microsoft Visual Studio можно разрабатывать веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Microsoft Silverlight.

ASP.NET – это часть технологии .NET, используемая для написания мощных клиент-серверных интернет приложений. Она позволяет создавать динамические страницы HTML. ASP.NET возникла в результате объединения более старой технологии ASP (активные серверные страницы) и .NET Framework. Она содержит множество готовых элементов управления, используя которые можно быстро создавать интерактивные web-сайты.

ASP.NET – инфраструктура разработки web-приложений. ASP.NET автоматизирует большую часть процесса разработки сложных web-приложений, включая взаимодействие с web-сервером, начальную обработку запросов и генерацию результирующего HTML. Процесс разработки web-приложений становится похожим на разработку обычных Windows -приложений, где разработчик визуально располагает элементы управления на форме, задает их свойства и пишет обработчики событий.

ASP.NET – это веб-платформа, предоставляющая все необходимые службы для создания серверных веб-приложений корпоративного класса. ASP.NET создана на основе платформы .NET Framework, поэтому все функции .NET Framework доступны для приложений ASP.NET. Приложения могут быть написаны на любом языке, совместимом со средой CLR, включая Visual Basic и C#.

ASP.NET является частью .NET Framework. Таким образом, такие приложения могут использовать классы .NET Framework, возможности защищенного программирования и другие преимущества управляемого кода. По мере развития ASP.NET процесс разработки становится все более визуальным (работа с компонентами и мастерами). Код приложения может быть написан на любом языке, совместимом с общеязыковой исполняющей средой (common language runtime), — например, Microsoft Visual Basic, C#, JScript .NET или J#.

Основные преимущества ASP.NET:

  • Современный компилируемый язык программирования (C#, VB.NET) с поддержкой объектно-ориентированного программирования. C# является самым распространенным в мире языком программирования как для разработки Windows-приложений, так и в Интернете. Соответственно по нему существует большое количество специалистов;
  • Удобная среда разработки программ, наличие отладчика, ускоряющего процесс разработки;
  • Средства многократного использования кода - пользовательские элементы управления и веб-контролы;
  • Наличие большого количества компонентов для решения стандартных задач - работы с данными, авторизации, навигации и т.п.;
  • Средства кэширования, позволяющие увеличить производительность приложений;
  • Удобные средства разработки дизайна - мастер-страницы, скины;
  • Встроенные средства хранения данных сессии и приложения на сервере;
  • Поддержка многоязычности;
  • Эффективная технология доступа к данным ADO .NET;
  • Большое количество стандартных объектов, предоставляемое платформой .net Framework;
  • Строгая типизация, уменьшающая вероятность создать код с ошибками и повышающая быстродействие программ;
  • Модель программирования, основанная на событиях, аналогичная используемой при разработке программ для Windows;
  • Отделение кода от визуальной части;
  • Встроенная поддержка AJAX;
  • Поддержка веб-сервисов;
  • Эффективная работа со всеми основными серверами баз данных, чаще всего используется MSSQL – высокопроизводительный сервер, являющийся самым распространенным в мире.

Это наиболее очевидные, но далеко не все преимущества платформы ASP.NET. Самое главное – это современно, и прежде всего именно поэтому нужно выбрать технологию ASP.NET, чтобы не жить вчерашним днем.

Microsoft SQL Server – система управления реляционными базами данных (СУРБД), разработанная корпорацией Microsoft. Основной используемый язык запросов – Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка. Microsoft SQL Server - одна из наиболее мощных систем работы с базами данных в архитектуре "клиент-сервер". SQL Server является надежной базой данных для любых целей, может продолжать расширяться по мере наполнения информацией, без заметного уменьшения быстродействия операций с записями в многопользовательском режиме. Пользователи могут быть добавлены путем модернизации оборудования. Обеспечивается максимальная безопасность. Данные защищены от несанкционированного доступа за счет интеграции сетевой безопасности с сервером безопасности. Поскольку безопасность на уровне пользователя, пользователи могут иметь ограниченный доступ к записи данных, тем самым защищая их от модификации или поиска, указав доступ на уровне пользовательских привилегией. Кроме того, с данными, хранящимися на отдельном сервере, сервер работает как шлюз, который ограничивает несанкционированный доступ. SQL Server обрабатывает запросы от пользователей и только отправляет пользователю результаты запроса. Таким образом, минимальная информация передается по сети. Это улучшает время отклика и устраняет узкие места в сети. Это также позволяет использовать SQL Server в качестве идеальной базы данных для веб-приложений. Техническое обслуживание SQL Server очень простое и не требует больших знаний. Возможны изменения в структуре данных а так же резервное копирование во время работы сервера, без остановки. Два основных языка разработки приложений используется для извлечения информации из данных SQL Server. Это C++ и Visual Basic. Эти языки являются частью Visual Studio.Net, интегрированной среды разработки Microsoft. Покупка приложений, разработанных с помощью этих продуктов гарантирует, что программное обеспечение будет модернизироваться и расширятся и развиваться в будущем. SQL Server является приложением базы данных при работе на .Net, новейшие разработки Microsoft. Выбрав Microsoft SQL Server в качестве базы данных информации для компании, приложение может расширяться и адаптироваться по мере изменения бизнес-климата.

Существуют различные инструментальные средства для разработки web-сайтов. Их можно разделить на три основных группы:

  • Текстовые html-редакторы. В таких редакторах нужно писать и править код в ручную. Но для этого необходимо хорошее знание языка программирования и внимательно следить за написанием кода, так как написание больших объемов кода вручную повышает вероятность возникновение ошибок. Преимуществом текстовых редакторов является их простота и доступность, кроме того чаще всего такие редакторы бесплатны, не создают «лишнего» кода, что позволяет уменьшить размер web-страницы. К недостатку относится невозможность «на лету» просматривать вид создаваемой таблицы. Примерами html-редактора могут служить такие программные средства как – Notepad++, AceHTML Pro, HotDog Professional и многие другие.
  • Визуальные редакторы. Такие редакторы позволяют работать с самой web-страницей такой какая она есть, в режиме WYSIWYG (What You See Is What You Get - То, что ты видишь, то и получаешь). Написание текста, а так же их редактирование и форматирование, добавление рисунков, вставка таблиц, гиперссылок и других элементов происходит как в обычном текстовом редакторе, а сама программа формирует (генерирует) соответствующий HTML-код. Кроме средств визуального редактирования данные web-редакторы позволяют получить доступ к сгенерированному HTML-коду. Визуальные редакторы — хорошо подходят для начинающих web-дизайнеров, плохо знакомых с HTML. Но и опытные дизайнеры часто пользуются визуальными редакторами, чтобы быстро "сверстать" web-страничку, а потом довести ее до ума вручную. Преимуществом визуальных редакторов является возможность относительно легкой и достаточно удобной вставки различных объектов в страницу без знания языка. Недостатками же является их стоимость, к тому же многие визуальные редакторы создают «лишний» код, который «утяжеляет» страницу. Примеры таких редакторов - Microsoft FrontPage, Adobe Dreamweaver и другие.
  • Интегрированные среды разработки (IDE). Они приставляют собой полнофункциональный набор инструментов для разработки программ. Интегрированная среда разработки чаще всего состоит из редактора исходного кода, компилятора и/или интерпретатора, дебагера и средств автоматизации сборки.

Так же сюда могут входить средства для профилирования, разработка графического интерфейса, система контроля версий. Существуют так же поддержка разработки на нескольких языках программирования. Если сравнивать визуальные редакторы с IDE, то отличие заключается в том, что в визуальных редакторах внесённые изменения применяются сразу без необходимой компиляции написанного кода, но при этом визуальные редакторы не умеют интерпретировать коды на языках web-программирования, то есть работают только с языками разметки. Примеры таких редакторов – Microsoft Visual Studio, NetBeans IDE.

Рассмотрим перечисленные редакторы более подробно.

Notepad++ — свободный текстовый редактор с открытым исходным кодом для Windows с подсветкой синтаксиса большого количества языков программирования и разметки. Он базируется на компоненте Scintilla, написан на C++ с использованием STL, а также Win32 API и распространяется под лицензией GPL. Базовая функциональность программы может быть расширена как за счёт плагинов, так и сторонних модулей, таких как компиляторы и препроцессоры.

Microsoft FrontPage — WYSIWYG-редактор HTML, входящий в состав пакета приложений Microsoft Office. Данное приложение при разработке страниц веб-узла пользуется html-движком Trident, который лежит в основе браузера Internet Explorer. В браузерах, использующих другие движки, например Gecko, страницы, созданные с помощью FrontPage, могут отображаться по-другому. Программа обладает широким спектром возможностей, в частности, может автоматически отправлять изменения, внесённые разработчиком сайта в исходные тексты, в режиме реального времени.

NetBeans IDE – свободная интегрированная среда разработки приложений (IDE) на языках программирования Java, Python, PHP, JavaScript, C, C++, Ада[1] и ряда других. Проект NetBeans IDE поддерживается и спонсируется компанией Oracle, однако разработка NetBeans ведется независимым сообществом разработчиков-энтузиастов (NetBeans Community) и компанией NetBeans Org. По качеству и возможностям последние версии NetBeans IDE не уступают лучшим коммерческим (платным) интегрированным средам разработки для языка Java, таким, как IntelliJ IDEA, поддерживая рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету, множество предопределённых шаблонов кода и др. Для разработки программ в среде NetBeans и для успешной инсталляции и работы самой среды NetBeans должен быть предварительно установлен Sun JDK или J2EE SDK подходящей версии. Среда разработки NetBeans по умолчанию поддерживала разработку для платформ J2SE и J2EE. Начиная с версии 6.0 Netbeans поддерживает разработку для мобильных платформ J2ME, C++ (только g++) и PHP без установки дополнительных компонентов.

Microsoft Visual Studio – линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Microsoft Silverlight. Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

2.2. Проектирование базы данных

Для полноценной работы данной информационной системы автоматизации необходимо спроектировать и разработать базу данных. Структуру таблиц базы данных информационной системы «Аптека» представлена на рисунке (рис. 2.1):

C:\Users\Afterdark\Desktop\схема111.png

Рис. 2.1. Структура таблицы базы данных

Структура данных размещена на восьми таблицах. Назначения и атрибуты каждой из таблиц просмотреть ниже. Создание базы данных осуществлялось в СУБД Microsoft SQL Server.

Таблица 2.1.

Описание таблицы Medicament

Имя поля

Тип данных

Описание

id_medicament

int(11), primary key

Первичный ключ

id_manufacturer

int(11)

Внешний ключ на производителя

id_storage

int(11)

Внешний ключ на место хранение

id_designation

int(11)

Внешний ключ на назначение

id_releaseform

int(11)

Внешний ключ на форму выпуска

name

varchar(50)

Название товара

chemical_name

varchar(50)

Химическое название препарата

type

varchar(50)

Категория

composition

varchar(50)

Состав

best_before

date

Срок годности

pharm_group

varchar(50)

Фармакологическая группа

Таблица 2.2.

Описание таблицы Manufacturer

Имя поля

Тип данных

Описание

id_manufacturer

int(11), primary key

Первичный ключ

name_manufacturer

varchar(50)

Производитель

Таблица 2.3.

Описание таблицы Storage

Имя поля

Тип данных

Описание

id_storage

int(11), primary key

Первичный ключ

storage

varchar(50)

Место хранения

Таблица 2.4.

Описание таблицы Releaseform

Имя поля

Тип данных

Описание

id_releaseform

int(11), primary key

Первичный ключ

releaseform

varchar(50)

Форма выпуска

Таблица 2.5.

Описание таблицы Orders

Имя поля

Тип данных

Описание

id_orders

int(11), primary key

Первичный ключ

id_medicament

int(11)

Внешний ключ на препараты

id_user

int(11)

Внешний ключ на пользователя

number

int(11)

Количество

price

float

Цена

Таблица 2.6.

Описание таблицы Users

Имя поля

Тип данных

Описание

id_user

int(11), primary key

Первичный ключ

name_user

varchar(50)

Логин пользователя

password

varchar(50)

Пароль пользователя

email

varchar(250)

Почта пользователя

type

varchar(50)

Группа пользователя

Таблица 2.7.

Описание таблицы Designation

Имя поля

Тип данных

Описание

id_designation

int(11), primary key

Первичный ключ

id_desease

int(11)

Внешний ключ на заболевания

designation

varchar(50)

Назначение

dose

varchar(50)

Доза

side_effects

varchar(250)

Побочные эффекты

contraindications

varchar(250)

Противопоказания

interaction

varchar(250)

Взаимодействия

overdose

varchar(250)

Передозировка

Таблица 2.8.

Описание таблицы Desease

Имя поля

Тип данных

Описание

id_desease

int(11), primary key

Первичный ключ

desease

int(11)

Внешний ключ на показания

symptoms

varchar(250)

Симптомы

2.2. Разработка алгоритмов реализации системы

Система предназначена для автоматизации некоторых функций работы аптеки. Программный продукт сформирован с использованием ASP.NET технологии. В качестве СУБД используется Microsoft SQL Server 2012.

Требования к составу и параметрам технических средств:

Реализация данного задания должно осуществляться на персональном компьютере со средними характеристиками:

  • Рекомендуемый процессор с тактовой частотой 1.6ГГц;
  • Емкость оперативной памяти - 1 ГБ;
  • Объем свободного дискового пространства 10ГБ;
  • Разрешение экрана не менее 1024x768.

Приведем описание модулей системы и их назначение:

  • App_Code – Содержит исходный код для общих классов и бизнес-объектов, которые необходимо скомпилировать как часть приложения. В динамически компилируемом проекте веб-сайта ASP.NET компилирует код в папке App_Code при начальном запросе к приложению. Элементы этой папки повторно компилируются при обнаружении каких-либо изменений.
  • Entities – каталог файлов который включает файлы классов;
  • Bin – содержит скомпилированные сборки (DLL-файлы) для элементов управления, компонентов или другой код, на который в приложении требуется ссылка. Приложение автоматически ссылается на все классы, представленные кодом в папке Bin;
  • Images – директория хранящая картинки товара;
  • JavaScript – директория хранящая файл библиотеки JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML.
  • Pages – директория хранящая файлы страниц сайта;
  • Styles – директория хранения CSS стилей.

Основные файлы:

Директория App_Code

  • ConnectionClass.cs

// Подключение к базе данных

public static class ConnectionClass

{

private static SqlConnection conn;

private static SqlCommand command;

static ConnectionClass(){…}

public static ArrayList GetLekarByType(string lekarType){…}

public static Lekar GetLekarById(int id) {…}

public static void AddLekar(Lekar lekar) {…}

public static User LoginUser(string name, string password) {…}

public static string RegisterUser(User user) {…}

public static User GetUserDetails(string userName) {…}

public static void AddOrder(ArrayList orders) {…}

public static void UpdateOrders(string client, DateTime date) {…}

public static ArrayList GetGroupedOrders(DateTime currentDate, DateTime endDate, Boolean shipped) {…}

public static ArrayList GetDetailedOrders(string client, DateTime date) {…}

public static DataTable GetChartData(string query) {…}}

Директория apteka:

  • Masterpage.Master.cs

// Действует как класс и контейнер слияния для страниц, которые состоят только из элементов управления Content и их дочерних элементов управления.

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Masterpage.master.cs" Inherits="apteka.Masterpage" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>Главная страница</title>

<script type="text/javascript" src="../JavaScript/jquery-1.3.2.min.js"></script>

<script type="text/javascript">

function mainmenu() {

$(" #nav ul ").css({ display: "none" }); //Opera Fix

$(" #nav li ").hover(function () {

$(this).find('ul:first').css({ visibility: "visible", display: "none" }).show(400);

}

, function () {

$(this).find('ul:first').css({ visibility: "hidden" });

});

}

$(document).ready(function () {

mainmenu();

});

</script>

<link rel="stylesheet" type="text/css" href="~/Styles/StyleSheet.css" />

</head>

<body>

<form id="form1" runat="server">

<div id="wrapper"<>

<div id="banner">...</div>

<div id="navigation">...</div>

<div id="content_area">...</div>

<div id="sidebar">...</div>

<div id="footer">...</div>

</div>

</form>

</body>

</html>

2.3. Разработка интерфейса системы

Логическая схема связи страниц и модулей сайта представлена на рисунке (рис. 2.2.).

C:\Users\Afterdark\Desktop\схемалогсайта.png

Рис. 2.2. Логическая схема связи страниц и модулей сайта

В данном веб-сайте используются следующие роли: «незарегистрированный пользователь», «зарегистрированный пользователь» и «администратор». Доступ к роли администратора ограничен вводом логина и пароля. Все функции для работы с данной ролью размещены в администраторской панели. Роль зарегистрированного пользователя позволяет оформить заказ, и иметь доступ к личному кабинету. Незарегистрированный пользователь может просматривать всю информацию по товарам, новостям и к контактам. Весь необходимый функционал располагается по центру на верхней части панели сайта в виде меню. Все пункты изображены на рисунке (рис. 2.3.).

C:\Users\Afterdark\Desktop\менюсайта.png

Рис. 2.3. Основные пункты меню

Перечислим основные возможности панели данного сайта:

  • Пункт меню «Главная» позволяет перейти на основную станицу веб-сайта, где возможно просмотреть общую информацию и главные новости;
  • Пункт меню «Новости» содержит новости, информация о проводимых мероприятиях в аптеке;
  • Пункт меню «Товары» позволяет выбрать со всплывающего окна тип товара, после выбора которого появляется страница с товарами доступные для заказа. Около товаров имеется основная информация по товару, поле для выбора кол-ва заказываемого товара и кнопка «Заказать»;
  • Пункт меню «Акции» предоставляет возможность узнать клиенту информацию о скидках и акциях в ресторане;
  • Пункт меню «Информация» содержит помощь и информацию как сделать заказ;
  • Пункт меню «Личный кабинет», в нем зарегистрированный пользователь может посмотреть на заказанные товары и статистику.

Перечислим по пунктам как происходит примерный заказ товара:

  • Выбираем пункт меню «Товары», выбираем из всплывающего окна нужную нам категорию.
  • У каждого товара есть фотография и краткая информация о нем. На рисунке (рис. 2.4.) мы можем увидеть, как это выглядит.

C:\Users\Afterdark\Desktop\товар.png

Рис. 2.4. Внешний вид товара

  • Добавляем в корзину нужные товары указывая их кол-во.
  • Нажимаем на кнопку «Оформить заказ», после этого мы видим выбранные нами товары и общую сумму заказа (рис. 2.5.). После этого нажимаем кнопку «Заказать» и этот заказ вступит в обработку.

C:\Users\Afterdark\Desktop\заказ1.png

Рис. 2.5. Обработка заказа

  • После подтверждения заказа, пользователю отправят письмо на e-mail.

Администраторская панель сайта

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

  • Пункт меню «Лекарства» позволяет редактировать (рис. 2.6.), удалять лекарственные препараты, а так же добавлять новые;

C:\Users\Afterdark\Desktop\админ1.png

Рис. 2.6. Окно редактирования товаров

  • При нажатие кнопки «Добавить новый препарат» открывается новое окно (рис. 2.7.), в котором мы можем добавить новый товар в базу данных.

C:\Users\Afterdark\Desktop\админ2.png

Рис. 2.7. Окно добавления нового препарата

  • Выбрав пункт меню «Пользователи» администратор может изменить или удалить пользователя (рис. 2.8.).

C:\Users\Afterdark\Desktop\админ2.png

Рис. 2.8. Окно изменения данных пользователя

Пункт меню «Заказы» имеет вкладки «Открытые заказы», «Завершенные заказы» и «Графики». Во вкладке «Открытые заказы» мы можем просмотреть невыполненные заказы за указанный период (рис. 2.9.).

C:\Users\Afterdark\Desktop\админ3.png

Рис. 2.9. Вкладка открытых заказов

Так же можно просмотреть уже завершенные препараты (рис. 2.10.). Так же есть возможность увидеть детали заказа.

C:\Users\Afterdark\Desktop\админ4.png

Рис. 2.10. Вкладка завершенных заказов

  • И последняя вкладка это «Графики» (рис. 2.11.), на них можно увидеть рейтинг самых активных клиентов.

C:\Users\Afterdark\Desktop\админ5.png

Рис. 2.11. График клиентов с наибольшим количеством купленных товаров

Заключение

В рамках работы была разработана и создана автоматизированная информационная система «Аптека»

При выполнении работы были проведены следующие работы:

  • Проработаны общие требования к информационной системе;
  • Спроектирован дизайн программы;
  • Создана необходимая база данных.

С помощью разработанной информационной системы появятся такие возможности:

  • Заказ лекарственных препаратов и медицинских товаров через интернет;
  • Увеличение количества клиентов для аптеки;
  • Повышение рентабельности аптеки.

Таким образом, поставленные цели и задачи достигнуты. Спроектированный и разработанный программный продукт соответствует всем соответствующим нормам.

Список использованной литературы

  1. Христочевский, С.А. Информационные технологии / В.В. Вихрев, А.А. Федосеев, Е.Н. Филипов. - М.: АРКТИ, 2001. - 200 с.;
  2. Нортрап Т., Вильдермьюс Ш., Райан Б. Основы разработки приложений на платформе Microsoft .NET Framework. - Питер. Русская редакция. - 2007. - 864 с.;
  3. Джеффри Рихтер. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке С#. - Питер. Русская редакция. - 2007. - 656 с.;
  4. Мэтью А. Стэкер, Стивен Дж. Стэйн, Тони Мортроп. Разработка клиентских Windows-приложений на платформе Microsoft .Net Framework. - Питер. Русская редакция. - 2008. - 624 с.;
  5. Шапошников И. Web-сервисы Microsoft .NET. - БХВ-Петербург. - 2002. - 581 с.;
  6. Магдануров Г., Юнев В. ASP.NET MVC Framework. - БХВ-Петербург. 2010. - 637 с.;
  7. Зиборов В. Visual С# 2012 на примерах. - БХВ-Петербург. - 2013. - 475 с.;
  8. Мамаев. Е., Шкарина Л. «Microsoft SQL Server», Питер 2002. – 421 с.;
  9. Уильям Р. Станек. Microsoft SQL Server 2012. Справочник администратора. - БХВ-Петербург. - 2013. - 576 с.;
  10. Александр Б. Microsoft SQL Server 2012. - БХВ-Петербург. – 2013. - 608 с;
  11. Хоменко А.Д. «Основы современных компьютерных технологий». М. 2007.;
  12. Эйзенфельд Б. «Мировая статистика внедрения CRM систем», «Автоматизация и современные технологии», №6 2007;
  13. URL: http://htmlbook.ru/ - Справочник по HTML и CSS;

URL: http://msdn.microsoft.com/library - Библиотека MSDN.