АНАЛИЗ АРХИТЕКТУРЫ
В результате анализа архитектурно-экономического цикла мы подошли к этапу, на котором в распоряжении архитектора имеется спроектированная и документированная архитектура. Логически это подводит нас к проблеме оценки и анализа архитектуры — тех действий, по результатам которых принимается решение об адекватности или неадекватности выработанного решения поставленной задаче. Именно об этом пойдет речь в третьей части книги, предварить которую, по нашему мнению, следует ответами на ряд вопросов об архитектурной оценке: зачем нужно ее проводить, когда это необходимо делать, каковы связанные с ней затраты (стоимость) и выгоды, следует ли ее планировать, какие требуются предварительные условия и что должны собой представлять ее результаты.
Зачем?
У любой архитектуры есть одно замечательное качество — она содержит сведения о наиважнейших свойствах системы, даже если эта система еще не существует. Принимая проектные решения, архитекторы отталкиваются от известных и предсказуемых нисходящих последствий, проявляющихся в ходе конструирования систем(ы). Без этого толку от процесса создания архитектуры было бы не больше, чем от кидания костей. Мы бы выбирали произвольную архитектуру, строили на ее основе систему, проверяли, реализовались ли в ней требуемые свойства, и, не встретив таковых, возвращались к началу. Готовых рецептов по проектированию архитектуры никто еще не придумал, но в том, что методология продвинулась гораздо дальше примитивного угадывания, можно не сомневаться. В общем и целом, архитекторы представляют себе последствия принимаемых решений. На материале главы 5 мы можем сделать вывод о том, что архитектурные тактики и образцы наделяют системы известными свойствами. Следовательно, проектные альтернативы — другими словами, варианты архитектуры — поддаются анализу. Располагая архитектурой, можно делать выводы о системе - даже если до ее создания дело еще не дошло. Так зачем же архитектуру нужно оценивать? Во-первых, от нее слишком многое зависит, а во-вторых, ничто не мешает вам это сделать. Эффективная методика оценки предполагаемой архитектуры, позволяющая сделать определенныениe выводы до того, как эта архитектура будет утверждена в рамках детального плана проекта, представляет значительную ценность с экономической точки зрения. С появлением повторяемых, структурированных методов (таких, как, например, АТАМ. рассматриваемый в главе 11) оценка архитектуры превратилась в относительно недорогой механизм смягчения рисков. В конце концов, убедиться в том, что архитектура соответствует поставленным задачам, требует здравый смысл. Итак, оценка архитектуры должна стать стандартным компонентом любой методики архитектурно-ориентированной разработки. Когда?
Оценивать качество программного продукта разумно на самых ранних стадиях его жизненного цикла. Чем раньше обнаруживается проблема, тем легче ее устранить — для этого достаточно лишь внести соответствующие изменения в требование, спецификацию или проект. Приступать к обеспечению качества на поздних стадиях работы над проектом недопустимо — качество должно быть присуще проекту с момента его появления. Оценивать предполагаемые решения (и при необходимости отклонять их) следует еще на этане проектирования, до перехода к долгосрочной институционализации. С другой стороны, оценку архитектуры можно проводить многократно — на разных этапах жизненного цикла системы. Если архитектура находится в зачаточном состоянии, принятые решения следует оценивать наравне с теми, которые еще только обсуждаются. Выбирайте из множества архитектурных альтернатив наиболее подходящие варианты. Если архитектура готова или близка к состоянию готовности, проверьте ее, не дожидаясь, пока проект перейдет в стадию длительной и дорогостоящей разработки. Оценка будет весьма уместной, если вам придется иметь дело с существующей системой, представленной к модификации, переносу, интеграции с другими системами и любым прочим значимым мероприятиям по модернизации. Наконец, оценка архитектуры очень информативна: довольно часто при разработке новых проектов требуется разобраться в том, каким образом унаследованная система удовлетворяет (и удовлетворяет ли?) предъявленные к ней требования по атрибутам качества. Более того, принимая решение о приобретении крупной программной системы с предположительно длительным сроком службы, компания-покупатель обязательно должна разобраться в ее архитектуре. В результате ее оценки становится понятно, насколько система пригодна с точки зрения реализации ею важнейших атрибутов качества. Наконец, оценка помогает выбрать один из двух вариантов архитектуры — тот, что в наибольшей степени соответствует критериям «добротности».
|