Разработка информационной подсистемы управления доступом к электронным ресурсам компьютерной сети для ООО "Еврософт", г. Ставрополь

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



В°ктивной документации;

поддержка разработки на языках ;

сделана специально для разработки на Qt . Библиотека Qt имеет в себе множество классов и компонент, для облегчения разработки программного обеспечения;

контекстно-зависимая система помощи.

2.2 Разработка структур данных и алгоритмов функционирования программного комплекса

2.2.1 Реализация функции запуска внешних приложений

Одно из функциональных назначений разработанной информационной подсистемы - это предоставление пользователю возможности запуска внешних программ. В разработанной программе A_Class запуск внешних приложений реализован на основе класса QProcess из стандартной библиотеки qprocess.h. В данном классе реализованы все необходимые методы для работы с процессами. Выбранное пользователем приложение запускается с помощью метода void QProcess::start(const QString &program). В параметре указывается местонахождение запускаемого файла приложения. Если запускается приложение с вкладки Бизнес, то запустить приложение с любой другой вкладки не представляется возможным, так как на вкладке бизнес могут располагаться программы, работающие с другими платёжными системами.

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

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

Одновременно запуском с внешней программы запускаются два таймера timer и timer_proc_parent. Первый таймер timer через каждые двадцать секунд генерирует событие, обработчик которого проверяет статус ранее запущенных пользователем приложений и отправляет запрос на сервер о списании средств с баланса компьютера (в случае если приложения запущены с вкладок Офис, Мультимедиа или Интернет). Второй таймер timer_proc_parent через каждую секунду генерирует событие, обработчик которого может вести себя следующим образом:

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

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

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

Если баланс компьютера нулевой, то все ранее запущенные внешние приложения с вкладок Офис, Мультимедиа и Интернет завершают работу, и до пополнения баланса, попытки запуска внешних приложений будут неудачны. Код основных методов, необходимых для запуска внешних приложений представлен в приложении А Листинг файла main_a_class.cpp.

2.2.2 Реализация пользовательского проводника

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

перемещение по каталогам различных дисков (кроме локального диска C) и съёмных устройств;

копирование файлов и каталогов с файлами;

удаление файлов и каталогов с файлами;

переименование файлов и каталогов;

создание новых каталогов.

Для определения содержимого каталога использовался стандартные классы библиотеки Qt QFileInfoList и QFileInfo. При копировании файлов и каталогов с файлами, вызов методов отвечающих за копирование отдельных файлов выполняется методом рекурсии. Листинг модуля Dialog_dir представлен в приложении Б Листинг файла dialog_dir.cpp.

В случае если пользователь авторизовался под администратором, то ему доступен стандартный проводник операционной системы windows.

2.2.3 Реализация авторизации пользователя

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