软考(软件设计师)注意事项(攻略)
软件专业的朋友都会去参加软考,我在这里就叙述一下软考(特指软件设计师)的注意事项。
l 关于复习时间的安排
1. 对于大学专业就是计算机科学与技术(软件工程方向)的学生,只要平常的专业课学科绩良好,复习就不用费太多功夫,本人真正的复习时间就是一个多月。大概算起来六个星期,比如14年下半年的软考时间是11月8号,那么专业扎实的同学十一过后就可以着手复习,对于平常的专业课成绩不是很理想的同学,可以把复习时间改成两个月,只要肯下劲,通过是不成问题。
2. 以六周复习时间为例前四周:主要是把基础的知识点过一遍,同时可以有针对的做一些真题,比如说复习到操作系统中分段分页的习题,就可以找一些相应的习题做做,不要多,前期先做上一两道。
第五周:这个时候我们已经把书本上的知识点记得差不多,这一周主要是检验我们前四周的效果,我们在这周做真题,注意:一定是真题。只有真题才能真实反应软考的出题方向。这周的题目我们一定要限时的去做,去模拟考试的时间,就是去找感觉。切记不要漫不经心的做题,每天可以做两套试题,晚上可以把错误的试题,用本子记下来,一定要搞懂。
第六周:这时,我们假若还有真题没有做完,仍然可以做剩余的真题,但是一定要留一套或者两套(在考前两天做做,以免生疏),第六周的主要任务是:查漏补缺,就是把前面的错题看一看,选择题对的选项要看,错的选项更要看,知道错在哪里,这样才能以点带面,假若有不会的地方,我们此时可以翻书找答案,顺便再把书上附近的知识点也看一遍(因为没考过的知识点有可能出题)。
l 关于如何复习内容的安排。
1. 由于软考所涉及的知识面很广,几乎涵盖了软件工程专业所有的科目(下面有详细分析),但是它的难度却不是很大。很多同学一上来就一片抓,一会看课本,一会看考点考纲,一会又看其他的复习资料,最后的结果很可能是:书看的很多,一做题,感觉都看过,但是啥都没记住,切记不要犯这样的错误,以我的经验为例:我们开始可以买一本复习资料(买什么样的复习资料下面有介绍),最好带那种考点考纲介绍的,然后我们以他为基准,来看整本书,当这本书上所讲的知识点你感觉没有讲清楚,或者你不理解的时候,这个时候我们可以去查阅我们的课本,同时巩固下复习书上没有介绍的相关知识。这样我们才能做到心中不乱,否则胡子眉毛一把抓,乱了阵脚的必定是我们自己。
2. 每一个考试它都有自己的考纲,即不同的考试的倾向不同,举个例子,在我们平常的上课中,操作系统中死锁的避免策略中:银行家算法是老师上课讲的重中之重,我们要写出安全序列(列表:已分配,未分类,还需多少资源)等,但是软考中,下午考试不涉及操作系统,操作系统的题目只在上午场中,比如在复习时我们费很大劲回忆老师所讲的内容,列表计算安全序列,但是:在软考中,并不会让你写出安全序列,以往来看,题目选项中给出四个序列,我们只需要选出正确的即可(我们可以把四个选项带入验证),当然如果完全掌握如何结题是最好的。举这个例子就是要让同学们清楚老师上课讲的重要知识点不一定就在软考中着重体现,这就是我为什么要让大家去买一本带有考纲考点分析的参考书的用意了,总之,大家复习一定要有侧重点的复习。
l 关于复习参考书的购买
1. 本人觉得不需要买太多的参考书,有的同学一下子买了很多本,今天看这本,明天看那本,搞得很疲惫,效果却很低,我们只要抓住一本或者两本即可,出题是万变不离其宗,只要掌握技巧和结题思路,对付这样的考试,简直是:so easy!某某再也不用担心我的学习啦!。
2. 言归正传,以我的复习资料为例,我的资料是听我实验室同学介绍买的,做完以后,还不错,总共买了三本(想想有点坑)
第一本:软件设计师教程(用处不大)
第二本:一本真题
第三本:考点概括(强烈推荐),这本书我感觉很不错,他把响应的知识点归纳,有列出历年考点,每一个重点知识点后面还有一些对应的真题,感觉很有针对性,帮助我们快速记忆。大家并非一定要买这一本,可以选择一本与之类似的也行,只要起到相同作用的就行。
个人感觉那本蓝颜色的软件设计师教程基本没用,很鸡肋,看那本书,唠叨的太多,同时有的知识点讲的很模糊,不如买一本既有考纲考点又有专项练习的参考书。
以下是我买的参考书:
我们学校使用的课本:
l 关于复习的着重点
1. 软考总共考试:计算机网络,计算机组成原理,操作系统,算法设计与分析,C++或者Java程序设计,UML程序设计,数据库原理,编译原理,计算机英语,CMM,软件需求工程,软件项目管理,计算机图形图像(我的领域),大概就是这些科目。基本涵盖了软件专业前三年的科目,上面我已经强调过,有些课程只涉及很少的题目,并且有的题目只有固定的考法(比如环路复杂度的计算),我们不用被这下科目吓到,只要我们用科学的方法复习,还是很容易就通过的。
2. 其中,上午场:75道选择题,包含所有考纲内的科目,难度不是很大,即便不会做,25%的正确率也是很高滴(你懂得),上午场的题目建议大家,在复习过程中,准备一个本子,记录那些重要的步奏或者过程(比如软件开发有那几个阶段,CMM分为那几个阶段,每个阶段有哪些标志性的特征),这些题目,很容易犯浑,今天选了个正确答案,有可能明天自己就选了个错误答案,所以用本子记下来,常常看看。尽量达到烂熟于心,这属于死知识,必须要熟悉。具体的考试点大家做题看书就知道了,我在这里就不在叙述了。
3. 下午场:两个半小时,五道大题,分别是:数据流图,数据库分析,C++程序设计,UML程序设计,算法分析。(本人是C++方向的),Java方向只有一道题不同(程序设计)。其中个人感觉算法分析有点难度,其他的题还行,算法分析首先要掌握各种算法:动态规划,贪心算法,分支限界法,等一些算法,一定要熟悉各种算法的特性和解决的代表问题,比如说回溯法:八皇后问题。动态规划:01背包,然后要熟悉算法的事项流程,就是实现的代码。这一点特别重要,下午的试题就是考这点,在一个读题时,要确定边界值是否可取,比如本来是n>0却写成n>=0,那么就没分了,一定要仔细仔细再仔细。除了仔细之外,那些经典的算法一定要烂熟于心,并不是去死背,作为软件专业的我们看代码这是基本功。
l 关于一些科目的复习方法
1. 关于计算机网络,给我印象最深的是:求网络地址,子网数量,主机数量的这些题,这些题基本每年必考,大家在一点上要以课本为主,一定要理解透彻,彻底掌握。还有一点就是:OSI七层模型每一层的名称以及特性,比如网络层的IP数据报是无连接吗(答案是),ARP协议属于哪一层(IP层),这些概念每年必考,重点掌握。
2. 关于数据库原理,无非就是SQL语句,比如增加一个表,删除一个表,查找SNO,SNAME之类的,重点整掌握ER图的画法,如何从ER图转换成关系数据。下午有一道大题就是ER图。
3. 接下来比如软件需求工程,软件项目管理,CMM(能力成熟度模型)这些科目相当没有必要去翻书,这些知识点基本去年考什么,今年考什么,这些知识的复习按参考书上为准即可。
4. 本人是C++方向的,所以我介绍下UML设计,这两年,我感觉这方向的题,逐渐增多,重点掌握,例如各种设计模式的作用,适用方向,例如:单例模式的作用是什么?还有就是识图题,给出一个图,问该图是:顺序图,交互图,对象图,类图还是?这些题都是死知识,考场上做出不来实在是不应该。详细的不介绍,大家去看参考书。
5. 主要的考点已经相关知识点,以参考书为例,在这里就不在列举。
l 关于考试期间的问题
上午场考试完后,不建议去手机百度答案,也不要和同学对答案,既然考试结束,就不要再去多想,否则会严重影响下午的发挥,下午才是重中之重。另外,中午吃过午饭,尽量休息一会,养足精神(本人的校区是省直考点,直接回宿舍睡觉),校园里有很多的非考试用楼,对于外来的考生,趴在教室睡一觉,也是不错的选择。
l 关于软考的看法
说实在话,这个证书的含金量不高,没什么用(特别是软件设计师职称),个人觉得考的太泛泛了,对于软件专业最重要的思想(设计,专业应用,动手编程能力)没有涉及,但我的一个师兄,在一家私企工作,同为一个专业,他说道:在大学,有些证书还是应该去获得的(他比其他人每月多出七百多块钱,原因你懂的),有人说才多七百,但有总比没有强,在大学里,期末考试衡量不了你的专业素养,还是应该多考取几个专业内的职称为好,以备工作时用。
本人打算在考研来临之际(同为考研党),准备数据库系统工程师(之前写的程序净和数据库打交道),以上是我的个人观点(尊重劳动,转载请注明出处),希望对一些人有用。