1. 软件项目管理是( )一切活动的管理。
A. 需求分析 B. 软件设计过程 C. 模块设计 D. 软件生命周期 2. 版本是用来定义软件配置项的( )。
A. 演化阶段 B. 环境 C 要求 D. 软件工程过程 3. 变更控制是一项最重要的软件配置任务,其中“检出”和“( )”处理实现了两个重要的变更控制要索,即存取控制和同步控制。
A. 登入 B. 管理 C. 填写变更要求 D. 审查 4. 在软件工程项目中,不随参与人数的增加而使生产率成比例增加的主要问题是( )。 A. 工作阶段的等待时间 B. 产生原型的复杂性
C. 参与人员所需的工作站数目 D. 参与人员之间的通信困难
5. 软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的( )。 A. 工程管理 B. 成本核算 C. 人员培训 D. 工具开发 6. 软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( )。 A. 设计人员和用户 B. 分析人员和用户 C. 分析人员和设计人员 D. 编码人员和用户 7. 在变更控制中,( )可用来确保由不同用户所执行的并发变更。
A. 异步控制 B. 同步控制 C. 存取控制 D. 基线控制
8. 为使得开发人员对软件产品的各阶段工作都进行周密的思考,从而减少返工,所以( )的编制是很重要的。
A. 需求说明 B. 概要说明 C. 软件文档 D. 测试人纲 9. 以下说法不正确的是( )。 A. 软件配置管理简称SCI
B. 软件配置项是配置管理的基本单位 C. 软件配置实际上是一动态的概念
D. 软件工程过程中某一阶段的变更均要引起软件配置的变更
10. 为使软件项目开发获得成功,必须对( )的工作范围、可能遇到的风险、需要的资源(人、硬件、软件)、要实现的任务、经历的里程碑、花费的工作量(成本)以及进度的安排等做到心中有数。
A. 需求分析 B. 概要设计 C. 软件开发顶目 D. 软件开发进度 11. ( )是软件开发人员为用户准备的有关该软件使用、操作、维护的资料。 A. 开发文档 B. 管理文档 C. 用户文档 D. 软件文档
12. 自底向上估算方法的优点是对每一部分的估算工作交给负责该部分工作的人来做,所以估算( )其缺点是其估算往往缺少与软件开发有关的系统级工作量,所以估算( )。
A. 往往偏低 B. 不太准确 C. 往往偏高 D. 较为准确 13. COCOMO 估算模型是( )。
A. 模块性成本模型 B. 结构性成本模型 C. 动态单变量模型 D. 动态多变量模型 14. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )。 A. 成本的估算 B. 项目计划 C. 工程管理 D. 工程网络图 15. 软件开发规范的体现和指南是( )。
A. 文档 B. 程序 C. 需求分析 D. 详细设计 16. Putnam成本估算经验模型是( )。
A. 模块性成本模型 B. 结构性成本模型 C. 动态单变量模型 D. 动态多变量模型 17. 软件管理的主要职能包括( )。
A. 人员管理、计划管理 B. 标准化管理、配置管理
C. 成本管理、进度管理 D. A和B
18. ( )是在软件开发过程中,作为软件开发人员前一阶段工作成果的体现和后一阶段工作依据的文档。
A. 开发文档 B. 管理文档 C. 用户文档 D. 软件文档 19. 任何项目都必须精心做好项目管理工作,最常用的计划管理工具是( )。 A. 数据流程图 B. 程序结构图 C. 因果图 D. PERT图 20. 在变更控制中,( )管理各个用户存取和修改个软件配置对象的权限。 A. 异步控制 B. 同步控制 C. 存取控制 D. 基线控制
二.填空题
l. 在软件项目管埋中,控制包括________、________、________和 ________。 2. 软件项目计划是由________和 ________共同经过________阶段后制定的。 3. 能协调软件开发,使得混乱减少到最小的方法是使用________。
4. 在软件的生产过程中,总是有大量的各种信息要记录,因此,________在产品的开发过程中起着重要的作用。
5. 成本估算是在软件项目开发之前,估算项目开发所需的________、________和________。
6. 软件工程管理不同于其他过程管理,它对保证高质量的________产品具有极为重要的意义。
7. 成本估算方法中,有自顶向下估算方法、自底向上估算力法和________方法。 8. ________的制度突出了主程序员的领导,责任集中到少数人身上,有利于提高软件质量。
9. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个________。
10. 在一个大系统的开发过程中,由于________失误造成的后果要比程序错误造成的后果史为严重。
11. 软件工程包含________和________两大部分内容。 12. 在软件开发和维护过程中一个软件往往有许多版本,版本控制工具用来存储、更新、恢复和管理一个软件的________。
13. 参照以前完成的项目所耗费的总成本,来推算将要开发的软件的总成本,然后把它们按阶段、步骤和工作单元进行分配,这种方法称为________方法。
14. 软件工程管理的具体内容包括对开发人员、组织机构、用户、________等方面的管理。
15. 差别估算的缺点是不容易明确“差别”的界限,但它的优点是可以提高________。 16. 在一个软件项目的开发过程中要自始至终得到________的密切合作与支持。
17. 风险分析实际上就是贯穿在软件工程中的一系列风险管理步骤,其中包括________、________、________、________和________。
18. 软件开发项目生存期详细设计阶段应包括的文档是________。 19. 软件项目计划的第一项活动是确定________。
20. 工程网络图是一种________图,该图中用________表示事件,有向弧或箭头表示了任务的进行,箭头是的数字称为________,箭头下面括号中的数字表示该任务的________。
三.简答题
1. 软件项目管理包括哪些内容?
2. 软件配置管理需要解决哪些问题,如何实施? 3. 软件开发成本估算方法有哪些? 4. 试说明软件工程标准化的重要性。 5. 说明软件工程管理的重要性。
6. 软件质量保证应做好哪几方面的工作? 7. 文档的作用是什么?
8. 软件配置管理有哪些内容?
9. 软件配置管理的对象称为“软件配置项”,它包含哪些内容? 10. 试述软件工程过程中版本控制与变更控制处理过程。
答案:
作业1 1. ②⑦⑤ 2. ①①③⑥
3. ①④⑤⑧⑤④① 作业2
1.A 2.C 3.A 4.B 作业3 1.C 2.D
3 ③③①②④ 4 ①③④①① 作业4
1~10 D C A D C D A C D B 作业5 1 ⑷
2 ②⑤①①③ 3 ③④②③①
4 A 5 C 6 C 6 A 8 D 9 A 10 C 作业6
1~10 A C D E D B C B B C 11~20 D B C C C B A C C B
21. PAD图的特点如下:
⑴ 清晰地反映了程序的层次结构。图中的竖线为程序的层次线,最左竖线是程序的主线,其后一层一层展开,层次关系一目了然。
⑵ 支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。 ⑶ 易读易写,使用方便。
⑷ 支持结构化的程序设计原理。
⑸ 可自动生成程序。
22. 用PDL表示的程序结构一般有: ⑴ 顺序结构:采用自然语言描述。 ⑵ 选择结构: ⑶ 重复结构: ⑷ 出口结构:
⑸ 模块定义与调用: ⑹ 数据定义: ⑺ 输入输出: 作业7
1. 对应的N-S图如下。
while P A B until Q 对应PAD图如下。
STARTwhile PAuntil QBEND
McCabe复杂性度量都为3。 2. ②、③、④、⑦、⑧
3. A. ③ B. ①、⑥ C. ①、⑦ 4. (1) 结构化的程序流程图:
设置Q的值为“真(T)” F Q T A B until (not P) START设置Q的值为“T”until (not P)QABEND