一生至少该有一次,为了某件事而忘了自己,不求结果,不求曾经拥有,只求在我最美的年华里,遇到你。小篡改了一下席慕蓉的名言,不过用这个来形容软考,感觉再合适不过了。
非常享受软考这个过程,喜欢紧张有序而丰满的生活。
总结一下下午题的答题技巧,希望能对大家有所帮助。
一、数据流图
概要:本题主要考察的数据流图的知识,主要是让写出实体、数据存储、缺失数据流。做好这个题,要利用父图子图平衡,数据流有输入必定有输出,加工的分解。
答题技巧:
1)读题。阅读一遍说明,宏观把控整道题描述的是一个什么样的系统,然后用数据流图中的符号画出说明中的外部实体、加工、数据存储,例如看到一个学生实体,用长方形圈出来,问题1和问题2迎刃而解。
2)对比和标记。找缺失数据流,首先看父图子图的数据项是否对应,然后再去说明中找对应关系。尽量把找到的实体、数据存储名称标记在图中,这样就不用每次看都要解释一遍。只要细心认真,一定能找出来。
注意:一定要使用文章中给的词,数据流起点和终点如果可以写编号的就不要写文字。
结构化分析设计——【软考】里面有我对本考点知识点的整理。
二、E-R图 概要:主要考察从需求里面抽象出概念模型,转换成逻辑结构模型的过程。一般就是让补充E-R图,补充逻辑结构模型,找主外键。
答题技巧:
1)读题、图、表。画出实体名称,实体属性与逻辑结构字段对比,将漏掉的字段标记出来,为以后补充逻辑结构做准备。查看实体联系图和逻辑结构,看看哪个实体对应上了,哪个没有对应上,为以后找主键做准备。
2)做题。补充E-R图的关系,参照实体间的对应关系,例如一个学生有多个老师,一个老师有多个学生,那学生和老师的关系比为*:*。三元关系尤其要注意。
主键是唯一能标识这个元组的键,一般在说明中会给出。外键是其他关系模式的主键。联合主键分开后是外键。
注意:找主外键可能会比较容易错,一定要静下来多分析几套题,多总结。
重识数据库设计——【软考】这里有我总结的详细知识点。
三、UML图
概要:主要考察从需求中抽象出UML图,虽然常考用例图、类图,但是其它的图也要准备。
答题技巧:
1)读题。标识出参与者、明白整个系统分主功能,次要功能。
2)对比。让写类名,就从说明或者给定的表格中的英文单词中找。通过类与类之间的关系(实现、继承、聚合)判断类名。多重度要根据说明中给定的关系来判断,不要主观臆断,要从原文中找依据。
注意:多重度是易错点。重点在分析关系。比如聚合,一个是另一个的一部分,但是生存周期结束后仍可以单独存在。找类属性也易错。不要看到英文单词就往上写,要和实际结合。我们不仅仅是在做题,也是在通过UML工具描述生活中的问题。
四、算法
概要:大体分两部分。1.填写程序段 2.采用了什么算法、时间复杂度 3.给一个该算法的具体应用,求结果
答题技巧:
1)读题。题里面一般会告诉你该算法要怎样做,分几步,一般与代码段对应。认真看注释,联系上下文可能会带给你思路
2)算法设计策略需要明确这几个算法的核心。时间复杂度要依据for循环的个数。比如贪心算法,就是只顾当下。
3)如果懂了这个算法的思想,即使代码空填不出来,后面的应用也能填出来。
注意:算法并不难,但是一定要塌下心来去认真分析,首先书上的典型例子要分析透彻。
五、设计模式
概要:23个设计模式的应用,主要是给代码段填空。主要考察Java设计模式的关键字abstract /extends/implements,如何定义成员变量,构造函数填写,实例化,类与类之间的调用关系
答题技巧:
1)读题真的很重要!知道这个代码有几个类,要实现什么功能,过程中用到什么参数。
2)明确关系在代码中如何体现的。比如组合,一个类包含另一个类的引用和实例化。
3)熟悉Java语法。比如static,如果类里面含有static,可以直接调用该类内部的方法。否则就必须实例化后再使用。
注意:设计模式也是根据生活抽象出来的,只要明确了需求,认真分析,设计模式并不难。
总结:
下午题就是一个阅读理解。把需求翻译成数据流图、E-R图、UML图,然后把需求转化成代码进行算法优化和设计模式架构优化。
软考虽然结束了,但是软考的学习只是弱水三千中浅浅的一瓢。这些基本功还要靠项目来锤炼。未来还有很多美好的事情,等待我们去翻阅。