软件过程与管理题库
- 格式:doc
- 大小:89.00 KB
- 文档页数:19
软件过程管理复习提纲
题型:
一、判断题(每题1分,共10分)
二、填空题(每空1分,共15分)
三、名词解释(每题5分,共25分)
四、简答题(每题5分,共30分)
五、综合题(共20分)
1.简述软件过程成熟度的标准
(1)软件过程能力高;
(2)软件过程性能可预见性;
(3)软件过程规范化;
(4)过程的一致性;
(5)过程的丰富性;
(6)过程的可视性;
(7)过程的稳定性;
(8)过程的不断改进。
2.什么是阶段评审以及它的作用是什么?
前一阶段交付的成果通常要接受是否已经完成和准确的审查,即阶段评审(Phase-end reviews ),又称phase exits, stage gates, or kill points。
(1)决定项目是否进入下一阶段
(2)发现和纠正缺陷
3.软件开发项目的全过程
(1)新项目的启动阶段
(2)市场调研阶段
(3)技术论证阶段
(4)项目计划和日程制定阶段
(5)管理层评审阶段
(6)产品特性描述阶段
(7)资源分配阶段
(8)产品开发和发布阶段
4.MSF过程模型(Process Model)的特点 (1)目标驱动而非任务驱动
(2)外部可见的里程碑
(3)应提交项的变更管理
(4)递进的版本发布策略
(5)风险驱动的进度管理
(6)项目组集体参与
(7)管理产品质量
5. MSF的5个阶段是什么?
(1)构想阶段
(2)计划阶段
(3)开发阶段
(4)稳定阶段
(5)发布阶段
6.软件估算的内容
(1)软件工作产品的规模估算
(2)软件项目的工作量估算
(3)软件项目的成本估算
(4)软件项目的进度估算
(5)项目所需要的人员、计算机等资源估算
7.为什么需要定义活动责任矩阵?
(1)是软件项目计划的一个组成部分
(2)明确、清晰说明项目的职责区域
(3)帮助项目组成员了解他们的任务和职责,以及要参与的工作
(4)帮助项目组成员了解与其相关的人员
(5)帮助项目组成员预计其工作量
8.需求管理的内容:
(1)参与需求分析和评审的人员
(2)软件需求文档
(3)需求分析过程
(4)需求变更
9.常用的规模估算方法包括? 答:
(1)代码行方法
(2)功能点分析方法
(3)面向对象软件的对象点方法
10.为什么需要基线?
答:(1)变化不可避免
(2)软件产品的变化不利于软件开发
(3)需要控制变化、软件产品保持一定程度的稳定
11.瀑布模型的风险和缺点?
答:(1)获得完善的需求规约是非常困难的;
(2)难以适应快速变化需求;
(3)系统太大时,难以一次做完;
(4)反馈信息慢;
(5)极可能引起开发后期的大量返工,如返工到需求、设计等早期活动
12.请简述敏捷过程的思想?
(1) 敏捷软件开发方法的思想是现代管理理念的延伸,其核心是以人为本,发挥人的主观能动性。
(2) 敏捷软件开发方法认为,对项目最重要的影响因素是人,而不是过程和技术。不能把人员当做由过程驱动的“可插拔替换的编程单元”,而要发挥人的能动性,建立紧密协作的、自组织的团队。
13.如何制定一个软件项目计划?
(1)定义软件开发过程
(2)软件估算
(3)安排进度,确定里程碑
(4)分配资源,商讨承诺
(5)支持计划
14.请简单介绍极限编程
(1)XP是以开发符合客户需要的软件为目标而产生的一种方法论
(2)XP是一种以实践为基础的软件工程过程和思想
(3)XP认为代码质量的重要程度超出人们一般所认为的程度
(4)XP特别适合于小型的有责任心的、自觉自励的团队开发需求不确定或者迅速变化的软件
15.为什么要进行软件需求管理:
(1)软件需求非常重要
(2)获取软件需求非常复杂和困难
(3)在需求获取过程中涉及到人、活动和过程,只有对它们进行管理才能确保(4)有效地进行需求分析,确保软件需求的质量
(5)软件需求经常变更,为了确保软件需求处于受控状态
16.简述RUP的主要特点。
(1)面向对象
(2)Use Case驱动
(3)以架构为中心(架构优先)
(4)增量和迭代的开发过程
(5)以质量控制和风险管理为目标
(6)与 UML配套
(7)适用性强
17.请问RUP有哪几个阶段,各个阶段分别做什么?
(1)初始阶段 – 确定项目范围,重点是需求分析与系统分析
(2)细化阶段 – 规划项目, 制定功能, 基线架构。主要关注需求、分析和设计工作流。
(3)构造阶段 – 构造产品,主要关注系统的实现工作流。
(4)交付阶段 – 交付产品到最终用户,主要关注系统的测试和配置工作流。
18.试比较XP与RUP的异同点
共性:
(1)基础都是面向对象方法(取代传统的结构化方法)
(2)都重视代码、文档的最小化和设计的简化
(3)采用动态适应变化的演进式迭代周期(取代传统的瀑布型生命周期)
(4)需求和测试驱动
(5)鼓励用户积极参与
区别:
(1)XP以代码为中心,编码和设计活动融为一体,弱化了架构的概念。
(2)RUP过程通常以架构为中心,细化阶段的主要目的就是构造出一个可运行的架构原型,作为将来添加需求功能的稳固基础。
(3)XP不包含业务建模、部署、过程管理等概念。
(4)RUP适合各种规模的项目,XP只适用于小团队。
19.请列出增量模型与演化模型的异同点?
答:(1)增量模型与演化模型的相同点是:
基本思想都是非整体开发,以渐增方式开发系统。他们的目的基本相同:使用户尽早得到部分软件这样能听取用户反馈。
(2)不同点:增量模型再需求设计阶段是整体进行的,在编码测试阶段是渐增进行的。演化模型全部系统是增量开发,增量提交。
20.简述风险管理的组成
(1)风险评估:风险控制的基础,包括:①风险识别、②风险分析、③风险优先级。
(2)风险控制,包括:①风险管理计划、②风险化解、③风险监控。
21.风险化解方式有哪些?
(1)避免风险:推迟小谢的离开时间
(2)将风险从系统的一部分转移到另一部分:让客户来做
(3)消除发生风险的根源:加薪
(4)发布风险:不会突然和惊讶
(5)接受和控制风险:接受并提供处理计划,安排小王接替小谢的工作
(6)记录风险:为将来项目风险管理提供历史数据
22. 产品集成一般经历哪3个阶段
(1)制定和管理产品集成策略
(2)确保待集成的各个组件、单元或构件之间接口的兼容性
(3)把产品组件、单元或构件组装起来,生成满足需求的、可交付的产品 供用户使用。
23.为什么需要项目管理辅助工具?
答:(1)提高项目计划制定的效率;
(2)便于发现所制定的项目计划中存在的问题,提高项目计划制定的质量;
(3)便于以后的跟踪和监督。
24.成功团队的特点?
(1)明确的角色和责任 (2)每个人在任何时候都是负责的
(3)监控个人表现和提供反馈
(4)让团队成员知道他们是否无愧于团队的期望
(5)有效的沟通
(6)以事实为依据制定决策
(7)相互帮助、不断改进、勇于创新的文化
25. Scrum的主要缺陷是什么?如何改善?
Scrum的主要缺陷:
(1)压力大
(2)不方便跨时区,跨语言
(3)程序维护成本偏高
(4)无法被中断
如何改善:
结合XP:
(1)和客户坐在一起
(2)结对编程
(3)测试驱动开发(TDD)
(4)使用编码规范
(5)40小时工作制
26.什么是软件项目计划?
答:软件项目计划是对软件项目实施所涉及的活动、人员的安排、任务的划分、开发进度、资源的分配和使用等方面作出的预先的规划。
27.为什么会产生过于乐观的软件开发计划
(1)赶时间
(2)为了迎合客户的不切实际的进度要求
(3)估算不准确
(4)需求变更(增加)
(5)开发人员没有充分参与和承诺
28.为什么需要关注里程碑
(1)获取对项目实施的整体了解
(2)便于向高层管理者汇报项目进展情况 29.软件工作产品规模的估计方法?
(1)功能点
(2)特征点
(3)代码行
30.什么是软件估算
根据软件的开发内容、开发工具、开发人员等因素对需求调研、程序设计、编码、测试等整个开发过程所花费的时间及工作量做的预测。
31.软件质量的因素:
(1)外在因素:软件所提供的功能、性能、人机交互界面是否美观、易于操作
(2)内在因素:软件的设计好坏、故障的数目和严重程度
32.软件质量保证的作用:
为软件产品的质量提供某种可视性,知道哪些地方有质量问题,便于改进方法和措施,提高软件产品的质量。
33.净室软件工程的缺点
(1)太理论化,需要更多的数学知识。
(2)开发小组不进行传统的模块测试,这是不现实的。
(3)脱胎于传统软件工程,不可避免地带有传统软件工程的一些弊端
34.简述CMM/CMMI提供的5个成熟度等级的行为特征
(1)初始级——具有明显的不成熟过程的特点。过程缺乏定义,其过程是无秩序的,有时甚至是混乱的。
(2)可重复级/受管理级——已建立了管理软件项目的方针和实施这些方针的规程,使软件项目的有效管理过程制度化,有能力去跟踪成本、进度和质量。
(3)已定义级——软件过程具有可视性、一致性、稳定性和可重复性,软件过程被集成为一个有机的整体。
(4)定量管理级/已管理级——已管理级的软件过程是量化的管理过程。
(5)优化级/持续优化级——优化级不断改善组织软件过程能力和项目的过程性能,利用来自过程和来自新思想、新技术的先导性试验的定量反馈信息,使持续过程改进成为可能。
35.活动之间的关系有哪些?
答:(1)结束到开始
(2)开始到开始