Проектирование архитектуры
Архитектура программного обеспечения – это представление, которое даёт информацию о компонентах составляющих систему, о взаимосвязях между этими компонентами и правилах, регламентирующих эти взаимосвязи.
Архитектура показывает, как система выглядит «со стороны». Требуется только для больших проектов. Примеры: автономная программа (вырожденная архитектура), комплекс параллельно выполняющихся программ, слоистая (вертикальное взаимодействие) и т.д.
Проектирование модульной структуры.
Модуль
Под модулем понимают любой фрагмент программы обладающей внутренней целостностью и одной или несколькими известными точками входа. Как правило, под модулем понимают:
В структурном программировании:
– одна функция;
– набор функций, объединённых общими данными и/или назначением и собранные (как правило) в один файл;
В объектно-ориентированном программировании:
– класс;
– метод класса;
– несколько классов, объединённых общими данными и/или назначением и собранные (как правило) в один файл;
Хороший модуль снаружи проще, чем внутри. Хороший модуль проще использовать, чем построить.
Свойства.
1. Прочность – мера внутренних связей. Исторически сложились различные уровни прочности:
- по совпадению – между его элементами нет осмысленных связей, может возникать при «модулизации» программы;
- по логике – содержит набор независимо вызываемых связанных функций;
- по классу – последовательное выполнение набора несвязанных функций (инициализация, завершение);
- процедурно прочный – выполняет последовательность действий, обусловленную задачей;
- коммуникационно-прочный – процедурная прочность + связи по данным;
- функционально прочный – выполняет одну «элементарную» (с функциональной ТЗ) функцию;
- информационно прочный – выполняет несколько функций (со своими точками входа), работающих на единой структуре данных).
Для функции или метода рекомендуется функциональная прочность, для класса – информационная.
2. Сцепление – мера связи по данным.
- по содержимому – один модуль ссылается на данные другого;
- по общей памяти – ссылаются на единую структуру данных;
- по внешним данным – совместно используют глобальные простые типы данных;
- по управлению – один модуль запускает фрагменты другого;
- по формату – передача структуры данных;
- по данным – передача неструктурированных данных.
Другие свойства:
- предсказуемость – независимость от предыстории;
- структура принятия решений – влияние только на подчинённые модули;
Дата добавления: 2015-11-04; просмотров: 616;