суббота, 24 декабря 2016 г.

Реализация системных функций в логическом проекте

Системные функции выявляются на этапе системного анализа. Далее системные функции детализируются в логическом проекте. Одним из способов детализации системных функций является их декомпозиция на под функции. В данном посте показано как декомпозиция системных функций в логическом проекте производится с использованием Capella.

Это пост дополняет информацию в посте 

На уровне системного анализа определим 2 функции с двумя функциональными связями между ними.




Для передачи системных функций в логический проект необходимо выполнить команду Functional Transition на корневой функции (SystemFunctionRealization)

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

Для начала отобразим новые функции на диаграмме потоков данных. 
Чтобы снова не рисовать диаграмму, уже созданную при системном анализе, можно автоматически создавать диаграммы в логическом проекте на основе диаграмм в системном анализе. 
Для этого на диаграмме потоков данных в логическом проекте используем команду Initialization from existing diagram и выбираем из списка существующую диаграмму.

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

Если просмотреть информацию о функции LF SystemFunction 1 в семантическом браузере модели, то видно, что данная функция логического проекта реализует системную функцию SystemFunction 1 из системного анализа. Более подробно об использовании семантического браузера модели Capella см в посте по ссылке.





Декомпозируем в логическом проекте системные функции на подфункции. Порты и связи функционального взаимодействия в логическом проекте перенесем с системных функций на функции 2 уровня. 


Чтобы завершить декомпозицию функций в логическом проекте необходимо для функций 2-го уровня указать системные функции, которые они реализуют.  Просмотрим в семантическом браузере информацию о логической функции LF Logical Function. Видим, что данная функция не реализует ни одной системной функции.



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

Запустим валидацию модели для корневой системной функции в системном анализе. 


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



Capella позволяет исправлять многие ошибки в модели автоматическим образом. Для этого необходимо выделить сообщения об ошибках и выполнить команду из раздела Quick Fix. В нашем случае это будет Realize Function.


В результате для всех вновь созданных логических функций будут автоматически добавлены связи реализации системных функций. 
Проверим это, снова отобразив информацию о функции Logical Function в семантическом браузере модели. Видим, что новая связь реализации системной функции была добавлена. 



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

Комментариев нет:

Отправить комментарий