Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПО учебное пособие.doc
Скачиваний:
24
Добавлен:
22.08.2019
Размер:
3.13 Mб
Скачать

7.7 Сопрограммы

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

Рис. 7.4 — Организация сопрограмм

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

Сопрограмма — это такой вид программы, который сохраняет текущее состояние счетчика команд. Когда программа вызывается повторно, выполнение продолжается с адреса, записанного в счетчике программ, а не с начала программы.

Сопрограмма, возвращающая управление в процедуру X, определяется как resume X. Использование такого оператора языка PDL можно представить следующим образом:

call DATA;

goto Next_Statement;

/* Для элементов данных */

DATA: procedure;

declare FS, DV;

DV = значение данных 1;

resume FORMAT(FS);

call I/O – process(DV, FS);

DV = значение данных 2;

resume FORMAT(FS);

call I/O – process(DV, FS);

...

DV = значение данных n;

call I/O – process(DV, FS);

end DATA;

FORMAT: procedure(FS);

LOOP: FS = спецификация формата 1;

resume DATA(FS);

FS = спецификация формата 2;

resume DATA(FS);

...

FS = спецификация формата n;

goto LOOP;

end FORMAT;

Next_Statement:

...

Здесь каждая сопрограмма вызывает другую сопрограмму. Таким образом, программа обработки данных вызывает программу обработки формата до следующего элемента формата.

К сожалению, сопрограммы отсутствуют в широко распространенных языках программирования.

Контрольные вопросы

1. Стандартные методы проектирования.

2. Разбиение задачи на независимые подзадачи.

3. Разбиение задачи на одинаковые по сложности части.

4. Рекурсия.

5. Динамическое программирование.

6. Моделирование.

7. Поиск. Поиск в списках. Прямой поиск. Линейный поиск.

8. Поиск с возвратом.

9. Стратегия распределения памяти.

10. Алгоритм выбора из конечного состояния.

11. Сопрограммы.

8 Методы управления проектированием программных изделий

Основная цель управления — организовать и связать взаимодействие исполнителей при создании программного продукта.

8.1 Организация управления проектированием программного изделия

8.1.1 Понятие изделия как средства общения

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

Изделие

Программа

1. Изучение рынка

1. Изучение рынка

2. Планирование

2. Планирование

3. Анализ окупаемости

3. Рассмотрение соглашения о требованиях

4. Разработка

4. Разработка

5. Конфигурационное управление

5. Конфигурационное управление

6. Обеспечение гарантии качества

6. Тестирование (автономное)

7. Изготовление

7. Копирование

8. Контроль качества

8. Тестирование (системное)

9. Отправка потребителю

9. Передача пользователю

10. Ввод в действие

10. Ввод в действие

11. Гарантийный ремонт

11. Сопровождение

12. Усовершенствование

12. Расширение функциональных возможностей

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