Пояснительная записка. Трач РВ (1228539)
Текст из файла
Министерство транспорта Российской Федерации
Федеральное агентство железнодорожного транспорта
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Дальневосточный государственный университет путей сообщения»
Кафедра «Вычислительная техника и компьютерная графика»
К ЗАЩИТЕ ДОПУСТИТЬ
Заведующий кафедрой
______Ю.В. Пономарчук
«_____»___________2015
Разработка и внедрение системы отображения конфигураций программно-технических комплексов на основе единой системы поддержки пользователей в ХИВЦ ОАО «РЖД»
Выпускная квалификационная работа
ВКР 09.03.01.ИВТ.16.00.943 – ПЗ
Студент 943 гр. Р.В. Трач
Руководитель
ст. преподаватель Е.Р. Спивак
Нормоконтролер
к.т.н, доцент Е.В. Буняева
Хабаровск 2015
СОДЕРЖАНИЕ
Введение 3
1 Обзор технологий для реализации 5
1.1 Hypertext Preprocessor (PHP) 5
1.2 Java 6
1.3 ASP.NET Web Forms 7
1.4 ASP.NET MVC 8
1.4.1 Функциональность ASP.NET MVC 9
1.4.2 Технология Entity Framework 11
1.4.3 Интерфейс LINQ to Entities 12
1.4.4 СУБД Microsoft SQL Server 2012 13
1.4.5 Взаимодействие технологий 14
2 Проектирование информационной системы 16
2.1 Взаимодействие пользователя с приложением 16
2.2 Проектирование интерфейса 17
2.3 Разработка бизнес-логики приложения 19
2.4 Безопасность 20
2.5 Схема размещения информационной системы 21
3 Реализация информационной системы 23
3.1 Предварительные настройки проекта 23
3.1.1 Импорт базы данных 23
3.1.2 Подключение Entity Framework 26
3.1.3 Вёрстка основных блоков представлений 29
3.2 Реализация функционала приложения 30
3.2.1 Создание контроллеров приложения 30
3.2.2 Страничная навигация 32
3.2.3 Взаимодействие пользователя с базой данных 34
3.2.4 Поиск по критерию 36
3.2.5 Взаимодействие со связанными данными 37
3.2.6 Визуализация статистики 38
3.3 Установка приложения на Web-сервер 41
4 Технико-экономическое обоснование 43
4.1 Теоретические сведения 43
4.2 Выбор метода расчета и расчет 45
Заключение 51
Список использованных источников 52
Приложение А Листинг каскадной таблицы стилей «Site.css» 55
Приложение Б Листинг контроллера «HomeController.cs» 65
Приложение В Листинг класса «Statistics.cs» 67
Введение
В настоящее время информатизации всех отраслей жизнедеятельности человека, проблема обработки информации наиболее сильно ощущается в крупных корпорациях. По мере расширения вычислительного оборудования и ЛВС, всё сложнее отслеживать и устранять неполадки, просматривать изменения в конфигурациях информационных систем.
В ОАО «РЖД» существует программный комплекс «АСУ единая служба поддержки пользователей» (далее ЕСПП), предназначенная для приёма сообщений от пользователей корпоративной сети, в которой сотрудники описывают неполадки информационных систем при их возникновении. В ЕСПП так же осуществляется хранение всех видов оборудования от маршрутизаторов до рабочих ферм, состоящих из множества виртуальных машин.
ЕСПП активно используется для оптимизации деятельности ИТ за счет учета, контроля и анализа выполняемых работ, последующего принятия управленческих решений на основе проведенного анализа.
Данный проект является самым масштабным как по количеству внедрённых процессов и количеству вовлечённого в процессы персонала (около 11 000 ИТ-сотрудников). Это крупнейшая в мире инсталляция HP Service Manager, позволяющая обеспечить работу около 2 500 одновременных подключений пользователей и обработку около 50 000 новых объектов ежедневно[ CITATION Цен12 \l 1049 ].
Однако такая распространённость и многофункциональность программного продукта АСУ ЕСПП повлекла за собой ряд недостатков:
-
сложное извлечение необходимой информации по определённому событию;
-
система не отражает взаимодействий между системами;
-
невозможность просмотреть цепочки событий относительно выбранного элемента конфигурации (ЭК);
-
отсутствие быстрого поиска контактного лица, ответственного за тот или иной элемент конфигурации, что особенно важно для сменного работника в рамках устранения инцидентов;
В связи с этими недостатками, ОАО «РЖД» сформировало заказ на информационную систему (ИС), которая будет иметь следующий функционал:
-
наглядное отображение взаимосвязей между ЭК;
-
просмотр списка изменений для определённого ЭК;
-
быстрый поиск основных событий в системе, включая вывод полноценной информации по нему в табличном формате, а так же фильтрации по региону при входе в систему;
-
визуализация статистики по основным событиям системы АСУ ЕСПП;
Проектируемая система должна обладать следующими характеристиками:
-
привязка аутентификации с доменом ЛВС;
-
использование корпоративного стиля;
-
взаимодействие с существующей СУБД MS SQL Server 2012;
-
Обзор технологий для реализации
Для решения поставленной задачи существует множество технологий. GUI приложение рассматриваться не будет ввиду ряда недостатков: сложность централизованного обновления, необходимость устанавливать клиентское программное обеспечения пользователям, что не подходит ввиду специфики организации. Приложение с Web-интерфейсом решает многие проблемы разработки и доступности программного продукта для любого пользователя доменной сети[ CITATION Обл \l 1049 ].
В этой главе осуществлена оценка наиболее распространённых технологий по созданию Web-приложений и на основе поставленной задачи и перспективы расширяемости приложения будет обоснован выбор в пользу одной из них.
-
Hypertext Preprocessor (PHP)
Синтаксис PHP подобен синтаксису языка C#. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
Для работы программы не требуется описывать какие-либо переменные, используемые модули, и т. п. Любая программа может начинаться непосредственно с оператора PHP.
PHP исполняет код, находящийся внутри ограничителей, таких как <?php ?>. Всё, что находится вне ограничителей, выводится без изменений. В основном, это используется для вставки PHP-кода в HTML-документ[ CITATION Зан10 \l 1049 ].
Преимущества PHP:
-
быстрая сборка готового решения. Например, наложение нового дизайна на существующий сайт, который управляется CMS;
-
бесплатность;
-
простота языка;
Недостатки PHP:
-
неполная реализация объектной модели данных.
-
скриптовый язык, выполняется путем преобразования скрипта в машинный код.
-
отсутствие встроенного контроля данных.
-
низкая производительность относительно Java, ASP.NET
-
массивное выделение памяти при работе приложения. 125-145 мегабайт на одно приложение на PHP приложении для обработки одного подключения.
Очевидно, что для больших приложений с перспективой расширяемости PHP не подходит вне зависимости от шаблона проектирования, т.к. достаточно сложно сопровождать проекты, реализация которых не структурирована.
Описание языка программирование – это не оценка всей технологии, однако все вышеперечисленные пункты свидетельствует о том, что PHP в сочетании с любым шаблоном проектирования не подходит ввиду вышеупомянутых причин.
-
Java
Веб-приложение Java создает интерактивные веб-страницы, содержащие различные типы языков разметки (HTML, XML и т.д.), а также динамическое содержимое. Это содержимое обычно формируется веб-компонентами, например страницами JavaServer (JSP), сервлетами и компонентами JavaBean, которые позволяют изменять данные и осуществлять их временное хранение, взаимодействовать с базами данных и веб-службами, а также отображать содержимое в ответ на запросы клиентов[ CITATION Net1 \l 1033 ].
Так как многие задачи разработки веб-приложения могут повторяться или требовать наличия избыточного шаблонного кода, то для уменьшения количества общих действий следует применять веб-платформы. Многие платформы (например, JavaServer Faces) предоставляют библиотеки для создания шаблонов страниц и управления сеансами, а также часто обеспечивают повторное использование кода.
Подход с данной технологией приемлем в дальнесрочных финансируемых проектах с командой разработчиков, в случаях, когда необходимо внимание к ядру бизнес-модели приложений. Java предлагает не достаточное количество готовых решений (в частности аутентификация Windows). В большей части из-за этого, технология не будет рассматриваться для реализации проекта.
-
ASP.NET Web Forms
ASP.NET Web Forms отлично подходит для быстрого создания прототипов бизнес-приложений. Часто это востребовано, когда необходимо согласовать с потенциальным клиентом предварительную концепцию.
Достоинства:
-
предоставляет отличные возможности для RAD (Rapid Application Development, быстрая разработка приложений);
-
отличная поддержка «дизайнера» в Visual Studio;
-
простота разработки бизнес-приложений, работающих с большими объемами данных и завязанных на данных (data-heavy);
-
огромное количество третьих компаний, предоставляющих готовые библиотеки элементов управления, а также осуществляющие поддержку проектов на WebForms;
-
простая концепция событий (серверные события для UI), что позволяет быстро начать работать с таким подходом.
Недостатки:
-
логика UI тесно связана с кодом и таким образом, сложно отделима;
-
сложно производить unit-тестирование, таким образом, сложно использовать подход TDD;
-
большой (а зачастую просто огромный) размер html-страниц благодаря ViewState[ CITATION ASP1 \l 1049 ].
-
ASP.NET MVC
ASP.NET MVC[ CITATION Mic \l 1049 ] является набором библиотек для разработки от Microsoft, который сочетает в себе эффективность и аккуратность архитектуры MVC (Model-View-Controller), самые современные идеи и методы гибкой разработки и лучшие свойства существующей платформы ASP.NET. Это альтернатива традиционным ASP.NET Web Forms, которая обеспечивает существенное преимущество для всех, кроме самых простых и тривиальных, проектов веб-разработки. Схематично шаблон проектирования MVC представлен на рисунке 1.
-
Схема функционирования MVC
MVC – это шаблон проектирования (хотя часто под ним подразумевают «фреймворки», использующие этот шаблон). Основным принципом MVC является разделение ответственности между тремя составляющими (см. рисунок).
Model – содержит данные и бизнес-логику. В «чистом» MVC модель ничего не знает о представлениях и контроллерах. Объекты моделей являются частями приложения, реализующими логику домена данных приложения. Зачастую объекты моделей получают и сохраняют состояние модели в базе данных, например, объект Продукт может получать информацию из базы данных, манипулировать её состоянием и затем сохранять обновлённый объект обратно в таблицу Продукт в базу данных. В небольших приложениях модель часто является концептуальным слоем, нежели физическим. Например, если приложение только загружает множество данных и отправляет его на представление, приложение не будет иметь физически реализованного слоя модели и ассоциированных классов. В данном случае, множество данных берёт на себя роль объекта модели.
View – отвечает за представление модели (в основном, в пользовательском интерфейсе), для одной модели может быть несколько представлений. Обычно пользовательский интерфейс создаётся согласно данным из модели. Например, может существовать представление для редактирования записей в таблице Продукты, отображающее выпадающие списки, checkboxes и другие поля, основываясь на текущем состоянии объекта Продукт.
Controller – отвечает за поведение в ответ на действия пользователя (управляет реакцией модели и представления). Контроллеры управляют взаимодействием с пользователем, работают с моделью и выбирают, какое из представлений обрабатывать и выдавать пользователю во время взаимодействия с ним.
-
Функциональность ASP.NET MVC
Функциональность ASP.NET MVC подробно описана во множестве источников и является объектом постоянного пристального анализа.
Разделение функциональности приложения и TDD. Все основные действия основаны на интерфейсах и могут тестироваться с использованием объектов, которые эмулируют реальные объекты и их поведение. Можно тестировать приложение без запуска контроллеров, что быстро и гибко. Можно использовать любой «фреймворк» для тестирования, совместимый с .NET Framework[ CITATION Сан10 \l 1049 ].
Компоненты спроектированы с учётом их возможного редактирования или замены. Есть возможность подключить собственный движок представлений, политики маршрутизации, сериализации параметров методов и др. Framework ASP.NET MVC также поддерживает Dependency Injection (DI) и Inversion Of Control (IOC). DI позволяет вставлять объекты в класс без участия самого класса. IOC определяет, что, если необходим какой-то объект, первый объект должен получить второй объект из внешних исходников (например, конфигурационного файла). Это облегчает тестирование.
Маршрутизация ASP.NET, являющаяся отличным компонентом для «маппинга» URL, позволяющая создавать приложения с удобными для поиска адресами. Для URL нет необходимости включать расширения для файловых имен – все страницы генерируются «налету», основываясь на шаблоне маршрутизации.
Поддержка разметки файлов страниц (.aspx), пользовательских контролов (.ascx) и master page (.master) как шаблонов для представлений. Существенным плюсом является возможность использовать существующую функциональность ASP.NET MVC, как вложенные master pages, инлайн выражения (@{}),шаблоны, связывание данных, локализацию и др.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.











