Gaperton on Software Architecture

Mar 10, 2009 20:38


Что такое архитектура ПО, чем она отличается от "дизайна", и что же все-таки является входными данными для разработки архитектуры. Дискуссия на РСДН по данному вопросу была изумительна.

Оказывается, распространено мнение, что мол принципиальных отличий между "архитектурой" и "дизайном" нет. Некоторые идут дальше, и заявляют, что "архитектура" ( Read more... )

проектирование, Архитектура ПО

Leave a comment

Comments 20

thrust_breaker March 10 2009, 19:27:32 UTC
1. Каким образом, не делая дизайн, узнать, что в системе в принципе должен быть некий "компонент"/технология/слой? И как провести границу между ним и другими компонентами/слоями?
2. На форме, которая позволяет подготовить и отправить сложный (или не очень) запрос в БД, вдруг решаем разместить кнопочку Undo. Относится ли это решение к уровню архитектуры?
3. Архитектура команд процессора -- это один из конечных продуктов дизайна или что-то иное? Если что-то иное, то что (философия, набор ограничений, стратегический дизайн и т.п.)?
4. Есть ли архитектура у существующей программы, от которой остался, скажем, только исполняемый бинарь?

Reply


vsavkin March 10 2009, 20:02:18 UTC
И стоило так много букв писать? :)
Имхо, споры о терминологии - самые глупейшие (если только они не ведутся в каком-нибудь комитете по стандартизации).
Термины "архитектура", "дизайн", "детальный дизайн" по своей природе размыты и нечётки, разные люди, или даже те же самые в разных ситуациях будут разный смысл вкладывать в них. Это данность, с этим ничего не поделаешь. Можно пытаться написать трактат на тему что и как правильно стоит называть, но это, имхо, бессмысленно, - врядли получится всех склонить к единому мнению (хотя бы потому, что не все это прочтут). Всё равно придётся каждый раз смотреть на контекст, чтобы понять, о чём идёт речь.

Reply

kmmbvnr March 12 2009, 03:31:42 UTC
Стоит стоит. От размытых терминов мало толку.

Если у вас есть другой вариант _четкой_ декомпозиции терминов, тогда да можно поспорить.

Reply


alekciy March 10 2009, 21:08:42 UTC
А мне запись понравилась. Хотя учитывая, что конкретный пример идет в конце, то начало воспринимается как то размыто...

Reply


kmmbvnr March 12 2009, 03:38:03 UTC
При таком определении терминов, мне теперь интересно, верно ли то что, варьируя дизайн сократить сроки разработки проекта практически невозможно. Изначально другая архитектура это единственный способ получить сокращение в разы?

Reply

gaperton March 12 2009, 23:07:51 UTC
Вряд-ли единственный. Думаю, все согласятся с тем, что для любой задачи можно выйти с настолько кривым дизайном в рамках заданной архитектуры, что сроки затянутся неимоверно. :) А стало быть, дизайн таки на сроки все-таки может сильно влиять.

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

Reply

alekciy May 9 2009, 01:37:15 UTC
Возник такой вопрос. Получается так, что дизайн по отношению к архитектуре первичен. Всегда ли это так? (да и так ли это?)

К примеру веб разработка, какая нибудь CMS. Авторы решили, что СУБД будет использоваться MySQL ("потому что стоит на любом хостинге"). Получается архитектурное решение. Но проектирование системы в плане дизайна производяет уже после выбора СУБД. Вроде как начинают думать над дизайном.

Reply

gaperton May 9 2009, 12:37:41 UTC
"Возник такой вопрос. Получается так, что дизайн по отношению к архитектуре первичен. Всегда ли это так? (да и так ли это ( ... )

Reply


dbg March 12 2009, 09:08:19 UTC
Правильно понимаешь и хорошо формулируешь. Одобряю :)

Reply


Leave a comment

Up