Диплом: Автоматизация учета рабочего времени сотрудников компании "Альтерон"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
46
пользователей и аутентификация, простой доступ к базе данных, шаблонам
библиотек, и т.д.).
Теперь выделим главные критерии выбора:
1. Удобство в разработке.
2. Совместимость с текущей СУБД.
Удобство в разработке состоит в существующих решений для упрощения
рутинных действий и уже готовых пакетов. По этому критерию подходят все
языки, однако с помощью менеджера пакетов npm, Node.js становится крайне
гибким и простым для реализации приложений языком.
При выборе СУБД учитывалась возможность взаимодействия ею с
серверным языком, а также выполнение в облачной среде MongoDB Atlas.
Выбор облачного решения обусловлена тем, что необходимые задачи,
такие как установка базы данных, настройка для поддержания оптимальной
производительности в течение длительных периодов времени, как правило,
требуют много квалифицированных и целеустремленных усилий.
К счастью, есть более простая альтернатива: MongoDB Atlas — полностью
управляемая облачная версия базы данных – [15].
С MongoDB Atlas вы можете создать кластер MongoDB для любого основного
поставщика облачных вычислений по вашему выбору и начать использовать этот
кластер за считанные минуты. Используя пользовательский интерфейс на основе
браузера Atlas, вы также можете интуитивно настроить кластер и контролировать
его производительность (Рисунок 1.20).
47
Рисунок 1.20. Принцип работы MongoDB Atlas.
Как говорилось ранее, необходимо использовать фреймворк для связи с
сервером. Для Node.js таковым является Express.
Express - фреймворк web-приложений для Node.js, спроектирован для
создания веб-приложений и API. Де-факто является стандартным каркасом для
Node.js. Он минималистичен и включает большое число подключаемых плагинов.
В качестве плагинов будут выступать:
1. Mongoose это плагин JavaScript, используется совместно с Node,js и
MongoDB, сохраняя документы в формате JSON (Рисунок 1.21).
48
Рисунок 1.21. JSON-формат.
В тоже время Mongoose позволяет определять объекты со строго-
типизированной структурой, соответствующей документу MongoDB при
помощи модели, основанной на этой структуре.
2. Для выведения модели представления будет использоваться
шаблонизатор и пропроцессор pug. Отличия от обычного HTML
показаны на рисунке 1.22.
49
Рисунок 1.22. Шаблонизатор Pug.
3. Node-cronмодуль для расписания задач. Позволяет выполнять
определенный код каждый промежуток времени.
4. Screenshot-desktop – плагин для снимков экрана пользователя.
Сохранение объектов в базу данных является плохим решением. Поэтому в
базе данных предполагается хранить ссылки на документы, а сами документы
хранить в облачном решение Cloudinary.
Сохранение будет происходить с помощью API Cloudinary. C помощью
этого API можно отправлять изображения в облачную среду, где они будут
храниться.
Для этого нужно зарегистрироваться в облачной системе, и вставить API-
ключ в свое приложение (Рисунок 1.23).
Рисунок 1.23. Подключение облачного сервиса Cloudinary.
Выполнив анализ средств реализации проекта, с помощью данных
технологий можно достичь:
50
1. Гибкости приложения.
2. Безопасности.
3. Удобного интерфейса.
4. Эффективности.
5. Надежности.
1.4.3 Обоснование проектных решений по техническому обеспечению.
Под техническим обеспечением подразумевается технические средства,
необходимые для функционирования ИС. Техническое обеспечение включает в
себя ПК. Так как подразумевается, что сотрудник будет выполнять работу
удаленно, необходим связь с Internet.
ПК должен обладать некоторыми характеристиками. К таким
характеристикам относится:
1. Надежность.
2. Производительность.
3. Объем памяти.
ПК должен быть достаточно производителен, так как современные
браузеры Chrome, Firefox, Edge требуют относительно большое количество
оперативной памяти и быстрый процессор.
Минимальные характеристики для каждого современного браузера
показаны в таблице 1.2.
Таблица 1.2.
Google Chrome
Mozilla Firefox
Microsoft Edge
Разрядность
32bit/64bit
32bit/64bit
32bit/64bit
ЦП
Pentium 4 с SSE2
Pentium 4 с SSE2
Dual core от 1 GHz
или SoC
Видеоадаптер
3D адаптер
3D адаптер с
драйвером WDDM
1.0
3D адаптер с
драйвером WDDM
1.0
Видеопамять
64 МБ
128 МБ
128 МБ
Винчестер
350 МБ
200 МБ
16 ГБ
51
Оперативная
память
512 МБ
2 ГБ
1 ГБ
Интернет
Широкополосный
доступ
Широкополосный
доступ
Широкополосный
доступ
Разрешение
экрана
SVGA 800x600
SVGA 800x600
SuperVGA 800x600
52
ГЛАВА 2. ПРОЕКТНАЯ ЧАСТЬ
2.1. Разработка проекта автоматизации.
2.1.1. Этапы жизненного цикла проекта автоматизации
Модель жизненного цикла – это модель, определяющая
последовательность выполнения процессов, задач и действий на протяжении
всего жизненного цикла ПО. Мною была выбранна модель ISO/IEC 12207 [07].
Данный стандарт устанавливает общую структуру процессов жизненного
цикла программы. Стандарт определяет процессы, виды деятельности и задачи,
которые необходимы для разработки и внедрения продукта.
По данному стандарту я привел такие этапы:
1. Анализ данных и предпроектное обследование.
1.1. Формулирование требований к ИС.
1.2. Анализ материалов для выполнения проекта.
2. Проектирование.
2.1. Предварительное проектирование.
2.1.1. Выбор проектных решений по аспектам
разработки ИС.
2.1.2. Описание компонентов ИС.
2.2. Детальное проектирование.
2.2.2. Выбор подхода к разработке ИС.
2.2.3. Корректировка структур БД.
2.2.4. Выбор комплекса ПО для разработки.
3. Разработка.
3.1. Разработка приложения.
3.2. Тестирование приложения.
3.3. Подготовка документации
4. Внедрение.
4.1. Публикация приложения на хостинг.
4.2. Обучение работников.
4.3. Сдача приложения.
5. Эксплуатация и сопровождение.
53
5.1. Повседневная эксплуатация.
5.2. Общее сопровождение всего проекта.
На первом этапе внедрения следует опубликовать проект в сети Internet.
Существует множество вариантов хостинга:
1. Локальный туннель. Позволяет развернуть приложение и
обслуживать запросы пользователей, предназначен для маленькой
группы людей. Некоторые локальные туннели описаны ниже:
1.1. Glitchэто интерактивная среда и платформа для
быстрой разработки приложений, которая позволяет
разворачивать их в поддоменах glitch.com.
1.2. Codepen – платформа, позволяющая создавать проекты,
включающие себя множество файлов и разворачивать их с
использованием своего домена.
2. Бессерверные среды. Позволяют публиковать приложение без
настройки и управлении сервером. Приложение публикуется в виде
функций, которые реагируют на обращение к сетевой конечной точке.
Ниже приведены два популярных решений, позволяющие публиковать
приложение в облачных платформах.
2.1. Serverless.
2.2. Standard.
3. PAAS-решения. Это платформы, которые берут на себя заботу
обо многих вещах, о которых, в обычных условиях, должен заботиться
разработчик, развёртывающий приложение.
3.1. Zeit Now.
3.2. Nanobox.
3.3. Heroku – [01].
3.4. Microsoft Azure.
3.5. Google Cloud.
4. VPS-хостинг. Существует множество платформ,
предоставляющих услуги VPS-хостинга. Общей чертой таких платформ
является тот факт, что разработчик получает в своё распоряжение
виртуальный сервер, самостоятельно устанавливает на него
54
операционную систему (Linux или Windows), самостоятельно
развёртывает приложения.
4.1. Digital Ocean.
4.2. Linode.
4.3. Amazon Web Services.
Проанализировав варианты развертывания проекта, использование PAAS-
решение будет наиболее актуальным, такое решение позволяет легко развернуть
приложение для небольших компаний. Самым приемлемым вариантом является
Heroku.
Для развертывания в Heroku необходимо отправить код в удаленный git-
репозиторий. Для этого нужно добавить свой публичкой код в API Heroku.
Далее необходимо загрузить и установить Heroku Toolbelt. При открытии
этого инструмента необходимо зайти в систему под своим логином и паролем
(Рисунок 2.1).
Рисунок 2.1. Вход в систему хостинга.
После выполнение этих этапов, необходимо создать новое приложение на
сайте Heroku (Рисунок 2.2).
55
Рисунок 2.2. Создание нового приложения.
После создания приложения откроется информативная панель, в которой
нужно скопировать git-url (Рисунок 2.3).
Рисунок 2.3. Панель информации.
Далее следует добавить в своем терминале удаленный адрес Heroku и
внести изменения в удаленный репозиторий. После этого Heroku начнет собирать
приложение и развернет его на указанном url-адресе.
Также в Heroku имеется большой функционал мониторинга и других
решений партнёров платформы.
На этапе эксплуатации необходимо решать проблемы, возникшие во время
использования приложения сотрудниками.

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

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)