《UML和统一过程.ppt》由会员分享,可在线阅读,更多相关《UML和统一过程.ppt(68页珍藏版)》请在三一办公上搜索。
1、第16章 UML与统一开发过程,16.1 软件开发过程 16.2 RUP简介16.3 RUP的二维开发模型16.4 RUP核心工作流,16.1 软件过程历史概述,16.1.1 软件开发过程简介16.1.2 当前流行的软件过程,16.1.1 软件开发过程简介,软件过程是指实施于软件开发和维护中的阶段、方法、技术、实践和相关产物(计划、文档、模型、代码、测试用例和手册等)的集合。软件过程是开发高质量软件所需要完成的任务的框架。,16.1.1 软件开发过程简介,软件过程的层次图:,16.1.1 软件开发过程简介,软件工程过程将各种技术结合在一起,使得软件能够被合理地和及时地开发出来。软件工程的方法层
2、在技术上说明了需要如何去开发软件。软件工程的工具层为软件过程和方法提供了自动或半自动的支持。软件过程提供一个框架,在这个框架下可以建立一个软件开发的综合计划。,16.1.2 当前流行的软件过程,Rational Unified Process(RUP)OPEN ProcessObject-Oriented Software Process(OOSP)Extreme Programming(XP)CatalysisDynamic System Development Method(DSDM),16.2 RUP简介,16.2.1 RUP过程的背景16.2.2 传统的软件开发模型,16.2.1 RU
3、P过程的背景,软件项目失败的原因:混乱的需求管理。开发者之间以及开发者和用户不清晰的交流。架构不够坚固。没有发现需求、设计和实现中的不一致。缺少有效的测试。对项目状态的主观估计。没有正确地处理项目开发过程中的风险。没有对项目变更进行控制。,16.2.1 RUP过程的背景,Rational Unified Process(RUP,统一开发过程)是一套面向对象的软件工程过程。RUP说明了如何有效地使用成熟技术开发软件。,16.2.2 传统的软件开发模型,1.瀑布模型(Waterfall Model)2.螺旋模型,1.瀑布模型(Waterfall Model),瀑布模型是一种线性模型。瀑布模型将软件
4、生存周期划分为6个阶段:需求分析设计实现测试运行维护瀑布模型最为突出的缺点是缺乏灵活性。,1.瀑布模型(Waterfall Model),2.螺旋模型,螺旋模型使用原型作为降低风险的机制。螺旋模型使开发者在产品演化的任意阶段均可使用原型方法。螺旋模型体现了RUP中迭代的思想。一个螺旋的周期一般包括四个阶段:确定目标,选择方案,选定完成目标的策略。风险分析。启动开发阶段。评审前一阶段的工作,计划下一阶段工作。,2.螺旋模型,16.3 RUP的二维开发模型,传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。在RUP中,软件开发生命周期根据时间和RUP的核心工作流划分为二维空间。横
5、轴表示项目的时间维,纵轴以内容来组织为自然的逻辑活动。,16.3 RUP的二维开发模型,16.3 RUP的二维开发模型,16.3.1 RUP的核心工作流 16.3.2 RUP的四个阶段16.3.3 RUP的迭代开发模型,16.3.1 RUP的核心工作流,RUP中有9个核心工作流,分为6个核心过程工作流(C ore Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。,16.3.1 RUP的核心工作流,1.商业建模(Business Modeling)2.需求分析(
6、Requirements)3.分析与设计(Analysis and Design)4.实现(Implementation)5.测试(Test)6.配置(Deployment)7.设置和变更管理(Configuration and Change Management)8.项目管理(Project Management)9.环境(Environment),1.商业建模(Business Modeling),理解系统的组织结构及其商业运作,确保所有参与人员对开发系统有共同的认识。,2.需求分析(Requirements),定义系统功能及用户界面,明确客户需要的系统的功能,开发人员理解系统的需求,为项
7、目预算及计划提供基础。,3.分析与设计(Analysis and Design),把需求分析的结果转化为实现规格。,4.实现(Implementation),定义代码的组织结构、实现代码、单元测试、系统集成。,5.测试(Test),验证各自子系统的交互与集成。,6.配置(Deployment),打包、分发、安装软件,升级旧系统;培训用户及销售人员,并提供技术支持。制定并实施beta测试。,7.设置和变更管理(Configuration and Change Management),跟踪并维护系统所有产品的完整性和一致性。,8.项目管理(Project Management),为计划、执行和监控
8、软件开发项目提供可行性的指导;为风险管理提供框架。,9.环境(Environment),为组织提供过程管理和工具的支持。,16.3.2 RUP的四个阶段,RUP包括以下几个阶段:起始阶段细化阶段构建阶段交付阶段每个阶段结束于一个主要的里程碑(Major Milestones),每个阶段本质上是两个里程碑之间的时间跨度。,16.3.2 RUP的四个阶段,1.初始阶段2.细化阶段3.构建阶段4.交付阶段,1.初始阶段,初始阶段所要进行如下的活动:明确说明项目规模,了解环境以及最重要的需求和约束,以便可以得出最终产品的验收标准。计划和准备商业理由。评估风险管理、人员配备、项目计划以及成本/进度/收益
9、折衷的被选方案。综合考虑被选构架,评估构架。准备项目的环境,评估项目和组织,选择工具,决定流程中要改进的部分。,1.初始阶段,初始阶段的评估标准如下:出资人同意系统范围定义以及费用和进度评估。主要用例是否符合需求。费用和进度评估、优先级、风险以及开发过程的可信性。任何已开发的原型的深度和广度。实际开销与计划开销。初始阶段的焦点是需求和分析工作流。,2.细化阶段,细化阶段的评估标准如下:标明用例模型中的用户和参与者,并且建立用例的描述文档。用例模型需完成80。创建软件系统开发过程中的软件结构的描述文档。创建可执行的系统原型。细化商业案例和风险列表。创建整个项目的开发计划。细化阶段的焦点是需求、分
10、析和设计工作流。,3.构造阶段,构建阶段的主要目标如下:优化资源、避免不必要的报废和返工,使开发成本降到最低。尽快达到质量的要求。快速完成有用的版本,例如Alpha 版、Beta 版和其他测试发布版。完成所有功能的分析、开发和测试。迭代式、递增地开发随时可以发布的产品。确定准备好软件系统的外部环境。构建阶段的焦点是实现工作流。,4.交付阶段,交付阶段的主要目标如下:进行Beta版测试,按用户的要求验证新系统。替换旧的系统。对用户和维护人员进行培训。开始调整活动,例如调试、性能或可用性的增强。与用户达成共识,配置基线与评估标准一致。交付阶段的焦点是实现和测试工作流。,16.3.3 RUP的迭代开
11、发模型,RUP中的每个阶段可以进一步分解为迭代。,16.3.3 RUP的迭代开发模型,与传统的瀑布模型相比较,迭代过程的优点:降低了在一个增量上的开支风险。降低了产品无法按照既定进度进入市场的风险。加快了整个开发工作的进度。,16.4 核心工作流介绍,16.4.1 需求捕获工作流16.4.2 分析工作流16.4.3 设计工作流16.4.4 实现工作流16.4.5 测试工作流,16.4.1 需求捕获工作流,需求捕获通过对应问题的理解和分析,确立问题涉及的信息、功能和系统行为,将用户需求精确化、完全化。需求的焦点主要在初始和精化阶段,在精化阶段后期,需求捕获的工作量大幅下降。,16.4.1 需求捕
12、获工作流,16.4.1 需求捕获工作流,1.制品2.工作人员3.工作流,1.制品,在需求捕获工作流,主要的UML制品:用例模型(Use Case Model)参与者(Actor)用例(Use Case)构架描述术语表(Glossary)用户界面原型,2.工作人员,参与需求捕获阶段的工作人员:系统分析人员(System Analyst)用例描述人员(Use Case Specifier)用户界面设计人员(User Interface Designer)构架设计师(Architect),3.工作流,需求捕获的工作流主要包括五个活动:确定参与者和用例区分用例的优先级详细描述一个用例构造用户界面原型构
13、造用例模型,16.4.2 分析工作流,分析的主要工作开始于初始阶段的结尾,和需求一样是精化阶段的主要焦点。精化阶段的大部分活动是捕获需求,分析工作与需求捕获在很大程度上重叠。,16.4.2 分析工作流,16.4.2 分析工作流,1.制品2.工作人员3.工作流,1.制品,在分析工作流期间,主要的UML制品:分析模型分析类用例实现(分析)分析包构架模型,2.工作人员,在分析工作流期间,所参与的工作人员:构架设计师用例工程师构件工程师,3.工作流,分析工作流主要包括四个活动:构架分析分析用例分析类分析包,16.4.3 设计工作流,设计工作流的主要工作是位于精化阶段的最后部分和构造阶段的开始部分的主要
14、建模活动。系统建模最初的焦点是需求和分析,在分析活动逐步完善后,建模的焦点开始转向设计。,16.4.3 设计工作流,16.4.3 设计工作流,1.制品2.工作人员3.工作流,1.制品,在分析工作流期间,主要的UML制品:设计模型设计类用例实现-设计设计子系统接口配置图,2.工作人员,参与设计工作流的工作人员包括:构架设计师用例工程师构件工程师,3.工作流,设计工作流中,主要包括四种活动:构架设计设计一个用例设计一个类设计一个子系统,16.4.4 实现工作流,实现(实施)是关于把设计模型转换成可执行代码的过程。从系统分析师或系统设计师的角度看,实现工作流的重点就是完成软件系统的可执行代码。实现工
15、作流是构建阶段的焦点。,16.4.4 实现工作流,16.4.4 实现工作流,1.制品2.工作人员3.工作流,1.制品,在实现工作流中,主要有六种制品:实现模型组件实现子系统接口构架描述(实现模型)集成构造计划,2.工作人员,参与实现工作流的工作人员:构架设计师构件工程师系统集成人员,3.工作流,在实现工作流中,包括一系列活动:构架实现系统集成实现一个子系统实现一个类执行单元测试,16.4.5 测试工作流,测试是一项相当主要的工作。测试工作流贯穿于软件开发的整个过程。它开始于软件开发的初始阶段,而细化阶段和构造阶段是测试的焦点。测试是为了找出程序中的错误与权限,而不能证明程序无错。,16.4.5 测试工作流,16.4.5 测试工作流,1.制品2.工作人员3.工作流,1.制品,测试工作流中,包括七个制品:测试模型测试用例测试规程测试组件制定测试计划缺陷评估测试,2.工作人员,参与测试工作流的工作人员主要有四类:测试设计人员构件工程师集成测试人员系统测试人员,3.工作流,在测试工作流中,包括六种活动:制定测试计划设计测试实现测试执行集成测试执行系统测试评估测试,
链接地址:https://www.31ppt.com/p-5451563.html