资源描述
软件过程管理期末复习
第一章
1. 软件过程分为五个过程:工程过程,支持过程,管理过程,组织过程,客户一供应商过程
2. 工程过程包括:系统需求和设计,软件需求分析,软件开发设计,软件设计实施,集成并测试软件,集成并测试系统,系统与软件的维护。
3. 支持过程:文档编制,配置管理过程,质量保证过程,验证工作产品,确认工作产品,联合评审,审核,解决问题。
4. 软件过程规:对输入/输出和活动所构成的过程进展明文规定或约定俗成的标准。
过程规的影响和作用
1. 消极影响的存在和消除
Fred Brooks "创造力来自个人,而不是组织构造或者过程
2. 规存在的必要性
3. 过程规的作用
帮助团队实现共同的目标
一个规的软件过程必将能带来稳定的、高水平的过程质量
过程规使软件组织的生产效率更高
工程过程是软件系统、产品的定义、设计、实现以及维护的过程。
开发过程:定义并开发软件产品的活动过程,包括需求分析、软件设计和编程等。
运行过程:在规定的环境中为其用户提供运行计算机系统效劳的活动过程,包括软件部署
维护过程:提供维护软件产品效劳的活动过程,也就是通过软件的修改、变更,使软件系统保持适宜的运行状态,这一过程包括软件产品的移植和退役。
软件支持过程:
文档编制、配置管理、质量保证、验证、确认、联合评审、审核、问题解决
5. 上述相应规:软件根本过程规,软件支持过程规,软件组织过程规。
6. 软件标准最具有代表性的有两类:ISO标准体系和IEEE标准体系。
第二章
1. CMM/CMMI 的五个等级:初始级,可重复级,已定义级,已管理级,优化级。
2. 成熟度等级的行为特征:p38
1. 初始级:具有明显的不成熟过程的特点
2. 可重复级/受管理级:建立了管理软件工程的针和实施这些针的规程,使软件工程的有效管理过程制度化,有能力去跟踪本钱、进度和质量。一个有效过程可特征化为已文档化的、已实施的、可培训的和可测量的软件过程
3. 已定义级:包含一组协调的、集成的、适度定义的软件工程过程和管理过程,具有良好的文档化、标准化,使软件过程具有可视性、一致性、稳定性和可重复性,软件过程被集成为一个有机的整体
4. 已管理级:已管理级的软件过程是量化的管理过程。在上述已定义级的根底上,可以建立有关软件过程和产品质量的、一致的度量体系,采集详细的数据进展分析,从而对软件产品和过程进展有效的定量控制和管理。
5. 优化级:不断改善组织的软件过程能力和工程的过程性能,利用来自过程和来自新思想、新技术的先导性试验的定量反响信息,使持续过程改进成为可能。为了预防缺陷出现,组织有方法识别出弱点并预先针对性地加强过程
3. 成熟度各个级别的软件过程特征:P42
级别
软件过程特征
z.
1
1. 软件过程具有不稳定性和随意性
2. 一旦遇到危机时经常放弃或改变原有方案过程,直接进展编码和测试
3. 组织中的软件过程能力表达在个人身上,而不是整个组织中稳定的过程能力,组织依靠个人能力,往往承受着很大的风险。一旦能力强的人离去,组织的过程就变得很不稳定
4. 整个软件过程具有不确定性和不可预见性,也就是说软件的方案、本钱、进度、功能和产品的质量都是不可确定和不可预见的
5. 软件过程规不健全,文档化不够,存在较多的不一致性等
6. 过程的管理式处于一种"救火状态,不断地应付过程中突发的事件或危机
7. 在引进新技术、新法等面有极大的风险
2
1. 建立了软件工程管理的策略和实施这些策略的规,但过程管理的策略主要是针对工程建立的,而不是针对整个组织来建立的
2. 软件开发和维护的过程相对稳定,已有的成功经历可以被复用,即基于以往的成功经历来规划和管理同类的新工程
3. 软件过程中,引入了软件配置管理、质量保证和管理
4. 软件工程管理人员负责跟踪本钱、进度,有能力识别及纠正过程中出现的问题
5. 为需求和相应的工作产品建立基线来标志过程进展,控制过程和完整性
6. 定义了软件工程的标准,能保证工程在执行过程中格遵守标准
7. 软件过程中,对子合同管理,保证了与转包商建立良好的供求关系
8. 重视人员的培训工作。建立了技术支持活动,更好地支撑了过程管理
3
1. 整个组织的软件过程都已标准化,文档化,形成有机的整体一-组织的标准软件过程
2. 整组织的软件过程得到了良好的管理和监控,过程是稳定的,可重复的和连续性的。
3. 软件过程标准被应用到所有的工程中,可以根据工程的类型,规模和实际特点,对组织的标准软件过程进展剪裁,以适应特定工程的需求
4. 软件过程具有可预见性及防问题的能力,能使风险的影响最小化,软件质量得到控制
5. 有专门的过程管理组织单元〔如SEPG〕负责软件过程活动
6. 全组织围安排培训方案,有方案地对不同的技术人员角色进展培训
7. 整组织部的所有人员对已定义的软件过程的活动和任务有着深入的,一致的理解
8. 在定性根底上建立新的软件过程和产品评估技术
4
1. 制定了软件过程和产品质量的详细而具体的度量标准
2. 定量地认识和度量软件过程和组织过程能力,更有效的管理、控制和预测软件过程和提高产品质量。保证所实施工程的生产率
3. 在定量限度围,预测过程和产品质量的开展趋势,一旦意外情况出现,就可以确定导致这些意外的"特定的原因,从而采取适当的措施来解决问题
4. 具有已定义及一致的度量标准来指导软件过程,并作为评价软件过程及产品的定量根底
5. 组织已建立软件过程数据库,保存收集到的数据,并用于各工程的软件过程
6. 软件过程变化较小,一般在可教授的围
7. 因为工程的每个人员都了解个人的作用与组织的关系,所以都存在强烈的团队合作意识
8. 不断地在定量根底上评估新技术
z.
5
1. 整个组织特别关注软件过程改进和持续性、预见性及自身增强性。防止缺陷及问
题的发生,不断地提高组织过程能力
2. 加强定量分析,通过来自过程的质量反响和吸收新观念,新科技,使软件过程能
不断地得到改进。
3. 根据软件过程的效果,进展本钱-效益分析,从成功的软件过程时间中西区经历,
加以总结;对失败的案例,用SEPG进展分析以找出原因,找出过程的缺乏并预先
改进
4. 全组织推广软件过程的评价和对标准软件过程的改进,共享成功的经历和失败的
教训,不断地改进软件过程
5. 要消除软件过程中"公共的无效率根源,防止浪费发生
6. 整个组织都存在自觉的,强烈的团队意识,每个人都致力于过程改进,防止出现
错误,力求减少错误率
7. 追求新技术,利用新技术,实现软件开发中的法和新技术的革新
4. 框架式软件组织对技术、实践、法、过程和经历的有序积累,是知识管理。
5. 过程能力并不是保障成功的唯一因素,影响产品/工程质量的关键因素还包括开发技能和组织管理,这三者相辅相成,缺一不可。
过程文化的类型
1. 过程至上,奉过程为教条,一切围绕着过程,组织、质量和效率都服从于过程,过程的执行格,过程结果可靠、稳定,认为生产的"东西是过程的一个节点,只是全局的一局部。但效率较低,缺乏灵活性、创造性。
2. 以过程为焦点,关注过程,强调过程的重要性,但不拘于过程,让过程服从于质量和效率、服从于组织的业务目标……
3. 过程只能起辅助作用,人决定一切,过程可能流于形式.....
第三章
1. 软件工程过程和管理过程都在标准化根底上成为一个有机整体,并帮助工程经理和技术人员更有效地从事开发工作。
2. 组织过程焦点的目的是:建立起软件组织对软件过程活动的责任,包括促进并保持对软件过程的了解、协助、制定、维护、评估以及改进的活动
3. 作为组织和工程实施的软件过程的先决条件,执行能力一般指:提供资源、分派职责和人员培训。
4. 组织过程焦点的执行能力具备如下几点:
A. 建立一个负责整个组织的软件过程活动的工作组。
B. 为软件过程活动提供足够的资源和资金。
C. 组织软件过程活动的组员进展培训。
D. 软件工程组和其他工程组的组员承受软件过程活动的相关培训
5. 软件过程体系构造:用户需求,需求,系统设计,详细设计,编码、单元测试,子系统测试,集成测试,系统测试,验收测试。
6. PSP分为哪四个等级.对各个等级进展简单说明。
第四章
P88基于用例的需求获取过程模型 用户需求
P96需求变更控制
需求变更控制策略
〔1〕工程启动阶段的变更预防
〔2〕工程实施阶段的需求变更
z.
〔3〕工程收尾阶段的总结
P99课后习题
1. 请说明需求的三个层次分别是什么,并对其进展简要说明
业务需求:反映了组织机构或客户对系统、产品的概括的目标要求,它在工程视图与围文档中予以说明
用户需求:文档描述了用户使用系统而完成的任务的集合,用户需求在用户案例文档货案脚本中予以说明
功能需求:定义了开发人员必须实现的软件功能,他源于用户需求
2. 请阐述需求分析的主要步骤和法
需求分析的目的是对各种需求信息进展分析,消除错误和刻画细节等。常用的需求分析法有"问答分析法,"构造化分析法,"面向对象分析法。这一阶段分析人员的主要任务是对用户的需求进展鉴别,综合和建模,去除用户需求的模糊性,歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑建模。分析人员要将对原始问题的理解与软件开发经历结合起来,以便发现哪些要由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出单但有真正价值的潜在需求
3. 请说明基于用例的需求分析过程
用户需求:1.确定执行者2.确定用例功能需求:1.从用户需求阶段获取的所有用例中选
择一个具有最高优先级用例2.场景分析3.用例分解4.用例判定5.对生育的用例重复2~4步
4. 请简要说明需求变更控制的流程和本卷须知
流程上面的图,本卷须知:需求变更时,要提出变更申请,还要由需求变更控制委员会〔CCB〕对提出的申请进展评估,评估的容包括需求的重要性、时间和资金等。评估之后要做出通过与否的决定。如果CCB确认了提交的变更请求,则将指派*人对原来的需求进展修改,并对其进展验证,最终才实施该需求的变更
第五章
1. 软件过程的技术架构P1习题P1,习题1找不到P1没习题
2. 过程模型模式包括:面向对象的软件过程开发,面向构件的软件过程开发,软件开发迭代模式,软件开发并行模式。
3. 软件开发过程在很大程度上依赖于发现和纠正缺陷的过程,但一旦缺陷被发现之后,软件过程的控制并不能降低大多的本钱,更有效的法是开展预防缺陷的活动、防止在开发期间引入缺陷。
4. 在开发期的每个阶段实施根本原因分析为有效开展缺陷预防活动提供依据。
5. 原因分析的目的在于识别导致缺陷和其他问题的根本原因,在理解已定义过程和实施已定义过程的根底上,确定这些缺陷产生的根源和这些根源存在的程度,从而找出对策、采取措施消除问题的根源。
原因分析和缺陷分析
在开发期的每个阶段实施根本原因分析〔root cause anal〕,s为有效开展缺陷预防活动提供依据 。
通过制订原因分析方案、选择缺陷分析数据而找出原因、实施建议措施、评价变更的效果、记录数据等多个环节,最终完成这一活动。
经常使用的工具有:数据库系统、过程建模工具、统计分析包。
6. P109软件过程的技术流程示意图
7. P111开发设计
1. 系统定义
z.
2. 设计标准和准则的属性
3. 设计法
4. 产品构件设计
5. 设计文档
9. 软件开发过程是知识传递和知识转换的过程。
10. 知识传递包括:纵向传递和横向传递
纵向传递是一个具有很强时间顺序性的接力过程,指软件产品和技术知识从需求分析阶段到设计阶段、从设计阶段到编程阶段、从开发阶段到维护阶段、从产品上一个版本到当前版本的知识传递过程。
横向传递是指软件产品和技术知识在不同团队之间的传递过程
11. 知识传递的有效法:P119
1 .重点是做好人的工作,即在组织过程管理中加强这一环节,包括团队文化的建立、员工的教育和培训等
2. 需求文档、产品规格说明书等的评审、复审,起着一箭双雕的作用,即是质量保证的一种措施,也是一种知识传递的式
3. 使用同一的语言来描述领域知识、设计模型和程序实现等,使大家对同样的一个问题有着同样认识,减少知识传递的难度和本钱
4. 建立良好的反响机制,文档管理系统、知识库和论坛等,都有利于知识的共享和传递
12. P124 习题 3
对于有效的知识传递,有什么具体的最正确实践.
创造愉快活泼的团队关系;对团队的适时定期的培训;对新进的员工进展足够的培训,并为每个新人配一个资深的工程师辅导或者帮助这个新人
第六章
1. 版本控制主要分为:版本的访问与同步控制、版本的分支和合并
2. P139工程风险评估
工程风险:是指潜在的预算、进度、人力、资源、客户及需求等面的问题以及对软件工程的影响。
风险识别作为风险管理的第一步,主要是识别哪些风险可能影响工程进度并记录具体风险的各面特征。
为了更好地识别工程风险,可以从下面的两个面进展考虑:1.工程的前提、假设和制约因素
2. 可与本工程类比的先例
风险估计有几个面的目的:1.加深对工程自身和环境的理解2.进一步寻找实现工程目标的可行案3.是工程所有的不确定性和风险都经过充分、系统而又有条理的考虑4.明确不确定性对工程其他各个面的影响,估计和比较工程各种案或行动路线的风险大小,从中选择出威胁最少,时机最多的案或行动路线
风险事件分析法:1.情景分析2.比率/围分析3.概率分析4.敏感分析
风险识别和风险分析的目的就是要让决策者能够在问题发生之前就准备好深思熟虑地应对措施。风险应对总的指导原则是,参加工程的各应该尽可能的互相合作以得到有用的风险分担。对于已经确认的风险通常可做出以下几种反响,保存风险,减小风险,转移风险和防止风险
3. P143制定工程方案
工程方案阶段需要解决的问题:
怎么做.工程方案必须描述你如去完成目标。这包括取得最终结果之前的所有交付,以及完成每个交付所需要完成的工作。工程里通常还需要包括工程风险,预测哪里会出现问题并提
z.
供可能的应对措施
什么时候做.吧工程工作排序,估计每项工作需要多少时间完成,确定出阶段交付日期,并最终制定一个日程表。
谁来做.所有的任务都需要人来做,根据技术和能力将人员分配到具体的任务上
创立WBS的根本法则
每个工作工作单元在WBS只能出现一次
概要任务是对其下所有任务的总结
每个WBS的条目都有单独的人员负责
与实际要做的工作情形保持一致
建立WBS时应让工程组员参予
每个WBS条目都应备案
WBS既要灵活又要不失控制
日程和人员安排:任务排序,时间安排,人员分配
第七章
1. P153软件质量针和方案
质量方案的输入因素:质量针、工程围述、产品说明、标准和规则、其他工作输出
质量方案的制定步骤:
了解工程的根本概况,收集工程有关资料。
确定工程质量目标树,明确工程质量管理组织机构。
制定工程质量控制程序。
工程质量方案的审定和实施。
制定质量方案的法和技术 利益/本钱分析、基准、流程图、试验设计
2. 缺陷预防的有效法:加强流程控制,有效的工作法和技巧
3. 常用的工作法和技巧:编码技术,单元测试
4. 试通过鱼骨图对目前的工程中的问题进展分析,找出其根本原因.
鱼骨图的优点:允探讨各种类别的原因;鼓励通过自由讨论发挥创造性;提供问题与各类原因的直观图。
分析步骤:确定问题或特性;确定主要问题原因的类别;根据问题类别,确定细节原因。
第八章
1.产品重整主要关注于:异步开发和公用根底模块〔CBB〕
z.
展开阅读全文