我的软考过程及做题总结


   今天4点半,交上答题纸走出考场,十几个人一起等去北京南站的公交。这一次软考算是正式的结束了。近两个月的时间,比较系统的再学校了一下之前学过的东西,复习也有得失,今天做个总结。本来用grindstone统计着各部分准备之间呢,结果一不小心把所有的记录都删除了。。考试结果没下来,没考过就算给自己留下的一个经验吧。

我们整体的计划是这个样子的

 

                     

 

   基本我也是跟着计划走的。9月1到9月30之间穿插着牛腩的学习,算是预热阶段。 j2se的视频 虽然放进软考的复习里面但是个人感觉和软考的关系并不大。不过老师讲的很好,尤其是里面的内存分析。软考视频将的很细致,都怪当初年少无知,看完了视频直到做题的时候会想起一些视频上的东西,但是回去看又要用很长的时间,临考半个月我还在纠结这个问题。都说要做好笔记,可是这个笔记怎么做好,我还要在学习。另外,自己小有疑问的是,可不可以颠倒一下复习的顺序?先用一个星期的时间看书。然后做5套题(从年份早的开始)。每做一套题的时候都严格控制时间。做完一套从书上找到考点,并浏览上下文相关内容。一套题弄懂了再去做下一套题。5套题做完了之后,自己做一个总结。然后再去看视频。这时候,由于对知识有了一定的了解,也通过做题有了一些感觉,再看视频一定会有更多的共鸣,再看到某些内容的时候,也会带着问题去看。这样效果会不会更好?然后把视频看完了还剩5,6套,还按之前做题思想去做。

以上是个人意见。好了,我还是说一些关于考题的吧。

上午题

   上午是75道选择题,考点遍布在书中的每一个你注意不到的死角旮旯。每一章的内容都有,做题到最后,软工部分最拿不准。考点比较多,需要多看,反复看。虽说每年的考题都不一样,但是考点是一致的。

    做完一套题之后,仔细的把书中的相关考点复习复习一遍的同时扫一眼书中的上下文,很有帮助(起初用的时间自然很多,我第一套题用了20个小时)。对有的人来说这是一种笨方法。其实,急于做题,总是想把所有的题都做完再去看课本,这才是舍本逐末不可取的。

    我按照青峰师哥指导的去做。留出2套题 考前找感觉,其他每做一套题都像考试一样来对待。控制时间。做完了仔细分析,补漏洞。等一套卷吃透以后,再去做下一套题。这样,到考前就相当于我们已经是第10多次考试了,而且课本也翻过n遍了,漏洞会越来越少。到考前一星期,再过一遍所有的题,重点理解一下自己的错题。考前三天再做剩下的两套真题,都是来的及的。

    千万不能忽略近年的考题 一定要弄懂考点及相关考点。也要注意时常复习。8号考试,7号晚上,我和彩妍任焱重新讨论了两套选择题和相关考点,就中了几道。。

 

下午题

   数据流图

  1.首先要懂得数据流图设计要略。(参考网上指导)

有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。在绘制时应该注意以下要点:

(1)自外向内,自顶向下,逐层细化,完善求精。

(2)保持父图与子图的平衡。

为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。

顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。

底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。

中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。中间层次的多少,一般视系统的复杂程度而定。

任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数据流必须保持一致,此即父图与子图的平衡。父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。

在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡。

 

(3)保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。每个加工必须有输入数据流和输出数据流,反映此加工的数据来源和加工变换结果。一个加工的输出数据流只由它的输入数据流确定。数据流必须经过加工,即必须进入加工或从加工中流出。

(4)加工细节隐蔽。根据抽象原则,在画父图时,只需画出加工和加工之间的关系,而不必画出各个加工内部的细节。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口时,那么这些数据存储为局部数据存储。

为了强调局部数据存储的隐蔽性,一般情况下,局部数据存储只有作为某些加工的数据接口或某个特定加工的输入和输出时,才画出来。即按照自顶向下的分析方法,某数据存储首次出现时只与一个加工有关,那么这个数据存储应该作为与之关联加工的局部数据存储,在该层数据流子图中不必画出,而在该加工的子图中画出,除非该加工为原子加工。


每个加工必须既有输入数据流,又有输出数据流;在整套数据流图中,每个文件必须既有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读、没有写,或者只有写、没有读。

  2.解题的方法。

(1) 数据平衡原则。

数据平衡原则分为两个方面:

在分层数据流图中,父图和子图要平衡,也就是说,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。

②数据平衡的另一个方面是说:每个加工必须即有输入数据流又有输出数据流,而且一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。

(2) 要特别注意的几个细节问题。

除了流向数据存储(文件)或从数据存储流出的数据流不必命名外,其它每个数据流都必须有一个合适的名字。

②流向文件的数据流,表示写入数据,流出文件的数据流表示读文件。在整套数据流图中,每个文件必须既有读的数据流又有写的数据流,但在某一张子图中可能只有读没有写,或者只有写没有读。

③在逐步精化的过程中,若一个文件首次出现时只与一个加工有关,既该文件是个加工的内部文件,那么该文件在当层图中不必画出,可在该加工的细化图中画出。

  3.解题的技巧。

(1)阅读题干的技巧。快速的阅读第一遍,基本了解题目所涉及到的知识点或者事务,打记实体对象和存储文件,甚至可以将数据流也标记一下;这一步重点落在问题上,一般问题不难,但一定要看清问题。带着问题来看第二遍,边看边解决。

(2)要有整体的概念,不能因一个点符合就断定是它,尤其是数据对象。

(3)解题的过程中,每一条数据流都能够在[说明]中找到相应的语句。

(4)数据流名称要写对

 

二数据库

近几年考察的大都是 1 补充关系2补全属性 3 找主外键 4问答 关于数据库的知识或出现新的需求更改ER图

知识储备:

1关于数据库的一些基础概念

  弱实体,主外键,简单属性复合属性等

   2Er图转关系模式 若甲乙之间为

   1:1 则在甲乙任一实体之间加上另一个实体的主键

   1:n  可再乙中添加甲的主键,或是再添加一个表。加上甲乙的主键

   n:m 生成第三张表。加上甲乙的主键。

做题方法:

我一般是再第一遍读题的时候,标记实体和文中给出的类似唯一的能确定主键的信息。

1根据题中给出的实体之间的联系补充联系。,根据第一问中已经给出的关系模式验证一下。

   a一个实体对应一张表,然后关系为1:n或M:N的再加一张。

     注意弱实体不会再生成一张表,但是题中往往会以弱实体为名,

     表达一个由m:n 生成的新表。

   b题中已知关系中,如果一个实体表中已经包含了另一个实体主键,

    那么我们可以判定这两个实体一定有关系为1:1 或1:m

   c如果第三张表中已经给出了其他实体的主键。那我们补充实体关系的时候,

     一定要注意他们必定有联系为n:m 或1:m

   d而且由于只有主键才能做外键,我们能从已经给出的关系中,验证一些主外键。

2补充关系

  先看题中已经给出的信息。一般题中都会给出一些,例如部门信息包括部门号等等。我们先一一比对给出的和让填的信息是否一致。然后在根据我们画出的ER图,看是否需要其他实体的主键。

3找主外键

 这时候标记的唯一等字眼有用了。主键一般为工号,学号等比较好找。注意的是,有时候需要由2个或以上才能唯一确定。

找外键的方法是,根据已经标记好的主键来找。在一个表中找是否存在其他表的主键。


三 UML图

  考试一般会补充用例,写用例之间的关系。类名,写多重读。根据实际变更需求,更改类图几种形式。

 知识储备是9种图。主要的是时序图 类图用例图 状态图协作图几个。区分extends 和include ,多重度。

 类名一定是名词。

  做题方法是先读题。标记实体名词。标记能确定多重度的语句。例如一个居民只有一个合法选区。

        补充的用例名很好找,关键是根据关系把每个用例放到合适的位置。extends和include

可以根据定义区分。也可以根据用例图来区分。简单的方法就是extends是由单个用例指向整体。而include是由整体指向extends。

四算法

   考试会考 回溯,动态规划,排序,贪心等。熟悉每个算法的思路。

填空一般有赋初值,循环之前的初值,循环的边界条件等 。 可以按照这个思路来填空。当然如果能了解整个算法的实现过程,或是关键步骤填空就更简单了。

五设计模式

     设计模式为填空。一般会填抽象类,还是接口 list中实体的类型。也考察抽象方法,类的调用,赋值,

     客户端等。

     知识储备:熟悉java的语法。

                  明白类图和代码的对应关系。是怎么体现出聚合的,怎么体现关联的等。

                  熟悉23个设计模式的主要特点在代码中的实现。

    我是按照创建 结构 行为三类划分看的。先做了几套设计模式的题再看设计模式会更清楚考点。

一个好的办法就是,看类图,根据客户端的顺序一个个的找到相应的类,在脑子里按照程序的执行

顺序过一遍。这样会清楚很多。

    还有一点,最好标记一下每个设计模式的关键代码。看看几个类之间的关系

    做题方法:extends后边的是抽象类。implements后边是接口。

                     抽象方法名和具体实现名(包括参数)都是一致的。

                     还要注意多态的表现形式。

                    list里的一般为要聚合的类。

                     客户端里传参也要根据原类中的类类型等。

                      最根本的是,理清每一个设计模式的内涵及实现。往往考题的例子都是headfirst的实例,如果有时间每个模式拿出1个小时的时间研究一下。


  

总结:软考是一个好的机会让我们再复习在学习之前学习过的知识,利用这个机会,把我们的知识查找漏洞,编织知识网。

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 35
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值