architecture - 软件设计与软件架构

标签 architecture definition

有人可以解释一下软件设计和软件架构之间的区别吗?

更具体地说;如果你告诉某人向你展示“设计”——你希望他们展示什么? “建筑”也是如此。

我目前的理解是:

  • 设计:特定模块/系统部分的 UML 图/流程图/简单线框图(用于 UI)
  • 架构:组件图(显示系统的不同模块如何相互通信以及如何与其他系统通信),使用什么语言,模式......?

如果我错了,请纠正我。我已经提到维基百科有关于 http://en.wikipedia.org/wiki/Software_design 的文章和 http://en.wikipedia.org/wiki/Software_architecture ,但我不确定我是否正确理解了它们。

最佳答案

你说得对,是的。系统的架构是它的“骨架”。它是系统的最高抽象级别。存在什么样的数据存储,模块之间如何交互,有哪些恢复系统。就像设计模式一样,也有架构模式:MVC、3-tier 分层设计等。

软件设计是关于设计各个模块/组件。模块 x 的职责、功能是什么? Y级的?它能做什么,不能做什么?可以使用哪些设计模式?

所以简而言之,软件架构更多的是整个系统的设计,而软件设计则强调模块/组件/类层面。

关于architecture - 软件设计与软件架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/704855/

相关文章:

.net - 实现恢复模式的策略

algorithm - 不变量的定义是什么?

c - 不同文件 C 中的函数头和实现

c++ - G++ 警告 : built for unsupported file format which is not the architecture being linked

c# - 如何解决此代码重复+添加另一种方法

design-patterns - 关于该项目的表归档器的设计模式建议

c - main 函数不调用 collat​​zSequencer 函数

php - 类型定义字符串中的元素数量与绑定(bind)变量的数量不匹配

language-agnostic - 什么是代码覆盖率?

architecture - 消息需要访问共享数据时的消息队列架构