Файл: Инструкция по эксплуатации программы 17 1 Назначение программы 17 2 Выполнение программы 17 Заключение 20.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.02.2024

Просмотров: 38

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство науки и высшего образования Российской Федерации



Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования
Санкт-Петербургский Горный Университет
КУРСОВАЯ РАБОТА

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА


По дисциплине: Теория и технология программирования

(наименование учебной дисциплины согласно учебному плану)

Тема работы: Оптимизация информационной инфраструктуры


Автор: студент гр. _________________ //

(подпись) (Ф.И.О.)

ОЦЕНКА: _____________
Дата выдачи задания: г.
Срок сдачи законченной работы: г.
ПРОВЕРИЛ:
Руководитель работы доцент ________________ //

(должность) (подпись) (Ф.И.О.)

Санкт-Петербург

СОдержание


Введение 3

1. Техническое задание 4

1.1 Анализ бизнес-процесса 4

1.2 Назначение разработки 6

1.3 Требования к программе 7

2. Описание программы 8

2.1 Функциональное назначение 8

2.2 Описание логической структуры 9

2.3 Входные и выходные данные 15

3. Инструкция по эксплуатации программы 17

3.1 Назначение программы 17

3.2 Выполнение программы 17

Заключение 20

Библиографический список 21


Введение


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

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


Целью данной курсовой работы является оптимизация информационной инфраструктуры для компании по разработке игр

Задачи работы:

1. Рассмотреть понятие информационной инфраструктуры;

2. Изучить на теории работу компании по разработке игр;

3. Разработать и описать программу, которая позволит оптимизировать информационную инфраструктуру компании.

Объектом исследования является компания по разработке игр. Предметом исследования – оптимизация информационной инфраструктуры.

1. Техническое задание

1.1 Анализ бизнес-процесса


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

Однако задачу нужно конкретизировать. Оптимизация ИТ-инфраструктуры является обширной задачей и проводится поэтапно. Начальная оптимизация предназначена для решения следующих задач:

  1. Определение единого места хранения информации.

  2. Распределение прав доступа к информации работникам компании.

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

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

Как уже было сказано, оптимизация информационной инфраструктуры позволяет увеличить продуктивность и безопасность предприятия. Оптимизация – это процесс, имеющий целью направить развитие какого-либо объекта или метода к наиболее лучшему состоянию. Оптимизация ИТ – инфраструктуры происходит в несколько этапов.

  1. Фаза внедрения. В этот момент происходит установка ПО на компьютер каждого работника.

  2. Поддержка и исправление ошибок. Если ПО не удовлетворяет потребностям, разработчики не могут дать, а оператор не может ничего решить, то это надо как-то решить. Где-то увеличить мотивацию, где-то расширить продукт и тому подобное. Необходимо искать ошибки и их исправлять, пока не возникла ошибка, которая может привести к утечке информации.

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


После рассмотрения общих процессов стоит перейти к конкретной компании.

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

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

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

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

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

Структура разработки видеоигр состоит из следующих пунктов:

  1. Концептирование (concept). На этом этапе создаётся концепт игры, и проводится начальная проработка дизайн игры. Главной задачей на этом этапе является создание следующих документов: геймдизайнерская документация, ТЗ.

  2. Прототипирование (prototyping). Разработка прототипа игры для проверки ключевых технических моментов.

  3. Вертикальный срез (vertical slice). Цель данного этапа состоит в получении минимально возможной полноценной версии игры.

  4. Производство контента (content production). На этом этапе производится достаточное количество контента для первого запуска на внешнюю аудиторию. Реализуются все фичи, запланированные к закрытому бета-тестированию.

  5. CBT (закрытое бета-тестирование). На этапе CBT продукт впервые демонстрируется достаточно широкой публике, хотя и лояльной продукту или компании. Среди наиболее важных задач на этом этапе выступают: поиск и исправление гейм-дизайнерских ошибок, проблем игровой логики и устранение критических багов.

  6. OBT (открытое бета-тестирование). На этом этапе продолжается тестирование игры, но уже на широкой аудитории. Идет оптимизация под большие нагрузки. Игра должна быть готова для приема большого трафика.

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


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

1.2 Назначение разработки


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

1.3 Требования к программе


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

‑ оперативная память: свыше 4 гб;

‑ операционная система: mac OS 10.13 и выше;

‑ дополнительное ПО: Xcode.

‑ Процессор: Intel core i3 или новее.

2. Описание программы

2.1 Функциональное назначение


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



Рисунок 2.1. Общий вид программы

Для пользования программой владельцу предложен выбор из 3 действий:

  1. Войти в систему.

  2. Посмотреть каталог авторизаций.

  3. Добавить пользователя.

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

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

2.2 Описание логической структуры


Программа состоит из четырёх (основной функции main и трёх вспомогательных). Опишем работу всех работу всех функций, тем самым показав, как работает программа.



Рисунок 2.2. Запуск программы

Программа начинает свою работу с нажатием серого треугольника (см. рисунок 2.2) на панели инструментов.



Рисунок 2.3. Библиотека

Работа начинается с подключения необходимых библиотек (см. рисунок 2.3). Ключевое слово #import предназначено для того, чтобы сделать код в одном модуле доступным для работы в другом. Это нужно для выполнения функции #import – это глобальная библиотека, которая содержит в себе огромное количество внутренних библиотек. Также сразу подключим @autoreleasepool. Автоматический подсчет ссылок (Automatic Reference Counting, ARC) занимается автоматическим освобождением памяти от отработанных объектов и не запускает никаких фоновых процессов. Всё что он делает — это при сборке приложения анализирует и расставляет retain/release в компилируемый код за программиста.

После программа приступает к выполнению основной функции. Она начинает с вызова функции inputn() (см. рисунок 2.4). Эта функция не принимает на вход никакие значения, в свою очередь она открывает поток ввода scanf, чтобы принять выбранное пользователем значение с клавиатуры из 3 предложенных:

  1. Войти в систему.

  2. Просмотр каталога авторизаций

  3. Добавить пользователя.

После чего функция возвращает целочисленное значение. Функция принимает только целое число, в ином случае программа не будет работать.

Рисунок 2.4. Функция inputn()

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



Рисунок 2.5. Считывание информации о пользователях

После чего при выборе пользователем первого действия программа запрашивает логин и пароль (ограничение на каждый ответ 99 символов) (см. рисунок 2.6). Далее с помощью поиска по ключам в словаре происходит сравнение логина и пароля с имеющимися в системе данными.



Рисунок 2.6

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

Если вход оказался успешным, программа записывает пути для директории хранилища и директории пользователя (см. рисунок 2.7).



Рисунок 2.7. запись путей директорий

Далее программа создаёт путь для журнала авторизаций и строку с информацией об авторизации (см.. рисунок 2.8):

‑ Логин пользователя;

‑ дату и глобальное время (GMT +0000).

Эти данные преобразуются в строковый формат и с помощью метода writeToFile класса NSString происходит запись в каталог.



Рисунок 2.8. Запись авторизации в каталог

Следующим шагом программа создаёт объект fm класса NSFileManager для управления директориями пользователей. После чего отправляется вопрос пользователю с выбором действий:

  1. Выгрузить директорию.

  2. Загрузить директорию.



Рисунок 2.9. Создание NSFileManager

Далее, если пользователь выбрал первый вариант происходит проверка на наличие директории (она должна иметь такое же название, что и логин пользователя) (см. рисунок 2.10). Если такая директория существует, то она будет перемещена в директорию Документы на компьютере пользователя. В противном случае последует сообщение: «Директория не найдена».



Рисунок 2.10. Выгрузка директории

При втором варианте действий папка документы будет проверена на наличие директории пользователя (см. рисунок 2.11). В случае успеха папка пользователя будет перемещена в хранилище. Иначе программа отправит сообщение: «Директория не найдена», и попросит переименовать папку пользователя на его логин.



Рисунок 2.11. Загрузка директории

Следующим шагом идёт выполнение второго выбора основных действий: «Просмотр каталога». Действие проиходит с помощью вызова функции checkCatalog() (см. рисунок 2.12). которая выводит все прошлые авторизации пользователей.



Рисунок 2.12 Функция checkCatalog()

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



Рисунок 2.13. Запись нового пользователя

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



Рисунок 2.14. Функция com

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

2.3 Входные и выходные данные


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

Входные данные:

  1. Переменная «n» – имеет целочисленный тип, отвечает за выбранное пользователем действие.

  2. Объект «logPas» – относится к классу NSString. Данный объект заполняется из файла, отвечает за данные о пользователях.

  3. Переменная «logA» – соответствует значению логина пользователя. Тип – массив символов (см рисунок 2.16).

  4. Переменная «pasA» – соответствует значению логина пользователя. Тип – массив символов.



Рисунок 2.15. Сохранённые данные

Выходные же данные являются строками, которые не заносятся в переменные, а сразу выводятся в файл (см. рисунок 2.15).



Рисунок 2.16. Входные данные

Данные в файлах хранятся до их непосредственного удаления.

3. Инструкция по эксплуатации программы

3.1 Назначение программы


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

3.2 Выполнение программы


Опишем работу программы пояснив каждую строку. При запуске программы первым делом происходит подключение библиотеки (см. главу 2.2). После чего начинается запуск функции main() и ARC(см. главу 2.2). Далее инициализируется переменная «n» и её присваивается значение функции inputn(). Функция inputn() не имеет входных данных, она просит пользователя ввести выбор действия с клавиатуры, после чего возвращает введённое значение. После возвращения в main() программа инициализирует объект logPas и с помощью метода «stringWithContentsOfFile» считывает данные с файла «logPas.txt» Далее программа считывает количество пользователей из logPas и присваевает это значение переменной «m», и создаёт два массива «key» и «Value», в которые заносятся значения паролей и логинов соответственно. Для последующего присвоения этих значений словарю dicLog. После присвоения начинается оператор разветвления, которая зависит от ранее введённой переменной «n». Оператор имеет 3 ветви (см. рисунок 3.1):

  1. Вход в систему.

  2. Просмотр каталога.

  3. Добавление нового пользователя.

Рисунок 3.1. Выбор действия.

По очереди опишем каждую ветвь. В перво 1 ветви пользователя просят ввести логин и пароль для входа в систему. После чего происходит проверка введённого логина и пароля с зарегистрированными значениями с помощью поиска этих значений в словаре. Если вход проверка провалилась, последует сообщение: «Пожалуйста, проверьте свой пароль и логин и попробуйте снова» и программа завершит работу. В случае успеха создаются пути для директорий хранилища и «Документы», также данные о авторизации заносятся в файл «catalog.txt». Далее программа попросит пользователя выбрать из двух действий (см. рисунок 3.2):

  1. Выгрузить директорию.

  2. Загрузить директорию.



Рисунок 3.2.

После выбора действия программа переместит папку с названием логина пользователя. В первом случае из хранилища в «Документы», во втором случае из «Документы» в хранилище, на этом первая ветвь заканчивается.

Вторая ветвь начинается с вызова функции checkCatalog(). Эта функция открывает файл «catalog.txt» и считывает оттуда данные и выводит их. После чего программа завершает работу.

В случае выбора третьей ветви владельца просят ввести данные о новом пользователе: логин, пароль. После ввода данных программа открывает файл «logPas.txt» и заносит туда информацию о новом пользователе. Далее создаётся папка названием логина нового пользователя. На этом работа третьей ветви завершается.

3.3 Контрольный пример

Проведём контрольный пример и запустим программу. Рассмотрим следующие случаи. В первом случае выберем действие вход в систему и войдём с помощью Admin, admin(см. рисунок 3.2).



Рисунок 3.3 Просмотр каталога

Во втором случае выберем действие: «Просмотр каталога авторизаций»(см. рисунок 3.3). После чего программа выведет все авторизации, совершённые ранее.



Рисунок 3.4. Новый пользователь

В третьем случае выберем действие: «Добавить нового пользователя» (см. рисунок 3.4). Программа попросит ввести логин и пароль нового пользователя. После ввода в файл «logPas.txt» поместиться значения логина и пароля. Также будет создана папка с названием логина пользователя (см. рисунок 2.15).

Заключение


В данной курсовой работе были рассмотрены понятия информационной инфраструктуры и особенности её автоматизации. Было изучена примерная структура геймдев компании и структура разработки видеоигр. Об этом подробно написано в первой главе.

Во второй главе создана программа, предназначенная для оптимизации информационной инфраструктуры компании по разработке игр. Она направлена на увеличение информационной безопасности компании, повышение удобства передачи информации. Программа содержит в себе 3 функции, большое количество разветвляющихся процессов, цикл for, а также огромное количество методов и объектов. Запускается процесс с помощью Xcode.

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

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

Библиографический список


  1. Семь этапов создания игры: от концепта до релиза. – Текст: электронный // habr.com : [сайт] – URL: https://habr.com/ru/company/miip/blog/308286/ (дата обращения 14.12.2022).

  2. Игровая индустрия: геймдев (GAMEDEV). – Текст: электронный // hsbi.hse.ru : [сайт] – URL: https://hsbi.hse.ru/articles/igrovaya-industriya-geymdev/ (дата обращения 14.12.2022).

  3. Objective-C с нуля – Текст: электронный // habr.com : [сайт] – URL: https://habr.com/ru/post/107126/ (дата обращения 14.12.2022).

  4. Что нужно знать об ARC – Текст: электронный // habr.com : [сайт] – URL: https://habr.com/ru/post/209288/ (дата обращения 14.12.2022).

  5. Apple Developer Documentation. – URL: https://developer.apple.com/documentation/objectivec?language=objc (дата обращения 14.12.2022). ­ Текст: электронный.