一、考试目标:
通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程师的实际工作能力和业务水平。
二、考试内容:
(1)掌握计算机内的数据表示、算术和逻辑运算方法;
(2)掌握相关的应用数学及离散数学基础知识;
(3)掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;
(5)熟练掌握常用数据结构和常用算法;
(6)熟悉数据库、网络和多媒体的基础知识;
(7)掌握C程序设计语言,以及C++、Java中的一种程序设计语言;
(8)熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;
(9)掌握软件设计的方法和技术;
(10)了解信息化、常用信息技术标准、安全性,以及有关法律、法规的基础知识;
(11)正确阅读和理解计算机领域的英文资料。
三、考点分析
1、循环链表:队空条件:head=tail;队满条件:(tail+1)%size=head。
2、树的概念:
(1)双亲、孩子和兄弟:结点的子树的根称为该结点的孩子;相应地,该结点称为其子结点的双亲。具有相同双亲的结点互为兄弟。
(这里涉及到2个层次,第一个层次的子树,这棵子树的根是第一层结点的孩子结点,第一层结点是其子节点的双亲节点/父节点)。
(2)结点的度:一个结点的子树的个数记为该结点的度
(3)叶子节点:也称为终端结点,指度为0的结点
(4)内部结点:指度不为0的结点,也称为分支节点或非终端节点。除根结点之外,分支结点也称为内部结点。
(5)结点的层次:根为第一层,根的孩子为第二层,依次类推,若某节点在第i层,则其孩子结点在第i+1层
(6)树的高度:一颗树的最大层次数记为树的高度(深度)
3、二叉树的重要特性:
(1)在二叉树的第i层上最多有2i-1个结点(i≥1);
(2)深度为k的二叉树最多有2k -1个结点(k≥1);
(3)对任何一棵二叉树,如果其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1。
(4)如果对一棵有n个结点的完全二叉树的结点按层序编号(从第1层到 L log2n ˩+1层,每层从左到右),则对任一结点i(1≤i≤n),有:
如果i=1,则结点i无父结点,是二叉树的根;如果i>1,则父结点是L i/2 ˩ ;
如果2i>n,则结点i为叶子结点,无左子结点;否则,其左子结点是结点2i;
如果2i+1>n,则结点i无右子叶点,否则,其右子结点是结点2i+1。
4、…
四、复习经验
1、要熟悉历年试题。因为历年试题很多知识点是反复考,抓住了历年试题就抓住了重点。试题是对考试大纲的外化,是对相应知识的梳理,直接体现考查意图。如能把历年试题研究几遍,通过考试不成问题。因此,一个高效的学习方法,就是先研究历年考试题,通过做题,巩固已有知识,强化能力。针对试题不同内容,进行归纳总结,找出自己的优势和不足,然后带着问题去读书,查找相关资料,做到有的放矢,针对性强。从应考角度讲,这种方法效率可能较高。
2、备考下午编程题必须上机调试实践。上机调试是很好的锻炼,光看书很多问题都隐藏起来了,自以为是明白了,一调试才发现自己想的太简单了,就会有一大堆意料之外的问题出现。通过上机操作,更能明白每个语句、每个算法的作用和意义,就能更好的应用。
3、软件工程的数据流图和UML相关知识一定要学好。软件设计师考试,更注重软件工程相关的内容,数据流图和UML是重要内容,近些年考试中,都有对应的试题出现。
各种类型下午题解题思路分析:
1、数据库类。数据库题目要求补全SQL语言,这要求考生熟悉SQL的语言,无论对上午题目还是下午题目都很重要。这是学习和复习的一个重点。
2、数据流图类。DFD是一种分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。请认真弄清其应用后,在画出数据流图的情况下,系统的功能也就确定了,再经过细化,逐步向物理结构迈进。考核时,试题多从父图和子图的平衡来分析。这部分内容,解题的关键是高度重视题目说明,务必正确、深入理解其内容,必要时要读几遍,同时对于给出的图表,也要务必看懂。这样答题就轻松了,答案实际就蕴含在说明中。
3、流程图类。流程图类题目,是大家再熟悉不过的了,它就一个具体问题的解题思路进行描述,是面向过程的。但所求问题是千差万别的,因此应理解思路,细心作答。
4、程序填空。程序填空是答题形式最简单同时也是难度最大的。为便于阅卷,这类题目以程序填空形式出现,这不仅要求理解问题本质,同时也要弄清作者解题思路,这一点比自己独立完成程序设计要难得多。
依个人经验,首先要针对问题,设计自己的思路,解决问题,确定先后顺序;然后试读程序,如果思路大体一致,题就容易解决了,如果思路不一致,就要设法弄清每一段代码的功能及其逻辑结构,进而弄清命题人的解题思路,再顺势解决问题。
人们常讲,答案就在题目中,这是对的。在分析问题过程中,找到所求答案。不过前提条件是考生要熟悉这种语言,又要明白解题思路,这样才能正确作答。