版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章
RUP软件开发过程11.1软件开发过程
11.2RUP简介11.3RUP的二维开发模型11.4RUP核心工作流11.5RUP特点11.1软件过程历史概述11.1.1软件开发过程简介11.1.2当前流行的软件开发过程11.1.1软件开发过程简介Ivar:软件开发过程是将用户需求转化为软件系统所需要的活动的集合。Who,When,What,How软件开发过程包含:实施于软件开发和维护中的阶段、方法、技术、实践和相关产物(计划、文档、模型、代码、测试用例和手册等)的集合。11.1.1软件开发过程简介软件开发过程是开发高质量软件所需要完成的任务的框架。软件开发过程的层次图:11.1.1软件开发过程简介软件工程过程将各种技术结合在一起,使得软件能够被合理地和及时地开发出来。软件工程的方法层在技术上说明了需要如何去开发软件。软件工程的工具层为软件过程和方法提供了自动或半自动的支持。软件过程提供一个框架,在这个框架下可以建立一个软件开发的综合计划。11.1.2当前流行的软件过程RationalUnifiedProcess(RUP)Object-OrientedSoftwareProcess(OOSP)ExtremeProgramming(XP)CleanroomDynamicSystemDevelopmentMethod(DSDM)瀑布式螺旋式11.2RUP简介11.2.1RUP过程的背景11.2.2传统的软件开发模型11.2.1RUP过程的背景软件项目失败的原因:混乱的需求管理。开发者之间,以及开发者和用户不清晰的交流。没有发现需求、设计和实现中的不一致。架构不够坚固。缺少有效的测试。对项目状态的主观估计。没有正确地处理项目开发过程中的风险。没有对项目变更进行控制。11.2.1RUP过程的背景RationalUnifiedProcess(RUP,统一开发过程)是一套面向对象的软件工程过程。RUP说明了如何有效地使用成熟技术开发软件。11.2.2传统的软件开发模型1.瀑布模型(WaterfallModel)2.螺旋模型1.瀑布模型(WaterfallModel)瀑布模型是一种线性模型。瀑布模型将软件生存周期划分为6个阶段:需求分析设计实现测试运行维护瀑布模型最为突出的缺点是缺乏灵活性,不能处理好需求变化1.瀑布模型(WaterfallModel)
需求分析设计实现测试部署运行维护2.螺旋模型螺旋模型使用原型作为降低风险的机制。螺旋模型使开发者在产品演化的任意阶段均可使用原型方法。螺旋模型体现了RUP中迭代的思想。一个螺旋的周期一般包括四个阶段:确定目标,选择方案,选定完成目标的策略。风险分析。启动开发阶段。评审前一阶段的工作,计划下一阶段工作。2.螺旋模型
11.3RUP的二维开发模型传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。在RUP中,软件开发生命周期根据时间和RUP的核心工作流划分为二维空间。横轴表示项目的时间维,纵轴以内容来组织的逻辑活动。11.3RUP的二维开发模型11.3RUP的二维开发模型11.3.1RUP的核心工作流11.3.2RUP的四个阶段11.3.3RUP的迭代开发模型11.3.1RUP的核心工作流RUP中有9个核心工作流,分为6个核心过程工作流(CoreProcessWorkflows)和3个核心支持工作流(CoreSupportingWorkflows)。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。11.3.1RUP的核心工作流1.业务建模(BusinessModeling)2.需求分析(Requirements)3.分析与设计(AnalysisandDesign)4.实现(Implementation)5.测试(Test)6.部署(Deployment)7.设置和变更管理(ConfigurationandChange Management)8.项目管理(ProjectManagement)9.环境(Environment)1.业务建模(BusinessModeling)理解待开发系统所在机构的组织结构及其业务运作,确保所有参与人员对开发系统有共同的认识。2.需求分析(Requirements)定义系统功能及用户界面,明确客户需要的系统的功能,开发人员理解系统的需求,为项目预算及计划提供基础。3.分析与设计(AnalysisandDesign)把需求分析的结果转化为分析和设计模型,确定实现规格。4.实现(Implementation)定义代码的组织结构、实现代码、单元测试、系统集成。5.测试(Test)验证各自子系统的交互与集成;发现缺陷并作出修改建议。6.部署(Deployment)打包、分发、安装软件,升级旧系统;培训用户及销售人员,并提供技术支持。制定并实施beta测试。7.设置和变更管理(ConfigurationandChangeManagement)跟踪并维护系统所有产品的完整性和一致性。8.项目管理(ProjectManagement)为软件开发项目提供计划、执行和监控可行性的指导;为风险管理提供框架。9.环境(Environment)为软件开发机构提供过程管理和工具的支持。11.3.2RUP的四个阶段RUP包括以下几个阶段:起始阶段细化阶段构建阶段交付阶段每个阶段结束于一个主要的里程碑(MajorMilestones),每个阶段本质上是两个里程碑之间的时间跨度。11.3.2RUP的四个阶段1.初始阶段2.细化阶段3.构建阶段4.交付阶段1.初始阶段初始阶段所要进行如下的活动:明确说明项目规模,了解环境以及最重要的需求和约束,以便可以得出最终产品的验收标准。计划和准备业务理由。评估风险管理、人员配备、项目计划以及成本/进度/收益折衷的备选方案。综合考虑构架,评估构架。准备项目的环境,评估项目和组织,选择工具,决定流程中要改进的部分。1.初始阶段初始阶段的评估标准如下:出资人同意系统范围定义以及费用和进度评估。主要用例是否符合需求。费用和进度评估、优先级、风险以及开发过程的可信性。任何已开发的原型的深度和广度。实际开销与计划开销。初始阶段的焦点是需求和分析工作流。2.细化阶段细化阶段所要进行如下的活动:设计确定系统的体系结构,制定工作计划和资源要求细化阶段的焦点是需求、分析和设计工作流。2.细化阶段细化阶段的评估标准如下:标明用例模型中的用户和参与者,并且建立用例的描述文档。用例模型需完成80%。创建软件系统开发过程中的软件结构的描述文档。创建可执行的系统原型。细化业务案例和风险列表。创建整个项目的开发计划。3.构造阶段构建阶段的主要目标如下:优化资源、避免不必要的报废和返工,使开发成本降到最低。尽快达到质量的要求。快速完成有用的版本,例如Alpha版、Beta版和其他测试发布版。完成所有功能的分析、开发和测试。迭代式、递增地开发随时可以发布的产品。确定准备好软件系统的外部环境。构建阶段的焦点是实现工作流。4.交付阶段交付阶段的主要目标如下:进行Beta版使用测试,按用户的要求验证新系统。替换旧的系统,顺利的升级。对用户和维护人员进行培训。开始调整活动,例如调试、性能或可用性的增强。与用户达成共识,配置基线与评估标准一致。交付阶段的焦点是实现和测试工作流。11.3.3RUP的迭代开发模型RUP中的每个阶段可以进一步分解为迭代。11.3.3RUP的迭代开发模型与传统的瀑布模型相比较,迭代过程的优点:降低了在一个增量上的开支风险。降低了产品无法按照既定进度进入市场的风险。加快了整个开发工作的进度。11.3.3RUP的迭代开发模型与传统的瀑布模型相比较,迭代过程的优点:项目的开发不是瀑布式的开发,而多考虑到需求的变更、设计的优化等情况,进行多次的迭代开发,每一次迭代完成,都能够提交一个可运行的产品,并且在原有的基础上得到提高。里程碑里程碑是开发过程的检查和同步点,而不是静态的点使用里程碑,使得团队的成员能够共同协作和同步工作里程碑包含两种形式:主要里程碑内部里程碑每个里程碑结束时,都应当同客户取得一致里程碑结束的标志是可以提交相应的成果项目的整个过程建议分成三个主要里程碑:项目前期(PreProject)项目开发(Development)项目提交(Deliver)对于每个主要的里程碑,项目可以根据情况定义次级里程碑里程碑及迭代开发milestone1milestone4milestone3milestone2里程碑及迭代开发TimeFunctionmilestone1milestone4milestone3milestone2milestone1milestone4milestone3milestone2milestone1milestone4milestone3milestone2Version1Version2Version3风险管理风险:将来可能发生的问题,这个问题是同项目相关的,会对项目的开展产生负面影响。风险管理的原则风险管理的原则事先预期,事先处理,而不是等到风险发生的时候再处理找到风险的根本再处理,而不只是处理表面的问题设法降低和转化风险,而不是回避使用已知和可控的方法处理风险风险管理示例在项目开始时,项目计划中必须包含风险计划项目进行过程中,必须执行持续的风险管理活动在以下情况下,必须提供风险报告:项目开始时每个星期必须提交一次风险报告当一个重要的里程碑结束时当项目发生变动时其他觉得有必要做风险分析的时间风险报告的内容为了使风险管理达到预期的要求,风险报告应该包含以下内容:最重要的风险的内容风险发生的可能性风险可能产生的影响处理风险的手段和计划风险的负责人11.4核心工作流介绍11.4.1需求工作流11.4.2分析工作流11.4.3设计工作流11.4.4实现工作流11.4.5测试工作流11.4.1需求工作流需求捕获通过对应问题的理解和分析,确立问题涉及的信息、功能和系统行为,将用户需求精确化、完全化。需求的焦点主要在初始和细化阶段,在细化阶段后期,需求捕获的工作量大幅下降。11.4.1需求工作流11.4.1需求工作流1.制品2.工作人员3.工作流1.制品在需求工作流,主要的UML制品:用例模型(UseCaseModel)参与者(Actor)用例(UseCase)构架描述术语表(Glossary)用户界面原型2.工作人员参与需求工作流阶段的工作人员:系统分析人员(SystemAnalyst)用例描述人员(UseCaseSpecifier)用户界面设计人员(UserInterface Designer)构架设计师(Architect)3.工作流需求捕获的工作流主要包括五个活动:确定参与者和用例区分用例的优先级详细描述一个用例构造完整用例模型构造用户界面原型11.4.2分析工作流分析的主要工作开始于初始阶段的结尾,和需求一样是细化阶段的主要焦点。细化阶段的大部分活动是捕获需求和分析;分析工作与需求捕获在很大程度上重叠。11.4.2分析工作流11.4.2分析工作流1.制品2.工作人员3.工作流1.制品在分析工作流期间,主要的UML制品:分析模型用例实现(分析)分析类分析包构架模型2.工作人员在分析工作流期间,所参与的工作人员:构架设计师用例工程师构件工程师3.工作流分析工作流主要包括四个活动:构架分析分析用例分析类分析包11.4.3设计工作流设计工作流的主要工作是位于细化阶段的中后期部分和构造阶段的开始部分的主要建模活动。系统建模最初的焦点是需求和分析,在分析活动逐步完善后,建模的焦点开始转向设计。11.4.3设计工作流11.4.3设计工作流1.制品2.工作人员3.工作流1.制品在分析工作流期间,主要的UML制品:设计模型设计类用例实现-设计设计子系统接口配置图2.工作人员参与设计工作流的工作人员包括:构架设计师用例工程师构件工程师3.工作流设计工作流中,主要包括四种活动:构架设计设计一个用例设计一个类设计一个子系统11.4.4实现工作流实现(实施)是关于把设计模型转换成可执行代码的过程。从系统分析师或系统设计师的角度看,实现工作流的重点就是完成软件系统的可执行代码。实现工作流是构建阶段的焦点。11.4.4实现工作流11.4.4实现工作流1.制品2.工作人员3.工作流1.制品在实现工作流中,主要有六种制品:实现模型组件实现子系统接口构架描述(实现模型)集成构造计划2.工作人员参与实现工作流的工作人员:构架设计师构件工程师系统集成人员3.工作流在实现工作流中,包括一系列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美甲店服务员工作感悟
- 有害废弃物安全回收流程
- 2025年中考化学一轮复习之化学式的书写与意义
- 酒店管理工作关键职责讲解
- 税务报告与申报流程
- 银行员工感悟
- 整形行业采购工作总结
- 2024年设备监理师考试题库【原创题】
- 别墅度假休闲旅游合同
- 读书报告:儒学
- 2024年医院副院长工作总结范文(2篇)
- UL1017标准中文版-2018吸尘器UL中文版标准
- 【MOOC】诊断学-山东大学 中国大学慕课MOOC答案
- 人体寄生虫表格总结超全(原虫部分)
- 病历质控流程
- 合作投资酒店意向合同范例
- 2024年度新能源汽车充电物流合同
- 2024年学校意识形态工作总结模版(3篇)
- 机械设备招投标授权委托书模板
- 科研年终总结汇报
- 汽车维修安全应急预案范文(5篇)
评论
0/150
提交评论