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

StackOverflow https://stackoverflow.com/questions/694234

  •  22-08-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

Но это скорее мое ощущение, поэтому меня интересуют другие ответы...

Другие советы

Видеть архитектура и дизайн.

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

--

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

--

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

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

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

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

мое мнение по этому поводу..

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

  • Архитектура Это реальность того, как структурирована ваша кодовая база.Если ваш код не структурирован, вы не можете утверждать, что есть архитектура.

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

Хотя это не формально определенные слова ;)

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top