软件设计的风险

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件体系结构 4.软件设计的风险
20.04.2020
A
2
1. 程序员写出自认为没有Bug的代码。 2. 软件测试,发现了20个Bug。 3. 程序员修改了10个Bug,并告诉测试组另外10个不是Bug。 4. 测试组发现其中5个改动根本无法工作,同时又发现了15个新Bug。 5. 重复3次步骤3和步骤4。 6. 鉴于市场方面的压力,为了配合当初制定的过分乐观的发布时间表,产品终于 上市了。 7. 用户发现了137个新Bug。 8. 已经领了项目奖金的程序员不知跑到哪里去了。 9. 新组建的项目组修正了差不多全部137个Bug,但又发现了456个新Bug。 10. 最初那个程序员从斐济给饱受拖欠工资之苦的测试组寄来了一张明信片。整 个测试组集体辞职。 11. 公司被竞争对手恶意收购。收购时,软件的最终版本包含783个Bug。 12. 新CEO走马上任。公司雇了一名新程序员重写该软件。
20.04.2020
A
9
百度文库
3、Hoperun公司软件过程改进
四、软件过程改进工作方法概况 SEPG的软件过程改进工作分三个阶段,六个步骤,
第一阶段:描述当前的与改进的过程 第一步:软件开发过程包含许多活动,且相互 交互作用,必须精确而形式化地描述。 第二步:从当前软件开发过程中收集的数据中 指出费用、质量及进度方面的问题。例如,哪 些活动需要大量费用,哪些影响质量(即导致许 多出错)都一一标出。SEPG与开发组讨论原因。 第三步:根据第二步的问题制定工作计划:改 进的过程流图及改进的过程流中每一个活动的 详细实施方针。前者也用Petri net描述,后者 制定成文档。此时各种新的软件工程技术(如设 计方法,评审技术,测试技术……)引进工作计 划,还采用一些过去的过程改进的经验,如 CMM的实践等。
20.04.2020
A
10
3、Hoperun公司软件过程改进
四、软件过程改进工作方法概况 SEPG的软件过程改进工作分三个阶段,六个步骤,
第二阶段:定量估计工作计划的效益 第四步:在执行工作计划前进行效益分析, 评估对工作计划的影响,若有几个活动计 划,应提出对当前软件开发最合适的计划。
20.04.2020
A
11
3、Hoperun公司软件过程改进
四、软件过程改进工作方法概况 SEPG的软件过程改进工作分三个阶段,六个步骤,
第三阶段:与开发人员协同工作进行改进 活动 第五步:开发者执行新的软件开发过程, 此时SEPG对过程进行细致而经常性监管。 第六步:新的项目完成后,评估工作计划。
20.04.2020
20.04.2020
A
5
3、Hoperun公司软件过程改进
2.步骤 SEPG采取的过程改进步骤如下:
(1)对开发人员调研当前正在进行的软件开发工作,用Petri net描述其软件 过程。Petri net中的transition表示软件开发活动,token表示产品,place 表示过程等待执行活动的状态。 (2)深入分析Petri net所代表的当前的软件过程流图,制定工作计划,并估 计在严格执行工作计划后,可能得到的效益。其后,工作计划及效益估计 都要经开发人员认可,认同其可行性,有效性。 (3)按工作计划对实际项目进行实施。 (4)最后,分析实际效果后,肯定了“在测试阶段总的工作量减少10%。” 可以得出肯定过程改进有效果的结论。
A
12
3、Hoperun公司软件过程改进
具体的改进工作:第一步:精确而形式化地描述开发过程。 SEPG对PRl,PR2项目开发人员进行访问,构成项目开发过程的图a所示的Petri Net(SEPG花了3个月进行这项工作)。其中FT&VT可细画为图 (b)。 实际上SEPG并没有能够直接得到这一过程流图,因在开始时,开发者只是说出管理 部门规定他们应该如何做的情况,但不是实际上开发人员所做的情况。所以SEPG花 了三个月反复与开发人员讨论,收集开发人员的工作数据——每项工作的人日数。了 解在每个项目PRl、PR2上如何查出错误及错误的数目。再反映到图上,画出来给开 发人员看。讨论每个阶段中开发人员做了什么,没有做什么。最后,经开发人员同意: 实际情况确实如图上所呈现的那样,才得到此过程流图。
20.04.2020
A
6
3、Hoperun公司软件过程改进
二、项目概况 该公司是进行一系列服务类外包软件的开发。这些软件有类似的结构,其 基本结构如图所示。整个系统可分为基本部分和应用部分两大块。其中对 各个不同项目说来,实时管理及I/O部分是共同的,很少修改;对B,C, D,E,F,G模块,在各个不同项目中只须对其进行少量修改;而模块A 和H,则要对其大部分进行修改。
13. 程序员写出自认为没有Bug的代码。
20.04.2020
A
3
20.04.2020
A
4
3、Hoperun公司软件过程改进
一、概述 1.任务 HOPERUN企业在进行软件过程改进时,考虑到从企业当前的发展要求来 看,软件开发的质量及交货已不是主要矛盾,基本上可以满足用户的要求。 但是,如何提高软件开发的生产率,使软件开发能做到增加效益,则对企 业显得极为迫切。为了提高软件开发的生产率及提高开发效益,成立了软 件过程小组(software engineering process group,SEPG)负责软件过程 改进。具体任务有三: (1)鼓励开发人员进行软件过程改进; (2)对当前正在进行的软件开发工作的软件过程作出正确而详细的描述及 定义; (3)提出一种可行的工作计划,让开发人员遵循,以求改进软件过程。
20.04.2020
A
7
3、Hoperun公司软件过程改进
20.04.2020
A
8
3、Hoperun公司软件过程改进
三、调查发现
(1)企业的主要问题是如何减少开发费用。对质量及交 付日期,目前用户已基本满意,所以不作主要改进的考 虑。且数年来,管理人员已对如何减少费用进行不少改 进,但收效甚微,所以这次过程改进应主要考虑这一点。 (2)从企业管理的要求上来说,技术上决定采用瀑布模 型。但发现实际执行时,有些阶段是平行的。要分析原 因并解决管理要求与实际执行之间的不一致问题。
相关文档
最新文档