|
|
|
|
Функциональная декомпозиция
При обращении к проблеме на стадии проектирования первым альтернативным выбором должна быть функциональная декомпозиция, т.е. разбиение проблемы на
более узкие, вполне поддающиеся управлению функциональные единицы, где каждая единица выполняет завершенную, легко идентифицируемую задачу. Имеется
множество путей определения содержания задачи. Вот лишь некоторые примеры подобных единиц, которые выполняют определенные функции: получение
квадратного корня некоторого числа; выполнение всех операций относительно указанного устройства таких, как операции в/в диска, операции в/в клавиатуры;
выполняющие общую группу действий в указанное время такие, как инициализация областей данных; и единицы, которые взаимодействуют последовательно или
используют общие элементы данных такие, как считывание данных с клавиатуры и преобразование их в целые значения.
В настоящее время в области программирования на языках высокого уровня чаще всего принимаются такие решения, которые представляют собой наилучший
способ по использованию сегментации программ. При программировании на языке Ассемблер обычно нельзя быть столь последовательным. Каждый из ранее
приведенных способов подводит, по крайней мере, к начальной точке для разбиения проблемы. Часто обнаруживается, что некоторые модули связываются с
помощью одного набора критериев, а другие модули - с помощью другого. Пока каждый модуль включает легко понимаемые программные секции (обычно две
страницы или меньше), Вы находитесь на правильном пути.
|
|