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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
36
Серверные ОС состоят из двух частей: одна часть располагается на сервере, а
другая - на рабочих станциях (Windows NT Server, OS/2 LAN Server, UNIX Ware,
LINUX, SC).
Типы ОС:
графические – текстовые;
бесплатные - платные;
открытые – закрытые;
клиентские - серверные;
16-разрядная - 32-разрядная - 64-разрядная;
Из современных ОС можно выделить три решения:
1. Windows.
2. Linux.
3. MacOS.
Windows. Еще недавно самая распространенная операционная система. По
данным статистики, она установлена на 85% устройств: планшеты, ноутбуки,
компьютеры. Используются как дома, так и на предприятиях.
Плюсами являются отличная совместимость и распространенность.
Из минусов можно выделить платность и сложность правильной настройки.
Linux. ОС из семейства UNIX. Достоинствами данной ОС является
оперативная доработка недочетов и неточностей благодаря открытому исходному
коду, из этого следует что еще одним главным плюсом этой ОС является ее
бесплатность и крайне гибкая конфигурация. Недостатками является сложность в
настройке и плохая совместимость со многими приложениями и программами.
MacOS. ОС от компании Apple. Поставляется исключительно с продуктами
Apple. Имеет закрытый исходный код. Достоинствами является исключительная
стабильность и безопасность.
Сравнительная характеристика предоставлена в таблице 1.1.
37
Таблица 1.1.
Windows
Linux
MacOS
Минимальные
системные
требования
Процессор с двумя
ядрами, 1 ГБ
оперативной
памяти.
Процессор с одним
ядром, 256 МБ
оперативной
памяти.
Процессор с одним
ядром, 512 МБ
оперативной
памяти.
Безопасность
Наиболее
уязвимая ОС, из-за
плохой разработки
новых оболочек.
Своевременная
поддержка и
исправление
неисправность
делают эту ОС
довольно
безопасной.
Наиболее
безопасная ОС из-
за закрытого кода и
высококвалифицир
ованных
сотрудниках.
Процесс
установки и
настройки
Установить ее
может почти
каждый, но
конфигурация
требует большего
опыта.
Установить ее
может почти
каждый, но
конфигурация
требует большего
опыта.
Простая установка
и изначально уже
сконфигурированн
ая система
Стабильность
Относительная
стабильность при
плохой
конфигурации.
Самая стабильная
система из
анализируемых
ОС.
Сбои случае при
нарушении правил
Apple
Поддержка ПО
Из-за своей
популярности с
поддержкой ПО
проблем быть не
должно
Из-за своей
относительной
популярности, не
все ПО
поддерживается
полностью
Поддержка ПО
только из AppStore
Исходя из анализа ОС, из-за своей распространенности, поддержки и
удобстве использования, предпочтительной ОС является Windows.
Классификация СУБД разделяется на несколько пунктов:
38
1. По модели данных.
1.1. Иерархические.
1.2. Сетевые.
1.3. Реляционные.
1.4. Объектно-ориентированные.
1.5. Объектно-реляционные.
2. По степени распределенности.
2.1. Локальные (размещаются на одном компьютере).
2.2. Распределенные (размещаются на двух и более компьютерах).
3. По способу доступа к базе данных (БД).
3.1. Файл-серверные (файлы распределяются централизованно на
файл-сервере).
3.2. Клиент-серверные (СУБД располагается непосредственно на
сервере).
3.3. Встраиваемые (располагаются непосредственно в приложении).
Помимо традиционных моделей БД, существует альтернативная – NoSQL.
История этой модели крайне занимательна, ведь сама по себе идея не
реляционной базы данных была не новой, и уже была реализована во времена
первых компьютеров. В начале 2000-х годов компания Google реализовала свои
сервисы – поисковую систему и некоторые веб-приложения, такие как Gmail,
Google Maps, Google Earth и т.д., в результате которых была создана
распределенная файловая система, которая позволила реализовать
масштабируемость и параллельную обработку данных.
Традиционные СУБД ориентируются на требования ACID к
транзакционной системе: атомарность, согласованность, изолированность,
надёжность, тогда как в NoSQL вместо ACID может рассматриваться набор
свойств BASE:
1. Каждый запрос гарантировано завершится – базовая доступность.
2. Состояние может измениться со временем, даже без ввода новых
данных – гибкое состояние.
39
3. данные могут быть некоторое время независимы друг от друга, но
приходят к согласованию через некоторое время – согласованность в
конечном счете.
Решения NoSQL отличаются не только проектированием с учётом
масштабирования. Другими характерными чертами NoSQL-решений являются:
1. Применение различных типов хранилищ.
2. Возможность разработки базы данных без задания схемы.
3. Линейная масштабируемость (добавление процессоров увеличивает
производительность).
4. Инновационность: «не только SQL» открывает много возможностей
для хранения и обработки данных.
Типы систем:
1. Ключ-значение.
2. Семейство столбцов.
3. Документированная ДБ.
4. Графовая ДБ.
Исходя из того, что технология проектирования БД NoSQL является
прогрессивным и в будущем поддержка и масштабируемость позволит развивать
проект, NoSQL является приоритетным для реализации БД.
Помимо выбора самой БД, необходимо выбрать для нее СУБД, чтобы
манипулировать данными БД.
СУБД различаются по типу систем, приведенные выше, поэтому
необходимо выполнить анализ этих типов, выбрать подходящую и выбрать
наиболее актуальную СУБД.
Начнем наш анализ с рассмотрения типа хранилища ключ-значения.
Довольно быстрые так как в этом типе отсутствуют структура и связи. Наиболее
актуальные СУБД – Redis, MemcacheDB(хранят данные в памяти).
Следующий щаг после СУБД ключ-значение – Распределенное хранилище.
В отличии от привычных таблиц в реляционных моделях, эти СУБД не требует
предварительного описания структуры данных. Каждая запись состоит из одного
или нескольких столбцов содержащих данные, а каждый столбец разных записей
40
может хранить разные типы данных. Предназначены для очень больших данных.
Актуальные СУБД – Cassandra, HBase.
Документо-ориентированные хранилища очень быстро захватили рынок
NoSQL. Принцип работы таких хранилищ такой же как и в прошлых, за
исключением большой вложенности и сложности структур данных. Актуальные
СУБД - MongoDB, Couchbase.
Последним и крайне редким типом хранилища данных является БД типа
граф. Используются исключительно для хранения очень сложно
структурированных данных.
Исходя из этого анализа, самой актуальной и наиболее подходящей СУБД
является MongoDB. Эта СУБД имеет ряд приемуществ:
1. Очень функциональное хранилище.
2. Вложенная информация.
3. Поддержка JavaScript. Проектное решение будет использовать Node.js и
такая функция будет крайне актуальной.
Существует два основных подхода к разработке информационных систем,
отличающихся критериями декомпозиции.
Первый подход - функционально-модульный, выполняется принципом
алгоритмической декомпозиции. С помощью этого принципа осуществляется
разделение функций ИС на модули по функциональной принадлежности, и
каждый модуль реализует один из этапов общего процесса. Функционально-
модульный подход к проектированию ИС, получил название «модель водопада»,
предусматривает строго последовательный порядок действий (Рисунок 1.16).
41
Рисунок 1.16. Метод водопада
Главный и самый неприятный недостаток такого подхода - движении
информации в одном направлении. При эксплуатации и проектировании
возникает проблема, то она исправляется только на данной стадии проекта, не
затрагивая предыдущие стадии.
Недостаточная обратная связь приводит к ограниченным исправлениям,
что, в свою очередь, приводит к деформированным реализациям. Ориентация на
функционально-модульный подход увеличивает вероятность потери контроля над
решением возникающих проблем.
Объектно-ориентированная технология проектирования ИС (Рисунок 1.17).
42
Рисунок 1.17. Объектно-ориентированная технология
Предоставляет мощную, гибкую, универсальную концептуальную основу
для конструирования информационно-управляющих систем в различных
областях хозяйственной деятельности и управления, сочетающую использование
моделей современной логистики, объектного подхода к компонентам предметной
области, современных инструментальных средств визуального
программирования с СУБД. Объектно-ориентированная технология
проектирования ИС включает в себя следующие компоненты:
технологию конструирования концептуальной объектно-ориентированной
модели предметной области;
инструментальные средства спецификации проектных решений;
библиотеки типовых компонент модели предметной области;
типовые проектные решения для ряда функциональных областей.
В основу объектно-ориентированной технологии проектирования ИС
положены разработка, анализ и спецификация концептуальной объектно-
ориентированной модели предметной области.
43
Концептуальная объектно-ориентированная модель предметной области
является основой проекта и реализации системы и обеспечивает:
необходимый уровень формализации описания проектных решений;
высокий уровень абстрагирования, типизации и параметризации проектных
решений;
компактность описания;
удобство сопровождения готовой системы.
Отличительными чертами предлагаемой методологии являются
следующие:
наличие единого методологически обоснованного ядра, обеспечивающего
открытость технологии для модификации, расширения и создания новых
моделей представления проектных решений;
наличие единого формального аппарата анализа проектных решений для
используемых моделей представления.
Отличительными чертами предлагаемой технологии являются:
совместное рассмотрение информационных, материальных и финансовых
потоков;
первичная и вторичная классификация объектов предметной области с
обязательным указанием оснований классификации;
наличие конструктивных методик декомпозиции и агрегирования
компонентов проекта, использующих результаты классификации;
наличие формальных методов оценки связности и сцепления компонентов
проекта;
использование функциональной модели данных с атрибутами – функциями
доступа и атрибутами – категориями в качестве основы концептуальной
модели данных.
Исходя из анализа подходов разработки ПО, использовать объектно-
ориентированную технологию.
Для реализации функционального ПО на рынке существует крайне
большое разнообразие выбора. Так как наш проект будет позиционироваться как
веб-приложение, взаимодействия клиента, сервера и браузера неразделимы.
44
Поэтому использование таких технологий как HTML, CSS, Javascript
является необходимым условием и альтернативных выборов нет.
HTML и CSS отвечают за то, что видит клиент – стилизованная страница
веб-сайта.
За динамическую составляющую отвечает JavaScript.
Современный JavaScript – это «безопасный» язык программирования. Он
не предоставляет доступ к памяти или процессору, потому что изначально был
создан для браузеров, не требующих этого.
Окружение влияет на возможности JavaScript, в котором он работает.
Например, Node.JS поддерживает функции чтения/записи произвольных файлов,
выполнения сетевых запросов и т.д – [12].
В браузере для JavaScript доступно всё, что связано с манипулированием
веб-страницами, взаимодействием с пользователем и веб-сервером.
Например, в браузере JavaScript может:
1. Добавлять новый HTML-код на страницу, изменять существующее
содержимое, модифицировать стили.
2. Реагировать на действия пользователя, щелчки мыши, перемещения
указателя, нажатия клавиш.
3. Отправлять сетевые запросы на удалённые сервера, скачивать и
загружать файлы (технологии AJAX и COMET).
4. Получать и устанавливать cookie-файлы, задавать вопросы посетителю,
показывать сообщения.
5. Запоминать данные на стороне клиента («local storage»).
Помимо работы на стороне клиента, необходимо взаимодействовать на
стороне сервера, где существует большое множество языков программирования.
Будут рассмотрены и проанализированы такие языки программирования
как:
1. PHP - скриптовый язык общего назначения, применяемый для
разработки веб-приложений. В настоящее время поддерживается
подавляющим большинством хостинг-провайдеров и является одним из
лидеров среди языков, применяющихся для создания динамических веб-
сайтов.
45
2. Ruby – не является исключительно скриптовым языком для
взаимодействия с веб-сервером, однако преуспел в этом из-за
популярности фреймворка – Ruby on Rails. Приемуществами является
легкость в освоении и понятный для обычного человека синтаксис.
3. Python – высокоуровневый язык программирования общего назначения,
для взаимодействия с веб-сервером используется фреймворк Django.
4. Node.js – программная платформа, работающая на движке V8,
позволяющая сделать JavaScript в язык общего назначения – [13].
Сравнение популярности этих языков предоставлена на рисунке 1.18 [14].
Рисунок 1.19. Популярность языков программирования.
Разработчики обычно пишут свой код, используя веб-фреймворки. Веб-
фреймворки – [05] - это наборы функций, объектов, правил и других конструкций
кода, предназначенных для решения общих проблем, ускорения разработки и
упрощения различных типов задач, стоящих в конкретной области.
И снова, поскольку и клиентская и серверная части используют
фреймворки, сферы очень разные и, следовательно, фреймворки тоже разные.
Фреймворки клиентской части значительно упрощают вёрстку и представление
данных, тогда как фреймворки серверной части обеспечивают много «обычного»
функционала веб-сервера, который вы возможно в противном случае должны
были осуществлять самостоятельно (например, поддержка сессий, поддержка

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

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