一、填空题 (10 分, 每空 1 分)
1.1 结构化程序设计语言具有 、 和 三种基本结构。
1.2 给出两种常用的软件开发方法是 和 。
1.3 软件开发过程的几个阶段中中, 解决需要做什么的问题, 解 决如何做的问题, 发现软件中的问题。
1.4 在软件开发完成交付用户使用后,就进入软件维护阶段。软件维护一般有四种类型, 维护、适应性维护、改善性维护和 维护。
二、选择题 (20 分, 每题 2 分)
2.1 软件开发的瀑布模型是 。
- A. 适用于需求被清晰定义的情况
- B. 一种需要快速构造核心产品的好方法
- C. 可以很好的和客户沟通需求
- D. 可以很好的处理风险
2.2 开发人员使用 对数据建模。
- A.用例图 顺序图 C. 类图 D. 状态图
2.3 设计每个模块内部的数据结构和算法。
- 概要设计 B. 数据库设计
- C. 详细设计设计 用户界面设计
2.4 CMM 用来度量 。
- 产品的质量 B. 过程的质量
- C. 商业环境下的质量 以上均不对 2.5-2.6
在分层体系结构中, 接收用户的请求并决定调用哪个模型去处理该请求,以及确 定选择哪个视图来显示返回的数据。 在基于 Java EE 平台开发的软件系统中,常用 技术来实现该层。
(2.5) A. 表示层 B. 控制层 C. 模型层 D. 数据层
(2.6) A. HTML B. JSP C. Servlet D. EJB
2.7 以下四种耦合中,程度最高的是 。
- A. 数据 标记 C. 控制 D. 公共
2.8-2.10 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 设计模式动 态地给一个对象添加一些额外的职责。
下图是 设计模式的类图,该设计模式的目的是使多个对象都有机会处理同一个请
求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条 链传递该请求,直到有一个对象处理它为止。该图中,Handler 和Handler 之间是 关 系, Handler 和 ConcreteHandler 之间是 关系。
(2-8) A. 适配器 | . | 桥接 | C. 装饰 | D. 责任链 |
(2-9) A. 依赖 | . | 关联 | C. 继承 | D. 实现 |
(2- 10) A. 依赖 | . | 关联 | C. 继承 | D. 组合 |
三、判断题(20 分, 每题 2 分)
3.1 软件工程的目标是开发出高质量的软件。
3.2 面向对象开发方法比结构化开发方法可以开发出更好的软件。
3.3 采用瀑布过程模型可以很好的控制开发进度。
3.4 在项目开发过程中需要准确进行成本估算。
3.5 风险管理是软件项目管理的重要内容,采用风险管理可以避免风险的发生。
3.6 需求分析阶段需要确定软件做什么和软件采用什么体系结构。
3.7 设计过程中模块划分,模块越小越好。
3.8 软件实现时,不需要写文档。
3.9 黑盒测试方法是在单元测试阶段常用的方法。
3.10 软件维护不需要花多少时间和成本。
四、简答题(20 分, 每题 5 分)
4.1 简述瀑布模型的优点和缺点。
4.2 简要叙述结构化分析的数据流图。
4.3 简要说明 MVC 模式,及模型-视图-控制器模式。
4.4 简要比较白盒测试和黑盒测试方法。
五、问题求解题(30 分, 每题 15 分)
5.1 下图是一个项目的活动图,顶点表示里程碑,边表示活动,边上的数字表示活动持续时 间(天),请计算:
(1) 活动图的关键路径及其长度。
(2) 活动 0-2 的松弛时间是多少天? 活动 3-6 的松弛时间是多少天?
5.2 下图是一个程序的逻辑流,要完成语句覆盖,请给出所有的测试路径。