目录
数据流图(DFD)
数据流图基本概念
数据字典
数据流图平衡原则
答题技巧
数据库设计
数据库设计过程(了解)
ER模型
答题技巧
UML建模
用例图
类图和对象图
顺序图
活动图
状态图
通信图
数据结构及算法
考察
答题思路
面向对象程序设计
答题思路
C++类与派生类的定义:
C++构造函数(相比较多)与析构函数(几乎没出现过)
C++虚函数(较多)
数据流图(DFD)
特征:第一题,做大量练习,掌握技巧可拿高分。
提问问题大致如下:
- 补充外部实体、补充数据流等。
- 根据副图子图以及题目给出的描述,查找数据流图有什么缺陷和问题。
内容掌握:
- 数据流图基本概念
- 数据字典
- 数据平衡原则
1、数据流图基本概念
数据流:名词,反应含义。
加工:做处理。
数据存储:表、文件。
外部实体:人员、组织。
顶层图与细化:
分层思路:顶层分解,逐步细化。关键:主图与子图的平衡。
2、数据字典
不需要深究,只用懂得怎么用,啥意思就行。
3、数据流图平衡原则
父图与子图之间的平衡:
- 顶层图和子图的数据流要一致,外部实体的连接等,在系统细化不能表示,不需要管。
- 注意数据流的方向和含义名称。
子图内平衡(寻找错误,图本身出现问题):
- 黑洞情况:加工只有输入没有输出。
- 奇迹情况:加工只有输出没有输入。
- 正常情况:有输出有输入。
答题技巧:
1、详细分析试题说明
题干分析,要把每一句话对应起来,不要笼统分析。
比如:数据库管理员是一个外部实体;说明图中必然包含数据库管理员且为一个实体。
2、利用数据平衡原则
主图与子图要数据平衡,在主图和子图中的数据流是否匹配,这是解题的技巧也是关键。
比如:主图中有修改数据这一条数据流,但是子图没有,那么子图必然缺少了这条数据流。
解题流程:
- 大体的看结构。
- 看题目,首先回答概念类的问题。
- 通过阅读题干,先找出系统管理的关键字,各个外部实体根据相应的描述对应上去,对应出外部实体,当遇到不确定的外部实体,可以继续往下看,利用排除法确定外部实体。
- 找出子图的文件,方法差不多。
- 查找子图缺少的数据流,首先与父图比较,找出缺少的数据流,可以对外部实体进行数据流的匹配,看数量是否一致。
- 分析系统中缺少的数据流,可以通过加工本身是否有错误,如果没有就从题干寻找,然后一一对应下来,最终把缺少的数据流寻找出来。
数据库设计
特征:题目比较固定,掌握基础知识。
内容掌握:
- 数据库设计过程
- ER模型
1、数据库设计过程(了解)
2、ER模型
实体间联系类型:
转换的基本原则:实体与联系分别转换成关系,属性则转换成相应关系的属性。
1对1:可以转合并到任何一边。
1对多:只能转合并到多的一边。
多对多,必须单独出来。
答题技巧
1、详细分析试题说明
ER模型的补充,关系模式的补充等。
2、熟练掌握基本知识
解题流程:
- 先看问题,查看问题格式,比如关系模式的格式,n:m那写的时候要对应。
- 分析关系模式的问题时,不要只凭自己的感觉,要返回题干,找出题干中的说辞,从两个维度,对应出对应关系。
- 寻找单独出现的实体,没有任何连接,对它进行分析,因为它必然是问题的所在。
- 对于补充属性时,一定要注意关系模式,一般不仅仅只缺少实体的属性,还需要考虑关系模式的属性,是否存在。
UML建模
特征:稳定出题一个,因为图比较多,掌握知识面较多,相比前两题多难,但一般用例图和类图会比较多,所以要首先搞清楚,先掌握两个图,再去分析其他图。
用例图
考察方式:
1、用例中的完整描述,分析哪个位置的名字或者角色。
2、根据两个用例之间分析出它们是什么关系,是包括关系(include)还是扩展关系(extend)或者泛化模式(generalization)。
注:区分包含关系和扩展关系,最主要是分析出是不是必须的,如果必须的,是包含,否则就是扩展。
类图和对象图
考察方式:
1、填类名(主要高),方法名,属性名(低)。
2、填多重度。
3、填关系。
主要了解泛化(对类)、组合、聚合、实现(对接口)。
顺序图
核心在消息上。根据处理流程分析几号消息是干什么的,其次填对象之类的。
活动图
与程序流程图非常接近。合并分离、分离合并、分支。
考察:类似其他一样,扣除关键部分进行考察。
答题技巧:与其他图一样可以通过把图画出来。
状态图
以状态为节点,从一种状态由于有一种触发事件,从而变为另一种状态。
考察:给你一种系统描述,由状态的变迁中,扣除一些关键,让我们填写。
答题思路:总共有几种状态,由该状态变成另一种状态又需要什么条件,把这些转化为图就可能很好的解决状态图。
通信图
与顺序图一起统称为交互图。
考察:扣除、填空,通信图和顺序图,顺序图主要考察时间顺序。
数据结构及算法
特点:不要求高分,要把基本的分拿到,这比较简单(6-8分)
考察:
- 分治法(递归技术、二分查找):单独拆分,与原问题一致。
- 回溯法:优先搜索法,深度优先,当走不通,返回一步重新开始。(迷宫问题)
- 贪心法:部分最优。(局部最优解)
- 动态规划法:与分治相似,但是子问题之间有联系,一般通过表来记录,只需要调用各个问题的结果。(全局最优解)
答题思路:
- 面对代码填写,先不急写,往下看题目。
- 分析算法是什么算法,计算时间复杂度、空间复杂度。(计算时间复杂度空间复杂度还需要多加了解)
- 注:分析问题,那些问题需要先解决,那些问题可以后面解决,要合理的进行安排。
面向对象程序设计
特点:比较难。对C++或者JAVA比较了解的基础上,还要对这些逻辑结构有些了解。
答题思路:
- 首先把部分知识点把握,在这些空一些语法或者定义这些简单的填空要把握。
- 其他比较难的就看发挥。
语法要点:
C++类与派生类的定义:
C++构造函数(相比较多)与析构函数(几乎没出现过)
C++虚函数(较多)