第二次课-软件生存周期过程与过程体系(9.11)_第1页
第二次课-软件生存周期过程与过程体系(9.11)_第2页
第二次课-软件生存周期过程与过程体系(9.11)_第3页
第二次课-软件生存周期过程与过程体系(9.11)_第4页
第二次课-软件生存周期过程与过程体系(9.11)_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二讲软件生存周期过程

一、软件过程

开发逻辑,是获取正确软件的关键.本次课我们要掌握:什么是软件生命周期?(掌握)什么是软件生命周期过程?任务与活动?(掌握)基本过程、支持过程和组织过程(了解)软件开发本质软件生存周期过程定义软件生存周期模型软件工程生存周期过程支持过程方向(活动与定序)的建立形成软件开发方法学

结构化方法

面向对象方法

面向数据结构方法

维也纳开发方法(VDM)……给出实现开发过程的途径支持/管理技术与方法作用于1软件生存周期过程

1)基本概念

软件生存周期是从软件构思一直到软件被废弃或升级替换的全过程。

具体来说,共分为八个阶段:问题提出,可行性分析;需求分析;概要设计;详细设计;软件实现;软件测试;维护。为了表述软件开发需要做什么,引入了以下三个概念:

软件过程(process):活动的一个集合;

活动(activity):任务的一个集合;注:”软件过程”和”活动”相当于复合映射.

任务(task):将输入转换为输出的操作。注:”任务”相当于原子映射.

2)过程分类按过程的主体,可分为三类过程:

(1)基本过程(primaryprocesses)

是指那些与软件生产直接相关的活动集。

(2)支持过程(supportingprocesses)

是有关各方按其目标所从事的一系列支持活动集。

(3)组织过程(institutionalprocesses)

是指那些与软件生产组织有关的活动集。

基本过程支持过程组织过程(1)基本过程

又按过程中活动的不同主体,将基本过程(类)分为5个过程:获取过程、供应过程、开发过程、运行过程、维护过程

获取过程基本过程支持过程组织过程组织为供应过程开发过程运行过程维护过程1、获取过程获取过程是获取者所从事的活动和任务。其目的是获得满足客户所表达的那些要求的产品或服务。功能需求和非功能需求约束和满足条件2、供应过程

供应过程是供方为了向客户提供满足需求的软件产品或服务所从事的一系列活动和任务。其目的是向客户提供一个满足已达成需求的产品或服务。该过程的启动,或通过为应答需方的招标书而开始编制投标书的决定,或通过与需方签订一项提供系统、软件产品或软件服务的合同。继之,确定为管理和保证项目所需的规程和资源,包括编制项目计划,执行计划,一直到将系统、软件产品或软件服务交付给需方为止。3、开发过程是软件开发者所从事的一系列活动。包括13个活动:

过程的实施准备系统需求分析系统结构设计软件需求分析软件体系结构设计软件详细设计软件编码和测试软件集成软件合格测试系统集成系统合格测试软件安装软件验收支持

4、运行过程运行过程是系统操作者所从事的一系列活动和任务。包含如下四个活动:过程实现;运行测试;系统运行;用户支持。5、维护过程维护过程是维护者所从事的一系列的活动和任务。包括如下活动:过程实现;问题和修改分析;修改实现;维护评审/验收;迁移;软件退役。(2)支持过程又按过程中活动的不同主体,将支持过程(类)分为

8个过程:文档过程、配置管理过程、质量保证、验证过程、确认过程、联合评审、审计过程、问题解决等。文档过程基本过程支持过程组织过程组织为配置管理过程质量保证过程验证过程联合评审过程确认过程审计过程问题解决过程

1:文档过程

是记录由某一过程或活动所产生信息的过程

4个活动:过程的实施准备设计与开发制作与发行维护

2:配置管理过程是应用管理上和技术上的规程来支持整个软件生存周期的过程。

6个活动:过程实现配置标识配置控制配置状态统计配置评价发布管理和交付

3:质量保证过程

是为项目生存周期内的软件过程和软件产品提供适当保障的过程。

4个活动:过程实现产品保证过程保证质量体系保证

4:验证过程证实一个过程或项目的每一软件工作产品或服务是否恰当第反映了已规定的需求。

2个活动:过程实现验证

5:确认过程

是一个确定需求和最终的、已建成的系统或软件产品是否满足特定预期用途的过程。

2个活动:过程实现确认6:联合评审过程7:审计过程8:问题解决过程(3)组织过程(Organizationallifecycleprocesses)分为4个过程:管理过程、基础设施过程、培训过程、改进过程

管理过程基本过程支持过程组织过程组织为基础设施过程培训过程过程改进过程1:管理过程

管理过程包括由管理其对应过程的任何一方所执行的一般性活动和任务,管理人员负责:

产品管理;

项目管理

对所应用的那些过程(例如,获取、供应、开发、运行、维护或支持过程)的任务管理。

主要活动包括:

过程的启动和范围定义;规划;实施与控制;

评审与评估;测量;表决(closure)

2:基础设施过程基础设施过程是为其他过程建立和维护所需基础设施的过程。基础设施可以包括用于开发、运行或维护的硬件、软件、工具、技术、标准和设施。包括下述活动:

a)过程实施的准备;

b)建立基础设施;

c)维护基础设施。

3:改进过程

是一个建立、评估、测量、控制和改进软件生存周期过程的过程。

主要活动:过程建立过程评估过程改进

4:培训过程

是为组织和项目提供具有技能和知识人员的过程。主要活动:过程实现定义培训需求补充合格的员工评估员工业绩建立项目团队需求知识管理

3)软件过程之间的关系获取过程获取过程供应过程管理过程运行过程开发过程维护过程获取者供应者管理者运行者用户开发者维护者开发者维护者组织过程:管理、改进...支持过程:文档、质量保证、配置管理...合同使用合同观点管理观点运行观点开发观点支持观点小结软件生命周期软件生命周期过程基本过程、支持过程、组织过程2.2软件生存周期模型1)基本概念软件生存周期模型

IEEEStandard12207.0-1996

把一个软件生存周期模型描述为:一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止。

中国计算机科学与技术百科全书称软件生存周期模型为“软件开发模型”,并把它定义为:软件过程、活动、任务的结构框架。典型的软件生存周期需求分析软件设计测试编码运行维护可行性研究开发时期运行时期计划时期2)瀑布模型(1)项目的开发依次经过:需求、设计、编码和单元测试、集成以及维护–这一基本路径。(2)在每一阶段提交以下产品:软件需求规约、设计文档、实际代码、测试用例、最终产品等。工作产品(又称可提交的产品,Deliverables)流经“正向”开发的基本步骤路径。

(3)“反向”步骤流表示对前一个可提交产品的重复变更(又称为“返工”(Rework))。

由于所有开发活动的非确定性,因此是否需要重复变更,这仅在下一个阶段或更后的阶段才能认识到。

返工不仅在以前阶段的某一地方需要,而且对当前正在进行的工作也是需要的。关于瀑布模型的几点说明(1)瀑布模型的优点

虽然瀑布模型是一个比较“老”的、甚至过时的开发模型,但其优点为:

在决定系统怎样做之前,存在一个需求阶段,鼓励对系统“做什么”进行规约(即设计之前的规约)。

在建造构件之前,存在一个设计阶段,鼓励规划系统结构(即编码之前的设计)。

在每一阶段结束时进行复审,允许获取方和用户的参与。

允许基线和配置早期接受控制。

前一步工作产品可作为下一步被认可的、文档化的基线。(2)瀑布模型存在的不足

客户必须能够完整、正确和清晰地表达他们的需求;开发人员一开始就必须理解其应用。

在开始的两个或三个阶段中,很难评估真正的进度状态;设计、编码和测试阶段都可能发生延期。

在一个项目的早期阶段,过分地强调了基线和里程碑处的文档;可能要花费更多的时间,用于建立一些用处不大的文档。

当接近项目结束时,出现了大量的集成和测试工作。

直到项目结束之前,都不能演示系统的能力。(3)瀑布模型适用的情况

在开发中,向下、渐进的路径占支配地位。也就是说,需求已被很好地理解;

过程设计人员也很清楚:开发组织非常熟悉为实现这一模型所需要的过程(或经过培训后,熟悉什么时候来支持这一项目,以实现这一模型所需要的过程)。因此为了避免产生过多的反复迭代工作,增加开发成本,一般在准备采用瀑布模型(也包括其他模型)时,需要考虑以下2个问题:第一个问题是,过程设计人员必须对初始产品(通常是软件需求规约,SRS)的不确定性进行评估。另一个问题是,组织是否具有熟练实施每个活动和任务的历史经验。二、软件过程改进1.过程改进的“IDEAL”模型特许基础设施发启设置关联激励变更当前的与预期的状态特征化推荐设置优先顺序确定改进途径策划行动提出解决方案试用并检查解决方案改进解决方案实施解决方案分析与确认提出后续行动建议启动⑴Initiating⑵Dianosing诊断建立⑶Establishing行动⑷Acting⑸Learning

提高2.软件过程改进框架四个组成部

--软件过程基础设施

--软件过程改进路线图

--软件过程评估方法

--软件过程改进计划四部分关系--互相联系,缺一不可--基础设施是条件--评估是改进的推动力--路线图为改进指向--全部活动需18-24个月B.软件过程改进路线图C.软件过程评估方法D.软件过程改进A.基础设施A.软件过程基础设施什么是软件过程基础设施

--支持软件过程的基础框架和结构基础包括:机构和管理的岗位和职责必要的技术工具和平台

--作用:用于支持定义过程实施过程活动获取和分析有关过程执行情况的信息开展过程改进活动

--分类:组织和管理基础设施技术基础设施组织和管理基础设施

--建立、实施、监控过程活动所需的岗位及其职责

--机构级:如软件工程过程组SEPG--项目级或关键过程域级技术基础设施

--支持过程改进的技术平台、工具

--工具类型数据和文档存储和检索工具检索和决策支持工具过程实施支持平台、过程模板B.软件过程改进路线图

--CMM/CMMI是典型的过程改进路线图,其特点:能表明过程有效性不同的等级/成熟度等级混乱的持续改进的规范化的标准和协调的可预见的能给出每一等级的属性/关键域和特点

ISO/IEC15504是另一种2维的平面路线图C.软件过程评估

--评估是给机构定位,只有定位才能明确改进的方向。

--评估要证实机构是否利用了使过程有效的各种机制以及利用的程度。

--评估的要求:不仅限于文档要考察培训的情况要证实过程的有效性不应只利用提问单,还要配合其它方法评估前对评估组成员进行培训参考路线图D.软件过程改进计划

--以评估结果为基础(已明确了强项和弱项)

--应包括进度、资源投入、负责人、质量计划、配置管理计划等

--必须明确界定改进范围和边界,有明确的目标

--必须明确人员的责任3.建立有效的软件过程

①条件过程文件得到充分的理解、遵循和实施

⑴得到管理者的切实有效支持并不停留在口头上,文件上理解到过程的实施最终是与业务目标是一致的不是为给别人看的,是给自己用的

⑵要明确过程的责任人和所有者过程不能没有责任人和所有者,否则会出现混乱⑶必须作培训,并有针对性地对不同人员作不同的培训:过程培训对象过程培训内容主管人员过程对业务效益的意义培训过程组人员具体过程、方法和技术培训项目经理过程管理及过程改进认识培训职能经理过程认识和过程管理培训项目组和职能人员具体的过程、方法和技术培训基础设施人员具体的基础设施和支持培训质量保证组人员具体的过程检验和监控培训⑷过程实施结果的度量和反馈及时地对过程实施情况进行度量对理解过程的效果十分重要度量可分为过程的有效性、过程效率和过程适用性三个方面过程度量的类型类型量度Metrics过程的有效性性能Performance可靠性Relibility可用性Usability过程活动的成本响应度Responsiveness可信性Dependability适应性Applicability结果的精确性Accuracyofresuits得到产品的质量过程效率处理时间单位输出所耗资源单位输出的成本效益比Ratioofcostandbenefit规定时间内报告错误修正率Ratioofimprovement过程适用性各种规模项目的适合性Suitability不同类型产品的适合性Suitability满足不同需求的可定制性Customizability满足不同用户期望的适用性Adaptability适应不同方法、技术和工具的灵活性Flexibility⑸过程应用者的反馈反馈意见收集形式:

普遍调查

重点访问主动反映征询反馈的问题举例:过程对你是个帮手还是障碍?在你的工作中是怎样帮你或妨碍你的吗?在什么情况下,过程对你有用?过程的哪些方面需要改进?

你认为过程应该怎样改进?是什么因素让你遵循过程?⑹吸收来自外部信息考虑过程运行中周边业务环境的影响⑺过程的推行和检查机制发现不符合现象,加以纠正和预防检查的形式可以多种多样业务成果所有者过程定义活动及工具有效的过程环境过程改进技术进步反馈度量及反馈培训②建立过程文化⑴过程制度化:过程思维已渗入整个组织的日常活动过程制度化的两个支柱过程文化过程基础设施过程文化技术工具管理机构过程基础设施过程制度化⑵过程文化文化:特定人群在特定时间内表现出的习惯和文明过程文化:人们的习惯和行为受到过程思维和过程管理原则的影响

是人们公认的

并非勉强的和强加的

不是停留在口头上的过程文化的特征特征表现可见性软件过程主管领导明确,过程文件和过程所有者明确过程定义和过程职责明确规范性全体人员遵循过程的要求制度化过程的要求体现在方针和规程中管理者承诺最高管理者和各级管理者的全力支持推行过程的实施是有力度的,也应是有成效的,应有报告反映不符合现象所有者SEPG人员的责任明确,工作有效反馈反馈机制保证能有效地采集开发人员、项目组成员的反应效果评估评估过程目标达到的程度培训对全体开发人员的过程培训是强制性的对项目新成员的过程入门培训是强制性的改进全体相关人员参与软件过程改进的策划与实施———过程基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论