Всё для программиста

Методы анализа - Описание потоков данных и процессов
Индекс материала
Методы анализа
Описание потоков данных и процессов
Описание потоков данных и процессов
Методы анализа, ориентированные на структуры данных
Методика Джексона
Шаг объект-структура
Шаг начального моделирования
Контрольные вопросы
Основы проектирования программных систем
Особенности этапа проектирования
Структурирование системы
Моделирование управления
Декомпозиция подсистем на модули
Связность модуля
Функциональная связность
Коммуникативная связность
Временная связность
Связность по совпадению
Сцепление модулей
Контрольные вопросы
Классические методы проектирования
Проектирование для потока данных типа «преобразование»
Проектирование для потока данных типа «запрос»
Доопределение функций
Учет системного времени
Структурное тестирование программного обеспечения
Тестирование «черного ящика»
Потоковый граф
Цикломатическая сложность
Шаги способа тестирования базового пути
Тестирование ветвей и операторов отношений
Тестирование циклов
Неструктурированные циклы
Функциональное тестирование программного обеспечения
Способ разбиения по эквивалентности
Способ анализа граничных значений
Способ диаграмм причин-следствий
Организация процесса тестирования программного обеспечения
Тестирование интеграции
Восходящее тестирование интеграции
Системное тестирование
Стрессовое тестирование
Все страницы
Описание потоков данных и процессов

 

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

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

Большинство словарей содержит следующую информацию.

1. Имя (основное имя элемента данных, хранилища или внешнего объекта).

2. Прозвище (Alias) — другие имена того же объекта.

3. Где и как используется объект — список процессов, которые используют данный элемент, с указанием способа использования (ввод в процесс, вывод из процесса, как внешний объект или как память).

4. Описание содержания — запись для представления содержания.

5. Дополнительная информация — дополнительные сведения о типах данных, допустимых значениях, ограничениях и т. д.

Спецификация процесса — это описание преобразователя. Спецификация поясняет: ввод данных в преобразователь, алгоритм обработки, характеристики производительности преобразователя, формируемые результаты.

Количество спецификаций равно количеству преобразователей диаграммы.

Расширения для систем реального времени

 

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

 

Рис. 3.3. Программное изделие как дискретная модель проблемной области

 

П. Вард и С. Меллор приспособили диаграммы потоков данных к следующим требованиям систем реального времени [73].

1. Информационный поток накапливается или формируется в непрерывном времени.

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

3. Допускается множественный запрос на одну и ту же обработку (из внешней среды).

 

Рис. 3.4. Расширения диаграмм для систем реального времени

 

Новые элементы имеют обозначения, показанные на рис. 3.4.

Приведем два примера использования новых элементов.

Пример 1. Использование потоков, непрерывных во времени.

На рис. 3.5 представлена модель анализа программного изделия для системы слежения за газовой турбиной.

 

Рис. 3.5. Модель ПО для системы слежения за газовой турбиной

 

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

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

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

Пример 2. Использование потоков управления.

Рассмотрим компьютерную систему, которая управляет роботом (рис. 3.6).

 

Рис. 3.6. Модель ПО для управления роботом

 

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