软件设计师 下午考试

                         软件设计师下午应用题

 

 

需要完整版pdf可自行下载

https://download.csdn.net/download/m0_46491727/20213457

 做题顺序(仅供参考):2/3/1/6/4

其中2/3/6必须满分

一、数据流图

  概要:本题主要考察的数据流图的知识,主要是让写出实体、数据存储、缺失数据流。做好这个题,要利用父图子图平衡,数据流有输入必定有输出,加工的分解。

  答题技巧:

   1)读题。阅读一遍说明,宏观把控整道题描述的是一个什么样的系统,然后用数据流图中的符号画出说明中的外部实体、加工、数据存储,例如看到一个学生实体,用矩形画出来,数据存储用波浪线画出来,数据流用实线画出来

  • 对比和标记(难点)。找缺失数据流
  1. 首先看父图子图的数据项是否对应,然后再去说明中找对应关系。尽量把找到的实体、数据存储名称标记在图中,这样就不用每次看都要解释一遍。
  2. 每个加工都要有进入数据流(黑洞)和出去数据流(奇迹)。
  3. 根据加工和输出数据流判断该输入数据流是否正确。

4.细读文章寻找实体的数据流是否体现在零图中,一般数据存储指向加工(该段的开头名),数据流名为数据存储名比较常见。

注意:如果实体和数据存储找错了,这题基本上凉凉。

  • 寻找关键字(要更加细致,验证和推敲):
  1. 加工名称:每段开头句号前。
  2. 外部实体(与系统有关联):人,物:硬件设备如温度监控器,其他系统:如软件、XX系统。找到实体后,和实体对应这一句话用括号括起来,寻找与该实体有关的数据流和零图对应。之后再找几条与该实体数据流对应,进行验证。
  3. 数据存储(比较难找):XX文件、XX表、XX信息  附近有写入、保存、存储字样,还要根据零图关键词查找效率高,如果很难找出直接填写零图数据存储附近的关键词。
  4. 数据流(需要更加细读文章):附近有提出、生成字样。

 

  • 第四问:采用结构化语言描述某一个加工

 

 

20真题:

 

 

注意:

  1. 1、读题的时候,在题目中把外部实体、存储表甚至数据流都标记出来,最好用不同的标记。

  1. 2、补充数据流的时候,采用图中词语,图中用D2表示,就写D2 ,不用把它转换成具体的内容。

  1. 3、补充数据流要认真找,分数是6分,则数据流很可能是3个或者6个。认真,时间充足。检查的时候,重点检查这里。

二、设计库建模、E-R图 

    概要:主要考察从需求里面抽象出概念模型,转换成逻辑结构模型的过程。一般就是让补充E-R图,补充逻辑结构模型,找主外键。

  答题技巧:

   1)读题、图、表。画出实体名称,实体属性与逻辑结构字段对比,将漏掉的字段标记出来,为以后补充逻辑结构做准备。查看实体联系图和逻辑结构,看看哪个实体对应上了,哪个没有对应上,为以后找主键做准备。

   2)做题。补充E-R图的关系,参照实体间的对应关系,例如一个学生有多个老师,一个老师有多个学生,那学生和老师的关系比为*:*。三元关系尤其要注意。

主键是唯一能标识这个元组的键,一般在说明中会给出。外键是其他关系模式的主键。联合主键分开后是外键。

3)

  1. 难点和核心:
  2. 联系属性要在联系的字段中将与之有关的实体字段全部删除得出或者文章中存在该联系属性
  3. 联系字段要将与之有关实体的主键全写(包括1:1,1:n,m:n),外键需要采用多的一方主键
  4. 填关系模式属性对照文章抄有时候还不够,一定要对照ER图避免遗漏外键,一对一关系的实体,其中每个实体都需要引入对方实体主键,作为外键。一对多需要拿1的一端主键加入多的一端当外键。多对多更要拿。

 

注意:

  1. 1、根据文字描述,补全ER图中的实体或联系。其中的联系类型是1:n还是1:1,考虑的时候要考虑具体的对象。比如一个超市有多个部门。则超市和部门是1:n的关系,不是多对多的关系。得考虑具体的超市,一个部门只在一个超市中,不能是广义的超市,同一个部门在多个超市都有设置。
  2. 2、关系模式要参考ER图和描述来写。
  3. 3、主键的确定是看谁能唯一确定本实体。
  4. 4、外键的确定则看与本实体有几个联系,在根据联系的类型是1:n、1:1还是m:n,来决定外键有谁。一般多少个联系,多少个外键。
  5. 5、关系修改就是关系模式修改。
  6. 6、出题都围绕着实体、联系、联系类型、关系模式、主键、外键来出。
  7. 7、看题需认真,看清要求让写谁的主键、外键。

三、UML图

  概要:主要考察从需求中抽象出UML图,虽然常考用例图、类图,但是其它的图也要准备。

  答题技巧:

  1)读题。标识出参与者、明白整个系统分主功能,次要功能。

  2)对比。让写类名,就从说明或者给定的表格中的英文单词中找。通过类与类之间的关系(实现、继承、聚合)判断类名。多重度要根据说明中给定的关系来判断,不要主观臆断,要从原文中找依据。

注意:多重度是易错点。重点在分析关系。比如聚合,一个是另一个的一部分,但是生存周期结束后仍可以单独存在。找类属性也易错。不要看到英文单词就往上写,要和实际结合。我们不仅仅是在做题,也是在通过UML工具描述生活中的问题。

类图:

1、关系:区分0..*(可以取0、1、多),1..*(可以取1、多),*(不可以取1,必须是多个),1,0..1(0或者1),0..2/3

2、认真分析语言描述,填写多重度,要双向都考虑。

3、对第三问,提出新需求,要对类图进行修改无非修改三类:

1)修改多重度 

2)添加新类

3)用语言描述新类与原有类的多重度关系(参考题目)

用例图

  1. Include箭头指向被包含,包含可以单独运行 如:取钱指向登录
  2. Extend箭头指向主用例,可以判定一个主用例和多个辅用例 如:打折指向订购

四、算法

  概要:大体分两部分。1.填写程序段 2.采用了什么算法、时间复杂度 3.给一个该算法的具体应用,求结果

  答题技巧:

   1)读题。题里面一般会告诉你该算法要怎样做,分几步,一般与代码段对应。认真看注释,联系上下文可能会带给你思路

   2)算法设计策略需要明确这几个算法的核心。时间复杂度要依据for循环的个数。比如贪心算法,就是只顾当下。

   3)如果懂了这个算法的思想,即使代码空填不出来,后面的应用也能填出来。

  注意:算法并不难,但是一定要塌下心来去认真分析,首先书上的典型例子要分析透彻。

五、设计模式

  概要:23个设计模式的应用,主要是给代码段填空。主要考察JAVA设计模式的关键字abstract /extends/implements,如何定义成员变量,构造函数填写,实例化,类与类之间的调用关系

  答题技巧:

   1)读题真的很重要!知道这个代码有几个类,要实现什么功能,过程中用到什么参数。

   2)明确关系在代码中如何体现的。比如组合,一个类包含另一个类的引用和实例化。

   3)熟悉JAVA语法。比如static,如果类里面含有static,可以直接调用该类内部的方法。否则就必须实例化后再使用。

   注意:

  1. this的使用,当类内定义的变量与类内方法的形参名称一样时,为了区分,用this.变量名表示类内定义的变量。
  2. implements/abstract/interface/extends拼写,注意小写,单词尾部加s
  3. 接口与implements对应;extends与abstract class对应
  4. 在实例化对象的时候,要注意末尾的括号——RemoteControl remoteControl=new RemoteControl();
  5. 写类名的时候,类名称后面不能有括号——interface Command
  6. 除了类名,其他的单词首字母都不大写。
  7. 强制类型转换——(类名/数据类型)对象/变量/方法调用
  8. 、在写方法体代码的时候:参数—>对象—>方法
  9. 要根据类图对应代码,把代码走通。
  10. super

 

 

 

例题:

 

 

 

 

需要完整版pdf可自行下载

https://download.csdn.net/download/m0_46491727/20213457

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WQinhao_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值