软考经验谈-通过软件设计师考试后的一些感想

来源:互联网 发布:ubuntu进入文件夹命令 编辑:程序博客网 时间:2024/06/10 08:36

http://cert.xinfengit.com/201011/048204.html


参加完软考后心里总有些话想说,那就谈谈对软考的感想吧。 (成绩是50,47)。 首先,你要对软件设计师证有个正确的认识,它只是一张纸,有了它不能说明你水平就很强,没有它也不能说明你就不适合搞软件开发,你不会因为一张纸就确定了自己的能力水平吧(你看过研究生或博士去考的吗!如果你坚持看重的话,你应该不适合做开发工作了,最多也只能做个代码写手)。而且中国的考试向来都是只重课本不重应用,所以对软考也不要太……

  参加完软考后心里总有些话想说,那就谈谈对软考的感想吧。 (成绩是50,47)。

  首先,你要对软件设计师证有个正确的认识,它只是一张纸,有了它不能说明你水平就很强,没有它也不能说明你就不适合搞软件开发,你不会因为一张纸就确定了自己的能力水平吧(你看过研究生或博士去考的吗!如果你坚持看重的话,你应该不适合做开发工作了,最多也只能做个代码写手)。而且中国的考试向来都是只重课本不重应用,所以对软考也不要太害怕(我就是个半道出家的,没进入正规的大学,通过胡乱的自学也敢去考),考试出的题目技巧性都不强,很多都是那类一看就知道考点是什么,更过份的是有些题目很可能甚至书本或资料上都有(中国的教育也要进步了吧:()。更重要的一点是,现在感觉看重这个证的企业是越来越少了,所以请把自己的精力放在提高自己的理论基础水平上,并且要不断的提高自己的数学能力(看看国外的计算机课程开设,你就不会再小看数学的作用了)。

  其次,说说我参加软考时的学习过程。

  1.课本准备:大纲、软件工程的教材(推荐《软件工程——原理、方法与应用(第二版)》高等教育出版社)、编译原理的教材(推荐《编译原理(第2版)》清华大学出版社)、数据库的教材(《数据库设计原理》)、数据结构的教材(推荐一本学C++用得上的(如果你有时间学C++的话)《数据结构与算法——面向对象的C++设计模式》国外计算机科学教材系列)、操作系统的教材(《操作系统教程(第3版)》高等教育出版社)、还有就是要准备一到2本练习题及1套模拟试卷。

  2.制定学习计划,我是从报名的那个月开始,除了早晨用于学点英语外(不过英语水平一直很差,可能有英语学习障碍),每天分3个学习时段(上午、下午、晚上),每个时段学2门(一门简单的,一门较难的),其中软件工程、编译原理、数据库原理、操作系统、C++为单独的课程,其它的课程就用大纲那本书。并且要保证考试前一个月做练习用的复习时间,除非你有计算机硬盘一样的记忆能力,否则最好有一个月的练习时间,其中前1-2个星期用来做模式试题。

  软件工程是复习的重点,因为下午一定最少有2道软件设计分析方面的题目,一定要熟练的掌握书本中说到的各种软件分析设计方法及有关的分析用图,对各种图的功能作用和制作方法(特别是各种图的组成元素)以及各种图之间的转换及联系(如果有的话),UML面向对象的软件设计方法及面象过程的软件设计方法完全理解,软件测试要达到理解的程度,其它的内容只有去强记了,因为基本是都是上午题,而且每年的题都不定,但与CMM有关的一定会有。(这科的复习我认为难一点,因为我没有参加项目开发的经验,对里面的概念只能强行理解和记忆,所以在脑中的影像不太深刻,而且考完后就忘得一干二净了,不过学还不是太难,可能是我的教材简单)

  数据库也是重点,下午一定有至少一道数据库的题目,而且也一定是考关系型数据库,E-R模式也要搞懂,可由它导出关系,一定要弄懂关系数据库的几个范式及关系的建立方法(因此就要对关系数据库的基础概念非常清楚,如键的定义,函数依赖,范式的定义、作用及转换是建立关系的基础),要熟练SQL常用的几个语句,最好是自己用笔写上几遍每个语句的各种形式以加深记忆,数据库的学习还是不太难的(因为考试不会考数据的物理存储及数据安全,感觉这方面的知识更难,交叉学科更多)。

  数据结构的复习以普通的教材为主(相关书籍学计算机的应该都有一本吧),对数组、链、队列、栈、树及堆等基本的数据组织方式要非常熟悉(要做到看见算法就知道要用什么数据组织方式更高效),排序、索引、HUSH及图的各种算法要了然于心(算法的分析过程及代码要非常清楚),算法的分析方法达到理解应用的水平;对C语言要非常熟练(要会应用C语言语句的一些技巧,如可以利用函数的返回值做为判定条件,在循环中对数组的处理可使用a[i++]来提高编写代码的效率,这类的小技巧只有通过大量的阅读代码才能提高),如果是初学面向对象方面的高级语言,建议还是先学C++,感觉它更象一种语言规范,而JAVA是一种编程的工具并且由于它的跨平台特性所以它有很多自己独有的功能和特点,有时间一定要看一本C++语言的数据结构它能使你更全面和深刻的理解类及对象的编程方法。(下午那道编程题你拿不到分,就考虑做其它方面的工作吧,程序员不适合你了,因为你连编程工具都不会用)

  编译原理一定会考词法分析它是后面编译过程的基础,产生的表格在整个编译过程中都会用到(主要考的内容是NFA与DFA的转换、正规式与有穷自动机的转换等),文法分析有一年考过下午题,这科对初学者比较难,比较抽象,理论性也比较强,反正我是学了4个来月才学通一点,这课复习没什么技巧,用功死学吧。

  操作系统没什么说得了,把它的几个功能模块搞清楚及相关的算法搞清楚就好了,如处理器的管理、存储管理、设备管理、文件管理及系统安全,其中我认为比较难理解的是PV操作(在并发进程中它的应用非常灵活)和中断(反正这个对我比较难),一定要把相关内容所讲到的算法及分析过程搞懂,这样考试相关的题目对你来说就小儿科了。

  其它课程的复习就按考试大纲进行,把里面的概念搞清楚就行,因为它大部分都是上午题。

  3.复习练习,在复习的最一个月中,留出考前的一个星期作为做模式试卷的时间,此间以做练习为主,它能强化你的记忆,并能做到查缺补漏,遇到不懂不会的就查书把概念搞清楚,毕竟现在不明白总比考试时不明白好多了。最后再说一句,别把考试看得太难了它只是名头大(软件设计师一个吓人的虚头),只要你准备充分,我想没有考不过的理由(要不就是上帝对你太记恨了)。

  好了就说这些,由于本人水平有限(写作能力就更差了),如有说的不对或表达不清楚的地方请指正(要不你就当是痴人狂语),顺祝打算参加软考的朋友们顺利过关。








原创粉丝点击