Файл: Используемые концепции, понятия и определения.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 83

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

При этом существенно повышается эффективность и используемость программного кода. Это связано с тем, что исполнительная среда CLR позволяет обеспечить работу компилятора промежуточного уровня, что является более эффективным по сравнению с интерпретатором байт-кода в Java Virtual Machine.

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

Данные решения реализуются для всех платформ, которые поддерживаются вендором средств разработки Microsoft. К таким платформам относятся операционные системе Windows 7, 8, 10, Windows Mobile, операционная система в Xbox, а также осуществляется интеграция Microsoft Silverlight и Azure [4].

Отличия в реализации синтаксиса C# и Visual Basic приведены на рисунке 4.

Рисунок 4 - Отличия в реализации синтаксиса C# и Visual Basic

2.4. Преимущества и особенности языка Java

Java - это популярный высокоуровневый язык программирования, который был выпущен известной ИТ компанией Sun Microsystems еще в 1995 году.

В настоящее время разработкой языка Java занимается корпорация Oracle. Синтаксис данного языка во многом похож на язык C++, на котором Java и был изначально разработан [20].

Разрабатываемые Java приложения компилируются в отдельный байт-код (формат .class), который при выполнении интерпретируется JVM (виртуальной машиной Java) для конкретной аппаратно-программной платформы или операционной системы.

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

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

Для обхода этого недостатка языка существуют механизмы интеграции отдельных модулей низкоуровневого управления, которые могут быть написаны на других языках (ассемблер, С++ и др.).

При создании Java изначально были сформулированы такие принципы:

  • синтаксис должен быть максимально простым, гибким, удобным и привычным пользователю-разработчику;
  • высокая производительность и безопасность процесса разработки и реализации исполняемых приложений;
  • кроссплатформенность по принципу “Once Write –Anywhere Use”;
  • поддержка масштабируемости и мультизадачности посредством возможности создания параллельных процессов и потоков [19].

Кроссплатформенность достигается путем компиляции изначального Java-кода (формат .java) в байт-код (.class), представляющего собой набор упрощенных команд. После этого разработанное приложение может быть выполнено на любой поддерживаемой платформе, т.е. на платформе, которая имеет установленную JVM, способную интерпретировать байткод в код, учитывающий специфику конкретной ОС и процессора. Архитектура Java окружения приведена на рисунке 5 [6].

Рисунок 5 – Архитектура Java окружения

Главным преимуществом использования байт-кода является портативность. Т.е. байт-код переносится на любую платформу и запускается без установки, достаточно просто наличие JVM. При этом, недостатком является необходимость выделения дополнительных вычислительных ресурсов на интерпретацию, т.е. мощности процессора и оперативной памяти задействуются в большем объеме. В связи с этим некоторые считают, что Java является достаточно медленным языком разработки.

В Java практически все структуры данных являются объектами. Исключением являются такие примитивные типы данных, как целочисленные (int), символы (char), логический тип данных (boolean) и др. Также, в Java все объекты являются производными от самого главного объекта (Object), который является их потомком, посредством которого обеспечивается их базовое поведение и все основные свойства.

В Java возможно единичное наследование, что позволяет исключить возникновение конфликтов между различными членами класса, которые могут быть наследованы от нескольких родителей, что затрудняет их однозначную идентификацию [13].

Выводы по главе 2

В данном разделе курсовой работы сделан акцент на проведении анализа популярных высокоуровневых языков программирования на практике современного рынка труда в сфере информационных технологий. Обозначены ключевые преимущества и особенности языков Python, C#, C++ и Java, приведены иллюстрации для наглядного отображения концепций архитектурного состава и интерфейса сред разработки данных средств разработки программного обеспечения.

ГЛАВА 3. ОПИСАНИЕ ОСОБЕННОСТЕЙ РЕАЛИЗАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ПОМОЩЬЮ ЯЗЫКА PYTHON


3.1. Описание разрабатываемого проекта приложения

В рамках данного раздела осуществляется разработка информационной системы координирования грузопотока в порту.

Такая система должна быть удобной в использовании, обладать интуитивно-доступным интерфейсом, не нуждаться в специальных средствах для выполнения функциональных операции. Основываясь на современных программных средствах, оптимальным является использование языка программирования Python с библиотекой PyQT. В качестве среды программной разработки используется PyCharm. Это позволит обеспечить высокую степень быстродействия приложения, его защищенность и соответствия конкретной специфики деятельности предприятия. Разработанная диаграмма классов приложения приведена на рисунке 6.

Рисунок 6 - Диаграмма классов программного обеспечения

Класс Main.py - главный класс программного обеспечения. Включает в себя сценариев выполнения элементов графического интерфейса, а также создание динамических событий. Такие события начинают свою работу во взаимодействии с элементами программного обеспечения.

Класс MainForm.py - выполняет построение интерфейса программного обеспечения. К элементам интерфейса относятся функциональные элементы (кнопки), графические элементы, текстовые элементы, окна ввода и вывода информации и прочее. Такой класс позволяет создавать графическое наполнение программного средства, и организовывать эргономичные элементы управления.

Класс InfoWidgetForm.py - класс отвечающий за вывод технической информации и справок. Позволяет добавить более удобной адаптации программного обеспечения при его использовании.

Класс SkladWidgetForm.py - позволяет отображать наборы элементов интерфейса окна технических работников. Благодаря такому классу, была разработана окна терминалов, наполнение окон информацией, окна текущих заказов на перегрузку, статус груза, а также технического описания на каждый груз.

Класс SkladWidgetCode.py - позволяет добавить к графическому класса, систему взаимодействия с пользователем. Такой класс делает возможным ввод и вывод информации в графические формы.

Класс PerebrosForm.py - класс который строит форму перегрузки, а также делает ее управляемой. Форма перегрузки построена из элементов списка, текстовых полей, а также информативных боксов для вывода информации о количестве груза.


Класс Form.py - позволяет выводить текстовую информацию в форму интерфейса.

Класс RegistrUser.py - строит окно регистрации и авторизации пользователя программного средства. Компонует элементы ввода и вывода информации.

Класс LoginUser.py - делает форму интерфейса активной, а также добавляет функциональное взаимодействие элементов.

Класс AddTovar.py - создает графическое окно добавления груза на склад. Для большего быстродействия программного средства, в классе разработан функцию управления графическими объектами.

Класс TehnikaWidgetForm.py - графическое окно технических средств порта.

Класс TehnikaWidgetCode.py - позволяет использовать систему управления графическим окном техники порта.

На этапе проектирования программного обеспечения, одним из ключевых этапов является разработка порядка работы системы. Он состоит из следующих процессов::

  1. Подача заявления в порт - позволяет сформировать бланк-заявление от судовладельца, на выполнение перевалочных операций с разрешением на вход в порт. Такая заявление состоит из представлений нормативных документов, которые присутствуют в судовладельца, а также документов на груз.
  2. Обработка заявления оператором - выполнение проверочных действий в отношении представленных документов. Такое решение не может быть автоматизировано, за счет сложности в выявлении подделки. Поэтому автоматизация этого процесса не является оптимальной. После подтверждения заказа от судовладельца, программная система позволяет выполнять следующие действия по перевалочных процессов.
  3. Определение оптимального терминала - к основанию относится способ принятия решения, который анализирует технические характеристики судна, личности груза, а также количество груза. Это позволяет создать оптимальное решение, относительно терминала, на котором будут выполняться перегрузочные операции.
  4. Проверка на возможность добавления в очередь - выполняет проверку даты и причала, на возможность перевалочных процессов. Такое решение автоматизирует большое количество организационных процессов, за счет построения многоуровневых проверок. Такая проверка включает в себя два конечных решения, при каждом из которых доступны различные возможные варианты.
  5. Бронирование даты - используется после положительной проверки на возможность добавления в очередь. Фиксирует дату и причал по определенному судном. Для всех судов, причал становится недоступным на определенное время.
  6. Подготовка необходимой техники - организует бронирование перевалочный техники, по типу груза. Во время такого бронирования, технические средства происходят недоступны другим причалам терминала, и сосредотачиваются на скоростное перевалки.
  7. Расчет стоимости перевалки - позволяет определить финальную стоимость всех перевалочных процессов, к которым необходимо отнести портовые сборы, швартовку, работу техники, складов, открытой площадки, персонала и тому подобное.
  8. Расчет конечного срока перевалки - осуществляется за счет анализа перевалки первых суток. Если результат является хорошим, программная система планирует конечный срок перегрузки, и позволяет всем другим судам бронировать дату, после указанного срока.
  9. Определение другой даты - вариант, который возникает после негативного прохождения проверки на возможность добавления в очередь. Программное средство анализирует все другие возможные даты и причалы, согласно специфики груза. После определения новой даты, она направляется заказчику перегрузки.
  10. Ожидание подтверждения от заказчика - программное средство перемещает в виртуальную очередь заказ на перегрузку в другую дату, и ожидает подтверждения таких действий от заказчика услуг.

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

3.2. Описание интерфейсной составляющей программного приложения

Программное обеспечение выполнено в традиционном стиле прикладного обеспечения. Традиционным является использование упрощенного и минималистичного интерфейса, который упрощает использование системы. Главная страница (рисунок 7), разработанная в стиле демонстрации названия программного обеспечения, и начала использования после регистрации и авторизации пользователя.

Рисунок 7 - Главная страница программного обеспечения по управлению грузооборотом порта

В качестве системы безопасности, используются средства частного доступа пользователей к программному обеспечению. Начальном действием является создание учетной записи, которая отвечает за отображение функционала. Для построения главного окна используется класс:

class Window (QtWidgets.QWidget):

def __init __ (self, parent = None):

QtWidgets.QWidget .__ init __ (self, parent)

self.ui = MainForm ()

self.ui.setupUi (self)

self.Data = None

Класс строит главное окно, и организует работу элементов интерфейса. Главным элементом класса является инициализация компонентов, которая отвечает за функциональные особенности кнопок интерфейса, и выполнеия действий кнопками.

Окно регистрации пользователя в программном обеспечении изображено на рисунке 8.

Рисунок 8 - Окно регистрации пользователя

Регистрация пользователей в программном обеспечении выполняется за счет проверки главного поля с должности пользователя (рисунок 9). В зависимости от выбранной должности пользователя, выполняется различный перечень возможностей для каждого пользователя.

Рисунок 9 - Окно выбора должности пользователя программного обеспечения

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