第一题 数据流图
名词 | 解释 |
---|---|
外部实体 | 系统外部现实世界存在的物体 矩形表示 |
数据存储 | 一般都是数据库表名 矩形表示 |
数据流 | 数据如何在系统中流动和传输 |
加工/数据处理 | 系统的计算或者操作 圆角矩阵表示 |
数据流图等级 | 数据流图等级是指所涉及的数据项和处理的复杂程度 |
采用结构化语言对xxx的加工逻辑进行描述
IF ELSE THREN ENDIF
如何保持数据流图平衡:子图的输入/输出数据流必须与其父图对应加工的输入/输出流保持一致
- 父图中的加工的输入输出数据流要和子图中的加工的输入输出流保持一致
- 父图中的一个输入或输出流对应着子图多个输入输出流
- 子图中组合这些数据流的数据项恰好是父图这一条数据流
分解子加工
需注意黑洞、奇迹、灰洞这三种常见错误:
黑洞是指只有数据输入、没有数据输出的数据加工;
奇迹是指没有数据输入只有数据输出的数据加工:
灰洞是指有输入数据流却没有输出数据的加工。
第二题 E-R图 逻辑结构设计
1 注意添加实体时: 弱实体要用双矩形
2 补充表的属性及完整性约束关系:
方法:先把属性写出来,然后写这个表的主键和外键分别是什么
第三题 UML用例图与类图
1 数据库关系模式的依赖传递
员工关系是否存在依赖。A→B,B→C可得 A→C,此为存在依赖
2 对用例进行描述:就是把这个用例会进行什么操作都写出来
UML用例图中的关系包含(include)和扩展(extend)
extend关系就是可能会需要用这个这个功能
include就代表必须要先完成这个功能
补全用例图:用例图中椭圆部分中的是动作描述
1.类图,类有时候需求分析中未给出 需要自己拟定一个 类名不能包含动词
关系
- 泛化
- 实现
- 依赖 (A--->B B依赖A)(单向依赖或者双向依赖)
- 关联(聚合(部分-整体 "has-a"弱关系)
- 组合(生命周期一致 "is a"强关系)
2.用例图,用例之间的关系
- 包含 << include >> a功能包含b功能(用例)
- 扩展 << extend >> 一个用例扩展另一个用例
- 泛化 << generalization >> 是一种继承关系
第四题 算法题
1.算法策略
- 动态规划
子问题不独立,依赖其他'位置'的数据
- 回溯法
递归
- 贪心法
每一步找最优
- 分治法
子问题是独立的
归并排序
2.时间复杂度
- 找到所给代码的最大循环层数
3.代码补全
第五题 填代码
1 调用父类无参构造方法是super();
2 小数默认是double类型,所以如果变量是double类型就不需要加d了
3 抽象类abstract class 里方法没有方法体,要加abstract关键字,有方法体就不用;
接口interface里的方法不需要用publc修饰**,**也不用加abstract 修饰
4 子类使用父类的属性和方法都不需要加this和super,千万不能加