欢迎来到天天文库
浏览记录
ID:36693424
大小:518.10 KB
页数:68页
时间:2019-05-10
《《UML和统一过程》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第16章UML与统一开发过程16.1软件开发过程16.2RUP简介16.3RUP的二维开发模型16.4RUP核心工作流16.1软件过程历史概述16.1.1软件开发过程简介16.1.2当前流行的软件过程16.1.1软件开发过程简介软件过程是指实施于软件开发和维护中的阶段、方法、技术、实践和相关产物(计划、文档、模型、代码、测试用例和手册等)的集合。软件过程是开发高质量软件所需要完成的任务的框架。16.1.1软件开发过程简介软件过程的层次图:16.1.1软件开发过程简介软件工程过程将各种技术结合在一起,使得软件能够被合理地和及时地开发出来。软件工程的方法层在技术上说明了需要
2、如何去开发软件。软件工程的工具层为软件过程和方法提供了自动或半自动的支持。软件过程提供一个框架,在这个框架下可以建立一个软件开发的综合计划。16.1.2当前流行的软件过程RationalUnifiedProcess(RUP)OPENProcessObject-OrientedSoftwareProcess(OOSP)ExtremeProgramming(XP)CatalysisDynamicSystemDevelopmentMethod(DSDM)16.2RUP简介16.2.1RUP过程的背景16.2.2传统的软件开发模型16.2.1RUP过程的背景软件项目失败的原因:
3、混乱的需求管理。开发者之间以及开发者和用户不清晰的交流。架构不够坚固。没有发现需求、设计和实现中的不一致。缺少有效的测试。对项目状态的主观估计。没有正确地处理项目开发过程中的风险。没有对项目变更进行控制。16.2.1RUP过程的背景RationalUnifiedProcess(RUP,统一开发过程)是一套面向对象的软件工程过程。RUP说明了如何有效地使用成熟技术开发软件。16.2.2传统的软件开发模型1.瀑布模型(WaterfallModel)2.螺旋模型1.瀑布模型(WaterfallModel)瀑布模型是一种线性模型。瀑布模型将软件生存周期划分为6个阶段:需求分析设
4、计实现测试运行维护瀑布模型最为突出的缺点是缺乏灵活性。1.瀑布模型(WaterfallModel)2.螺旋模型螺旋模型使用原型作为降低风险的机制。螺旋模型使开发者在产品演化的任意阶段均可使用原型方法。螺旋模型体现了RUP中迭代的思想。一个螺旋的周期一般包括四个阶段:确定目标,选择方案,选定完成目标的策略。风险分析。启动开发阶段。评审前一阶段的工作,计划下一阶段工作。2.螺旋模型16.3RUP的二维开发模型传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。在RUP中,软件开发生命周期根据时间和RUP的核心工作流划分为二维空间。横轴表示项目的时间维,纵轴以
5、内容来组织为自然的逻辑活动。16.3RUP的二维开发模型16.3RUP的二维开发模型16.3.1RUP的核心工作流16.3.2RUP的四个阶段16.3.3RUP的迭代开发模型16.3.1RUP的核心工作流RUP中有9个核心工作流,分为6个核心过程工作流(CoreProcessWorkflows)和3个核心支持工作流(CoreSupportingWorkflows)。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。16.3.1RUP的核心工作流1.商业建模(BusinessModeling)2.需求分析(Requirements)3.分析与设计(A
6、nalysisandDesign)4.实现(Implementation)5.测试(Test)6.配置(Deployment)7.设置和变更管理(ConfigurationandChangeManagement)8.项目管理(ProjectManagement)9.环境(Environment)1.商业建模(BusinessModeling)理解系统的组织结构及其商业运作,确保所有参与人员对开发系统有共同的认识。2.需求分析(Requirements)定义系统功能及用户界面,明确客户需要的系统的功能,开发人员理解系统的需求,为项目预算及计划提供基础。3.分析与设计(An
7、alysisandDesign)把需求分析的结果转化为实现规格。4.实现(Implementation)定义代码的组织结构、实现代码、单元测试、系统集成。5.测试(Test)验证各自子系统的交互与集成。6.配置(Deployment)打包、分发、安装软件,升级旧系统;培训用户及销售人员,并提供技术支持。制定并实施beta测试。7.设置和变更管理(ConfigurationandChangeManagement)跟踪并维护系统所有产品的完整性和一致性。8.项目管理(ProjectManagement)为计划、执行和监控软件开发项目提供可行性
此文档下载收益归作者所有