软件工程概述
一、数据流图(DFD图)
1、数据流图基本概念
2、数据流图平衡原则
(1)父图与子图的平衡(父图中有的数据流,在子图中也必须有,可以一一对照检验)
(2)子图内平衡(既要有输入也要有输出)
3、数据流图答题技巧
(1)详细分析试题说明
例:数据库管理员可通过中间件进行用户管理、操作管理和权限管理。用户管理员维护用户信息,用户信息(用户名、密码)存储在用户表中;操作管理维护数据实体的标准操作及其所属的后端数据库信息,标准操作和后端数据库信息存放在操作数中;权限管理维护权限表,该表存储用户可执行的操作信息。
解:通过分析试题,可得出以下:
①数据管理员是一个外部实体;
②中间件有“用户管理”,“操作管理”,“权限管理”这些加工;
③中间件有“用户表”这个数据存储,且该存储与“用户管理”相关;
④后端数据库是一个外部实体;
⑤中间件有“操作表”这个数据存储,且该存储与
“操作管理”有关;
⑥中间件有“权限表”这个数据存储,且该存储与“权限管理”有关。
(2)利用数据平衡原则
4、数据流图例题
例题1:
答:
问题1:E1为前端管理;E2为数据库管理员;E3为后端数据库。
问题2:D1为用户表;D2为操作表;D3为权限表。
问题3:
问题4:黑洞(无输出),奇迹(无输入),输出结果不正确。
例题2:
①顶层数据流图
②二层数据流图
③三层数据流图——销售子系统
二、数据字典(DD)
1.数据字典的符号含义
2、数据字典例题
例题1:
请给出安徽汽车的车牌号码的数据字典定义,如合肥的车牌是“皖A-23002”,芜湖的车牌是“皖B-00235”等,只考虑后面五位是数字的情况。
答:车牌号码=皖[A-Z]-5{数字}5
例题2:
某个航空售票系统需要保存所有的航班信息,每个航班的属性包括航班号、出发地、目的地、若干个中途停靠站、头等舱座位数量及价格(固定)、普通舱座位数量及价格。有些航班没有头等舱,采用数据字典描述航班信息。
答:航班信息=航班号+出发地+目的地+{停靠站}+(头等舱数量)+(头等舱价格)+普通舱数量+普通舱价格
例题3:
请给出购书申请的数据字典定义:一份申请对应一个学生,内容包括学生的学号、姓名、班级和他(她)所领全部教程的书号、书名和数量。其中学号由阿拉伯数字组成,姓名可选。
答:购书申请=学号+(姓名)+班级+{书号+书名+数量}
学号={数字}
三、加工规格说明(PSPEC)
例题1:
某公司为推销人员制订了奖励办法,把奖金与推销金额及预收货款的金额挂钩。凡每周推销金额不超过10000元的,按预收货款是否超过50%,分别奖励推销额得6%或4%。若推销金额超过10000元,则按预收货款是否超过50%,分别奖励推销额得8%或5%。对于月薪低于1000元的推销员,分别另发鼓励奖300,200和500、300元。试分别采用判定表和判定树为DFD图中用来“计算奖金”的加工写出PSPEC。
①判定表描述加工说明:
条件 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
推销金额 | <=10000 | <=10000 | >10000 | >10000 |
预收款 | <=50% | >50% | <=50% | >50% |
动作 | ||||
奖金率 | 4% | 6% | 5% | 8% |
如果推销员月薪<1000另加奖金 | 200 | 300 | 300 | 500 |
②判定树描述加工说明:
例题2:
一个加工用来完成商店促销活动中的金额计算,规定:消费不超过100元,享受8折;消费100-500享受7折;消费超过500享受6折。且如果是会员则再减20.
答:
用判定树描述加工说明:
四、E-R图
1、一对一联系
如果实体集A与实体集B之间存在联系,并且对于实体集A中的任意一个实体,实体集B中至多只有一个实体与之对应;而对实体集B中的任意一个实体,实体集A中至多只有一个实体与之对应,则称为实体集A到实体集B的联系是一对一的,记为1:1。
例:
关系模型:
方案1:
职工(职工号,姓名,年龄)
产品(产品号,产品名,价格)
负责(职工号,产品号)
方案2:
职工(职工号,姓名,年龄,产品号)
产品(产品号,产品名,价格)
方案3:
职工(职工号,姓名,年龄)
产品(产品号,产品名,价格,职工号)
在需要找产品负责人时,方案3比较合理
2、一对多联系
如果实体集A与实体集B之间存在联系,并且对于实体集A中的任意一个实体,实体集B中可以有多个实体预知对应;而对实体集B中的任意一个实体,实体集A中至多只有一个实体与之对应,则称实体集A到实体集B的联系是一对多的,记为1:n。
例:
关系模型:
方案1:
仓库(仓库号,地点,面积)
产品(产品号,产品名,价格)
仓储(仓库号,产品号,数量)
方案2:联系形成的关系与n端对象合并
仓库(仓库号,地点,面积)
产品(产品号,产品名,价格,数量,仓库号)
方案2较优
3、多对多联系
关系模型:
学生(学号,姓名,年龄,性别)
课程(课程号,课程名,学时数)
选修(学号,课程号,成绩)
五、用例图
例题:
在《财务报销系统》中,员工把原始发票交给出纳,出纳对此发票建立一张电子凭证,电子凭证提交主办会计(主管)审核。如主管审核不通过的退回出纳,出纳拒绝支付报销款;如审核通过且报销金额不超过1万元的通知出纳支付报销款;如审核通过且报销金额超过1万元的,提交财务经理(经理)审批。经理审批通过的直接通知出纳付款;审批不通过的通知出纳拒付款。给出系统的参与者,每个参与者的用例及用例图。
答:
系统参与者包括:出纳,主办会计,财务经理;
出纳功能:制作凭证,拒付款,付款
主办会计功能:审核凭证,退回凭证,通知付款,提交审批
财务经理功能:审批凭证,退回凭证,通知付款
用例图:
六、DFD图到SC图
1、变换型结构的系统
**逻辑输入:**离物理输入最远、仍被看成系统输入的数据流。
**逻辑输出:**离物理输出最远、仍被看成系统输出的数据流。
2、事务型结构的系统
3、同时存在两类结构的系统
如:
分支的分辨方法:
同时执行:变换
只执行一条:事务
4、变换映射
(1)划分DFD图的边界
(2)建立初始SC图的框架
①顶层都只含一个用于控制的主模块。
②第一层包括传入、传出和中心变换三个模块。
(3)分解SC图的各个分支。
5、事务映射
(1)在DFD图上确定边界
①事务中心
②接受部分(包括接受路径)
③发送部分(包括全部动作路径)
(2)画出SC图框架
DFD图的三个部分分别映射为事务控制模块,接受模块和动作发送模块。
(3)分解和细化接受分支和发送分支。
①根据各分支的特性进行变换映射或事务映射。
②动作分支可划分为处理层、事务层、操作层、细节层。
③大型系统往往变换型和事务型交织在一起的混合结构。
6、例题
销售子系统系统DFD图:
SC图基本框架:
将销售子系统DFD图分界:
销售子系统SC图:
七、测试
1、黑盒测试
(1)等价分类法
例题1:
例题2:
(2)边界值分析法
例题:
2、白盒测试
例题:
(1)语句覆盖
(2)判定覆盖
(3)条件覆盖
(4)判定/条件覆盖
(5)条件组合覆盖