软件工程期末复习
- 前言
- 一、考点汇总
-
- 1.设计E-R图,转关系模式
-
- (1)设计ER图
- (2)E-R 模型转关系模式
-
- ①1:1
- ②1:n
- ③n:m
- ④ 1:n:m
- ⑤ p:n:m
- (3)实战演练
- 2.系统数据流图
-
- (1)基础概念
- (2)实战演练
-
- ①题目
- ②拆解题干
- ③分析题干
-
- Ⅰ.找数据源点、终点
- Ⅱ.分析数据处理
- Ⅲ.分析数据存储
- Ⅳ.分析数据流动方向
- ④画数据流图
-
- Ⅰ.顶层数据流图
- Ⅱ.0层数据流图
- Ⅲ.1层数据流图
- 3.程序流程图
-
- (1)基础概念
-
- ①基本构图符
- ②基本结构
-
- Ⅰ.顺序结构
- Ⅱ.选择结构
- Ⅲ.while 循环结构
- Ⅳ.do while 循环结构
- Ⅴ.case 循环结构
- (2)实战演练
- 4.N-S盒图
-
- (1)基本结构
-
- ①顺序结构
- ②条件结构
- ③while 循环结构
- ④do while结构
- (2)实战演练
- 4.状态图
-
- (1)基本符
- (2)实战演练
- 5.活动图
-
- (1)基本符
- (2)实战演练
- 6.用例图
-
- (1)基本符
-
- ①三个元素
- ②四个关系
-
- Ⅰ 关联
- Ⅱ 泛化
- Ⅲ 包含
- Ⅳ 扩展
- (2)实战演练1
- (3)实战演练2
- 7.类图
-
- (1)构成要素
- (2)基本关系
-
- ①继承
- ②实现
- ③关联
- ④依赖
- ⑤聚合(包含)
- ⑥组合(拥有)
- (3)实战演练
- 8.程序图(顺序图/程序控制流图)
-
- (1)基本概念
- (2)计算环形复杂度
- 9.常见软件过程模型的特点
-
- (1)实战演练
- 二、知识点汇总
-
- 1.软件危机
-
- (1)概念
- (2)主要表现
- (3)软件危机产生的原因:
- 2.结构化设计方法的步骤
- 3.软件设计的过程
- 4.黑盒测试法
- 5.软件设计的原则
- 6.软件测试的目的
- 三、题目练习
-
- 1.设计测试用例
-
- (1)例题1
- (2)例题2
- (3)例题3
- (4)例题4
- 2.画程序流程图,计算复杂度
-
- (1)例题1
前言
文章较长,以下是简要目录
序 | 文章内容 |
---|---|
1 | 设计E-R图,转关系模式 |
2 | 系统数据流图 |
3 | 程序流程图 |
4 | N-S盒图 |
5 | 状态图 |
6 | 活动图 |
7 | 用例图 |
8 | 程序图 |
9 | 软件危机 |
10 | 结构化设计方法的步骤 |
11 | 软件设计的过程 |
12 | 黑盒测试法 |
13 | 软件设计的原则 |
14 | 软件设计的目的 |
15 | 题目练习 |
…… | 未完待续…… |
一、考点汇总
1.设计E-R图,转关系模式
(1)设计ER图
首先要了解,矩形,椭圆,菱形分别对应ER图中的实体、属性和关系,根据题意画图,具体操作略
关系模式:
职工(职工 ,姓名,年龄)
产品(产品 ,产品名,价格)
负责(职工 ,产品 )
②1:n
E-R图
关系模式:
学生(学 ,姓名,年龄,性别)
课程(课程 ,课程名,学时数)
选修(学 ,课程 ,成绩)
④ 1:n:m
方法:把1端实体主码加入n和m(eg:课程 )
E-R图
关系模式:
供应商(供应商 ,供应商名,地址)
零件(零件 ,零件名,单价)
产品(产品 ,产品名,型 )
供应(供应商 ,零件 ,产品 ,数量)
(3)实战演练
例题:设有商店和顾客两个实体。“商店”有属性:商店编 、商店名、地址、电话,“顾客”有属性:顾客编 、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。
①试画出ER图,并注明属性和联系类型。(5分)
(2)实战演练
①题目
例题:假设一家工厂的采购部每天需要一张订货 表, 表按零件编 排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编 ,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务 告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。画出数据流图。
②拆解题干
- 采购部需要订货 表(按零件编 排序,列出需要再次订货的零件(零件编 ,零件名称,订货数量,目前价格,主要供应者,次要供应者))
- 零件入库或出库称为事务,通过仓库中CRT终端把事务 告给订货系统。
- 当某种零件的库存数量少于库存量临界值时就应该再次订货。
题干简要如下图
Ⅱ.分析数据处理
订货过程涉及两块数据流动,零件库存量的增减和订单 表的生成。
所以,需要两个数据处理模块,处理事务和产生 表,将其替代原来的订货系统,如下图。
Ⅳ.分析数据流动方向
根据题干:“零件入库或出库称为事务”
处理事务就是处理库存变化,变化通过仓库清单和库存清单双向流通体现,库存变化后需要在订货信息中有所体现,故产生订货信息的输出。
产生 表的前提是要有订货信息的输入,故添加输入流
Ⅱ.0层数据流图
对订货系统的功能进行细化。
首先要对仓库管理员发出的事务进行处理,即处理事务功能。
其次对采购员接收的订货 表进行功能分配,即产生 表功能。
最后,处理事务功能分为两块,从库存中取货和填写订货信息,从而产生两个数据流,库存清单和订货信息;产生 表的前提是有订货信息,故有订货信息输入流。
3.程序流程图
(1)基础概念
①基本构图符
Ⅱ.选择结构
Ⅳ.do while 循环结构
(2)实战演练
例题:根据下面程序画出程序流程图和N-S盒图
程序流程图:
4.N-S盒图
(1)基本结构
①顺序结构
先执行A后执行B
③while 循环结构
先判断后执行,当P1条件成立的情况下,反复执行A语句,直到P1条件不成立为止
(2)实战演练
例题:输入三角形三边长,判断三遍构成的是等边,等腰,还是一般三角形,画出N-S盒图
5.活动图
(1)基本符
和状态图类似,初态用实心表示,终态用环形表示,圆角矩形代表活动,菱形代表分支,横线黑线代表并发。
(2)实战演练
例题:下面的文字描述了某大学新生 到的过程:
新生首先要填一张新生注册表单。如果填写不正确,则在别人的帮助下重新填写,直至填写正确,然后进行注册。注册成功之后,要进行开学典礼,同时在新生选课系统中注册,然后交齐第一个学期的学费。 画出活动图。
②四个关系
Ⅰ 关联
适用于参与者和用例之间,通常由参与者指向用例。
用单向实箭头表示
Ⅲ 包含
适用于用例和用例直接,由复杂用例分解出简单用例
用虚线箭头表示
(2)实战演练1
例题:在火车票预订系统中,客户可以进行购买车票、退订车票、查询余票和查询列车时刻四个操作。不管是购买车票还是退订车票,用户都必须先进行登录系统操作。其中查询列车时刻主要包括按站站查询和按车次查询两种方式。如果在登录系统的过程中忘记密码,则还可使用找回密码功能。画出用例图。
7.类图
(1)构成要素
类图由类的名称、字段和属性、方法,三部分构成。
其中“+” 表示public;“-“ 表示private;”#”表示protected
比如
第一层“动物”是类的名称;
第二层“+有生命”是动物的属性;
第三层“+新陈代谢+繁殖”是动物具有的方法。
②实现
飞翔实现了“飞行”方法
表示方法:虚线+空心箭头
④依赖
动物需要水和氧气才能生存
表示方法:虚线箭头
⑥组合(拥有)
鸟和它的翅膀体现了部分和整体的关系,即组合关系
表示方法:实心菱形 + 实线箭头
8.程序图(顺序图/程序控制流图)
(1)基本概念
程序图可以将程序流程图,N-S图,PAD图映射到图形中。
注意:
- 一个或多个顺序语句可以映射为程序图的一个节点,用带标识的圆表示。
- 一个处理框或判定框可以映射为一个节点
- 程序控制流向用方向箭头表示,且一条边必须终止于一个节点(该节点可以不代表任何含义)
比如下图,可以将2,3分为两个圆表示,也可以合在一起
答案:
第一步:根据题干,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。
第三步:用白盒法验证第三步产生的测试用例的充分性。结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。
(3)例题3
设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2003年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。
答案:
第一步:划分等价类并编 ,下表等价类划分的结果
输入等价类 | 有效等价类 | 无效等价类 |
---|---|---|
日期的类型及长度 | ①6位数字字符 | ②有非数字字符 ③少于6位数字字符 ④多于6位数字字符 |
年份范围 | ⑤在1990~2049之间 | ⑥小于1990 ⑦大于2049 |
月份范围 | ⑧在01~12之间 | ⑨等于00 ⑩大于12 |
第二步:设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编 分别为①、⑤、⑧,设计的测试用例如下:
测试数据 | 期望结果 | 覆盖的有效等价类 |
---|---|---|
202211 | 输入有效 | ①、⑤、⑧ |
202301 | 输入有效 | ①、⑤、⑧ |
203512 | 输入有效 | ①、⑤、⑧ |
第三步:为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据 | 期望结果 | 覆盖的无效等价类 |
---|---|---|
95June | 无效输入 | ② |
20036 | 无效输入 | ③ |
2001006 | 无效输入 | ④ |
198912 | 无效输入 | ⑥ |
200401 | 无效输入 | ⑦ |
200100 | 无效输入 | ⑨ |
200113 | 无效输入 | ⑩ |
(4)例题4
某城市的电话 码由3部分组成,这3部分的名称和内容为:
地区码:空白或3位数字;
前 缀:非‘0’或‘1’开头的3位数字;
后 缀:4位数字。
假定被测程序能接受一切符合上述规定的电话 码,拒绝所有不符合规定的 码,试用等价分类法设计它的测试用例。
答案:
第一步:划分等价类。
下表列出了划分的结果,包括4个有效等价类,11个无效等价类。在每一等价类之后均加有编 ,以便识别
2.画程序流程图,计算复杂度
(1)例题1
已知有一段代码实现了 “输出ABC三个数中的最大值”,要求完成下列问题:
(1)画出代码的流程图
(2)根据该程序流程图画出该程序的流图
(3)计算该流图的环形复杂度
答案:
(1)流程图:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!