软件设计与软件架构 [英] Software Design vs. Software Architecture

查看:30
本文介绍了软件设计与软件架构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Could someone explain the difference between Software Design and Software Architecture?

更具体地说;如果您让某人向您展示设计"——您希望他们展示什么?建筑"也是如此.

More specifically; if you tell someone to present you the 'design' - what would you expect them to present? Same goes for 'architecture'.

我目前的理解是:

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

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

Correct me if I'm wrong. I have referred Wikipedia has articles on http://en.wikipedia.org/wiki/Software_design and http://en.wikipedia.org/wiki/Software_architecture, but I'm not sure if I have understood them correctly.

推荐答案

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

You're right yes. The architecture of a system is its 'skeleton'. It's the highest level of abstraction of a system. What kind of data storage is present, how do modules interact with each other, what recovery systems are in place. Just like design patterns, there are architectural patterns: MVC, 3-tier layered design, etc.

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

Software design is about designing the individual modules / components. What are the responsibilities, functions, of module x? Of class Y? What can it do, and what not? What design patterns can be used?

简而言之,软件架构更多的是关于整个系统的设计,而软件设计则强调模块/组件/类级别.

So in short, Software architecture is more about the design of the entire system, while software design emphasizes on module / component / class level.

这篇关于软件设计与软件架构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆