软件过程管理习题上课讲义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件过程管理习题
1.阅读全部的CMM内容,选择出你认为最有价值的十条关键实践,并说明理由。
(1)项目软件负责人,设计/编程/测试人员、软件版本管理员均已得到相应的培训,具备了完成其职责所需要的知识和技能。
理由:通过培训,工作人员具有了一定的知识储备,遇到困难能够很快找到相应的解决措施,就可以很快上手,不至于在一个问题上耽误太多时间。因此,为了达到统一的科学技术规范、标准化作业,通过目标规划设定、知识和信息传递、技能熟练而进行培训是十分必要的,这样能减少所需工作时间,提高成员的开发能力和创新能力,从而降低人力成本;减少浪费,从而降低了开发成本。因此,参加培训是十分必须的。
(2)根据项目要求,建立软件有关组(例如工程组、软件测试组等)。
理由:通过建立相关组,各组可以各施其职,同步工作,提高工作效率。因为软件开发时不可能一个人兼顾所有的方面,应该分成几个模块,只做好自己的然后和其他组协调就可以。如专人负责技术方案设计,专人负责数据,专人做技术层面的指导等。这样权责分明,遇到问题能够很快找到相应的负责组,解决问题的时间也将大大减少。
(3)确定设计、编程、测试人员,并实施三分离。
理由:实现了三分离可以更加开阔人员的思维,防止由于思路固定而不能及时发现问题,更有助于激发员工的创新思维,使软件更先进,更经得起考验。。
(4)根据项目软件的质量需要确定本项目所采用的软件开发方法。
理由:确定好软件开发所采用的开发方法,就能尽早的做下步计划,不至于到最后为选择开发方法而浪费太多时间。目前已形成了八类软件开发方法,开发时是选择面向数据结构的开发方法还是面向对象的开发方法,直接会影响到小组的开发进度。要根据成员的擅长情况制定方法。
(5)软件版本管理员,以及设计、编程、测试人员的职责明确。
理由: 权责分明,遇到问题追究到人,会使项目开发更有计划。完善制度,将责任明确到人,这样才能明确目标,将工作细化,使成员做好自己的工作,认识到重要性,使开发过程能高效的进行。
(6)制定正式评审规程、建立相应的评审机构。
理由:项目评审工作就是对项目计划执行情况以及未来计划的新情况做一个评审,同时对项目的财务状况及其它情况做一个总结。另外,它可以为项目团队在处理项目风险时提供机会,以获得管理层的支持,同时也为项目团队继续开展项目工作提供在高层管理方面的认可。
(7)根据项目实际情况,选定本项目应遵循的软件过程标准、规范。
理由:如果一个团队中有了统一的过程,那么,大家的行为就会符合规范,从而提高团队的整体能力。如果一个团队缺乏执行规范化过程的活动,就会导致整个组织的混乱。为了消除软件过程所常见的问题,建立软件过程规范是必要的。软件过程规范可以确保过程活动的一致性、有效性和持续性。(8)任命项目负责人。
理由:项目负责人除了调配好小组成员,运用专业知识做整体质量的导向,控制项目的进度以外,还要与用户协调,利用周边人力资源做项目规划的流程安排,项目负责人要及时的发现程序开发中的困难和障碍,并且努力的及早的解决。一个项目从开始运作到最后完成,不论是合同的签定、还是人员的调配、还是执行的安排,处处隐藏着不可预见的漏洞,因此需要项目负责人全局的掌控思维和能力。
(9)具有各阶段活动所需要的软/硬件环境、支持工具,并提供足够的经费。
理由:只有硬件基础具备了,才能形成一个好的开发环境,同时经费也是基础,要合理的制定经费计划,保证开发过程顺利进行。要做好软件开发成本估算,这样才能合理的开发。
(10)项目软件负责的职责明确。
理由:责任是管理的基础,明确了职责,才能使成员更加认真的做好自己的本职工作,同时将责任细分,在出问题后也可以责任到人。
2.软件配置管理主要包括哪些?请详细说明。
(1)配置管理过程
软件配置管理(SCM)简单而言就是管理软件的变化。它属于软件工程过程,通常由相应的工具、过程和方法学组成。在整个过程管理的活动中占有很重要的位置。
IEEE“软件配置管理计划标准”关于SCM论述如下。
软件配置管理由适用于所有软件开发项目的最佳工程实践组成,无论是采用分阶段开发,还是采用快速原型进行开发,甚至包括对现有软件产品进行维护。SCM通过以下手段来提高软件的可靠性和质量。
1)在整个软件的生命周期中提供标识和控制文档、源代码、接口定义和数据库等工件的机制。
2)提供满足需求、符合标准、适合项目管理及其他组织策略的软件开发和维护的方法学。
3)为管理和产品发布提供支持信息,如基线的状态、变更控制、测试、发布和审计等。
软件配置管理贯穿于项目的整个软件过程中,与项目过程行为密不可分。一方面,对于在软件过程中所产生的工作产品或变更请求通过配置管理活动进行管理,将有效的信息存储在配置管理库中。另一方面,项目人员可依赖配置管理活动获取配置项的有效版本和历史信息。
软件配置控制是软件配置管理的核心工作。软件配置控制主要包括对软件的存取控制、版本控制、变更控制和产品发布等4个方面。
(2)基线控制
在软件开发过程中,由于各种原因,可能需要变动需求、预算、进度和设计方案等,尽管这些变动请求中绝大部分是合理的,但在不同的时机做不同的变动,其难易程度和造成影响差别比较大,为了有效的控制变动,软件配置管理引入基线的概念。
简单地说,基线就是项目存储库中每个工件版本在特定时期的一个“快照”,它提供一个正式标志,随后的工作基于这个标志进行,并且只有经过授权后才能变更这个标志。建立一个初始基线后,以后每次对它进行的变更都将记录一个差值,直到建成下一个基线。
基线是软件生命期各阶段末尾的特定点,也称为里程碑。在这些特定点上,阶段工作已结束,并且已经取得了正式的阶段性产品。
建立基线的概念是为了把各个阶段的工作划分的更加明确,使得本来连续开展的软件工作在这些点上被割开,从而更加有利于检验和肯定阶段性的成