软件设计师:案例分析题
试题一 数据流图
一般四问 结构化开发方法
- 外部实体:E
- 数据存储:D
- 加工:P
- 数据流:箭头
本系统之外的实体
xx表、xx文件
- 黑洞:加工只有输入没输出
- 白洞:加工没有输入有输出
- 灰洞:加工输入数据不足以产生输出数据
很重要:数据流的起点或终点必须有一个是加工
问题1 给出外部实体名称
阅读理解题
问题2 给出数据存储名称
xx表、xx文件
阅读理解题
问题3 补充缺失数据流 起点终点建议写字母
方法一和二找最明显的 其它的通过方法三全部找出
方法一 父图子图平衡
子图和父图对比 找父图有/子图没有的数据流
方法二 加工既有输入数据流又有输出数据流
不能满足输入/输出都有 缺失数据流
方法三 数据守恒
纯阅读理解 对着题目一条一条比较
结构化语言对加工逻辑进行描述
IF ... THEN
...
ELSE
...
ENDIF
ELSE IF ...
...
ENDIF
试题二 数据库设计 E-R图 关系模式
实体 矩形
双线矩阵为弱实体 实体存在时才存在
职员是飞行员、机械师、管理员的父类
属性 椭圆形
联系 菱形
关系模式
- 关系模式:对关系的描述
关系名(属性名1,属性名2,……,属性名n)
-
候选码(键):属性或属性组合,其值唯一标识一个元组
-
主码(键):多个候选码中选择一个作为主码
-
外码(键):非本关系的码,但是另外一个关系的码
把E-R图中实体转换为关系模式:
- 实体名对应关系模式名称
- 实体属性转换为关系模式的属性
- 实体标识符是关系的码(键)
问题1 补充E-R图的联系
问题2 补充关系模式缺失属性 给出主键/外键
一个空可能填多个属性
- 一对多联系:一方的主键添加给多方的关系模式中
- 多对多联系:双方的主键添加给对方的关系模式中
试题三 UML 类图+用例图考的多 状态图 活动图
17年之后只考类图+用例图
问题是补充用例图和类图缺失部分
依赖(虚线箭头)
一个类依赖于另一个类
独立事物发生变化会影响依赖事物的语义
关联(实线)
关联上可以标注重复度和角色
0..1:0个或1个
0..*:0个或多个
2种特殊的关联:聚合、组合
左边是部分,右边是整体
- 聚合:部分和整体生命周期不一致,部分可以脱离整体。
- 组合:部分和整体生命周期一致,整体消失部分也消失。
泛化(实线空心箭头)
子类指向父类
实现(虚线空心箭头)
实现接口,基本不考
类图
用例图
用例:圆圈
参与者:火柴人
包含关系
包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。表示符号:<<include>>
执行基用例一定执行被包含用例
扩展关系
用一个用例(可选)扩展另一个用例(基本例)的功能,将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。表示符号:<<extend>>
泛化关系
试题六 设计模式
问题是代码填空
看命吧
试题四 算法
看命吧