- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统分析师论文写作:基于RUP的软件过程和应用
系统分析师 /rk/rjsp/index.html
基于RUP的软件过程及应用
1、引言 软件过程(SoftwareProcess)是人们建立、维护和进化软件产品整个过程中所有技术活动和管理活动的集合[1]。目前,软件过程技术是一个非常活跃的研究领域,吸引了大批来自学术界和工业界的专家和学者。从1984年起每年有软件过程国际研讨会(ISPW),从1991年起开始召开软件过程国际会议(ICSP),每个国家几乎都有自己的软件过程改进网络(SPN)。软件过程技术的研究主要有三个方向: (1)软件过程分析和建模。软件过程建模方法是软件过程技术的起点,其中形式化半形式化建模方法有基于规则的,基于过程程序的等等。过程分析和过程建模对于保证过程定义的质量、建立全面和灵活的过程体系具有重要的作用。 (2)软件过程支持。软件过程支持主要是指研究和开发支持软件过程活动的CASE工具,过程支撑工具作为一种技术基础设施能够很好地支持、管理并规范化软件过程。软件过程支持工具主要包括软件过程流程工具、过程文挡工具、评审工具和人员管理工具。 (3)软件过程评估和改进。软件过程改进对生产高质量软件产品和提高软件生产率的重要性已被越来越多的软件开发组织所认同。由美国卡耐基·梅隆大学软件工程研究所(CMU/SEI)提出的软件能力成熟度模型(SW-CMM)除了用于软件过程评估外,还向软件组织提供了指导其进行软件过程管理和软件过程改进的框架。 Rational Unified Process(RUP)是Rational软件公司的一个软件过程产品,是由Objectory过程演化而来的,其初始版本为5。0,先后经历了5。1、5。1。1、5。5等版本直到最新的RationalUnifiedProcess2000版本。RUP将项目管理、商业建模、分析与设计等统一起来,贯穿整个开发过程。RUP采用Internet技术,可以增强团队的开发效率,并为所有成员提供最佳的软件实现方案,它使团队中每个开发人员的见解和思想得到统一,使开发小组成员的沟通更为容易,而这正是任何项目要取得成功的关键因素;它可以增强开发人员对软件的预见性,最终的好处就是提高了软件质量,并有效缩短了软件从开发到投放市场的时间。RUP过程为软件开发提供了规范性的指南、模板和范例,可用来开发所有类型的应用。 本文的第2节讨论基于RUP的软件过程,第3节给出一个应用实例,第4节是本文的结论。 2、基于RUP的软件过程
RUP中的软件过程在时间上被分解为四个顺序的阶段,分别是初始阶段(Inception)、细化阶段(Elaboration)、构建阶段(Construction)和交付阶段(Transition)[2]。每个阶段结束时都要安排一次技术评审,以确定这个阶段的目标是否已经满足。如果评审结果令人满意,就可以允许项目进入下一个阶段。基于RUP的软件过程模型如图1所示。
????? 从图1中可以看出,基于RUP的软件过程是一个迭代过程。通过初始、细化、构建和提交四个阶 段就是一个开发周期,每次经过这四个阶段就会产生一代软件。除非产品退役,否则通过重复同样的四个阶段,产品将进化为下一代产品,但每一次的侧重点都将放 在不同的阶段上。这些随后的过程称为进化过程。 用户需求的变化、运行环境的变更、基础技术方面的变更等都会引发进化过程。通常情况 下,进化过程的初始阶段和细化阶段都比较简单,因为基本产品定义和体系结构在前面的开发过程就已经决定。但也有例外情况,例如对软件体系结构 (SoftwareArchitecture)进行重新定义的进化过程。 2.1初始阶段 初始阶段的任务是为系统建立业务模型并确定项目的边界。在初始阶段,必须识别所有与系统交互的外部实体,定义系统与外部实体交互的特性。在这个阶段中所 关注的是整个项目的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来说,初始阶段可能很短。初始阶段的实现过程如图2所示。 (1)明确项目规模 建立项目的软件规模和边界条件,包括验收标准;了解环境及重要的需求和约束,识别系统的关键用例(Use Case)。 (2)评估项目风险 软件过程主要关心的是软件开发的已知方面,只能准确描述、计划、分配和评审那些已经知道将要完成的事情。风险管理则主要关心未知方面。在基于RUP的迭 代式软件过程中,很多决策要受风险决定。要达到这个目的,开发者需要详细了解项目所面临的风险,并对如何降低或处理风险有明确的策略。 (3)制订项目计划 估计整个项目的总体成本、进度和人员配备。综合考虑备选体系结构,评估设计和自制/外购/重用方面的方案,从而估算出成本、进度和资源。在这个过程中,
文档评论(0)