Тип работы:
Предмет:
Язык работы:


Клиент-серверное приложение «Планировщик»

Работа №162345

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы200
Год сдачи2018
Стоимость4780 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
28
Не подходит работа?

Узнай цену на написание


РЕФЕРАТ 4
Содержание 5
Введение 8
1 Обзор предметной области 10
1.1 Постановка задачи 10
1.2 Инструменты для реализации клиента 11
1.2.1 Анализ требований 11
1.2.2 Язык программирования для реализации клиента 12
1.2.3 Win Forms API для создания графического интерфейса 13
1.2.4 Реализация пользовательского интерфейса 14
1.3 Инструменты для реализации сервера 15
1.3.1 Анализ требований 15
1.3.2 Windows служба как способ реализации сервера 17
1.3.3 Языка программирования для реализации сервера 20
1.4 Механизма для взаимодействия клиента и сервера 21
2 Реализация клиент-серверного приложения 23
2.1 Описание работы клиент-серверного приложения 23
2.1.1 Описание работы клиента 23
2.1.2 Описание работы сервера 24
2.2 Разработка серверной части приложения 26
2.3 Разработка клиентской части приложения 29
3 Описание приложения 34
3.1 Руководство пользователя 34
3.2 Спецификация сервера 42
3.2.1 Модуль Task 42
3.2.2 Модуль Action 44
3.2.3 Модуль Trigger 45
3.2.4 Модуль Registry 45
3.2.5 Модуль Service 46
3.2.5 Модуль RequestHandler 47
3.2.6 Модуль Message 48
3.2.7 Модуль Security 49
3.2.8 Модуль Time 49
3.2.9 Модуль GenericContainers 50
3.3 Спецификация клиента 53
3.3.1 Классы модели 53
3.3.2 Класс контроллера 57
3.3.3 Классы представления 58
3.3.4 Классы форм 60
3.3.5 Интерфейс с севером 60
Заключение 62
Список используемых источников 64
Приложение А Листинги программы клиента 65
Приложение А.1 Файл «MainForm.cs» 65
Приложение А.2 Файл «TaskController.cs» 69
Приложение А.3 Файл «TriggerView.cs» 74
Приложение А.4 Файл «TimeTrigger.cs» 79
Приложение А.5 Файл «Task.cs» 83
Приложение А.6 Файл «Action.cs» 100
Приложение А.7 Файл «Trigger.cs» 102
Приложение А.8 Файл «ServerWorker.cs» 114
Приложение А.9 Файл «Program.cs» 122
Приложение B Листинги программы сервера 123
Приложение B.1 Файл «Service.c» 123
Приложение B.2 Файл «Task.c» 127
Приложение B.3 Файл «Time.c» 149
Приложение B.4 Файл «Action.c» 153
Приложение B.5 Файл «RequestHandler.c» 155
Приложение С Результаты работы программы 175
Приложение С.1 - Вид начально экрана 176
Приложение С.2 - Вид экрана создания задачи 176
Приложение С.3 - Вид экрана с настройками действия 177
Приложение С.4 - Вид экрана настроек триггера 178
Приложение С.5 - Вид экрана подключения к серверу 178
Приложение С.6 - Вид экрана редактирования задачи 179
Приложение С.7 - Вид окна с информационным сообщением 179
Приложение D UML-диаграммы приложения 180
Приложение D.1 - UML-диаграмма классов клиента 180
Приложение D.2 - UML-диаграмма вариантов использования сервера 181
Приложение D.3 - UML-диаграмма вариантов использования клиента 181
Приложение D.4 - UML-диаграмма деятельности сервера 182
Приложение D.5 - UML-диаграмма деятельности клиента 183
Приложение D.6 - UML-диаграмма последовательности 184
Приложение D.7 - UML-диаграмма развертывания 185
Приложение E Презентация 186

Современные сайты, для поддержания бесперебойной работы, могут располагаться на нескольких серверах. Это позволяет предотвратить отказ в обслуживании при пиковых нагрузках. В то же время высоконагруженные сервисы могут задействовать сотни или тысячи вычислительных машин, располагающиеся в огромных дата-центрах.
Широкое распространение приобрело использование облачных технологий для высоконагруженных и распределённых систем, которые образуют совокупность компьютеров, предоставляющих доступ к своим вычислительным ресурсам подобно одиночной системе.
ЭВМ требуют, как аппаратной, так и программной поддержки. Непрерывную бесперебойную работу обеспечивают системные
администраторы. В их обязанности входит слежение и обеспечение безотказной работы системного программного обеспечения, проведение резервного копирования данных, а также их восстановление при необходимости. Ручной подход решения этих задач требует либо огромного количества времени, либо содержание большого штата администраторов. Что увеличивает расходы на поддержание работоспособности системы.
Решением данной проблемы является использования программных продуктов для автоматизации выполнения различных действий, с учетом происходящих в системе событий. Такие программы называются планировщиками задач. Их применение позволяет добиться следующих преимуществ.
Снижение затрат. Поскольку бюджеты ИТ постоянно находятся под давлением, ключевым фактором является сокращение операционных расходов. Планировщики задач сокращают эксплуатационные расходы за счет сокращения количества персонала, необходимого для выполнения определенных задач. В то же время, планирование работы позволяет предприятиям более эффективно использовать инфраструктуру. Например, большинство современных серверов имеют низкие эксплуатационные расходы, и общая стоимость владения снижается. Тем не менее, стоимость операций персонала может составлять до 71% от общего объема расходов [6]. С планировщиком задач сохраняется больше от этих активов, что значительно улучшает рентабельность инвестиций.
Производительность. Программное обеспечение планирования задач увеличивает пропускную способность за счет автоматизации расписания производства. Время и деньги сохраняются путем устранения времени задержки между заданиями и минимизации вмешательства оператора.
Надежность. Автоматическое планирование гарантирует, что задания не будут забыты. Оно следит за успешным завершением задач, что входные данные верны и выполняется вся указанная обработка.
Целью данной работы является разработка клиент-серверного приложения для планирования выполнения задач на удаленных и локальных вычислительных машинах. Клиентская часть отвечает за создание и редактирование задач, а также для отображения уже существующих. Сервер должен обеспечивать возможность работы одновременно с несколькими клиентами. Запросы от клиентов обрабатываются последовательно и независимо друг от друга. При наступлении заданных событий должны быть запущены действия, указанные в задаче.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Результатом данной работы является клиент-серверное приложение “Планировщик задач”. Приложение позволяет создавать задачи со сложными, гибкими условиями их выполнения, используя различные типы триггеров. Задачи могут выполнять несколько действий, исполняемых как в фоновом, так и в интерактивном режимах. Пользователь может получать задачи с удаленных серверов или сервера, установленного на локальной машине. С помощью разработанного приложения можно создавать автономно работающие системы и удаленно управлять их работой. Оно полностью соответствует всем заявленным требованиям.
В процессе тестирования приложения были выявлены различные проблемы. Клиент мог создавать множество задач с одинаковыми именами. Данная проблема была устранена путем использования хеш-таблицы на стороне сервера, ключами в которой выступали имена задач. Сервер портил данные. Ошибка была устранена с помощью захвата блокировки для доступа к разделяемым ресурсам.
В дальнейшем приложение может быть улучшено путем добавления новых типов триггеров и действий. Например, триггером может являться поступивший запрос на сервер, или определенные значения показателей аппаратуры компьютера. Реализация связей между задачами также увеличит гибкость приложения. С помощью них станет возможно создавать рекурсивные взаимосвязи. На стороне клиента можно добавить разделения задач по разделам, что позволит более структурированно управлять ими. Также возможно добавить функцию принудительного исполнения задачи, вне зависимости от состояния её триггеров.
В ходе выполнения работы, были получены навыки разработки клиент- серверного приложения. Усовершенствованы умение выполнять декомпозицию предметной области и выделять в ней основные сущности. Значительно были
развиты навыки применения основных принципов объектно-ориентированного программирования, такие как наследование и полиморфизм. Был получен опыт в создании протокола взаимодействия клиента и сервера, а также в использовании шаблона MVC.


1. MSDN - URL: https://msdn.microsoft.com/
2. Руссинович М. и Соломон Д. «Внутреннее устройство Microsoft Windows». 2013 г, стр. 800.
3. Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес «Приемы объектно-ориентированного проектирования. Паттерны проектирования». 2016 г., 366 стр.
4. Джеффри Рихтер «CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#». 2017 г., 896 стр.
5. Билл Вагнер «Наиболее эффективное программирование на C#. 50 способов улучшения кода». 2017 г., 224 стр.
6. https://www.helpsystems.com/resources/guides/enterprise-job-scheduling- how-your-organization-can-benefit-automation


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ