软件设计的风险



《软件设计的风险》由会员分享,可在线阅读,更多相关《软件设计的风险(24页珍藏版)》请在文档大全上搜索。
1、2022-6-2 1 1软件体系结构软件体系结构4.4.软件设计的风险软件设计的风险 2 22022-6-2 3 32022-6-2 4 42022-6-2 5 52022-6-2 一、概述一、概述1任务HOPERUN企业在进行软件过程改进时,考虑到从企业当前的发展要求来看,软件开发的质量及交货已不是主要矛盾,基本上可以满足用户的要求。但是,如何提高软件开发的生产率,使软件开发能做到增加效益,则对企业显得极为迫切。为了提高软件开发的生产率及提高开发效益,成立了软件过程小组(software engineering process group,SEPG)负责软件过程改进。具体任务有三: (1)鼓
2、励开发人员进行软件过程改进; (2)对当前正在进行的软件开发工作的软件过程作出正确而详细的描述及定义; (3)提出一种可行的工作计划,让开发人员遵循,以求改进软件过程。 6 62022-6-2 2步骤步骤 SEPG采取的过程改进步骤如下: (1)对开发人员调研当前正在进行的软件开发工作,用Petri net描述其软件过程。Petri net中的transition表示软件开发活动,token表示产品,place表示过程等待执行活动的状态。 (2)深入分析Petri net所代表的当前的软件过程流图,制定工作计划,并估计在严格执行工作计划后,可能得到的效益。其后,工作计划及效益估计都要经开发人员
3、认可,认同其可行性,有效性。 (3)按工作计划对实际项目进行实施。 (4)最后,分析实际效果后,肯定了“在测试阶段总的工作量减少10。”可以得出肯定过程改进有效果的结论。 7 72022-6-2 二、项目概况二、项目概况该公司是进行一系列服务类外包软件的开发。这些软件有类似的结构,其基本结构如图所示。整个系统可分为基本部分和应用部分两大块。其中对各个不同项目说来,实时管理及IO部分是共同的,很少修改;对B,C,D,E,F,G模块,在各个不同项目中只须对其进行少量修改;而模块A和H,则要对其大部分进行修改。 8 82022-6-2 9 92022-6-2 三、调查发现三、调查发现 (1)企业的主
4、要问题是如何减少开发费用。对质量及交付日期,目前用户已基本满意,所以不作主要改进的考虑。且数年来,管理人员已对如何减少费用进行不少改进,但收效甚微,所以这次过程改进应主要考虑这一点。 (2)从企业管理的要求上来说,技术上决定采用瀑布模型。但发现实际执行时,有些阶段是平行的。要分析原因并解决管理要求与实际执行之间的不一致问题。 10102022-6-2 四、软件过程改进工作方法概况四、软件过程改进工作方法概况SEPG的软件过程改进工作分三个阶段,六个步骤,第一阶段:描述当前的与改进的过程第一步:软件开发过程包含许多活动,且相互交互作用,必须精确而形式化地描述。第二步:从当前软件开发过程中收集的数
5、据中指出费用、质量及进度方面的问题。例如,哪些活动需要大量费用,哪些影响质量(即导致许多出错)都一一标出。SEPG与开发组讨论原因。第三步:根据第二步的问题制定工作计划:改进的过程流图及改进的过程流中每一个活动的详细实施方针。前者也用Petri net描述,后者制定成文档。此时各种新的软件工程技术(如设计方法,评审技术,测试技术)引进工作计划,还采用一些过去的过程改进的经验,如CMM的实践等。 11112022-6-2 四、软件过程改进工作方法概况四、软件过程改进工作方法概况SEPG的软件过程改进工作分三个阶段,六个步骤,第二阶段:定量估计工作计划的效益第四步:在执行工作计划前进行效益分析,评
6、估对工作计划的影响,若有几个活动计划,应提出对当前软件开发最合适的计划。 12122022-6-2 四、软件过程改进工作方法概况四、软件过程改进工作方法概况SEPG的软件过程改进工作分三个阶段,六个步骤,第三阶段:与开发人员协同工作进行改进活动第五步:开发者执行新的软件开发过程,此时SEPG对过程进行细致而经常性监管。第六步:新的项目完成后,评估工作计划。 13132022-6-2 具体的改进工作:第一步:精确而形式化地描述开发过程。SEPG对PRl,PR2项目开发人员进行访问,构成项目开发过程的图a所示的Petri Net(SEPG花了3个月进行这项工作)。其中FT&VT可细画为图
7、(b)。实际上SEPG并没有能够直接得到这一过程流图,因在开始时,开发者只是说出管理部门规定他们应该如何做的情况,但不是实际上开发人员所做的情况。所以SEPG花了三个月反复与开发人员讨论,收集开发人员的工作数据每项工作的人日数。了解在每个项目PRl、PR2上如何查出错误及错误的数目。再反映到图上,画出来给开发人员看。讨论每个阶段中开发人员做了什么,没有做什么。最后,经开发人员同意:实际情况确实如图上所呈现的那样,才得到此过程流图。 14142022-6-2 第二步:分析当前开发过程,指出问题。SEPG经分析,发现黑盒测试阶段工作量极大。即在交付前的功能测试与验证测试(FT&VT)是难于