Файл: Инструкция по эксплуатации программы 17 1 Назначение программы 17 2 Выполнение программы 17 Заключение 20.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.02.2024
Просмотров: 41
Скачиваний: 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 Анализ бизнес-процесса
Для начала необходимо разобрать с понятием информационной инфраструктуры. Информационная инфраструктура – это совокупность базовых информационных сервисов, вычислительных систем, систем хранения и передачи данных, являющаяся основой для функционирования любых информационных сервисов. Она является неотъемлемой частью каждого предприятия и от качества ИТ – инфраструктуры зависит скорость и качество работы предприятия, а также безопасность информации на предприятии. Значимость и количество информации увеличивается с каждым годом, поэтому оптимизация информационной инфраструктуры должна проводиться постоянно.
Однако задачу нужно конкретизировать. Оптимизация ИТ-инфраструктуры является обширной задачей и проводится поэтапно. Начальная оптимизация предназначена для решения следующих задач:
-
Определение единого места хранения информации. -
Распределение прав доступа к информации работникам компании. -
Ведение журнала авторизаций для того, чтобы можно было знать, кто и когда получал информацию из хранилища.
Подытожим. Цель оптимизации – упростить передачу информации, увеличить информационную безопасность, а также структурировать информацию в компании.
Как уже было сказано, оптимизация информационной инфраструктуры позволяет увеличить продуктивность и безопасность предприятия. Оптимизация – это процесс, имеющий целью направить развитие какого-либо объекта или метода к наиболее лучшему состоянию. Оптимизация ИТ – инфраструктуры происходит в несколько этапов.
-
Фаза внедрения. В этот момент происходит установка ПО на компьютер каждого работника. -
Поддержка и исправление ошибок. Если ПО не удовлетворяет потребностям, разработчики не могут дать, а оператор не может ничего решить, то это надо как-то решить. Где-то увеличить мотивацию, где-то расширить продукт и тому подобное. Необходимо искать ошибки и их исправлять, пока не возникла ошибка, которая может привести к утечке информации. -
Формирование итоговых управленческих отчётов. После ввода всей необходимой информации, необходимо показать результаты, предложить понятное и реальное решение.
После рассмотрения общих процессов стоит перейти к конкретной компании.
В современном мире создание видеоигр является одним из наиболее крупных сегментов индустрии развлечений. Масштабы игровой индустрии сопоставимы, например, с киноиндустрией. А по скорости роста за последние пять лет индустрия видеоигр существенно ее опережала.
По степени влияния на потребителей и вовлеченности их в интерактивное окружение, предлагаемое видеоиграми, этот сегмент уже давно выделяется среди других видов развлечений.
Геймдев или разработку игр невозможно рассматривать обособленно от индустрии компьютерных игр в целом. Непосредственно создание игр – это только часть комплексной «экосистемы», обеспечивающей полный жизненный цикл производства, распространения и потребления таких сложных продуктов, как компьютерные игры.
В структуре современной игровой индустрии можно выделить следующие уровни: платформы, игровые движки, разработка видеоигр, издание и оперирование, популяризация и потребление.
В данной курсовой будет рассматриваться небольшая компания по разработке видеоигр.
Структура разработки видеоигр состоит из следующих пунктов:
-
Концептирование (concept). На этом этапе создаётся концепт игры, и проводится начальная проработка дизайн игры. Главной задачей на этом этапе является создание следующих документов: геймдизайнерская документация, ТЗ. -
Прототипирование (prototyping). Разработка прототипа игры для проверки ключевых технических моментов. -
Вертикальный срез (vertical slice). Цель данного этапа состоит в получении минимально возможной полноценной версии игры. -
Производство контента (content production). На этом этапе производится достаточное количество контента для первого запуска на внешнюю аудиторию. Реализуются все фичи, запланированные к закрытому бета-тестированию. -
CBT (закрытое бета-тестирование). На этапе CBT продукт впервые демонстрируется достаточно широкой публике, хотя и лояльной продукту или компании. Среди наиболее важных задач на этом этапе выступают: поиск и исправление гейм-дизайнерских ошибок, проблем игровой логики и устранение критических багов. -
OBT (открытое бета-тестирование). На этом этапе продолжается тестирование игры, но уже на широкой аудитории. Идет оптимизация под большие нагрузки. Игра должна быть готова для приема большого трафика. -
Презентация (Realese). На этом этапе должно быть полностью отлажено оперирование продукта (техническая поддержка, работа с комьюнити), соблюдаются маркетинговые и финансовые планы, ведутся работы по улучшению финансовых показателей, активно отрабатываются каналы по привлечению трафика.
На каждом из этих этапов используется информационная инфраструктура, которую необходимо оптимизировать для увеличения продуктивности и безопасности компании.
1.2 Назначение разработки
В рамках курсовой работы была написана программа на языке Objective-C, которая будет предназначена для небольшой компании по разработке игр на начинающих этапах, когда ещё у компании нет большого количества работников, и большого объёма информации, но уже можно оптимизировать информационную инфраструктуру для дальнейшего расширения. Программа будет позволять без ущерба, а только с помощью добавления кода расширить в будущем её функционал, для контроля большего количества работников, и оперирования с большим количеством информации. Она будет загружать и выгружать директории соответствующих работников, а также собирать информацию об авторизациях. Для этого владельцу надо будет выбрать соответствующую функцию. Формат входных данных – числа.
1.3 Требования к программе
Для того чтобы программа работала корректно рекомендуется использовать среду разработки Xcode и запускать непосредственно в ней. Для этого необходимы следующие требования:
‑ оперативная память: свыше 4 гб;
‑ операционная система: mac OS 10.13 и выше;
‑ дополнительное ПО: Xcode.
‑ Процессор: Intel core i3 или новее.
2. Описание программы
2.1 Функциональное назначение
Данная программа предназначена для оптимизации информационной инфраструктуры. А именно для хранения информации работников в одном месте (облачном хранилище), распределения прав доступа работникам, ведения журнала авторизаций. Программа позволяет упростить передачу информации между работником и владельцем (у владельца есть доступ к облачному хранилищу). Также для упрощения пользования программой представлена функция добавления нового пользователя.
Рисунок 2.1. Общий вид программы
Для пользования программой владельцу предложен выбор из 3 действий:
-
Войти в систему. -
Посмотреть каталог авторизаций. -
Добавить пользователя.
Также стоит добавить, что для работников будет доступна программа с урезанным функционалом (возможен, только вход в систему).
Интерактив программы происходит через командную строку, где вводятся ответы пользователя
, выводятся сообщения программы. На вопросы, связанные с выбором действий необходимо отвечать цифрами, на вопрос о добавлении пользователя любыми символами присутствующими в кодировке UTF-8. Если ответы будут содержать другие типы данных, программа не будет работать
2.2 Описание логической структуры
Программа состоит из четырёх (основной функции main и трёх вспомогательных). Опишем работу всех работу всех функций, тем самым показав, как работает программа.
Рисунок 2.2. Запуск программы
Программа начинает свою работу с нажатием серого треугольника (см. рисунок 2.2) на панели инструментов.
Рисунок 2.3. Библиотека
Работа начинается с подключения необходимых библиотек (см. рисунок 2.3). Ключевое слово #import предназначено для того, чтобы сделать код в одном модуле доступным для работы в другом. Это нужно для выполнения функции #import
После программа приступает к выполнению основной функции. Она начинает с вызова функции inputn() (см. рисунок 2.4). Эта функция не принимает на вход никакие значения, в свою очередь она открывает поток ввода scanf, чтобы принять выбранное пользователем значение с клавиатуры из 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 для управления директориями пользователей. После чего отправляется вопрос пользователю с выбором действий:
-
Выгрузить директорию. -
Загрузить директорию.
Рисунок 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 Входные и выходные данные
На протяжении всей программы используется большое количество переменных каждая из которых имеет свой тип данных.
Входные данные:
-
Переменная «n» – имеет целочисленный тип, отвечает за выбранное пользователем действие. -
Объект «logPas» – относится к классу NSString. Данный объект заполняется из файла, отвечает за данные о пользователях. -
Переменная «logA» – соответствует значению логина пользователя. Тип – массив символов (см рисунок 2.16). -
Переменная «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):
-
Вход в систему. -
Просмотр каталога. -
Добавление нового пользователя.
Рисунок 3.1. Выбор действия.
По очереди опишем каждую ветвь. В перво 1 ветви пользователя просят ввести логин и пароль для входа в систему. После чего происходит проверка введённого логина и пароля с зарегистрированными значениями с помощью поиска этих значений в словаре. Если вход проверка провалилась, последует сообщение: «Пожалуйста, проверьте свой пароль и логин и попробуйте снова» и программа завершит работу. В случае успеха создаются пути для директорий хранилища и «Документы», также данные о авторизации заносятся в файл «catalog.txt». Далее программа попросит пользователя выбрать из двух действий (см. рисунок 3.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.
Программа подразумевает под собой корректировки и доработки по мере необходимости. На данный момент она не имеет интерфейса, и передача информации может происходить только между работником и владельцем. Также не существует общих директорий для нескольких работников. В будущем предполагается создание пользовательского интерфейса и возможность передачи информации между всеми сотрудниками.
В заключение добавим, что способы оптимизации информационной инфраструктуры зависят от величины бизнеса, нужд и целей владельца. Необходимо точно рассчитывать нужды компании, чтобы избежать непредвиденных материальных и финансовых затрат. Стоит понимать, что оптимизация происходит для упрощения работы и увеличения безопасности компании.
Библиографический список
-
Семь этапов создания игры: от концепта до релиза. – Текст: электронный // habr.com : [сайт] – URL: https://habr.com/ru/company/miip/blog/308286/ (дата обращения 14.12.2022). -
Игровая индустрия: геймдев (GAMEDEV). – Текст: электронный // hsbi.hse.ru : [сайт] – URL: https://hsbi.hse.ru/articles/igrovaya-industriya-geymdev/ (дата обращения 14.12.2022). -
Objective-C с нуля – Текст: электронный // habr.com : [сайт] – URL: https://habr.com/ru/post/107126/ (дата обращения 14.12.2022). -
Что нужно знать об ARC – Текст: электронный // habr.com : [сайт] – URL: https://habr.com/ru/post/209288/ (дата обращения 14.12.2022). -
Apple Developer Documentation. – URL: https://developer.apple.com/documentation/objectivec?language=objc (дата обращения 14.12.2022). Текст: электронный.