– Сервис должен отвечать необходимым стандартам и быть удобным для использования.
– Приложение будет реализовано на английском языке для расширения аудитории веб-сервиса, в дальнейшем могут быть добавлены другие языки.
– Один из ключевых параметров сервиса это его доступность – наиболее удачным решением будет реализация программы в качестве веб-сайта.
– В связи с стремительностью развития науки и постоянным нахождением новых методов и оптимизации старых, сервис должен быть спроектирован таким образом, чтобы объем работ по изменению оптимизационного алгоритма был минимален.
Для достижения указанной цели необходимо выполнить разработку пакета программ, выполняющих поставленные требования:
– проанализировать предметную область и выделить перечень требований;
– провести обзор существующих программных продуктов;
– найти функциональность разрабатываемой системы;
– составить структуру программной части;
– построить алгоритм работы программы;
– выбрать программные средства разработки;
– разработка программного продукта;
– провести тестирование проекта.
Исходя из вышеуказанного, нужно разработать ПО, которое будет выполнять следующие задания:
– Электронная справка для транспортных перевозок.
– Электронная карта местности.
– Планирование оптимальных маршрутов.
– Поиск маршрутов.
– Поиск оптимального маршрута.
– Построение оптимального маршрута.
– Построение местности.
Ещё желательно минимизировать затраты на разработку компонентов данного проекта, но в то же момент не портить качеством используемые программные материалы и оборудования.
Глава 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.