上大学的时候,从来没想过要考什么计算机方面的证书。毕业后,参加工作的几年来来,却突然想考一下国内的软考的高级软件架构师,有不一样的感受。
一听到国内的软考考试,总会有一种应试且不实用感觉。这是国内考试的通病。不得不说,参加这次软考考试,的确是有种应试大于能力的感受。期间有许多知识点需要记忆,这些知识点也是考试大纲罗列的考试范围。
试读参考书目的过程中,除了指定的考点外,实有意外的收获。这些考点在无形之中,似乎串起了软件架构师需要的基本理论知识。
从自己的实际经验角度,来看待软件架构师职责,更多的想应用开源的软件设计方案形成一整套系统解决方案。选择和应用的过程主要是从软件的特性和应用场景着手,对目标软件进行基本测试。在基本满足应用需求的条件下,就可以选择使用了。然后在系统磨合中,进一步了解不同构件对系统带来的具体影响。在这整个过程中,就是以实用为主,可以解决当下遇到的问题。但是却难以应对软件在特殊的应用场景下,出现的功能不足与性能劣势。
以实用主义尽快实现当下的经济效益,当然可以理解,但是却总觉得缺少一些什么,来给选择的构件或者架构做长远的质量评估。这些在应试软考高级架构师考试的时候,却有意外的收获。软考高级架构师的参考书中,对领域的架构形式和架构质量评估等,都给出了理论上的指导, 这有些出乎我的意料。在软件开发方法和软件架构方面,发现有些理论基础是可以对工程具有指导意义的,这对于程序员进行系统开发,对于架构师进行架构选择与质量评估,对于项目经理进行项目管理等,可以给出原则上的理论依据。这对于长期从事工程实践的我来说,有相见恨晚的感觉。
小规模的软件公司,在从事软件研发的时候,经常采用原型模式和敏捷开发模式。原型模式通常用在用户对需求不明确时,尝试满足用户需求的阶段。本意是没有问题的,但是在实际项目中,开发出的原型却往往不能投入实际的应用中,而最终不了了之。为什么开发出的原型难以满足用户的要求,并且在一次一次的原型设计和开发过后,仍然不能获得实际的应用?这些是让我在原型的开发和设计阶段,有疑惑也是手足无措的地方。之所以说有收获,是因为这让我意识到这些问题是切切实实存在的,是在软件开发中存在的普遍问题。小规模的团队流行采用敏捷开发的方式,快速增量的进行迭代来开发。我所在的团队中,也是应用了敏捷开发的模式。在多次迭代中不断丰富软件功能,每天例行站会汇报昨天完成的工作与接下来的工作计划。
网友评论