《软件构架实践》阅读笔记2
今天开始阅读《软件构架实践》的第2章,其中第2章主要为我们讲述了什么是软件构架。其实我的印象中一直认为软件构架就是画几张图,然后描述软件各部分之间的关系,今天阅读了第2章,让我对软件构架的定义有了更深一步的认知。
首先通过一个例子引出了“软件构架”的确切定义:某个软件或计算机系统的软件构架是该系统的一个或多个结构,它们有软件元素、这些元素的外部可见属性以及这些元素之间的关系组成。那么怎么具体理解这一定义呢?1.构架定义了软件元素,构架中包含了关于各种元素应该如何彼此相关的信息,它的意思就是说,构架必须省略各元素中与其无关的某些信息。2.该定义明确指出系统可能而且确实由多个结构组成,而且任何一个结构都不能与架构等同。3.具有软件的每个计算机系统都有一个软件架构,因为每个软件系统都可以看作是有若干个元素及其相互联系组成的。4.只要某个元素的行为可以从其他元素的角度观察到或者区分开,这个元素的行为就是架构的内容。但是因为软件构架在不断的发展,到目前为止,仍然没有一个统一的定义。
然后是介绍了构架模式、参考模型、和参考构架的定义:
构架模式是对元素和关系类型以及一组对其使用方式的限制的描述。我们可以把构架模式看作是对构架的一组制约条件——即对各元素类型及其交互方式的限制条件,而这些制约条件就确定了一组或一系列能满足它们的构架。
参考模型是一种考虑数据流的功能划分。参考模型是对已知问题的标准分界,分析所得的各个部分之间的相互协作,构成问题的解决方案。
参考构架是映射到软件元素及元素之间数据流上的参考模型。参考模型实现了功能划分,而参考架构则将这种功能划分与系统分解对应起来。这种对应可能(但不一定必须)是一一映射。一个软件元素可实现某个功能的一部分,也可以实现若干个功能。
然后为我们介绍了软件构架的重要性。
1.构架是涉众进行交流的手段,客户、用户、项目经理、程序员、测试人员等都可以借助它表达以及同各方协调需求。2.构架是早期设计决策的体现,软件构架体现了对系统做出的最早的决策,这些早期决策将在后期的开发中造成极为深远的影响。3.构架是可传递、可重用的模型。在整个生命周期中,重用地越早,收益就越大。代码的重用能带来极大便利,而咋构架层次上的重用则为具有类似需求的系统开发提供了有利的手段。
接着为我们介绍了软件结构和视图。它主要为我么介绍了三种结构,即模块结构、组件-连接器结构、分配结构。其中模块结构主要解决此类问题:分配给每个模块的主要功能职责是什么?允许模块使用的其他软件元素是什么?它实际使用的其他软件是什么? 组件-连接器结构主要解决:什么是主要的执行组件,它们如何交互?什么是主要的共享数据存储?复制系统的哪些部分?数据在系统经过了哪些地方? 分配结构主要解决:每个软件元素在什么处理器上执行?在开发、测试和系统构建期间,每个元素都存储在什么文件中?分配给开发小组的软件元素是什么?
总之,本章给出了软件构架的定义,介绍了参考模型、参考构架和参考模式的相关概念,以及构架的重要性等让我们了解了构架在软件工程中的重要意义。