-------
| Библиотека iknigi.net
|-------
| Сергей Александрович Евдокимов
|
| Прикладные программы для выбора оптимального маршрута при транспортных перевозках
-------
Прикладные программы для выбора оптимального маршрута при транспортных перевозках
Сергей Александрович Евдокимов
Добро пожаловать в мир программирования!
© Сергей Александрович Евдокимов, 2023
ISBN 978-5-0059-9772-2
Создано в интеллектуальной издательской системе Ridero
Учебная инструкция
для опытных программистов
Прикладные программы
для выбора оптимального маршрута
при транспортных перевозках
Изучаем высокоуровневое программирование на C Sharp!
Это второе издание книги по C#
© Сергей Евдокимов, 2023
ОПРЕДЕЛЕНИЕ, ОБОЗНАЧЕНИЕ И СОКРАЩЕНИЕ
API – Application Programming Interface;
ASP – Active Server Pages;
ATI – Acronis True Image;
ADO – ActiveX Data Objects;
COM – COMmunication;
CMS – Content management system;
DB – DeciBel;
DVD – Digital Video Disc;
DFD – Data Flow Diagram;
EDIFACT – Electronic Data Interchange for Administration, Commerce and Transport;
GPS – Global Positioning System;
IBM – International Business Machines;
IP – Internet Protocol;
IP – The International Road Transport Union;
IoT – Internet of Things;
IDF0 – Icam DEFinition for Function Modeling;
JoL – Jaques of London;
JS – JavaScript;
LINQ – Language-Integrated Query;
LDA – Latent Dirichlet Allocation;
MS – Microsoft Studio;
MFC – Microsoft Foundation Classes;
MDF – Media Descriptor File;
MVS – Multiple Virtual Storage;
MVP – Minimum Viable Product;
MVC – Model-View-Controller;
NB – New B;
OS – Operating System;
OBS – Open Broadcaster Software;
ORM – Object-Relational Mapping;
OSPF – Open shortest path first;
PoE – Power over Ethernet;
LIFO – Last In First Out;
LINQ – Language-Integrated Quer;
SSMS – SQL Server Management Studio;
SPI – Serial Peripheral Interface;
SQL – Structured Query Language;
TV – TeleVision;
USB – Universal Serial Bus;
UIPAB – User Interface Process Application Block;
VB.Net – Visual Basic. NET;
VCC – Voltage of the CirCuit;
WF – Windows Form;
WBS – Work breakdown structure;
XML – eXtensible Markup Language;
WPF – Windows Presentation Foundation;
БД – База данных;
ВУЗ – Высшее учебное учреждение;
ГОСТ – ГОсударственный СТандарт;
ПО – Программное Обеспечение;
КИ – Конфиденциальная информация;
КНР – Китайская Народная Республика;
ИТ – Информационные технологии;
ООН – Организация Объединённых Наций;
ООП – Объектно-ориентированное Программирование;
ОС – Операционная система;
ПК – Персональный компьютер;
ПС – Программная Среда;
ПЗУ – Постоянное запоминающее устройство;
РБД – Реляционная база данных;
РФ – Российская Федерация;
ТС – Транспортное средство;
ТЗ – Техническое задание;
ТО – Транспортное обслуживание;
ТП – Транзитный пункт;
ТМ – Транспортный маршрут;
ЧП – Чрезвычайное положение;
ЭВМ – Электронная вычислительная машина;
ЯП – Язык программирования;
англ. – английский;
м. – метр;
др. – другие;
общ. – общий;
рис. – Рисунок;
стр. – страница;
см. – смотреть;
табл. – Таблица;
т. д. – так далее;
т. п. – тому подобное;
т.е. – то есть;
шт. – штука (штук).
эл. – элемент;
ВВЕДЕНИЕ
Данная книга посвящена разработке программного обеспечения для эффективного учета маршрута для предоставленных услуг транспортных перевозок, и сопутствующих товаров на территории страны.
Программа написана на языке программирования С# с использованием языка разметки HTML, языка программирования JS и СУБД MySQL. Разработанное ПО является кроссплатформенным и может функционировать под управлением любой операционной системы, например, Windows или Linux.
Работа содержит анализ деятельности перевозок (частных) по техническому обслуживанию, техническое задание, проект программного обеспечения, результаты разработки, раздел экономики, а также текст программы, инструкцию, методику и программы по испытаниям
Данный проект выполнен на 200 страницах, содержит 30 рисунков, 200 таблиц, 3 дополнений и список использованной литературы из 42 наименований.
ВСТУПЛЕНИЕ
Ключевым фактором при выборе программ для составления оптимальных маршрутов есть возможность своевременного выполнения всех необходимых задач при минимальных затратах. Использование правильного программного обеспечения решает ключевые задачи, стоящие перед этим сегментом.
Оптимизация маршрута – это задание, которое возникает перед государственными и коммерческими организациями в самых разных отраслях, характеризующихся наличием транспортной сети. Для экстренных служб целью оптимизации маршрутов является скорейшее прибытие на место происшествия, для коммерческих организаций – уменьшение финансовых и временных расходов. По мере развития экономики на международном рынке и в связи с повышением эффективности транспортных процессов необходимы новейшие подходы к организации перевозок. Таких показателей может быть достаточно много, и их все следует учитывать при построении оптимального маршрута.
Управление транспортом обычно включает в себя две мало связанные задачи – логистику и мониторинг. Таким способом предстоит проводить отчисления всех возможных маршрутов, но он не заточен под задачу конкретной компании (учреждения). Соответственно, дистрибьюторскими компаниями и интернет-магазинами необходимо найти автоматизированные и специализирующее программные решения, для качественного интегрирования с учетными системами.
Задача нахождения оптимального маршрута не нова, поэтому существует множество онлайн и офлайн сервисов решающих задачи построения оптимального маршрута. Но это очень дорого и имеет много ошибок. Поэтому задача разработки пакета программ для решения этого вопроса актуальна. Создание программ по поиску правильного маршрута является необходимым аспектом при работе и обслуживании транспортных перевозок. Исходя из этого, в данной дипломной работе разработан пакет прикладных программ, а именно: справка транспортировки, система оптимальных маршрутов и система построения кратчайшего маршрута. Все это важно при построении необходимого оптимального маршрута для транспортных перевозок для любого предприятия в сфере услуг доставки по месту и времени. Следовательно, тема дипломного проекта актуальна.
Целью этого проекта является разработка пакета программного обеспечения по улучшению работы транспортных перевозок за счет построения наиболее оптимальных маршрутов транспортного средства.
Объектом работы является отрасль транспортных перевозок разных типов.
Предметом работы является ПО в области транспортных перевозок почтового груза.
К задачам данного проекта отнесено:
– Проанализировать существующие виды деятельности транспортных предприятий.
– Развернуть особенности построения систем выбора оптимального маршрута для транспортных перевозок.
– Проанализировать существующее программное обеспечение аналогичного направления.
– Разработать проект и реализовать программное обеспечение для выбора оптимального маршрута транспортных перевозок.
РАЗДЕЛ 1. Анализ услуг и видов деятельности в сфере транспортных перевозок
Глава 1. Предоставление услуг в сфере транспортных перевозок
Планировка маршрута – это необходимый элемент любой перевозки, поездки, передвижения на ТЗ по стране и даже по миру. Так как время, которое было потрачено по оптимизации предстоящей поездки, трудный вопрос, например есть возможность сэкономить топливо и своё время. А часто можно ждать в постоянных «пробках» или временного перекрытия движения ТЗ. Рекордная конкуренция по транспортным услугам привела к тому, что учреждения, некоторые не используют сервисы с актуальным спросом, не имеют конкурентоспособности, и теряются в мире рынка. Актуальные транспортные услуги на сей день не ограничивают только транспортировкой. Это трудная работа, в которой каждому определённая роль за участок процесса.
Современная технология, высококвалифицированные специалисты, продуманная и спланированная работа, главные отличия высококачественной компанию-перевозчика от всех остальных. Сфера таких услуг должна работать таким образом, чтобы полностью удовлетворить требования клиента с малыми по возможности затратами. Показателем качества грузоперевозок на автотранспортных предприятиях является характеристика одного или нескольких потребительских свойств данной услуги, соединяющих ее качество. То есть, то есть качество перевозки оценивается по сборам параметров, которые определяют их пригодность к удовлетворению потребности клиента (грузоотправителя или грузополучателя) в соответствующей перевозке.
К транспортным услугам относится:
– перевозка пассажиров и грузов;
– погрузочные и разгрузочные работы;
– складское хранение любого груза;
– подготовка транспортного средства;
– предоставление ТС на условиях проката или аренды;
– доставка новых машин или отремонтированных;
– транспортные экспедиционные услуги.
Основная транспортная услуга компаний – это, конечно же, грузоперевозки. Обычно, данная услуга взаимосвязана с другими процессами такими как: погрузки, разгрузки, экспедирование и т. д.
К дополняющим транспортным услугам относятся: коммерческие, информационные, маркетинговые, услуги по страхованию.
Классификацировать виды транспортных услуг можно через конкретные образцы для этих услуг и идентифицировать особенности по формированию регионального рынка по транспортных услугам.
Возможна классификация транспортных организаций в зависимости от видов транспорта, функционирование которых является объектом их деятельности. Следует выделить пять классификационных групп транспортных организаций, представляющих следующие виды транспорта:
– автомобильный;
– железнодорожный;
– воздушный;
– морской;
– речной.
В рамках этих критерий нужно выделить общую концепцию всех видов транспортных услуг, которые используются для выполнения потребляемых в соотношении с договорённостями по контрактам, которые заключались между производителями данных услуг и их непосредственными потребителями. По виду объектов для перевозки (грузы или пассажиры) транспортные услуги имеют классификацию на грузовые и пассажирские (Табл. 1.1.1). К грузовым подвидам услуг относят: подготовка груза к перевозке, регулировка подвижных составов, погрузки грузов, оформление документов по перевозке, реализация процессов по перевозки, выгрузка груза и т. п. К пассажирским видам услуг относятся: подача пассажирского подвижного состава, обеспечение удобной посадки людей, перемещение пассажиров с необходимым комфортом, организация выхода пассажиров из подвижного состава по окончании поездки и др.
Таблица 1.1.1 – «Классификация транспортных услуг»
Потребность в услугах транспорта часто зависит от развития имеющихся в конкретном регионе видов автотранспорта, их интегрированности в единую систему, ассортимента и качества услуг потенциальным клиентам. С развитием рыночной экономики удельный вес услуг транспорта растет, данная ситуация характерна почти для всех стран.
Глава 2. Описание видов деятельности транспортных предприятий
По мере того, как развивается бизнес и торговля, растет необходимость перемещать товар, материалы и оборудование. Организация перевозок часто влечет множество трудностей и таит в себе немало подводных камней, обойти которые могут только профессионалы своего дела. Поэтому, чтобы облегчить себе задачи, руководители организаций обращаются за помощью к специалистам, работающим в таких предприятиях. На сегодняшний день в каждом городе есть предприятие. Итак, мы рассматриваем транспортную организацию, предлагающую услуги, связанные с перевозкой. Ее деятельность подразумевает выполнение множества задач, среди которых:
– подготовка груза;
– загрузка разгрузки;
– доставка;
– хранение;
– оформление документации и согласование тарифов;
– контроль за перемещением грузов;
– техническое обслуживание транспортных средств;
– логистика.
От уровня профессионализма транспортного предприятия зависит скорость перевозки и хранения товара. И в области организации грузоперевозок четко просматриваются два основных направления:
– Гибкость ассортимента услуг транспорта по различным требованиям клиентов. Для разных групп клиентов сервисы обязаны предоставляться в согласовании с их настоящими потребностями. Потребители должны сами выбрать услуги, их количество и способы реализации.
– Активное продвижение услуг транспорта с целью получения дополнительной прибыли.
Существует несколько способов организации таких компаний. Наиболее распространено линейное управление.
Глава 3. Эффективность ИT в сфере транспортных перевозок
ИТ предоставляют возможность повысить в значительной мере эффективность транспортных операций. ИТ предназначены для предоставления управленческой информации в целях решения проблем, касающихся транспортных перевозок и транспортных ресурсов. Эта действующая в режиме настоящего времени активная система предоставляет транспортным операторам надежную, полезную и оперативную информацию о транспортных операциях с указанием местонахождения товаров и транспортном оборудовании. Соответствующие показатели позволяют руководству устранять оперативные сбои и на национальном и субрегиональном уровнях предоставлять данные для макроэкономического планирования транспортного сектора.
По эффективности работы и для повышения качества транспортных перевозок необходимо разрабатывать дополнительные методы посредством использования информационной технологии и средств связи. Целью информационной технологии управления является удовлетворение информационных потребностей всех сотрудников организации, имеющих дело с принятием решений. Она может быть полезна на любом уровне управления. Эта технология ориентирована на работу, в среде информационной системы управления и используется при более плохой структурированности решаемых задач.
Большое значение в мульти– и интервокальных перевозках имеет информационно-компьютерная поддержка транспортного процесса. Для интеграции нашей страны в мировое информационное пространство (в том числе и в сфере транспортировки) необходимо использование современных инновационных технологий, в том числе программное обеспечение для электронного обмена данными EDI, EDIFACT, развитие безбумажного электронного документооборота и модификация электронной карты местности, в том числе построение маршрутов. Ключевую роль при транспортировке имеют международные телекоммуникационные сети как коммерческие (CompuServe, America Online, Relcom), так и некоммерческие (Internet), спутниковые системы связи и навигации для транспортных средств (GPS, Inmarsat-C и др.).
В последнее время, технологии транспортировки, особенно по интервокальным перевозкам, связанным с использованием в логистических цепях и каналах, если их сравнивать с заданиями, которые решаются, используя информационные технологии по обработки данных.
Глава 4. Общие принципы построения систем поиска оптимального маршрута для транспортных перевозок
Построение оптимального пути следования груза, как и выбор соответствующего ТС, определяется в первую очередь следующими факторами:
– географическое расположение начальной, конечной и промежуточных точек маршрута;
– специфика, характеристика и свойства перевозимого груза (количество, объем, габариты, степень опасности);
– срочность доставки;
– величина бюджета, отпущенного на транспортные расходы.
Определившись с основными приоритетами транспортных перевозок, как правило, получают несколько вариантов разных маршрутов. Отсеивание неперспективных происходит по схеме анализа возможных рисков и текущих условий. Корректировки вносятся исходя из климатических (сезонных, погодных), политических, экономических и других факторов. Грамотно составленная схема включает учет минимально-максимальных показателей времени и затрат, незначительных отклонений, степень рисков (актуально для страхования груза), вплоть до наступления форс-мажорных обстоятельств.
Базовый принцип, на котором строится весь алгоритм оптимального маршрута транспортных перевозок в транспортной сфере, носит название «точно в срок» (на английском – «just in time»). Согласно этому принципу поставки должны осуществляться в строго указанные сроки, не позднее и не ранее, для организации непрерывности производственного процесса и предотвращения переполнения складских помещений излишним сырьем или продукцией.
Второй принцип, который можно охарактеризовать как «непрерывную цепочку», заключается в максимальной эффективности использования транспортных средств (непрерывности транспортных потоков) – исключении всевозможных простоев и прогонов «порожняком». Идеальный пример – привоз сырья на производство и забор уже готовой продукции для доставки определенного потребителя. В результате чего, каждая отдельная транспортная единица вовлечена в непрерывный цикл, избегая запланированных простоев (время-деньги). По этой причине большинство перевозчиков не любят простаивать на местах нагрузок и загрузок – стоящая машина не приносит того дохода, который можно получить, используя ее для работы. Помните, что чем больше вероятность водителю, доставившему ваш груз, пойти обратно «порожняком», тем больше будет стоимость доставки («двойная цена» = доставка + «обработка»).
Элементы логистической цепи складываются в единую транспортную систему, являющуюся совокупностью самых разных направлений. Работая как единый слаженный механизм, широта логистической сети обратно пропорциональна затратам на транспортировку – продукция вывозится точно в срок, машины не простаивают, цикл производства не прекращается из-за нехватки материальных ресурсов, «холостые» пробеги отсутствуют – все это позволяет существенно снижать затраты.
Разработка маршрута – сложная многоступенчатая процедура, требующая достаточно высокой квалификации и являющаяся одним из основных элементов технологии транспортировки. При разработке оптимального маршрута следует руководствоваться «Правилами дорожного движения», «Уставом автомобильного транспорта», «Правилами перевозки пассажиров» и другими ведомственными нормативами. Объекты в зависимости от своей роли в экскурсии могут использоваться как основные и дополнительные. Основные объекты подвергаются более глубокому анализу, на них раскрываются темы экскурсии. Показ дополнительных объектов, как правило, производится при переездах (переходах) экскурсионной группы и он не занимает ведущего места.
Маршрут строится по принципу наиболее правильной последовательности осмотра объектов и намечается с учетом следующих требований:
– показ объектов следует проводить в определенной логической последовательности, не допуская ненужных повторных проездов по одному и тому же участку маршрута (улицы, площади, моста, шоссе), т. е. так называемых «петель»;
– наличие доступности объекта (площадки для его осмотра);
– переезд или переход между объектами не должен занимать 10—15 минут, чтобы не было слишком продолжительных пауз, в том числе санитарных и парковочных мест транспортных средств.
Рекомендуется к моменту проведения несколько вариантов движения транспортного средства. Необходимость смены маршрута в ряде случаев вызывается транспортными «пробками», ремонтными работами на городских магистралях. Все это должно быть учтено при создании разных вариантов маршрута. Разработка маршрута завершается согласованием и утверждением паспорта и схемы маршрута, расчета километража и времени использования автотранспорта.
Критерии оптимальности маршрута: минимальная длина маршрута, время или затраты на перевозку груза. Существует множество алгоритмов, которые могут применяться при определении оптимального маршрута. Больше всего значимыми можно считать те методы, которые основанные на использовании таких алгоритмов как Джонсона, Дейкстры, Флойда – УОР-Шелла, Левита и т. п. [1]. Многие из них имеют применение в практической плоскости и прекрасно за рекомендовались на мировой арене. Например, алгоритм Дейкстры эффективно ищет из вершин в неориентированном насыщенном графе, кратчайшие пути с неотъемлемыми элементами рёбер [2]. Поэтому на его использовании основано работающий в средних цифровых IP-сетях протокола OSPF, который определяет оптимальный маршрутки в этих сетях. Недостатками перечисленных алгоритмов является постепенное увеличение времени для оптимального маршрута с ростом количества вершин и ребер графа. К преимуществам данных алгоритмов являются гарантированное определение оптимального маршрута (если он существует), простота, невысокие требования к аппаратным ресурсам и, больше всего – минимальные затраты на реализацию. Надежность подтверждена длительным практическим использованием протоколов маршрутизации цифровых IP-сетей [3]. Существует ряд эвристических методов, которые образуют другой класс алгоритмов, первоначально разработанных для решения классической «задачи коммивояжера». Это алгоритмы самого быстрого спуска (градиентный метод и его модификации), оценочных (штрафных) санкций, мини-макса (Моргенштерна – фон Неймана), альфа-бета процедуры.
Глава 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.
Глава 4. Объектно-ориентированное программирование
Язык C Sharp – это объектно-ориентированный язык программирования, который позволяет разрабатывать на нём большие программные системы, с возможностью модульной заменой многократно используемого кода. В C# классы и объекты, а также их атрибуты и методы, являются базовыми инструментами для реализации ООП. Этот язык программирования был основан на компонентной архитектуре, реализуя современные механизмы для обеспечения безопасности кода.
Классическое определение – «способы моделирования настоящего мира». Можно предположить, что ООП делает код более простым и наглядным [19]. С таким подходом можно построить сложные системы просто и эффективно, и всё благодаря тому, что предметная область разбита на объекты, каждый из которых связан с другими объектами.
Главное отличие между Объектно-ориентированное программированием и Процедурным программированием, то что процедурное программирование заключается в написании кода с или без подпрограмм. ООП использует язык программирования более хорошему программному коду и для получений высокого уровня написания огромных проектов и производительность [20]. Плохая взаимосвязь может возникать после несоблюдения трех главных принципов: полиморфизма, инкапсуляции и наследования.
Рисунок 2.4.1 – Основные принципы ООП
«Сущность» и «объект» в человеческой ежедневной жизни можно считать: самолёты, ПК, транспортные средства, банковские счета. Все объекты обладают некоторыми параметрами и функциональностью. Объект, который представляется как завершенная функциональная единица, составляет все необходимые данные и полную функциональность, которая нужна для решений задач, и по которой он имеет назначение.
К примеру, рассмотрим такой объект как «велосипед». У него есть параметры (цвет, вес, стоимость) и поведение (мотоцикл может ехать, сигналить, потреблять топливо).
С вышеуказанного примера, можно считать, что Инкапсуляция – это сокрытие поведения объекта внутри него [22]. Этому объекту «водитель» нет такой необходимости владеть информацией о происходящем в объекте «мотоцикл», чтобы двухколёсный ехал. Это главный и ключевой принцип ООП.
Наследование. К примеру, возьмём объекты: «человек» и «водитель». У них есть что-то общее? Наследование даёт возможность выделить всё общее в один объект (в данном конкретном случае более общим – человек), а для водителя – определить как человека с дополнительными параметрами и поведением [22]. Так как у водителя обязательно есть водительские права, а у человека их присудствие является не обязательным.
Полиморфизм считается переопределением поведения.
К примеру, снова рассмотрим объекты «человек» и «водитель», но в этот раз добавим ещё один объект «пешеход». Объект «Человек» наделён способностью передвигаться, но как именно, это уже зависит от того, является он водителем, или пешеходом. Можно прдположить, что у пешехода и водителя похожее поведение [24], но реализация по-разному: первый перемещается с помощью ног, второй – на машине.
Реализация методов ООП происходит с помощью интерфейсов, определяет список методов класса, но ничего не говорит об их реализации. В объекте допустимо реализовать несколько интерфейсов, а один и тот же интерфейс можно реализовать в разных классах.
Рисунок 2.4.2 – ООП (Общее представление)
Объект представляет собой экземпляр определёного класса.
А класс – шаблон, в котором описаны: все параметры этого объекта, его методы. Учитывая то, что класс объекта «Воздушный шарик» определяется свойствами цвета, то экземпляр этого класса, можно создавать сколько угодно, и другие будут раскрашены в эти цвета [23].
Классы выстраиваются в витиеватые структуры. Поэтому, чем сама структура запутаней, тем утилита будет гибкой, и легче поддается с изменениями и внедрением новых видов функционала, но это не обязательно. Принципы ООП (наследование, полиморфизм, инкапсуляция) позволяют возможность для создания структур объектов еще еффектней, избавляя кодинг от дублирований и создают его интуитивно более допустимым, но это не всегда.
Для понимание принципа работы объектов нужно разобраться в сути мастерства ООП, и в умении создавать многоуровневую структуру по классам, оставляя программный код надежным, читаемым и гибким.
Глава 5. Ахлгоритмы и структуры данных
Алгоритм – это так называют последовательность действий, которые совершаются. Структуры данных имеют реализацию с помощью алгоритма, а вот алгоритмы – структуры данных [20]. Алгоритмы и структуры данных – это инструменты, которыми уверенно пользуются начинающее разработчики, создавая утилиты. Если знать этот инструментарий, можно создавать большое количество того, что уже в базах кодинга, а также и с которыми не редко встречаемся. Кроме этого, похожие данные решают сложные задания. Это нужно иметь ввиду, и при ограничениях алгоритмов (теоретических), о при том, какими оптимизациями их есть возможность подвергнуть. По итогу, понять решение, в котором, с учётами всех нужных компромиссов, оказывается настолько хорошими, насколько это предоставляет возможность.
Алгоритмы и структуры данных (в C#):
– Связный список
Связный список (с англ. Linked List) – это набор связанных узлов, в которых хранятся необходимые данные и указатели на постследующие узелы.
– Двусвязные списки
Двусвязный список – это соответствующая структура данных, определяющая узлами, в которых хранятся необходимые свойства, указываемые на предыдущие узлы и следующий узел, каждый из которых содержит информационную часть (данные) и два указателя на соседние элементы (на следующий и предыдущий элементы). В пространстве имен. NET C# System. Collections. В случае, когда в списке нет элементов, оба они равны нулю [18]. Если в списке один элемент, то оба указателя ссылаются на один и тот же элемент (соответственное, они равны).
– Стек на основе массива
Стек – это структура данных, работающая по принципу LIFO
(Как говорят: «кто последний пришел, тот первый вышел»). Графический стек представляется столбиками или стопками объектов:
Рисунок 2.5.1 – Стек из массива
Стек содержит вершину, что преобразовывает крайний элемент (добавленный последним). При добавлении нового элемента поверх вершины этого стека это создает ещё новую вершину. В случае удаления элемента, он исчезает из вершин стека, а последний элемент преобразовывается в новую вершину.
– Стек
Стек представляет собой коллекцию объектов, поступающих последними и выходящих первыми. Он используется, когда вам нужен доступ к товарам в порядке очереди. Когда вы добавляете элемент в список, это называется нажатием элемента, а когда вы удаляете его, это называется выталкиванием элемента.
– Очередь
Очередь (с англ. queue) – это коллекция, в которой элементы обрабатываются по схеме «первый вошел, первый вышел» (first in, first out – FIFO). Элемент, вставленный в очередь первым, первым же и читается. Отличие в том, что в стеке элемент устанавливаются, извлекаются с одного конца. В очереди элементы вставляются с одного конца, а извлекаются из другого. В программировании очередь используется, когда необходимо проделать какие-то действия по порядку их поступления, выполняя это последовательно. Примером служит организация событий семейства ОС Windows.
– Дек
Дек включает структуру данных, в которой есть возможность добавить и удалить элемент с двух сторон. Дек считают «двусторонней очередью», на которой элементы добавляют из самого начала, так и по самый конец. Процесс удаления также само происходит из начала, и с конца.
– Кольцевой односвязный список
Кольцевые (циклические, круговые) списки – разновидность связных списков. Поэтому, могут быть как односвязными, так и двусвязными. Их отличительной особенностью является то, что условной последний элемент хранит ссылку на первый элемент, поэтому список получается замкнутым или кольцевым.
Рисунок 2.5.2 — Структура данных
(Кольцевые, круговые, циклические списки)
– Кольцевой двусвязный список
Кольцевой двусвязный список – это замкнутый список, на основе указателя элемента перемещается вперед, и назад по кругу.
Каждый узел такого списка представляет элемент, который хранит указатели на предыдущий и следующий узел.
Также есть другие критерии по классификации типов. Например, встроенные типы и те, которые определяются программистом непосредственно. Встроенные типы принадлежат к языку программирования и составляют его основу [16]. В базисе системы типов языка программирования лежит главная система типов, которые встроенные в этот язык. На этой основе разработчик строит собственные, определенные типы данных.
Типы данных бывают динамические и статические. Для динамического типа данных размер в момент объявления неизвестен и память выделяется по запросу в процессе выполнения программы. Для статического типа данных память отводится в момент объявления, требуемый размер данных известен при их объявлении. Еще есть важная классификация типов – деление на ссылочные и значимые. Для значимых типов значение объекта неотъемлемая собственностью переменной. Для ссылочных типов значение служит ссылка на некий объект в памяти, который располагается в динамической памяти. Далее показано перечень основных встроенных типов в языке C Sharp, их основные характеристики.
Таблица 2.5.3 – Типы данных в C#
Таблица 2.5.4 – Типы данных в C#
По структуре алгоритмы разделяют на линейные, разветвляющиеся и циклические
Рисунок 2.5.5 – Схема алгоритма циклической структуры для нахождения суммы N первых членов натурального ряда.
Линейными называют алгоритмы, в которых операции выполняются последовательно одна за другой, в естественном и единственном порядке следования [12].
Рисунок 2.5.6 – Пример алгоритма разветвляющейся структуры в случаях необходимости анализа логических условий.
Разветвляющийся алгоритмы – это зависимости выполнения некоторого логического условия в результате разветвления вычислений по одному из возможных направлений.
Рисунок 2.5.7 – Схема алгоритма циклической структуры для нахождения суммы N первых членов натурального ряда.
Алгоритмы циклической структуры включает повторения действия по последовательности по одним и тем же математическим зависимостям, учитывая разные значения некоторых изменяемых величин. Это были только основы, поверхностно, что узнать подробней, нужно читать литературу [1—5].
Глава 6. Язык C# и. NET Framework
Язык C# разработано и спроектировано для использования его с технологией. NET Framework. Учитывая то, что. NET Framework послужила поддержкою, разработкой и выполнением распределенных приложений компонентов. Что обеспечивает использование совместно на разных языках программирования, ещё и предоставляет переносимость утилит, безопасность, общую модель для программирования на платформе ОС Windows [17]. Технология. NET Framework содержит много по разработке WEB-приложений готовых API-интерфейсов (ASP.NET), взаимодействие с базами данных (ADO.NET), десктопных приложений (WPF), и т. д.
– ASP.NET
ASP.NET – это основная технология для создания элементов по северной части и WEB-утилит от компании Microsoft. В общем, ASP.NET до сих пор представляет полную платформу по WEB-разработке из всех, программ, что создавались когда-нибудь. Продвинутая поддержка шаблонов проектирования технологии MVC только даёт ещё больше популярности ASP.NET.
– C#5.0 и платформа. NET 4.5
Простое руководство по C#, которое описывает основные конструкции синтаксиса языка программирования, а также самые простые особенности API-интерфейсов и. NET Framework, включая работу по сборкам и рефлексии, много поточности файлов по сети.
– WPF
WPF (с англ. Windows Presentation Foundation) – это полнофункциональный API-интерфейс по созданию настольных программ (графических), которые имеют коасочный дизайн, интерактивность.
С отличием от технологий Windows Forms, WPF включает в себя новейшую модель создания пользовательских программ (в основе инфраструктура, основана на DirectX).
– Темы WPF
Темы WPF – наборы разнообразных элементов шаблонов по управлению.
– Silverlight
Технологии Silverlight предназначены для построения утилит, которые работают под управлением разных ОС в браузерах. Программы в Silverlight обрабатывают надстройками браузера. В обработке WEB-страницы, которая включает все компоненты Silverlight, поднадстройка браузера выводит компоненты в заданную область на HTML-странице.
– ADO.NET
По своей сути в технологии. NET определяются возможности, позволяющее взаимодействовать непосредственно с удаленными базами данных, и с локальными БД (используя ADO.NET и Entity Framework).
– LINQ
Дополнительное расширение для языка C# по работе в разных контекстах (с объектами LINQ to Objects, XML-документами, ADO.NET, Entity Framework, LINQ).
– Expression Blend 4
Дополнение под названием Expression Blend предназначено для создания приложений WPF, и было разработано компанией Microsoft на промышленном уровне. Это инструментарий предоставляется для пользователя как интерфейс с графической оболочкой, в котором можно настраивать и создавать настольные ПО и WEB-приложения. Учитывая то, что формируется автоматически вся необходимая XAML-разметка.
– Entity Framework 6
Технология под наименованием Entity Framework предоставляется как возможность с БД с помощью объектно-ориентированного кодинга C#. Поэтому можно использовать язык запросов LINQ.
– SQL Server 2012 и T-SQL
SQL Server (с англ. система управления базами данных) – наилучший выбор на широкий диапазон конечного пользователя и разработчиков БД, которые работают по созданию бизнес-утилит.
– Приложения Windows Store
Для приложений, установленных с Windows Store, начиная с ОС Windows 8, появился функционал API-интерфейса, который наименует себя Windows Runtime. Эти программные продукты представляются с общими стилями, имеют графический интерфейс и разрабатываются в основном для планшетных устройств и смартфонов, хотя так же хорошо работают и на ПК.
Высокоуровневое программирование включает в себя языки программирования, которые разработанные для удобства и скорости использования программистами. C Sharp – это высокоуровневый объектно-ориентированный язык программирования. Часто, его расматривают как средство для создания программ для платформы.NET Framework и. NET Core от компании Microsoft. C Sharp на этапах создания компанией Microsoft рассчитан для собственных целей и служб. Некоторые полагают, что С Sharp – это просто версия языка С или C++, но это предположение не правдиво. Данных язык программирования создавался «с нуля». Рассмотрим преимущества и недостатки:
Таблица 2.6.1 – Плюсы и минусы С Sharp
Синтаксис языка чем-то похож на С и С++,Java. Он становится доступным по изучению самыми-самими новичками. С ним можно довольно хорошо разобраться с английским, и также начинать осваиваться с азами коддинга. Многие программеры C Sharp по сей день ассоциируют с платформой. NET Framework, и также ОС Windows.
Хоть и это – основное назначение, но под iOS и Android также на этом языке программирования очень успешно пишутся программы. Сегодня C# очень сильно развился, но преимущественно разработчиков, что специализировались на нем, не так и много. Поэтому, такой вариант очень подойдёт и для новичков, и для любителей, и также небольших предприятий. По сравнению со своими конкурентами C Sharp представляет варианты написания ПО из синтаксисом Си-подобным, что напоминает в общем целом и C++, и Java. Изначально он нужен был для WEB-разработки, как и JAVA. В неким круге C Sharp называют «улучшенной версией Java». У эти языков программирования синтаксические возможности на 75% схожи, 10% – это заимствование с С++, а еще около 5% – у VB, и ставшийся 10% – уникальные свойства, что были внедрены разработчиками. При этом, с помощью C#, составляющей ООП получает очень гибкие, большие, расширяемые и масштабируемые программы. Также наблюдают стремительное развитие. С каждой новой версией C Sharp получается большое количество полезных возможностей. Например – асинхронные методы, лямбды, динамическое связывание. По сравнению с другими способами создания ПО, С# «очень горячий» вариант, для которого немалый путь проделан. И начинающее и опытные программисты рассматриваю его, несмотря на устоявшийся стереотипы (относительно предназначения только для Software на ОС Windows).
Простота изучения С# превосходительная, так как имеет большое количество документации в доступе, и помогает разобраться с любыми проблемами. Язык С# с производительностью языка, включает очень высокую продуктивность. А кроссплатформенность на С# пишется за 1000$, и так по многим встраиваемым, десктопным и серверным платформам. Большинство популярных игровых движков поддерживаются на высокоуровневом языке программирования.
Глава 7. Использование C Sharp в прикладном программировании
Прикладное ПО включает в себя компьютерные программы, что создаются для пользователей для задания компьютеру по конкретной работы. Например, программы прикладного программного обеспечения: по обработке заказов, графические редакторы, WEB-браузеры или разработка списков рассылки и т. д. Прикладные программы в большинству ОС не могут связываться с ресурсами компьютера напряму, поэтому взаимодействуют с оборудованием и другими программными средствами операционной системы.
Прикладное ПО используется по управлению: данными, базами данных, сетью и безопасностью. Также есть как образовательное, так и имитационное ПО (первое способствует изучению материала и имеет четкие требования по тестированию знаний пользователя, второе – в целях научных исследований, обучения или развлечения по симуляции физических или абстрактных системах. Прикладную программу используют самостоятельно, но для её написания потребуются C#.
Для бэкенда самыми популярным языками до сих пор является C#. Для простых проектов и задач выбор языка практически не имеет значения. Времена сложных конфигураций с веб-серверами и XML давно прошли, а с текущими MVC-фреймворками написать простое приложение можно на любом языке. Что на Node. js, что на Spring Boot развернуть веб приложение можно всего за несколько минут. Что касается сложных и объёмных проектов с долгосрочной поддержкой, лучше отдавать предпочтение статически типизированным и компилируемым языкам, таким как C#, Go и Java. В больших проектах скорость написания кода не очень важна, зато более приоритетной является скорость анализа при чтении кода и возможности не деструктивного рефакторинга, особенно если вы имеете дело со сложной бизнес-логикой. И наконец, фреймворки ASP.NET для C# и Spring для Java, благодаря большому набору компонентов в DI-экосистеме, предоставляют все возможности для удобного проектирования и точной конфигурации веб-приложения. Многие технологии, фреймворки и среды разработки требуют лицензии, но есть и много бесплатных вариантов. На практике, скорее всего, у вас будет выбор между платными инструментами, но с большей функциональностью и поддержкой, или бесплатные, но с ограниченным набором функций. В моей практике чаще всего всё зависело от языка программирования, которым владеет команда. Если команда пишет на C#, то и весь стек связан с платформой. NET и т. д.
При выборе фреймворка или языка программирования необходимо всегда обращать внимание в первую очередь на его популярность и наличие экспертов в команде (или на рынке). Это позволит в будущем избежать проблем с поиском кадров. Можно выбрать в качестве языка, например, Scala или Clojure, которые, безусловно, имеют свои сильные стороны относительно консервативной Java, но потом столкнуться с серьёзной проблемой поиска специалистов, когда необходимо будет усилить команду или заменить сотрудников, которые решили покинуть проект.
Глава 8. Работа с базами данных в C# и. NET
Процессы с БД имеют очень большое значение. Разные системы управления базами данных используются для хранения данных (MySQL, Oracle, MS SQL Server и т. д. Большинство больших программ используются для хранения данных, управления базами данных эти же ПО. Но чтобы осуществлять связь между базой данных и приложением на C# необходимо посредничество.
Реляционная база данных (РБД) – это набор данных с предопределенными связями между ними. Эти данные созданы в виде набора таблиц, которые стоят из строк и столбцов. В таблицах имеется информация про объекты, представленные в БД. В каждом из столбцов таблицы хранится определенный тип данных, в каждой ячейке – значение атрибута. Каждая строка таблицы представляет собой набор связанных значений, относящихся к одному объекту или сущности.
SQL (Structured Query Language) – это структурированный язык запросов, стандартный язык запросов по работе с реляционными БД.
В C# для работы с базами данных технологии. NET применяется ADO.NET. Для улучшения процессов взаимодействия с БД, также используется технология ORM Entity Framework, которая позволяет сопоставлять сущностей C# с таблицами в БД. Далее выкладываться примеры, с использованием подключения к БД с вышеупомянутых технологий.
Взаимодействие с базами данных часто встречается в современных приложениях (настольное приложение, WEB-сайт или WEB-служба). Платформа. NET Framework имеет много способов для взаимодействия с БД из управляемого ей кода, что также описывается в данном проекте. Главной системой управления базами данных для ОС Windows является SQL Server, поэтому администрирование также будет описано детально.
– Entity Framework 6
API-интерфейс имеет название Entity Framework, который был спроектирован по взаимодействиям с другими базами данных, которые взаимодействуют с технологией ADO (и с SQL Server), и даже включает свой диалект, который не зависит от языка SQL, его можно применять в качестве альтернативы LINQ.
– Оконные функции T-SQL
Добавление оконных функций стало одним из самых фундаментальных расширений для языка SQL в среде Microsoft SQL Server 2005, с такими синтаксическими конструкциями, как OVER и набор новых функций, известных как функции ранжирования (ROW_NUMBER, RANK, и других). Это позволяет решать нестандартные проблемы более понятным способом и более высокой производительностью, чем ранее.
Глава 9. Разработка структуры данных
Структурная схема – это схема, определяющая основные функциональные части изделия, их взаимосвязи и предназначение. Под функциональной частью понимается составная часть схемы: элемент, устройство, функциональная группа, функциональное звено.
Рисунок 2.9.1 – Общая структурная схема
маршрутного распределителя
PoE (с англ. Power over Ethernet) – это технология, которая позволяет взаимодействовать с удаленным устройством, используя электрическую энергию с данными, через витую пару по сети Ethernet. Эта технология предназначена для IP-телефонии, сетевых концентраторов IP-камер, точек доступа, беспроводных сетей и т.д., к которым не предоставляет возможности производить отдельный электрический кабель.
Структурная схема предназначена для отображения общей структуры устройства, то есть основных блоков, узлов, частей и главных связей между ними. Из структурной схемы должно быть понятно, зачем нужно данное устройство и как оно работает в основных режимах работы, как взаимодействуют его части. Обозначения элементов структурной схемы могут выбираться произвольно, хотя общепринятые правила выполнения схем следует соблюдать. Технология РоЭ описывается стандартами IEEE 802.3 af-2003 IIEEE 802.3 at-2009. Существует несколько вариантов этой технологии, передающих первый стандарт, но они мало распространены.
Глава 10. Разработка схемы интерфейса
Схема PC интерфейса приведена на рис. 2.10.1. В набор деталей PC интерфейса входит печатная плата, расположение деталей на которой показано на рис. 2.10.1
Рисунок 2.10.1 – Схема графического интерфейса пользователя (GUI)
В отличие от интерфейса командной строки, в GUI пользователь имеет произвольный доступ (с помощью устройств ввода – клавиатуры, мыши, джойстика и т.д.) ко всем видимым экранным объектам (элементам интерфейса) и осуществляет непосредственное манипулирование ими.
Глава 11. Описание алгоритма решения задачи
Алгоритм программы был разработан в виде блок-схемы и диаграммы классов, приведенных в рисунках 2.11.1. и 2.11.2.
Рисунок 2.11.1 – Блок-схема алгоритма ПО
Рисунок 2.11.2 – Диаграмма классов
Глава 12. Установка платформы. Net и среды программирования Microsoft Visual Studio 2022
– Подготовка компьютера к установке Visual Studio
Перед началом установки Visual Studio нужно проверить требования к системе, применить актуальные обновления Windows и необходимые системные компоненты для Visual Studio. Ещё нужно освободить необходимое место на жестком диске (от 20 до 50 ГБ).
– Скачивание самой Visual Studio 2023
Переходим на официальный сайт visualstudio.microsoft.com ИЛИ по ссылке: https://visualstudio.microsoft.com/downloads/ и скачиваем версию на компьютера на платформе (Windodws, Linux, Mac)
Рисунок 2.12.1 – Скачивание MVS Community 2022
– Установка установщика Visual Studio 2023
Запускаем файл начального загрузчика, чтобы установить Visual Studio Installer. Новый установщик имеет меньший размер и включает все необходимое для установки и настройки Visual Studio.
Рисунок 2.12. 2 – Выбор основных компонентов (обязательно)
Выбирая нужные параметры нагрузки, нажать кнопку Установить. Далее – демонстрируется на экране состояние и ход установки Visual Studio 2022.
– Выбор отдельных компонентов
Если нет необходимости в функционале нагрузки для настройки установки пакета программ Microsoft Visual Studio или нужно установить дополнительные компоненты, которые отсуствуют в рабочей нагрузке, то реализация проводится через установку или добавление отдельных компонентов (Отдельные компоненты). Вибрать нужно компоненты и следуя указаниям.
Рисунок 2.12.3 – Выбор отдельных компонентов (необязательно)
– Далее – Установка языковых пакетов (необязательно) и Выбор расположения установки (дополнительно)
Рисунок 2.12.4 – Выбор языков MVS 2023
Рисунок 2.12.5 – Выбор расположения MVS 2023
При установке или изменении Visual Studio выберите одну или несколько из следующих рабочих нагрузок в зависимости от типа создаваемого приложения: рабочая нагрузка Кроссплатформенная разработка. NET Core в разделе Другие наборы инструментов;
Рисунок 2.12.6 – Установка. NET в Windows
Иногда возникают проблемы. Если установить Visual Studio не удается, воспользуйтесь пошаговыми указаниями на официальных сайте MICROSOFT: https://learn.microsoft.com/ru-ru/visualstudio
Глава 13. Ознакомление с Microsoft Visual Studio 2022
Сначала нужно запустить программу Microsoft Visual Studio 2015. Она была скачана бесплатно на официальном сайте программы: visualstudio.com (Community Version). В данном случае будет рассмотрена российская версия ПО. Строим проект приложения Windows Forms:
1. В строке меню выберем Файл, Создать, Проект. Диалоговое окно должно выглядеть следующим образом:
Рисунок 2.13.1 – Диалоговое окно: «Новый проект»
2. В списке Установленные шаблоны выберите Visual C#.
3. В списке шаблонов выберите значок Приложение Windows Forms. Назовите новую форму PingPongAplication и нажмите кнопку «ОК».
4. На следующем рисунке 2.13.2 показано, как теперь должен выглядеть интерфейс MV Studio.
Рисунок 2.13.2 – Окно интегрированной среды разработки
Интерфейс содержит восемь окон: главное окно, Обозреватель решений, Tem Explorer, Представление классов, окно Свойства, Списка ошибок, Вывода и окно Панель элементов.
Если любое из этих окон отсутствует, восстановим макет окон по умолчанию, выбрав в нем меню Окно, Сброс макета окон. Можно также отобразить окна с помощью команд меню. В строке меню выбираем «Вид», Окно «Свойства» или «Обозреватель решений». Если открыты любые другие окна, закрываем их с помощью кнопки Закрыть (x) в правом верхнем углу.
5. На рисунке 2.13.2 показаны следующие окна (по часовой стрелке от левого верхнего угла):
– Главное окно. В этом окне выполняется основная часть работы, например работа с формами и редактирование кода. На рисунке в окне показана форма в редакторе форм. имя вкладки заканчивается на. vb, а не на. cs.).
– Окно Обозреватель решений. В этом окне можно просматривать все элементы, входящие в решение, и переходить к нему. Если выбрать файл, содержимое в окне Свойства изменится. Если открыть файл кода (с расширением. cs в Visual C# и. vb в Visual Basic), откроется файл кода или конструктор для файла кода. Конструктор – это визуальная поверхность, на которую можно добавлять элементы управления, такие как кнопки и списки. работе с формами Visual Studio он называется конструктор Windows Forms.
– Team Explorer – это модуль, устанавливаемый вместе с Visual Studio или Eclipse. … Team Explorer обеспечивает подключение Visual Studio к командным проектам.
– Представление классов указывает структуру классов.
– Окно cвойств. В этом окне производится изменение свойств элементов, выбранных в других окнах. Например, выбрав форму «Form1», можно изменить ее название путем задания «свойства»: «Text», а также можно изменить цвет фона путем задания свойства Backcolor.
– Окно cписка ошибок показывает количество ошибок, предупреждений, кодов и описание каждой ошибки. Если ошибок нет, то он пуст.
– Окно вывода читает код программы и выводит данные.
– Панель элементов – закладка слева от пользовательского экрана, служит для хранения элементов Windows Forms, элементы являются частью интерфейса программы.
– Заходим в окно «Обозреватель решений», над вкладкой с названием нашего проекта: «GMapApplication» нажимаем правую кнопку мыши, и открывается контекстное меню, в нем выбираем «свойства», затем выбираем вкладку «Ресурсы», перемещаем наши файлы сюда, как показаны на рис. 2.13.4 Они нужны будут в процессе работы над проектом. Теперь можно переключаться между загруженными видами ресурсов (картинка, иконка, звуковой файл и т.д.), нажав на вкладку «Изображения», меняя нужный вид загрузка файлов.
Рисунок 2.13.4 – Окно переноса файлов ПК в среду разработки
Microsoft Visual Studio – это программный продукт от компании Microsoft, который включает в интегрированную среду разработки ПО множество различных инструментов. Эти утилиты предоставляют создавать консольное приложение, программы с графическим интерфейсом, включая поддержку технологии Windows Forms, WEB-приложения, UWP, WEB-службы, WEB-сайты для управляемых кодах на всех платформ, которые поддерживают ОС Windows,.NET Core, Windows CE,.NET Framework,.NET, ОС Windows Mobile, MAUI, Windows Phone. NET, Xbox, Silverlight и Compact Framework, а также iOS и Android.
Интегрированная среда разработки (IDE) – это многофункциональная платформа, поддерживающая много элементов в разработке ПО. Интегрированная среда разработки Visual Studio представляет стартовую площадку по созданию, отладки и сборки кода, ещё также для последующей продвижения приложений. Кроме стандартного редактора и отладчика IDE, Visual Studio включает в себя компиляторы, средства по завершению кода, графический конструктор и т.д.. (Функции по улучшению процесса разработки).
Глава 14. Подключение MVS к БД
Не редко администраторы БД и разработчики подключаются к действительной базе данных, проектируют и просматривают эту схему,
а также выполняют запрос к ее объектам. Также обозреватель объектов в SQL Server Visual Studio имеет уникальный узел SQL Server, на котором все подключенные SQL Server экземпляры, их БД сгруппированы таким образом, как это делалось в SSMS. Подключенные экземпляры SQL Server могут быть локальными, например запущенными SQL Server 2022 или локальными экземплярами SQL Azure.
В Microsoft Visual Studio есть возможности для использования, создания и обновления файлов локальной базы данных в SQL Server Express LocalDB. Также можно создать БД, выполняя необходимые инструкции Transact-SQL в окошке инструментов SQL Server (Обозреватель объектов в Visual Studio). Теперь, создадим MDF-файл и можем добавить таблицы и ключи с помощью конструктора таблиц.
Создание проекта в локальной БД. Нужно создать проект Windows Forms App (на платформе. NET Framework) и называем его как SampleDatabaseWalkthrough. В строке меню выбираем Проект> Добавитьновый элемент. В случае когда отображается небольшое диалоговое окно с полем для имени файла, выбираем Показать все шаблоны. Прокручиваем весь список шаблонов элементов донизу и выбираем База данных на основе служб.
Рисунок 2.14.1 – Список шаблонов
Присвойте базе данных имя SampleDatabase.mdf и нажмите кнопку Добавить. Добавление источника данных
1. Если окно Источники данных не открыто, откройте его, нажав клавиши SHIFT+ALT+D или выбрав в строке меню пункт Просмотреть> другие источники данныхWindows>.
2. В окне Источники данных выберите Добавить новый источник данных.
Рисунок 2.14.2 – Мастер настройки источника данных
Открывается Мастер настройки источника данных. На этой страничке выбора типа источника данных выбираем База данных, потом нажимаем кнопку Далее. На страничке Выбор модели базы данных нажимаем снова кнопку Далее, чтобы принять значение по умолчанию (набор данных). На страничке Выбор подключения к данным нужно указать файл в раскрывающемся списке SampleDatabase.mdf и нажать кнопку Далее. На страничке Сохранение строки подключения в файл конфигурации приложения нажимаем кнопку Далее. На страничке Выбор объектов базы данных отображается сообщение о том, что БД не имеет объектов. Нажимаем кнопку Готово и Просмотр свойств подключения к данным. Теперь смотрим на строку подключения для файла SampleDatabase.mdf, открываем окошко свойств подключения к данным:
Выберите Вид> SQL Server> обозреватель объектов, для того чтобы можно было открыть это. Развернём узел (localdb) \MSSQLLocalDB> Databases, а потом щелкаем правой кнопкой мыши SampleDatabase.mdf и выбераем Свойства. Кроме этого, есть возмодность выбирать Просмотр> обозревателя сервера, когда это окно еще не было открыто. Далее, открываем окно свойств, разворачиваем узел Подключения к данным, щелкаем правой кнопкой мыши на SampleDatabase.mdf и выбираем Свойства.
Глава 15. Разработка логической модели БД
Построенная диаграмма классов (рис. 2.15.1) разбита на 3 пакета:
«Внешняя модель» – содержит внешние по отношению к подсистеме классы;
«Объектная модель» – содержит объектную модель, прилагаемую разрабатываемым плагином «Построение алгоритма»;
Логика – содержит основные управляющие классы, реализующие бизнес-логику построения маршрутов.
Построенная диаграмма классов (рис. 2.15.1) разбита на 3 пакета:
– «Внешняя модель» – содержит внешние по отношению к подсистеме классы;
– «Объектная модель» – содержит объектную модель ПО, прилагаемую разрабатываемым плагином «Построение маршрутов»;
– «Логика» – содержит основные управляющие классы, реализующие бизнес-логику построения маршрутов.
На рисунке 2.15.1 представлена диаграмма деятельности по построению маршрута:
Рисунок 2.15.1 – Диаграмма деятельности по построению маршрута
Рисунок 2.15.2 – Блок-схема функции main ()
Рисунок 2.15.3 – Блок-схема функции void zast (void);
Рисунок 2.15.4 – Блок-схема функции void linii (void);
Рисунок 2.15.5 – Блок-схема функции void marsh
Рисунок 2.15.6 – Блок-схема функции void soobsh
Глава 16. Кодирование и проверка
Клацнем дважды по пустому пространству на главной форме, перейдём в созданный (автоматически) способ загрузки «Form1_Load». Теперь добавляем указанный ниже код для элемента управления «gMapControl1», созданный для таблицы по хранению контрольных точек маршрутов и управления способами передвижения элементом «comboBox1».
…
//Настройки для компонента GMap. (16.1)
gMapControl1.Bearing = 0;
//CanDragMap – Если параметр установлен в True,
//пользователь может перетаскивать карту
//с помощью правой кнопки мыши.
gMapControl1.CanDragMap = true;
…
//инициализируем новую таблицу,
//для хранения данных о маршруте.
dtRouter = new DataTable ();
//Добавляем в инициализированную таблицу,
//новые колонки.
dtRouter.Columns.Add («Шаги»);
dtRouter.Columns.Add («Начальная точка (latitude)»);
dtRouter.Columns.Add («Начальная точка (longitude)»);
dtRouter.Columns.Add («Конечная точка (latitude)»);
dtRouter.Columns.Add («Конечная точка (longitude)»);
dtRouter.Columns.Add («Время в пути»);
dtRouter.Columns.Add («Дистанция»);
dtRouter.Columns.Add («Опись маршрута»);
…
Переходим в подменю главной формы выбираем Конструктор и двойным кликом левой клавишей мыши на элемент управления «button1», получится автоматически созданный метод button1_Click, и событие Click, возникает при нажатии на данный элемент. Добавим показанный ниже код для реализации отправки запроса (чтения ответов служб API-маршрута поисковой системы), в теле данного метода. А также добавляем глобальные переменные инициализации таблиц и методов для удаления HTML-тега текстов описи маршрутов.
…(16.2)
//Инициализация новый экземпляра класса
//System.IO.StreamReader
System.IO.StreamReader sreader =
new System.IO.StreamReader (dataStream);
string responsereader = sreader.ReadToEnd ();
…
object [] dr;
for (int i = 0; i
{
//Указать масив
dr = new object [8];
//Номер шага.
dr [0] = i;
//Получить кордитаны на отвезке.
dr [1] = xmldoc.SelectNodes(«//start_location»).Item(i).SelectNodes(«lat»).Item(0).InnerText.ToString ();
dr [2] = xmldoc.SelectNodes(«//start_location»).Item(i).SelectNodes(«lng»).Item(0).InnerText.ToString ();
//Получить кордитаны на конце отвезка.
dr [3] = xmldoc.SelectNodes(«//end_location»).Item(i).SelectNodes(«lat»).Item(0).InnerText.ToString ();
dr [4] = xmldoc.SelectNodes(«//end_location»).Item(i).SelectNodes(«lng»).Item(0).InnerText.ToString ();
//Получение необходимого времени
dr [5] = xmldoc.SelectNodes(«//duration»).Item(i).SelectNodes(«text»).Item(0).InnerText.ToString ();
dr [6] = xmldoc.SelectNodes(«//distance»).Item(i).SelectNodes(«text»).Item(0).InnerText.ToString ();
//Получение необходимой инструкции
dr [7] = HtmlToPlainText(xmldoc.SelectNodes(«//html_instructions»).Item(i).InnerText.ToString ());
//Добавление в таблицу.
dtRouter.Rows.Add (dr);
}
…
Запустите проект, нажав на клавиатуре клавишу F5. После полной загрузки вашего проекта, вы увидите в минимальном масштабе карту. Введите в текстовое поле «Куда» адрес отправления, например: «Красногорск, Площадь Победы», а в текстовое поле «От куда» адрес отправления, например: «Красноярск, Кирова, 16». У вас откроется карта с найденными адресами и проложенным маршрутом. Ниже представлены примеры работы тестового проекта.
Рисунок 2.16.7 – «Пример работы проекта»
Глава 17. Реализация интерфейса пользователя
Запустите Microsoft Visual Studio и создайте новый проект Windows Form.
Рисунок 2.17.1 – Создание проекта приложения «Windows Form»
Нужно добавить соответствующую форму элементов управления:
button1 – элемент управления, который необходимо использовать для запуска процессов создания и чтения служб API маршрутов;
dataGridView1 – элемент для управления вывода соответствующих контрольных точек маршрутов с описью каждого шага;
textBox1 – текстовое поле для ввода отправки;
textBox2 – текстовое поле для ввода назначения;
textBox4 – текстовое поле для выводов расстояний, от изначальной точки маршрута до конечной точки маршрута;
textBox3 – текстовое поле для показа времени, необходимого для выполнения данного маршрута;
textBox5 – текстовое поле для вывода координат конечной точки прибытия;
comboBox1 – элемент управления для определения способа перемещения;
textBox5 – текстовое поле для вывода координат изначальной точки отправления;
А также в соответствии с инструкцией «Работа с картами в Windows Form с использованием GMap.NET» добавьте визуальный компонент «GMap.NET». У вас получится приведенный ниже пример.
Рисунок 2.17.1 – Конструктор «Windows Form»
Глава 18. Завершение создания программы. Проверка написания
Запускаем программу и видим, что все работает, все хорошо. Теперь нужно редактировать некоторые детали, чтобы было гораздо красивее и профессиональнее. Сначала изменим названия форм, над каждым меняем имя: «Form1» на «FormGame», «Form2» на «FormMenu», «Form3» на «FormReference». Заходим в новую платформу «FormReference», в «Свойствах» выбираем команду «ico» и вставляем значок (ico_32x32), поскольку в загруженных файлах одна иконка (значок), поэтому путаться не придется. После этого сохраняем файл, и просматриваем, чтобы на всех платформах была эта иконка. После окончания проверки заходим в окно «Свойства проекта», где выбреем вкладку «приложение», затем именуем игру и ставим значок на запуск игры как показано на Рис.2.18.1
Рисунок 2.18.1 – Свойства проекта
Глава 19. Создание инсталлятора и проверка игрового интерфейса
Скачиваем программу для создания установщика установки программы. Например, Visual Studio Installer, окно программы изображено на Рис.2.19.1
Рисунок 2.19.1 – Создание инсталлятора для игры
Visual Studio Installer – это приложение к платформе Microsoft Visual Studio, это очень полезная для начинающих программ, разработчиков программного продукта и приложений. Это расширение обеспечивает ту же функциональность, что в настоящее время существует в Visual Studio 2022 для визуальных проектов студии Installer [17].
Можно создавать инсталлятор на любой вкус. С помощью этого приложения можно добавлять картинки в установщик создающий, иконку установочного файла, разнообразие функций дает расширить возможность для вашего продукта создать качественный и привычный для пользователя установщик. Итак, но с помощью нее, и других подобных программных обеспечений типа: Smart Install Make, Setup Factory, InstallShield, Actual Installer, Nullsoft Scriptable Install System и т. д. Мона можно создать установщик для своего программного продукта, или приложения, игры, это будет показывать более профессионально со стороны разработчика. программистов. Можно считать, что при исследовании это будет дополнительный плюс, научиться работать с «обёртками» продуктов.
РАЗДЕЛ 3. Тестирование программного обеспечения
Глава 1. Программа испытаний
1 Объект испытаний
Объектом испытаний является программное обеспечение «Транспортные перевозкиг», в деятельности предприятия любой отрасли. Областью применения программного обеспечения является для пределов локальной сети предприятия и за пределы глобальной сети Интернет в любой отрасли.
2 Цель испытаний
Проверка пригодности программного обеспечения к использованию по назначению, его соответствие заданным требованиям и документации. Проверка работоспособности и правильности работы программного обеспечения.
3 Требования к программе
В процессе проведённых испытаний функциональные характеристики ПО проверяются в соответствии на требования, которые были изложенным в п. «Требования до функциональных характеристик» ТЗ
.
4 Требования к программной документации
В комплект программной документации должны входить следующие документы:
– техническое задание;
– инструкция пользователя;
– программа и методика испытаний;
– текст программы.
5 Состав и порядок испытаний
Требования к составу и параметрам технических и программных средств указаны в Приложении Б.
Порядок проведения испытаний:
– выполняются контрольные тесты в произвольном порядке;
– производится анализ полученных результатов и устанавливается соответствие программного продукта требованиям и системным документам.
При обнаружении ошибок в работе системы составляется их список и оговаривается срок их исправления разработчиком. После этого заказчик производит повторное тестирование в полном объеме (возможно использование новых или дополнительных тестов).
6 Методы испытаний
Методом испытания разработанного программного обеспечения является его тестирование, представляющее процесс выполнения программы с целью обнаружения ошибок. Шаги процесса задаются тестами.
Рассмотрим модули программного обеспечения Мониторинг и составим программу испытаний для каждого из них.
1) Тест авторизации пользователя (не обязательно).
Этот пункт не использовался в создании Раздела 4, но его можно добавить. Тогда проект будет смотреться ещё лучше и эффективней
.
После запуска программного обеспечения введем существующий логин и пароль и нажмем кнопку «Войти» – произойдет авторизация пользователя и выполнится модуль загрузки. Нажмем кнопку «Выход» и завершим сеанс работы с приложением. Далее введем существующий логин и не существующий пароль и активируем процесс авторизации. Получим уведомление об ошибке при авторизации. Введем не существующий логин и пароль и после авторизации получим тоже сообщение. Введем существующий логин и нажмем ссылку «Забыли пароль?». Получим сообщение о отправке пользовательских данных на его электронный почтовый ящик. Введем не существующий логин или логин сотрудника и нажмем ссылку «Забыли пароль?». Получим уведомление об ошибке при идентификации клиента. Выберем ссылку «Пользователь» – произойдет авторизация пользователя и выполнится модуль загрузки.
2) Тест формирования каркаса основной странички.
При авторизации пользователя с разными правами формируется основной вид страницы Главного меню с игрой и подгружается модуль его состояний.
3) Тест по выводу перечня возможных состояний программы.
Этот пункт не использовался в создании Раздела 4, но его можно добавить как сетевой параметр. Тогда проект будет смотреться ещё лучше и эффективней. Разработчик приложения может внедрить в игру не только как «Offline» режим, но и как «Online» возможности (Но для этого потребуется для пользователя доступ к Интернету).
При авторизации пользователя с разными правами загружается разный перечень возможных состояний работы программы: для пользователя, например – «Главное Меню», «Информация и общие положения»; для клиента и рабочего – «Политика конфиденциальности»; для менеджера – «Мониторинг», «Анализ», «Блокирование действий»; для администратора – все сословия.
4) Тест работы с таблицами базы данных.
В зависимости от выбранного состояния программного обеспечения отображаются данные в виде списка соответствующей таблицы базы данных. Отображается панель поиска/фильтрации данных с полями, список которых зависит от состояния приложения. Справа в столбце отображаются значки возможных действий с данными таблицы, перечень которых зависит от состояния работы и прав пользователя. Всегда присутствует значок «Просмотр».
5) Тест работы продавца с корзиной товаров.
В корзину могут попасть только продавец и клиент. В корзине можно выбрать клиента, удалить из корзины товар, изменить его количество. Для завершения работы с корзиной нужно нажать кнопку «Оплатить». Кнопка отмены возвращает пользователя в список товаров магазина.
6) Тест формы для ввода, редактирования и просмотра данных.
При выборе значка «Добавить», «Редактировать», «Просмотреть» по центру окна появляется форма, в которой отображаются поля из соответствующей таблицы базы данных и две кнопки (одна зависит от выбранной значка, а вторая «Отличная»). При выборе значка «Добавить» поля отображаются пустыми для ввода новых данных, кнопка содержит надпись «Добавить». При выборе значка «Редактировать» в полях отображаются данные для редактирования, кнопка содержит надпись «Изменить». При выборе значка «Просмотр» в полях отображаются данные без возможности их изменения (только для чтения), кнопка отсутствует.
7) Тест формирования отчетов для менеджера.
При выборе состояния «Отчеты» отображается список возможных отчетов, при выборе которых предлагается ввести период отчетности и имя файла для его хранения.
Глава 2. Методика испытаний
1. Создание слоя анализа маршрута
1) Щелкните пункт Network Analyst на панели инструментов Network Analyst и щелкните Новый маршрут.
Рисунок 3.2.1 – «Создание анализа маршрута»
2) Слой анализа маршрута будет добавлен в окно Network Analyst. Классы сетевого анализа: Остановки (Stops), Маршруты (Routes), Точечные барьеры (Point Barriers), Линейные барьеры (Line Barriers) и Полигональные барьеры (Polygon Barriers) – пустые.
Рисунок 3.2.2 – окно Network Analyst
3) Также в окно Таблица содержания добавлен новый слой анализа.
Рисунок 3.2.3 – Окно установки параметров для анализа
Затем вы должны указать, что маршрут будет рассчитываться на основе времени передвижения (минуты), что развороты могут выполняться где угодно и что необходимо соблюдать односторонние ограничения и ограничения поворота.
Потом нужно нажать кнопку «Свойства» слоя анализа в окне Network Analyst
Рисунок 3.2.4 – Окно настройки шара
Теперь нужно перейти на вкладку Настройки анализа. Убедитесь, что Импеданс определен как TravelTime (Минуты). Этот набор сетевых данных имеет историю трафика, связанную с атрибутом TravelTime (Минуты). Если будет введен требуемый промежуток времени (для этого выберите Использовать время начала и заполните три поля под ним), Network Analyst проведет поиск оптимального по времени маршрута исходя из заданного времени суток и скоростей движения по истории трафика. В противном случае приложение проведет поиск оптимального по времени маршрута на основе функции длин улиц и ограничений скорости.
Далее нужно включить опцию Использовать время начала, введите время и дату или день недели. Как Время суток введите время, когда необходимо оставить первую остановку. Выбираем День недели или Точная дата. При выборе День недели нужно указать любой день между понедельником и воскресеньем. Дополнительно можно выбрать Сегодня, для использования текущих настроек системы. При выборе Точная дата нужно ввести дату в текстовом поле или в списке откройте календарь и выберите требуемую дату. Оставляем невыбранной опцию Использовать временные окна. Для остановок могут быть указаны временные окна, в этом случае Network Analyst будет производить поиск маршрута с учетом диапазонов времени, в которые следует посетить остановки. Не нужно выбирать Изменить порядок остановок для поиска оптимального маршрута. Если не отмечать это свойство, Network Analyst произведет расчет наилучшего маршрута с заданной последовательностью остановок. Эта задача известна как задача коммивояжера. Если опция была выбрана, программа проведет поиск лучшего маршрута и лучшей последовательности, в которой должна посещать остановки.
Далее – Выберем Разрешено из раскрывающегося списка Развороты в соединениях. Нажимаем стрелку в нижнем списке Тип исходной геометрии и выберите Настоящая форма с измерениями. Убедитесь, что установлены метки Использовать иерархию и Игнорировать неправильное расположение. Убедитесь, что в разделе Ограничения отмечены ограничения RestrictedTurns и Oneway. Убедитесь, что в рамке Путешествие значение Единицы расстояния имеет значение Мили, выбрано пункт Использовать атрибут времени, а атрибут времени имеет значение TravelTime (Минуты). Закладка Настройка анализа должна выглядеть как на следующем рисунке, однако свойства Использовать время начала могут отличаться:
Рисунок 3.2.1 – Настройка анализа
Глава 3. Инструкция с эксплуатации системы
Запуск программы выполняется по двойному щелчку на ярлыке или на файле с расширением «GoWayAplication. ехе» (Рис.3.3.1)
Рисунок 3.3.1 – Файл GoWayAplication. ехе
После запуска программы на экране отображается главное меню приложения «GoWay» (рис.3.3.2). При щелчке по кнопке «Новый маршрут» будет запущено приложение – откроется поле из заполнением необходимыми данными (рис.3.4.2).
Рисунок 3.3.2 – Работа программы GoWay
Запуск приложения начинается тогда, когда пользователь нажал кнопку «Новый проект». Перемещение окна производится с помощью клавиш для стрелок вверх и вниз для пользователя. В любой момент пользователь может перезапустить это приложение или выйти из него.
Глава 4. Общая опись модулей ПО
В программном комплексе созданы 5 модуля, представляющих собой пакет прикладных программ для транспортных перевозок поиска оптимального маршрута. Отдельный модуль как законченный программный продукт конкретного целевого назначения.
1. Электронный справочник для транспортных перевозок
Основная тема справочника – предоставление информации для перевозки груза транспортом. В справочнике раскрываются требования транспортной перевозки необходимого, а также других нормативных документов, направленных на обеспечение безопасности перевозки транспортом способом. По мере накопления нового опыта и материалов, справочник периодически дополняется и пересматривается для внесения соответствующих изменений.
2. Электронная карта местности
Электронная карта – картографическое изображение, сгенерированное на основе данных цифровых карт и визуализированное на видеомониторе компьютера или видеоэкране. устройства.
3. Программа планирования оптимальных маршрутов
Программа для составления маршрутов доставки существенно повышает качество и скорость поиска маршртутов, сокращает транспортные расходы за счет оптимально спланированных маршрутов. Критерием оптимальности есть стоимость доставки всех заказов.
4. Система поиска маршрутов по заданной местности
Использование системы поиска маршрутов частично решает проблему поиска нужного места в сложной системе дорог, навигационные системы для широкой аудитории не предлагает возможности задать маршрут, они могут только сами предлагать варианты для выбора.
5. Система поиска и построения оптимального маршрута
Информационная система сможет построить оптимальный маршрут следования через указанные точки доставки, благодаря этому можно знать планируемый километраж данной поездки и сможете оценить затраты времени на каждый маршрут.
Глава 5. Декомпозиция модели проекта ПО
Структурная декомпозиция служит для минимизации рисков для работы в проекте, то есть снизить вероятность нежелательных событий по разным аспектам проекта (технических, финансовых, организационных и т. д.) при выполнении работ проекта и оценок их влияния на результаты выполнения работ и осуществления проекта в целом.
WBS определяется элементами проекта в иерархической структуре и ссылается на отношение до конечного продукта данного проекта. Ниже (см. на Рис. 3.5.1 – 3.5.2) показаны структурные декомпозиции проекта разработки на ПК с разными уровнями детализации работ и целей проекта, а ещё распределение уровня ответственности между подразделениями учреждения в структурной декомпозиции организации OBS. В таблицах 3.5.3 и 3.5.4 показана возможность представления WBS в виде иерархического списка, в основу которого положено упорядочение по WBS или OBS.
Рисунок 3.5.1 – Структурная декомпозиция проекта для транспортных перевозок
DFD-диаграмма (c англ. Data Flow Diagram) представляется как «диаграмма потоков данных», или один из главных инструментов анализа структурирования, проектированная на информационных системах.
DFD-диаграмма помогает более лучше понять, из чего состоит программный продукт.
В диаграмме имеются следующие структурные элементы:
– Функциональные блоки, описывающее действия, их последовательность. К примеру, функции обработки физики игровых объектов.
– Внешние сущности. Объекты, которые не входят в ПО, но являются источником или получателем данных. К примеру, как человек.
– Хранилище данных. Этом блоке находятся данные, которые необходимо обрабатывать: промежуточные и конечные результаты. К примеру, за игровую сессию достижения пользователя.
– Поток данных. На диаграмме изображается в виде стрелок, которые показывают данные, выходящее одного блока и входящее в другой.
Такое разбиение по блокам описывает процессы по любой сложности. Например, в DFD-диаграммах функциональный блок подразделяют на сколько угодно таких же блоков. На следующей странице приведено как пример DFD-диаграммы, используемой при разработке компьютерной игры «Настольный теннис». Ниже (на рис. 3.5.2) представлена контекстная диаграмма, на основе которой будет выполняться последующая декомпозиция. На ней изображены следующие элементы: внешняя сущность (игрок), хранилище данных (файл с рекордами), процесс (игра «PingPong») и потоки данных (линии, оканчивающиеся стрелкой). Из контекстной диаграммы видно, что игрок обменивается информацией с функциональным блоком игровой логики, который в свою очередь сохраняет информацию о текущих рекордах в файл или загружает информацию об имеющихся из файла.
Рисунок 3.5.2 – Контактная диаграмма проекту PingPong
Глава 6. Спецификация программных модулей
Спецификация программного модуля состоит из функциональной спецификации модуля, описывающей семантику функций, выполняемых этим модулем по каждому из его входов, и синтаксической спецификации его входов, позволяющей построить на используемый язык программирования синтаксически правильное обращение к нему. Функциональная спецификация модуля определяется теми же принципами, что и функциональная спецификация программной системы.
Глава 7. Исследование потоков данных процессов
Потоки данных:
1) данные по грузам;
2) данные по водителю;
3) отчет по доставке;
4) отчет об отправке;
5) данные с маршрута;
6) отчет про исполнение;
7) стоимость перевозки;
8) протяженность маршрута;
9) тарифные ставки;
10) тариф с учетом оплаты;
11) оплата водителя.
Рисунок 3.6.1 – Функциональная диаграмма потоков
данных для транспортных перевозок данных
Глава 8. Детализация потоков данных второго и третьего уровня
При полученных на первом этапе контекстных диаграммах отображается укрупненная модель бизнес-процессов исследуемой предметной области. Потоки данных, которые входят в процесс и исходящие из процесса контекстной диаграммы, должны перенестись на диаграмму второго, третьего уровня. При этом, входящие потоки служат источником информации для процессов детализированной диаграммы, а выходные – результатом выполнения процессов.
По результату детализации получится диаграмма первого уровня, модель, которая не в полной мере описывает указанные бизнес-процессы, поэтому необходимо проводить дальнейшую детализацию через построение диаграммы второго уровня.
Поэтому получен набор диаграмм второго уровня, описывающих процессы первого уровня более подробно. Так как приведенная на Рис.3.8.1 диаграмма потоков данных является укрупненной, а на Рис.3.8.2 приведена диаграмма DFD, детализирующая процесс Изображенная на Рис.3.8.2 диаграмма состоит из четырех процессов и одного хранилища данных кредитных карт.
Рисунок 3.8.1 – DFD-диаграмма детализации процесса: «Транспортные перевозки» по оптимальным маршрутам
При полученных на первом этапе контекстных диаграммах отображается укрупненный экземпляр бизнес-процесса исследуемого в предметной области. Потоки данных, в процессе входящие и исходящие из контекстной диаграммы, нужно перенестись на диаграмму второго, третьего уровня. При этом входные потоки служат источником информации для процессов детализированной диаграммы, а выходные – результатом выполнения процессов.
В результате детализации получается диаграмма первого уровня, полученная модель не в полной мере подробно описывает рассмотренные бизнес-процессы, необходимо проводить дальнейшую детализацию путем построения диаграмм второго уровня. Поэтому получен набор диаграмм второго уровня, описывающих процессы первого уровня более подробно.
Так как приведенная на Рис. 3.8.1 диаграмма потоков данных является укрупненной, а на Рис. 3.8.2 приведена диаграмма DFD, детализирующая структуру и возможность использования приложения «GoAwayApplication» в двух режимах: как клиент, и как разработчик (режим кондуктора).
Рисунок 3.8.2 – Детализация потоков 2-го уровня
Глава 9. Физическая модель БД
Рисунок 3.9.1 – Физическая модель БД поиска оптимальных маршрутов
Глава 10. Опись входящей и выходящей информации
Входящее данные программы даны в табл 3.10.1
Таблица 3.10.1 – Входящие данные
Исходящее данные приведены в Табл. 3.10.2
Таблица 3.10.2 – Исходящее данные
Глава 11. Диаграмма состояний программного обеспечения
Диаграмма состояний маршрута описывает возможные состояния экземпляра класса «Маршрут» и возможные последовательности его переходов из одного состояния в другое (рис. 3.11.1)
Рисунок 3.11.1 – UML-диаграмма состояния процессов на маршруте
Глава 12. Дополнительные испытания программного обеспечения
Повторное тестирование ПО – это процесс дополнительного исследования, испытания программного продукта, имеющий своей целью проверку на более качественное соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом.
Рисунок 3.12.1 – Блок-схема повторных тестирований
для построений оптимальных маршрутов
Дополнительные тесты очень скучны и требуют много усилий для поиска недочетов в коде, в алгоритме, в реализации и т.д., но всегда нужно иметь ввиду, что недостаточное количество тестов приведёт не только к плохой оптимизации, а и работе программы. Особенно, где есть более сложные алгоритмы, процессы тестирования проводятся много и долго. И чем больше ошибок на этапе повторного тестирования тем больше их будет исправлено, а в результате – качественный продукт.
Глава 13. Общее тестирование
В процессе выполнения данной работы было разработано программное обеспечение на предприятии транспортных перевозок, которое ставит целью поиск оптимальных маршрутов. Разработанное программное обеспечение удовлетворяет требованиям, предъявляемым в техническом задании.
Построение оптимального маршрута маршрута производится в двух режимах: «Построение простого маршрута» и «Построение сложного маршрута». В обоих случаях задается тип ТС, для которого строится маршрут. Вид ТС указывается для всех необщественных типов транспорта. Маршрут проходит через ключевые точки на карте. При построении простого маршрута на карте указываются начальная и конечная точки маршрута. При построении сложного маршрута задается последовательность точек маршрута на карте. После выбора всех ключевых точек подтверждаются параметры маршрута, плагин анализирует введенные данные и строит соответствующий маршрут с учетом критериев сложности: интенсивность движения, состояние проезжей части, количество левых поворотов. Построенный маршрут и его ключевые точки показываются последовательностью выделенных дуг и узлов на карте. Таким образом, разрабатываемая система-плагин должна выполнять следующие функции:
– настройка параметров;
– автоматическая сборка маршрута по заданным ключевым точкам и критерию;
– автоматическое составление маршрута, использующего средства общественного транспорта;
– ведение базы данных маршрутов;
– визуализация маршрутов на карте;
– выдача справочной информации.
Руководство пользователя, для работы с разработанной системой, приведено в Приложении В.
На этапе тестирования была выполнена проверка пакета программ, входящего в одну программу, работу алгоритма на некотором наборе данных, для которых заранее известен результат, а также правило поведения этих программ.
Тестирование было проведено уже с программой, не имеющей ошибок. Целью тестирования было получение результатов по конкретным данным, а также контроль качества программы и убедиться в правильности работы ПС.
Тестирование включало в себя проверку всех ветвей программы и минимальный набор примеров. При тестировании были столь всяческие ситуации, как незначительные ошибки программы-тестирования, но удалось добиваться определенных результатов. Результаты показали высокий уровень работы кета программ во всех ее модулях. Тестирование проводилось через компоратор файлов, генератор тестовых данных, мониторинг, тестовый мониторинг, программы-профилировщики.
Глава 14 Программная диагностика
Программная диагностика – это диагностирование построенное на выявлении неисправностей компьютера, при помощи ПО. Начиная с Bios до драйвера, везде программное обеспечение. Которое так или иначе управляет той или иной комплектующей в рамках компьютера.
Проверка данного программного обеспечения, которое включает в себя:
– проверку файловой системы на возникновение сбоев;
– проверку реестра ПО;
– проверку наличия ошибок взаимодесвии с разными версиями ОС: Linux (Ubuntu, Debian, Mint), Windows (7,8,10,11), MacOS (8.0—10.12).
Нужно использовать 10 качественных инструментов для диагностического тестирования программного обеспечения (для выбора оптимального маршрута при транспортных перевозках): Selenium, TestingWhiz, HPE Unified Functional Testing (HP – UFT ранее QTP), TestComplete, Ranorex, Sahi, Watir, Tosca Testsuite, Telerik TestStudio, Katalon Studio.
Jira, HP QC, TestLink, Mantis, HP QC, TestLink, Mantis, Test Track
https://testmatick.com/ru/10-luchshih-sistem-upravleniya-test-kejsami-v-2019-godu/
Глава 15. Инструкция пользователя
1. Вычисление оптимального маршрута
На панели инструментов Network Analyst щелкните Расчет Решения. Объект маршрута появляется в документе карты и в окне ArcGIS Network Analyst под классом Маршруты.
Рисунок 3.15.1 – Построение маршрута
Если появляется предупреждение, остановка может быть размещена на ограниченном ребре. Попробуйте переместить одну или несколько остановок с помощью инструмента Выбрать/Переместить сетевые положения. Инструмент выбора/перемещения сетевого положения с панели инструментов Network Analyst.
На панели инструментов Network Analyst щелкните кнопку Расчет button Направления. Откроется диалоговое окно Путешествие. На правом столбце диалогового окна Путевой лист щелкните на одной из ссылок с названием Карта. Отображена карта-врезка маневра.
Рисунок 3.15.2 – Построение маршрутов
2. Сохранение маршрута
Слой анализа маршрута сейчас сохранен в памяти, и если вы выйдете из ArcMap без сохранения, анализ будет потерян. Однако если вы сохраните документ карты, слой анализа сохранится вместе с ним. Вы можете также экспортировать данные. Одним из способов является экспорт слоя сетевого анализа в файл LYR. Свойства анализа и объекты хранятся в файле LYR. Другим способом является сохранение подслоев анализа в качестве классов объектов с использованием команды Экспорт данных. На следующем этапе показано, как экспортировать подслойки маршрутов в класс пространственных объектов.
В открывшемся окне Network Analyst щелкните правой кнопкой мыши Маршруты (1) и выберите команду Экспорт данных.
Рисунок 3.15.3 – Экспорт данных из маршрута
Открывается диалоговое окно и экспорт данных. В поле (текстовом) исходный класс объектов введите или укажите место для сохранения результатов. Далее, нажимаем кнопку «ОК». Объект маршрута сохраняется в изначальной рабочей области. Потом щелкаем на кнопку «Нет», для добавления экспортируемых данных на карту как слой. В случае, когда не нужно продолжать работу с другими упражнениями, необходимо закрыть приложение AppGoWay. Нажимаем «Нет», для сохранения изменений. В случае взаимодействия с другими элементами, выполняем следующие действия: щелкните «Файл», «Новый», откроется диалоговое окно «Новый документ», далее – щелкаем кнопку «ОК». На запрос о сохранении изменений щелкаем: «Нет».
Глава 16. Код программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System. Data;
using System. Drawing;
using System.Linq;
using System. Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Net;
namespace GoogleAPIroutes_GMap
{
public partial class Form1: Form
{
public Form1 ()
{
InitializeComponent ();
}
private void Form1_Load (object sender, EventArgs e)
{
gMapControl1.Bearing = 0;
gMapControl1.CanDragMap = true;
gMapControl1.DragButton = MouseButtons. Left;
gMapControl1.GrayScaleMode = true;
gMapControl1.MarkersEnabled = true;
gMapControl1.MaxZoom = 20;
gMapControl1.MinZoom = 2;
gMapControl1.MouseWheelZoomType =
GMap.NET.MouseWheelZoomType.MousePositionAndCenter;
gMapControl1.NegativeMode = false;
gMapControl1.PolygonsEnabled = true;
gMapControl1.RoutesEnabled = true;
gMapControl1.ShowTileGridLines = false;
gMapControl1.Zoom = 2;
gMapControl1.MapProvider =
GMap.NET.MapProviders.GMapProviders. GoogleMap;
GMap.NET.GMaps.Instance.Mode =
GMap.NET.AccessMode.ServerOnly;
GMap.NET.MapProviders.GMapProvider. WebProxy = System.Net.WebRequest.GetSystemWebProxy ();
GMap.NET.MapProviders.GMapProvider.WebProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
dtRouter = new DataTable ();
dtRouter.Columns.Add («Шаг»);
dtRouter.Columns.Add («Начальная точка (latitude)»);
dtRouter.Columns.Add («Начальная точка (longitude)»);
dtRouter.Columns.Add («Конечная точка (latitude)»);
dtRouter.Columns.Add («Конечная точка (longitude)»);
dtRouter.Columns.Add («Время»);
dtRouter.Columns.Add («Дистанция»);
dtRouter.Columns.Add («Опись маршрута»);
dataGridView1.DataSource = dtRouter;
dataGridView1.Columns [7].Width = 250;
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AllowUserToDeleteRows = false;
dataGridView1.ReadOnly = false;
//Добавить виды перемещения.
comboBox1.Items.Add («Автомобильные маршруты»);
comboBox1.Items.Add («Пешеходные маршруты»);
comboBox1.Items.Add («Велосипедные маршруты»);
comboBox1.Items.Add («Маршруты общественного транспорта»);
comboBox1.SelectedIndex = 0;
}
DataTable dtRouter;
private void button1_Click (object sender, EventArgs e)
{
//Очистка таблицы
dtRouter.Rows.Clear ();
List mode = new List ();
mode.Add («driving»);
mode.Add («walking»);
mode.Add («bicycling»);
mode.Add («transit»);
string url = string.Format (
«https://maps.googleapis.com/maps/api/directions/xml?origin={0},&destination={1}&sensor=false&language=ru&mode={2}»,
Uri.EscapeDataString (textBox1.Text), Uri.EscapeDataString (textBox2.Text), Uri.EscapeDataString(mode[comboBox1.SelectedIndex]));
System.Net.HttpWebRequest request =
(System.Net.HttpWebRequest)System.Net.WebRequest.Create (url);
System.Net. WebResponse response =
request.GetResponse ();
System.IO.Stream dataStream =
response.GetResponseStream ();
System.IO.StreamReader sreader =
new System.IO.StreamReader (dataStream);
string responsereader = sreader.ReadToEnd ();
response.Close ();
System. Xml. XmlDocument xmldoc =
new System. Xml. XmlDocument ();
xmldoc. LoadXml (responsereader);
if (xmldoc.GetElementsByTagName(«status»)[0].ChildNodes[0].InnerText == «OK»)
{
System. Xml. XmlNodeList nodes =
xmldoc.SelectNodes (»//leg//step»);
object [] dr;
for (int i = 0; i
{
dr = new object [8];
dr [0] = i;
dr [1] = xmldoc.SelectNodes(«//start_location»).Item(i).SelectNodes(«lat»).Item(0).InnerText.ToString ();
dr [2] = xmldoc.SelectNodes(«//start_location»).Item(i).SelectNodes(«lng»).Item(0).InnerText.ToString ();
dr [3] = xmldoc.SelectNodes(«//end_location»).Item(i).SelectNodes(«lat»).Item(0).InnerText.ToString ();
dr [4] = xmldoc.SelectNodes(«//end_location»).Item(i).SelectNodes(«lng»).Item(0).InnerText.ToString ();
dr [5] = xmldoc.SelectNodes(«//duration»).Item(i).SelectNodes(«text»).Item(0).InnerText.ToString ();
dr [6] = xmldoc.SelectNodes(«//distance»).Item(i).SelectNodes(«text»).Item(0).InnerText.ToString ();
//Получение инструкций
dr [7] = HtmlToPlainText(xmldoc.SelectNodes(«//html_instructions»).Item(i).InnerText.ToString ());
dtRouter.Rows.Add (dr);
}
textBox1.Text = xmldoc.SelectNodes(«//leg//start_address»).Item(0).InnerText.ToString ();
textBox2.Text = xmldoc.SelectNodes(«//leg//end_address»).Item(0).InnerText.ToString ();
textBox3.Text = xmldoc.GetElementsByTagName(«duration»)[nodes.Count].ChildNodes[1].InnerText;
textBox4.Text = xmldoc.GetElementsByTagName(«distance»)[nodes.Count].ChildNodes[1].InnerText;
double latStart = 0.0;
double lngStart = 0.0;
double latEnd = 0.0;
double lngEnd = 0.0;
latStart = System.Xml.XmlConvert.ToDouble(xmldoc.GetElementsByTagName(«start_location»)[nodes.Count].ChildNodes[0].InnerText);
lngStart = System.Xml.XmlConvert.ToDouble(xmldoc.GetElementsByTagName(«start_location»)[nodes.Count].ChildNodes[1].InnerText);
latEnd = System.Xml.XmlConvert.ToDouble(xmldoc.GetElementsByTagName(«end_location»)[nodes.Count].ChildNodes[0].InnerText);
lngEnd = System.Xml.XmlConvert.ToDouble(xmldoc.GetElementsByTagName(«end_location»)[nodes.Count].ChildNodes[1].InnerText);
textBox5.Text = latStart + ";" + lngStart;
textBox6.Text = latEnd + ";" + lngEnd;
dataGridView1.DataSource = dtRouter;
gMapControl1.Position = new GMap.NET. PointLatLng (latStart, lngStart);
GMap.NET.WindowsForms.GMapOverlay markersOverlay =
new GMap.NET.WindowsForms.GMapOverlay (gMapControl1, «marker»);
GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen markerG =
new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen (
new GMap.NET. PointLatLng (latStart, lngStart));
markerG.ToolTip =
new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip (markerG);
markerG.ToolTipMode = GMap.NET.WindowsForms.MarkerTooltipMode.Always;
string [] wordsG = textBox1.Text. Split (»,»);
string dataMarkerG = string. Empty;
foreach (string word in wordsG)
{
dataMarkerG += word + ";\n»;
}
markerG.ToolTipText = dataMarkerG;
GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed markerR =
new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed (
new GMap.NET. PointLatLng (latEnd, lngEnd));
markerG.ToolTip =
new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip (markerG);
markerR.ToolTipMode = GMap.NET.WindowsForms.MarkerTooltipMode.Always;
string [] wordsR = textBox2.Text. Split (»,»);
string dataMarkerR = string. Empty;
foreach (string word in wordsR)
{
dataMarkerR += word + ";\n»;
}
markerR.ToolTipText = dataMarkerR;
markersOverlay.Markers.Add (markerG);
markersOverlay.Markers.Add (markerR);
gMapControl1.Overlays.Clear ();
List list = new List ();
for (int i = 0; i
{
double dbStartLat = double.Parse(dtRouter.Rows[i].ItemArray[1].ToString (), System.Globalization.CultureInfo.InvariantCulture);
double dbStartLng = double.Parse(dtRouter.Rows[i].ItemArray[2].ToString (), System.Globalization.CultureInfo.InvariantCulture);
list.Add (new GMap.NET. PointLatLng (dbStartLat, dbStartLng));
double dbEndLat = double.Parse(dtRouter.Rows[i].ItemArray[3].ToString (), System.Globalization.CultureInfo.InvariantCulture);
double dbEndLng = double.Parse(dtRouter.Rows[i].ItemArray[4].ToString (), System.Globalization.CultureInfo.InvariantCulture);
list.Add (new GMap.NET. PointLatLng (dbEndLat, dbEndLng));
}
markersOverlay.Routes.Clear ();
GMap.NET.WindowsForms.GMapRoute r = new GMap.NET.WindowsForms.GMapRoute (list, «Route»);
r.IsVisible = true;
// цвет маршрута.
r.Stroke.Color = Color. DarkGreen;
markersOverlay.Routes.Add (r);
gMapControl1.Overlays.Add (markersOverlay);
//10ти кратное приближение.
gMapControl1.Zoom = 10;
//Обновление.
gMapControl1.Refresh ();
}
}
//Удаление HTML-тег.
public string HtmlToPlainText (string html)
{
html = html.Replace (»»,»»);
return html.Replace (»», «»);
}}}
РАЗДЕЛ 4
Охрана труда и безопасность
Непрерывное внимание к качественному проектированию повышает отдачу от гибких технологий.
Глава 1. Безопасный труд с компьютерной техникой
Сегодня компьютерную технику используют во всех организациях. Работники, которые применяют техническое оборудование могут иметь негативное влияние на своё здоровье. В целях возлежания, нужно соблюдать технику безопасности с компьютерною техникою.
Сотрудник, который использует компьютер в своей трудовой деятельности, испытывает на себе влияние некоторых негативных факторов, к примеру:
– электромагнитное и инфракрасное излучение;
– шум работающего компьютера (или нескольких компьютеров);
– риск поражения электрическим током при замыкании;
– возможность возникновения возгорания.
Поэтому, в организации должен быть утвержден соответствующий документ, который предусматривает правила по выполнению трудовых операций с компьютерной техникой, называемый, к примеру, «Инструкция по технике безопасности при работе ЕОМ».
При приеме на работу каждый человек должен пройти медицинское обследование. Кроме того, во время дальнейшей работы в компании такое лицо подлежит регулярному медицинскому осмотру не реже одного раза в 2 года. Такие врачи обязательно имеют, как терапевт, невропатолог и офтальмолог [5].
Рассмотрим правила безопасности по каждому этапу работы с компьютером:
1. До начала работы: проверить исправность электропроводки, розеток и вилок компьютера, заземление ПК.
2. Во время работы:
– необходимо аккуратно обращаться с проводами;
– запрещается работать с неисправным компьютером;
– нельзя очищать компьютер, когда он находится под напряжением;
– недопустимо самостоятельно производить ремонт оборудования при отсутствии специальных навыков;
– нельзя размещать рядом с компьютером жидкости, а также работать с мокрыми руками;
– нельзя в процессе работы с ПК прикасаться к другим металлическим конструкциям (например, батареям);
– не допускается курение и употребление пищи в непосредственной близости с ПК и т. д.
3. В аварийных ситуациях:
– при любых неполадках необходимо сразу отсоединить компьютер от сети;
– в случае обнаружения обнаженной проволоки немедленно оповестить всех работников и исключить контакт с проводом;
– при возникновении пожара принять меры по его тушению с использованием огнетушителей (работники должны знать, где они находятся);
– в случае поражения человека током оказать первую помощь и вызвать скорую помощь.
4. После окончания работы:
– выключить компьютер;
– желательно провести влажную уборку рабочего места;
– отключить электропитание.
Для офисных сотрудников, которые минимум 50% своего рабочего времени проводят за компьютером, предусмотрены специальные внутрисменные перерывы, продолжительность и частота которых зависит от типа трудовой функции. Компания должна иметь четко установленные перерывы для других работников (за исключением обедов), как правило, 10 —15 минут каждый час или два, в зависимости от сложности работы (п. 5.3, 5.8, 5.9, 5.10 Государственных санитарных правил и норм работы с визуальными дисплейными терминалами электронно-вычислительных машин ГОСТ 12.3.002—75). работодатель должен предоставить такой график работы на предприятии, чтобы время бесперебойной работы с компьютером было не более четырех часов. Кроме того, в целях сохранения должного уровня здоровья и профессиональной работоспособности работников, рекомендуется на предприятии обеспечить отдельное помещение для работников для расслабления и освобождения от нервно-эмоционального стресса, возникающего при работе с компьютером.
Соблюдение правил работы на компьютере позволит снизить негативное влияние компьютера на здоровье работника. Однако чаще всего именно работники пренебрегают этими правилами, и задача работодателя в данном случае – постоянно сообщать своим сотрудникам информацию о последствиях несоблюдения вышеизложенных требований и своими распоряжениями организовывать обязательные перерывы в работе.
Глава 2. Безопасность человека в чрезвычайных ситуациях на предприятии
Статистический анализ показывает, что для защиты населения и территории от чрезвычайных ситуациях будет актуальна всегда. Редкий случай или производственная авария – это причинно-следственное событие, которое является результатами недостаточно проработанных решений [9]. Опасности по производственной сфере, как и в природной,
в пространстве и времени существуют независимо от человека.
Поэтому зону действия опасных факторов называют опасной, а средства, которые позволяют исключить воздействие на человека – средствами защиты.
При этом возможны три основных варианта:
– зона действия опасностей не совпадает с местонахождением человека;
– зона действия опасностей частично совпадает с местонахождением человека;
– зона действия опасностей совпадает с местонахождением человека.
Если за критерий возможных негативных последствий принять риск, определяемый вероятностью проявления опасности при нахождении человека в опасной зоне, то: в первом случае риск исключен полностью, так как человек не имеет контакта с опасностями; во втором случае риск повреждения здоровья человека возможен только в случае совпадения зоны действия опасностей по месту и по времени с местонахождением человека или его органов (при работе подъемно-транспортного, кузнечно-прессового, большинства станочного оборудования, а также при осмотрах, ремонтах, настройках и испытаниях машин и механизмов на ходу). В третьем случае можно говорить о 100%-м риске повреждения здоровья человека (во время стихийных бедствий, на пожарах, во время взрывов, военных действиях, а также во время выполнения особо опасных работ – подземных, работ на высоте, ремонтных и электромонтажных работ под напряжением, при эксплуатации взрывоопасных объектов). Во втором и третьем случаях снизить уровень опасности, исключить или уменьшить риск можно, применяя специальные средства защиты, проводя организационные мероприятия и обучая персонал специальных приемов труда и правилам личного поведения.
Количественно риск определяется как отношение тех либо других нежелательных последствий в единицу времени к вероятному числу событий. Современное состояние общества, науки и производства, разработка прогрессивных средств защиты позволяют снизить риск гибели человека. Обычно риск как показатель опасности используется в общей оценке проектируемых объектов. В практике статистической оценки травм опасности производственных отраслей, компаний и видов работ почаще употребляют характеристики частоты и тяжести несчастных случаев.
Принципы обеспечения безопасности производственной деятельности делятся на следующие группы: ориентирующие – основополагающие принципы, цел направляющие технологов, конструкторов, проектировщиков и организаторов производства на определение области поиска и методологии решения задач безопасности производственной деятельности персонала:
1. Управленческие – предоставляют возможность руководству предприятия на основе законодательных и нормативных актов построить организационную структуру и систему управления безопасностью с четким распределением обязанностей, контролем, обратной связью и ответственностью должностных лиц за работу по обеспечению безопасности производственной деятельности персонала предприятия.
2. Организационные – включают подбор и обучение кадров, нормирование труда и отдыха, организацию рабочих мест с учетом эргономики.
3. Технические – предусматривают комплекс типовых технических решений обеспечения максимальной безопасности функционирования оборудования и технологических процессов.
Принцип гуманизации предполагает, что при проектировании технологических процессов, оборудования, организации труда центром внимания должен быть человек, его безопасность, удобство работы, тепловой и физиологический комфорт. Необходимо оценивать физические и психофизиологические возможности человека в процессе труда, его реакции на смену обстановки, возможность контроля информации, удобство рабочей позы, расположение органов управления, соответствие тяжести и напряженности труда нормируемым величинам.
Системность в обеспечении безопасности производственной деятельности требует последовательного решения следующих четырех задач: идентификация (обнаружение) опасностей и вредностей на каждом рабочем месте и каждой технологической операции; исключение опасностей путем выбора менее опасных вариантов технологии и оборудования; защита от остальных опасностей и вредностей путем подбора наиболее эффективных средств коллективной и индивидуальной защиты, применения автоматизации и дистанционного управления; оценка возможных аварийных ситуаций; локализация и ликвидация опасностей и вредностей при авариях.
Укрытие производственного персонала объекта экономики в защитных сооружениях в ЧС техногенного, природного или военного характера должно производиться быстро, организованно и своевременно с соблюдением очередности цехов и маршрутов движения. С этой целью на территории объекта устанавливаются соответствующие указатели, а на выходе из цехов вывешиваются графики очередности заполнения защитного сооружения с указанием маршрутов (маршрута) движения и номера входа. В укрытие рабочие и служащие должны приходить со средствами индивидуальной защиты и личными документами. По своим свойствам защитные сооружения делятся на убежища, противорадиационные укрытия и простейшие укрытия. Хранилища обеспечивают наиболее надежную защиту практически от всех поражающих факторов, кроме затопления во время наводнения, и классифицируются по защитным свойствам, фильтровентиляционному оборудованию, по времени возведения (строительства) и местоположению. Помещение для укрытия людей производится из расчета: на одного человека не менее 0,5 м² площади и 1,5 м³ внутреннего объема. Высота убежища должна быть не менее 2,2 м. от отметки полов до низа выступающих конструкций перекрытия. В помещениях для укрытия людей устанавливаются двухъярусные нары, при этом должно быть 80% мест для сидения размером не менее 0,45х0,55 и 20% мест для лежания размером 0,55х1,8м.
Снабжение убежища воздухом может осуществляться по двум режимам:
– по режиму чистой вентиляции наружный воздух очищается от радиоактивной пыли и в зависимости от температуры может быть подан от 7 до 20 м3 на одного человека в час;
– по режиму фильтр вентиляции внешний воздух очищается от радиоактивной пыли, ядовитых веществ и бактериальных средств и в зависимости от температуры ее может быть подано от 2 до 8 м³ на одного человека в час. Чтобы исключить возможность попадания задымленного и горячего воздуха внутрь убежища, а также обеспечить очистку подаваемого вовремя пожара в защитное сооружение воздуха от окиси и двуокиси углерода, производится очистка воздуха в фильтрах, состоящих из гипсолитовых кассет. Воздух охлаждается в воздухоохладителе. После очистки и охлаждения воздух нагнетается в убежище вентиляторами.
– Типичная система подачи воздуха состоит из воздухозаборных устройств, противоболевых фильтров, фильтров поглотителей, теплоемкости фильтра, вентиляторов, разводящей сети и воздух регулирующих устройств. Отработанный воздух удаляется из убежища через вытяжные каналы, в которых устанавливаются герметичные и регулирующие клапаны. Могут устанавливаться и вытяжные вентиляторы. Электроснабжение и освещение хранилищ, как правило, производятся от городской (объектовой) сети. В случае прекращения подачи энергии предусматриваются аварийные (аккумуляторные) источники освещения, а также источники питания, обеспечивающие работу средств связи в течение двух суток. Аварийные источники электроэнергии должны быть законсервированы.
– Каждое убежище должно иметь телефон и репродуктор, подключенный к городской или местной радиотрансляционной сети.
Глава 3. Правовые особенности по эксплуатации
Есть необходимость в дополнительном указании правовых аспектов и повторение такой темы, как легитимность внедрения приложений, игр, так и другого программного обеспечения. Это хорошо, когда предприятие имеет задумки о сохранении своих информационных активов и внедряет решения [7]. Но если этому внедрению не способствует юридическое оформление, часть функций программных продуктов просто отваливается. Предприятие не сможет использовать данные программных приложений в суде против сотрудника, виновного в разглашении КИ (а может и пострадать от иска самого сотрудника, например). Еще один немаловажный момент, большинство регламентов и положений требует электронной подписи сотрудника, который либо выступает в качестве одной из сторон сделки, либо подтверждает ознакомление с содержанием документа. Поэтому для работы над юридическим оформлением игры необходимо привлекать также HR-отдел и юристов. Внедрение своего приложения затрагивает важные стороны работы учреждения. Чтобы оно было в правовом поле, нужно, во-первых, не выходить за рамки законодательства, во-вторых, интегрировать систему в информационную инфраструктуру данного предприятия. Это означает, что легитимное использование программных продуктов должно опираться на внутренние документы и регламенты, такие как Положение о коммерческой тайне, Политика конфиденциальности, Политика по персональным данным, кадровые документы и т. д. Чтобы можно было пользоваться программными компонентами на законных основаниях и иметь право использовать ее данные при защите своих прав, сведения о ней должны быть внесены в трудовые договоры и в правила внутреннего трудового распорядка. Если вы хотите максимально полно защититься от информационных рисков, вам поможет чек-лист, в который внесены все необходимые меры.
Глава 4. Экономические расчёты по эффективности ПО
Для создания в собственных интересах можно потратить очень мало, почти ничего. На для заказа другим представителям, на этом можно хорошо подзаработать. Поэтому создавать програмные приложения очень круто. Расчет затрат на создание и внедрение ПО. Расходы на разработку игры состоят из затрат на:
– заработную плату разработчика;
– амортизацию ЭВМ, на которой выполняется разработка;
– эксплуатацию этой ЭВМ;
– средства разработки;
– материалы и комплектующие.
Исходя из того, что основная заработная плата разработчиков с такой системой составляет 1000 $/мес., стоимость современной ПЭВМ составляет 400 $., и стоимость киловатт-часа электроэнергии составляет 0,00316 $, рассчитаем стоимость разработки системы.
Расчет заработной платы:
3 -------
| Библиотека iknigi.net
|-------
|
-------
=ЗП -------
| Библиотека iknigi.net
|-------
|
-------
· Т -------
| Библиотека iknigi.net
|-------
|
-------
(5.5.1) (4.4.1)
где ЗП -------
| Библиотека iknigi.net
|-------
|
-------
– зарплата разработчика за месяц; Троз – продолжительность разработки (исследования, создания, отладки и внедрения).
Для разработки данной программы необходимо 4 месяца (по экспертной оценке времени на разработку аналогичных систем). Количество разработчиков – 1 человек.
Из этого следует, что общая сумма затрат на заработную плату составит:
З -------
| Библиотека iknigi.net
|-------
|
-------
= ЗП -------
| Библиотека iknigi.net
|-------
|
-------
· Т -------
| Библиотека iknigi.net
|-------
|
-------
= 1000· 3 · 1 = 3000 $ (4.4.2)
Расходы на амортизацию ЭВМ, на которой производится разработка, рассчитывается по формуле:
З -------
| Библиотека iknigi.net
|-------
|
-------
-------
| Библиотека iknigi.net
|-------
|
-------
Ц -------
| Библиотека iknigi.net
|-------
|
-------
· А · Т -------
| Библиотека iknigi.net
|-------
|
-------
(4.4.3)
где Ц -------
| Библиотека iknigi.net
|-------
|
-------
= 400$ – балансовая стоимость ЭВМ; А = 60% – амортизация за год; срок службы ЭВМ – 5 лет; Т -------
| Библиотека iknigi.net
|-------
|
-------
= = 0,33 года – время, необходимое для разработки системы.
З -------
| Библиотека iknigi.net
|-------
|
-------
= 400·0,6·0,33 = 79,2 $ (4.4.4)
Расходы на эксплуатацию ЭВМ, на которой производится разработка, заключаются в оплате потребляемой ею электрической энергии и рассчитываются по формуле:
З -------
| Библиотека iknigi.net
|-------
|
-------
-------
| Библиотека iknigi.net
|-------
|
-------
Р -------
| Библиотека iknigi.net
|-------
|
-------
· Т -------
| Библиотека iknigi.net
|-------
|
-------
· N -------
| Библиотека iknigi.net
|-------
|
-------
· N -------
| Библиотека iknigi.net
|-------
|
-------
· Е -------
| Библиотека iknigi.net
|-------
|
-------
(4.4.5)
где Р -------
| Библиотека iknigi.net
|-------
|
-------
= 0,4 кВт./час. – мощность ЭВМ; Т -------
| Библиотека iknigi.net
|-------
|
-------
= 3 месяца – продолжительность разработки; N -------
| Библиотека iknigi.net
|-------
|
-------
= 22 дня – число рабочих дней в месяце; N -------
| Библиотека iknigi.net
|-------
|
-------
= 8 часов – число часов в рабочем дне; Е -------
| Библиотека iknigi.net
|-------
|
-------
= 0,03 $ – стоимость 1 кВт/ч электроэнергии.
Общие затрат на создание системы с учетом вышеуказанного представлена в Табл. 4.4.6
К затратам на внедрение системы можно отнести затраты на приобретение технического обеспечения, стоимость программного обеспечения, стоимость обучения кадров, затраты на монтаж и настройку сети.
Поскольку уже имеющиеся параметры технических средств соответствуют требованиям, то их стоимость при расчете затрат учитывать не будем.
Таблица 4.4.6 — Общая смета затрат на создание системы
Исходя из требований к программному обеспечению, а также проанализировав ценовую политику, мы можем принять следующее (Табл. 4.4.7).
Таблица 4.4.7 – Список программного обеспечения, необходимого для внедрения системы.
Расходы на программное обеспечение составили 140 USD.
Согласно опыту создания аналогичных программ принимаем, что стоимость подготовки кадров равна 1000$. Расходы на сопровождение информационной системы будут равны 1% от стоимости программы и составляют 0.1$. Инвестиционные расходы по внедрению системы с учетом стоимости обучения кадров и затраты на сопровождение представлены в Табл. 4.4.8
Таблица 4.4.8 — Инвестиционные расходы по внедрению системы
Итого общая сумма затрат по создание и внедрение системы составляет 3 213,50 долларов. Такую сумму вам предложат за проделанную работу. Стоит учиться писать программу, на примере этой? Конечно же…
Глава 5. Охрана труда при использовании ЕОМ
С пециализированное учреждение ООН, Международная организация труда (МОТ) объявила здоровье и безопасность на рабочем месте одним из основных прав работников во всем мире. Об этом историческом решении специализированное агентство ООН. Согласно Уставу МОТ, все 187 государств-членов теперь должны обеспечить фундаментальное право на безопасную и здоровую рабочую среду.
Охрана труда – это система правовых, социально-экономических, организационно-технических, санитарно-гигиенических и лечебно-профилактических мероприятий и средств, направленных на сохранение здоровья и работоспособности человека в процессе труда [35]. Главный объект охраны труда – это человек в процессе труда, производственная среда, организация труда на производстве. Основная цель охраны труда – это создание здоровых и безопасных условий труда.
Сегодня, компьютерной техникой пользуются почти во всех учреждениях. Используя работниками ЭВМ, при невыполнении инструкций мер безопасности, может повлечь негативные последствия для здоровья организма и привести к ЧС, несчастным случаям на ВУЗ [37]. Поэтому, для того, чтобы работники избежать такого, последние должны постоянно соблюдать технику безопасности при работе с компьютером и утвержденных инструкций [35]. Персонал, пользующийся своей трудовой деятельности ЭВМ, испытывает в определенной степени влияние следующих факторов отрицательного характера, в том числе электромагнитное и инфракрасное излучение:
– шумы от работающих компьютеров;
– риск поражения электрическим током;
– возможно возникновение возгорания.
Поэтому, в любом учреждении может быть предусмотрено по специальному (соответствующему) документу, правила выполнения с компьютерной техникой на работе. Для офисных сотрудников, которые минимум 50% своего рабочего времени выделяют свое время за компьютером, необходимо, чтобы были предусмотрены специальные внутрисменные перерывы, продолжительность и частота которых зависит от типа трудовой функции. Предприятие или учреждение должно иметь четко установленные перерывы для других работников (за исключением обедов), как правило, 10—15 минут каждый час или два, в зависимости от сложности работы (п. 5.3, 5.8, 5.9, 5.10 Государственных санитарных правил и норм работы с визуальными дисплейными терминалами электронно-вычислительных машин ГОСТ 3.3.8.007). В любом случае работодатель должен предоставить такой график работы на предприятии, чтобы время бесперебойной работы с компьютером было не более четырех часов. Кроме того, в целях сохранения должного уровня здоровья и профессиональной работоспособности работников, рекомендуется на предприятии обеспечить отдельное помещение для работников для расслабления и освобождения от нервно-эмоционального стресса, возникающего при работе с компьютером.
Соблюдение правил работы на компьютере позволит снизить негативное влияние компьютера на здоровье работника. Однако чаще именно работники пренебрегают этими правилами, и задача работодателя в данном случае – постоянно доводить до сведения своих сотрудников информацию о последствиях несоблюдения вышеизложенных требований и своими распоряжениями организовывать обязательные перерывы в работе.
Глава 6. Физиологическая и психологическая усталость
Все виды деятельности так или иначе связаны с использованием психических и физических ресурсов, стремясь достигать значимых целей. Поэтому, расходование собственного потенциала человек нужно пережить как иное психическое состояние.
Практическая психология рассматривает качества организации труда человека в системах «человек – техника», обеспечения его информацией, средств управления и интенсивности воздействия на него факторов внешней среды.
Состояния психического утомления развивается в процессе работы человека, если он произвел чрезмерные затраты. Состояние ожидания результата его предвосхищения в процессе деятельности и вызывает психическое утомление. Под которым понимается целостная характеристика психологической деятельности и поведения субъекта в некоторый период времени, показывающая снижение интенсивности процессов в зависимости от длительности усилий по достижению необходимого результата. Стадии утомления рассматриваются как:
– слабое чувство усталости, появление вялости, сонливости;
– ухудшение адекватности и правильности действий при сохранении их скорости;
– острое утомление и дезорганизация деятельности.
Физиологически, утомления глаз свидетельствует об истощении внутренних ресурсов организма и переход на менее оптимальные способы его функционирования. В состоянии психической напряженности имеется чрезмерная величина усилий, которая необходима человеку для решений заданий. Данное состояние происходит в сложных условиях деятельности, также ухудшается показатели деятельности до полной дезинтеграция. В данной работе человеку известны цели его деятельности и нужен результат, которого необходимо достигнуть, но он не готов к немедленной работе и может испытывать дефицит средств информации, или необходимых ему условий, технического оборудования. Состояние психической напряженности постоянно растёт, через негативные средства, которые исполняются у человека как целостная характеристика психической деятельности определённый период времени, что оказывает некую интенсивность психических процессов. Психическое напряжение сопровождается почти в любой деятельности, активизирует все функции организма, обеспечивая продуктивность. Но если напряжение чрезмерно продолжительно будет происходить, то сопровождается страхом, неуверенностью, и перерастает до психического напряжения, становлюсь фактором очень негативным, учитывая избыточный расход энергии (психический).
Выделяют три стадии психического перенапряжения:
– Нервозность. (Характерны: раздражительность, чувство психического дискомфорта, неприятные ощущения, неустойчивость поведения).
– Эстетичность. (Характерны: неуверенность своих действий, тревожность, депрессивность).
Состояние сильного эмоционального стресса человек может испытывать в особых ситуациях. Сущность самого стресса в том, что деятельность сформулирована сотрудником и оказывается он неспособный им препятствовать. Беспомощность и неспособность обеспечить свою безопасность или окружающих людей служат такой причиной возникновения такого стресса на некоторый период времени, показывает разрушение психических процессов, определяется внезапными появлениями чрезвычайно значимых стимулов и отсутствие способов решения проблем у возникших ситуаций.
Таблица 4.6.1 – Психологические показатели психических состояний человека в системах: «Человек – Техника»
Некие эмпирические данные указывают на то, что состояние у повышенной тревожности встречается у человека, прямо связанного с особенностями своей деятельности. Объясняются это особенностью в одном виде деятельности не удается регламентировать свои способности, отношение, чтобы полностью исключить элемент неопределенности.
Причина развития состояния повышенной тревожности за некоторый период времени показывает завышенную концентрацию к длительной фиксации психических процессов на предполагаемом нежелательном результате из-за отсутствий алгоритма понимания назревающих ему событий.
Индифферентное состояние свойственно человеку, которому неизвестны ни его цель, ни список средств, которые используются неизвестного человеку результата.
Глава 7. Статистика по общей численности
Данная статистика может быть не точной в связи с тем, что время не стоит, а бежит. Эта статистика может не совпадать с чьим-то мнением. Но надеюсь, что это будет полезной и достойной информацией для прочтения.
Исследования показывают, что более чем 90% пользователей ЕОМ имеют незначительные боли в области глаз, чувство песка под веками, затуманивание зрения и т. д. По данным ученых с Италии (в обследовании имеются свыше 5 000 человек) имеются следующее симптомы: зуд – 41%, боли – 9%, покраснение глаз – 48%, потемнение в глазах – 2,5%, снижение остроты зрения – 34%, бинокулярного зрения – 49%. В результате очень длительной работы за компьютером росту риски появления близорукости [6].
В исследовании состояния пользователей ЕОМ, которое проводилось Центром электромагнитной безопасности, показано, что в человеческом организме под влиянием излучения монитора имеются изменения гормонального состояния, биотоков головного мозга, обмена веществ. Низкочастотные электромагнитные поля у взаимодействии с другими отрицательными факторами инициируют заболевания. Пыль, которая притягивается электростатическим полем монитора, становится причиной дерматитов лица, обострения астматических симптомов, раздражения слизистых оболочек [7]. Поэтому нужно чаще убирать и следить за порядком!
Для исследования проведено изучение информированности студентов о влиянии персональных компьютеров (ПК) на здоровье. Была разработана анкета пользователя ПК, включающая вопросы по режиму пользования компьютера, условиям соблюдения техники безопасности, самочувствию. Использовались методы анкетного опроса, результаты были обработаны статистически. Проведено анкетирование 300 студентов 2—4 курсов Липетского государственного университета и 200 слушателей курсов: «Добровольное общество содействия армии, авиации и флоту» по Липетской области, пользующихся ПК. Среди опрошенных юношей 370 (74%) и 130 (26%) девушек. Исследование показало, что практически все студенты информированы об отрицательном воздействии ПЭВМ на здоровье (98%) и все пользуются компьютером постоянно.
Большая часть анкетированных не соблюдает технику безопасности при работе с ПК: лишь 40% выключают компьютер, если не пользуются им, 90% пользуются ПК в вечернее время суток, 80% при этом не пользуются дополнительным освещением. У 21% пользователей ПК расположен на расстоянии менее 1 метра от изголовья кровати. Расстояние, с которого смотрят на монитор, у половины анкетированных составляет менее 0,5 м. Большая часть респондентов (87%) слушают музыку и играют в электронные игры на компьютере.
28% студентов, которые участвовали в анкетировании, используют портативный компьютер (ноутбук). Стоит отметить, что ноутбуки располагаются значительно ближе к пользователю чем ПК, поэтому, источники электромагнитного излучения с большей вероятностью воздействуют на область органов человека [5]. Стоит отметить, что в исследовании принимали участие юноши и девушки от 17 до 24 лет, для которых проессы репродуктивного здоровья очень важны.
Таким образом, можно сделать выводы, что большинство информировано о негативном влиянии ПК на здоровье человека, но подавляющее число пользователей всё же не соблюдают режим и условия безопасной работы с ЕОМ, и значительная часть имеют нарушения в самочувствии. ПОЭТОМУ СОБЛЮДЕНИЕ РЯДА ПРАВИЛ МОЖЕТ УМЕНЬШИТЬ НЕГАТИВНОЕ ВОЗДЕЙСТВИЕ КОМПЬЮТЕРА НА ЗДОРОВЬЕ. Высоту стола нужно регулироваться в пределах от 70 до 80 см, а расстояние от глаз пользователя до экрана монитора необходимо соблюдать не менее 50 см, а оптимальном 60—70 см. Высоту клавиатуры надо отрегулировать так, чтобы кисть пользователя располагалась горизонтально. Угол между бедрами и позвоночником должен составлять 90 градусов. В конце каждого часа нужно обязательно делать 5-минутный перерыв, а через 2 часа – 15-минутный, а каждые 40 минут делать упражнения для глаз и рук.
В последние десятилетия стремительно увеличивается число источников электромагнитных излучений (ЭМИ), возрастают их мощности, расширяется использование электронных средств. Пропорционально повышается и число людей разного возраста, у которых возникли проблемы со здоровьем, связанные с ЭМИ. Появился термин «электромагнитное загрязнение», который точно отражает сложившуюся обстановку. Большая часть населения проживает в сложном электромагнитном поле, интенсивность и характеристики которого во многом отличаются от естественных полей [7]. Чтобы снизить количество негативного влияния ЕОМ можно рекомендовать не использование ночью, также использование устройствами только от законных производителей, ношение в соответствующих сумках. Слишком стремительное развитие ТС коммуникации, негативно влияет на психическое и физическое здоровье людей. А ещё неблагоприятная экологическая обстановка, высокий уровень тревожности и социальные проблемы только усугубляют…
ВЫВОДЫ
Был проведен анализ услуг и видов деятельности в сфере транспортных перевозок. В частности, пришли к выводу, что потребность в услугах транспорта часто зависит от развития имеющихся в конкретном регионе видов автотранспорта, их интегрированности в единую систему, разного ассортимента и качества услуг потенциальным клиентам.
С развитием рыночной экономики удельный вес услуг транспорта растет, данная ситуация характерна почти для всех стран. которые решаются с помощью информационной технологии обработки данных.
Среди видов транспортной деятельности обозначены следующие пороки задачи: подготовка груза, погрузка и разгрузка, доставка, хранение, оформление документации и положений тарифов, контроль за перемещение грузов, техническое обслуживание транспортных средств, логистика.
Проанализированы самые популярные программные средства в области транспортных перевозок и определены их плюсы и минусы.
Данный проект «Пакет прикладных программ для выбора оптимального маршрута транспортных перевозок» посвящен разработке программного обеспечения для улучшения работы транспортных перевозок за счет построения наиболее правильных маршрутов транспортного средства, также можно использовать для справки перевозки и построения карты местности. Поддерживается поиск маршрутов для различных способов перемещения, в том числе на общественном транспорте, автомобиле, велосипеде или пешком. может возвращать составные маршруты в виде путевых последовательностей.
Программа написана на языке программирования C# на основе разработанного алгоритма для Windows приложений, определяемых политиками информационной безопасности. Проанализированы возможности работы данной системы на предприятии. Проведенные эксперименты показали высокую эффективность данного подхода к работе с трансортными перевозками при решении задач расчета и построения оптимального маршрута между пунктами на карте.
Эта работа включает в себя анализ деятельности пакета прикладных программ для построения оптимального маршрута транспортных перевозок, разработку технического задания, проект программного обеспечения, результаты разработки, раздел экономики, а также текст программы, программу и методику испытаний и инструкцию пользователя.
Результатом выполнения данной работы является пакет программного обеспечения для улучшения организации транспортных перевозок, а именно поиска и создания оптимального маршрута. Разработанный пакет программного обеспечения удовлетворяет требованиям, предъявляемым в техническом задании.
К тому же план-фактный анализ дает развернутую детализацию по выполнению плана и всем отклонениям как по передвижению, так и по времени.
Программное обеспечение может работать под управлением операционных систем Windows и Unix.
Тестирование данного программного продукта показало, что программное обеспечение успешно справляется с поставленными перед ним задачами по созданию оптимального маршрута для транспортных перевозок.
Программное обеспечение разработано на языке программирования C Sharp на основе интерфейса программирования приложений (API) Windows Forms, а также с использованием базы данных под управлением СУБД MySQL. Разработанный пакет приложений обеспечивает поиск оптимального маршрута и возможности его функционирования на предприятии для транспортных перевозок.
ЛИТЕРАТУРА
Базовая
– М. Банци, Arduino для начинающих волшебников / М. Банци. – М.: Рид Групп,. 2012. – 128 с.
– Климов Александр Петрович. C#. Советы программистам / Климов Александр Петрович. – Санкт-Петербург, 2012. – 544 с. – (БХВ-Петербург,).
– Мартин Р. Принципы, паттерны и методики гибкой разработки на языке C#.– П.:Питер, 2011. – 300 с.
– Жарков В. А. Компьютерная графика, мультимедиа и игры на Visual C#2005. М.: Жарков Пресс, 2005. – 812 с.
– Культин О. C# в задачах и примерах. – П. Бином-Пресс,2012.– 250 с. 5.
– Пол Дейтел, Харви Дейтел. Как программировать на Visual C# / 7. Пол Дейтел, Харви Дейтел. – Питер, 2012. – 864 с. – (СПб.: Питер). – (5-е издание).
– Н. В. Лагерева, Д. Д. Хадорич, И. А. Копелиович, Применение DFD-диаграмм при разработке компьютерных игр // Молодой ученый. – 2020. – №19 (309). – С. 137—139.
– Мартин Форд. Технологии, которые изменят ми / Мартин Форд. – Москва, 2009. – 268 с. – (Манн, Иванов и Фербер).
– Джозеф Албахари. C#9.0. Справочник. Полное описание языка / Джозеф Албахари. – Amsterdam: Диалектика, 2021. – 1056 с. – (O’Reilly Media).
– Рихтер Дж. Р55 CLR via C#. Программирование на платформе Microsoft. NET Framework 4.5 на языке C#. 4-е изд. – СПб.: Питер, 2013. – 896 с.
– Джуст Виссер. Разработка обслуживаемых программ на языке C# / Джуст Виссер. – Amsterdam: O’Reilly’s, 2017. – 192 с. – (ДМК-Пресс).
– Mark J. Price, «C#9 and. NET 5 – Modern Cross-Platform Development»
– Айзекс, С. Dynamic HTML. Секреты создания интерактивных Web-страниц [Текст] / С. Айзекс; [пер. с англ.]. – СПБ.: BHV – Санкт-Петербург, 1998. – 496 с.
– Вайк, А. JavaScript в примерах [Текст] / А. Вайк. – К.: ДиаСофт, 2000. – 304 с.
– Веллинг, Л. MySQL. Учебное пособие [Текст] / Л. Веллинг, Л. Томпсон; [пер. с англ.]. – М.: Издательский дом «Вильямс», 2005. – 304 с.
– Грофф, Д. SQL: полное руководство [Текст] / Д. Грофф, П. Вайнберг. – К.: Издательская группа BHV, 1999. – 608 с.
– Закон України «Про охорону праці», від 14.10.1922р №2694-XII.
– Зандстра, М. Освой самостоятельно PHP4 за 24 часа [Текст] / М. Зандстра. – М.: Вильямс, 2004. – 384 с.
– Мирошниченко, Г. А. Реляционные базы данных: практические приемы оптимальных решений [Текст] / Г. А. Мирошниченко. – СПб.: БХВ-Петербург, 2005. – 400 с.
– Новиков, Ю. В. Экология, окружающая среда и человек: Учебное пособие для вузов [Текст] / Ю. В. Новиков. – М.: Агентство «ФАИР», 1998. – 295 с.
– Орлов, С. А. Технологии разработки программного обеспечения. Учебное пособие [Текст] / С. А. Орлов. – [2-е изд.] – СПб.: Питер, 2003. – 480 с.
– Пальгунов, П. П. Утилизация промышленных отходов [Текст] / П. П. Пальгунов, М. В. Сумароков. – М.: Стройиздат, 1990. – 235 с.
– Кувшинов Ю. А. Влияние компьютера и сотового телефона на физическое и психическое здоровье студентов // современные проблемы науки и образования. – 2011. – №6.; url: https://science-education.ru/ru/article/view?id=4986 (дата обращения: 17.04.2023).
– Евдокимов С. А. Cоздание игры «Настольный теннис» (Creating a Ping-Pong game with C#) / Евдокимов С. А.. – Екатеринбург, 2023. – 164 с. – (Ridero). – (Издательские решения).
Дополнительная
– Евдокимов С. А., Мельник В. А. Универсальный лабораторный стенд для цифровой обработки сигналов датчиков// Прикладная геометрия и информационные технологии в моделировании объектов, явлений и процессов: Материалы II-й всеукраинской научно-практической конференции студентов, аспирантов и молодых ученых (17—19 октября 2018 г., г. Николаев). – Николаев: МНУ имени В. А. Сухомлинского, 2017. – 193 с. – С. 223.
– Дэн Кларк. Объектно-ориентированное программирование в Visual Basic. NET. – СПб.: Питер, 2009. Зак. Д. Самоучитель Visual Basic.Net.
– Герман. О.В, Герман. Ю. О. Программирование на Java и C# для студента. / Герман. О.В, Герман. Ю.О. – Санкт-Петербург:: БХВ-Петербург, 2016. – 507 с. – (БХВ-Петербург).
– Александр Гудок | Профессиональная подготовка разработчика по языку C# на платформе. NET. Часть 1—3
– Ватсон К. Введение в С#: пер. с англ. / К. Ватсон.– М.:Лори, 2005. – 862 с.
– Шилдт Г. Полный справочник по C#: пер. с англ./ Г. Шилдт. – М.: Вильямс, 2004. – 752 с.
– Троелсен Э. C# и платформа NET 3.0: пер. с англ. / Э. Троелсен. – СПб.: Питер, 2008. – 1456 с.
– Бельков С. А. Основы программирования на языке С: учеб.-метод. пособие / С. А. Бельков. – Екатеринбург: УГТУ-УПИ, 2007. – 56 с.
– Бельков С. А. Структурные и динамические типы данных языка С: учеб.-метод. пособие / С. А. Бельков. – Екатеринбург: УГТУ-УПИ, 2007. – 63 с.
– Бельков С. А. Основы программирования прикладных программных комплексов / С. А. Бельков. – Екатеринбург: УрФУ, 2010. – 128 c.
Информационые ресурсы
– https://www.arduino.cc/
– https://www.visualstudio.com/ru-ru/products/vs-2015-product-editions.aspxwikia.com/wiki/Основные_принципы_ООП:_инкапсуляция,_наследование,_полиморфизм
– https://it.wikia.com/wiki/Основные_принципы_ООП:_инкапсуляция,_наследование,_полиморфизм
– https://uk.wikipedia.org/wiki/Microsoft_Visual_Studio
– https://www.visualstudio.com/downloads/download-visual-studio-vs
– https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9
– cyberforum.ru/windows-forms
ДОПОЛНЕНИЯ
Дополнение 1. Техническое задание на разработку ПО
1. Введение
Название разрабатываемого проекта: «GoWayApplication», далее – «Программный продукт».
Программный продукт должен использоваться администратором, менеджером и другими уполномоченными лицами предприятия любой отрасли для облегчения и автоматизации учета работы персонала и защиты информации от несанкционированного доступа и утечки за пределы предприятия.
2 Основания для разработки
Разработка ведется из программы комплексного руководства по ресурсам и сведения о разработке игр для универсальной платформы Windows, согласно рекомендаций и предложений по высоуровневыому языку программирования C Sharp.
3 Назначение разработки
3.1 Функциональное предназначение программы
Функциональным назначением программы является защита локальной сети предприятия любой отрасли (обмен электронной документацией, работа персонала и их мониторинг, формирование отчетов).
3.2 Эксплуатационное назначение программы
Программа может и должна проводить мониторинг локальной сети предприятия, при необходимости проводить действия по политике конфиденциальности. Пользователями программы должны быть сотрудники предприятия использующего данный программный продукт.
4 Требования к программному изделию (компьютерной системы)
4.1 Требования к функциональным характеристикам
4.1.1 Требования к составу выполняемых функций
Программа должна выполнять и иметь функцию авторизации для распределения прав доступа на администраторов, менеджеров, рабочих предприятия и клиентов.
С правами доступа пользователя как администратор предприятия программа должна предоставить возможность выполнять следующие функции: 1) Добавление, редактирование, поиск, просмотр и удаление информации в локальной сети.
2) Добавление, редактирование, поиск, просмотр и удаление информации об услугах.
3) Добавление, редактирование, поиск, просмотр и удаление информации о рабочих, поставщиках и клиентах.
4) Добавление, редактирование, поиск, просмотр и удаление требуемой документации.
5) Предоставлять права доступа менеджерам, рабочим либо ограничивать им доступ.
6) Формирование отчетов.
С правами доступа пользователя как менеджера предприятия, программа должна предоставить возможность выполнять следующие функции:
– включать и выключать звук в приложении;
– выбирать режим игры;
– смотреть инструкцию для пользователя;
– запусскать игру, делать паузу и выходить с игры.
С правами доступа администратора как рабочего предприятия программа должна предоставить возможность выполнять следующие функции:
– поиск и просмотр информации предоставленной менеджерами или админами;
– добавление и редактирование определенной информации;
– удаление информации, заданной правам доступа к редактированию.
4.1.2 Требования к организации входных и исходящих данных
Ввод текста производится с помощью клавиатуры. Данные для поиска и текст вводятся вручную. Добавление товара к производителю, поставщику и клиенту возможно также возможно из выпадающих списков,
по выбору пользователя. Все данные хранятся на сервере или требуют места на локальном диске компьютера. Полученная информация по поиску и просмотру данных выводится на страницах браузера. При желании она может быть скопирована и распечатана на бумаге.
4.1.3 Требования к временным характеристикам
Требования к временным характеристикам программы не предъявляются
4.2 Требования к надежности
Программное обеспечение должно нормально функционировать при бесперебойной работе ПК и постоянном подключении к сети Интернет. При возникновении сбоев в работе, восстановление нормальной работы должно производиться после перезагрузки браузера. Для обеспечения надежности информации должна использоваться СУБД, обеспечивающая целостность транзакций и отвечающая за целостность информации. Система должна продолжить корректно функционировать при утрате части информации. В случае невозможности продолжения корректной работы должно быть уведомлено об этом. В случае ввода пользователем некорректной информации, система должна сообщить об ошибке и предоставить возможность исправить ее.
4.3 Требования к условиям эксплуатации
Необходимый уровень подготовки пользователей: минимальные навыки в пользовании компьютером и работы с Интернетом. Для эксплуатации данного программного обеспечения требуется современный браузер, выход в Интернет и все необходимые требования для нормальной работы ПК. Компьютер предназначен для работы в закрытом отопительном помещении при следующих условиях:
– температура окружающего воздуха от +10° C до +35° C;
– атмосферное давление от 630 до 800 мм ртутного столба;
– относительная влажность воздуха не более 80%;
– запыленность воздуха не более 0,75 мг/м³.
4.4 Требования к составу и параметрам технических средств
Данный программный продукт требует от компьютера, на котором он будет установлен, следующих характеристик, которые следует рассматривать как минимальные:
– процессор Intel или AMD от 1.6 GHz и выше;
– 1Gb оперативной памяти и более;
– 516Mb свободного пространства на жестком диске и больше;
– ОС Microsoft Windows XP/Vista/7/8/10/11 или ОС Linux, MacOS.
Для работы с данным программным продуктом необходимо наличие современного браузера (Mozilla FireFox, Opera, Google Chrome, Internet Explorer) и возможность выхода в сеть Интернет.
4.5 Требования к информационной и программной совместимости
Данный программный продукт предназначен для развертывания на сервере с Apache, PHP5, СУБД MySQL или LiteSQL. Язык разработки данной системы: C#, PHP. Технологии:.NET, WindowsForms, PHP, HTML, CSS.
4.6 Требования к маркировке и упаковке
Программа не должна распространяться. Распространение данного продукта на физических носителях не предполагается.
4.7 Требования к транспортировке и хранению
Транспортировка и хранение не предусматриваются в связи с отсутствием физических носителей.
5 Требования к программной документации
Программная документация должна содержать:
– техническое задание;
– техническое описание программы;
– описание применения программы;
– инструкция по эксплуатации программы;
– программа и методика испытаний.
6 Технико-экономические показатели
Технико-економические показники для даного програмного продукта не расчитываются.
7 Стадии и этапы разработки
Стадии та этапы разработки представленные в Табл. 5.1.1.
8 Порядок контролю та прием
Тестирование программного продукта должно проводиться в соответствии с заранее согласованными с заказчиком программного продукта методики испытаний. Тестирование производится в указанные сроки. Каждая стадия разработки должна быть представлена в указанные сроки и согласована с заказчиком (преподавателем). Ход проведения приемо-сдаточных испытаний документируется с помощью протокола проведения испытаний. На основании протокола проведения испытаний исполнитель совместно с заказчиком подписывают акт приемки-сдачи программы в эксплуатацию.
Таблиця 5.1.1 — Стадии та этапы разработки
Также, при оформлении данного иследования, было использовано такой продукт как Micorsoft Visio 2022 для оформление таблиц, схем, диаграмм и т. д.
Дополнение 2. История C# и 2D приложений
Первое упоминание про C# появилось в 60-х годах прошлого века. В 1969 году был создан язык В, разработанный коллективом из Технологического института Массачусетса. Главным автором языка B считается Томпсон Кен. В то время команда из MТИ разрабатывала операционную систему UNIX. Тогда уже существующий язык PL/I, применялся для производства mainframe от компании IBM, он был достаточно большим и не подходил для поставленных задач. Поэтому разработчики предприняли создавать более новый язык, на котором дальше программировали, и называли его как B. Он является типичным представителем ранних императивных языков программирования. После созднаного B, последовала разработка языка С, в 1972 году его выпустили на свет, но его основой послужил предыдущий язык B.
Создателями C были Томпсон Кен и Ритчи Денис, которые трудились в исследовательской лаборатории компании AT&T (AT&T Bell Telephone Laboratories). В 1971 году Ритчи начал создавать расширенную версию B. Сначала он назвал её NB, но когда язык стал сильно отличаться от B, название сменили на C. B расширился за счет явного использования типов, структур и ряда новых операций. По поводу создания языка Си Питер Мойлан в своей книге под названием «The case against C» написал следующее: «Нужен был такой язык, который сможет обойти жесткие правила, которые были встроенные в большинство языков высокого уровня и при этом будут обеспечивать надежность. В итоге, мир нуждался в таком языке программирования, который смог бы реализовать функционал не только на ассемблере или на уровне машинного кода.
Рисунок 5.2.1– Достоинства С#
Дополнение 3. История Транспортной инфраструктуры и перевозок
Транспортная инфраструктура – это разновидность инфраструктуры, совокупность всех отраслей и предприятий транспорта, как выполняющих перевозки, так и обеспечивающих их выполнение и обслуживание.
Все развитые цивилизации характеризуется стремлением людей к коммуникации и контакту, поэтому возможности передвижения оказываются для развития человечества решающими. Жизнедеятельность человека можно представить в виде совокупности нескольких функций территории: проживание, работа, общественное обеспечение (школы, театры, …), отдых и зелень. Перемещение людей и товаров происходит за счет транспортной функции, она является необходимой связующей частью. Её развитие обычно соответствует уровню развития остальных функций территории. Это правило действует в любом масштабе – от маленькой деревни до больших регионов. Транспортная инфраструктура имеет характер как связующий разные области, так и разделяющий. Для жителей оживленные трассы могут стать серьёзной преградой [4].
В любых формах поселений проживание, работа, парки и другие функции территории занимают определённые зоны [4]. Зоны инженерной и транспортной инфраструктур – зоны для размещения и функционирования сооружений и коммуникаций железнодорожного, автомобильного, речного, морского, воздушного и трубопроводного транспорта, связи, инженерного оборудования [5].
Дороги населённых пунктов создают дорожные сети из линий и точек. Градостроительный характер этих сетей определяет композицию этого населённого пункта, являясь первоочередным фактором урбанизации. Транспортная инфраструктура, как правило, вписывается в рельеф местности, определяя экологическую ситуацию [4].
Историческое значение транспорта в том, какими наши города стали сейчас, нельзя недооценить. Географическое расположение населённых пунктов было так или иначе связано с путями: положение бродов, торговые пути, речные пути, удобный причал – все это могло стать причиной возникновения поселения. Ключевым этапом является развитие железной дороги в XIX веке. Города стали разрастаться в ширину, в пригородах развитие получила территория около вокзалов, железнодорожные ветки определили положение промышленных зон. В XX веке обилие моторного транспорта создало в городах огромные проблемы, из-за чего искались новые принципы планирования [4].
Д. И. Менделеев утверждал, что транспорт – это центр гравитации страны. По данным Организации экономического сотрудничества и развития, инвестиции в мировую транспортную систему до 2030 г. должны составить более $11 трлн, в том числе в развитие железных дорог – $5 трлн. Транспортная система Российской Федерации является частью мировой транспортной системы. В России объём инвестиций в инфраструктуру транспорта едва достигает 2% от ВВП, тогда как средний показатель в большинстве стран мира составляет не менее 4% от ВВП.
СЛОВАРЬ ТЕРМИНОЛОГИЙ
Мультипарадигменный язык программирования – это язык программирования, который был разработан специально как инструмент мультипарадигменного программирования, то есть выразительные возможности которого изначально предполагалось унаследовать от нескольких, чаще всего не родственных языков различных парадигм.
Процедурное программирование (Процедурный язык программирования) – это программирование на императивном языке, где операторы последовательно выполняются, и есть возможность собрать в подпрограммы (с помощью механизмов самого языка более крупные и целостные единицы кода).
Объектно-ориентированное программирование – это такая методология в сфере программировании, основывается на представлении программы как совокупность взаимодействующихся объектов. (Каждый из которых – экземпляр определённого класса, а классы преобразовуют иерархию наследования).
Низкоуровневый язык программирования – это язык программирования, котороый внедрён непосредственно в машинный код, который используется в реальном или виртуальном процессоре.
Высокоуровневый язык программирования – это язык, который разрабатывался для введение конструкций, которые описывают такие структуры данных и операции над ними, преобразования с машинного кода (очень длинны и сложны для понимания).
Интерфейс (с англ. Interface) – это соглашение, определяющее набор открытых методов, реализованных классом.
База данных – это совокупность данных, которые хранятся в соответствии с определённой схемой данных, манипуляции с которыми выполняются в соответствии с правилами моделирования данных.
Прикладное программное обеспечение – это программный продукт, ориентированный на решения конкретных заданий, рассчитанный на взаимодействие с пользователем. По большинству ОС прикладные программные утилиты не могут связываться с ресурсами компьютера напрямую, по взаимодействию с оборудованием.
ПОСЛЕСЛОВИЕ
По моему мнению, эта тема будет актуальна еще не одно десятилетие, так как с широким распространением ПО и различных приложений обработка информации оказалась более совершенной, точной, универсальной и гибкой. Мощность и простота программного комплекса Microsoft Visual Studio постепенно становится качественым движком будущего.
Экспериментальный, который расматривался в этой книге, уникальный и отвечает всем заданным потребностям и выполняют необходимые функции. В ней были реализованы все поставленные задачи, среди них были изложены новые методы и принципы построения приложений в сфере программирования для пользователя, а также особенности их функционирования.
В процессе выполнения этой работы были изучены новые возможности языка C Sharp и технологии WF. Среди них были изучены новые принципы и методы, которые обеспечивают возможность работы с графикой и разработкой Visual Studio. В процессе создания программы был реализован алгоритм, который в дальнейшем можно усовершенствовать.
Для достижения указанных целей было изучено литературу по компьютерным технологиям, по системам управления базами данных, особенности графических приложений, высокоуровневым языкам программирования. Считаю, что данная работа выполнена на достаточно высоком уровне и заслуживает прочтения…
Сергей Евдокимов
esa.studio2012@gmail.com
ОБ АВТОРЕ
Автор: ЕВДОКИМОВ Сергей Александрович
Основная электронная почта: serge.evdokimov2015@proton.me
Дополнительная электронная почта: serge.evdokimov2015@gmail.com
Дополнительная электронная почта: serge.evdokimov2015@mail.ru
Viber: https://invite.viber.com/?g2=AQBsqUSF9Cv84FDlNRXsID1TB2ROxd
jQo3%2FKu8WfDLN8L%2Fr0InifFDLql9IhWB31
Telegram: https://t.me/stanislavstudio
Youtube:https://www.youtube.com/channel/UCRwjZvUNrUjfAgGhovwSAkw
ВК: https://vk.com/stanislav.studio.production
ORCID: https://orcid.org/0000-0001-7213-0259