软件工程期末复习
前言
一、考点汇总
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:1、1:n、n:m三种。我们来分别举例说明。
(2)E-R 模型转关系模式
①1:1
E-R图
关系模式:
职工(职工号,姓名,年龄)
产品(产品号,产品名,价格)
负责(职工号,产品号)
②1:n
E-R图
关系模式:
仓库(仓库号,地点,面积)
产品(产品号,产品名,价格)
仓储(产品号,仓库号,数量)
③n:m
E-R图
关系模式:
学生(学号,姓名,年龄,性别)
课程(课程号,课程名,学时数)
选修(学号,课程号,成绩)
④ 1:n:m
方法:把1端实体主码加入n和m(eg:课程号)
E-R图
关系模式:
课程(课程号,课程名,学分,学时)
教师(教师号,教师名,性别,职称,课程号)
参考书(书号,书名,出版社,主编,课程号)
⑤ p:n:m
E-R图
关系模式:
供应商(供应商号,供应商名,地址)
零件(零件号,零件名,单价)
产品(产品号,产品名,型号)
供应(供应商号,零件号,产品号,数量)
(3)实战演练
例题:设有商店和顾客两个实体。“商店”有属性:商店编号、商店名、地址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。
①试画出ER图,并注明属性和联系类型。(5分)
②将E-R图转换成关系模型 ,并注明主码和外码 (5分)
商店(商店编号,商店名,地址,电话)
顾客(顾客编号,姓名,地址,年龄,性别)
消费(商店编号,顾客编号,消费金额,日期)
2.系统数据流图
(1)基础概念
先要了解基本构图元素
圆角的矩形表示变换数据的处理
(2)实战演练
①题目
例题:假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。画出数据流图。
②拆解题干
采购部需要订货报表(按零件编号排序,列出需要再次订货的零件(零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者))
零件入库或出库称为事务,通过仓库中CRT终端把事务报告给订货系统。
当某种零件的库存数量少于库存量临界值时就应该再次订货。
题干简要如下图
③分析题干
解题目标:找到源点、终点、数据处理、数据存储、数据流动方向
Ⅰ.找数据源点、终点
分析题干,工厂有采购部,采购部需要订单报表,那就需要生成报表的订单系统。零件出入库,库存会随之变化,自然需要库存管理系统。
流程如下:
零件通过库存系统,出库,经订单系统生成报告,最后送到采购部。
则顶层流图如下
Ⅱ.分析数据处理
订货过程涉及两块数据流动,零件库存量的增减和订单报表的生成。
所以,需要两个数据处理模块,处理事务和产生报表,将其替代原来的订货系统,如下图。
Ⅲ.分析数据存储
数据有两个处理模块,分别是处理事务和产生报表。
处理事务对应的数据是零件库存量,数据存储是库存清单。
产生报表对应的数据是订货的信息,数据存储是订货清单。
Ⅳ.分析数据流动方向
根据题干:“零件入库或出库称为事务”
处理事务就是处理库存变化,变化通过仓库清单和库存清单双向流通体现,库存变化后需要在订货信息中有所体现,故产生订货信息的输出。
产生报表的前提是要有订货信息的输入,故添加输入流
至此,大体轮廓已经出现,开始画数据流图!
④画数据流图
画数据流图想要一招解决很难,步步为营才是最好的选择。
首先画出顶层数据流图;其次对顶层数据流图进行分析,把抽象模型细化,体现模块的功能,画出0层数据流图;最后对0层进行功能再细化,画出1层数据流图。
这里很重要的一点,画数据流图重点是描绘“做什么?”而不是“怎么做?”。
举个例子,张三去超市买菜,可以展示张三是通过乘车前往超市,但他怎么找到出租车,怎么坐到超市门口,以及怎么挑菜,这些不必体现。
Ⅰ.顶层数据流图
分为三块,数据源点,数据过程,数据终点。
Ⅱ.0层数据流图
对订货系统的功能进行细化。
首先要对仓库管理员发出的事务进行处理,即处理事务功能。
其次对采购员接收的订货报表进行功能分配,即产生报表功能。
最后,处理事务功能分为两块,从库存中取货和填写订货信息,从而产生两个数据流,库存清单和订货信息;产生报表的前提是有订货信息,故有订货信息输入流。
Ⅲ.1层数据流图
对功能再细化,我们对上图进行分析,以上出现两个功能模块,分别是处理事务和产生报表。
产生报表的唯一前提是有订货信息,而订货信息来自处理采购员订单的结果,故新增处理订货功能;
订货功能的前提是库存增减的结果体现,故新增更新库存清单功能;
更新库存功能的前提是接收到执行事务的命令,故新增接收事务功能。
通过对单一影响变量逆推的过程,进一步完善数据流图。
3.程序流程图
(1)基础概念
①基本构图符号
②基本结构
Ⅰ.顺序结构
Ⅱ.选择结构
Ⅲ.while 循环结构
Ⅳ.do while 循环结构
Ⅴ.case 循环结构
(2)实战演练
例题:根据下面程序画出程序流程图和N-S盒图
START IF p THEN WHILE q DO f END DO ELSE BLOCK G N END BLOCK END IF STOP
程序流程图:
N-S盒图:
4.N-S盒图
(1)基本结构
①顺序结构
先执行A后执行B
②条件结构
如果条件P成立,执行A,否则执行B
成立(T)(Y)
不成立(F)(N)
③while 循环结构
先判断后执行,当P1条件成立的情况下,反复执行A语句,直到P1条件不成立为止
④do while结构
先执行后判断,当P1条件不成立的情况下,反复执行A语句,直到P1条件成立为止
(2)实战演练
例题:输入三角形三边长,判断三遍构成的是等边,等腰,还是一般三角形,画出N-S盒图
4.状态图
状态图有三种状态,分别是初态,中间态和终态
(1)基本符号
(2)实战演练
例题:公交车状态图