《软件构架实践》阅读笔记01
今天我开始阅读《软件构架实践》这本书,这也是我们下学期的一门学位课,所以我不敢懈怠,从头开始读这本书。在我的原来的思想中,软件构架应该就是在编写软件之前,先要以画图或者文档的方式,对要编写的软件进行一个大体构架的描述,然后根据这个构架去编写软件,今天读这本书,让我对软件的构架有了新的认识。
记得老师曾经说过,我们这一个专业不缺人,缺的是人才。而只有对编程技术熟练到一定程度,才能去写构架,而且还不一定能做好,所以还是要好好学习这本书。
首先通过前面的导读部分,我知道这本书一共分为了4部分。分别是:预想构架、创建构架、分析构架和从一个系统到多个系统。
首先的第1章为我们介绍的是:构架的商业周期,属于预想构架。首先他通过一个“瑞典的瓦萨战舰”的故事,来说明了构架的重要性,没有一个好的构架,最后的作品肯定是失败的。那么构架是如何产生的呢?我读过书之后,明白了构架是若干商业和技术决策的结果,受到诸多因素的影响。
1. 受系统涉众的影响。很多人员都会对构建软件感兴趣,我们把他们成为涉众,他们可以包括:客户、用户、开发人员、项目经理……但他们每个人关注的点是不一样的,而一个软件构架师要综合考虑:性能、可靠性、可用性、平台的兼容、内存的利用、网络的使用程度、安全性、可修改性、易用性,才能满足不同的涉众。
2.受开发组织的影响。开发组织的人员、技能、预算等都会影响到构架的实现
3.受设计师的素质和经验的影响,这当然和设计师本身的经历有关联。
4.受技术环境的影响。即设计师要面对技术环境的影响,比如面向对象、是否支持中间件的方法来设计系统等等。还有一些其他因素等。
当然构架还会反过来对其他因素有反作用:
(1) 构架影响着开发组织的结构
(2) 构架会影响开发组织的目标
(3) 构架可能会影响客户下一个系统的要求
(4) 构建的过程丰富了整个开发团队的经验,从而影响设计师对后继系统的设计
(5) 一些典型的系统会影响并实际改变软件工程的发展。
那么软件构架的实现设计中涉及到哪些活动呢?它包括下面这些活动:1》为系统构建一个商业案例,创建商业案例的含义要比简单的评估某个系统的市场需求广泛的多。2》理解需求,可以使用很多方法来获取涉众的需求,比如用例图,活动图等等。3》创建或选择构架,需要注意概念的完整性。4》构架的交流,即及时向涉众清楚准确的进行表达5》构架的分析和评价,要有多个候选的方案,然后权衡多个因素,选出最合适的一个。6》实现基于该构架的系统,这就是说保证开发人员在开发的时候要忠于该构架7》使构架符合原来的描述。
总之这一章明确了构架不仅仅是系统需求的结果,它受多种因素的影响,同时还对众多因素具有反作用。另外这一章,最后还有一些准则,没有详细的说明,但是要想做好构架,一定要遵循这些准则。