КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Системы можно конструировать на основе крупных элементов, созданных сторонними разработчиками
Линейки программных продуктов строятся на основе общей архитектуры Линейкой, или семейством, программных продуктов называется ряд преимущественно программных систем, для которых характерен общий, управляемый набор характеристик, реализующих потребности конкретного сегмента рынка или конкретные задачи и разработанных в установленном порядке на основе общего набора основных активов. Главным из этих активов является архитектура, спроектированная в расчете на удовлетворение потребностей всего семейства. Архитектор линейки продуктов старается выбрать для нее такую архитектуру (или семейство близкородственных вариантов архитектуры), которая сможет обслуживать всех ее возможных участников; при этом те проектные решения, которые касаются линейки продуктов в целом, принимаются сначала, а те, которые затрагивают только отдельных ее членов, — впоследствии. Архитектура определяет постоянные и переменные элементы линейки продуктов. Линейки программных продуктов — мощное средство мультисистемной разработки — на порядки улучшают такие характеристики, как срок выхода на рынок, стоимость, продуктивность и качество. Значимость архитектуры определяется самой сущностью этой парадигмы. Аналогично прочим капиталовложениям, архитектура линейки продуктов становится одним из основных активов компании-разработчика. Анализ линеек программных продуктов приводится в главе 14, а соответствующие конкретные примеры — в главах 15 и 17. Раньше программные парадигмы были ориентированы на программирование (programming) как на основной вид деятельности, а проделанная работа измерялась в строках кода; архитектурно-ориентированная разработка во многих случаях направлена на компоновку (composing) и сборку (assembling) элементов, которые, вероятнее всего, разрабатывались отдельно, а может быть, даже независимо друг от друга. Возможность такой композиции появляется по той причине, что архитектура определяет те элементы, которые можно ввести в систему. В то же время она ограничивает проведение замен (или добавлений), исходя при этом из того, как они взаимодействуют со своей средой, как получают и передают управление, какие данные потребляют и производят, как обращаются к данным и при помощи каких протоколов они осуществляют обмен информацией и совместное использование ресурсов. Одним из наиболее важных аспектов архитектуры является организация структуры ее элементов, интерфейсов и рабочих понятий. Взаимозаменяемость (inter-changeability) считается самым важным принципом этой организации. Запущенное в 1793 году Эли Уитни (Eli Whitney) массовое производство мушкетов по принципу взаимозаменяемых частей положило начало эпохе промышленного производства. В отсутствие надежных физических измерений эта идея не внушала доверия. В контексте современного программного обеспечения, пока добиться надежного разграничения абстракций не удалось, принцип структурной взаимозаменяемости кажется не менее устрашающим, однако от этого он не теряет своей важности. Готовые компоненты, подсистемы, совместимые интерфейсы передачи данных — все они основываются на принципе взаимозаменяемости. При этом нерешенными остаются многие проблемы, связанные с разработкой программного обеспечения методом композиции. Когда в качестве компонентов, претендующих на внесение и многократное применение, выступают индивидуальные подсистемы, сконструированные на основе противоречащих друг другу архитектурных допущений, интеграция их функций может столкнуться с непредвиденными сложностями. Вслед за Дэвидом Гарланом (David Garlan) и некоторыми его коллегами эту ситуацию стали называть архитектурным несоответствием (architectural mismatch). Чем меньше, тем больше: ограничивать словарь проектных альтернатив выгодно По мере накопления полезных архитектурных образцов и образцов проектирования становится совершенно очевидно, что, несмотря на более или менее безграничные возможности комбинирования компьютерных программ, добровольное сведение вариантов к относительно небольшому количеству альтернатив в контексте взаимодействия между программами и их сотрудничества может принести определенные выгоды. Таким образом, проектная сложность конструируемой системы сводится к минимуму. Среди преимуществ этого принципа следует упомянуть повышенные возможности многократного применения, более стандартизированные и простые решения, которые легче понять и распространить, углубление анализа, сокращение длительности отбора и совершенствование способности к взаимодействию. Свойства программного проекта определяются выбранным архитектурным образцом. Те образцы, которые в наибольшей степени подходят для решения конкретной задачи, повышают качество реализации конечного проектного решения, а иногда и упрощают балансирование противоречащих проектных ограничений — этот эффект достигается путем углубления анализа плохо изученных проектных контекстов и/или формулирования противоречивости технических требований.
Дата добавления: 2015-04-25; Просмотров: 445; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |