您好,欢迎访问三七文档
1.软件能力成熟度模型(CMM):CMM其英文全称为CapabilityMaturityModelforSoftware,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。2.软件过程能力:是指软件开发过程能够达到的能力,此过程能力包括能够达到的质量、效率、工期、成本等。3.组织过程焦点:组织过程包括组织与项目所使用的所有过程。组织过程与过程资产的可能改进由不同的来源取得,包括过程的度量、执行过程的学习心得、过程评鉴的结果、产品评估活动的结果、以其它组织过程标竿比较的结果,以及组织中其它改进构想的建议。4.变更控制:变更控制的目的并不是控制变更的发生,而是对变更进行管理,确保变更有序进行。5.MSF的过程模型:是一套大型系统开发指南,它描述了如何用组队模型、过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参考。MSF的最大特性是商业化,并一直体现在项目的实施过程中。所谓商业化意味着客户的商业利益。客户投入多少,得到多少回报,客户要用到哪些最新的技术,最后如何把项目计划(Project)变成产品(Product)直至产生效益,等等,这些都是MSF要考虑的问题。6.软件过程改进:(SPI,SoftwareProcessImprovement)帮助软件企业对其软件过程向更好的方向改变,进行计划、制定以及实施。l论述题(5选2)1)从你已有的软件过程与软件管理的知识和软件实践经验,谈谈如何判断软件过程是成熟的和有效的。答:若软件过程满足如下几个标准,则认为其是成熟和有效的:软件过程被正确无误地通知到现有职员和新雇员,工作活动均按照己规划的过程进行,而且和实际进行工作的方式相一致。软件过程中,需要时就更新过程,并且通过可控的先导性试验和(或)费效分析使其得到改进。所有项目和在整个组织中,所有的岗位及其职责都是清楚的。经理能够严格监控产品的质量和顾客的满意程度;有客观的、定量的基础,进度和预算是现实的基于以前的性能数据;能达到产品的成本、进度、功能和质量的预期结果。整个过程一致地遵循一个有纪律的过程,而且存在支持该过程的必要基础设施。2)从PSP、TSP、CMM所关注的焦点,简要论述PSP、TSP、CMM之间的关系。答:1.PSP、TSP和CMM为软件产业提供了一个集成化的软件过程框架。三者互相配合,各有侧重,形成了不可分割的整体。2.CMM注重于组织能力和高质量的产品,它提供了评价组织的能力、识别优先改善需求和追踪改善进展的管理方式。然而,它实现的成功与否和TSP、PSP密不可分。在CMM的18个关键过程域中,有12个与PSP紧密相关,16个与TSP紧密相关。3.PSP注重于个人的技能,能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现。软件工程师们在他们参与的项目工作之中若充分利用PSP,则可以保证项目整体的进度和质量,有助于CMM目标的实现。4.TSP注重团队的高效工作和产品交付能力,结合CMM的管理方法和PSP的工程技能,通过告诉软件工程师如何将个体过程结合进小组软件过程,通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,并且依据数据进行项目的管理,向组织展示如何应用CMM的原则和PSP的技能去生产高质量的产品。5.CMM关注组织所应该做的,它指明组织应达到的目标;PSP为软件工程师个体持续改进个人的性能提供指导;TSP为受训的PSP工程师提供作为团队成员如何在高性能团队有效工作的具体指导。三者结合在一起,使软件组织如期生产高质量的软件产品。)3)从CMM的框架、结构方面,谈谈CMM是如何指示软件机构的能力成熟度的。答:1.CMM框架中融合了全面质量管理的思想,分别是初始级、可重复级、已定义级、已管理级和优化级。这5个级别是机构过程能力的5个不同层次的状态,从第一级到高一级的跃迁分别实现4个过程:有纪律的过程、标准一致的过程、可预测的过程、持续改进的过程。以5个不断进化的层次反映了软件过程定量控制中项目管理和项目工程的基本原则。2.CMM的内部结构包括:成熟度级别,关键过程域,共同特性和关键实践。通过定义成熟度级别表示了过程能力的水平;通过关键过程域确定了实现一个成熟度级别所必须解决的问题;共同特性是一组属性,指明一个关键过程域的执行和制度化是否有效、可重复和可持续;关键实践描述了对关键过程域的有效实施和制度化起重要作用的基础设施和活动。4)请描述基于数据库应用系统开发的基本过程。答:数据库开发项目的一个来源。这些开发新数据库的项目通常是为了满足组织的战略需求,例如改善客户支持、提高产品和库存管理或进行更精确的销售预测。然而许多数据库开发项目更多的是以自底向上的方式出现的,例如信息系统的用户需要特定的信息来完成他们的工作,从而请求开始一个项目,又如其他信息系统的专家发现组织需要改进数据管理而开始新的项目。即使在自底向上的情况下,建立企业数据模型也是必须的,以便理解现有的数据库是否可以提供所需的数据,否则,新的数据库、数据实体和属性都应该加到当前的组织数据资源中去。无论是战略需求还是操作信息的需求,每个数据库开发项目通常集中在一个数据库上。一些数据库项目仅仅集中在定义、设计和实现一个数据库,以作为后续信息系统开发的基础。然而在大多数情况下,数据库及其相关信息处理功能是作为一个完整的信息系统开发项目的一部分而被开发的。5)谈你学习PSP、TSP、CMM的心得体会。答:学习PSP、TSP、CMM之后,结合之前自己的项目经历,体会如下:对于小项目,项目本身不大,开发周期也不长,所以看起来比较简单,比较容易成功。因而往往会忽视了这类小项目的管理,其实这是一种误解,从本人的经验看来,小项目开发中容易犯以下的一些错误:①开发之前没有认真地进行项目可行性和工作量的估计往往由于项目较小,便很草率地制定一个开发日程表,没有认真地估计项目难度,结果实际完成时间与估计完成时间往往有较大差别。②没有真正的设计过程开发人员少,意味着不同人员的程序之间交互、接口相对少一些。开发周期短意味着往往是同样的几个人从头到尾负责一个项目。这两者都让人容易犯些错误。往往是几个人碰一下头,讨论一下最基本的结构、接口便分头去做自己的工作了,没有一份较正式的文档。这种做法潜在的危险之一是有的人可能会对讨论出的接口、结构理解有偏差(应该承认人是会犯错误的),一个误解可能造成以后的返工。另一个潜在的危险是由于讨论时忽略了某些情况,等大家都按当时的分工完成属于自己的工作后,才发现各个模块组合起来却形不成一个完整的系统。其根源在于没有一个负责协调的人员不断监控整个开发过程。第三个潜在的危险是一旦有人中途退出开发队伍,其他人加入时,新来的人难以理解以前别人做好的代码,索性自己从头来。另外,没有文档的程序,日后维护和版本升级都比较困难。③不经过单元测试而直接进入系统测试造成这一现象的原因是每个模块相对比较简单,但是为了测试一个模块需要建立一些测试环境。例如,为了测试一个函数是否正确,应该用一些测试数据去调用该函数,需要编写一些测试数据。但很多人嫌麻烦,觉得反正其他模块也很快出来了,直接用真正的数据来运行几次就行了。这样,一旦直接进入系统测试,发现运行结果不正确后需要一步步查找。由于模块间的调用关系,可能查了很久才发现是某个模块的问题。这种方法一来效率比较低,大量的时间用在了将一个错误定位在模块上了。另外由于这种测试不完全,真正运行系统,当调用某模块时,可能大部分时候都是正常数据,极少出现边界情况,可能某些边界情况容易被忽视,很久之后才被发现。但是如果对每个模块进行单元测试时都进行一下边界测试,就会很容易消除一些隐患,可谓欲速则不达。l简要回答下列问题一、PSP和TSP中质检过失比(A/FR)是一个重要的质量度量参数。请简要说明A/FR分别小于1和大于2时对过程的意义。答:质检/过失比:质检质量成本/过失质量成本,用来测量在第一次编译前花在查找缺陷上的时间的相对值。可用复查时间/(编译+测试)时间来计算。能很好地指示测试中发现缺陷的可能性。1.当A/FR1时,程序测试一般会发现很多错误;2.当A/FR2时,过程产生无缺陷的可能性更大。3.A/FR的值对于小的独立的产品通常比2.0要大;A/FR的值对于相对大的产品等于1.0较为合适。4.例如,如果有实际总开发时间=262min,实际代码复查时间=29min,则质检成本=100*29/262=11.07%5.如果有实际编译时间=5min,实际测试时间=10min,则过失成本=100*(5+10)/262=5.73%。此时,A/FR=11.07/5.73=1.93。可用复查时间/(编译+测试)时间来计算。二.CMM的主要用途。答:软件过程评估:(SPA,SoftwareProcessAssessment)一组经过训练和培训的软件专业人员,确定出一个企业软件过程的状况,找出软件企业所面对的与软件过程有关的、最急需解决的所有问题,以便取得企业领导层对软件过程改进的支持——企业内部。软件过程改进:(SPI,SoftwareProcessImprovement)帮助软件企业对其软件过程向更好的方向改变,进行计划、制定以及实施。软件能力评价:(SCE,SoftwareCapabilityEvaluation)一组经过训练和培训的软件专业人员,鉴别出软件承包者的能力资格;或者是,检查、监察正用于软件制作的软件过程的状况——企业外部。三.CMM中属于管理类别的关键过程域。答:可重复级:需求管理;软件项目计划;软件项目跟踪及监督;软件子合同管理;软件质量保证;软件配置管理。已定义级:集成软件管理;组间合作。已管理级:定量的过程管理。四.软件工程过程组与软件工程组的主要区别。答:软件工程组(SoftwareEngineeringGroup):负责一个项目的软件开发和维护活动的团体。活动包括需求分析、设计、编码和测试等。软件工程过程组(SoftwareEngineeringProcessGroup):是由专家组成的组,他们推进组织采用的软件过程的定义、维护和改进工作。软件工程过程组统领CMM实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。5)度量与分析在CMM中的作用。答:描述与软件过程相关的基本测量实践,其目的是控制和改进过程,度量和分析一般包括测量示例,通过这些示例可以知道如何确定操作活动的状态和效果。6)TSP的启动过程主要包括的步骤及其要点。答:启动过程是TSP的第一个步骤,其步骤:1、描述了小组角色的职责2、制定小组目标3、制定小组成员目标4、制定角色目标5、TSP启动流程a、TSP周期1小组启动b、TSP周期n小组启动c、成员信息表d、每周例会e、每周状况报告(WEEK表)要点:组建小组不能随意;需要花费时间进行考虑;需要建立小组成员在工作中的相互关系;决定小组成员所担当的角色;取得目标的一致意见。7)UML中活动图可以用来描述什么?答:描述活动之间的数据流或判断提供多种不同的业务流程视图描述用例中出现的活动使用不同的非连续符号显示多种不同的活动显示并行线程用来描述事物发展变化的过程,活动图可以描述业务流程,工作流程,类中的操作流程等。8)ROSE的基本功能有哪些答:1、对业务进行建模(工作流);2、建立对象模型(表达信息系统内有哪些对象,它们之间是如何协作完成系统功能的);3、对数据库进行建模,并可以在对象模型和数据模型之间进行正、逆向工程,相互同步;4、建立构件模型(表达信息系统的物理组成,如有什么文件、进程、线程、分布如何等等)5、生成目标语言的框架代码,VB、JAVA、DELPHI
本文标题:软件过程管理作业
链接地址:https://www.777doc.com/doc-1992001 .html