论文部分内容阅读
[摘要]本作者从实际实施角度论述了RUP方法的一种改良方法——TPUP。本文从个人对TPUP理论的切身体会,以及实证讲述和论证了TPUP的四个阶段,最后提到个人对RUP方法发展的一点看法。并且提出相关理论。
[关键词]工程方法TPUP Rational统一软件开发过程迭代
中图分类号:TP18 文献标识码:A 文章编号:1009~-283(2009)04-0152-01
1 TPUP在的应用
拓普软件开发过程中,将自己多年来积累的开发经验与cMM的思想、PsP的作法和RuP理论相结合,最终形成了TPUP,其主导思想是基于Rational公司提出的RUP,根据公司自己的特点,对RUP中的一些不适合自己的繁琐做法作裁减(比如有许多的Artifacts根本没有必要全部写出来),同时扩充了cMM中所强调的质量管理,在项目管理中采用PSP做法,加强对工程师的培训、管理和监控,提高项目的成功率。本系统完全按照TOP集团的TPUP进行开发,项目评审小组制定了四个阶段的评审,评审结果用A,B,c,D分别表示为:
A——接受被评审的开发成果/文档;B——由于被评审的开发成果/文档不完善,改正后另行评审;C——暂时接受被评审的开发成果/文档(小错误已经发现,必须改,但没必要再评审);D——由于被评审的开发成果/文档严重错误,建议终止项目继续开发。TPUP和RUP类似,分为四个阶段,分别是先启(inception)、精化、(elaboration)、构建(constrtlc-hon)、产品化(transition)。每个星期要求完成一个阶段,并在下个星期一做阶段评审。下面将讲解TPUP的一些主要运作流程。
1.1 先启阶段(inception)项目经理首先召开会议,进行项目动员和工作任务的分配,明确每个人在TPUP中所担任的角色
本项目组共有9个人(1个人可以充当多个角色),安排4个人成立一个需求分析小组,指定其中1个人作为小组组长;再安排2个人做技术和架构方面的研究,要求产生一个原型,保证技术上的可行性;项,目经理为1个人,负责项目的计划、控制和跟踪;再安排1个人专职制订测试计划和SQA(软件质量保证)的工作;最后1个人负责在1天的时间内搭建起整个团队需要使用的软件配置库;成立SEPG小组(软件工程过程小组)负责软件流程活动,监督开发过程是否满足公司制订的标准;成立CCB小组(变更控制委员会),主要任务是明确产品的基线、复审对基线的变更、最后批准、否决变更或延期执行。下面从每个角色的角度去论述相应情况。
(1)项目经理——有两个主要任务,分别是项目开发计划、项目跟踪和控制。项目开发计划中要求产生下面的文档:迭代计划(产生in-eeptoon、elaboration两个阶段的迭代计划)、软件开发计划、风险管理计划、风险列表、商业理由、SQA计划、产品验收计划。项目跟踪和控制中要求产生下面的文档:迭代评估报告、状态评估报告、成本跟踪表、风险跟踪表、工作量统计表、进度跟踪表。项目经理需要注意下面的一些问题,在分配任务的时候,必须考虑每个成员各自的兴趣、爱好、工作特长,调动项目组成员的积极性。每天下班前,组员需要把当天工作成果保存到服务器的配置库中,并写下daily report记载所做工作。项目经理要随时与团队成员进行沟通,了解他们的进度和工作中的困难。为了增强团队成员互相之间的沟通,每周可以安排1次座谈,交流彼此的工作体会。开会时,项目经理要提前准备好开会内容,将开会的概要事先分发给组员们,并且要牢牢控制开会主题。(2)测试人员——完成整个系统测试计划,同需求分析小组紧密合作,制作SqA评审计划,对项目质量保证监控方面做出计划安排。(3)需求分析人员——明确需求和分析需求,产生如下相应工件:前景、用例模型、词汇表、补充规约、涉众请求、需求管理计划、用例实现规约。(4)软件配置人员——立软件配置库(采用了VSS6.0软件)和相关的项目环境支持工件,要求产生如下工件:部署计划、软件配置管理计划、变更管理计划、编程指南、测试指南、开发组织评估、设计指南、业务建模指南、用例建模指南、开发案例。(5)技术分析员——主要研究技术上的可行性、技术造型和产生一个原型,产生如下相应工件:软件架构文档。通过需求小组的分析,先画出用例模型,然后根据用例模型写出用例实现规约、词汇表、补充规约、涉众请求,进一步得到了测试用例,测试计划。
1.2 精化阶段(elaboration)
细化阶段在四个阶段中最关键,其主要任务是确保构架、需求和计划足够稳定,充分减少风险,所以所有工作必须围绕这个任务展开。施时,本阶段要求完成用例模型中的80%,作出主要关键用例的可执行版本。然后项目经理再次召开会议,讲述本阶段的工作,开始分配任务。下面按照角色来叙述各自的工作任务。
(1)项目经理——有两个主要任务:项目开发计划、项目跟踪和制。此阶段要密切关注用例模型的详细分析和关键用例的实现。(2)测试人员——要求做下面的工作:测试过程、测试模型、测试日志、集成测试计划、系统测试计划、集成测试用例、系统测试用例。(3)需求分析人员——进一步细化用例模型,完成大多数的用例分析和规格说明书,更新下列文档:前景、用例模型、词汇表、补充规约、涉众请求、需求管理计划、用例实现规约,创建用户界面原型文档。(4)软件配置人员——负责细化阶段的工具安装,将一些设计指南和编程指南放置到基线库中。(5)技术分析员—完成分析和设计模型,包括所有的子产品、对象模型、设计类、子系统和包等。
1.3 构建阶段(construction)
在构建阶段,所有剩余构件和应用程序功能被开发并集成为产品,所有功能被详尽地进行测试。该阶段需要实现精化阶段所剩下的20%的用例,同时需要对系统进行严格的质量测试和保证质量,进而形成系统的各种版本(Alpha、Beta等)。在系统完善中,要注意各种文档的收集和整理,要准备好用户手册和公司的开发文档等。
1.4 产品化阶段(transition)
在这一阶段,我们将测试合格的产品部署完成,然后开始使用这套系统,通过一段时间的使用,客户对该系统有一个初步的掌握,然后根据验收标准对系统的性能和易用性等做出评估(即相当于客户对系统的满意度)。
2 结束语
本文对那些预实施RuP的组织和公司具有较好的实用价值和参考价值,读者可以在此基础上结合自己的经验,形成一个有效的、适合自己的、经过裁减的RUP,从而获得高效的软件管理、开发模式。目前市场上还有一些非常优秀的软件开发方法,作者认为,如果能够将RUP和PSP、TSP、CMM四者很好地结合起来,可以为开发工作带来巨大收益,这将会是软件工程一个很好的发展方向。
[关键词]工程方法TPUP Rational统一软件开发过程迭代
中图分类号:TP18 文献标识码:A 文章编号:1009~-283(2009)04-0152-01
1 TPUP在的应用
拓普软件开发过程中,将自己多年来积累的开发经验与cMM的思想、PsP的作法和RuP理论相结合,最终形成了TPUP,其主导思想是基于Rational公司提出的RUP,根据公司自己的特点,对RUP中的一些不适合自己的繁琐做法作裁减(比如有许多的Artifacts根本没有必要全部写出来),同时扩充了cMM中所强调的质量管理,在项目管理中采用PSP做法,加强对工程师的培训、管理和监控,提高项目的成功率。本系统完全按照TOP集团的TPUP进行开发,项目评审小组制定了四个阶段的评审,评审结果用A,B,c,D分别表示为:
A——接受被评审的开发成果/文档;B——由于被评审的开发成果/文档不完善,改正后另行评审;C——暂时接受被评审的开发成果/文档(小错误已经发现,必须改,但没必要再评审);D——由于被评审的开发成果/文档严重错误,建议终止项目继续开发。TPUP和RUP类似,分为四个阶段,分别是先启(inception)、精化、(elaboration)、构建(constrtlc-hon)、产品化(transition)。每个星期要求完成一个阶段,并在下个星期一做阶段评审。下面将讲解TPUP的一些主要运作流程。
1.1 先启阶段(inception)项目经理首先召开会议,进行项目动员和工作任务的分配,明确每个人在TPUP中所担任的角色
本项目组共有9个人(1个人可以充当多个角色),安排4个人成立一个需求分析小组,指定其中1个人作为小组组长;再安排2个人做技术和架构方面的研究,要求产生一个原型,保证技术上的可行性;项,目经理为1个人,负责项目的计划、控制和跟踪;再安排1个人专职制订测试计划和SQA(软件质量保证)的工作;最后1个人负责在1天的时间内搭建起整个团队需要使用的软件配置库;成立SEPG小组(软件工程过程小组)负责软件流程活动,监督开发过程是否满足公司制订的标准;成立CCB小组(变更控制委员会),主要任务是明确产品的基线、复审对基线的变更、最后批准、否决变更或延期执行。下面从每个角色的角度去论述相应情况。
(1)项目经理——有两个主要任务,分别是项目开发计划、项目跟踪和控制。项目开发计划中要求产生下面的文档:迭代计划(产生in-eeptoon、elaboration两个阶段的迭代计划)、软件开发计划、风险管理计划、风险列表、商业理由、SQA计划、产品验收计划。项目跟踪和控制中要求产生下面的文档:迭代评估报告、状态评估报告、成本跟踪表、风险跟踪表、工作量统计表、进度跟踪表。项目经理需要注意下面的一些问题,在分配任务的时候,必须考虑每个成员各自的兴趣、爱好、工作特长,调动项目组成员的积极性。每天下班前,组员需要把当天工作成果保存到服务器的配置库中,并写下daily report记载所做工作。项目经理要随时与团队成员进行沟通,了解他们的进度和工作中的困难。为了增强团队成员互相之间的沟通,每周可以安排1次座谈,交流彼此的工作体会。开会时,项目经理要提前准备好开会内容,将开会的概要事先分发给组员们,并且要牢牢控制开会主题。(2)测试人员——完成整个系统测试计划,同需求分析小组紧密合作,制作SqA评审计划,对项目质量保证监控方面做出计划安排。(3)需求分析人员——明确需求和分析需求,产生如下相应工件:前景、用例模型、词汇表、补充规约、涉众请求、需求管理计划、用例实现规约。(4)软件配置人员——立软件配置库(采用了VSS6.0软件)和相关的项目环境支持工件,要求产生如下工件:部署计划、软件配置管理计划、变更管理计划、编程指南、测试指南、开发组织评估、设计指南、业务建模指南、用例建模指南、开发案例。(5)技术分析员——主要研究技术上的可行性、技术造型和产生一个原型,产生如下相应工件:软件架构文档。通过需求小组的分析,先画出用例模型,然后根据用例模型写出用例实现规约、词汇表、补充规约、涉众请求,进一步得到了测试用例,测试计划。
1.2 精化阶段(elaboration)
细化阶段在四个阶段中最关键,其主要任务是确保构架、需求和计划足够稳定,充分减少风险,所以所有工作必须围绕这个任务展开。施时,本阶段要求完成用例模型中的80%,作出主要关键用例的可执行版本。然后项目经理再次召开会议,讲述本阶段的工作,开始分配任务。下面按照角色来叙述各自的工作任务。
(1)项目经理——有两个主要任务:项目开发计划、项目跟踪和制。此阶段要密切关注用例模型的详细分析和关键用例的实现。(2)测试人员——要求做下面的工作:测试过程、测试模型、测试日志、集成测试计划、系统测试计划、集成测试用例、系统测试用例。(3)需求分析人员——进一步细化用例模型,完成大多数的用例分析和规格说明书,更新下列文档:前景、用例模型、词汇表、补充规约、涉众请求、需求管理计划、用例实现规约,创建用户界面原型文档。(4)软件配置人员——负责细化阶段的工具安装,将一些设计指南和编程指南放置到基线库中。(5)技术分析员—完成分析和设计模型,包括所有的子产品、对象模型、设计类、子系统和包等。
1.3 构建阶段(construction)
在构建阶段,所有剩余构件和应用程序功能被开发并集成为产品,所有功能被详尽地进行测试。该阶段需要实现精化阶段所剩下的20%的用例,同时需要对系统进行严格的质量测试和保证质量,进而形成系统的各种版本(Alpha、Beta等)。在系统完善中,要注意各种文档的收集和整理,要准备好用户手册和公司的开发文档等。
1.4 产品化阶段(transition)
在这一阶段,我们将测试合格的产品部署完成,然后开始使用这套系统,通过一段时间的使用,客户对该系统有一个初步的掌握,然后根据验收标准对系统的性能和易用性等做出评估(即相当于客户对系统的满意度)。
2 结束语
本文对那些预实施RuP的组织和公司具有较好的实用价值和参考价值,读者可以在此基础上结合自己的经验,形成一个有效的、适合自己的、经过裁减的RUP,从而获得高效的软件管理、开发模式。目前市场上还有一些非常优秀的软件开发方法,作者认为,如果能够将RUP和PSP、TSP、CMM四者很好地结合起来,可以为开发工作带来巨大收益,这将会是软件工程一个很好的发展方向。