Техническое задание

<< Click to Display Table of Contents >>

Navigation:  Введение >

Техническое задание

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

 

на разработку комплекса программно-технических средств “Моделирование, исследование, проектирование”

 

Комплекс программно-технических средств “Моделирование, исследование, проектирование” (далее - КПТС “МИП”) представляет собой совокупность программных и аппаратных средств, предназначенных для проведения различного рода исследований, компьютерного моделирования (симуляции) различных объектов и процессов, а также их проектирования. Все программные средства должны быть разработаны для работы под управлением операционной системы Microsoft Windows (далее - ОС Windows).

В состав комплекса входит:

1.Базовое программное обеспечение (далее - базовое ПО), работающее на одной или нескольких электронно-вычислительных машинах (далее - ЭВМ), связанных посредством локальной вычислительной сети и/или сети Интернет;

2.Программные модули, расширяющие возможность базового ПО;

3.Технические средства обеспечения доступа к вычислительной сети или сети Интернет;

4.Технические средства сбора данных;

5.Технические средства обеспечения человеко-машинного интерфейса;

6.Технические средства управления объектами и процессами.

 

Рабочее место

Рабочее место представляет собой запущенный на физической машине под управлением ОС Windows экземпляр программного обеспечения КПТС “МИП”, возможно в совокупности с подключенными к машине техническими средствами. Одно рабочее место рассчитано на одновременное взаимодействие с одним или несколькими (в случае соответствующего технического обеспечения такого, как средства сбора данных, управления и обеспечения человеко-машинного интерфейса) пользователем.

 

Встраиваемые программные модули

В зависимости от решаемых задач рабочее место КПТС “МИП” может расширяться посредством внедрения в базовое ПО встраиваемых программных модулей, возможно сторонних разработчиков. Концепция программных модулей базируется на модели полиморфных компонентов, функционал которых определяется не только при разработке его программного кода, но и может модифицироваться в процессе работы средствами базового ПО. Модификация происходит путем изменения динамически подгружаемой части кода, написанного на заданном в настройках рабочего места языке программирования.

Компиляция и сборка динамически подгружаемых частей компонентов осуществляется базовым ПО автоматически посредством средств разработки ПО сторонних разработчиков. Комплектация средствами разработки ПО выбирается заказчиком. В поставку может входить как свободно распространяемые средства разработки ПО, так и коммерческие. Также заказчик может настроить комплекс под уже имеющиеся у него средства.

Если не сказано иное, по умолчанию система настроена на работу со средой разработки ПО Microsoft Visual Studio Express, а именно с компилятором с языка C++ cl.exe.

 

Проект

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

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

Для проекта и каждой страницы может быть задан набор атрибутов.

 

Визуальная среда

Программное обеспечение КПТС “МИП” функционирует в одном или нескольких окнах ОС Windows с возможностью перевода окна в полноэкранный режим. В каждом окне может одновременно отображаться одна из страниц проекта. В главном окне кроме страниц проекта могут отображаться общие для всего приложения панели настроек, свойств и палитры компонентов с возможностью их переноса в отдельные окна.

Несколько элементов на странице (компонентов, портов, групп) для удобства редактирования и при определении составных компонент можно объединять в подгруппы. У каждой подгруппы может быть свой набор атрибутов.

 

Модель полиморфных компонентов

Структурно программная часть комплекса состоит из каркаса, в который внедряются компоненты, определяющие функциональность системы, человеко-машинные интерфейсы, а также интерфейсы взаимодействия с техническими средствами. Одна часть компонент (фиксированная) входит в состав базового ПО, другая (настраиваемая) -  в состав встраиваемых программных модулей (пакетов компонент).

Все компоненты условно можно отнести к одной или нескольким категориям:

1.функциональные;

2.визуальные;

3.невизуальные;

4.взаимодействия с пользователем;

5.настраиваемые;

6.взаимодействия с техническими средствами (сбора данных, управления);

7.полиморфные.

У каждого компонента существует одно или несколько однократных и/или многократных отображений. Отображениями компонента является синхронная во времени совокупность его визуальных представлений и взаимодействий с пользователем. Невизуальные компоненты имеют одно статическое отображение и только в режиме редактирования. Однократное отображение может присутствовать не более чем в одном экземпляре на всех страницах. Многократное отображение может присутствовать в любом количестве экземпляров на любых страницах.

У каждого рабочего места КПТС “МИП” есть свой набор компонент. Такие компоненты по расположению относятся к набору общих компонент. Кроме общих для каждого проекта существует набор локальных компонент, имеющий более высокий приоритет над общими компонентами в случаях неоднозначности сопоставления. Любой общий компонент, расположенный на страницах проекта, с целью улучшения переносимости проекта на другое рабочее место можно поместить (дублировать) в набор локальных компонент.

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

На основе каждого компонента можно создать новый локальный или общий компонент с измененными настройками по умолчанию.

 

Составной компонент

На основе группы настроенных, связанных и помещенных на страницу компонентов можно создать новый общий или локальный составной компонент. При этом имя компонента и имя группы в палитре компонентов задаются в атрибутах страницы, его отображения идентифицируются атрибутами соответствующих компонентов или подгрупп компонентов, размещенных на странице, а статические визуальные представления идентифицируются атрибутами соответствующих компонентов-представлений (изображений из файлов).

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

Если для составного компонента не определено ни одного отображения, то отображение создается автоматически, а для его статического визуального представления в палитре компонентов выбирается статическое визуальное представление, заданное в системе по умолчанию. При этом, если для составного компонента не определено ни одного порта, то по выбору системы для отображения на странице выбирается статическое визуальное представление, заданное в системе по умолчанию. Если  для составного компонента задан хотя бы один порт, то для отображения используется статическое визуальное представление, сгенерированное автоматически как для схематичного отображения.

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

 

Палитра компонентов

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

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

В режиме редактирования пользователь может кликом на отображение компонента поместить его на активную страницу.

Если нет активной группы, то в палитре отображаются все не добавленные однократные и все многократные отображения активного на странице компонента.

 

Взаимодействие компонент

Компоненты должны взаимодействовать друг с другом, с техническими средствами, пользователем (посредством человеко-машинного интерфейса) и дистанционно (посредством локальной сети и/или Интернета) с другими компонентами.

Взаимодействие между компонентами осуществляется посредством связи их портов. Каждый порт имеет тип. Иерархия наследования типов имеет древовидную структуру (без множественного наследования), в корне которой находится тип “порт”. Для каждого типа существует его базовый тип. Связь между двумя портами возможна только когда они одного типа или, в зависимости от атрибутов порта, имеют общий базовый тип в иерархии наследования.

Каждый порт может иметь один или несколько атрибутов. Атрибуты влияют на оптимизацию связей. Такие атрибуты, как “вход” и “выход” влияют на возможность связывания портов. Связывание портов различных типов с общим базовым классом возможно только в случае, если все порты,  находящиеся в иерархии наследования ниже типа любого из связанных портов, помечены атрибутом “вход” и не помечены атрибутом “выход”.

Связывание портов происходит в режиме редактирования страниц. Каждая связь визуально отображается в виде прямого отрезка между портами или последовательности ортогональных отрезков (по выбору пользователя). Атрибуты “вход” и “выход” отображаются стрелками. В случае отображения связи более двух портов в виде последовательности ортогональных отрезков также отображается точка соединения (аналогично отображению в электрических схемах).