软件架构吧 关注:89贴子:84
  • 1回复贴,共1

(2)架构为什么重要

只看楼主收藏回复

http://msdn.microsoft.com/en-us/library/ee658098.aspx
架构为什么重要
与其他复杂结构一样,软件必须建立在坚实的基础之上。不考虑关键情况,不考虑通用问题的设计,或者不考虑关键决策的长期后果,都将置应用于险地。现代工具和平台有助于简化搭建应用的任务,但是他们并不能代替针对特定情景和需求的细心应用设计。质量低下的架构带来的风险包括不稳定的软件,无法支持现有或者将来的业务需求,或者难以在生产环境中进行部署和管理。
系统设计应当考虑用户,系统本身(IT基础设施),以及业务目标。在每个方面,都该描绘出关键性案例,并以此找出重要的质量属性(比如,可靠性和可扩展性)以及重点满足或忽视的方面。可能的话,最好找到衡量在不同方面成功的方法和指标。

图一
用户,业务,以及系统目标有关这三个方面的需求可能相互矛盾,因此需要达到一个平衡。妥协也是经常地事情。比如说,一个解决方案的用户体验大都关乎业务和IT基础设施上的一个功能,其中任何一个改变了也会极大影响用户体验。同样的,用户体验的改变也会极大影响业务和IT底层设施需求。性能可能是一个很重要的用户和业务目标,但是系统管理员可能无法为了百分百满足用户一次性投资那么多到硬件上。刚开始可能就是80%差不多。
架构关注于应用内的关键元素和组件彼此之间的调用和交互。单个组件的数据结构,算法或者实现细节是设计的事情。构架和设计的关注点通常相互覆盖。与其硬性区别架构和设计,不如索性放在一起考虑。一些场合下,架构用的多一些。另外一些场合下,就更在乎设计上与架构有关的事情。
考虑以下有关软件架构的high-level关注点:用户如何使用本应用?如何部署和管理此应用?此应用的质量需求是什么?安全,性能,并发,国际化,还是配置?如何设计此应用以保持持久的灵活性和可维护性?现在可能影响此应用的构架趋势是什么?部署后呢?


IP属地:上海1楼2013-01-30 18:33回复
    翻译得挻好,为什么不把这页的其它几个相关问题也翻译一下呢?


    2楼2013-02-14 10:59
    回复