В чем разница между дизайном и архитектурой?

Эти два термина очень разбросаны. Чем они отличаются?

Есть ли какой-нибудь реальный пример или сценарий, который может развить эту разницу?

Ответ 1

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

Таким образом, дизайн определяет, как выбранная архитектура применяется к данным требованиям. (или что-то вроде этого)

Но это больше мое чувство, поэтому меня интересуют другие ответы...

Ответ 2

См. architecture и design.

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

-

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

-

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

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

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

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

Ответ 3

я беру на себя это.

  • Дизайн - это процесс планирования как вы собираетесь структурировать свои Программное обеспечение

  • Архитектура - это реальность того, как структурирована ваша база кода. Если ваш код не структурирован вами не могут претендовать на архитектура.

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

Это не формально определенные слова, хотя;)

Ответ 4

Подумайте об этом так: для строительства дома вы получите проект архитектора (архитектора). Затем конструктор использует этот проект и принимает решение (Дизайнер) о том, сколько столбцов требуется, какого типа цемента и кирпича использовать, какой тип окраски нужно делать и т.д. Это дизайнерское решение. Затем работник принимает заказ от строителя и строит дом (Coder).

Ответ 5

Архитектуры разработаны. Но не наоборот. "Архитектура" обычно используется для идентификации и обозначения дизайна большой (многоуровневой) системы. Система по определению является совместной работой нескольких компонентов или подсистем. Его можно назвать "системным дизайном" или "дизайном", но архитектура по той или иной причине придает ему более весомый вес, поскольку он стремится отличаться от дизайна своих подсистем или компонентов.

Ответ 6

Архитектура означает концептуальную структуру и логическую организацию компьютерной или компьютерной системы.

Дизайн означает план или чертеж, созданный для отображения внешнего вида и функции или работы системы или объекта до его создания.

Если вы "архивируете" компонент, вы определяете, как он ведет себя в более крупной системе. Если вы "проектируете" один и тот же компонент, вы определяете, как он себя ведет.

Вся архитектура - это дизайн, но не весь дизайн - это архитектура.

How part - это дизайн и пересечение What и How - это архитектура Image for differentiating Architecture and Design

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

Ссылка, которая дает хорошую аналогию

Ответ 7

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

Ответ 8

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