- •Тема 4. Основные методы программирования
- •Архитектура по
- •Принцип декомпозиции по.
- •Алгоритмическое (или линейное) программирование
- •Для алгоритмического описания способа решения задачи в виде конечной (по времени) последовательности действий характерны:
- •Методика нисходящего (структурного) программирования
- •Процедуры и функции
- •Функции
- •Тенденции в истории развития языков программирования.
- •Объектно-ориентированное программирование
Принцип декомпозиции по.
В анализе как методе научного познания, основанного на рассмотрении отдельных сторон, свойств и составных частей объекта, при исследовании систем различают два аспекта [40]. Один из них предусматривает определение (оценку) эффективности функционирования системы при заданных структуре и параметрах, а другой выявление структуры системы и принципов их функционирования.
При разработке программного обеспечения речь идет обычно о моделировании реальных процессов в различных предметных областях, которые реализуются в конкретных системах. Поэтому в первую очередь для создания модели системы необходимо разобраться с ее структурой и принципами работы. Таким образом, основными задачами анализа сложных систем в интересах данного аспекта являются:
выделение системы из среды и определение целей ее функционирования;
декомпозиция целей до уровня требований к свойствам системы;
декомпозиция самой системы на элементы (подсистемы);
определение существенности их взаимосвязей и связей со средой;
определение состава и функций элементов системы.
Именно принцип декомпозиции системного подхода (как уже отмечалось в требованиях к технологиям проектирования ПО) позволяет обеспечить возможность выполнения крупных проектов в виде подсистем (т.е. составных частей, разрабатываемых группами исполнителей ограниченной численности с последующей интеграцией этих составных частей).
В зависимости же от того, каким образом реализуется этот принцип при разработке ПО на сегодняшний день известны:
алгоритмическое (или линейное) программирование;
структурное программирование;
объектно-ориентированное программирование.
Алгоритмическое (или линейное) программирование
Как уже отмечалось в теме 1, алгоритм — это формальное описание способа решения задачи путем разбиения ее на конечную по времени последовательность действий (элементарных операций). Под словом «формальное» подразумевается, что описание должно быть абсолютно полным и учитывать все возможные ситуации, которые могут встретиться по ходу решения. Под элементарной операцией понимается действие, которое по заранее определенным критериям (например, очевидности) не имеет смысла детализировать.
В связи с этим основная идея самого простого варианта программирования алгоритмического (линейного) — разбиение (декомпозиция) программы на последовательность фрагментов, каждый из которых выполняет одно или несколько действий. Линейность алгоритма и программы состоит в данном случае в характерном требовании к фрагменту — чтобы его выполнение всегда начиналось с первой команды и всегда заканчивалось на самой последней, то есть, чтобы нельзя было попасть на команды фрагмента извне и передать управление из фрагмента на другие команды в обход заключительной.
Алгоритм программы на выбранном языке записывается с помощью команд описания данных, вычисления значений и управления последовательностью выполнения программы. При этом предполагается, что текст программы представляет собой линейную последовательность операторов присваивания, цикла и условных операторов.