78
Вы ом уровне абстракции.
Именн ь,
перено
исполь дельных
компон
заданн еализовать, использовав совершенно различные
архите
Поэ о
нефунк
сопров вать
возмож
бирать
компро , дающие приемлемые значения по всем показателям.
Так
архите число компонентов (в пределе — единственный
компонент , поскольку каждый компонент обычно
имеет свои
возмож с
рамках
С друго вышения удобства сопровождения, наоборот, лучше разбить систему
на боль решал свою
неболь ю
требов
или трех за решение этих
подзад
С тр ь
простых компонентов, либо дублирование функций, т.е. сделать несколько компонентов
ответст
носят несл го обеспечения, где ошибки
связаны ут быть преодолены
просты дублированием компонентов без изменения их внутренней реализации. Поэтому при
тличающиеся способы
реш
удобства
исп Чем сильнее защищена система, тем больше проверок, процедур
иде и
работа
разумный
ощути
отпугнуть
Список й
составл
•
E
• E
ания архитектуры программных систем).
Это лагающих принципов
другом и
меж
сис
кции, делает акцент не на наборе
бор архитектуры задает способ реализации требований на высок
о архитектура почти полностью определяет такие характеристики ПО как надежност
симость и удобство сопровождения. Она также значительно влияет на удобство
зования и эффективность ПО, которые, однако, сильно зависят и от реализации от
ентов. Значительно меньше влияние архитектуры на функциональность — обычно
ую функциональность можно р
ктуры.
тому выбор между той или иной архитектурой определяется в большей степени именн
циональными требованиями и необходимыми свойствами ПО с точки зрения удобства
ождения и переносимости. При этом для построения хорошей архитектуры надо учиты
ные противоречия между требованиями к различным характеристикам и уметь вы
миссные решения
, для повышения эффективности в общем случае выгоднее использовать монолитные
ктуры, в которых выделено небольшое
). Этим обеспечивается экономия как памяти
данные, а здесь число компонентов минимально, так и времени работы
, поскольку
но ть оптимизировать работу алгоритмов обработки данных имеется также только в
одного компонента.
й стороны, для по
шое число отдельных маленьких компонентов, с тем чтобы каждый из них
шу , но четко определенную часть общей задачи. При этом, если возникают изменения
в
аниях или проекте, их обычно можно свести к изменению в постановке одной, реже двух
аких подзадач и, соответственн
т о, изменять только отвечающие
ач компоненты.
ет ей стороны, для повышения надежности лучше использовать либо небольшой набор
венными за решение одной подзадачи. Заметим, однако, что ошибки в ПО чаще всего
учайный характер. Они повторяемы, в отличие от аппаратно
часто со случайными изменениями характеристик среды и мог
м
таком обеспечении надежности надо использовать
достаточно сильно о
ения одной и той же задачи в разных компонентах.
Другим примером противоречивых требований служат характеристики
ользования и защищенности.
нт
фикации и пр. нужно проходить пользователям. Соответственно, тем менее удобна для них
с такой системой. При разработке реальных
систем приходится искать некоторый
компромисс, чтобы сделать систему
достаточно защищенной и способной поставить
мую преграду для несанкционированного доступа к ее данным и, в то же время, не
пользователей сложностью работы с ней.
стандартов, регламентирующих описание архитектуры, которое является основно
щей проектной документации на ПО, выглядит так.
яю
IE E 1016-1998 Recommended Practice for Software Design Descriptions [2]
комендуемые методы описаний проектных решений для ПО(ре ).
IE E 1471-2000 Recommended Practice for Architectural Description of Software-Intensive
Systems [3] (рекомендуемые методы опис
Основное содержание этого стандарта св
одится к определению набора понятий, связанных
с архитектурой программной системы.
, прежде всего, само понятие архитектуры как набора основопо
организации системы, воплощенных в наборе ее компонентов, связях их друг
с
ду ними и окружением системы, а также принципов проектирования и развития
темы.
Это определение, в отличие от данного в начале этой ле