复习第二天

软件工程概述

一、数据流图(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)条件组合覆盖

复习第二天
复习第二天