今天开始读《软件构架实践》这本书的第一章,打开书,有一句话赫然出现在我的眼帘:“软件构架是软件系统的核心”, 这一章主要是着重讨论软件设计师开始创建、预想软件系统的这一核心时所用到的各种知识和技能。

  构架和其开发组织就像跳及其复杂的华尔兹一样,相互影响,相互帮助,这样的华尔兹舞叫做构架商业周期,这也是这本书的主题。文章开始就用瑞典的瓦萨战舰的例子来说明了系统需求来自于企业目标,构架来自系统需求,系统来自于构架。一个得到各方认可的系统需求在以下达到相应要求:性能、可靠性、可用性、平台兼容性、内存的利用、网络使用程度、安全性、可修改性、易用性、与其他系统的互操作性及行为。其次,架构还受开发组织、设计师的素质和经验的影响、也受技术环境的影响。这一点,也同样很好理解,所谓经济基础决定上层建筑,对等而言,技术基础决定最后的系统成果。同样,如同“作用存在一定有反作用力”,这些因素也会反作用于架构。构架与设计师的经验、当时的技术水平有着密切的联系。构架是技术商业和社会等诸多因素作用的结果,而软件构架的存在反过来又会影响技术、商业和社会环境,从而影响到未来的构架。相互影响的周期——从环境到构架又返回到环境——称作构架商业周期(ABC)。

  构架商业周期向我们展示了开发组织的业务和文化对软件构架的影响。而构架反过来又成为影响所开发系统各方面属性的决定性因素。软件开发活动的组织、规范和管理称为软件过程。构架应采用定义良好的模块,各模块的功能责任划分应基于信息隐藏和相互独立的原则,应该使用特定于每个属性的众所周知的构架战术来实现质量属性,构架绝对不能依赖于某个特定的版本的商业产品或工具。

    第一章明确了构架不仅仅是系统功能需求的结果,它同样受到设计师的素质、所处的技术环境、出资方的商业目标等因素的影响。构架的成功开发又丰富了技术内容,为公司提供了新的商机,所以,构架反过来也影响着开发环境。

 

posted on 2017-01-30 11:00  憧憧  阅读(119)  评论(0编辑  收藏  举报