2016.01.11日上午考了试,现在做一些总结。

这门考试的考试题几乎和往年相比没有什么变化,这也就意味着这门课其实没有什么东西好学或者说好考的。

考试集中在三个方面。

第一,对核心名词的把握。

主要集中在,什么是软件架构,为什么要分析架构,为什么要进行架构评审,什么是质量属性等方面。
在这些名词里,有一些理论是很有借鉴意义的,如质量属性,当我们在项目开始的最初阶段就把质量属性单独拎出来和功能需求以及限制条件一同考虑,切实的增加了对于这些影响软件质量的因子的把握。
质量属性主要分为,可用性,安全性,性能,易用性,可重用性,可移植性,可维护性。这几个维度在今后的开发和设计中有借鉴价值。
而有的比如软件项目的商业周期,则纯属扯淡,市场瞬息万变,时局各有不同,人们心中的软件对商业的理解也是日新月异,这种分析可以说本无定数,这门课却还要求通通牢记没空一分,不是扯淡又是什么。让我有些不喜。

第二,设计项目架构。

这个方面本应该是本门课的精髓,但是在这一方面,学校却避重就轻,殊为可惜。让我很细那个骂人。
主要需要掌握ADD方法,即根据项目早期列出来的质量属性,对模块进行划分,求精,从而得到项目架构。
本来我还挺有兴趣的,但是真正看完以后,却真是x了狗了。这个方法无非就是大白话嘛,并没有什么太特殊的先进性。而且,在某些项目上,还不能因地适宜。实在让人失望。

第三,对软件项目架构分析评审的能力。

ATAM方法,是一种架构评审方法,即综合商业属性,架构属性,等等多种限制条件,然后分析架构,得出结论。这个方法真是极好的。方法的作者和宋丹丹女士的大象装冰箱方法真是有异曲同工之妙,第一步,把冰箱门打开,第二步,把大象装进去,第三部,把冰箱门关上。

总之,这门课并没有讲到如何设计系统,如何处理复杂,这才是前辈们真正闪烁着智慧的地方。有些遗憾,也对学校有些气恼,这样的学院永远是半吊子的学院,偶尔有两个冒尖的学生,不能站在前人的肩膀上,那也出不来成绩,哀其不幸怒其不争。