Разработка приложения удаленной установки программ

Определение требований к разрабатываемому продукту. Разработка структуры приложения. Выбор инструментов разработки. Разработка структуры базы данных и серверной части приложения. Разработка web интерфейса приложения. Тестирование разработанного продукта.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.08.2018
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

· продемонстрировать заказчикам и программистам, что программное обеспечение соответствует всем выдвинутым к нему требованиям;

· подготовить платформу для выявления ситуаций, в которых поведение программного обеспечения является неправильным, нежелательным или не соответствующим документации.

Для клиент-серверного приложения требуется провести тестирование не только клиента и сервера по отдельности, но и их взаимодействия В рамках данной работы тестирование будет производиться двумя методами:

· модульное тестирование - это процесс в программировании, при котором можно проверить на корректность отдельные модули исходного кода программы, такие как классы и методы [3];

· ручное тестирование - часть процесса тестирования на этапе контроля качества в процессе разработки программного обеспечения. Оно производится тестировщиком без использования программных средств, для проверки программы или сайта путём моделирования действий пользователя. В роли тестировщиков могут выступать и обычные пользователи, сообщая разработчикам о найденных ошибках [3];

· интеграционное тестирование - одна из фаз тестирования программного обеспечения, при которой отдельные программные модули объединяются и тестируются в группе. Обычно интеграционное тестирование проводится после модульного тестирования. В данном случае этот вид тестирования будет проводиться для клиент-серверного взаимодействия [3].

8.1 Тестирование серверной части приложения

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

На этапе оценки качества работы системы для сервера были произведены следующие этапы тестирования:

· написание модульных тестов для основного функционала, такого как: сервисы для манипулирования объектами, менеджер задач, задачи, исполняющиеся по расписанию, и контроллеры web интерфейса;

· проведение ручных тестов, покрывающих основной пользовательский функционал.

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

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

1. Авторизация на сервере;

1.1. попытка авторизации по неверным данным;

1.2. авторизация по валидному логину и паролю администратора;

1.3. авторизация по валидному логину и паролю обычного пользователя.

2. Манипулирование объектами системы;

2.1. создание и удаление групп компьютеров;

2.2. создание и удаление компьютеров;

2.3. создание и удаление программ;

2.4. установка программ на компьютер (без участия компьютера);

2.5. установка программ на группу компьютеров (без участия компьютеров);

2.6. создание и удаление пользователей (от имени администратора);

2.7. создание и удаление задач по расписанию.

Авторизация - это первое, что совершает пользователь, когда начинает эксплуатировать систему. Последняя должна обеспечить собственную безопасность, формируя защиту от неавторизованных действий, которые могут привести к необратимым последствиям. Также на пользователей с различными правами доступа система должна реагировать по-разному. Самый первый шаг в описанном сценарии относится к попытке авторизации по неверным данным. Результат представлен на рис. 8.1.

Рис. 8.1 - Иллюстрация попытки введения неверных данных

После ввода неверных данных пользователя система сообщила об ошибке и не позволила неавторизованному пользователю получить доступ к системе. Следующим шагом ручного тестирования является попытка авторизации по логину и паролю администратора. Результат представлен на рис. 8.2.

Рис. 8.2 - Иллюстрация авторизации в системе по логину и паролю администратора

По корректным данным пользователя авторизация прошла успешно. Отличительной особенностью пользователя с правами администратора является возможность управления другими пользователями. Для использования этого функционала присутствует специальная вкладка “User” Для остальных пользователей данный функционал недоступен. Результат представлен на рис. 8.3.

Рис. 8.3 - Иллюстрация авторизации в системе по логину и паролю обычного пользователя

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

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

Рис. 8.4 - Результат процесса создания группы

В результате после ввода данных для создания группы (имени и описания) был создана новая группа. Группа является агрегирующей единицей для компьютеров, поэтому следующим шагом будет создание компьютера в составе появившейся группы. Результат представлен на рис. 8.5.

Рис. 8.5 - Результат процесса создания компьютера

При переходе в конкретную группу можно увидеть информацию о компьютерах, входящих в её состав и установленных программах, а также на данной странице происходит создание компьютера. Созданный компьютер находится не в сети, так как нет машины, которая представляется в системе как созданный компьютер.

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

Рис. 8.6 - Результат процесса создания программы

В результате была создана программа, инсталлятор которой был сохранен на сервере в файловой системе в виде архива с конфигурационным файлом, а путь к нему в базе данных. Впоследствии данную программу можно добавлять к группам и компьютерам и устанавливать. Следующим шагом добавим программу для установки на компьютер. Результат представлен на рис. 8.7.

Рис. 8.7 - Результат процесса установки программы на компьютер

В результате на компьютере появилась готовая к установке программа. Установка начнется после нажатия на кнопку “Install”, если компьютер будет в сети. Для облегчения установки программ на большое количество компьютеров можно устанавливать программы на всю группу сразу. Для этого нужно создать еще один компьютер в группе. Результат представлен на рис. 8.8.

Рис. 8.8 - Результат процесса установки программы на группу компьютеров

После установки программы на группу, она добавляется к каждому компьютеру, входящему в состав группы. На странице группы отображаются только те программы, которые присутствуют на каждом компьютере. Если удалить программу с одного компьютера, то она перестанет отображаться на странице с группой. Системой может управлять множество пользователей. Доступ к системе предоставляют её администраторы, поэтому право манипулирования пользователями отдано им. Для создания нового пользователя нужно указать его логин, пароль и уровень доступа, который по умолчанию обычный. Также для простоты идентификации пользователя указывается его имя и фамилия. Результат представлен на рис. 8.9.

Рис. 8.9 - Результат процесса создания нового пользователя

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

Рис. 8.10 - Результат процесса создания новых задач по расписанию

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

8.2 Тестирование клиентской части приложения

Клиентское приложение представляет собой процесс в системе, который реагирует на сообщения от сервера и исполняет команды, полученные в сообщениях. Данный процесс имеет графический интерфейс, который позволяет производить мониторинг действий, выполняемых процессом. Результат представлен на рис. 8.11.

Рис. 8.11 - Иллюстрация процесса установки программ в клиентском приложении

Так как со стороны пользователя невозможно провести ручное тестирование, были написаны тесты, которые покрыли основной функционал. К основному функционалу относятся следующие модули:

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

· модуль для работы с архивами - как и модуль загрузки файлов, принимает путь до файла, но в локальном хранилище. Для тестирования были подготовлены архивы с расширением zip. После распаковки возвращает путь до директории с файлами из архива и проводит проверку целостности файлов;

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

Основное тестирование клиентского приложения будет проводиться во время проверки клиент-серверного взаимодействия, так как клиент является конечной точкой в процессе удаленной установки программ и основной свой функционал проявляет при совместной работе с сервером.

8.3 Тестирование клиент-серверного взаимодействия

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

· подключение компьютера к системе и проверка его статуса;

· отправка команды клиенту на установку нового программного обеспечения;

· мониторинг процесса установки программного обеспечения на компьютер.

Для того чтобы подключить компьютер к сети, требуется установить на него клиентское приложение и указать нужный адрес. После запуска приложение осуществляет подключение к Java Messaging Service, который базируется на сервере. После подключения клиент начинает получать сообщения, требующие ответа. Получая ответ, сервер обновляет статус компьютера. Если компьютер не отвечает некоторое количество времени, то сервер проставляет статус “Не в сети”. Результат представлен на рис. 8.12.

Рис. 8.12 - Иллюстрация проверки статусов компьютеров в сети

В результате подключенный компьютер появился в сети. Теперь на компьютере можно производить установку приложений. Результат представлен на рис. 8.13.

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

После получения от сервера сообщения клиент начинает загрузку и установку программы. В графическом интерфейсе клиентского приложения начался мониторинг процесса установки программы. Старт установки программы на сервере меняет статус на “Устанавливается”. По окончании процесса установки программы клиент отправляет сообщение с результатом на сервер. Сервер в зависимости от полученного результата выставляет статус установки “Установлено” в случае успешной установки или “Ошибка” в случае, если во время установки возникла какая-либо ошибка. Результат представлен на рис. 8.14.

Рис. 8.14 - Результат установки программы на компьютер

В системе могут возникать ситуации, когда установка занимает большое количество времени или вообще не завершается по причинам, не связанным с процессом работы приложения: внутренние ошибки операционной системы, которые повлекли за собой завершение её работы или проблемы, связанные с аппаратными ошибками. В таком случае у программы через определенное количество времени проставляется статус “В опасности”. Результат представлен на рис. 8.15.

Рис. 8.15 - Результат установки программы на компьютер при котором установка заняла больше времени чем ожидалось

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

В результате были проведены тесты сервера, клиента и клиент-серверного взаимодействия. Проведенные тесты выявили некоторые ошибки, которые в последствии были исправлены. Разработанное приложение верно отреагировало на все действия, предпринятые пользователем.

Заключение

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

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

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

В качестве инструментальных средств были использованы: стек Java-технологий, сервер приложений WildFly, СУБД PostgreSQL, а также Spring Framework. В качестве структуры приложения была выбрана модульная, что позволило декомпозировать задачи и максимально проработать детали каждой части проекта.

Таким образом, цель бакалаврской работы достигнута, все задачи выполнены. Разработанное ПО отвечает всем предъявленным требованиям, является полезным и эффективным инструментом для выполнения работ по удалённой установке программ на ПК и контролю за состоянием программного обеспечения компьютеров.

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [2,2 M], добавлен 14.04.2019

  • Назначение и возможности разработанного приложения для контроля активности сетевых и периферийных устройств предприятия. Язык программирования Java. Распределенные многоуровневые приложения. Структура базы данных, интерфейс разработанного приложения.

    курсовая работа [1,0 M], добавлен 16.12.2012

  • Автоматизация системы снятия показаний счетчиков энергии. Разработка базы данных и клиентского приложения для структур жилищно-коммунального хозяйства, занимающихся составлением квитанций. Описание предметной области. Тестирование клиентского приложения.

    курсовая работа [953,3 K], добавлен 01.09.2016

  • Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.

    дипломная работа [1,4 M], добавлен 03.06.2014

  • Спецификация требований к разрабатываемому приложению. Разработка структурной схемы интерфейса. Описание алгоритма шифрования DES. Разработка программного кода приложения "DES". Проведение исследования основных шагов для генерации ключей и шифрования.

    курсовая работа [398,4 K], добавлен 13.12.2022

  • Рассмотрение инфологической и даталогической модели базы данных кинотеатров города. Разработка базы данных в программе MS Access. Описание структуры приложения и интерфейса пользователя. Изучение SQL-запросов на вывод информации о кинотеатре и о фильме.

    курсовая работа [1,1 M], добавлен 04.09.2014

  • Мультимедийное представление информации. Разработка структуры сайта, макетов страниц, серверной логики и компьютерного кода, интерфейса. Описание шагов для размещения презентации в сети интернет. Затраты на разработку приложения и экономический эффект.

    дипломная работа [539,0 K], добавлен 18.10.2015

  • Обзор подходов к разработке музейных приложений с элементами дополненной реальности, формирование требований к ним. Выбор методов разработки приложения, разработка пользовательского интерфейса. Принципы тестирования. Реализация раздела "Распознавание".

    дипломная работа [2,8 M], добавлен 03.07.2017

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

    курсовая работа [352,0 K], добавлен 24.08.2016

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

    дипломная работа [791,8 K], добавлен 10.07.2017

  • Проектирование базы данных для автоматизации деятельности по учету автотранспорта ГИБДД Вяземского района. Выбор инструментария для разработки базы данных и приложения по её ведению. Описание интерфейса и физической структуры приложения баз данных.

    курсовая работа [2,2 M], добавлен 28.06.2011

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

  • Разработка адресных и технических требований к игре. Написание сценария. Общая концепция разработки приложения. Разработка схем алгоритмов приложения. Игровые технологии. Выбор среды и программированного языка. Описание пользовательского интерфейса.

    курсовая работа [1,6 M], добавлен 14.06.2014

  • Разработка сетевой карточной игры "King" для операционной системы Windows XP. Реализация приложения с помощью интерфейса прикладного программирования Win32 API. Назначение серверной и клиентской части. Анализ исходных данных, тестирование приложения.

    курсовая работа [209,3 K], добавлен 24.01.2016

  • Описание приложения в виде пользовательского сценария. Проектирование обмена сообщениями между модулями. Разработка общей структуры приложения. Обзор структуры файлов. Разработка получения данных со страницы. Характеристика результата работы программы.

    дипломная работа [1,5 M], добавлен 22.03.2018

  • Создание многоуровневого приложения с Web-интерфейсом выставления оценки фильму и просмотра оценок других пользователей. Клиентская часть приложения. Разработка многопользовательского веб-приложения на ASP.NET MVC 3 с разграничением доступа к данным.

    курсовая работа [949,7 K], добавлен 22.02.2015

  • Анализ целевой аудитории. Функциональные характеристики пользовательского приложения. Разработка алгоритмов и интерфейса программного продукта, функций рабочей области. Написание скриптов на языке C#. Тестирование программы методом чёрного ящика.

    дипломная работа [1,5 M], добавлен 09.11.2016

  • Разработка приложения "Калькулятор" для подсчитывания количества символов или букв в арабском тексте. Проектирование программной системы, определение функциональных требований к приложению. Алгоритм разработки модульной структуры мобильного приложения.

    презентация [853,9 K], добавлен 08.04.2019

  • Общая характеристика командного интерфейса приложения в системе 1С: Предприятия. Особенности объектов конфигурации: справочников, документов, регистров накопления и отчетов. Разработка интерфейса приложения "Ремонт техники (от компьютера до пылесоса)".

    курсовая работа [2,8 M], добавлен 06.11.2013

  • Разработка базы данных для информационной системы "Библиотека". Системный анализ, инфологическое, даталогическое и физическое проектирование. Программирование бизнес-логики, разработка клиентского приложения. Создание web-приложения, web-доступ.

    курсовая работа [3,3 M], добавлен 15.09.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.