软件架构实践阅读笔记1

 

本书的第一部分分为三章

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

第二章介绍的是 什么软件架构,给我们澄清了软件架构概念。那么为什么说软件架构非常重要,

这里给出了我们解释:

(1)涉众之间的交流。软件构架是一 种常 见的对系统的抽象,绝大多数(如果不是
全部的话)系统的涉众都以此作为彼此理解、协商、达成共识或相互沟通的基础。
(2)早期设计决策。软件构架是所开发系统的最早设计决策的体现,而这些早期决
策对系统的后续开发、部署和维护具有重要影响。这也是能够对所开发系统进行分析的最
早时间点。
(3)可传递的系统抽象。软件构架是关于系统构造及系统各元素工作机制的相对较
小、却又能突出反映问题的模型。这种模型可以在多个系统之间传递,特别是可以应用到
具有相似质量属性和功能需求的系统中,并能够促进大规模的重用。

总的来说

本章给出了软件构架的定义,并介绍了参考模型、参考构架和构架模式的相关概念。
本章也从早期研究对系统的认识、构架对各涉众相互沟通的影响以及作为一种可重用资产
的价值等方面,解释了构架在软件工程领域的重要意义。我们将在后续章节中进一步讨论
这些问题。

 

第三章是通过A-7E案例分析 来分析各种软件结构的使用,

本章通过讲述3个相互关联但又不相同的结构对一个高性 能的航空电子系统的构架进

行了描述。模块分解结构描述了各组件之间的设计时关系,它们是可以分配给各开发小组,
的实现单元。使用结构描述了各组件之间的运行时使用关系,它们是模块中的过程。可以
根据使用结构得到构架的分层表示。进程结构描述了系统的并行性,是配备物理硬件的
基础。
正确设计这3个结构是非常重要的,因为它们分别对便于更改、便于抽取子集、提高
并行性或性能等不同的质量属性有着重要影响。这些结构所提供的信息在其他地方是找不
到的,所以应该为每个结构编写详细完整的文档。
虽然这些结构是相互垂直的,但也是相互联系的。模块中包含有若干个过程,这些过
程相互使用,并构成进程。针对此系统,我们也可以描述出其他类型的结构,例如数据流
图。数据流图的结构大致与图3.5相仿:所有来自系统外部的数据都经由设备接口模块进
入系统,通过执行运算或存储功能的模块之后到达功能驱动模块,由功能驱动模块计算输
出值并将结果发送回设备。A-7E系统的设计人员始终认为数据流图没有什么用处数
据流图能帮我们实现哪些通过其他结构无法实现的质量属性?但其 他的设计人员可
能就不这样看了,关于构架的结构,我们采用它的目的一或者 说经验-是 要加深对系
统及系统属性的理解,并实施理性的控制。如果某个结构满足了这些条件,很可能它就是
设计者应该注意的结构。

 

posted @ 2020-06-01 20:00  张利杰j  阅读(210)  评论(0编辑  收藏  举报