Метод декомпозиции
Пример иерархической структуры (блок-схема)
Любую исследуемую систему можно рассматривать как сложную, состоящую из отдельных взаимосвязанных подсистем, которые, в свою очередь, также могут быть расчленены на части. Такой процесс расчленения системы называется декомпозицией. В качестве систем могут выступать не только материальные объекты, но и процессы, явления и понятия. Метод декомпозиции позволяет разложить сложную задачу на ряд простых, но взаимосвязанных задач, представить её в виде иерархической структуры.
Упрощенное графическое представление иерархической структуры может быть изображено в виде ветвящейся блок-схемы, на подобие представленной на рисунке. Здесь на нулевом уровне располагается исходная система С1 , на следующих уровнях — её подсистемы (число уровней и количество подсистем, показанных на рисунке, выбрано произвольно). С целью получения более полного представления о системе и её связях в структуру включают надсистему и составляющие её части (системы нулевого уровня, например, вторая система С2).
В процессе проектирования декомпозиция неразрывно связана с последующей композицией, то есть сборкой и увязкой отдельных частей (подсистем) в единую систему с проверкой на реализуемость в целом, совместимость (особенно подсистем, принадлежащих разным ветвям) и согласованность параметров (восходящее проектирование). В процессе согласования может возникать потребность в новой, корректирующей декомпозиции.
Методы декомпозиции и последовательных приближений очень распространены, причем часто те, кто применяет их, даже не воспринимают их как методы. Очень эффективным является совместное использование этих методов.
- Тема 1 Основные понятия и определения
- Тема 3 Проектирование программных продуктов.
- Основные группы методов
- Эвристические методы
- Метод итераций (последовательного приближения)
- Метод декомпозиции
- Метод контрольных вопросов
- Тема 4 Структура и формат, статические и динамические данные.
- Тема 5 Стандартизация программных продуктов
- Стандартизация программных продуктов
- Система качества пп
- Тема 6 Модульное программирование
- Тема 6 Модульное программирование
- 2. Минимизации количества передаваемых параметров
- Тема 7 Эффективность и оптимизация программ
- 1. Эффективность и технологичность. Способы экономии памяти. Способы уменьшения времени выполнения
- 2. Правила оптимизации программ
- Жертвуем памятью ради скорости
- Жертвуем скоростью ради памяти
- Логические правила
- Составление процедур
- Составление выражений
- Тема 8 Требования и спецификация качества к программных продуктов
- Тема 9 Защита программ
- Тема 10 Инструментальные средства разработки программ
- Тема 11 Коллективная разработка программных средств
- 1.1 Структура управления разработкой программных средств.
- Тема 12 Объектный подход к разработке программных продуктов
- Тема 13 Факторы надежности программных продуктов
- Тема 14 Структурное программирование программных продуктов
- Тема 15 Объектно-ориентированное программирование (ооп)
- Тема 15 Объектно-ориентированное программирование (ооп)
- Тема 16 Стиль программирования
- Тема 16 Стиль программирования
- Тема 17 Отладка, тестирование, сопровождение программ
- 2.Тестирование «белым ящиков»
- 6.Виды сопровождения и отладок пп.
- Тема 18 Экономические аспекты создания и использования программных средств
- Тема 20 Пакеты прикладных программ
- Тема 21 Язык программирования Турбо-Пролог
- Язык Пролог
- Тема 22 Списки и структуры в Прологе.
- Списки в Прологе
- Тема 23 Работа с файлами и динамическими базами данных в Прологе
- Работа с файлами
- Работа с файлами
- 3.6.3. Динамические базы данных