软件过程管理复习提纲文档格式.docx
- 文档编号:19636503
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:17
- 大小:28.42KB
软件过程管理复习提纲文档格式.docx
《软件过程管理复习提纲文档格式.docx》由会员分享,可在线阅读,更多相关《软件过程管理复习提纲文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
(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)UseCase驱动;
(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)开始到开始;
(3)结束到结束;
(4)开始到结束
36.软件项目规模的估算方法包括哪些:
代码行法、类比法、Delphi法、自顶向下法、自底向上法、功能点法、
参数化模型法、Putnam法、用例点法、对象点法
37.组队模型的六种角色以及对等的团队结构
(1)程序管理角色----程序经理
(2)开发角色----开发经理
(3)测试角色----测试经理
(4)发布管理角色----发布和后勤经理
(5)用户体验角色----用户经理
(6)产品管理角色----产品经理
38.为什么要考虑关键路径?
(1)关键路径上活动的进度直接影响到整个项目的进度
(2)如果关键路径上活动的进度受到影响,那么整个项目的进度肯定会受到影响
(3)要缩短项目的开发周期,必须加快关键路径上活动的开发进度
39.软件开发项目的全过程
(1)新项目的启动阶段
(2)市场调研阶段
(3)技术论证阶段
(4)项目计划和日程制定阶段
(5)管理层评审阶段
(6)产品特性描述阶段
(7)资源分配阶段
40.制定软件项目计划的基础和依据是什么?
(1)定义和剪裁的软件开发过程
(2)要完成的工作
工作说明和软件需求
历史数据和估算模型
估算工作量和成本
(3)约束和限制条件
人员
资源
进度
41.如何管理一个项目?
(1)识别要求
(2)确定清楚而又能够实现的目标
(3)平衡质量、范围、时间、费用
(4)平衡不同stakeholder间的需求和期望
42.请简单介绍极限编程
43.自顶向下估算法跟自底向上法各自的优缺点:
自顶向下估算法:
优点:
估算的工作量小,速度快。
缺点:
对项目中的特殊困难估计不足,估算出来的工作量盲目性大,有时会遗漏被开发软件的某些部分。
自底向上法:
优点:
估算各个部分的准确性高;
能提高参与人的责任心;
缺点:
缺少各项子任务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量(配置管理、质量管理、项目管理)。
所以往往估算值偏低,必须用其它方法进行检验和校正。
44.获取软件需求的复杂性和面临的问题:
(1)系统复杂和庞大
(2)片面,不完全
(3)模糊,不准确
(4)不一致,歧义
(5)及时性
45.产品集成一般经历哪3个阶段
(3)把产品组件、单元或构件组装起来,生成满足需求的、可交付的产品供用
46.为什么需要项目管理辅助工具?
户使用。
47.简述审查活动的标准
(1)审查每个活动的输入条件是否都得到满足
(2)审查活动的执行是否遵循规范
(3)审查每个活动的输出是否都已经产生
48.团队管理的目的?
(1)确保团队的战斗力
(2)确保团队的凝聚力
(3)确保团队的工作效率和质量
49.项目经理的管理能力?
(1)理解、引导和设法满足项目涉众的需求和期望
(2)开展大量的领导、沟通和谈判活动
(3)不断解决问题,并对整个组织产生影响
(4)明确前景,合理授权,积极营造一个充满活力的工作环境
50.项目:
为提供某项独特产品、服务或成果所做的临时性努力。
51.项目管理:
把各种知识、技能、手段和技术应用于项目活动之中,以达到项目的要求。
52.软件能力成熟度模型(CMM/CMM):
CMM是指“能力成熟度模型”,其英文全称为CapabilityMaturityModelforSoftware,英文缩写为SW-CMM,简称CMM。
它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。
CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
53.自底向上法(Bottom‐Up)
该方法是按组件划分,先对每个组件的工作量估算然后总计得到整个项目的规模和工作量。
54.stakeholder----积级参与项目,或其利益因项目的实施或完成而受到积极或消极影响的个人和组织,他们还会对项目的目标和结果施加影响。
55.集成测试
在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试
56.阶段评审:
前一阶段交付的成果通常要接受是否已经完成和准确的审查,即阶段评审。
57.软件开发的里程碑:
软件项目实施过程中的重大事件,这些事件有助于了解项目实施的进展情况。
58.软件开发过程:
是指为生产某个软件产品或系统,需要什么人在什么时候以何种方式进行何种活动的集合。
59.RUP是一个软件工程过程(Softwareengineeringprocess),是目前最有效的软件开发过程模型;
RUP是一个风险驱动的、基于UML和构件式架构的迭代、增量型开发过程。
60.XP极限编程,是最著名的敏捷开发方法,它由一系列简单的、互相依赖的最佳实践组成。
61.敏捷开发Scrum是一个迭代性、增量性的流程,适用于任何的产品开发以及工作管理。
62.软件项目计划是对软件项目实施所涉及的活动、人员的安排、任务的划分、开发进度、资源的分配和使用等方面作出的预先的规划。
63.配置是在技术文档中明确说明最终组成软件产品的功能或物理属性。
64.基线是评审过的一个或多个软件配置项,每一个基线都是下一步开发的出发点和基础。
65.SCI:
软件配置项(SoftwareConfigurationItem),指软件生命周期内产生、需进行配置管理的各种工作产品,包括文档、程序、数据、标准和规约。
66.什么是软件风险?
使软件项目的实施受到影响和损失、甚至导致失败的、可能会发生的事件
67.什么是软件风险管理?
在风险影响软件项目成功实施前,对它进行识别和处理,并预防和消除风险的发生。
68.Baseline即基线,指已经通过正式复审和批准的软件产品、标准或规约,它们可以作为进一步开发的基础,并且只能通过正式的变化控制过程才允许对它们进行变更。
69.SCM软件配置管理(SoftwareConfigurationManagement),指在整个软件生命周期中,建立和标识软件配置管理项,并对其进行控制和管理,以维护其完整性、一致性和可跟踪性。
70.团队:
由一组具有共同目标,相互关联,相互合作的人组成的一个集体
71.软件估算:
根据软件的开发内容、开发工具、开发人员等因素对需求调研、程序设计、编码、测试等整个开发过程所花费的时间及工作量做的预测
72.软件质量保证:
为管理层提供为获知产品质量信息所需的数据,从而获得产品质量是否符合预定目标的认识和信息。
73.活动责任矩阵:
一种表示方法,用于定义了执行、评审和批准软件项目活动及其相关软件产品的角色和人员。
74.关键stakeholder包括:
项目经理,顾客和用户,项目实施组织,项目团队成员,赞助人(sponsor)等.
75.项目过程包括:
项目管理过程,产品开发过程。
76.软件生命周期模型:
线性顺序模型,增量式模型,演化模型,特殊过程模型。
77.特殊过程模型有:
基于构件的开发,形式化方法模型,面向侧面的软件开发,模型驱动的开发。
78.RUP是一个风险驱动的、基于UML和构件式架构的迭代、增量型开发过程。
79.RUP的四个阶段:
初始、细化、构造、交付。
80.MSF过程模型由构想、计划、开发、稳定、发布等五个阶段构成。
81.RUP的五个核心工作流是:
需求捕获、分析、设计、实现、测试。
82.统一过程主要分四个阶段:
初始阶段(Inception),细化阶段(Elaboration),构造阶段(Construction),交付阶段(Transition)。
83.程序经理必须具备三种核心素质:
沟通能力、领导能力、协调能力。
84.Scrum是一个迭代性、增量性的流程,适用于任何的产品开发以及工作管理。
85.软件项目计划的内容包括活动和任务、资源及其安排、进度计划。
86.制定软件项目计划的时机是在项目开始之时,要完成初步计划,需求完成之时,要完成详细计划。
87.活动之间有结束到开始、开始到开始、结束到结束、开始到结束等关系。
88.图形化的任务表示方式有甘特图、网络图。
89.制定软件估算文档,用于策划和跟踪软件项目使用。
90.软件工作产品规模的估计方法功能点、特征点、代码行。
91.制定软件项目计划的约束和限制条件有人员、资源、进度。
92.软件项目计划的内容包括活动和任务、资源及其安排、进度计划。
93.制定软件项目计划的约束和限制条件有人员、资源、进度。
94.软件工作产品规模的估计方法功能点、特征点、代码行。
95.估算的内容包括:
软件工作产品的规模估算、软件项目的工作量估算、软件项目的成本估算、软件项目的进度估算、项目所需要的人员、计算机等资源估算。
96.功能点法的步骤包括:
确定未调整功能点、确定加权因子、确定功能点。
97.类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。
98.软件需求是待开发软件产品的目标用户对该软件产品的功能、性能、设计约束和其它方面的期望和要求。
99.需求分析方法有数据流、面向对象。
100.软件需求分析的过程分为收集软件需求、软件需求建模、文档化软件需求、评审软件需求。
101.需求建模技术有面向数据流的需求建模技术、面向对象的需求建模技术、UML。
102.软件需求是待开发软件产品的目标用户对该软件产品的功能、性能、设计约束和其它方面的期望和要求。
103.需求管理的内容:
参与需求分析和评审的人员,软件需求文档需求分析过程需求变更。
104.需要对软件需求进行管理的原因:
1软件需求非常重要2获取软件需求非常复杂和困难3在需求获取过程中涉及到人、活动和过程,只有对它们进行管理才能确保有效地4进行需求分析,确保软件需求的质量5软件需求经常变更,为了确保软件需求处于受控状态
105.影响软件质量的具体因素为产品修正性、产品转移性、产品运行性。
106.软件产品有文档类、代码类两种。
107.软件质量保证包括评审和审核软件产品和活动。
108.软件质量的外在因素为软件所提供的功能、性能、人机交互界面是否美观、易于操作。
109.从软件产品、开发活动、标准和规程三方面关注软件质量。
110.统一软件过程(PUP)分四个阶段:
初始阶段细化阶段、构造阶段、交付阶段。
111.风险管理的策略包括危机管理、失败处理、风险缓解、风险预防、消灭根源。
112.软件配置管理的任务包括:
SCI的标识、版本控制、变化控制、配置审计、状态报告。
114.团队是由一组具有共同目标、相互关联、相互合作的人组成的一个集体。
115.团队管理的目的是确保团队的战斗力、确保团队的凝聚力、确保团队的工作效率和质量。
116.风险管理的策略:
危机管理、失败处理、风险缓解、风险预防、消灭根源
来进行估算。
117.风险危险度=风险概率×
风险损失
118.SCI的形式包括技术文档、管理代码、程序代码、数据。
119.文档类型中,RA指需求分析,FA指可行性分析,QA指质量保证,IC指接口控制。
120.为了便于更动控制时进行影响域评估,必须描述SCI之间的关联关系,可以通过建立关联矩阵、关联列表这两种方式。
121.SCI的主要形式有技术文档、管理文档、程序代码和数据。
122.大型团队的沟通膨胀为n*(n-1)/2
123.软件文档包括需求说明,设计文档,代码和测试文档
124.IEV4.0浏览器项目工作流程
按照如下阶段管理
(1)计划阶段,它包括:
一般工作流程
项目前景和产品目标
产品里程碑确定
产品特性的概要和详细设计
(2)开发阶段,它包括:
开发计划工作
安装、配置开发环境
代码检入工作(Check-in)
每日产品生成(Dailybuild)
管理Bug数据库
(3)稳定阶段,它包括:
产品特性冻结
代码完成
用户界面冻结
BETA版本发布
(4)发布阶段,它包括:
到达零BUG日期
发布侯选版本
源代码树分支
正式发布版本
签字认可
(5)总结阶段和开始下一个版本周期,它包括:
程序经理负责召集项目组的总结会
每个项目组成员都需要准备一份总结报告并发言
会议可能持续几天,包括大型的和小型的
目的在于改进开发过程和提高开发水平
会议结束前,每个项目组和每个项目组成员都应该在下一次开发过程中提出行动计划
125.请分析下面的两幅漫画,你觉得开发人员应该怎么做?
项目经理又需要做什么?
(图略)
在这幅漫画中,没经验的开发人员考虑不周到,有经验的开发人员凭着以前的经验,有一定的基础,所以他的估量是比较准确的。
一般说来,在开发阶段,开发人员需要做以下几件事:
•审核功能说明书等设计文档
•列出工作任务列表
•估计工作时间
•配置源代码的目录结构,每个产品特性项目组管理一个字目录
•制定检入进度表和检入制度
•代码检入工作
•管理Bug数据库
开发人员的工作内容还是比较繁多的,因此要事先准确估计工作量,合理规划时间,提高效率。
126.有10,000行代码,假定30%需要重新设计,50%需要重新编码,70%需要重新测试,那么其等价的代码行是?
[(30%+50%+70%)/3]×
10,000=5,000等价代码行。
重用这10000代码相当于编写5000代码行的工作量。
(等价代码行=[(重新设计%+重新编码%+重新测试%)/3]×
已有代码行)
127.某软件公司统计发现该公司每一万行Java语言源代码形成的源文件约为250K。
某项目的源文件大小为3.75M,则可估计该项目源编码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000元(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 过程 管理 复习 提纲