Загрузка...

Модульность. Иерархия.


Модульность.
Разделение программы на фрагменты позволяет частично уменьшить ее сложность, однако гораздо более важен тот факт, что разделение программы позволяет улучшить проработку ее частей. Модули выполняют роль физических контейнеров, в которых помещаются определения классов и объектов при логическом проектировании системы. Конечной целью декомпозиции проги на модули является снижение затрат на программирование за счет независимой проработки и тестирования. Приведем приемы эффективной декомпозиции:
1) Структура модуля должна быть достаточно простой для восприятия;
2) Реализация каждого модуля не должна зависеть от реализации другого модуля;
3) Должны быть приняты меры для обеспечения процесса внесения измнений там, где они наиболее вероятны;
4) Перекомпиляция тела модуля не трудоемка, интерфейсной части наоборот. Поэтому следует стремится к тому, чтобы интерфейсная часть была возможно более узкой в пределах обеспечения необходимых связей.
Модульность – свойство системы, связанное с возможностью декомпозиции ее на ряд тесносвязанных модулей.
Принципы абстракции, ограничения доступа и модульность создают барьеры между абстракциями. Вычленение классов и объектов в проекте, а также ограничение модульной структуры – существенно независимые решения Процесс выделения классов и объектов составляет часть процесса логического проектирования системы, а деления на модули – этап физического проектирования.

Иерархия.
При большом числе абстракций необходимо использовать механизм помогающий упростить проектирование сложных систем, такой механизм – Иерархия.
Иерархия – это рангжированая или упорядоченная с-ма абстракций.
Основными видами иерархических структур применительных к сложным с-мам являются:
— структура класса (типовая иерархия или иерархия по составу);
— структура объектов (структурная иерархия).

Загрузка...