К читателю
Целевая аудитория Материал, изложенный и настоящей книге, должен представлять интерес для специалистов и области разработки программного обеспечения, а также для студентов, обладающих определенными познаниями и опытом в сфере программной инженерии. Но нашему мнению, аудитория этого издания делится на три категории: ♦ практикующие разработчики программного обеспечения, желающие освоить техническую базу архитектуры программных систем и разобраться в коммерческих и организационных факторах, влияющих на ее конкретные очертания; ♦ технические руководители, желающие понять, каким образом с помощью программной архитектуры можно повысить эффективность контроля кал конструированием систем и качество их организации; ♦ студенты первых и вторых курсов отделений компьютерных наук и программной инженерии, для которых данная книга может выступить в качестве дополнительного руководства. Части и главы Материал настоящего издания подразделяется на четыре части, которые в общих чертах соответствуют жизненному циклу продукта, или, как мы его называем. архитектурно-экономическому циклу (Architecture Business Cycle, ABC) существования архитектуры в коммерческом контексте: ♦ планирование архитектуры (главы 1-3); ♦ создание архитектуры (главы 4-10); ♦ анализ архитектуры (главы 11-13); ♦ переход or одной системы к множеству (главы 14-19). Конкретные примеры приводятся в главах 3, б, 8, 13. 15, 16 и 17 и четко обозначаются в их названиях. Рассмотрим содержание частей и глав несколько подробнее. Часть 1. Планирование архитектуры Глава 1. Архитектурно-экономический цикл. Основная мысль, которую мы продвигаем на протяжении всей книги, заключается в том, что все варианты ар-хитектуры, не являясь самоценными, существуют в рамках цикла. Любая архи-тектура — это лишь средство достижения поставленной цели. Ее свойства опре-деляются функциональными задачами, а также задачами качества как заказчика, так и компании-разработчика. Среди прочих факторов влияния следует отметить уровень подготовки и опыт архитектора, а также доступные технические средства. Архитектура, в свою очередь, оказывает воздействие на разрабатываемую систему, а в качестве одного из основных активов способна даже определить дальнейшее развитие компании-разработчика. Фактором влияния на компанию, архитектуру и (возможно) техническую базу является сама система. При этом вырабатываются перспективные задачи самой системы и компании-разработчика в целом. Из всех этих влияний, а также из сопутствующих архитектуре цепей обратной связи образуется архитектурно-экономический цикл. Глава 2. Что такое программная архитектура? Архитектура представляет собой описание всех структур системы (а именно: структуры декомпозиции на модули, структуры процессов, структуры размещения и уровневой структуры). Архитектура — это первый артефакт, который можно проанализировать на предмет адекватности обеспечения качественных свойств системы; она же выступает в качестве детального плана проекта. Архитектура — это одновременно и средство коммуникации, и изложение первоначальных проектных решений, и абстракция, предполагающая возможность многократного применения и экстраполяции на последующие системы. Именно это мы имеем в виду, рассуждая об «архитектуре». Глава 3. Авиационная система А-7Е: конкретный пример применения архитектурных структур. В процессе создания авиационной электронной системы А-7Е особое внимание уделялось конструированию и специфицированию трех четко выраженных архитектурных структур; тем самым предполагалось упростить разработку и обеспечить модифицируемость. В главе 3 мы объясняем, как (и зачем) эти структуры проектировались и документировались.
|