
- •Введение
- •1.4 Безопасность при эксплуатации пэвм
- •1.5 Стадии и этапы разработки
- •1.6 Порядок контроля и приемки
- •2 Требования к функциональным характеристикам
- •3.2 Выбор формата обмена данными
- •3.3 Выбор среды разработки
- •3.4 Выбор субд для системной базы данных
- •4 Разработка базы данных
- •Пользователи и права доступа
- •Метаданные
- •5 Разработка программного обеспечения
- •5.1 Архитектура программного обеспечения
- •5.2 Система аутентификации и авторизации
- •5.3 Взаимодействие с клиентским приложением
- •6 Тестирование программы
- •6.1 Модульное тестирование
- •6.2 Системное тестирование
- •7 Организационно-экономическая часть
- •7.1 Технико-экономическое обоснование объекта проектирования
- •7.2 Организационная часть
- •7.3 Экономическая часть
- •7.4 Выводы
- •8 Безопасность и экологичность проектных решений
- •8.1 Цель и решаемые задачи
- •8.2 Опасные и вредные факторы при работе с пэвм
- •8.3 Характеристика объекта исследования
- •8.4 Мероприятия по безопасности труда и сохранению работоспособности
- •8.5 Рсчеты
- •Заключение
- •Список литературы
- •Приложение 1. Листинг
5 Разработка программного обеспечения
5.1 Архитектура программного обеспечения
Одним из важнейших этапов разработки программного обеспечения является выбор архитектуры приложения. На данный момент существует два основных вида клиент-серверной архитектуры — двухзвенная и трёхзвенная.
Двухзвенная архитектура (рис. 5.1) проще, так как все запросы обслуживаются одним сервером, но именно из-за этого она менее надежна и предъявляет повышенные требования к производительности сервера.
Рисунок 5.1 - Двухзвенная архитектура
Трехзвенная архитектура (рис. 5.2) сложнее, но благодаря тому, что функции распределены между серверами второго и третьего уровня, эта архитектура представляет:
Высокую степень гибкости и масштабируемости.
Высокую безопасность (т.к. защиту можно определить для каждого сервиса или уровня).
Высокую производительность (т.к. задачи распределены между серверами).
Рисунок 5.2 - Трехзвенная архитектура сервера
В качестве архитектуры сервера была выбрана трехзвенная архитектура, так как она позволяет произвести разделение логики приложения и операций, связанных с хранением информации, возложив вторую функцию на СУБД (Сервер управления базой данных).
В объектно-ориентированном программировании объекты в программе представляют объекты из реального мира. В качестве примера можно рассмотреть адресную книгу, которая содержит список людей с нулём или более телефонов и нулём или более адресов. В терминах объектно-ориентированного программирования они будут представляться объектами класса «Человек», которые будут содержать следующий список полей: имя, список (или массив) телефонов и список адресов. Данные объекты нуждаются в преобразовании в форму, в которой они могут быть сохранены в файлах или базах данных, и которые легко могут быть извлечены в последующем, с сохранением свойств объектов и отношений между ними. Эти объекты называют «хранимыми» (англ. persistent). Данную задачу решает технология ORM (англ. Object-relational mapping, рус. Объектно-реляционное отображение), которая связывает реляционные базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». Так же ORM позволяет абстрагироваться от конкретной СУБД, благодаря чему сервер может работать с различными базами данных без необходимости изменения кода.
Архитектурная схема разрабатываемой платформы представлена на рисунке 5.3.
Рисунок 5.3 - Архитектура ПО
Сервер может быть размещен как внутри локальной сети предприятия, так и в сети интернет, в том числе с использованием облачных сервисов, таких как Jelastic.
Рисунок 5.4 – Сервер в «облаке»
Сервер приложений «Коринф» может взаимодействовать с различными клиентскими приложениями.
5.1.1 Веб-клиент
В случае использования веб-клиента, доступ к серверу может быть осуществлён через веб браузер с любого компьютера, без необходимости установки и настройки какого либо дополнительного программного обеспечения. Такой клиент независим от операционной системы и может работать при наличии современного веб-браузера. К недостаткам данного типа клиентских приложений стоит отнести низкую скорость работы при обработке больших массивов данных.
5.1.1 Клиент для настольных операционных систем
Данный клиент представляет собой специальное прикладное программное обеспечение, работающее в окружении одной из настольный операционных систем, таких как Windows, Linux, OS X и других ОС. Благодаря работе напрямую с операционной системой данный клиент отличается наибольшей производительностью и широкими возможностями при реализации пользовательского интерфейса.
Этот тип клиента подходит для использования сотрудниками в рамках локальной сети предприятия.
5.1.1 Консольный клиент
Консольный клиент предназначен в первую очередь для использования администраторами системы и позволяет быстро выполнить основные функции по администрированию сервера. Удобен для удаленного отслеживания состояния системы с возможностью корректировки работы в случаях сбоя.
5.1.1 Мобильный клиент
Мобильный клиент обеспечивает удаленный доступ к системе через смартфоны и планшеты, что может быть удобно для сотрудников, работающих вне офиса, таких как складские работники, администраторы торговых залов, курьеры и прочие.