Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_МУ_АСУиП.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

Декомпозиция алгоритма подсистемы на частные алгоритмы

Следующим шагом в проектировании подсистем является раз­деление каждой подсистемы на части, связанные с программиро­ванием. Это действие получило название декомпозиция.

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

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

Рисунок 12 – Декомпозиция алгоритма подсистемы на частные алгоритмы

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

1. Частный алгоритм и модуль должны представлять логиче­ски завершенную часть программы, которая:

а) имеет минимальное число связей с остальными частными алгоритмами модулями;

б) требует минимальные затраты на контроль работоспособ­ности и тесты для проверок;

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

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

3. Возможность применения существующих проверенных программ частных алгоритмов. Хотя использование этих программ может увеличивать ПО подсистемы и повышать требования к ско­рости и объемам памяти, однако, если это приводит к сокращению времени создания ПО, то необходимо учитывать эти возможности.

Рассмотрим структурную схему декомпозиции алгоритма под­системы на частные алгоритмы. Для примера проведем анализ де­композиции одной подсистемы.

Структурная схема частных алгоритмов подсистемы 4 приве­дена на Рисунках 13 и 14.

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

Рисунок 13 – Пример деления алгоритма подсистемы на частные алгоритмы.

Рисунок 14 – Таблица связей между частными алгоритмами.

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

На Рисунке 15 приведены графы модулей каждого частного алго­ритма подсистемы 4.

Рисунок 15 - Графы модулей частных алго­ритмов подсистемы.

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

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