Электронная библиотека » Сергей Евдокимов » » онлайн чтение - страница 2


  • Текст добавлен: 4 мая 2023, 06:01


Автор книги: Сергей Евдокимов


Жанр: Компьютеры: прочее, Компьютеры


Возрастные ограничения: +12

сообщить о неприемлемом содержимом

Текущая страница: 2 (всего у книги 8 страниц)

Шрифт:
- 100% +
Глава 5. Функциональный анализ проекта построения оптимальных маршрутов для транспортных перевозок

Опираясь на анализ предметной отрасли, можно перейти к проектированию и реализации поставленных вопросов. На первых этапах по созданию ПО нужно понимать процесс работы в организации, автоматизацией работы которой нужно заниаматься [4]. По описанию иследования компании нужно выстроить модель. Такая модель должна быть адекватна предметной области; следовательно, она должна включать в себя знание всех участников бизнес-процессов организации.

Построим контекстную диаграмму (DFD), которая позволит выявить сущности, принимающие участие в функционировании работы программного продукта, в поисках оптимальных маршрутов для транспортных перевозок, происходящие в ней процессы и информацию, которая переходит от пользователей к программе и наоборот. На основании исследования предприятия была построена функциональная модель бизнес-процесса «Транспортные перевозки», представленная на рисунках 1.5.1 и 1.5.2. Диаграммы потоков данных (DFD) можно использовать в качестве дополнения к модели IDEF0 для более наглядного отображения текущих операций документооборота в корпоративных системах обработки информации.

При формализации предметной области «Грузовые перевозки» были обнаружены следующие объекты DFD:

Внешние сущности:

– заявка.

Процессы:

– формирование путевого листа;

– учет доставки груза;

– формирование оплаты водителю;

– формирование стоимости перевозки;


Рисунок 1.5.1 – Контекстная DFD-диаграмма процесса

планирования оптимальных маршрутов


Рисунок 1.5.2 – Диаграмма вариантов использования пакета

программ пользователем

Глава 6. Анализ существующего программного обеспечения

Сегодня каждому доступно немало программ и сервисов, позволяющих проложить оптимальный маршрут из точки А в точку Б. Вопрос лишь в том, какую программу предпочесть? Чтобы ответить на него проанализированы самые популярные из них, определив плюсы и минусы.


Таблица 1.6.1 – «Преимущества и недостатки существующего

программного обеспечения»


Подытоживая все вышеперечисленное можно подчеркнуть, что пока не существуют сервисы, которые строили бы оптимальные пешеходные маршруты внутри города и одновременно были удобными и понятными для пользователей при взаимодействии с ними. Популярные картографические сервисы типа Google Maps не предлагают пользователям возможность поиска оптимального маршрута. При заполнении значений некоторых координатных точек, платформа выстраивает маршрут по таком порядке, в котором эти данные были введены изначально. Пользователи утилит выбирают средства для передвижения, но все эти преднастройки имеют влияние исключительно на те варианты создания маршрута с его фиксированными точками. Анализ, который проводился путем сравнения десятков зарубежных картографических сервисов показывает, что среди самых популярных вариантов только у одного доступна функция построения оптимального пути, и далеко не всегда она работает корректно. Поэтому необходимо усовершенствовать существующие алгоритмы, на основе недостатков современных программ [6], построить пакет программного обеспечения для преодоления всех необходимых потребностей.

Глава 7. Критерии при подготовке

Зачастую появляется желание, чтобы усовершенствовать ПО для современных нужд, но нужно готовится к тому, что на начальной стадии продукт имеет много серьезных ошибок. Существует много случаев, когда для доработки небольшого Фреймворка проходят месяцы по исправлению, а иногда – годы. Поэтому, стоит учитывать, что разработка Фреймворков может быть даже приостановлена. Всегда нужно предпочитать проверенные временем продуктам. Как пример можно привести C# и SQL. Это стандарт для разработок в бизнес-сервисе. Поэтому, множество Баз знаний проводит вероятность столкнуться с неразрешимой проблемой к нулю.

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

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

Размер и сложность проекта. В случае, когда это небольшой проект или MVP, то стоит в максимально короткий период выполнить задания проекта, выбирая язык и Фреймворк, нужный и эффективный. Проблемой является, особенно на аутсорсинге, когда решения принимают отдел, в место куда попадает проект.

Тип проекта. Различные типы проектов приспособлены к разным технологиям. Например: приложение с интенсивным использованием данных, потоковые приложения, IoT, приложения для социальных сетей, CMS приложения, простые MVP и торговые площадки.

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

Востребованность технологии. Насколько много вакансий на рынке, какие в среднем зарплаты. Причём лучше посмотреть по разным странам. Например, С# очень популярен на Западе и сильно обгоняет своего конкурента Java, а значит, работу на нём будет находить значительно проще. А вот Рефал имеет некоторую популярность только на территории РФ, да и вакансий то очень мало.

Порог входа. От этого есть зависимость от скорости зарабатывания по этой технологии и решения поставленных заданий. К примеру, язык программирования С# [7] имеет высокий порог для входа.

Перспективность. Технологии, которые устаревают, со ремнем теряют востребованность, поэтому смотрите по динамике роста популярности языков программирования и фреймворков. К примеру, язык C# содержит позиции в счёт развития направлений машинного обучения [8], и развития в него точно имеет огромный перевес. Например, язык программирования Go используется для микросервисов в больших компаниях, но нет никаких гарантий, что это будет надолго.

Интерес. Не представляет возможности добиваться весомых результатов, не имея интереса. Поэтому это является важным пунктом. Но учитывая, что интересы по временем меняются – и это норма.

Глава 8. Требования к созданию 2D-приложений

Список требований, которые нужно стремительно развивать, совершенствовать, чтобы уметь создавать отличные 2D программы и приложения:

– усовить понятия: «переменные», «ветвления», «функции» и «циклы»;

– изучить консоль и методы работы с ней, будет вводить и считывать данные, форматировать строки, обрабатывать файлы;

– разобраться с синтаксическими конструкциями C#, вошедшего в список самых популярных языков программирования [9];

– познакомится с библиотеками и шаблонами, инструментами разработки и их возможностями;

– читать коды и управлять ими;

– создавать игровые объекты и классы, работать с ними, наделять их различными свойствами;

– работать со структурированными документами формата XML;

– добавлять в игру анимацию с графическим интерфейсом.

Глава 9. Статистика услуг для транспортных перевозок

Ссылаясь на информационный ресурс по грузоперевозкам ATI.SU, за 2022 год спрос по внутреннему рынку для автоперевозок вырос на 7%. Но к примеру, весной 2022 по август 2022 ещё увеличилось количество заявок, ускорившийся к концу 2022 года: в ноябре 2022 выросло на 28%, в декабре 2022 – на 22%. Синхронно изменились ставки по транспортных перевозках внутри страны, которые прибавились во втором полугодии на 29,7%, а в их итоговому росту на 3,9% за 2022 году. Импортные перевозки в 2022 году, за данными ATI.SU, имели прогресс по количеству заявок на 41%, но в основном весь рост был за третий и четвёртый квартал текущего года. А заявки на доставку грузов между РФ, РБ, и Казахстан заметно выросли – на 34 и 109% в соответствии по итогам 2022 года, отмечая, более впечатляющая динамика внутри страны Азербайджане (рост на 286%), Армения (на 265%), Турция

(на 244%) и Иран (на 204%). Также стоит отметить, что значительно вырос спрос на транспортные перевозки из Узбекистана, Киргизии, Грузии и Китайской Народной Республики по территории стран Евразии. Учитывая, что на европейских направлениях трудностей не произошло (ATI.SU), только даже выросло количество заявок на перевозки из Испании, Сербии, Эстонии. В этом случае, до 15%) потеряли страны: Италия, Польша, Франция и Литва, чуть больше имеют недостаток – на направлении Германии (23%). Заметно снизился спрос на доставку грузов сырья из Финляндии, а именно на 59% (отсыпаясь на ATI.SU). Учитывая целый комплекс различных факторов (расходов, мощность, изменения по регулированию, перегруженность, и трудной обстановки в первом квартале 2022 года, автомобильные грузоперевозки, которыми занимались крупные компании IRU, Upply, Ti, достигли исторического максимума. В сравнении с первым кварталом 2021 года индекс тарифов вырос на 7,5 пункта.

Относительно экспортных транспортных перевозок, почти в 2 раза вырос спрос на грузоперевозки в Германию, Италию, Финляндию, Латвию, Эстонию, Румынию. На прежнем уровне осталось количество заявок на перевозки в Польшу и Литву, а на доставку в Чехию спрос даже вырос на 38%, отмечая, что в целом спрос на экспортные перевозки остался на прошлогоднем уровне за счет дружественных стран.

Немного просела доставка в Иран (на 323%) и Турция (на 187%), а спрос на доставку грузов в КНР, Грузию и Армению, по оценкам вырос примерно в двое.

Рост объемов перевозок перевозок всеми видами транспорта будет увеличивается с каждым годом.


Рисунок 1.9.1 – Транспортные перевозки всеми

видами транспорта за 2022 год

Глава 10. Ситуационный анализ рынка транспортных перевозок

На современном этапе масштабы последствий пандемии COVID-19 имеют общемировой характер. В частности, рынок грузоперевозок в таких условиях подвергся особым изменениям. Как отмечает Bloomberg, в силу влияния части ограничений на деятельность транспортной отрасли, в отдельных регионах наблюдались трудности, связанные с разрывом цепочек поставок товаров. В частности, это касается деятельности компаний Европейского и Азиатского рынков. Это привело к некоторым рискам для деятельности ряда предприятий.

В свою очередь, правительства принимали ряд мер, нацеленных на минимизацию данных задержек; так со стороны Европейской комиссии были введены меры по внедрению «зелёных полос», предполагающих ряд механизмов по обеспечению функционирования железнодорожных, водных и авиаперевозок в рамках Единого рынка. Возвращаясь к рассмотрению ситуации в Азиатских странах, важно отметить, что в КНР за 2020 год наиболее подверженными влиянию пандемии оказались морские грузовые перевозки. При этом в работе Шань-Ю Хо и других отмечается гипотеза о том, что на макроуровне факторы влияния пандемии приведут к росту в сфере автомобильного или водного грузового транспорта, что обуславливается крайней склонностью физических и юридических лиц к накоплению запасов. Кроме того, изменения потребительского поведения по отношению к продуктам пищевой промышленности говорят о параллельном росте автомобильной транспортной отрасли (в части грузоперевозок) за счёт ускорения распространения пищевых продуктов через онлайн каналы связи/


Рисунок 1.10. 1 – Транспортные перевозки: проблем и перспективы

развития рынка за 2015—2022 гг. (млн. т.)


К Слабостям можно отнести угрозы высокая конкуренция и повышение стоимости топлива, рост тарифов за перевозки, могут стать факторами, снижающими общий спрос на услуги грузовых транспортных компаний (в частности, автомобильных) – это подчёркивает особую необходимость прогнозирования всех аспектов деятельности и высокую степень зависимости. Вместе с тем, многие компании в период пандемии стали расширять собственный автопарк грузовых автомобилей (общий рост составил 6,07%). Проблемными выступают вопросы, касающиеся отрасли морского транспорта, – продолжительное по времени снижение объёма перевозок говорит о снижении их конкурентоспособности; в то же время по состоянию на 2021 год прибыль при реализации мер стала возрастать, что формирует некоторую неопределённость ситуации.

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

Глава 11. Анализ мирового рынка транспортных услуг

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


Рисунок 1.11.1– Структура транспортного комплекса


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

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

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

РАЗДЕЛ 2. Разработка проекта программного обеспечения

Глава 1. Постановка задания

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

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

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

Задачи, которые должны решать программный продукт при выборе оптимального маршрута, следующие:

– Обрабатывать информацию из электронного справочника для транспортных перевозок.

– Получать электронные данные требуемой местности.

– Поиск оптимальных маршрутов по необходимой местности.

– Построить короткий маршрут за заданную местность.

– Поиск и планирование маршрутов.

– Функционал программы состоит в построении оптимального маршрута по заданным данным и выводе его на интерактивной карте.

– Сервис должен отвечать необходимым стандартам и быть удобным для использования.

– Приложение будет реализовано на английском языке для расширения аудитории веб-сервиса, в дальнейшем могут быть добавлены другие языки.

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

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

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

– проанализировать предметную область и выделить перечень требований;

– провести обзор существующих программных продуктов;

– найти функциональность разрабатываемой системы;

– составить структуру программной части;

– построить алгоритм работы программы;

– выбрать программные средства разработки;

– разработка программного продукта;

– провести тестирование проекта.

Исходя из вышеуказанного, нужно разработать ПО, которое будет выполнять следующие задания:

– Электронная справка для транспортных перевозок.

– Электронная карта местности.

– Планирование оптимальных маршрутов.

– Поиск маршрутов.

– Поиск оптимального маршрута.

– Построение оптимального маршрута.

– Построение местности.

Ещё желательно минимизировать затраты на разработку компонентов данного проекта, но в то же момент не портить качеством используемые программные материалы и оборудования.

Глава 2. Особенности создания 2D-приложений на С#

С# («Си шарп») – это многофункциональный язык программирования, на котором пишутся разные программные продукты, начиная от небольших десктопы утилит до крупных WEB-порталов [9], WEB-сервисов, которые обслуживают каждый день больше миллиона пользователей. Для создания своей первой игры на языке С# не обязательно досконально знать этот язык. Так как для создания программного продукта необходимо владеть только набором несложных приемов, знать основные принципы по созданию игр, и так быстро достичь результата, создавая на С# свою 2D-игру. По написанию 2D нужно знать принципы объектно-ориентированного программирования [10], навыки написания игровых скриптов на C# станет базой и дадут возможность реализовать несложные проекты, игры и приложения собственной разработки.

Созданию игр с нуля на языке C# открывает для начинающих программистов новые горизонты, так как на одном этом языке можно создать любое приложение (для Windows, мобильное, веб, приложения для Android и iOS) и для любой платформы.

Cоздание игры в двумерной графике на C# (С Sharp) на базе современной среды разработки – это фундамент, позволяющий понять логику мощных, гибких и популярных языков программирования и перейти на более сложные уровни [11]. Освоить азы игровой разработки и создания игровых сценариев на этом современном, простом и удобном в использовании, можно любому человеку, имеющему базовые навыки пользователя ПК.

2D-игры используют плоскую графику, которая не имеет трехмерной геометрии. Спрайты в 2D-приложениях отображаются на экране в виде плоских изображений, а ортогональная проекция перспективы не имеет. 2D или двумерная графика взаимодействует с изображением, которое сформировано в двух измерениях – по высоте и по ширине. Изображение является объектом 3D, которое сформированное в трех измерениях: по высоте, по ширине, и по глубине. В 3D оценивается размер до объекта и расстояние. 2D-игры дают возможность сосредоточить на истории, деталях художества, и геймплее, не тратя много усилий на работу с моделями и трехмерной физикой.

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

Еще немного о преимуществах С# в 2D: Асинхронное программирование, анонимные типы, лямбда выражения, функциональное программирование и ЦМО позволяют создавать легко поддерживаемый код, превращая в щедрое на ошибки программирование в простое и приятное занятие. С# сочетает простоту и выразительность современных объектно– ориентированных языков с богатством возможностей. Например, автоматическое управление памятью, тогда программисту не обязательно вручную управлять памятью, так как он имеет возможность сосредоточится на реальных задачах. С#-разработчики не ждут разрушений программы после её запуска, чтобы найти очевидные ошибки, так как это всё делает компилятор за них.

Глава 3. Выбор методов и способов решения задания

Для написания программного обеспечения по построению оптимального маршрута, ожидая транспортных перевозок была выбрана программа Visual Studio 2022 с интерфейсом Windows Forms (API), ориентированная на разработку привлекательного и удобного интерфейса (графического).

Microsoft Visual Studio – это линейка инструментов и служб по созданию разных приложений для платформы Microsoft, а также для других. Независимо от используемого средства разработки, есть возможность более гибко работать, и главное – где угодно [12].

Visual Studio 2022 – это передовое решение для разработки, позволяющее командам любого размера проектировать и создавать привлекательные программы, которые удовлетворят требования заказчиков.

Windows Forms – это такой интерфейс для программирования приложений (API), который отвечает за пользовательский интерфейс (графический), что является частью. NET Framework компании Microsoft. Этот интерфейс значительно упрощает возможность для получения доступа к элементам интерфейса ОС Windows, так как за счет создания обвертки API для уже существующего в управляемом коде Win32 [13]. Учитывая то, что этот код – это классы, которые реализуют API для библиотеки Windows Forms, не зависящие от языка разработки. То есть программист все равно использует Windows Forms в написании программного обеспечения на C Sharp, С++, также на VB.Net, J# и т. д.

Библиотека Windows Forms разрабатывалась как элемент к. NET Framework для облегчения разработки составляющих графического и пользовательского интерфейса [14]. Windows Forms построена на основе устаревшего Windows API и представляется как обвертка низкоуровневых компонентов ОС Windows.

С помощью библиотеки Windows Forms предоставляется возможность для разработки кроссплатформенных графических пользовательских интерфейсов. Но всё же, Windows Forms до сих пор является только обверткой для API-компонентов ОС Windows, и ряда ее методов, которые могут осуществлять прямой доступ к функциям Win32 и обратного вызова, что недоступны на других платформах [15].

Готовое приложение на Windows Forms представляет ориентированное программное обеспечение, поддерживающее. NET Framework. от компании Microsoft. Большая часть времени тратится на ожидания от пользователя любых действий, В отличие от пакетных программ. Например, в текстовом поле – ввод текста или по кнопке – щелчок мышкой.

С одной стороны, библиотеку Windows Forms можно рассматривать как замену с более старой и сложной библиотекой MFC, которая первоначально была написана на C++. С другой же стороны, WF не предпочитает парадигму, что сравнима с MVC. Для исправлений в этой ситуации и реализации функциональности в WF есть посторонние библиотеки. Такой одной, которая больше всего используются является UIPAB, которая была выпущена отдельной группой компании Microsoft, что занималась рекомендациями и образцами для бесплатного распространение. Данная библиотека ещё содержит сам исходный код, исходящее образцы для большего ускорения в обучении [16].

Windows Forms (внутри пространства.NET Framework) реализуется как System.Windows.Forms.

Объектно-ориентированное программирование – это парадигма из программирования, основу которой составляют три основные концепции: наследование, инкапсуляция и полиморфизм [9]. Инкапсуляция – сокрытие деталей о работе классов от объектов, использующих или отправляющих им сообщения [11]; наследование позволяет создать новый класс в основе родительского (уже существующего), при этом свойства и функциональность родительского класса заимствуются новым классом [12]; полиморфизм означает зависимость поведения от класса, в котором это поведение вызывается, то есть два или более классов могут реагировать по-разному на одинаковые сообщения [17].

Важной деталью механизма ООП является абстракция. В объектно-ориентированном программировании, абстракция – это придание объекту характеристик, отличающих его от всех остальных объектов, что четко определяются по его концептуальным границам [18].

MySQL для Visual Studio предоставляет доступ к объектам и данным MySQL, не заставляя разработчиков покидать Visual Studio.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 | Следующая
  • 3 Оценок: 1

Правообладателям!

Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.


Популярные книги за неделю


Рекомендации