Новосибирск 2016г



страница3/7
Дата21.08.2017
Размер2,93 Mb.
1   2   3   4   5   6   7

2. Выбор средств проектирования и разработки

2.1 Технология создания Web-приложений ASP.Net


ASP.NET (Active Server Pages для .NET) — технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP. На данный момент последней версией этой технологии является ASP.NET 5.

ASP.NET внешне во многом сохраняет схожесть с более старой технологией ASP, что позволяет разработчикам относительно легко перейти на ASP.NET. В то же время внутреннее устройство ASP.NET существенно отличается от ASP, поскольку она основана на платформе .NET и, следовательно, использует все новые возможности, предоставляемые этой платформой.

Хотя ASP.NET берёт своё название от старой технологии Microsoft ASP, она значительно от неё отличается. Microsoft полностью перестроила ASP.NET, основываясь на Common Language Runtime (CLR), которая является основой всех приложений Microsoft .NET. Разработчики могут писать код для ASP.NET, используя практически любые языки программирования, входящие в комплект .NET Framework (C#, Visual Basic.NET и JScript .NET). ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями, так как при первом обращении код компилируется и помещается в специальный кэш, и впоследствии только исполняется, не требуя затрат времени на парсинг, оптимизацию, и т. д.

Преимущества ASP.NET:



  • Компилируемый код выполняется быстрее, большинство ошибок отлавливается ещё на стадии разработки

  • Значительно улучшенная обработка ошибок во время выполнения запущенной готовой программы, с использованием блоков try..catch

  • Пользовательские элементы управления (controls) позволяют выделять часто используемые шаблоны, такие как меню сайта

  • Использование метафор, уже применяющихся в Windows-приложениях, например, таких как элементы управления и события

  • Расширяемый набор элементов управления и библиотек классов позволяет быстрее разрабатывать приложения

  • ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д.

  • Возможность кэширования всей страницы или её части для увеличения производительности

  • Возможность кэширования данных, используемых на странице

  • Возможность разделения визуальной части и бизнес-логики по разным файлам («code behind»)

  • Расширяемая модель обработки запросов

  • Расширенная событийная модель

  • Расширяемая модель серверных элементов управления

  • Наличие master-страниц для задания шаблонов оформления страниц

  • Поддержка CRUD-операций при работе с таблицами через GridView

  • Встроенная поддержка AJAX

  • ASP.NET имеет преимущество в скорости по сравнению с другими технологиями, основанными на скриптах.


2.2 СУБД MS SQL Server


В настоящее время для построения информационных систем применяются различные системы управления базами данных (СУБД), различающиеся как своими возможностями, так и требованиями к вычислительным ресурсам. Все многообразие применяемых СУБД, однако, можно свести к двум основным их классам: персональные и многопользовательские.

К первому классу относятся СУБД, ориентированные для работы на персональном компьютере (dBASE, FoxPro, MS Access и т.п.). Изначально они поддерживали работу с данными только одного пользователя. Вся СУБД такого класса выполняется как единая программа, таблицы базы данных представляются отдельными файлами на диске того же персонального компьютера.

СУБД второго класса изначально создавались для выполнения на больших компьютерах и обеспечения параллельной работы многих пользователей. Такие СУБД, как правило, состоят из ядра, постоянно присутствующего в памяти, (сервера) и большого количества программ-агентов, обслуживающих запросы конечных пользователей и прикладных программ (клиентов). В этом случае и ядро СУБД, и данные находятся на одном и том же компьютере. Одна копия СУБД управляет одной копией данных. Единая управляющая система позволяет эффективно организовать одновременный доступ к данным многих агентов, предотвращая конфликты между ними. Ошибка в работе СУБД локализована и может быть эффективно исправлена самой же СУБД. При работе в условиях сети ядро СУБД выполняет запросы агентов на выборку данных и передает по сети только результаты выборки. Многопользовательские СУБД обладают также неоспоримыми преимуществами в таких аспектах, как надежность, безопасность, доступность. Многопользовательские СУБД с самого начала своей истории использовали в качестве интерфейса запросов язык SQL, отсюда произошло одно из их альтернативных названий - SQL-серверы.

В таблице 2.1 представлены сравнительные данные для СУБД по исследованиям Transaction Processing Performance Council (www.tpc.org)


Таблица 2.1 – Сравнительные характеристики СУБД

СУБД

ОС

Цена 1лицензии

Кластеризация

Oracle 10iR2 w/Real Application Cluste

HP Tru64 Unix V5.1A/IPK

358 US $

Y

Microsoft SQL Server 2014 Enterprise Edition

Microsoft Windows Server 2012 Enterprise Server

65 US $

N

IBM DB2 UDB 9.1

Microsoft Windows Server 2003 Enterprise Edition

131 US $

N

Sybase IQ 12.5

Sun Solaris 9

60 US $

N

Microsoft SQL Server 2014 Express  Edition

Microsoft Windows 2012 Server




N

В таблице 2.2 представлены сравнительные характеристики СУБД MS SQL Server и Oracle.


Таблица 2.2 – Сравнительная характеристика СУБД MS SQL Server Oracle

Сравнительные характеристики

Microsoft SQL Server

Oracle

Административное управление

Хорошо

Отлично

Графические инструменты

Отлично

Хорошо

Простота обслуживания

Отлично

Отлично

Механизм данных

Хорошо

Отлично

Работа с несколькими ЦП

Приемлемо

Отлично

Функция соединения и выбор индексов

Отлично

Отлично

Одновременный доступ нескольких пользователей

Хорошо

Отлично

Обработка мультимедиа-даных

Плохо

Отлично

Подключение к Web

Приемлемо

Отлично

Обработка аудио, видео, изображений

Плохо

Отлично

Поиск по всему тексту

Хорошо

Отлично

Функциональная совместимость

Хорошо

Хорошо

Сопряжение с другими БД

Хорошо

Хорошо

Единая регистрация

Хорошо

Хорошо

Работа под управлением различных ОС

Приемлемо

Хорошо

Возможности программирования

Приемлемо

Отлично

Хранимые процедуры и триггеры

Хорошо

Отлично

Внутренний язык программирования

Приемлемо

Отлично

Построение баз данных




Хорошо

Отлично







Язык SQL

Отлично

Отлично

Объектно-ориентированные системы

Приемлемо

Отлично

Работа с филиалами

Отлично

Отлично

Тиражирование

Отлично

Отлично

Распределенная обработка транзакций

Отлично

Отлично

Дистанционное администрирование

Хорошо

Отлично

Организация хранилищ данных и подготовка отчетов

Отлично

Отлично

Средства загрузки

Отлично

Отлично

Средства анализа

Отлично

Отлично

На основании проведенного анализа, в качестве средства управлениями базой данных выбрана MS SQL Server 2014 Express Edition



2.3 Веб-сервер MS IIS


Internet Information Services (IIS, ранее Internet Information Server) представляет собой расширяемый веб-сервер, созданный Microsoft для использования с ОС семейства Windows NT. IIS поддерживает HTTP, HTTPS, FTP, FTPS, SMTP и NNTP. Он является неотъемлемой частью ОС семейства Windows NT, начиная с Windows NT 4.0 , хотя может отсутствовать в некоторых изданиях (например , Windows XP Home Edition), а не активен по умолчанию.

Первый веб-сервер Microsoft был исследовательским проектом European Microsoft Windows NT Academic Centre (EMWAC), который является частью Эдинбургского университета в Шотландии, и распространялся в качестве бесплатного веб-сервера. Так как сервер EMWAC не смог справиться с объем трафика, проходящего через сайт Microsoft.com, то компания Microsoft была вынуждена разработать свой собственный веб - сервер, IIS.

Почти каждая версия IIS была выпущена вместе с новой версией ОС Microsoft Windows:

IIS 1.0 был первоначально выпущен в качестве бесплатного дополнения для Windows NT 3.51.

IIS 2.0 был включен в Windows NT 4.0.

IIS 3.0, который был включен с пакетом обновления 2 в Windows NT 4.0, ввел активные серверные страницы динамической среды сценариев.

IIS 4.0 был выпущен в рамках "Option Pack" для Windows NT 4.0.

IIS 5.0 поставлялся с Windows 2000 и в нем были введены дополнительные методы аутентификации, поддержка WebDAV протокола, а также усовершенствования ASP. В IIS 5.0 также была прекращена поддержка протокола Gopher.

IIS 5.1 был выпушен вместе с Windows XP Professional, и был почти идентична IIS 5.0 на Windows 2000.

IIS 6.0, входящий в состав Windows Server 2003 и Windows XP Professional x64 Edition, была добавлена поддержка IPv6 и включена новая модель рабочего процесса , что позволило обеспечить более высокий уровень защиты, а также надежности.

IIS 7.0 имел полностью переработанный дизайн, и поставлялся с Windows Vista и Windows Server 2008. IIS 7.0 имел новую модульную конструкцию, которая позволяла уменьшить вероятность атак и увеличить производительность.

IIS 7.5 был включен в Windows 7 и Windows Server 2008 R2 . IIS 7.5 имел улучшенные WebDAV FTP модули, а также администрирование командной строки в PowerShell. В нем также представили TLS 1.1 и TLS 1.2 и поддержку инструментов и способов выделения Анализатор соответствия рекомендациям для пулов приложений.

IIS 8.0 доступна только в Windows Server 2012 и Windows 8. IIS 8.0 включает SNI (связывание SSL имен хостов, а не IP - адресов), централизованную поддержку сертификата SSL, а также масштабирование многоядерных NUMA аппаратных средств, в числе других новых функций.

IIS 8.5 включена в Windows Server 2012 R2 и Windows 8.1 . Эта версия включает в себя динамическую активацию сайта, оптимизатор Logging, ETW ведение журнала.

IIS 10 входит в Windows Server 2016 и Windows 10. Эта версия включает поддержку HTTP2.

Все версии IIS до 7.0, работающие на клиентских операционных системах поддерживают только 10 одновременных соединений к одному сайту.

IIS 6.0 и выше поддерживают следующие аутентификации механизмы:


  • Анонимная проверка подлинности

  • Базовая аутентификация доступа

  • Дайджест установления подлинности доступа

  • Встроенная проверка подлинности Windows

  • Проверка подлинности UNC

  • .NET Passport Authentication (Удалено в Windows Server 2008 и IIS 7.0)

  • Проверка подлинности сертификатов

IIS 7.0 имеет модульную архитектуру. Модули, также называемые расширения, могут быть добавлены или удалены по отдельности, так что только модули, необходимые для выполнения определенных функций должны быть установлены. IIS 7 включает в себя собственные модули как часть полной установки. Эти модули определяют индивидуальные особенности, которые сервер использует для обработки запросов и включают в себя следующие:

  • Модули безопасности.

  • Модули содержания.

  • Компрессионные модули.

  • Модули кэширования.

  • Модули протоколирования и диагностики.

IIS 7.5 включает в себя следующие дополнительные или расширенные функции безопасности:

  • Сопоставление сертификатов клиентов

  • безопасность IP

  • фильтрация запросов

  • URL авторизации

Аутентификация немного изменена между IIS 6.0 и IIS 7, в первую очередь в том, что анонимный пользователь, который был назван "IUSR_ {имя_компьютера}" является встроенной учетной запись в Vista и назван "IUSR". Примечательно, что в IIS 7, каждый механизм аутентификации изолирован в свой собственный модуль и может быть установлен или удален.

IIS 8.0 предлагает новые функции, ориентированные на производительность и облегчает администрирование:

Инициализация: функция, которая позволяет администратору настроить определенные приложения для автоматического запуска при запуске сервера. Это уменьшает время ожидания опытных пользователей, которые имеют доступ к сайту в первый раз после перезагрузки сервера.

Страница ожидания: Администратор может настроить страницу ожидания, которая будет отображаться посетителям сайта во время инициализации приложения.

Поддержка ASP.NET 4.5: В IIS 8.0, ASP.NET 4.5 включен по умолчанию и IIS также предлагает несколько вариантов конфигурации для запуска его совместно с ASP.NET 3.5.

Централизованная поддержка сертификата SSL: функция, которая делает управление сертификатами проще, позволяя администратору хранить и получать доступ к сертификатам.

Multicore масштабирование NUMA: IIS 8.0 предоставляет несколько вариантов конфигурации, которые оптимизируют производительность на системах NUMA, такие как запуск нескольких рабочих процессов в рамках одного пула приложений и т.д.

Поддержка протокола WebSocket.

Sever Name indication (SNI): SNI является расширением протокола Transport Layer Security, который позволяет связывать несколько веб-сайтов с различными именами хостов по одному IP – адресу.

Ограничения динамического IP-адреса: функция, которая позволяет администратору динамически блокировать IP-адреса или диапазоны IP, которые отправляют на сервер большое количество запросов.

IIS 8.5 имеет ряд усовершенствований, связанных с производительностью в крупномасштабных сценариев, например тех, которые используются коммерческими хостинг-провайдерами и собственными предложениями облачных сервисов Microsoft. Он также имеет несколько дополнительных возможностей:

Idle рабочих-страниц отказа: функция уменьшает время простоя сайта, с целью чтобы уменьшить объем памяти.

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

Улучшенный Logging: функция обеспечения сбора переменных сервера, заголовков запросов и заголовков ответа в журналах IIS.

ETW протоколирование: поставщик ETW, который позволяет собирать в режиме реального времени с использованием различных журналов событий инструментов трассировки.

Автоматический сертификат Rebind: функция, которая определяет, когда сертификат сайта был обновлен, и автоматически выполняет повторную привязку сайта к нему.


IIS Express 2.4 Язык программирования C#


C # является элегантным и безопасным типом объектно-ориентированного языка, который позволяет разработчикам создавать различные безопасные и надежные приложения, которые работают на платформе .NET Framework. Можно использовать C # для создания клиентских приложений Windows, веб-служб XML, распределенных компонентов, клиент-серверных приложений, приложений баз данных, и многого многого другого. Visual C # предоставляет удобный редактор кода, дизайнерский пользовательский интерфейс, интегрированный отладчик, и многие другие инструменты, чтобы сделать разработку приложений, основанных на языке C # и .NET Framework более простой и удобной.

Язык C #. Синтаксис C # весьма выразителен, но это также простой и легкой изучаемый язык программирования. Фигурные скобки из C # будут мгновенно узнаваемыми для тех, кто знаком с C, C ++ или Java. Разработчики, которые знают, любой из этих языков, как правило, в состоянии начать продуктивно работать в C # в течение очень короткого времени. C # синтаксис упрощает многие сложности C ++ и предоставляет мощные функции, такие как обнуляемые типы значений, перечислений, делегатов, лямбда-выражений и прямого доступа к памяти, которые не встречаются в Java. C # поддерживает общие методы и виды, которые обеспечивают повышенную безопасность и производительность типов, и итераторов, которые позволяют исполнителям классов определять пользовательские поведения итераций, которые просты в использовании. Language-Integrated Query (LINQ) выражения делают строго типизированный запрос более легким и понятным для понимания.

Как объектно-ориентированный язык C # поддерживает понятия инкапсуляции, наследования и полиморфизма. Все переменные и методы, в том числе главный метод, точки входа приложения, инкапсулируются в определениях классов. Класс может наследовать непосредственно от одного родительского класса, но может реализовать любое количество интерфейсов. Методы, которые переписывают виртуальные методы в родительском классе требуют переопределения ключевого слова как способа избежать случайного переопределения. В C #, на структуру выделяется тип, который может реализовывать интерфейсы, но не поддерживать наследование.

В дополнение к этим основным принципам объектно-ориентированного C # позволяет легко разрабатывать программные компоненты через несколько инновационных языковых конструкций, в том числе следующие:

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

Свойства, которые служат в качестве средства доступа для частных переменных-членов.

Атрибуты, которые обеспечивают декларативную метаданных о типах во время выполнения.

Language-Integrated Query (LINQ), предоставляет встроенные возможности запросов в различные источники данных.

Если у вас есть, чтобы взаимодействовать с другим программным обеспечением Windows, такими как объекты COM или Win32 DLL, вы можете сделать это при помощи процесса C #, называемого "Interop". Interop позволяет программам C # сделать почти все, что в native C ++ приложениях выполняется. C # поддерживает даже указатели и понятие «небезопасного" кода для тех случаев, в которых прямой доступ к памяти является абсолютно критическим.

C # процесс сборки проще, по сравнению с С и С ++ и более гибкий, чем в Java. Там нет отдельных заголовочных файлов, и нет требований, чтобы методы и типы были объявлены в определенном порядке. C # исходный файл может определить любое количество классов, структур, интерфейсов и событий.

Программы на C # работают на платформе .NET Framework, которая является неотъемлемым компонентом Windows, который включает в себя систему виртуальной выполнения называемой общеязыковой средой выполнения (CLR) и унифицированный набор библиотек классов. Среда CLR является коммерческой реализацией корпорацией Майкрософт инфраструктуры общего языка (CLI), международного стандарта, что является основой для создания выполнения и развития среды, в которой языки и библиотеки работают слаженно.

Исходный код написан на C # компилируется в промежуточный язык (IL), что соответствует спецификации CLI. Код и ресурсы IL, такие как растровые изображения и строки, которые хранятся на диске в исполняемом файле называются узел, как правило, имеют расширение .exe или .dll. Сборка содержит манифест, который предоставляет информацию о типах сборки, версии, локализации, и требованиям безопасности.

Когда С # программа выполняется, сборка загружается в CLR, которые могут принимать различные действия в зависимости от информации, содержащейся в декларации. Тогда, если требования безопасности соблюдены, CLR выполняет (JIT) компиляцию для преобразования кода IL в родные машинные инструкции. Среда CLR также предоставляет другие услуги, связанные с автоматической сборкой мусора, обработкой исключений и управления ресурсами. Код, который выполняется в CLR иногда называют "управляемый код" в отличие от "неуправляемого кода", который компилируется в машинный язык, который нацелен на конкретную систему.

Языковая совместимость является ключевой особенностью .NET Framework. Поскольку код IL, который производится компилятором С # соответствует спецификации Common Type (CTS), IL-код, котоырй генерируется из C # может взаимодействовать с кодом, который был создан из .NET на языках программирования Visual Basic, Visual C ++, или любой из более чем 20 других CTS-совместимые языки. Один узел может содержать несколько модулей, написанных на разных языках .NET, и типы могут ссылаться друг на друга, как будто они были написаны на том же языке.

В дополнение к CLR, .NET Framework также включает в себя обширную библиотеку из более чем 4000 классов, организованных в пространства имен, которые предоставляют широкий спектр полезных функций для всего, от файлового ввода и вывода для работы со строками в XML разбора, чтобы элементы управления Windows Forms, Типичное C # приложение использует библиотеку классов .NET Framework.

3 Реализация портала

3.1 Описание функциональных требований к web-приложению


Действующие лица (business actors):

Менеджер по продажам - оператор ввода данных, отвечающий за поддержание в актуальном состоянии БД программного продукта.

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

Покупатель – имеет возможность оформлять покупки.



На основе анализа требований к информационной системе строится диаграмма вариантов использования системы [17-30] (рис.3.1) (таблица 3.1) и определяется перечень вариантов использования системы (таблица 3.2).

Рисунок 3.1 – Диаграмма вариантов использования системы

Таблица 3.1 – Перечень исполнителей



Идентификатор

Актер

AC-1

Менеджер по продажам

AC-2

Покупатель

AC-3

Руководитель

Таблица 3.2 – Перечень исполнителей и вариантов использования



Действующее лицо

Идентификатор

Описание

AC-1

UC-1

Формировать данные по клиентам

AC-1

UC-2

Формировать отчеты по продажам

AC-1

UC-3

Формирование данные по товарам

AC-2

UC-4

Просмотр товаров

AC-2

UC-5

Добавление товаров в корзину

AC-2

UC-6

Оформить заказ

AC-3

UC-2

Формировать отчеты по продажам

АС-3

UC-7

Просмотр отчетов по продажам

Диаграмма прецедентов дополняется диаграммой последовательностей [31-37]. Для диаграммы последовательности ключевым моментом является динамика взаимодействия объектов во времени. При этом диаграмма последовательности имеет как бы два измерения. Одно представлено слева направо в виде линии жизни (lifeline) (период времени существования) отдельного объекта, участвующего во взаимодействии, а второе - вертикальной временной осью, направленной сверху вниз. Взаимодействие объектов реализуется посредством сообщений, посылаемые одними объектами другим. Сообщения появляются в том порядке, в котором они показаны - сверху вниз. Диаграмма последовательностей [17, 18-22] для варианта использования UC5 представлена на рис.3.2.



Рисунок 3.2 – Диаграмма последовательности


Определение объектов. Объекты - это люди или предметы, описанные в сценариях использования системы. На основе объектов создаются сервисы, атрибуты и отношения [24]. Объекты проектируемой информационной системы представлены в таблице 3.3.
Таблица 3.3 – Объекты проектируемой системы.

Объект

Вариант использования

Описание

Менеджер

UC-1, UC-2, UC-3,

Менеджер формирует данные по клиентам и продажам

Покупатель

UC-4, UC-5, UC-6

Работа клиента с товаром

Руководитель

UC-2, UC-3

Отчеты по продажам

Параллельно с моделированием вариантов использования выполняется выявление так называемых классов-сущностей, их атрибутов и взаимосвязей между ними, что представляется в виде диаграммы классов (Class diagram), использующейся для моделирования статического видения системы с точки зрения проектирования, т.е. для построения логической модели разрабатываемой системы [25]. Она не содержит информации о временных аспектах функционирования системы. Каждый класс рассматривается в разрезе нескольких функциональных требований.

Класс (class) в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами из других классов [35-39].

Класс-сущность - класс, определяющий типы объектов системы и различного рода связи, существующие между ними. Классы-сущности представляют собой элементы, используемые системой постоянно. Они хранят в определенный момент времени часть БД. Данные в них могут извлекаться, меняться, снова записываться. Анализ требований сводится к выявлению классов-сущностей [35-39].

На основе анализа предметной области, были выявлены следующие классы - сущности: Клиент, Товар, Заказы. Описание концептуальных классов и их атрибутов представлены в табл.3.4

Таблица 3.4 – Объекты предметной области и концептуальные классы



Объект

Класс-сущность

Атрибуты

Клиент

Клиент

Название

Телефон


Тип клиента

Товар

Товар

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

Описание


Группа товара

Заказы

Заказы

Дата продажи

Название клиента

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

Количество

Цена

Модель предметной области представлена в виде диаграммы классов на рис. 3.3.



Рисунок 3.3 – Диаграмма классов


Для реализации программной системы была выбрана трехуровневая архитектура [40]. При такой архитектуре все данные хранятся на сервере БД, клиентские запросы обрабатываются на веб-сервере (IIS). На клиентских машинах достаточно наличие любого браузера и соединения с интернетом для доступа к веб-серверу (рис.3.4).

Рисунок 3.4 – Диаграмма компонентов





Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7


База данных защищена авторским правом ©grazit.ru 2017
обратиться к администрации

    Главная страница