软件架构实践——阅读笔记1

王老师给了软件架构实践的阅读资料,因此对这本书进行了阅读学习,进行知识的记录。

本书根据软件生命期的特点,分4部分进行了阐述,即预想构架、创建构架、分析构架和从一个系统到多个系统。并且,书中通过精选的案例,进行了剖析。 本书在第1版的基础上,根据软件生命期的特点,分预想构架、创建构架、分析构架和从一个系统至多个系统进行阐述。本书对第1版某些内容进行了深入介绍,并增添了一些新内容:ATAM、质量需求、构架重构、用UML对构架编档和CBAM等。此外,本书还对一些新案例进行了分析,以帮助理解软件构架如何适应商业需求。

经过初步的学习,我再次认识到了架构的重要性——“作为一种开发产品,软件构架在质量、速度和成本方面具有极高的投资回报。这是因为软件构架出现于产品生命期的早期阶段,合理的构架为系统生命期的其他阶段即开发、集成、测试和更改几个阶段奠定了良好的基础。相反,如果构架选择不当,就意味着系统的整体结构有误,而且无法通过细小的修补或删除某些部分得到更正,就会经常导致全部拆解重建。而且,与其他开发活动相比,构架分析的投入较低。由此,我们可以看出软件架构对于整个系统的重要性。”

作者对“架构”给出了一个较为具体的认识。 系统的构架视图是抽象的,它不考虑实现、算法和数据表示的细节,集中研究“黑盒”元素的行为和交互。在设计具有所期望属性的系统时,开发软件架构是第一步。关于软件架构,已有的定义是:程序或计算机系统的软件构架是该系统的一个(或多个)结构,它由软件元素、元素的外部可见属性以及它们之间的关系组成。我认为构架受很多因素的影响,而且这些影响因素的实现又随着构架所处环境的不同而异。即使是相同的一个设计师设计某个系统,如果出现时间很紧迫或时间很宽松的情况,所做出的决策也会不同。在系统的每一次开发过程中,系统需求都能够明确反映出对系统的最终特性的某些期望。并不是系统需求中的所有内容都和系统最终具备的特性直接相关。开发过程或某个工具的选用可能会受到系统需求的制约,但对系统需求的表述仅仅是第一步,我们需要通过确定与构架有关的影响因素开始构建ABC。构架还是受系统涉众的影响的,这些涉众所关注的问题各不相同,但是都要求系统能够在他们所关注的方面提供保证或优化。一个得到认证的系统需要在各个方面达到相应的要求:性能、可靠性、可用性、平台兼容性、内存的利用、安全性以及与其他系统的互操作性以及行为。这些因素都是可以影响到该系统。构架同样受到开发组织、设计师的素质和经验、技术环境等因素的影响。另外,构架并不是注定就是好的或坏的,各种构架总是能够或多或少地满足某些系统的要求。

posted on 2020-04-12 17:28  丸za  阅读(113)  评论(0)    收藏  举报

导航