Диплом: Автоматизация управления серверными приложениями в ООО «Норс Студиос»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
67
2.3.3. Структурная схема пакета (дерево вызова программных
модулей)
Разрабатываемая информационная система в ходе проектирования была
разделена на три части:
клиентское приложение – приложение, с которым будет работать
конечный пользователь;
контроллер серверного приложения – специальная программа,
которая осуществляет работу с файловой системой сервера, а так же
контролирует (ведет) процесс серверного приложения;
ядро – связующее звено между клиентским приложением,
контроллером серверного приложения и базой данных,
осуществляет необходимые проверки и разграничения доступа;
Ниже приведены древа программных модулей и их описания. Т.к.
общепринятым языком разработки является английский, названия всех модулей
приведены на этом языке, а их описание приведено после схем. Это также
обусловлено технической реализацией выбранных средств разработки.
“Coman Client”
GUI
Notification
Network
Crypto
Logger
Рисунок 16. Древо программных модулей клиентского
приложения «Coman Client»
68
Клиентское приложение «Coman Client» представляет обычное,
запускаемое приложение с графическим интерфейсом, которое осуществляет
обмен шифрованными данными с ядром посредством локальной или внешней
сети.
“Coman CORE”
Crypto
Logger
IPC
“SACC”
“SelfMon”
“Scheduler”
“iCORE”
Network
Рисунок 17. Древо программных модулей «Coman CORE»
Системный модуль «Coman Core»(ядро) является консольным
приложением и может работать в нескольких режимах, предоставляющих
разную функциональность.
69
“Coman SAC”
Logger
IPC
“SelfMon”
“iSAC”
Network
Рисунок 18. Древо программных модулей «Coman SAC»
Системный модуль «Coman SAC»(контроллер серверного
приложения)так же является консольным приложением без графического
интерфейса и имеет несколько режимов работы.
Последние два модуля (ядро и контроллер серверного приложения) – это
комплексные модульные приложения. Во время запуска создается главный
процесс, который следит за состоянием других модулей и осуществляет с ними
связь посредством межпроцессной коммуникации(IPC[15][16]). После своей
инициализации главный процесс запускает остальные модули, создавая
дополнительные процессы. Такой метод работы в разы повышает
отказоустойчивость, надежность и способность к восстановлению как
отдельного модуля, так и системы в целом.
70
Таблица 10.
Краткое описание программных модулей
Наименование модуля
Функции модуля
IPC
Межпроцессная коммуникация,
предотвращение запуска двух и более
экземпляров программы или её модуля
“SelfMon”
Будучи отдельным процессом является
ведущим(родительским) для всех
процессных модулей в рамках всей
системы. У каждого системного модуля
свой дискретный экземпляр «SelfMon».
Основной задачей является отслеживание
состояния процессов приложения и
поддержание работоспособности
Logger
Запись необходимой информации в файлы
логов и базу данных
Network
Компоновка, обмен и обработка сетевых
пакетов приложения
Crypto
Модуль, который отвечает за
шифровку/дешифровку сетевых пакетов
информационной системы
“iCore”
Основной процессный модуль ядра,
регулирует работу и распределяет
запросы и данные между остальными
модулями
“Scheduler”
Процессный модуль, обеспечивающий
выполнения задач согласно заданным
условиям и критериям
“SACC”
Процессный модуль, осуществляющий
обмен данными с системным модулем
«Coman SAC»
“iSAC”
Отдельный процесс системного модуля
«Coman SAC», являющийся основным
модулем контроллера приложения,
работает с файловой системой сервера,
ведет(является ведущим) процесс его
приложения, осуществляет обмен данными
с модулем «Coman CORE»
GUI
Отображение интерфейса и
взаимодействие с пользователем
Notification
Обработка информационных запросов и их
вывод
Рассмотрим работу системного модуля «Coman CORE» детальнее.
При начале развертывая, первым задействуется модуль «SelfMon»,
инициализируя модуль «IPC», который, в том числе, не позволяет запустить
более одного экземпляра данного модуля. Модуль «SelfMon» является не
71
обособленной частью «Coman CORE» и частично его реализовывает, что
позволяет создавать и поддерживать симбиоз между процессами. Далее модуль
«SelfMon» загружает необходимые первичные конфигурации и запускает
остальные модули. Вторым запускается центральный модуль приложения –
«iCORE». Получив базовую конфигурацию от «SelfMon», центральный модуль
устанавливает подключение с базой данных и загружает необходимые данные.
В этот момент запускаются оставшиеся модули «SACC» и «Scheduler». Модуль
«SACC», на основе полученной конфигурации, создает подключение и
переходит в режим ожидания. Модуль «Scheduler» после запуска, ожидает
данных от центрального модуля, после проверяет пропущенные задачи и при
необходимости выполняет их, затем переходит в режим функционирования.
Центральный модуль после загрузки необходимых данных и завершения
инициализации переходит в режим функционирования, а так же создает
подключение для клиентских приложений и ожидает их. На рисунке 19
представлен алгоритм работы модуля «Coman CORE».
72
Запуск «Coman CORE»
Получение
аргументов запуска
Найдены аргументы
запуска?
Найден аргумент
запуска«Scheduler»
Найден аргумент
запуска «SACC»
Найден аргумент
запуска «iCORE»
Завершение работы модуля
да
нет нет нет
Модуль уже
запущен?
Инициализация модуля
«IPC»
Ведущий процесс
представлен?
1
1
1
нет
Формирование аргументов
запуска модулей
Последовательный запуск модулей
«TheCORE.iCORE», «TheCORE.SACC»,
«TheCORE.Scheduler»
3
Произошло событие?
Команда для «Logger»
Регистрация события
Ошибка в модуле
Процесс завершился
из-за ошибки?
Перезапуск
завершившегося модуля
3
Произошла ошибка
Дочерний процесс
модуля завершился
да
нет
Команда завершения?
Команда записи
события?
Команда обновления
настроек?
Получена команда
Команда для «Logger»
Регистрация события
Завершение по запросу
Завершение
процессов модулей
1
да
нет
нет
Команда для «Logger»
Регистрация события
3
да
Чтение настроек
Отправка настроек
модулям
3
да
Команда введена
пользователем
Отображение справки
3
да
нет
нет
да
Проверка аргументов
Аргументы валидны?
Передача управления в
«iCORE»
Проверка аргументов
Аргументы валидны?
Передача управления в
«SACC»
Проверка аргументов
Аргументы валидны?
Передача управления в
«Scheduler»
Инициализация модуля
«iCORE»
Инициализация модуля
«SACC»
Инициализация модуля
«Scheduler»
Инициализация модуля
«Network»
Инициализация модуля
«Network»
Инициализация модуля
«Crypto»
Инициализация модуля
«Crypto»
Команда для «Logger»
Регистрация события
Запуск с неверными
аргументами
Команда для «Logger»
Регистрация события
Запуск без ведущего процесса
Команда для «Logger»
Регистрация события
Запуск второго экземпляра
да
да да да
да да да
3
Инициализация модуля
«Logger»
Чтения файла
конфигураций
нет
Ожидание события
2
Команда для «Logger»
Регистрация события
Внутренняя ошибка
2 2 2
нет нет нет
2
Рисунок 19. Модуль «Coman CORE»
73
2.4. Испытания разработанного решения
2.4.1. Перечень объектов и функций, подлежащих испытаниям
Объектом испытаний в разработанном решении были выбраны наиболее
значимые функции системы автоматизации управления серверными
приложениями:
авторизация пользователя – валидация верификация пары логин-
пароль, а так же реакция системы на не стандартные ситуации,
например отсутствие пароля или логина и попытка получения
доступа к системе без авторизации;
запуск/остановка сервера – объектом проверки является механизм
запуска и остановки серверного приложения и его реакция на не
стандартные ситуации;
обмен данными – проверяется способность обмениваться пакетами
данных, а так же поведение системы в случае, если пакет был
поврежден или неправильно скомпонован;
редактирование/добавление задачи планировщика – проверка
способности системы к добавлению и редактированию задач,
проверка устойчивости системы к некорректному вводу;
редактирование/добавление цепочки – проверка способности
системы к добавлению и редактированию цепочек команд и
проверка устойчивости системы к некорректному вводу или
несанкционированному доступу;
редактирование/добавление группы – проверка способности
системы к добавлению и редактированию групп серверов, а так же
устойчивости системы к инвалидному вводу;
удаление задачи/группы – тестирование механизма удаления
записей и устойчивости системы к удалению не существующих
записей;
74
удаление цепочки – тестирование механизма удаления цепочек и
устойчивости к попыткам несанкционированного доступа или
удалению несуществующей записи;
получение структуры файлового окружения – тестирование
получения данных о файловом окружении сервера и устойчивости к
некорректным данным или инъекциям;
2.4.2. Методы проведения испытаний
Тестирование выбранных функций автоматизированной системы
проводится в полуавтоматическом режиме – т.е. часть функций будет
испытываться при помощи средств автоматического тестирования, другая часть
в ручном режиме. В ходе тестирования планируется выявить соответствие
функциональных возможностей разработанной системы функциональным
требованиям к ней предъявляемым. Для проведения тестирования были
установлены следующие параметры:
Имя функции;
Предмет тестирования;
Наборы тестовых данных;
Предполагаемая реакция;
Полное описание тестирования каждой функции приведено в таблицах
ниже
75
Таблица 11.
Описание проверки функции «Авторизация пользователя»
Параметр
Значение
Имя функции
Авторизация пользователя
Предмет тестирования
Корректность механизма получения доступа к
системе
Наборы тестовых данных
корректные данные
не полная пара логин/пароль
неправильная пара логин/пароль
отсутствие данных авторизации
Предполагаемая реакция
разрешение доступа к системе
предупреждение о пустом поле
предупреждение о неправильной паре
запись в операционном логе о
несанкционированном доступе
Таблица 12.
Описание проверки функции «Запуск/Остановка сервера»
Параметр
Значение
Имя функции
Запуск/Остановка сервера
Предмет тестирования
Корректность механизма запуска и остановки
Наборы тестовых данных
штатный запуск и остановка сервера
неверное состояние в системе
сервер отсутствует (исполняемый файл не задан
или не существует)
Предполагаемая реакция
осуществление операции и обновление
состояния в системе
принудительное обновление состояния в
системе, сообщение и запись в операционном
логе
запись в операционном логе, сообщение и
принудительное отключение функции до
устранения причины
Таблица 13.
Описание проверки функции «Обмен данными»
Параметр
Значение
Имя функции
Обмен данными
Предмет тестирования
Корректность обработки пакетов
Наборы тестовых данных
корректный пакет данных
некорректный пакет данных
Предполагаемая реакция
продолжение функционирования
игнорирование пакета, запись в файле лога
76
Таблица 14.
Описание проверки функции «Редактирование/добавление задачи
планировщика»
Параметр
Значение
Имя функции
Редактирование/добавление задачи планировщика
Предмет тестирования
Механизм редактирования записей задач
Наборы тестовых данных
корректные данные задачи
неполные обязательные данные задачи
неправильно введенные данные
Предполагаемая реакция
внесение изменений, вывод уведомления
предупреждение о пустом поле
предупреждение о некорректности данных
Таблица 15.
Описание проверки функции «Редактирование/добавление
цепочки»
Параметр
Значение
Имя функции
Редактирование/добавление цепочки
Предмет тестирования
Механизм редактирования записей цепочек
Наборы тестовых данных
корректные данные цепочек
неполные обязательные данные цепочек
неправильно введенные данные
данные для недоступной цепочки
Предполагаемая реакция
внесение изменений, вывод уведомления
предупреждение о нехватке данных
предупреждение о некорректности данных
игнорирование совершаемого действия, запись в
операционном логе
Таблица 16.
Описание проверки функции «Редактирование/добавление
группы»
Параметр
Значение
Имя функции
Редактирование/добавление группы
Предмет тестирования
Механизм редактирования записей групп
Наборы тестовых данных
корректные данные группы
неполные обязательные данные группы
неправильно введенные данные
Предполагаемая реакция
внесение изменений, вывод уведомления
предупреждение о пустом поле
предупреждение о некорректности данных

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
«Управление ресурсами проекта» (на примере организации ООО «ЛАКОСТЭ»)
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)