




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件学院高海昌Operating SystemsGao Haichang , Software School, Xidian University1. 1. 概述概述2. 2. 软件过程和生命周期软件过程和生命周期3. 3. 工程管理工程管理4. 4. 需求工程需求工程5. 5. 软件设计软件设计6. 6. 软件实现软件实现7. 7. 软件测试软件测试8. 8. 软件交付软件交付Operating SystemsGao Haichang , Software School, Xidian University3FIEEE给过程下的定义:过程描画了针对一个给给过程
2、下的定义:过程描画了针对一个给定目的的一系列操作步骤,操作步骤阐明有哪些定目的的一系列操作步骤,操作步骤阐明有哪些操作以及按照何种方式来执行操作。操作以及按照何种方式来执行操作。 F软件开发过程应该明确定义以下元素:软件开发过程应该明确定义以下元素:F(1) 过程中所执行的活动及其顺序关系。过程中所执行的活动及其顺序关系。F(2) 每一个活动的内容和步骤。每一个活动的内容和步骤。F(3) 团队人员的任务和职责团队人员的任务和职责Operating SystemsGao Haichang , Software School, Xidian University4F软件开发一共包括七个过程:软件开
3、发一共包括七个过程:F获取过程获取过程F供应过程供应过程F开发过程开发过程F操作过程操作过程F维护过程维护过程F管理过程管理过程F支持过程支持过程Operating SystemsGao Haichang , Software School, Xidian University5F常见的软件开发过程模型包括:常见的软件开发过程模型包括:F瀑布模型瀑布模型F快速原型模型快速原型模型F增量模型增量模型F迭代模型迭代模型F螺旋模型螺旋模型FRUP (Rational Unified Process)Operating SystemsGao Haichang , Software School, Xi
4、dian University6F要求软件工程的开发严厉按照软件生命周期的方要求软件工程的开发严厉按照软件生命周期的方式进展式进展F特点:特点:F分阶段分阶段F阶段间有因果关系阶段间有因果关系F评审评审F允许反响允许反响Operating SystemsGao Haichang , Software School, Xidian University7F优点:优点:F严厉规范软件开发过程,抑制了非构造化的编码严厉规范软件开发过程,抑制了非构造化的编码和修正正程的缺陷和修正正程的缺陷F强调文档的作用,要求每个阶段都要仔细验证强调文档的作用,要求每个阶段都要仔细验证F缺陷:缺陷:F各个阶段的划分完
5、全固定,阶段之间产生大量的各个阶段的划分完全固定,阶段之间产生大量的文档,极大地添加了任务量文档,极大地添加了任务量F由于开发模型是线性的,用户只需等到整个过程由于开发模型是线性的,用户只需等到整个过程的末期才干见到开发成果,中间提出的变卦要求的末期才干见到开发成果,中间提出的变卦要求很难呼应很难呼应F早期的错误能够要等到开发后期的测试阶段才干早期的错误能够要等到开发后期的测试阶段才干发现,进而带来严重的后果发现,进而带来严重的后果Operating SystemsGao Haichang , Software School, Xidian University8F允许在需求分析阶段对软件的需
6、求进展初步的分允许在需求分析阶段对软件的需求进展初步的分析和定义析和定义Operating SystemsGao Haichang , Software School, Xidian University9F优点:优点:F不需求需求预先完备定义不需求需求预先完备定义F支持用户参与软件工程的开发过程支持用户参与软件工程的开发过程F缺陷:缺陷:F需求多次迭代,无法预知次数,给工程管理带来需求多次迭代,无法预知次数,给工程管理带来困难困难F快速建立起来的系统构造加上延续的修正能够会快速建立起来的系统构造加上延续的修正能够会导致产质量量低下导致产质量量低下Operating SystemsGao Ha
7、ichang , Software School, Xidian University10F与瀑布模型类似,但软件系统是被增量式地一块与瀑布模型类似,但软件系统是被增量式地一块块开发的块开发的Operating SystemsGao Haichang , Software School, Xidian University11F优点:优点:F各模块可以并行开发各模块可以并行开发F较好地顺应需求的变化,用户可以不断地看到所较好地顺应需求的变化,用户可以不断地看到所开发软件的可运转中间版本开发软件的可运转中间版本F重要功能被首先交付,从而使其得到最多的测试重要功能被首先交付,从而使其得到最多的测试
8、F缺陷:缺陷:F容易退化为边做边改的方式,从而使软件过程的容易退化为边做边改的方式,从而使软件过程的控制失去整体性控制失去整体性Operating SystemsGao Haichang , Software School, Xidian University12F经过多次逐渐的迭代,建立软件系统,每次迭代经过多次逐渐的迭代,建立软件系统,每次迭代都是一个相对独立的软件过程都是一个相对独立的软件过程Operating SystemsGao Haichang , Software School, Xidian University13F优点:优点:F可以较好地顺应需求难以确定、不断变卦的软件可以
9、较好地顺应需求难以确定、不断变卦的软件系统的开发系统的开发F缺陷:缺陷:F迭代次数难以事先确定,添加了过程管理的复杂迭代次数难以事先确定,添加了过程管理的复杂度度Operating SystemsGao Haichang , Software School, Xidian University14F结合了瀑布模型、快速原型模型和迭代模型的思结合了瀑布模型、快速原型模型和迭代模型的思想,并引入了风险分析活动。想,并引入了风险分析活动。F每个循环迭代都包含每个循环迭代都包含4个阶段:个阶段:F制定方案制定方案F风险分析风险分析F设计实施设计实施F用户反响用户反响Operating SystemsG
10、ao Haichang , Software School, Xidian University15F优点:优点:F以风险驱动开发过程,强调可选方案和约束条件以风险驱动开发过程,强调可选方案和约束条件从而支持软件的重用从而支持软件的重用F关注于早期错误的消除,将软件质量作为特殊目关注于早期错误的消除,将软件质量作为特殊目的融入产品开发之中的融入产品开发之中F缺陷:缺陷:F要求许多客户接受和置信风险分析并做出相关反要求许多客户接受和置信风险分析并做出相关反响是不容易的,往往顺应于内部的大规模软件开响是不容易的,往往顺应于内部的大规模软件开发发F需求软件开发人员具备风险分析和评价的阅历,需求软件开
11、发人员具备风险分析和评价的阅历,否那么将会带来更大的风险否那么将会带来更大的风险Operating SystemsGao Haichang , Software School, Xidian University16FRUP (Rational Unified Process)一致软件过程。一致软件过程。F由由 Ivar Jacobson的的 The Objectory Approach 和和 The Rational Approach 开展而来,是一个文档化开展而来,是一个文档化的软件工程产品,一切的软件工程产品,一切RUP 的实施细节及方法导的实施细节及方法导引均以引均以Web文档的方式呈
12、现。文档的方式呈现。FRUP又是一套软件工程方法框架,各个组织可根又是一套软件工程方法框架,各个组织可根据本身的实践情况,以及工程规模对据本身的实践情况,以及工程规模对RUP进展裁进展裁剪和修正,以制定出符合需求的软件工程过程。剪和修正,以制定出符合需求的软件工程过程。 Operating SystemsGao Haichang , Software School, Xidian University17F在在RUP中,软件开发生生命周期根据时间和中,软件开发生生命周期根据时间和RUP的中心任务流划分为二维空间。的中心任务流划分为二维空间。F时间维从组织管理的时间维从组织管理的角度描画整个软件
13、开角度描画整个软件开发生命周期,是发生命周期,是RUP的动态组成部分。的动态组成部分。F中心任务流从技术角中心任务流从技术角度描画度描画RUP的静态组的静态组成部分。成部分。 Operating SystemsGao Haichang , Software School, Xidian University18FRUP有九个中心的任务流:有九个中心的任务流:F业务建模业务建模Business Modeling:了解待开发系统的组织构造及其:了解待开发系统的组织构造及其业务运作,确保一切参与人员对待开发系统有共同的认识业务运作,确保一切参与人员对待开发系统有共同的认识F需求分析需求分析Requi
14、rements:定义系统功能及用户界面,使客户知:定义系统功能及用户界面,使客户知道系统的功能,开发人员知道系统的需求,为工程预算及方案提供道系统的功能,开发人员知道系统的需求,为工程预算及方案提供根底。根底。F分析与设计分析与设计Analysis and Design:把需求分析的结果转化为实现:把需求分析的结果转化为实现规格。规格。F实现实现Implementation:定义代码的组织构造、实现代码、单元测:定义代码的组织构造、实现代码、单元测试、系统集成。试、系统集成。F测试测试Test:校验各自子系统的交互与集成。确保一切的需求被正:校验各自子系统的交互与集成。确保一切的需求被正确实现
15、并在系统发布前发现错误。确实现并在系统发布前发现错误。F发布发布Deployment:打包、分发、安装软件,晋级旧系统;培训:打包、分发、安装软件,晋级旧系统;培训用户及销售人员,并提供技术支持。制定并实施用户及销售人员,并提供技术支持。制定并实施beta测试。测试。F配置管理配置管理Configuration and Change Management:跟踪并维护:跟踪并维护系统一切产品系统一切产品s的完好性和一致性。的完好性和一致性。F工程管理工程管理Project Management:为方案、执行和监控软件开发:为方案、执行和监控软件开发工程提供可行性的指点;为风险管理提供框架。工程提
16、供可行性的指点;为风险管理提供框架。F环境环境Environment:为组织提供过程管理和工具的支持。:为组织提供过程管理和工具的支持。Operating SystemsGao Haichang , Software School, Xidian University19F在时间维上,为了可以方便地管理软件开发过程,监控在时间维上,为了可以方便地管理软件开发过程,监控软件开发形状,软件开发形状,RUP把软件开发周期划分为假设干把软件开发周期划分为假设干Cycles,每个每个Cycle生成一个产品的新的版本。每个生成一个产品的新的版本。每个Cycle都都依次由四个延续的阶段依次由四个延续的阶段(
17、phase)组成:组成:F起始阶段起始阶段Inception:定义最终产品视图、商业模型:定义最终产品视图、商业模型并确定系统范围。并确定系统范围。F演化阶段演化阶段evaluation:设计及确定系统的体系构造,:设计及确定系统的体系构造,制定任务方案及资源要求。制定任务方案及资源要求。F构造阶段构造阶段construction:构造产品并继续演进需求、:构造产品并继续演进需求、体系构造、方案直至产品提交。体系构造、方案直至产品提交。F提交阶段提交阶段Transition :把产品提交给用户运用。:把产品提交给用户运用。Operating SystemsGao Haichang , Soft
18、ware School, Xidian University20F具有迭代式的增量开发、运用实例驱动、具有迭代式的增量开发、运用实例驱动、 以软件以软件体系构造为中心三个鲜明特点,这使得体系构造为中心三个鲜明特点,这使得RUP非常非常适宜于开发复杂、技术难度大、需求多变、高风适宜于开发复杂、技术难度大、需求多变、高风险的工程。险的工程。F又是可裁剪的软件开发过程框架,各组织可以根又是可裁剪的软件开发过程框架,各组织可以根据本身及工程特点对据本身及工程特点对RUP进展裁减,在某些情况进展裁减,在某些情况下下RUP甚至可以蜕化为瀑布式开发模型。甚至可以蜕化为瀑布式开发模型。 Operating S
19、ystemsGao Haichang , Software School, Xidian University21模型名称模型名称技术特点技术特点适用范围适用范围瀑布模型瀑布模型简单,分阶段,阶段间存在因果关系,各个阶段简单,分阶段,阶段间存在因果关系,各个阶段完成后都有评审,允许反馈,不支持用户参与,完成后都有评审,允许反馈,不支持用户参与,要求预先确定需求要求预先确定需求需求易于完善定义且不易变更的软需求易于完善定义且不易变更的软件系统件系统快速原型快速原型不要求需求预先定义,支持用户参与,支持需求不要求需求预先定义,支持用户参与,支持需求的渐进式完善和确认,能够适应用户需求的变化的渐进式
20、完善和确认,能够适应用户需求的变化需求复杂、难以确定、动态变化的需求复杂、难以确定、动态变化的软件系统软件系统增量模型增量模型软件产品是被增量式地一块块开发的,允许开发软件产品是被增量式地一块块开发的,允许开发活动并行和重叠活动并行和重叠技术风险较大、用户需求较为稳定技术风险较大、用户需求较为稳定的软件系统的软件系统迭代模型迭代模型不要求一次性地开发出完整的软件系统,将软件不要求一次性地开发出完整的软件系统,将软件开发视为一个逐步获取用户需求、完善软件产品开发视为一个逐步获取用户需求、完善软件产品的过程的过程需求难以确定、不断变更的软件系需求难以确定、不断变更的软件系统统螺旋模型螺旋模型结合瀑
21、布模型、快速原型模型和迭代模型的思想结合瀑布模型、快速原型模型和迭代模型的思想,并引进了风险分析活动,并引进了风险分析活动需求难以获取和确定、软件开发风需求难以获取和确定、软件开发风险较大的软件系统险较大的软件系统RUPRUP可改造、扩展和剪裁,可以对它进行设计、开发可改造、扩展和剪裁,可以对它进行设计、开发、维护和发布,强调迭代开发、维护和发布,强调迭代开发复杂和需求难以获取和确定的软件复杂和需求难以获取和确定的软件系统,软件开发项目组拥有丰富的系统,软件开发项目组拥有丰富的软件开发和管理经验软件开发和管理经验Operating SystemsGao Haichang , Software
22、School, Xidian University22F在实施软件工程之前,必需定义或者选择一个适在实施软件工程之前,必需定义或者选择一个适宜于该软件工程的软件过程宜于该软件工程的软件过程Operating SystemsGao Haichang , Software School, Xidian University23F选择适宜的软件过程模型,需求思索:选择适宜的软件过程模型,需求思索:F软件开发组织和软件工程的特征软件开发组织和软件工程的特征F软件工程的风险软件工程的风险F软件工程能否需求预先向用户展现原型软件工程能否需求预先向用户展现原型F需求多少阅历和技巧来胜利地运用软件过程模型需求
23、多少阅历和技巧来胜利地运用软件过程模型F软件开发组织和软件工程组人员的阅历和才干软件开发组织和软件工程组人员的阅历和才干F技术的成熟度技术的成熟度Operating SystemsGao Haichang , Software School, Xidian University24F确定和描画软件开发活动,需求从以下几个方面确定和描画软件开发活动,需求从以下几个方面予以定义和描画:予以定义和描画:F称号:阐明软件开发活动的称号称号:阐明软件开发活动的称号F义务:阐明该软件开发活动的义务义务:阐明该软件开发活动的义务F输入:阐明实施该活动所必需的输入输入:阐明实施该活动所必需的输入u,即开展,即开展活动所需满足的前提条件活动所需满足的前提条件F输出:阐明该活动实施完成之后所产生的结果输出:阐明该活动实施完成之后所产生的结果F实施:阐明如何实施该活动实施:阐明如何实施该活动Operating SystemsGao Haichang , Software School, Xidian University25F确定和描画软件开发活动间的关系:确定和描画软件开发活动间的关系:F执行时序关系:描画软件开发活动之间执行时间执行时序关系:描画软件开发活动之间执行时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学同学会活动策划案
- 快递从业人员行业用语
- 2025年卫生招聘考试之卫生招聘(文员)题库检测试卷A卷附答案
- 儿童游乐行业数据分析
- 第 5 单元混合运算评估检测题(A卷)(单元测试)(无答案)2024-2025学年二年级下册数学人教版
- 学员课堂的纪律管理方法
- 外墙涂料知识培训课件
- 小学数学国奖说课
- 心理学移情课件
- 培训档案相关知识课件
- 城市环境卫生工作定额环境卫生各类作业成本
- 文件、资料和记录调阅申请表
- 开工预付款支付申请表
- 腹部CT检查技术ppt课件(PPT 18页)
- 《医药代表拜访技巧及区域管理》PPT课件
- 事件研究法PPT课件
- 核电科普知识试题库完整
- 空冷岛施工方案
- 硬笔书法专用纸竖版
- 第二章 三相异步电机控制线路
- 国际货运代理企业备案表
评论
0/150
提交评论