Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5



Скачать 52.21 Kb.
Дата11.07.2014
Размер52.21 Kb.
ТипТехническое задание

Simple Topology Editor (STE)

Дизайн

Омельченко Василий, Куликов Роман, Пантелеев Максим, Прокопьев Евгений



Оглавление


Техническое задание (учебное) на разработку программы обработки топологии ИМС 3

Подход к реализации 4

Ядро 5

Реализация 5



Базовые классы и структуры 5

Базовые связи между структурами: 5

Графический интерфейс пользователя. 6

Задачи GUI 6

Необходимые элементы интерфейса и классы их представляющие: 6

Приложение: UML диаграмма классов 8




Техническое задание (учебное) на разработку программы обработки топологии ИМС


1. Основание для проведения работы - утверждённая программа спецкурса "Объектно ориентированное программирование на языке Си++ в операционной системе UNIX для разработчиков прикладного программного обеспечения".

2. Исполнитель работы - группа слушателей спецкурса.

3. Сроки выполнения работы - 1 семестр 2006 года.

4. Цель и назначение работы.

Цель работы состоит в разработке программы, выполняющей основные технологические операции с топологией ИМС.

Программа предназначена для учебных целей: исследования применяемых алгоритмов, их производительности.

Задача применимости программы в процессе проектирования ИМС не ставиться.

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

5. Технические требования

5.1 Аппаратные средства, операционная среда и инструментальные средства.

Программа должна функционировать под управлением операционной системы UNIX.

Исходные тексты программ разрабатываются на языке программирования Си++.

Компиляция и сборка программ выполняются компилятором Си++ (gnu C++).

Графический интерфейс реализуется средствами библиотеки Leda.

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

5.2 Функциональны возможности программы.

Программа выполняет следующие функции:

- чтение и запись примитивного текстового представления топологии,

- графическая визуализация,

- желаемый графический ввод,

- раскрытие иерархического описания,

- отбор группы топологических слоев в один технологический слой,

- объединения пересекающихся и соприкасающихся контуров в одном слое,

- контроль взаимной близости границ контуров.

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

Программа имеет следующие ограничения:

Все контура односвязанные полигоны, без самопересечений. Число уровней иерархии не более 3, число слоев не более 16. Сложность геометрии - до 256 контуров.

5.3 Тестовые данные.

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

6. Результаты выполнения работы

- Программа в виде исполняемого файла

- Исходные тексты программы

- Исходные тексты тестирующих процедур

- Командные и make файлы для компиляции, сборки и тестирования

- Тестовые примеры входных данных

- Руководство по инсталяции в формате readme файлов

- Спецификации компонентов программы

7. Права использования результатов

Все права на использование результатов разработки в любом качестве принадлежат МИЭТ.

Комментарии

- В качестве координат использовать числа с плавающей запятой.

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


Подход к реализации


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

  1. Ядро – отвечает за хранение, обработку блоков топологии

  2. Графический Интерфейс Пользователя – отвечает за отображение на экране объектов топологии

Ядро


В ядро программы входят следующая функциональность:

  1. Сохранять и загружать объекты топологии (контура и слои)

  2. Объединять контура топологии одного слоя в случае их

  3. Определять технологию (список технологических правил, DU)

  4. Иерархия

  5. Проверка топологии на наличие технологических ошибок (DRC)

Реализация


В редактор топологии необходимо заложить обработку следующих структур:

  1. Геометрических объектов и физических слоев топологии

  2. Технологических правил и методов их обработки

  3. Уровня иерархии

  4. Понятие ячейка

Базовые классы и структуры


  1. Struct point– геометрическая единица 2 мерного пространства

  2. Class path (набор точек) – для описания фигуры топологии

  3. Class polygon – набор путей для описания сложных фигур

  4. Class shape (не помню для чего делал  )

  5. Calss layer – класс, определяющий принадлежность фигуры к определенному физическому слою топологии.

  6. Class cell – это набор пар фигур и соответствующих им слоев, определяющих определенную схему.

  7. Class HierarchyBox – абстрактная единица, определяющая уровень иерархии в иерархических ячейках.

  8. Rule – абстрактное описание технологического правила топологии

  9. Process – метод обработки определенного правила

Базовые связи между структурами:


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

Все объекты топологии хранятся в классе cell а все ячейки в классе Kernel, который отвечает за ввод/вывод топологии и технологии. В топологию входит описание всех контуров и уровней топологии. В технологию входит описание всех слоев и правил.

За создание технологических правил топологии отвечает синглтон Factory. Он содержит в себе единственное описание всех правил и методов их обработки. Непосредственно перед использованием правил, и методов их обработки необходимо их «зарегистрировать».

Каждое правило должно иметь метод обработки, набор слоев, с объектами которых оно оперирует и величину.

Правил может быть множество. А вот методов обработки меньше. Это связано с тем, что бы не плодить одинаковый код, если в топологии имеется правило минимальной ширины для нескольких слоев.

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

Более подробно с иерархией классов можно познакомиться в Приложении.

Графический интерфейс пользователя.


GUI сделан на основе библиотеки QT, а не LEDA. Это связано с тем, что на тот момент была версия библиотеки LEDA, которая собиралась только с использование компилятора GCC 3.3. А у нас у всех был компилятор версии > 4.

Задачи GUI


  1. Предоставить пользователю возможность создавать и редактировать.

  2. Добавлять удалять слои

  3. Добавлять удалять уровни иерархии

  4. Загружать топологию и технологию

  5. Работать с иерархическими ячеками

Необходимые элементы интерфейса и классы их представляющие:


  1. Главное окно приложения - MainForm

  2. Это поле для рисования топологии с дискретными значениями. – класс TEditor

  3. Линейка – MetricsPanel

  4. Панель с кнопками для рисования - ToolBar

  5. Окно со слоями - LayerManager

  6. Окно с иерархией – HierarchyBrowser

Более подробно с иерархией классов можно познакомиться в Приложении.

Приложение: UML диаграмма классов


Ядро:

gif_1.gif

Графический интерфейс пользователя:



gif_2.gif

Похожие:

Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconРуководство по использованию 13 заключение 13 14 приложение 14 техническое задание на разработку программной реализации задачи о голландском флаге
Техническое задание на разработку программной реализации задачи о голландском флаге 4
Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconТехническое задание на разработку программы-модели оценки количественного уровня защищённости распределённой информационной системы (рис)
Разработать программу, позволяющую собрать требуемую сетевую схему и рассчитать общий уровень защищённости рис в зависимости от топологии...
Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconРасчет топологии толстопленочнои микросхемы
Имс и технологического маршрута ее производства в соответствии с заданной в техническом задании принципиальной электрической схемой....
Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconТехническое задание на программный продукт или что значит фраза "по форме гост 19. 201-78"
Рассмотрим, как правильно составить техническое задание на разработку программного продукта
Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconТехническое задание на разработку решений по озеленению территории Имеретинской низменности
Имеретинской низменности в рамках реализации Программы строительства Олимпийских объектов и развития г. Сочи как горноклиматического...
Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconТехническое задание на разработку web-сайта для компании Москва г
Настоящее техническое задание регламентирует разработку сайта для компании
Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconТехническое задание на разработку программы "Драйвер для Skype"
Наименование продукта: "Программа сопряжения SkypeMate и драйвер к usb телефонам"
Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconТехническое задание на разработку сайта juran ru Составлено на 4 страницах
Приложение №1 к договору на разработку сайта № Б/Н от 2012 года
Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconТехническое задание на разработку программы "al updater"
Для подключения к Mysql должы использоваться файлы: libMysql dll, Mysql pas, Mysqlclasses pas, предоставленные
Техническое задание (учебное) на разработку программы обработки топологии имс 3 Подход к реализации 4 Ядро 5 Реализация 5 iconТехническое задание на разработку картографических сервисов для сайта Barierovnet org
Техническое задание на разработку картографических сервисов для сайта Barierovnet org – 1 этап
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org