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

У программной архитектуры есть этические аспекты

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

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

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

Читать »

Проектируйте только то, что можете запрограммировать

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

Майк Браун

Архитекторов часто подстерегает искушение создать изощренные абстракции и дизайн для элегантного решения текущей задачи. Еще более соблазнительно выглядит включение в проект новых технологий. Но в конечном итоге кому-то придется реализовывать ваши идеи, и архитектурная акробатика, на которую вы обрекаете разработчиков, отразится на ходе проекта.

Читать »

Делитесь знаниями и опытом

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

Пол У. Хомер

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

Читать »

Освойте новый язык

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

Беркхардт Хафнагель

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

Читать »

Приготовьтесь выбрать два из трех

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

Билл де Ора

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

Читать »

Лучшие программы не строят – их выращивают

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

Билл де Ора

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

Читать »

Не забывайте о производительности

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

Крейг Рассел

Представьте себе автомобиль – просторный, удобный, экономичный, недорогой и утилизируемый на 98%. Хотите такой? Конечно. Кто угодно захочет. Ах, да, единственная проблема: его максимальная скорость составляет 10 км/ч. Не передумали? Этот маленький пример наглядно показывает, что производительность так же важна, как и любой другой критерий.

Читать »

Выбирайте инфраструктуры, хорошо сочетающиеся с другими

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

Эрик Готорн

При выборе программных инфраструктур, которые будут положены в основу вашей системы, необходимо учитывать не только качество и возможности каждой инфраструктуры (framework), но и то, как они будут взаимодействовать друг с другом и насколько легко будет адаптировать их к новым программным элементам, которые вам, возможно, придется добавить в ходе эволюции системы. Из этого следует, что выбранные инфраструктуры должны быть неперекрывающимися, простыми, компактными и специализированными.

Читать »

Снижайте неотъемлемую сложность, устраняйте второстепенную сложность

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

Нил Форд

Неотъемлемая сложность (essential complexity) представляет собой проблему, изначально присущую любой задаче. Например, задача координации воздушного движения в национальном масштабе является сложной сама по себе. Управляющая система должна отслеживать в реальном времени точное местоположение каждого самолета (включая высоту), его скорость, направление и место назначения, чтобы предотвратить столкновения в воздухе и на посадочных полосах. Необходимо также оперативно управлять расписаниями полетов, чтобы избежать заторов в аэропортах в постоянно меняющихся условиях – при резком изменении погоды все расписание приходится пересматривать.

Читать »

Расплатитесь по техническим кредитам

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

Бернхардт Хафнагель

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

Читать »

Используйте количественные критерии

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

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

«Быстрый» не может быть требованием. Как и «обладающий хорошим временем отклика». Или, скажем, «расширяемый». Главная причина заключается в отсутствии объективных критериев выполнения таких требований. Но пользователям эти характеристики все равно нужны. Задача архитектора – позаботиться о том, чтобы система обладала необходимыми качествами, а также сбалансировать неизбежные противоречия, возникающие между ними. Без объективных критериев архитектор зависит от капризов заказчика («Нет, я не могу принять программу – она работает недостаточно быстро») и разработчиков, одержимых навязчивыми идеями («Нет, программа еще не готова – она работает недостаточно быстро»).

Читать »

Боритесь с повторениями

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

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

Приходится ли вашим разработчикам выполнять однообразные задания, над которыми почти не нужно думать? Попадаются ли в коде почти одинаковые фрагменты? Замечаете ли вы код, написанный методом «скопировать- вставить-изменить»? Если ответы положительные, то ваша команда работает медленнее, чем могла бы, и, как ни странно, причиной тому можете быть именно вы.

Читать »

В основе всего – данные

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

Пол У. Хомер

Мы, разработчики, изначально воспринимаем программное обеспечение как систему команд, функцийиалгоритмов. Такое «командно-ориентированное» представление помогает нам освоить построение ПО, но оно же начинает мешать, когда мы пытаемся создавать более масштабные системы.

Читать »

Решений на все случаи жизни не существует

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

щ

Рэнди Стаффорд

Архитектор должен непрерывно развивать и совершенствовать свое «контекстное чутье», поскольку единственного универсального решения для широкого круга разнородных проблем не существует.

Читать »

Производительность приложения определяется его архитектурой

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

Рэнди Стаффорд

. На первый взгляд кажется, что это утверждение должно быть очевидным, но опыт реальной работы показывает обратное. Например, архитекторы программного обеспечения нередко полагают, что проблемы с производительностью приложения можно решить простым переходом на программную инфраструктуру от другого производителя. Источником этой веры может быть рекламная шумиха вокруг результатов тестирования – например, заявляется, что продукт фирмы-лидера на 25% превосходит по производительности ближайшего конкурента. Однако если продукт-лидер выполняет операцию за 3 миллисекунды, а конкурирующий продукт – за 4 миллисекунды, заявленные 25% (одна миллисекунда) значат очень мало на фоне общей низкой производительности, уходящей корнями в неэффективность архитектуры.

Читать »