【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图….)

软件工程期末复习

  • 前言
  • 一、考点汇总
    • 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图中的实体、属性和关系,根据题意画图,具体操作略

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

关系模式:

职工(职工号,姓名,年龄)
产品(产品号,产品名,价格)
负责(职工号,产品号)

②1:n

E-R图

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

关系模式:

学生(学号,姓名,年龄,性别)
课程(课程号,课程名,学时数)
选修(学号,课程号,成绩)

④ 1:n:m

方法:把1端实体主码加入n和m(eg:课程号)

E-R图

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

关系模式:

供应商(供应商号,供应商名,地址)
零件(零件号,零件名,单价)
产品(产品号,产品名,型号)
供应(供应商号,零件号,产品号,数量)

(3)实战演练

例题:设有商店顾客两个实体。“商店”有属性:商店编号、商店名、地址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。

①试画出ER图,并注明属性和联系类型。(5分)

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

(2)实战演练

①题目

例题:假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。画出数据流图。

②拆解题干

  1. 采购部需要订货报表(按零件编号排序,列出需要再次订货的零件(零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者))
  2. 零件入库或出库称为事务,通过仓库中CRT终端把事务报告给订货系统
  3. 当某种零件的库存数量少于库存量临界值时就应该再次订货。

题干简要如下图

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)
Ⅱ.分析数据处理

订货过程涉及两块数据流动,零件库存量的增减和订单报表的生成。

所以,需要两个数据处理模块,处理事务产生报表,将其替代原来的订货系统,如下图。

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)
Ⅳ.分析数据流动方向

根据题干:“零件入库或出库称为事务”

处理事务就是处理库存变化,变化通过仓库清单和库存清单双向流通体现,库存变化后需要在订货信息中有所体现,故产生订货信息的输出。

产生报表的前提是要有订货信息的输入,故添加输入流

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)
Ⅱ.0层数据流图

对订货系统的功能进行细化。

首先要对仓库管理员发出的事务进行处理,即处理事务功能。

其次对采购员接收的订货报表进行功能分配,即产生报表功能。

最后,处理事务功能分为两块,从库存中取货和填写订货信息,从而产生两个数据流,库存清单订货信息;产生报表的前提是有订货信息,故有订货信息输入流。

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

3.程序流程图

(1)基础概念

①基本构图符号

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)
Ⅱ.选择结构

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)
Ⅳ.do while 循环结构

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

(2)实战演练

例题:根据下面程序画出程序流程图和N-S盒图

程序流程图:

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

4.N-S盒图

(1)基本结构

①顺序结构

先执行A后执行B

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

③while 循环结构

先判断后执行,当P1条件成立的情况下,反复执行A语句,直到P1条件不成立为止

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

(2)实战演练

例题:输入三角形三边长,判断三遍构成的是等边,等腰,还是一般三角形,画出N-S盒图

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

5.活动图

(1)基本符号

和状态图类似,初态用实心表示,终态用环形表示,圆角矩形代表活动,菱形代表分支,横线黑线代表并发。

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

(2)实战演练

例题:下面的文字描述了某大学新生报到的过程:
新生首先要填一张新生注册表单。如果填写不正确,则在别人的帮助下重新填写,直至填写正确,然后进行注册。注册成功之后,要进行开学典礼,同时在新生选课系统中注册,然后交齐第一个学期的学费。 画出活动图。

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

②四个关系

Ⅰ 关联

适用于参与者和用例之间,通常由参与者指向用例。

单向实箭头表示

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)
Ⅲ 包含

适用于用例和用例直接,由复杂用例分解出简单用例

虚线箭头表示

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

(2)实战演练1

例题:在火车票预订系统中,客户可以进行购买车票、退订车票、查询余票和查询列车时刻四个操作。不管是购买车票还是退订车票,用户都必须先进行登录系统操作。其中查询列车时刻主要包括按站站查询和按车次查询两种方式。如果在登录系统的过程中忘记密码,则还可使用找回密码功能。画出用例图。

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

7.类图

(1)构成要素

类图由类的名称、字段和属性、方法,三部分构成。

其中“+” 表示public;“-“ 表示private;”#”表示protected

比如

第一层“动物”是类的名称;
第二层“+有生命”是动物的属性;
第三层“+新陈代谢+繁殖”是动物具有的方法。

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

②实现

飞翔实现了“飞行”方法

表示方法:虚线+空心箭头

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

④依赖

动物需要水和氧气才能生存

表示方法:虚线箭头

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

⑥组合(拥有)

鸟和它的翅膀体现了部分和整体的关系,即组合关系

表示方法:实心菱形 + 实线箭头

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

8.程序图(顺序图/程序控制流图)

(1)基本概念

程序图可以将程序流程图,N-S图,PAD图映射到图形中。

注意:

  1. 一个或多个顺序语句可以映射为程序图的一个节点,用带标识的圆表示。
  2. 一个处理框或判定框可以映射为一个节点
  3. 程序控制流向用方向箭头表示,且一条边必须终止于一个节点(该节点可以不代表任何含义)

比如下图,可以将2,3分为两个圆表示,也可以合在一起

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)
答案:

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

答案:

第一步:根据题干,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

第三步:用白盒法验证第三步产生的测试用例的充分性。结果表明,上表中的前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个无效等价类。在每一等价类之后均加有编号,以便识别

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)

2.画程序流程图,计算复杂度

(1)例题1

已知有一段代码实现了 “输出ABC三个数中的最大值”,要求完成下列问题:
(1)画出代码的流程图
(2)根据该程序流程图画出该程序的流图
(3)计算该流图的环形复杂度

答案:

(1)流程图:

【软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S盒图、状态图、活动图、用例图....)
(3)
环形复杂度:
V(G) = 边数 – 节点数 + 2 = 9 – 7 + 2 = 4
来源:九芒星#

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月21日
下一篇 2022年7月21日

相关推荐