24-25-2-软件工程-期末

一、填空题

  1. 极限编程中用户有两项任务,分别是编写 和验收测试用例。

  2. 领域模型使用UML类图描述业务背景,使用UML 描述业务流程。

  3. 软件设计模块需要编制两份说明文档: 和详细设计说明书。

  4. 软件模块独立性原则描述的是模块的内聚性和

  5. 面向对象设计中交互图的主要任务是确定软件对象并为其

  6. 源程序文档化主要体现在为代码进行序言性注释和

  7. 软件测试的三个条件是 和测试工具。

  8. 软件开发计划的三个要素是 【暂无答案】 和资源分配。

三、选择题

  1. 在需求优先级已经比较明确的情况下,应使用以下哪一项生命周期模型 ( )
  1. 某程序使用等价类划分构造测试用例,其中有效等价类有3个,无效等价类有4个,请问最少需要设计多少组无效测试数据 ( )

四、简答题

1.

请结合课程作业2给出软件设计的主要活动有哪些。

2.

针对用例给出动态结构设计所必须具备的已知条件。

4.

请解释《集成测试》的作用和测试结果?并说明《集成测试》的实施人是谁?

2.

已知有如下程序片段:

public void processOrder(int quantity,boolean isMember){
	double price = 100.0;
	double discount = 0.0;

	if (quantity > 10 && isMember)
		discount = 0.15;
	else if (quantity > 10)
		discount = 0.12;
	else if (isMember)
		discount = 0.05;
	else
		discount = 0.02;

	if (discount > 0.15)
		discount = 0.15;

	price = price * (1 - discount);
	System.out.println("结果:" + price);
}
  1. 给出上述代码对应的程序控制流图(控制节点以代码标记)。
  2. 用基本路径法计算控制流图的环路复杂度。
  3. 给出一组基本路径集。

六、

学生和老师在校医院大厅自助挂号机进行挂号的流程如下:

  1. 将一卡通放置在挂号机的识别器上;
  2. 选择挂号;
  3. 选择问诊的科室;
  4. 扫描二维码进行支付;
  5. 获取挂号单;
  6. 完成一次挂号。

问题:

  1. 说明参与流程的角色,给出用例并绘制用例图;
  2. 对于上述用例图,画出系统顺序图;
  3. 对系统顺序图中的第二、三条指令,给出其操作契约;
  4. 对系统顺序图中的第二、三条指令,画出交互图。