Разработка интернет-приложения для автоматизации построения принципиальных электрических схем
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
тчатой карте. Каждой клетке карты присваивается одно из двух состояний пустая и препятствие, также выбираются клетки начала и конца пути.
Цель волнового алгоритма (как и большинства других алгоритмов) - это задача прокладывания или нахождения пути на карте между начальной, конечной точкой (клеткой).
Волновой алгоритм работает с конца, т.е. из конечной клетки во все направления распространяется волна шагом в одну клетку по радиусу. Далее волна распространяется из соседних клеток и т.д., словно цепная реакция. Этот процесс длится, пока не будет достигнута клетка начала пути или не будут заполнены все поля, т.е. задача не разрешима. Волна движется только по пустым клеткам.
Основная идея волнового алгоритма описывается следующими этапами:
)Из начального положения (элемента) волна распространяется в 4-х направлениях (Рисунок 2.2). Элемент, в который пришла волна, создает новый фронт волны. На рисунках 2.2, 2.3, 2.4 цифрами обозначены номера фронтов волны.
Рисунок 2.2 - Первый шаг алгоритма
Каждый из элементов первого фронта волны будет является источником вторичной волны (Рисунок 2.3). Элементы второго фронта волны будут генерировать волну третьего фронта и т.д. Процесс формирования волн продолжается, пока не будет достигнут конечный элемент (Рисунок 2.4).
Рисунок 2.3 - Последующее распространение волны в алгоритме
). На втором этапе волнового алгоритма строится сама трасса (Рисунок 2.4). Ее построение необходимо осуществлять в соответствии со следующими правилами:
а)Движение при построении трассы необходимо осуществлять в соответствии с выбранными приоритетами.
б)При движении от конечного элемента к начальному номер фронта волны (путевые координаты) должны уменьшатся.
Рисунок 2.4 - Результат действий алгоритма
Приоритеты направления движения при использовании волнового алгоритма нахождения пути выбираются на стадии разработки. Если изменять эти приоритеты, то можно получить разные трассы, но длина трассы в любом случае остается одной и той же.
Преимущества волнового алгоритма в том, что с его помощью можно найти трассу в любом лабиринте и с любым количеством запретных элементов (стен). Единственным недостатком волнового алгоритма является, то, что при построении трассы требуется большой объем памяти.
2.4 Вывод по главе
Во второй главе данной выпускной работы рассматривалась задача трассировки. Также рассматривались основные алгоритмы трассировки, и по итогам анализа выбирался наиболее подходящий алгоритм. Рассматривался волновой алгоритм его главные задачи и этапы.
3. РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА
3.1 Руководство программиста
Характеристики программы.
Программный продукт написан на языке C# на платформе Framework.NET 4.0. В качестве веб-платформы используется Silverlight. Для создания пользовательского интерфейса использованы элементы управления компании Telerik.
Система состоит из следующих элементов:
)Скомпилированный файл разметки Silverlight ElectricSchemeBuilder.xap.
)HTML страница, отображающая содержимое этого файла ElectricSchemeBuilder.php.
Назначение и общая характеристика продукта.
Интернет-приложение ElectricSchemeBuilder - это графический спрайтовый редактор для создания принципиальных электрических схем. Функционирует как свободный интернет ресурс.
Определение позиций продукта на рынке.
Данный продукт не будет выставлен на продажу. Будет открыт полный доступ к исходному коду и документации. Позиционирует себя как очень простое интернет-приложение с минимальными возможностями и не требовательный к ресурсам. Позволит создавать принципиальные электрические схемы на скорую руку в сети Интернет.
Для оценки работы программного продукта будем использовать метод черного ящика, когда на вход программе подаются входные данные, изу-чается результат работы программы, сравнивая полученные данные с ожидаемыми.3.1.1 Состав модулей программы
Общая диаграмма классов приложения представлена на рисунке 3.1.
Рисунок 3.1 - Диаграмма классов интернет-приложения
Рассмотрим основные классы и их компоненты (Рисунок 3.1).
)Main page - вызывается при каждом запуске программы. Главная страница программы.
Поля:- поле для объекта схемы.
)Electric Schem - класс описывающий схему (список элементов, список соединений, узлы).
Поля:
Elements - список элементов на схеме.
Conductors - список соединений на схеме.
Mode - режим схемы (нормальный, добавление элемента, перемещение элемента, рисование связи).
Методы:
AddElement () - добавление элемента.
ClearScheme () - очистка поля схемы.
SaveAsBmp () - сохранение в формате bmp.
SaveAsStructure () - сохранение в виде структурного файла.() - загрузка схемы.
)Screen Element - абстрактный класс, описывающий элемент на схеме (имеет координаты X, Y, а так же ширину, высоту и метод графического отображения элемента).
)Shem Element - описание абстрактного элемента схемы. Имеет множество наследников.
Поля:- состояние элемента (нормальный, выделенный, наведение мыши). - ориентация элемента (справа на лево, сверху вниз).
Connectors - список коннекторов элемента.
Методы:
IntersectElement () - метод не допускающий пересечение элемента с другими элементами схемы.
)Conector - точка узла на элементе.
Поля:- элемент которому принадлежит коннектор.- идентификатор коннектора.- состояние узла (нормальный, выделенный).
)Conductor - связ