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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
37
неправильная оценка сложности решения и как следствие превышение
установленных сроков, что влечет потери потенциальной прибыли компании.
Самостоятельная внутренняя разработка является самым трудоемким
вариантом, но остается дешевле, чем заказная. В отличие от других вариантов
заказчик имеет возможность контролировать процесс разработки на каждом
этапе и изменять конечный продукт по своему усмотрению. Недостатком
является потребность в выделении необходимых для разработки ресурсов,
начиная от времени и заканчивая оборудованием.
Исходя из описанных преимуществ и недостатков, а так же основываясь
на анализе рынка существующего программного обеспечения и принимая во
внимание специфику «Норс Студиос» был выбран вариант самостоятельной
внутренней разработки.
38
1.4. Обоснование проектных решений
1.4.1. Обоснование проектных решений по информационному
обеспечению
Исходя из результатов анализа рынка и выбора способа приобретения
информационной системы, в ходе данного проекта необходимо произвести
разработку собственного программного обеспечения. Для реализации
подобного программного продукта необходимо продумать информационное
обеспечение. В ходе проектирования были выявлены следующие потребности:
входные документы;
выходные документы;
пользовательский интерфейс, представленный экранными формами;
система классификации и кодирования документов;
информационная база данных;
Входными документами являются внутренние регламенты, согласно
которым производится определение и настройка конфигурирования серверных
приложений, требования к конфигурации, на основании которых производится
конфигурирование, приложения и дополнительные данные, необходимые для
проведения конфигурирования, информация о состоянии приложений, и само
приложение являющееся объектом модификации.
Выходные документы в системе представлены различными отчетами,
содержащими информацию о состоянии приложений, данными о
функционировании самой информационной системы, итоговую
функционирующую конфигурацию, различные пользовательские данные,
информация об окружении серверного приложения.
Для взаимодействия пользователя с информационной системой
предполагается использование графического пользовательского
интерфейса(GUI), представленного различными формами, диалоговыми и
всплывающими окнами. Такой метод взаимодействия облегчает работу с
информационной системой и требует минимального дополнительного обучения
39
пользователя. Для достижения этой задачи интерфейс необходимо
спроектировать простым и понятным. Для этого в компании «Норс Студиос»
при разработке продуктов используются внутренние стандарты.
В качестве системы классификации и кодирования данных внутри
будущей информационной системы будут использованы как уже
существующие в компании, так и добавлены новые классификаторы. Это
связано с тем, что не все данные могут быть описаны существующими в
компании классификаторами. Например, классификация и кодирование данных
пользовательских настроек разрабатываемого приложения.
Информационная база данных разрабатываемой информационной
системы будет представлять централизованную базу данных, расположенную
на удаленном сервере. База данных будет использована, в том числе, для
хранения различного рода статистической информации о состоянии
приложений за определенный промежуток времени, поэтому её работу
необходимо оптимизировать для работы с большими объемами данных.
1.4.2. Обоснование проектных решений по программному
обеспечению
Ключевым моментом при выборе языка программирования, учитывая
специфику задачи и текущие тенденции, была простота и кросс-
платформенность. Для разработки программного обеспечения был выбран язык
C#, так как он базируется на платформе .NET, что существенно расширяет
возможности при разработке. Сама платформа .NET доступна на операционных
системах Windows, Linux, MacOS, iOS, Android. Таким образом, разработав
реализацию один раз на .NET, её не нужно переделывать под каждую
операционную систему отдельно. Это является основной идеей платформы
.NET и обеспечивает свободу разработчика за счёт возможности создания
приложений различных типов, способных выполняться на различных типах
устройств. Если сравнивать C# с другим кросс-платформенным языком Java, C#
выигрывает по следующим пунктам:
40
возможность перегрузки операторов;
наличие лямбда-функций, удобных для передачи пары строк кода в
качестве анонимных функций;
более простые в обращении делегаты, чем в Java;
встроенная система исключений;
Все это упрощает работу с C#, позволяя сфокусироваться на разработке.
В качестве СУБД была выбранная MySQL. Данная система управления
проста в обращении и развертывании, и может быть развернута в практически
любой операционной системе, начиная от Linux и заканчивая Solaris. Простота
обращения обусловлена такими факторами как предоставление
самодостаточного сервера БД и наличием интеграции с огромным количеством
языков программирования, в числе которых и C#. Так же СУБД позволяет
выбрать один из множества форматов файла БД, оптимизировав тем самым
работу с данными. Данный продукт распространяется свободно по лицензии
GNU GPL 2, а так же при соблюдении некоторых условий может быть
использован в программном обеспечении с закрытым исходным кодом.
В процессе разработки планируется использование уже существующих и
эксплуатируемых в компании внутренних решений. В частности к ним
относится система авторизации, «Bifröst», осуществляющая сам процесс
авторизации и генерации сессионного ключа, задействованного в
информационной системе.
1.4.3. Обоснование проектных решений по техническому
обеспечению
Техническое обеспечение является неотъемлемой частью
автоматизации. Оно обеспечивает функционирование программного
обеспечения и влияет на эффективность работы информационной системы.
Для функционирования системы автоматизации потребуется следующее
оборудование:
41
сервер хранения данных – обеспечивает хранение и сохранность
данных системы;
сервер вычислительной станции – сервер с повышенной
вычислительной мощностью для выполнения различных
ресурсоемких операций;
пользовательская рабочая станция – место, где будет
функционировать клиентское приложение информационной
системы;
локальная вычислительная сеть – используется для обмена данными
между модулями системы;
Такое разделение было сделано из следующих соображений – для
хранения данных не нужно иметь огромные вычислительные мощности, но при
этом необходимо иметь быстрые и емкие накопители. Для выполнения
ресурсоемких операций требуется повышенная вычислительная мощность, но
пи этом не требуется наличие объемного накопителя данных. Так же в случае
выхода из строя одно из серверов второй сервер остается на плаву. Иными
словами – разделение на сервера по назначению позволяет оптимизировать
работу системы и повысить её надежность.
На текущий момент в компании есть все необходимые ресурсы, чтобы
покрыть представленный список потребностей.
42
2. ПРОЕКТНАЯ ЧАСТЬ
2.1. Разработка проекта автоматизации
2.1.1. Этапы жизненного цикла проекта автоматизации
Для описываемого в данной работе процесса разработки
информационной системы, основываясь на достоинствах и недостатках
различных систем жизненного цикла, специфике объекта автоматизации и
опыте компании в разработке была выбрана спиральная модель жизненного
цикла. Основным её преимуществом является быстрое получение первых
результатов, что позволяет определить дальнейший вектор разработки.
Любая модель жизненного цикла информационной системы начинается
с момента возникновения потребности в решении и заканчивается выводом
продукта из эксплуатации. Сам жизненный цикл состоит из следующих этапов:
предпроектный анализ – процесс сбора, анализа требований и
ограничений, их систематизация, выявлений различных
взаимосвязей и документирование;
проектирование – процесс детерминирования внутренних и
конкретизации внешних свойств системы, основываясь на
выявленных на предыдущем этапе требованиях и ограничениях;
воплощение реализации – один из самых долгих и трудоемких
процессов, в ходе которого создается рабочий прототип
приложения, способный функционировать и выполнять
поставленные перед ним задачи в рамках определенной
экосистемы;
тестирование и отладка – процесс проверки работоспособности,
испытания в различных условиях, оценки корректности
функционирования, поиска и выявления сбоев и ошибок в работе
текущей версии системы;
внедрение в эксплуатацию – создание необходимых программных и
технических условий для функционирования разработанной
43
системы, обучение персонала работе с ней и начало использования
самой системы;
дальнейшее сопровождение – процесс, в ходе которого
осуществляется доработка и улучшение текущей версии системы,
находящейся в эксплуатации;
Однако спиральная модель, выбранная для разработки текущего
проекта, не идет линейно вниз по всем этапам, она состоит из итераций, на
которых разрабатывается версия согласно установленным на данный момент
требованиям и приоритетам. Каждая такая итерация или виток включает в себя
несколько этапов. При этом основной упор на каждой итерации и в жизненном
цикле в целом делается на начальные этапы, позволяя провести детальный
анализ результатов прошлой итерации и возможности возникновения рисков на
текущей.
2.1.2. Ожидаемые риски на этапах жизненного цикла и их описание
При проектировании и разработке стоит отдельное внимание уделить
возможным рискам. Ниже приведены основные риски на различных этапах
жизненного цикла, выявленные в рамках данного проекта:
предпроектный анализ
o не четкая или размытая формулировка требований, влекущая
за собой неверную их трактовку и как следствие неверный
курс разработки в целом;
o неверное распределение временных ресурсов и как
следствие нехватка времени на ключевых этапах и простой
на второстепенных;
проектирование
o утрата ключевого сотрудника, влекущая за собой увеличение
сроков и расходов на проект автоматизации;
o неверный график работ, влекущий некачественное создание
архитектуры;
44
o излишнее усложнение архитектуры или неверная структура
данных, приводящие к сложностям на этапе разработки и
неэффективной работе системы;
воплощение реализации
o неверное распределение временных ресурсов, изобретение
«велосипеда», приводящее к некачественной реализации
проекта;
o выход за рамки сроков и как результат увеличение расходы и
сокращение времени на оставшиеся этапы;
тестирование и отладка
o неверные средства и методы тестирования, что может
привести к упущению критических ошибок и уязвимостей и
чревато проблемами со стабильностью и безопасностью;
2.1.3. Организационно-правовые и программно-аппаратные средства
обеспечения информационной безопасности и защиты
информации
Информационная безопасность и защита осуществляется как при
помощи средств внешней защиты, например антивирусы, так и при помощи
мер и инструментов в самой информационной системе. К внешним методам и
инструментам защиты относятся различное программное и аппаратное
обеспечение, используемое в организации, а так же отдел внутренней
безопасности. Это позволяет отсеять часть внешних угроз и предотвратить
часть внутренних. Для понижения уязвимости информационной системы ко
внутренним атакам в ней используется ряд мер:
строгое разграничение доступа к различным сегментам
информационной системы;
максимальная изолированность конечного пользователя от
внутренней экосистемы и предоставление лишь заранее
регламентированного и ограниченного доступа к ней;
45
шифрование внутренних пакетов данных;
использование методов авторизации доступа;
модульность системы, не позволяющая вывести из строя всю
систему разом;
резервное копирование критически важной информации;
46
2.2. Информационное обеспечение задачи
2.2.1. Характеристика нормативно-справочной, входной и
оперативной информации
В ходе разработки информационной системы было определено
несколько справочников, покрывающих все необходимые потребности. Они
приведены ниже:
справочник кодов запросов;
справочник кодов команд;
справочник типов пользователей;
справочник типа доступа к макросу;
справочник типа условия планировщика;
справочник кодов ошибок Socket[6];
Часть справочников так же не закреплена внутри информационной
системы и может быть изменена лишь при обновлении программного продукта.
Детальное описание справочников приведено далее
Справочник кодов запросов – содержит коды, обозначающие тип
запроса, который может быть выполнен модулями:
FileSystemRead – запрос на чтение файловой структуры;
FileSystemData – запрос-ответ, содержащий структурированную
информацию о файловой системе;
FileSystemObjectRead – запрос на чтение файла или списка файлов;
FileSystemObjectWrite – запрос на запись файла или файлов;
FileSystemObjectMake – запрос на создание пустой папки или файла
FileSystemObjectMove – запрос на перемещение/переименование
папки или файла;
FileSystemObjectDelete – запрос на удаление папки или файла;
FileSystemObjectData – запрос-ответ, содержащий файловый данные
Command – запрос на выполнение команды;
Info – запрос на отображение информации;

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

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 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овершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)