今天我开始读《软件构架实践》的第二章,这一章给出了软件构架的定义,并介绍了参考模型、参考构架和构架模式的相关概念。也从早期研究对系统知识、构架对涉众相互沟通的影响以及作为一种可重用资产的价值等方面,解释了构架在软件工程领域的重要意义。这里所给出的构架定义明确指出系统是多种结构构成的,并且对其中最常见的一些结构进行了解释,阐述了在设计过程中各种结构所起的权衡支点的作用。

   某个软件或计算机系统的软件构架是该系统的一个或者多个结构,他们由软件元素、这些元素的外部可见属性以及这些元素之间的关系组成。这里的某个元素的外部可见属性是指其他元素对该元素所做的假设,比如说它所提供的服务、性能特性、错误处理、共享资源的使用。构架定义了软件元素,包含了关于各个元素应如何彼此相关的信息。构架必须省略各个元素中与其交互无关的某些信息。

  书的第二章也说明了什么是构架模式、参考模型和参考构架。构架模式是对元素和关系类型以及一组对其使用方式的限制的描述,模式最有用的一个方面就是他们展示了已知的质量属性。参考模型是一种考虑数据流的功能划分。参考模型是对已知问题的标准分解,分解所得的各个部分相互协作,构成问题的解决方案。参考构架是映射到软件元素及其元素之间的数据流上的模型,软件元素之间相互协作,共同实现在参考模型中定义的功能。虽然参考模型、架构模式和参考构架都不是构架,但是他们都是捕获构架元素的有用的概念。软件设计师在设计中也必须考虑并发性、可移植性、可修改性、易用性、安全性等元素,并且要在这些需求之间进行适当的权衡。

  第二章还提到了架构的意义:从软件项目或产品的需求管理规范书开始思考。构架由定义良好的模块组成,各模块的功能划分应基于信息隐藏,模块的划分应体现出相互独立原则。软件构架之所以重要,是因为它是涉众之间的交流、早期设计的决策、可传递的系统抽象。

posted on 2017-02-01 14:40  憧憧  阅读(140)  评论(0编辑  收藏  举报