Главная » Архитектура ПО

Архитектор Янус

Добавлено Дата: 1 April, 2012 категория: Архитектура ПО

Дэвид Бартлетт

У древних римлян Янус считался богом начала и завершения, дверей и проходов. Обычно его изображали с двумя головами, направленными в разные стороны; этот символ часто встречается на монетах и в кино. Янус символизирует переходы и изменения в жизни – рождение, вступление в брак, достижение зрелости – от прошлого к будущему, от юности к старости.

Читать »

Программы на самом деле не существуют

Добавлено Дата: 1 April, 2012 категория: Архитектура ПО

ЧедЛавинь

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

Читать »

Начните с ходячего скелета

Добавлено Дата: 1 April, 2012 категория: Архитектура ПО

Клинт Шенк

Чрезвычайно полезная стратегия реализации, проверки и совершенствования архитектуры приложения – начать с того, что Алистер Коберн (Alistair Cockburn) называет ходячим скелетом. Речь идет о минимальной реализации системы «от начала до конца», связывающей воедино все основные архитектурные компоненты. Начав с минимума – с рабочей системы, содержащей все коммуникационные каналы, – вы можете быть уверены в том, что движетесь в правильном направлении.

Читать »

Простое должно быть простым

Добавлено Дата: 1 April, 2012 категория: Архитектура ПО

Чед Лавинь

Архитекторы программного обеспечения решают множество очень сложных задач, но наряду с ними встречаются и относительно простые. А вот чего мы стремимся избежать, так это решения простых задач сложными методами. Каким бы очевидным ни казался этот совет, следовать ему порой нелегко. Проектировщики программного обеспечения – умные, очень умные люди. Однако весьма легко попасть в ловушку «простая задача – сложное решение», потому что все мы любим демонстрировать свои знания. Если вы почувствовали, что проектируете решение настолько умное, что оно со временем, того и гляди, проявит искру самосознания, остановитесь и подумайте. Соответствует ли такое решение поставленной задаче? При отрицательном ответе рассмотрите заново варианты дизайна системы. . У вас будет масса возможностей продемонстрировать свой талант, когда вы столкнетесь со сложными задачами, а это непременно случится.

Читать »

Сбои неизбежны

Добавлено Дата: 30 March, 2012 категория: Архитектура ПО

Майкл Найгард

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

Читать »

Принципы, аксиомы и аналогии важнее личных мнений и предпочтений

Добавлено Дата: 29 March, 2012 категория: Архитектура ПО

Майкл Хармер

При создании архитектуры системы следует руководствоваться явно сформулированными принципами, аксиомами и аналогиями. Это дает ряд преимуществ, недоступных в том случае, если вы всецело полагаетесь на личный опыт, мнения и вкусы.

Читать »

Не создавайте решения «на перспективу»

Добавлено Дата: 26 March, 2012 категория: Архитектура ПО

Ричард Монсон-Хейфел

Сегодняшнее решение становится завтрашней проблемой

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

Читать »

Управляйте не только кодом, но и данными

Добавлено Дата: 26 March, 2012 категория: Архитектура ПО

Чед Лавин ь

Управление исходным кодом и непрерывная интеграция – замечательные инструменты для управления процессами сборки и развертывания приложений. Однако изменения в схеме и в данных часто являются существенной частью этого процесса наравне с изменениями в исходном коде и требуют аналогичного управления. Если ваш процесс сборки и развертывания системы содержит список сложных операций, необходимых для обновления данных, берегитесь. Подобные списки всегда являются тревожным знаком. Выглядят они примерно так:

Читать »

Хороший контент порождает хорошие системы

Добавлено Дата: 26 March, 2012 категория: Архитектура ПО

Зубин Вадья

Я видел великое множество инициатив, в которых внимание было сосредоточено на требованиях, дизайне, разработке, безопасности, сопровождении, но только не на сущности системы – данных. Такая ситуация особенно часто встречается в контентных системах (content-based systems), где данные – это информация, доставляемая потребителю в виде неструктурированного или слабо структурированного контента. Именно качество контента часто отличает актуальную систему от бесполезной.

Читать »

Сделать наспех и сбежать – преступление

Добавлено Дата: 26 March, 2012 категория: Архитектура ПО

Никлас Нильссон

Время близится квечеру. Команда дружно корпит над новой функциональностью, запланированной для текущей итерации; кажется, даже воздух в комнате пульсирует в рабочем ритме. Однако Джон немного спешит: его ждет свидание. Впрочем, он успевает дописать свою часть кода, компилирует ее, регистрирует в системе управления исходным кодом – и поспешно уходит. Несколько минут спустя загорается «красный свет»: сборка приложения нарушена. У Джона не было времени на автоматизированные тесты, поэтому он поступил по принципу «сделать наспех и сбежать», из-за чего застопорилась работа всей команды.

Читать »

Выбирайте оружие тщательно и не спешите его менять

Добавлено Дата: 25 March, 2012 категория: Архитектура ПО

Чед Лавин ь

Любой архитектор, будучи закаленным ветераном проектирования и реализации, обладает целым арсеналом «оружия», которое он раз за разом успешно применяет в своей работе. По тем или иным причинам эти технологии завоевали наше расположение и сумели подняться на первые позиции в нашем личном списке предпочтений. Скорее всего, они заслужили свое место в арсенале, победив в ходе ожесточенной конкуренции. Однако, несмотря на это, их положению постоянно угрожают многочисленные новые технологии. У нас часто возникает соблазн отложить свое испытанное оружие, чтобы опробовать новые альтернативы… но не стоит торопиться. Отказываться от проверенных инструментов в пользу других технологий, которые еще не прошли аналогичной проверки, – дело весьма рискованное.

Читать »

Ваша система станет унаследованной – учитывайте это при проектировании

Добавлено Дата: 25 March, 2012 категория: Архитектура ПО

Дейв Андерсон

Даже если вы создаете сверхсовременную систему на базе новейших технологий, для вашего преемника она станет унаследованной (legacy). С этим ничего не поделаешь! Современному программному обеспечению свойственно быстро устаревать. Если вы ожидаете, что ваша система будет запущена в реальную эксплуатацию и просуществует хотя бы несколько месяцев, смиритесь с тем, что сопровождающим ее разработчикам придется вносить в нее исправления. Отсюда вытекает ряд требований к системе:

Читать »

Ваш клиент – не ваш клиент

Добавлено Дата: 25 March, 2012 категория: Архитектура ПО

Эбен Хьюит

Принимая участие во встречах по сбору требований в ходе проектирования программных продуктов, представьте себе, что вашим клиентом является не ваш клиент. На самом деле это совсем несложно, потому что это правда.

Читать »

Все будет не так, как задумано

Добавлено Дата: 24 March, 2012 категория: Архитектура ПО

Питер Гиллард-Мосс

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

Читать »

Стройте zuhanden-сисгемы

Добавлено Дата: 23 March, 2012 категория: Архитектура ПО

Кейт Брайтуэйт

Мы создаем инструменты. Создаваемые нами системы служат единственной цели (не считая того, что нам за них платят) – помогать кому-то (обычно кому-то другому) что-либо делать.

Читать »