Похожие презентации:
Системное программное обеспечение. Тема 3. Детальное проектирование программ
1. Системное программное обеспечение
2. Технология производства программных продуктов и услуг
Тема 3Детальное проектирование
программ
3. Технология производства программных продуктов и услуг Детальное проектирование программ
• Модуль – часть программной системы,которая по какому-то принципу ограничена
и оформлена в соответствии с системными
соглашениями (стандартами)
• Функциональная прочность –
возможность разумного распознавания
разрабатываемых функций модуля
• Информационная прочность – поток
данных внутри модуля должен быть
существенно интенсивнее потока данных,
связывающего этот модуль с другими
модулями
4. Технология производства программных продуктов и услуг Детальное проектирование программ
Модуль должен возвращать управление в ту же точку, изкоторой был вызван (иметь один вход и один выход)
Модуль 1
Модуль 2
Вызов
Модуля 2
5. Технология производства программных продуктов и услуг Детальное проектирование программ
Иерархическая схема программы6. Технология производства программных продуктов и услуг Детальное проектирование программ
Текст любой программы состоит из двух частей:описание структур данных
описание алгоритмов
7. Технология производства программных продуктов и услуг Детальное проектирование программ
Типы форм описания алгоритмовТекстовая
формализованный естественный язык
псевдокод
Табличная
структурная диаграмма
таблица решений
Графическая
блок-схема
граф программы
потоковая диаграмма
8. Технология производства программных продуктов и услуг Детальное проектирование программ
Элементы блок-схемНачало
переход
управления
один выход
один вход
Конец
Функциональный
блок
Несколько
входов
Нет
один выход
Логиче
ский
блок
Да
Несколько
входов
два выхода
9. Технология производства программных продуктов и услуг Детальное проектирование программ
Типовые управляющие структуры (Э. Дейкстра)F1
ДА
НЕТ
НЕТ
ДА
F2
Следование
F1
F2
Развилка
F1
Цикл:
(с предусловием или
ПОКА)
10. Технология производства программных продуктов и услуг Детальное проектирование программ
Теорема ДейкстрыЛюбой алгоритм может быть построен
путем вложения только трех типовых
управляющих структур:
следование
развилка
цикл ПОКА
Такая форма алгоритма строится методом
последовательной детализации
11. Технология производства программных продуктов и услуг Детальное проектирование программ
Метод последовательной детализацииПример1. Пусть дан одномерный массив.
Заменить все положительные числа в массиве на нули.
12. Технология производства программных продуктов и услуг Детальное проектирование программ
Шаг 1: Структура СледованиеПодготовка
цикла
Выполнение
обработки
13. Технология производства программных продуктов и услуг Детальное проектирование программ
Шаг 2: Детализация первого блока присваиваниемдетализация второго блока Структурой Цикл
i := 1
НЕТ
i<n
ДА
Обработка
элементов
14. Технология производства программных продуктов и услуг Детальное проектирование программ
Шаг 3: Детализация тела цикла Структурой Следованиеi := 1
НЕТ
i<n
ДА
Выполнить замену
i : = i+1
15. Технология производства программных продуктов и услуг Детальное проектирование программ
Шаг 4: Детализация первого блока Структурой Развилкаi: = 1
НЕТ
i<n
ДА
ДА
А[i] n
А[i] : = 0
i : = i+1
НЕТ
16. Технология производства программных продуктов и услуг Детальное проектирование программ
Исходный алгоритмДА
1
2
НЕТ
ДА
3
НЕТ
5
4
17. Технология производства программных продуктов и услуг Детальное проектирование программ
Пусть k – переменная, принимающая на каждом шагеалгоритма значение номера следующего исполняемого
блока.
Использование этого алгоритма можно рассматривать как
регламентированный цикл, т.е. цикл, в котором происходит
перебор блоков в необходимой последовательности.
18. Технология производства программных продуктов и услуг Детальное проектирование программ
Теорема Дейкстрыk:=1
ДА
k>5
НЕТ
ДА
НЕТ
k=1
ДА
1
НЕТ
k=2
k:=3
ДА
ДА
k:=5
2
НЕТ
k:=1
ДА
k:=4
3
k=3
НЕТ
ДА
НЕТ
k:=5
k=4
НЕТ
4
5
k:=2
k:=6
19. Технология производства программных продуктов и услуг Детальное проектирование программ
Следствия из теоремы ДейкстрыСледствие 1. Любой алгоритм может быть реализован с
помощью одного оператора цикла.
Следствие 2. Любой алгоритм (модуль) может быть
запрограммирован типовой формой “выбор в цикле”
20. Технология производства программных продуктов и услуг Детальное проектирование программ
Структурная диаграммаF1
ДА
НЕТ
F2
F1
F1
Следование
Развилка
Выбор по k
1
F1
2
F2
F2
3
иначе
F3
F4
Выбор
Цикл
21. Технология производства программных продуктов и услуг Детальное проектирование программ
Структурная диаграмма. Пример. Шаг 1Подготовка цикла
Выполнение обработки массива
22. Технология производства программных продуктов и услуг Детальное проектирование программ
Структурная диаграмма. Пример. Шаг 2Подготовка цикла
i:=1
пока i < n
Обработка элементов массива
23. Технология производства программных продуктов и услуг Детальное проектирование программ
Структурная диаграмма. Пример. Шаг 3i:=1
пока i < n
Обработка элемента массива
i:=i+1
24. Технология производства программных продуктов и услуг Детальное проектирование программ
Структурная диаграмма. Пример. Шаг 4i:=1
пока i < n
A[i] 0
ДА
НЕТ
A [i] : = 0
i:=i+1
25. Технология производства программных продуктов и услуг Детальное проектирование программ
ПсевдокодF1
ДА
F2
F1
Следование
Выполнить F1
Выполнить F2
НЕТ
F2
Развилка
ЕСЛИ
ТО
Выполнить F1
ИНАЧЕ
Выполнить F2
ВСЕ-ЕСЛИ
F1
Цикл
ЦИКЛ ПОКА
Выполнить F1
ВСЕ-ЦИКЛ
26. Технология производства программных продуктов и услуг Детальное проектирование программ
Псевдокод. Примерi:= 1
ЦИКЛ ПОКА i < n
ЕСЛИ А[i] 0
TO
А[i]:= 0
ИНАЧЕ
нет операции
ВСЕ – ЕСЛИ
i:= i + 1
ВСЁ-ЦИКЛ
27. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решенийI
II
III
IV
I – зона условий
II – зона указателей условий
III – зона действий
IV – зона указателей действий
28. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решенийПример. Приёмка материалов на склад
Рассмотрим три события:
1.
Поступил товарно-распорядительный документ
2.
Поступил сам материал
3.
Совпадает ли фактическое количество и качество
материала с данными товарно-распорядительного
документа
29. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решений1
1. Наличие накладной
2. Наличие материалов
3. Соответствие по количеству и качеству
2
3
4
5
6
7
8
30. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решений1
1. Наличие накладной
2. Наличие материалов
3. Соответствие по количеству и качеству
+
+
+
2
+
+
-
3
+
+
4
+
+
5
+
-
6
+
7
+
-
8
-
31. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решений1
1. Наличие накладной
2. Наличие материалов
3. Соответствие по количеству и качеству
1) Приходовать по приходному ордеру
2) Приходовать по акту
3) Ошибка
4) Принять к учету как товар в пути
+
+
+
2
+
+
-
3
+
+
4
+
+
5
+
-
6
+
7
+
-
8
-
32. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решений (формально полная)1
1. Наличие накладной
2. Наличие материалов
3. Соответствие по количеству и качеству
1) Приходовать по приходному ордеру
2) Приходовать по акту
3) Ошибка
4) Принять к учету как товар в пути
p 2
n
+
+
+
Х
2
+
+
-
3
+
+
4
+
+
5
+
-
6
+
Х
7
+
Х
Х
Х
Х
Х
8
-
33. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решений (селективная)1
1. Наличие накладной
2. Наличие материалов
3. Соответствие по количеству и качеству
1) Приходовать по приходному ордеру
2) Приходовать по акту
3) Ошибка
4) Принять к учету как товар в пути
p 2
n
+
+
+
Х
2
±
+
-
3
4
+
+
±
+
Х
Х
5
+
-
Х
Х
6
-
34. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решений (логически полная)1
1. Наличие накладной
2. Наличие материалов
3. Соответствие по количеству и качеству
1) Приходовать по приходному ордеру
2) Приходовать по акту
3) Ошибка
4) Принять к учету как товар в пути
q
p 2li ; p 2n
i 1
+
+
+
Х
2
±
+
-
3
4
+
+
±
+
Х
Х
5
+
-
Х
Х
q – количество указателей
l – количество пробелов ( ) в данном указателе
p = 20 + 21 + 20 + 21 + 20 + 20 = 8 = 23
6
-
35. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решений(селективная, дополненная до логической полноты)
1
1. Наличие накладной
2. Наличие материалов
3. Соответствие по количеству и качеству
1) Приходовать по приходному ордеру
2) Приходовать по акту
3) Ошибка
4) Принять к учету как товар в пути
+
+
+
Х
2
±
+
-
3Е
+
-
Х
Х
Х
36. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решений(Циклы в таблицах решений)
конец цикла
+
Х
37. Технология производства программных продуктов и услуг Детальное проектирование программ
Таблица решений(описание цикла с помощью структурной диаграммы)
подготовка цикла (например, взять первую накладную)
цикл (пока не рассмотрены все накладные)
перейти к следующей (накладной)
38. Технология производства программных продуктов и услуг
Конец Темы 3Детальное проектирование
программ