Разработка интернет-приложения для автоматизации построения принципиальных электрических схем
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Государственное образовательное учреждение высшего профессионального
образования
«Сибирский государственный аэрокосмический университет
имени академика М.Ф. Решетнева»
(СибГАУ)
ИНСТИТУТ Информатики и телекоммуникаций
НАПРАВЛЕНИЕ 230100
«Информатика и вычислительная техника»
КАФЕДРА Информатики и вычислительной техники
БАКАЛАВРСКАЯ
РАБОТА
Разработка
интернет-приложения для автоматизации
построения
принципиальных электрических схем
Студент
А.С. Озимук
Руководитель
К.В. Богданов
Ответственный
за нормоконтроль
А.В.
Гуменникова
Красноярск
2011 г.
ВВЕДЕНИЕ
Рассмотрим следующую ситуацию: вам срочно нужно составить к завтрашнему
дню принципиальную электрическую схему для отчета. Не важно кто вы: студент,
доцент, доктор наук или инженер на заводе. А под рукой нет специального
программного обеспечения. Что же делать когда возникает такая необходимость?
Можно потратить некоторое время на скачивание и установку специализированного
программного продукта. А если он лицензируемый? То тогда вообще не факт что вы
сможете его установить, и тем самым не сделаете отчет. А вам ведь всего лишь
нужно составить схему и сохранить ее как картинку.
Есть другой выход. Можно воспользоваться интернет-приложением, которое
строит принципиальные электрические схемы. Это более удобно, а главное быстро.
Не важно, где вы находитесь: дома, в гостях или на работе. Для построения схемы
вам нужен только доступ выхода в интернет.
С лавинообразным развитием сети Интернет, становится всё более
распространённым явлением занятость в одном проекте различных специалистов,
находящихся на большом удалении друг от друга. Этим, в частности
обуславливается развитие концепции SaaS (Software as a Service) .
Кроме того, специфическое программное обеспечение часто может
отсутствовать там, где приходится работать специалистам. Разрабатываемое
приложение нацелено на решение этих задач в узкоспециализированном сегменте
электротехнических САПР. ElectricSchemeBuilder одно из таких приложений. С его помощью можно составить
принципиальную электрическую схему любой сложности. Построение принципиальных
электрических схем онлайн - это выход для многих людей, тесно связанных с
определенной научной тематикой. Целью выпускной работы является разработка
интернет-приложения для автоматизации построения принципиальных электрических
схем, являющейся составной частью электротехнического САПР функционирующего по
схеме SaaS.
Для достижения заданной цели решаются следующие задачи:
) . Анализ предметной области.
) . Рассмотрение существующих программных продуктов по данной
области.
) . Выбор и обоснование среды разработки.
) . Выявить требования, которые предъявляются к данной программной
системе, выявить объекты и задачи автоматизации.
) . Выбрать структуры программного продукта.
) . Разработка программного продукта.
) . Практическая реализация.
) . Тестирование, отладка.
) . Апробация.
Бакалаврская работа изложена на 33 страницах и включает в себя введение,
3 раздела, заключение и список использованных источников.
Первая глава выпускной работы посвящена анализу предметной области,
выбору и обоснованию среды разработки. Рассмотрена технология Silverlight, а
так же возможности ElectricSchemeBuilder.
Вторая глава посвящена рассмотрению волнового алгоритма, рассмотрение его
главных задач и этапов.
Третья глава работы посвящена описанию программной реализации
рассмотренных методов. Приведены руководства пользователя и программиста, в
которых изложены основные аспекты, необходимые для работы и сопровождения
данного программного продукта.
1. АНАЛИЗ
ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Выбор и обоснование среды разработки
Развитие информационных технологий, а так же потребность рынка во все
более и более сложных программных средствах приводит к тому, что большим
спросом на рынке пользуются средства быстрой и качественной разработки
приложений. При этом большое внимание уделяется совместимости с различными
видами и версиями операционных систем, так как это существенно расширяет круг
потенциальных пользователей, а значит и покупателей программного продукта.
В связи с этим в современных информационных технологиях возникло такое
направление, как разработка кросплатформенных сред выполнения приложения. Такие
решения представлялись разными компаниями, в частности Sun, но наибольшую
известность приобрели средства, разработанные компанией Microsoft Framework.Net.
Преимущества данной платформы выполнения приложений -
кроссплатформенность (поддержка различных версий Windows, в том числе и
64-битных в последних версиях Framework.Net, возможность работы на некоторых Unix-системах тех же приложений
для FrameWork.Net, используя средство Mono).
Среда выполнения приложений FrameWork.Net является одной из наиболее
популярных в настоящие время. Это показывает, в том числе, и тот факт, что даже
компания Borland, активный конкурент Microsoft на
рынке визуальных сред разработки активно внедряет в свои продукты поддержку
FrameWork.Net и даже создает версии своих наиболее популярных сред разработки
исключительно для .Net (Например Delphi 8).
При этом следует отметить, что компания Microsoft сделала большой шаг
вперед, выпустив пакет Visual Studio. Данный пакет собрал в единую визуальную
среду разработки возможности программирования для FrameWork.Net на различных
языках программирования. При этом эффективность получаемого конечного кода не
зависит от выбранного языка программирования.
С другой стороны мы видим, что компания Borland так же старается не
отставать, и подготовила свою визуальную среду разработки с языками Delphi и
С++, но при этом доминирующим по-прежнему остается Delphi.
В целом, говоря о функциональной части, мы видим что пока продукты
компании Borland отстают от компании Microsoft в том числе и тем, что не всегда
в них поддерживаются последние версии и возможности FrameWork.Net. Это связано
с тем, что Microsoft является так же разработчиком FrameWork.Net и тем самым
получает определенные преимущества.
Говоря о структуре собственно визуальной среды, мы видим, что ее
возможности зачастую схожи, поэтому на современном этапе большее значение для
выбора среды разработки имеет сопутствующие программное обеспечение. На данный
момент актуальным является программное обеспечение, обеспечивающие полный цикл
разработки приложения, от моделирования до тестирования.
Таким образом, мы видим, что наиболее эффективной визуальной средой
разработки для FrameWork.Net является MS Visual Studio, но в то же время в
продуктах компании Borland так же можно найти преимущества, и, следовательно,
при выборе среды разработки необходимо очень большое внимание уделять тому,
какая из существующих сред наиболее полно удовлетворит интересы разработчиков.
Учитывая, что подавляющие большинство программных средств разрабатывается
сейчас с использованием визуальных сред разработки, все это делает более
сложным выбор существующих визуальных сред для разработки программного
обеспечения для Framework.Net.
Выбор среды разработки осуществлялся по следующим критериям:
) . Соответствие платформе .NET Framework.
) . Наличие версий для разных операционных систем.
) . Инструментальная оснащенность и настраиваемость под нужды
потребителя.
) . Удобство.
) . Популярность у разработчиков.
) . Затраты на приобретение.
) . Перспективность.
Интернет-приложение по автоматизации построения принципиальных
электрических схем ElectricSchemeBuilder будет разработано с помощью Microsoft
Visual Studio 2010 на основе веб-платформы Silverlight.Visual Studio 2010 -
включает в себя систему программных средств для разработки ПО и ряд других
инструментов. В комплекте с программой идет усовершенствованная 4-ая версия
.NET Framework. Visual Studio 2010 поддерживает JavaScript и jQuery. Интерфейс
программы и редактор кода были переработаны и реализованы на Windows
Presentation Foundation (WPF). Это позволило сделать рабочую среду более
функциональной и гибкой. Среди новых функций, стоит отметить возможность
использования нескольких мониторов, а также возможность отображения информации
о коде в разных представлениях. Программа также имеет усовершенствованный
редактор для Silverlight.
Рассмотрим основные характеристики и возможности:
) .Высокопроизводительный компилятор в машинный код.
) .Мощный язык программирования С#.
) .Объектно-ориентированная модель компонент.
) .Визуальное, детальное построение приложений из программных
прототипов.
) .Масштабируемые средства для построения баз данных.
) .В качества СУБД выбрана Microsoft SQL 2008.
) .Отвечает требованиям надежности.Silverlight - это поддерживаемый множеством
обозревателей и платформ подключаемый модуль, позволяющий создавать мощные
интерактивные приложения для Интернета и знакомить пользователей с
мультимедийными средствами взаимодействия нового поколения, основанными на
Microsoft .NET. Silverlight предлагает гибкую и последовательную модель
программирования, поддерживающую AJAX, Python, Ruby, а также языки .NET, такие
как Visual Basic и C#. При этом данная модель интегрируется с существующими
веб-приложениями. Возможности Silverlight в области мультимедиа включают в себя
быструю и экономную доставку аудиозаписей и видеозаписей для всех известных
обозревателей, включая Firefox, Safari и Internet Explorer, работающим на Macintosh или под управлением Windows.
Используя Expression Studio и Visual Studio, разработчики и конструкторы могут
сотрудничать более эффективно, используя свои сегодняшние умения для оживления
завтрашнего Интернета.- это название новой технологии представления данных в
Интернете, предназначенной для запуска на различных платформах. Она позволяет
создавать насыщенные, визуально привлекательные веб-страницы, работающие в
различных обозревателях, устройствах и настольных операционных системах
(например Apple Macintosh). Ключом к возможностям Silverlight, как и ко всей
технологии представления WPF (Windows Presentation Foundation) платформы
Microsoft .NET Framework 3.0, является XAML (eXtensible Application Markup
Language, расширяемый язык разметки приложений).предоставляет графическую
систему, схожую с Windows Presentation Foundation, и объединяет мультимедиа,
графику, анимацию и интерактивность в одной программной платформе. Он был
разработан чтобы работать с XAML и с языками Microsoft .NET. XAML используется
для разметки страниц, использующих векторную графику и анимацию. Текст,
содержащийся в приложениях Silverlight, доступен для поисковых систем, так как
он не компилируется, а доступен в виде XAML.может воспроизводить WMV, WMA и MP3
для всех поддерживаемых браузеров, не требуя при этом дополнительных
компонентов, таких как Windows Media Player. Так как Windows Media Video 9
является реализацией стандарта SMPTE VC-1, Silverlight поддерживает видео VC-1,
только внутри контейнера ASF. Кроме того, лицензионное соглашение говорит, что
VC-1 разрешено использовать только в личных, некоммерческих целях («personal and non-commercial use of a consumer»). Silverlight позволяет динамически загружать XML
и использовать DOM для взаимодействия с ним так же, как это делается в Ajax.
Silverlight содержит объект Downloader, благодаря которому можно скачивать
скрипты, медиа файлы и т. д., если это необходимо приложению. Таким образом,
задача по выбору среды разработки и используемых технологий полностью выполнена
и обоснована.
1.2 Анализ существующих программных решений
Перечень программных продуктов которые могут строить принципиальные
электрические схемы и сохранять результат как графическое изображение (например
в формате «.bmp»):
) Electronics Workbench - программа для моделирования электронных
схем, представлена на рисунке 1.1.
Рисунок 1.1 - Electronics Workbench
) QuickPic Schem Creator - растровый графический спрайтовый
редактор. Поставляется с библиотекой спрайтов-радиодеталей для рисования
принципиальных электрических схем. Распознает картинки в формате bmp, gif, jpg.
Представлен на рисунке 1.2.
3) SPlan - простой и удобный инструмент для черчения электронных и электрических
схем, позволяет легко переносить символы из библиотеки элементов на схему и
привязывать их к координатной сетке. В sPlan есть много инструментов для
черчения и редактирования, которые делают разработку схем удобной и
эффективной, такие как автонумерация элементов, составление списков элементов и
другие. sPlan создает качественные файлы для печати, которые могут быть
предварительно просмотрены, имеется изменение масштаба и расположения схемы на
листе. Хорошо организованные и богатые библиотеки содержат множество элементов,
которые легко редактировать. Создание собственных элементов не представляет
труда, для этого есть специальный редактор элементов. Дополнительная библиотека
к программе. Представлен на рисунке 1.3.
Рисунок 1.3 - SPlan
) PasCAD - система автоматизированного проектирования
принципиальных схем. Представлен на рисунке 1.4.
Рисунок 1.4 - PasCAD
) Схемопостроитель 2003 - построение электрических принципиальных
схем с возможностью добавления собственных элементов. Представлен на рисунке
1.5.
Рисунок 1.5 - Схемопостроитель 2003
1.3 Возможности ElectricSchemeBuilder
- удобный инструмент для автоматизации построения принципиальных
электрических схем, являющейся составной частью электротехнического САПР
функционирующего по схеме SaaS.
В программе заложены большинство функции, необходимые инженеру и простому
пользователю для создания электрической схемы.
Приложение ElectricSchemeBuilder имеет удобный, дружественный интерфейс и
предъявляет достаточно скромные требования к программно-аппаратным средствам
персонального компьютера. Однако предоставляемые при этом возможности
достаточно велики.
Главная задача данного программного продукта - построение, без
моделирования процессов, принципиальных электрических схем онлайн.
Второстепенные задачи:
) .Возможность сохранения схемы в формате «.bmp».
) .Возможность сохранения схемы в структурный файл для дальнейшей
работы с ним.
ElectricSchemeBuilder - редактор принципиальных электрических схем. Запись
результатов на диск осуществляется не только в bmp-формате, но и в формате «.esb» (структурный файл со своей
внутренней архитектурой). Редактор спрайтовый, т.е. специализирован для
создания рисунков из готовых кусочков-спрайтов - картинок с радиоэлементами.
Программа «заточена» для быстрого, простого и удобного рисования картинки из
готовых спрайтов.
Возможности графического редактора схем:
) .Построение принципиальных электрических схем при помощи
встроенного графического редактора с использованием библиотеки условных
графических обозначений (УГО) электронных компонентов.
) .Нанесение текстовых надписей на поле принципиальной схемы.
) .Возможность использования «поворот», не нарушающих
электрические соединения при перемещении компонентов принципиальной схемы.
1.4 Вывод по главе
В первой главе выпускной работы выполнены анализ предметной области,
выбор и обоснование среды разработки. Так же, рассмотрена технология
Silverlight и возможности ElectricSchemeBuilder.
2. ЗАДАЧА
ТРАССИРОВКИ В ELECTRICSCHEMEBUILDER
2.1
Постановка задачи
Задача трассировки - одна из наиболее трудоемких задач в общей проблеме
автоматизации проектирования. Это связано с несколькими факторами, в частности
с многообразием способов конструктивно-технологической реализации соединений,
для каждого из которых при алгоритмическом решении задачи применяются
специфические критерии оптимизации и ограничения. С математической точки зрения
трассировка - наисложнейшая задача выбора из огромного числа вариантов
оптимального решения.
Одновременная оптимизация всех соединений при трассировке за счет
перебора всех вариантов в настоящее время невозможна. Поэтому разрабатываются в
основном локально оптимальные методы трассировки, когда трасса оптимальна лишь
на данном шаге при наличии ранее проведенных соединений.
Основная задача трассировки формулируется следующим образом: по заданной
схеме соединений проложить необходимые проводники на плоскости, чтобы
реализовать заданные технические соединения с учетом заранее заданных
ограничений. Основными являются ограничения на ширину проводников и минимальные
расстояния между ними.
При решении задачи трассировки контактная площадь плоскости разбивается
на элементарные ячейки. Размеры ячеек и их количество определются площадью
поля, допустимой плотностью расположения выводов элементов и проводников.
Выбранная система ячеек определяет среду, в которой осуществляется построение
соединений. В простейшем случае ячейка представляет собой квадрат со стороной
«h», равной расстоянию между соседними линиями двух соседних проводников.
Задача трассировки заключается в построении трассы от начальной ячейки до
конечной таким образом, чтобы она не включала запрещенные ячейки и имела
минимальную длину в ортогональной метрике.
2.2 Анализ существующих алгоритмов решения задачи
Существуют две группы алгоритмов решения задачи трассировки:
последовательные и параллельные. Более подробная классификация приведена на
рисунке 2.1.
Рисунок 2.1 - Классификация алгоритмов трассировки
В последовательных методах трассировки проводят одну за другой
последовательно, при этом проведение какой-либо трассы a на (i-1)-ом шаге может
затруднить проведение трассы b на i-ом шаге, так как является препятствием для
проведения трассы b. Следовательно, особенно актуальным для последовательных
алгоритмов является предварительное ранжирование (упорядочивание) соединений до
трассировки. Существуют различные стратегии упорядочивания, основанные, в
частности, на длине соединений, степени охвата соединением других соединений и
др. Однако объективных оценок эффективности таких методик в настоящее время
нет, поэтому наиболее разумными представляются использование нескольких
вариантов очередности и выбор из них наилучшего.
К волновым относятся алгоритмы, основанные на идеях динамического
программирования на дискретном рабочем поле (ДРП). В настоящее время
разработано огромное число модификаций волнового алгоритма, предложенного Ли
еще в 1961г.; однако все они сохраняют его основной недостаток: большие
вычислительные затраты и большие затраты памяти ЭВМ. Временная сложность
волнового алгоритма составляет (M*N), где N - число клеток ДРП, M - число
точек, подлежащих соединению. Эффективное использование волновых алгоритмов
возможно лишь для ДРП с числом ячеек не более 105, при этом время трассировки
составляет несколько часов работы ЭВМ. Число неразведенных трасс обычно не
превышает 10%.
Основная идея лабиринтных алгоритмов состоит в отыскании пути между двумя
ячейками ДРП посредством последовательного обхода преград в лабиринте,
образованном занятыми и свободными ячейками. В отличие от волнового алгоритма
поиск носит направленный характер, поэтому время поиска сокращается. Алгоритм
обычно обеспечивает разводку около 80% соединений.
Эвристические алгоритмы трассировки эффективны, как правило, только на
начальных стадиях трассировки, когда на плоскости мало преград. Основная идея
состоит в генерации самых длинных незанятых отрезков в направлении цели с
эвристическими приемами обхода препятствий.
В параллельных алгоритмах трассировки вначале определяется допустимое
взаимное расположение трасс, которое оптимизируется по выбранному критерию, и
лишь потом трассы фиксируются на коммутационном поле.
Перспективными в настоящее время являются канальные алгоритмы, основанные
на возможности в некоторых случаях регулярного разбиения коммутационного поля
(КП) на каналы и трассировки внутри каналов вертикальными и горизонтальными
отрезками. Алгоритмы работают быстро, однако для них актуальна проблема
качества получаемых решений. Канальным алгоритмам свойственен иерархический
подход к трассировке, когда исходная задача декомпозируется на несколько
подзадач. При этом на каждом иерархическом уровне, в зависимости от его
специфики, целесообразно применение различных методов трассировки.
В алгоритмах гибкой трассировки на первом этапе строятся модели топологии
для трасс цепей на дискретном топологическом рабочем поле (ДТРП) (без жесткой
фиксации), а на втором этапе - модели геометрии, которые метрически точно
определяют конфигурацию и месторасположение каждой трассы на КП.
В графотеоретических методах используют графовые модели элементов и
компонентов схем, на основе которых синтезируется топологический эскиз
проектируемого устройства. На следующем этапе решается задача метризации
топологического эскиза.
Выбор алгоритма трассировки осуществлялся по следующим критериям:
) . Эффективность.
) . Простота реализации.
) . Доступность реализованных примеров.
На основе вышеупомянутого, при разработке интернет-приложения было
принято решение использовать для задачи трассировки волновой алгоритм. Так как
число ячеек на дискретном рабочем поле не будет слишком велико и с реализацией
алгоритма не возникнет трудностей.
2.3 Волновой алгоритм
Волновой алгоритм - это алгоритм, который позволяет найти минимальный
путь в графе. Алгоритм поиска в ширину лежит в основе этого метода. В основном
волновой алгоритм применяется для нахождения самого кратчайшего пути в графе, в
общем случае находит лишь его длину.
Волновой алгоритм можно назвать одним из самых уникальных алгоритмов
трассировки. Волновой алгоритм позволяет сформировать путь (трассу) между двумя
ключевыми точками (элементами) в любом лабиринте, здесь необходимо отметить тот
факт, что задача является разрешимой.
Исходные данные, цели и задачи, которые требуются для работы волнового
алгоритма можно кратко сформулировать следующим образом:
Волновой алгоритм решает задачу нахождения (поиска) пути на плоской
двумерной клетчатой карте. Каждой клетке карты присваивается одно из двух
состояний «пустая» и «препятствие», также выбираются клетки «начала» и «конца»
пути.
Цель волнового алгоритма (как и большинства других алгоритмов) - это
задача прокладывания или нахождения пути на карте между начальной, конечной
точкой (клеткой).
Волновой алгоритм работает с конца, т.е. из конечной клетки во все
направления распространяется волна шагом в одну клетку по радиусу. Далее волна
распространяется из соседних клеток и т.д., словно цепная реакция. Этот процесс
длится, пока не будет достигнута клетка начала пути или не будут заполнены все
поля, т.е. задача не разрешима. Волна движется только по пустым клеткам.
Основная идея волнового алгоритма описывается следующими этапами:
) Из начального положения (элемента) волна распространяется в 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.html.
Назначение и общая характеристика продукта.
Интернет-приложение 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 - связь между элементами.
Поля:
StartConnector - начальный коннектор.
EndConnector - конечный коннектор.
State
- состояние связи (нормальный, выделенный).
Методы:
Conduct
() - метод трассировки связи.
Drow
() - графическое отображение связи.
) Concret elements - библиотека классов описывающих конкретные
элементы (резистор, конденсатор, катушка и т.д.).
3.1.2 Описание работы программы
ElectricSchemeBuilder работает следующим образом. После загрузки
страницы, пользователь выбирает - создавать новый проект схемы или работать, с
заранее сохраненным.
Далее создаем схему, добавляем элементы, связи и т.д. При необходимости
можем удалить элементы или связи, изменить размеры формы.
После того как схема создана или отложена на потом, можем сохранить наш
проект в виде рисунка с расширением «.bmp» или же в виде структурного файла с
расширением «.esb».
Структурный файл - это файл со схемой, записанной в специальном формате
для последующего продолжения работы приложения с ней.
Общая схема работы с приложением представлена UML-диаграммой активности (Рисунок 3.2).
электрический
схема онлайн silverlight трассировка
Рисунок 3.2 - UML-диаграмма
активности
3.2 Руководство пользователя
Требование к программному и аппаратному обеспечению.
Для корректной и эффективной работы программного продукта необходима
система на базе Pentium 4 с тактовой частотой процессора не менее 2 ГГц, 512 Мб
ОЗУ.
Для работы интернет-приложения необходимо установить плагин Silverlight
для браузера (на стороне клиента).
Одной из задач выпускной работы была создание дружественного интерфейса
программы. На рисунке 3.3 представлена главная форма программы, как можно
увидеть из рисунка все главные настройки и основные функции находятся именно на
главной форме.
Перейдем к подробному рассмотрению интерфейса программы.
Программа состоит из главного меню, которое находится сверху, из панели
инструментов и рабочей области схемы (Рисунок 3.3).
Рисунок 3.3 - Внешний вид приложения
Рассмотрим функциональность главного меню программы.
Главное меню приложения представлено на рисунке 3.4.
Рисунок 3.4 - Внешний вид главного меню приложения
Главное меню состоит из:
) .Создать новую схему.
) .Открыть существующую схему.
) .Сохранить схему (Рисунок 3.5).
а) .Сохранить как рисунок «.bmp».
б) .Сохранить как структурный файл «.esb».
Рисунок 3.5 - Внешний вид вкладки save главного меню приложения
Рассмотрим панель инструментов более подробно (Рисунок 3.6).
Панель инструментов состоит из вкладки «Главная».
Вкладка «Главная» в свою очередь состоит из групп:
) Параметры схемы.
) Элементы схемы.
) Функции управления элементами.
Параметры схемы отвечает за вид рабочей области приложения, изменяя его
ширину и высоту.
Элементы схемы включают в себя список элементов схемы с разбиением на
подразделы.
Функции управления элементами - это основные функции для удобного
построения схемы. Включает в себя функцию поворота элемента и удаление.
На рабочей области располагаются элементы схемы, связи, узлы. При
сохранении схемы в формате «.bmp»
рисунок будет отображать рабочую область приложения.
3.3 Вывод по главе
В третьей главе выпускной работы рассматривалось описание программной
реализации основных методов. Приведены руководства пользователя и программиста,
в которых изложены основные аспекты, необходимые для работы и сопровождения
данного программного продукта.
ЗАКЛЮЧЕНИЕ
В процессе выполнения выпускной квалификационной работы было разработано
интернет-приложение ElectricSchemeBuilder.
В срок, отведенный на выполнение проекта, достигнуты следующие результаты:
) Реализованы все ранее предполагаемые функции.
) Программный продукт был успешно протестирован.
) Реализована записка к бакалаврской работе.
Решены следующие задачи:
) Рассмотрены существующие алгоритмы и методы реализации для связи
объектов друг с другом, выбран наиболее подходящий графический интерфейс для
данного программного продукта.
) Рассмотрены существующие программные продукты по данной области.
Произведена оценка их достоинств и недостатков.
) Выбрана среда разработки, приведены обоснования выбора.
) Проведен обзор основных требований, объектов, задач
автоматизации, которые предъявляются к данной программной системе.
) Выбрана структура программного продукта.
) Разработан программный продукт ElectricSchemeBuilder для
автоматизации построения принципиальных электрических схем.
Данный программный продукт пока не нацелен конкуренцию с коммерческим ПО.
Поэтому оценка возможного спроса на программный продукт на рынке программных
средств не была произведена.
Исходя из выше сказанного, цель работы можно считать достигнутой.
СПИСОК
ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1) .Бишоп, Д. C# в
кратком изложении [Текст] Д. Бишоп. - М.: Бином.
<http://www.ozon.ru/context/detail/id/856490/> Лаборатория знаний, 2005.
- 472 с.
) .Дронов, В. Silverlight 3 [Текст] В. Дронов. - СПб.: БХВ-Петербург, 2010. - 464 с.
3) .Майо,
Д. Microsoft Visual Studio 2010. Самоучитель [Текст] Д. Майо. - СПб.: БХВ-Петербург,
2010. - 450 с.
) .Мак-Дональд, М. Silverlight с примерами на C# [Текст] М. Мак-Дональд. - М.: Вильямс
<http://www.ozon.ru/context/detail/id/856490/>, 2010. - 656 с.
) .Мак-Дональд, М.
WPF: Windows Presentation Foundation в .NET 4.0 с примерами на C# 2010 Текст М.
Мак-Дональд. - М.: Вильямс
<http://www.ozon.ru/context/detail/id/856490/>, 2011. - 1024 с.
) .Муссиано, Ч. HTML и
XHTML. Подробное руководство [Текст] / Ч. Муссиано. - СПб. : Символ-Плюс, 2008.
- 752 с.
7) .Соммервилл,
И. Инженерия программного обеспечения [Текст] / И. Соммервилл. - М.: Вильямс,
2002. - 624 с.
8) .Троелсен, Э. Язык
программирования C# 2010 и платформа .NET 4 [Текст] / Э. Троелсон. - М.:
Вильямс <http://www.ozon.ru/context/detail/id/856490/>, 2011. - 1392 с.
) .Шилдт, Г. C# 4.0
полное руководство [Текст] / Г. Шилдт. - М.: Вильямс
<http://www.ozon.ru/context/detail/id/856490/>, 2011. - 1057 с.