软考的全称是全国计算机技术与软件专业技术资格(水平)考试,而我们今天讨论的是其中的中级职称的一个科目----软件设计师.这个级别的考试主要分为两大块基础知识和应用技术,分别在考试当天的上午和下午进行测试.
对于基础知识这块,因为考查的知识面很广,也很细,个人而言无法找到一个行之有效的办法能让你迅速的提高上午题的成绩,因此就不在这里总结了,我们要做的就是看书,做题,再看书,再做题,然后接着看书,在看书与做题的反复中,一个一个的消灭自己的知识盲点和填补知识漏洞,这样慢慢的也许会有提升,但不要企图短时间内有飞跃.相反下午题是比较固定的题型和考点,下面我就来总结一下近年来下午题都考些什么以及如何去应对.
我们先来看一张图
在上面的思维导图中,我给出了下午题要考查的5大知识点以及在每个题目中大概会让你做些什么.然后我们来看个人做题过程中总结的攻略:
1 DFD
作为下午题的第一道题目,应该说是比较简单的.通常这道题会设置3-4个小问题,相信大家前两个问题都能拿下,在做前两个问题的时候,一定要紧扣题目的说明并且认真观察题目给出的图,每一个加工都要认真的在说明中找到依据(加工名称,对应的数据流以及存入的文件名称等等),如果没有对应的信息,那么恭喜你你拿到了分数.
对于最后一个小问题,往往考查的内容比较灵活多变,比如会提问你一些画数据流图的注意事项及其原则,还会问你一些灵活的问题,比如医生和病人之间可否有数据流,并解释原因啥的.你一定要按照原则来,不要想当然的去答.悲催的是我就以为医生会询问病人一些病情感受啥的,高兴的就写上了"可以",后来一想两个实体之间怎么能直接画数据流呢?真是图样图森破!!
2DB建模与SQL技术
个人而言,这道题并不是我的强项,通常这道题会设置3个小问题,每一个我都不能保证拿满分,总会有考虑不周的细节导致失分.第一个小问题通常是让你补充题目给出的不完整的E-R图的联系及其联系类型,这个千万要去抠题目给的说明,都在那里面呢.提醒大家一点,E-R图一定要做好,因为它是第二问的参考.
在补充关系模式中的属性时,一定要结合说明以及你画好的E-R图去填写,这样就不容易丢失属性,也便于你找到每个关系的主键和外键,切记切记.同样此题的第三个小问题也是很灵活多变的,也许会提出新的需求然你完善原来的设计,也许会考查一些数据库的基础知识,比如三范式,还有就是对原来的数据库设计进行优化和修改等等.
3UML建模技术
纵观我做过的真题,此题目均会考查用例图和类图,至于其他的活动图,状态图等都是选择性的考查,因此,对于用例图的用例识别以及参与者识别一定要做到准确,还有对用例之间的关系把握也要能够分析的出来,用例关系一定要记得加<<>>,切记切记!
对于类图则主要考查类的识别以及类之间的多重度识别,多于类的识别没什么可说的,一定要仔细研读题目给出的说明,分析给出的类图,根据类图之间的关联关系等判断相应的类型名称.想多说几句的是这个多重度的问题,题目的说明中的确有些描述能够给我们提示,但是具体是0...n还是1...n呢则是需要你动脑思考的,因此这个需要靠你的分析和思考了,我暂时没有什么万全之策能够保证不失分.
对于最后的一个小问题,也是比较灵活多变的,不过都是考查一些基础的概念,比如设计模式的定义,给出类中的主要属性,对原有的设计增加需求如何改进等等.这个小题中,关于给出类的主要属性这块很多人都会多写或者少写,我自己也有这样的问题,所以提醒大家多注意.
4数据结构与算法设计
对这块的东西需要你自己去体会,其思考和分析,这样在别人的讲解之下你才能慢慢的明白以至于能拿些分数.算法题通常1-3个小问题不等,第一个当然是让你把算法补充完整,这样的题目对于代码的分析要求是很高的,你最起码要读懂部分代码才能根据上下文推出空缺的语句是什么.对于第二小问通常是问你用了那种算法策略,算法的时间复杂度是多少等等,这个即便你代码不会,也能根据分析思考答出来.对于最后的一个小问通常是给出一种情况,应用算法寻找最优解,这种问题就好比是特值法,带入算法就能得出结果,前提是你要明白算法的执行过程.算法的这块没说太多,因为不确定性太大,需要你的感觉.
5OO程序设计
最后的一个题目是编程语言和设计模式结合起来考的,因此你的知识储备是设计模式的23个模式以及C++和Java语言的语法基础.这个没什么要说的,很多人经过训练都可以拿到满分.因此在这里就不再赘述了.该注意的问题大家在做题过程中都会有所体会.
至此,软件设计师下午题的攻略已经完成,最后想要说的是,在做题的过程中,一定要把算法题放在最后写,确保其他四道题都能得到不错的分数,算法题是锦上添花的部分,不要成为你的雪中送炭的部分,切记切记.
原文:http://blog.csdn.net/lianjiangwei/article/details/40662391