Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РПЗ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6.64 Mб
Скачать

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 Мобильный клиент

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