Файл: Иванова Г.С. Технология программирования.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.11.2019

Просмотров: 9499

Скачиваний: 184

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

управляющую

информацию

получаемую

системой

извне

Например

управляющими

воздей

-

ствиями

считают

команды

пользователя

и

сигналы

датчиков

подключенных

к

компьютерной

системе

Получив

такое

управляющее

воздействие

разрабатываемая

система

должна

выполнить

определенные

действия

и

или

остаться

в

том

же

состоянии

или

перейти

в

другое

состояние

взаимодействия

с

внешней

средой

Для

построения

диаграммы

переходов

состояний

необходимо

в

соответствии

с

теорией

конечных

автоматов

определить

основные

состояния

управляющие

воздействия

  (

или

условия

перехода

), 

выполняемые

действия

и

возможные

варианты

переходов

из

одного

состояния

в

другое

Условные

обозначения

используемые

при

построении

диаграмм

переходов

состояний

показаны

на

рис

. 4.3. 

 
 
 
 
 
 
 
 
 
 
 
 
 

Если

программная

система

в

процессе

функционирования

активно

не

взаимодействует

с

окружающей

средой

  (

пользователем

или

датчиками

), 

например

использует

примитивный

интерфейс

и

выполняет

некоторые

вычисления

по

заданным

исходным

данным

то

диаграмма

переходов

состояний

обычно

интереса

не

представляет

В

этом

случае

она

демонстрирует

только

последовательно

выполняемые

переходы

из

исходного

состояния

в

состояние

ввода

данных

затем

после

выполнения

вычислений

 - 

в

состояние

вывода

и

наконец

в

состояние

завершения

работы

 (

рис

. 4.4). 

 
 
 
 
 
 
 
 

 
 

Для

интерактивного

программного

обеспечения

с

развитым

пользовательским

интерфейсом

основные

управляющие

воздействия

 - 

команды

пользователя

для

программного

обеспечения

реального

времени

 — 

сигналы

от

датчиков

и

/

или

оператора

производственного

процесса

Общим

для

этих

типов

программного

обеспечения

является

наличие

состояния

ожидания

когда

программное

обеспечение

приостанавливает

работу

до

получения

очередного

управляющего

воздействия

Для

интерактивного

программного

обеспечения

наиболее

характерно

получение

команд

различных

типов

 (

рис

. 4.5), 

а

если

это

еще

и

программное

обеспечение

реального

времени

однотипных

сигналов

 (

либо

от

многих

датчиков

либо

требующих

продолжительной

обработки

). 

В

отличие

от

интерактивных

систем

для

систем

реального

времени

обычно

установлено

более

жесткое

ограничение

на

время

обработки

полученного

сигнала

программного

обеспечения

Такое

ограничение

часто

требует

выполнения

дополнительных

исследований

поведения

системы

во

времени

например

с

использованием

сетей

Петри

или

марковских

процессов


background image

 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

К

программному

обеспечению

требующему

уточнения

особенностей

поведения

посредством

построения

диаграммы

переходов

состояний

относится

и

программное

обеспечение

ориентированное

на

работу

в

сети

 (

см

. § 1.1). 

При

этом

отдельно

строят

модели

поведения

сервера

и

клиента

представляя

сообщения

передаваемые

между

ними

в

виде

управляющих

воздействий

Пример

 4.1.

Рассмотрим

диаграмму

переходов

состояний

для

программы

построения

графиков

функций

одной

переменной

техническое

задание

на

которую

представлено

в

 § 3.4. 

Программа

относится

к

классу

интерактивных

соответственно

на

этапе

анализа

и

определения

спецификаций

целесообразно

уточнить

поведение

программы

на

уровне

интерфейса

с

пользователем

тем

более

что

наличие

простого

интерфейса

оговорено

в

техническом

задании

Один

из

возможных

вариантов

диаграммы

переходов

состояний

программы

представлен

на

рис

. 4.6. 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Полученную

диаграмму

переходов

состояний

следует

согласовать

с

заказчиком

программного

обеспечения


background image

4.3. 

Функциональные

диаграммы

Функциональными

называют

диаграммы

в

первую

очередь

отражающие

взаимосвязи

функций

разрабатываемого

программного

обеспечения

В

качестве

примера

функциональной

модели

рассмотрим

активностную

модель

предложенную

Д

Россом

в

составе

методологии

функционального

моделирования

 SADT (Structured Analysis and Design Technique - 

технология

структурного

анализа

и

проектирования

в

 1973 

г

. [58]. 

Примечание

Методология

 SADT 

предполагает

что

модель

может

основываться

либо

на

функциях

системы

либо

на

ее

предметах

  (

данных

оборудовании

информации

и

т

п

.). 

В

обоих

случаях

используют

схожие

графические

нотации

но

в

первом

случае

блок

соответствует

функции

а

во

втором

 — 

элементу

данных

Соответствующие

модели

принято

называть

актив

-

ностными

моделями

и

моделями

данных

Полная

модель

включает

построение

обеих

моделей

обеспечивающих

более

полное

описание

программного

обеспечения

однако

широкое

распространение

получили

только

активностные

  (

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

модели

На

основе

мето

-

дологии

 SADT 

в

дальнейшем

была

построена

известная

методология

описания

сложных

систем

IDEFO (Icam DEFinition - 

нотация

 ICAM), 

которая

является

основной

частью

программы

 ICAM 

(Integrated Computer-Aided Manufacturing - 

интегрированная

компьютеризация

производства

), 

проводимой

по

инициативе

ВВС

США

Отображение

взаимосвязи

функций

активностной

модели

осуществляется

посредством

построения

иерархии

функциональных

диаграмм

схематически

представляющих

взаимосвязи

нескольких

функций

Каждый

блок

такой

диаграммы

соответствует

некоторой

функции

для

которой

должны

быть

определены

исходные

данные

результаты

управляющая

информация

и

ме

-

ханизмы

ее

осуществления

 — 

человек

или

технические

средства

Все

перечисленные

выше

связи

функции

представляются

дугами

причем

тип

связи

и

ее

направление

строго

регламентированы

Дуги

изображающие

каждый

тип

связей

должны

подходить

к

блоку

с

определенной

стороны

  (

рис

. 4.7), 

а

направление

связи

должно

указываться

стрелкой

в

конце

дуги

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Физически

дуги

исходных

данных

результатов

и

управления

представляют

собой

наборы

данных

передаваемые

между

функциями

Дуги

определяющие

механизм

выполнения

функции

в

основном

используются

при

описании

спецификаций

сложных

информационных

систем

которые

включают

как

автоматизированные

так

и

ручные

операции

Блоки

и

дуги

маркируются

текстами

на

естественном

языке

Блоки

на

диаграмме

размещают

по

  «

ступенчатой

» 

схеме

в

соответствии

с

последовательностью

их

работы

или

доминированием

которое

понимается

как

влияние


background image

оказываемое

одним

блоком

на

другие

В

функциональных

диаграммах

 SADT 

различают

пять

типов

влияний

блоков

друг

на

друга

• 

вход

 - 

выход

блока

подается

на

вход

блока

с

меньшим

доминированием

т

е

Следующего

(

рис

. 4.8, 

а

); 

управление

 - 

выход

блока

используется

как

управление

для

блока

с

меньшим

доминированием

 (

следующего

) (

рис

. 4.8, 

б

); 

обратная

связь

по

входу

 - 

выход

блока

подается

на

вход

блока

с

большим

доминированием

(

предыдущего

) (

рис

. 4.8, 

в

); 

обратная

связь

по

управлению

 — 

выход

блока

используется

как

управляющая

информация

для

блока

с

большим

доминированием

 (

предыдущего

) (

рис

:4.8,

г

); 

  • 

выход

-

исполнитель

 - 

выход

блока

используется

как

механизм

для

другого

блока

 (

рис

. 4.8, 

д

). 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Дуги

могут

разветвляться

и

соединяться

вместе

различными

способами

Разветвление

означает

что

часть

или

вся

информация

может

использоваться

в

каждом

ответвлении

дуги

Дуга

всегда

помечается

до

ветвления

чтобы

идентифицировать

передаваемый

набор

данных

Если

ветвь

дуги

после

ветвления

непомечена

то

непомеченная

ветвь

содержит

весь

набор

данных

Каждая

метка

ветви

уточняет

что

именно

содержит

данная

ветвь

 (

рис

. 4.9). 


background image

 
 
 
 
 
 
 
 
 
 
 

Построение

иерархии

функциональных

диаграмм

ведется

поэтапно

с

увеличением

уровня

детализации

диаграммы

каждого

следующего

уровня

уточняют

структуру

родительского

блока

Построение

модели

начинают

с

единственного

блока

для

которого

определяют

исходные

данные

результаты

управление

и

механизмы

реализации

Затем

он

последовательно

детализируется

с

использованием

метода

пошаговой

детализации

  (

см

. § 1.3). 

При

этом

рекомендуется

каждую

функцию

представлять

не

более

чем

 3—7-

ю

блоками

Во

всех

случаях

каждая

подфункция

может

использовать

или

продуцировать

только

те

элементы

данных

которые

использованы

или

продуцируются

родительской

функцией

причем

никакие

элементы

не

могут

быть

опущены

что

обеспечивает

непротиворечивость

построенной

Стрелки

приходящие

с

родительской

диаграммы

или

уходящие

на

нее

нумеруют

используя

символы

и

числа

Символ

обозначает

тип

связи

: I -

входная

С

 - 

управляющая

М

 - 

механизм

, R - 

результат

Число

 - 

номер

связи

по

соответствующей

стороне

родительского

блока

считая

сверху

вниз

и

слева

направо

Все

диаграммы

связывают

друг

с

другом

иерархической

нумерацией

блоков

первый

уровень

 - 

АО

второй

 - 

А

1, 

А

и

т

п

., 

третий

 - All, A12, 

А

13 

и

т

п

., 

где

первые

цифры

 — 

номер

родительского

блока

а

последняя

 — 

номер

конкретного

субблока

родительского

блока

Детализацию

завершают

после

получения

функций

назначение

которых

хорошо

понятно

как

заказчику

так

и

разработчику

Эти

функции

описывают

используя

естественный

язык

или

псевдокоды

В

процессе

построения

иерархии

диаграмм

фиксируют

всю

уточняющую

информацию

и

строят

словарь

данных

в

котором

определяют

структуры

и

элементы

данных

показанных

на

диаграммах

Таким

образом

в

результате

получают

спецификацию

которая

состоит

из

иерархии

функциональных

диаграмм

спецификаций

функций

нижнего

уровня

и

словаря

имеющих

ссылки

друг

на

друга

Пример

 4.2.

Разработку

функциональных

диаграмм

продемонстрируем

на

примере

уточнения

спецификаций

программы

построения

таблиц

/

графиков

функций

одной

переменной

Диаграмма

показанная

на

рис

. 4.10, 

а

является

диаграммой

верхнего

уровня

На

ней

хорошо

видно

что

является

исходными

данными

для

программы

и

каких

результатов

работы

от

нее

ожидают

.  

Диаграмма

представленная

на

рис

. 4.10, 

б

уточняет

функции

программы

На

ней

показаны

четыре

блока

Ввод

/

выбор

функций

и

ее

разбор

Добавление

функции

в

список

Построение

таблицы

значений

и

Построение

графика

функции

Для

каждого

блока

определены

исходные

данные

управляющие

воздействия

и

результаты

Согласно

правилам

наименования

входов

/

вы

-

ходов

имеющих

продолжение

на

родительской

диаграмме

на

диаграмме

использованы

следующие

обозначения

:  

 
I1 - 

функция

,       

I2 - 

отрезок

I3 – 

шаг

,