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