软件架构之全过程——联系梦想家

抛开寒假所学习的《软件架构实践》一书,再看了梦想家之再建纸片屋一集后,我对软件架构也有了自己的了解。尽管有三百六十行,但是每行每业都有共通点。

         剧集中所述是一个纸片屋,所具有的问题如下:一,房屋内,多处有尖角且面积狭小,无处存储一家人二十多年的行头,为此,打包的东西太多,到处都有放慢东西的箱子;二,一楼上阁楼困难,楼梯摇晃,并且不符合工体力学,并且在上了楼梯后,需要跪爬着前进,在能够到晾晒衣物的地方;三,由于房屋西面就是小区垃圾桶置放处,在夏天,不仅蚊虫多,而且味道也不好闻;四,阁楼处的晾晒衣服的平台并没有护栏,一不小心就会失足摔下四楼,安全隐患严重;五,厨房冬冷夏闷,并且在雨水天气还需要撑伞端菜,极为不方便;六,房屋的旧房梁断裂,而新增的房梁并不安全,并且,楼板漏雨。设计师在考察了整个房子后,不仅认识了这些问题,还发现了地面不平等问题,以及整栋楼楼梯的采光不足。设计师此处的行为,就可以看作开始软件架构的第一步——了解需求、需求分析。软件架构的开始基于需求,只有在了解需求之后,才能进行下一步。我们在学习软件需求分析的时候,就一再强调需求的重要性,只有需求分析准确,定位清楚,我们才能知道如何设计整个系统。而在软件架构处也是一样的问题。

         面对这些问题,设计师分别给出如下解决方案:一,在尖角处,妙用或特殊定制的家具,设计了多功能室,为储存提供了便利;二,根据高度差设计楼梯,不仅不会有安全隐患,而且美观;三,使用纱窗和有防蚊虫的植物对蚊虫进行有效处理;四,设计有护栏的露台进行衣物的晾晒;五,将厨房放回房间内,设置成半封闭的厨房;六、重新设计楼顶,填充人造纤维挡雨和隔热;七,在楼顶开天窗,给予楼道一定的自然光;重新浇筑地面使其平整。其间,在委托人的家门移动的过程中,遇到了电表无法移动的问题,设计师与邻居协商一同改造。设计师对每个问题进行针对性处理,这里就相当于软件构架过程中的软件架构的设计或者说重构。遇到不同的问题,具体分析具体解决。

         在地面不平的问题上,前后进行测量;在预防委托人在浴室滑倒问题时,进行实验。这里的两个行为都可以看作是软件构造的测试和评估过程。一个软件的需求分析很重要,软件的架构设计很重要,当然,测试和评估也很重要。测试软件是否符合要求,评估解决方案是否已经解决了整个问题。

         在委托人二十几年的生活中,设计师并没有把所有他们的以前的印迹抹去,把家设计成了一个没有感情的屋子。他改造了缝纫机,隐藏在了多功能室中,将旧橱柜中的镜子保留,,设计成了一面新镜子,将委托人的原来装东西的纸箱,重新设计成了置物架和猫窝。这一系列的改造无疑不是软件架构中的架构重用,把原本里的东西进行挑选运用在新的东西里。

         最后,提出一点,设计师在了解需求的同时,和委托人进行了情感沟通,知道了委托人的喜好、伤疤和重视的地方,这一点就和王老师强调的与人沟通不谋而合了。我们软件工程之所以和计算机科学技术的不同,关键就在于,我们是在和人打交道,一定要注重人的感情,同时做出来的东西也要符合功能要求和美学观赏。

原文地址:https://www.cnblogs.com/justmaomao/p/6425921.html