您好,欢迎访问三七文档
基于RUP的软件开发过程规范Draft1西部世纪软件股份有限公司-1-UML项目计划这个项目计划的目的是为你提供一个项目计划模板。在项目中有大量的模板和表格需要你来填写,以记录项目的信息、估计等。本文的最重要的参考文献是《RationalUnifiedProcess中文版V2000.02.20》。为了针对你的项目更新这个计划,你需要:将项目名字OO项目改为你的项目名称;根据你的项目的信息填写各种模板表格;更新本文档以反映你的项目的计划和策略;根据项目组成员的反馈进行改进,将批准后的项目计划放入一个共享目录;执行计划,并监控项目的进行我们的目标是:这个项目计划将辅助所有的项目组成员朝成功完成项目的目标共同前进,创造高质量的软件产品。1引言一个OO项目是由一系列围绕一个目标或目的的唯一的、复杂的和相互联系的活动组成,并且必须在规定的时间完成,同时满足预算要求和符合合同规定的技术规范要求。一个项目的关键问题见下图。增加在三角形中间的“ScopeandQuality”会增加“Cost”、“Time”和“Resources”.OO项目管理与非OO项目管理相比,关键的问题包括:在范围规模/抽象的各种层次上进行计划和监控:企业——业务层次、项目——系统层次、构造/发布层次使用RUP阶段模型:初始阶段——定义、精化阶段——计划、构造阶段——建模/编码、产品化阶段——向最终用户部署产品使用RUP为每个构造/发布项创建下列模型:需求、分析、设计、实现和测试使用UML元素和语义使用面向对象的规模、复杂性和质量度量GradyBooch在对象-Solutions–Managingthe对象-OrientedProject中说:“软件管理小组的中心任务是平衡一组不完整、不一致和不断变化的技术和非技术需求,以产生一个对最本质的最小功能集最优的系统。”Booch还讲到:“一个成功的软件项目应该是:它的交付项满足并且可能超过最终用户的期望、它是以一种省时经济的方式被开发的,并且对变更和改变是有弹性的。”基于RUP的软件开发过程规范Draft1西部世纪软件股份有限公司-2-项目管理包含计划、进度安排、人员组织、资源配置和执行情况的监控,以产生一个高质量的系统。“更好、更快、更便宜。”GradyBooch在对象-Solutions–Managingthe对象-OrientedProject中说:“一个成功的OO项目有5中习惯,包括:不留情面地专注于开发一个能提供被良好理解的本质的最小功能集的系统.存在一种文化:以结果为中心、鼓舞性的交流沟通和不怕失败有效地使用面向对象建模技术有一个强壮的体系结构项目视图应用一个被良好管理的迭代增量开发声明周期。”PhilippeKruchten在TheRationalUnifiedProcessAnIntroductionSecondEdition中为支持有效的软件工程提供了解决方案:迭代地开发软件管理需求使用基于组件的体系结构验证软件的质量控制软件的变更下面是参考文献和标准:《RationalUnifiedProcess中文版V2000.02.20》RationalSoftwareCorporation《OMGUnifiedModelingLanguageSpecificationv1.3》FirstEdition:March20002企业级计划和监控OO项目系统应根据规模/抽象的层次进行建模。对整个企业来说知道OO项目处在何处是很重要的。规模/抽象的层次级别层次级别定义UML例子OO项目全局关注影响多个企业的语言、标准、政策Internet–ANSI和IEEE标准企业有多个系统的组织XYZ公司全部的系统——应用程序组需求观点:行动者和系统实现观点:组件需求:行动者+系统实现:组件Office2000包括OO项目在内的整个系统系统/子系统/组成组的类作为一个系统或系统包或组件Word2000OO项目系基于RUP的软件开发过程规范Draft1西部世纪软件股份有限公司-3-件——应用程序应用一起工作统包成组的类包——标签盒子协作为一个特定的目的一起动作的成组的类——实现一种模式协作图——虚线椭圆类定义一组对象类Document属性——操作属性——值操作——服务属性——操作Document.NameDocument.Open()希望OO项目系统成为大系统的一个组件是基于如下的理由:设置OO项目系统的边界促进精确的交流来了解规模/抽象的层次便于为OO项目系统指定责任和组件的交互如果组件接口被清晰地定义了,可以加速开发3企业级业务建模业务建模(BusinessModeling)是对整个企业进行建模。对OO项目来说支持企业地短期和长期目标,并能适当地拟合企业是重要的。业务建模有下列产出:Vision文档、组织结构图、业务事件和流程(UseCase)、业务行动者、工作者和实体(DomainModel)、商业规则目录、业务接口(操作的集合)、业务模式、业务系统体系结构、组件图和词汇表。业务模型关键的UML元素业务流程(UseCase)、业务领域对象对象s关键任务对业务建模目标充分的业务/企业信息静态/结构图业务领域对象动态/基于时间的图业务流程(UseCase)工具ROSE、需求跟踪工具关键角色业务/系统分析员、体系结构师模型验收项目经理,体系结构师、客户/用户下面是一张企业业务建模的状态表。企业业务模型位置-引用编号备注业务模型业务事件业务行动者、工作者、实体基于RUP的软件开发过程规范Draft1西部世纪软件股份有限公司-4-业务接口业务模式业务词汇表体系结构——组件业务建模的好处有:支持定义好的需求,从而导致快速、有效的系统开发。支持创建正确、可靠、可扩展的和可重用的系统支持交流、一致性和减少冗余4基于组件开发(CBD)的系统体系结构OO项目系统是一个更大的由组件组成的企业级系统的一部分。基于组建的开发(组件-baseddevelopment——CBD)是创建和部署通过组件组装而成的软件系统,同时要开发和实现这些组件,通常需要建立一个分层的组件体系结构。Kruchen在TheRationalUnifiedProcessAnIntroductionSecondEdition定义体系结构为:“体系结构涵盖对下面问题的重要的决定:一个软件系统的组织结构;组成系统的结构化元素的选择集合和它们的接口,以及这些元素相互协作所需要的行为;将这些元素渐进地组装进更大的系统的合成过程;指导这个组织结构、元素、接口、元素之间的协作关系和合成方式的体系结构风格。”体系结构指一个系统的组织结构,包括它分解成部件、部件间的连接、交互机制和关于系统设计的指导性原则。UML组件图显示了具有接口的组件。一个接口(interface)是一个没有实现的操作的集合。基于组件的开发方式的益处有:通过组件替换,支持开发高度可升级、可修改的系统通过良好定义的接口,支持通讯通过定义可重用的组件,支持重用支持一个高度柔性的系统体系结构,支持使用标准化的组件框架,如COM+、CORBA、EJB等等支持使用第三方商业组件为配置管理和版本管理提供了一个自然的基础基于RUP的软件开发过程规范Draft1西部世纪软件股份有限公司-5-5项目计划和监控5.1项目目标和概述OO项目应该设计、构造和发布与OO项目需求一致的OO项目系统。目标是创建一个正确、可靠、容易理解、可扩展和重用的系统。系统必须满足所有功能性需求,例如各种特性(使用UseCase建模)。系统必须满足以下的非功能性需求:可用性、可靠性、性能和支持能力。描述或位置备注项目名称项目描述项目目标项目功能性需求文档项目非功能性需求文档项目约束项目假设项目标准UML、编码标准、其他(错误处理、线程)企业业务模型项目工作指南见附录项目原型、标签值和约束见附录项目UML模型示例见附录项目文档见工件总结(附录B)项目工具使用指导、CD、书籍、培训项目词汇表项目重用库组件、类、操作、模式等项目UML模型复查每两周或在每个迭代结束时进行定义项目目标的好处有:使项目成员、客户和其他人员在共同的基础上进行沟通支持在项目计划和实际进展之间进行比较,并识别潜在的问题使项目成员集中在实现项目目标的活动上,提高项目效率可以有效地安排和设置为实现项目目标需要进行的活动和它们的优先顺序5.2项目风险风险是正在进行或迫近的对主要里程碑的实现有重要负面影响的因素。如果风险产生,那么对项目而言必然在成本、进度或系统性能等方面存在负面因素。Booch在对象Solutions讲到:“什么是任何实际的项目都面临的最严重的风险因素?包括:基于RUP的软件开发过程规范Draft1西部世纪软件股份有限公司-6-不准确的测量尺度不充分的测量过度的进度压力管理失误不准确的成本估计银弹综合症蠕变的用户需求低质量低生产率取消的项目”为了保证我们能实现项目目标,OO项目应识别和监控所有主要的风险。我们必须准备和避免灾难性的“惊奇”和未期待的事件。OO项目已计划的风险如下:风险名称描述发生的可能性影响规避计划发生时的应变方案备注数据库未按时交付10%延迟项目按月监控定义项目风险的益处有:支持有效的计划,避免“惊奇”提高项目成功的概率支持有效的决策5.3项目阶段和进度安排OO项目应遵循RUP中描述的统一软件开发过程。这是一个迭代增量开发过程,强调渐进地交付一个复杂软件系统的交付项(builds/releases)。每个阶段(phase)是两个主要里程碑之间的时间跨度,例如先启、精化、构建和产品化。RUP阶段化分对一个52周的项目的按周阶段化分示例先启阶段-5周精化阶段-16周构建阶段-26周产品化阶段-5周描述定义项目的范围和商业案例计划项目,指定特性和建立体系结构基线构造项目。软件从体系结构基线发展到可以向用户交付的程度将软件交到用户的手中产品项目视图文档、USECASE列表、项目词汇表、商业案例(商业环境、成功标准、赢利预测)、风险评估、项目计划、业务模型USECASE模型、非功能性需求、软件体系结构、体系结构原型、迭代计划、开发案例、初步的用户手册UML模型(需求、分析、设计、实现、测试)、每次迭代的交付项(Build/Release)推向市场或交给用户的软件产品时间估计10%–5周30%–16周50%–26周2-3周/迭代10%–5周资源估计5%20%65%10%基于RUP的软件开发过程规范Draft1西部世纪软件股份有限公司-7-关键角色项目经理、体系结构师、业务/系统分析员项目经理、体系结构师、业务/系统分析员项目经理、体系结构师、业务/系统分析员、程序员、测试员项目经理、体系结构师里程碑生命周期目标里程碑生命周期构架里程碑最初操作性能里程碑产品发布里程碑拥有良好定义的项目阶段划分的好处有:支持拥有一个良好管理的项目支持沟通,使客户和项目成员了解项目的进展支持在项目计划和实际进展之间的比较测量,尽早发现问题5.4项目人员组成OO项目应由完成下列角色职能的人员组成:项目经理、体系结构师、业务/系统分析员、程序员、测试人员和其他需要的人员。每个角色的职责如下:项目经理–管理项目的所有方面,包括进度、资源、人力等等,以实现项目的目标和交付合格的软件产品。体系结构师–监督项目的技术方面,包括整个系统的体系结构、组件、组件的接口和组件之间的通讯。对开发和部署的基础结构(infrastructure)负责。提供过程环境(硬件和软件配置清单)和实现模型(组件图和部署图)。方法师/工具专家–监督指导UML和RUP的使用。负责保证UML模型的正确性和完整性。提供UML、RUP和CASE工具的使用帮助。创建用来形成报告和生成代码的CASE工具脚本。客户/用户–提供用户的观点,作为行业领域专家参与项目开发工作。业务/系统分析员–领导和协调在业务建模、需求、和分析模型工作中的需求收集、USECASE建模和类建模。开发人员/程序员–创建所有在设计模型中的UML视图、规格说明和代
本文标题:UML项目计划
链接地址:https://www.777doc.com/doc-756523 .html