См architecture и design.
Архитектура программного обеспечения системы или программы вычислений является структура или структуры системы, которая содержать программные компоненты, то внешние видимые свойства этих компонентов, и отношения между ними. [...] Архитектура документирования программного обеспечения способствует обмену данными между заинтересованными сторонами, документами на раннем этапе решений о высоком уровне проектирования и позволяет повторно использовать компоненты дизайна и шаблонов между проектами.
-
Разработка программного обеспечения представляет собой процесс решения проблем и планирования раствора программного обеспечения. После того, как цель и спецификации программного обеспечения определены , разработчики программного обеспечения будут разработать или использовать дизайнеров для разработки плана решения. Он включает в себя низкоуровневый компонент и алгоритм вопросы реализации, а также архитектурный вид .
-
Так они разделяют частей друг с другом, но они относятся к немного разные аспекты программного обеспечения. Технически говоря, архитектура должна включать all aspects, но в действительности они обычно относятся к топологии высокого уровня или структуре программного обеспечения. Например, принятие решения о том, следует ли внедрять систему в качестве файлового программного обеспечения командной строки, веб-приложения или богатого интернет-приложения n-tier, было бы архитектурным решением.
Дизайн программного обеспечения включает в себя принятие архитектурных решений, но он будет включать гораздо более глубокие, например, сколько символов address1
должно быть в базе данных, что на самом деле не является архитектурным решением.
Edit: Чтобы упростить разницу, архитектура относится к известным образцам программного решения, часто с участием размещения и отношений между подкомпонентами/ярусами/слоями. Шаблоны также определяют, как и где данные хранятся, обрабатываются и представлены. Архитектура - это то, что можно описать с помощью ящиков и стрелок, таких как autonomous robotic paradigms.
Дизайн программного обеспечения - это процесс мышления о решениях для заданных требований к программному обеспечению. Каждая проблема уникальна по-своему, поэтому дизайн будет другим.
Возможный дубликат [Дизайн программного обеспечения и архитектура программного обеспечения] (http://stackoverflow.com/questions/704855/software-design-vs-software-architecture) –