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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
42
5. Программные серверы для получения, обработки и сохранения
информации, интегрированные в экосистему компании.
В рамках решаемой задачи входными документами являются
предоставляемые руководством проекта требования к обновлению
программного обеспечения, разрабатываемого в рамках проекта (что должно
входить в новую версию программного продукта) и сведения о проекте, в
которых описывается проект, его этапы, сроки выхода обновлений продукта в
рамках проекта и иная информация, необходимая разработчику для определения
тонкостей задачи.
Выходными данными является готовая дорожная карта, в которой будет
представлена информация по проекту, его обновлениям и их срокам,
выполняемым в рамках этих обновлений задач. Помимо этого, здесь же будут
указываться текущие состояния задач и вхождений в них.
Графический интерфейс должен отвечать за взаимодействие программы
с пользователем, в результате которого программное обеспечение будет в
первом случае получать необходимую для обработки информацию и выдавать
результаты, а во втором демонстрировать готовые результаты без возможности
добавления, редактирования или удаления. За конфигурацию взаимодействия
должна отвечать внутренняя система аутентификации пользователя. Для ввода,
вывода или любой формы изменения информации необходимо определить
макеты форм, которые будут за это отвечать.
Графический интерфейс должен отвечать всем требованиям внутренних
документов, включая и не ограничиваясь дизайн-документом и
брендинг-руководством.
Системой классификации и кодирования документов будет служить уже
существующий в компании "Норс Студиос" классификатор, входящий в состав
внутрикорпоративной методологии разработки. Данное решение принимается на
основе того, что существующий классификатор в полной мере и объеме
43
удовлетворяет потребностям, возникающим во время реализации решения,
представленного в данном дипломном проекте.
Информационная база данных должна быть централизованной для
обеспечения однородности получаемой, обрабатываемой и выдаваемой
информации. Управляться база данных должна при помощи системы управления
базами данных, а добавляться и изменяться любым образом информация должна
при помощи специального сервера базы данных.
Для динамического масштабирования программного решения, равно как
и для оптимизации используемых ресурсов, необходимо использовать
микросервисную архитектуру, которая позволяет активно манипулировать и
заменять все элементы функционирующего программного обеспечения во время
непосредственной работы (так называемый "горячая замена"). Для этого,
серверная часть программного обеспечения должна быть разбита на несколько
малых серверов, каждый из которых отвечает за свою небольшую задачу. К
таким серверам будут относиться:
1. Сервер Базы Данных;
2. Сервер Сети Доставки Контента;
3. Центральный Сервер Обработки Данных.
Необходимо также предусмотреть возможность дальнейшего
расширения и подключения программного обеспечения во внутреннюю
экосистему компании. Примером такой интеграции служит использование
внутреннего сервиса авторизации пользователей в продуктах компании.
Разрабатывать подобный модуль повторно не имеет смысла, а следовательно,
должен быть интегрирован в разрабатываемое решение. Поскольку данный
модуль не входит в непосредственное решение, то он также и не будет
рассматриваться в рамках дипломного проекта за тем лишь исключением, что
будет представлена форма авторизации, передаваемая приложению данным
модулем.
44
1.4.2 Обоснование проектных решений по программному обеспечению
Операционные системы, которые будут задействованы при разработке
решения, включают в себя следующие: Microsoft Windows 10 и Apple MacOS.
Первая служит для непосредственной разработки бизнес-логики, а вторая
для разработки интерфейса и портирования версии программы под
операционные системы семейства MacOS.
Для написания бизнес-логики информационной системы был выбран
язык программирования C# (Си-Шарп) за свое удобство на этапе разработки,
кросс-платформенность, а также присутствие механизма утилизации
невостребованной памяти. Данный язык является Объектно-Ориентированным,
что означает удобство в реализации алгоритмов программы. На момент
написания данной дипломной работы язык является достаточно быстрым, что
позитивно скажется на скорости обработки и выдачи результатов.[1]
Чтобы обеспечить максимальную заменимость используемых модулей
программы (на случай аварийной остановки одного из них) необходимо
реализовывать механизм микросервисов, что в свою очередь удовлетворяет как
требованию ООП парадигме (максимальная независимость модулей между
собой[2]) так и паттерну проектирования "Фабрика"[3].
Для обеспечения высокой скорости разработки используются
библиотеки, созданные внутри компании для собственных продуктов. Одной из
таких библиотек является библиотека сетевой связи "Erida", которая отвечает за
взаимодействие между клиентской частью приложения и центральным сервером
и между центральным сервером и другими серверами. Данная библиотека
значительно облегчает работу и за счет своей стабильности и постоянным
обновлениям исключает множество рисков, связанных с пересылкой данных
между удаленными компонентами программы.
Для отображения пользовательского интерфейса был выбран язык
гипертекстовой разметки HTML в связке с языком описания внешнего вида
CSS.[4] Данное решение позволяет создавать удобные интерфейсы, отвечающие
стандартам компании в короткий срок. Для обеспечения работы логики на
45
клиентской стороне (выдача правильно сформированных HTML страниц) будет
использоваться ASP.NET который является веб-фреймворком на языке C#.
Поскольку клиентская сторона является по своей сути веб-сервером,
отображающим сайт, то для десктоп версии клиентского приложения (от
английского desktop - настольный) необходимо использовать фреймворк-
обертку, позволяющий заключить веб-сервер и выдаваемый им сайт в единый
компонент, доступ к которому извне будет умышленно ограничен. Для этого
будет использоваться C#-Фреймворк Electron.NET, который позволяет
оборачивать .NET веб-серверные приложения.
Использование веб-сервера для разработки клиентского интерфейса
позитивным образом сказывается на дальнейшей интеграции сервиса по
предоставлению дорожной карты на сайт компании и в непосредственно другие
продукты компании.
База данных будет разработана с использованием MySQL. Преимущества
данного решения заключаются в возможности хранить огромный массив данных
(до 32 экзабайт), быструю работу. Изначальная разработка велась шведской
компанией MySQL Aktiebolag, что дополнительно может служить основанием
для утверждения о качестве данного продукта.
MySQL отлично подходит для проекта, поскольку изначально
рассчитывалась на малые и средние продукты.[5]
1.4.3 Обоснование проектных решений по техническому обеспечению
Техническое обеспечение автоматизации контроля исполнения задач по
проектам является комплексом средств, необходимых для реализации
проведения автоматизации.
Для обеспечения работоспособности программного продукта
необходимо иметь следующий набор технических средств:
1. Сервер хранения данных;
2. Сервер хранение контента;
3. Сервер обработки данных;
46
4. Пользовательская рабочая станция;
5. Локальная вычислительная сеть для передачи данных.
В данный момент компания "Норс Студиос" располагает всеми
необходимыми техническими средствами, который в полной мере
удовлетворяют требованиям технического обеспечения решения.
Так в рамках целесообразности в первое время можно использовать
сервер хранения данных и сервер хранения контента на одном физическом (или
виртуальном) сервере. В компании есть как минимум 3 физических сервера и
облачное решение от Amazon, на которых это можно реализовать. Сервер
обработки данных будет правильнее всего размещать на самом мощном сервере,
поскольку там будут происходить основные вычисления. Однако, учитывая что
в первое время не будет значительной нагрузки на программный сервер, то его
также можно разместить в уже имеющихся серверах.
Клиентскому приложению требуется персональный компьютер, при
помощи которого сотрудник будет взаимодействовать с информационной
системой.
Источник: https://baza.diplomsite.ru/previewfile/407