Полная версия

Главная arrow Информатика arrow Архитектура и проектирование программных систем

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Отношения между структурами

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

Все перечисленные структуры предполагают различные представления и подходы к проектированию программной системы. Элементы одной структуры связаны с элементами прочих, и на эти отношения следует обратить внимание. В частности, модуль в структуре декомпозиции может декларироваться как отдельный компонент, как часть отдельного компонента или несколько компонентов в рамках одной из структур «компонент и соединитель», отражая, таким образом, своего представителя периода прогона.

В то же время каждая рассмотренная структура снабжает архитектора оригинальным представлением системы и дополнительной базовой точкой проектирования. Заметим, что современные CASE-средства проектирования архитектуры программных систем, например Rational Software Architect, реализуют именно подобный подход при разработке программных систем, позволяя представлять архитектуру системы множеством взаимосвязанных моделей [4].

Иногда в рамках отдельных проектов одна структура считается основной, а остальные структуры, если это возможно и нужно, определяются в ее категориях. Часто, хотя и не всегда, в качестве доминантной структуры выступает декомпозиция модулей. Объясняется это вполне разумно: декомпозиция модулей порождает структуру проекта.

Структуры - это основные базовые точки конструирования архитектуры. Отдельные структуры отвечают за те или иные атрибуты качества. Они выражают принцип разделения задач при создании архитектуры, а также при ее последующем анализе и изложении для заинтересованных лиц. Например, если разработчик программного обеспечения желает внести в клиент-серверную структуру системы какие-либо изменения, он должен учитывать представления процессов и размещения. Дело в том, что клиент-серверные механизмы, как правило, задействуют процессы и потоки, а физическое распределение реализует различные механизмы управления, которые оказываются необходимыми в случае локализации процессов на одной машине. При необходимости изменения механизмов управления оценить степень их корректировки помогают представление декомпозиции модулей и многоуровневое представление.

 
<<   СОДЕРЖАНИЕ   >>