OPEN Process Framework软件工程框架研究与应用 OPEN Process Framework软件工程框架研究与应用

OPEN Process Framework软件工程框架研究与应用

  • 期刊名字:微机发展
  • 文件大小:220kb
  • 论文作者:廖芳,彭定强,张松
  • 作者单位:北京师范大学
  • 更新时间:2020-11-11
  • 下载次数:
论文简介

第15卷第g期微机发展Val.15 No.92005年9月Microcomputer DevelopmentSep. 2005OPEN Process Framework软件工程框架研究与应用廖芳,彭定强,张松(北京师范大学信息科学学院计算机系,北京100875)滴要:OPEN Proess Framework(OPF)是使软件开发过程达到CMM5级标准的软件工程框架。文中讨论了基于OPF的软件过程的主要元素及实施过程,并把该过程应用于某油田数据采集系统的开发,实贱证明基于OPF的软件过程可以提高团队的开发能力、降低风险、有效控制资源,为项目的开发提供了高度清晰的过程框架,规范管理和开发流程。关键词:OPF;软件过程;阶段;迭代中圈分类号:TP311.5文献标识码:A文章编号:1005 -3751(2005)09-0026-03Research and Application of OPEN Process FrameworkLIAO Fang, PENG Ding-qiang, ZHANG Song(Dept. of Computer Sai. , Coll. of Infomation Sci. , Beijing Normal Univ. , Beijing 100875 ,China)Abstrnct:OPEN Process Framnework(OPF)is a software process framework which leads an organization towerds CMM Level 5. In thispaper major metaclasses and running model of software process based on OPF is discussed, and then this software is applied in the oil -field development data acquisition systen. In fact sofware process besed on OPF can develop ability of teams, reduce risk of sotware,control resource efectelly,, supply high definitin process framework to standerdize process of management.Key wordls:OPEN process framework; software proces; phase; iterative0引言个过程框架,运用这个框架会产生-一个具有组织性、特殊软件工程是--种必须以有组织的质量保证为基础的性的过程(或者说是实例)。每-一个过程实例都是- -个建层次化技术。这种层次技术不仅包括应用的技术方法和构的过程,通过选择特殊的活动、任务、技术以及相关的架工具,更主要的是运用这两个元素以达到软件建造这- -最构创造。任务与技术细节要整合以适合特定的问题领域,终目标的“过程"[12]。全面的质量管理和类似的理念刺在这个整合过程中同时也需要过程的搭建与裁减缝合相激了不断的过程改进,正是这种改进导致了更加成熟的软配合。运用了这个过程框架,就会使软件过程组织达到件工程方法的不断出现。随誊软件朝着更大更复杂的趋CMM的5级标准[3]。势发展以及面向对象和基于组件化的方法在软件开发过程中的大量运用,对软件开发过程提出了新的需求。基于2OPF的5个元类组这个新需求,在这个发展的洪流中,OPEN Process和别的工作单元、工作成品、有过程阶段和代码支持(语言)过程框架(RUP,0OSP等)一道脱颖而出,并在世界范围的生产者是构成OPF的几个元类组,向导是项目实施过内特别是澳大利亚和美洲得到广泛运用。OPEN 是面向程中的理论支持,如图1所示,具体而言,有如下5类[4];对象过程、环境以及符号的简称,它由非盈利组织一*工作单元(work unit):为生产者生产工作成品而OPEN协会来维护和发展,是第三代的、应用于公共领域、创造操作模型的组件。拥有完整生命周期、着重于过程的方法论[3] ,该方法论是*生产者(producer):生产工作成品的组件。针对软件增强型应用的发展以及面向对象、基于组件技术*工作成品( work product):由项目生成的组件。的发展和设计的,正迎合了目前软件发展的趋势。*过程阶段(stage) :用来为工作单元提供大量组织的时间中国煤化工1什么是 OPFOPF(OPEN Process Franework)是OPEN定义的一件。TYHCNMHG5数工作成品的组图1中的虛线框是-一个用于OPEN的组件库,从这个收稿日期:2004-11-30作者简介:廖芳(1980-),女(壮族),广 西柳州人,硕士研究生,研组件库中选择个体实例,把它们放到--起,构造样式就能究方向为网络与信息系统。创造一个详细明确的OPEN实例。工作单元规定了活第9期廖芳等 :OPEN Process Framework软件工程框架研究与应用, 27动、任务、技术这3个类型。活动规定了该“做什么”,但并碑设定、成本估算等项目计划,这些就构成了OPF初始阶不会规定该“怎么做”。任务就类似于以这个所谓的“什段的工作单元。在这些工作单元中生成的各种文档和模么”为目标,而不是“怎么”,做更好的准备。这些目标可以型是工作成品,而生产者则包括系统分析员需求分析员、在相对短的时间内由开发个体或者是一个小的开发组用项目经理、过程工程师以及相关的人员或角色。其中要特一定的技术完成,而最终对该目标真正完成与否的结论别指出过程工程师要做的工作包括实例化类库以生产真要由项目经理来做出。要达到任务或者是活动的目标都实的过程组件并从中选择适合的过程组件、对生产者(如需要个体或者团队的努力,而这个人或者团队就是OPF角色、团队.工具)的选择、对要执行的工作单元的选择、把元模型中定义的“生产者”。所谓的“生产者"可能是一一个任务及其相关技术分派给生产者、把任务分组到工作流和人或者并不是人,可能是个体也可能是团队。他们通过运活动中。这个部分相当于做出了整个项目大体上的计划用技术完成一个或者更多的任务来生产出工作成品。在安排,这些计划安排是项目完成好坏的关键。那个三角环之外,过程阶段和语盲提供了附加的支持。多(3)建构阶段:生产工作成品并将其改造优化以为发种多样的过程阶段为过程的发展提供了大规模的组织(主布做准备的阶段,它是一 -个经过子建造、子发布、子部署以要是时间上的),比如阶段(phase)、生命周期(life cycle)、逐个达到预先定义的多个里程碑的反复过程,是否真正地里程碑(milestone)等等。另一方面,语育是一种用来对工达到里程碑必须由一系列的功能测试、性能测试来判别,作成品文档化的工具,它可以是自然语言、建模语言或者这些都是该阶段的工作单元。在这些工作单元中生成的是编程语言。OPEN支持UML描述、OML描述以及其全部组件、代码、文档等都是该阶段工作成品,而生产者包他你选择的优秀的∞0描述,运用这些描述就可以很好地括项目经理、过程工程师、编码工程师、代码生成器测试进行OPEN过程生成的工作成品的文档化工作。组以及相关人员和角色等等。特别指出在这个阶段中,过程工程师要做的工作包括缝合与搭建被向导选取的过程组件内部细节扩展现存的预工作单元定义过程组件类库、对制定好的各个项目阶段进行控制以达到成本、资源的优化使提供指导用。执行反复评价提(4)使用阶段:向客户组织进行对前共文几阶段的工作成品的发布以及提供维护过程阶段一宏十生产者E产- 工作成品语言服务的阶段,这个阶段会产生大量的客户织反馈,要根据这些反馈对工作成品进行及围1 OPF的结构关系围.时的维护和升级。工作成品的发布和维护就是这个阶段的工作单元,生产者包括项目经理、过程3 OPF 在项目中的实施过程工程师、编码工程师、测试组以及相关人员和角色等等,对上文叙述了构成OPF的5个元素及它们间的关系,于软件的修改代码和相关的文档就是这个阶段的工作成那到底在项目的实施过程中该怎么运用这些元素来完成品。软件过程呢?OPF在项目中的实施是-系列的过程阶段(5)结束阶段:指的是规定的软件维护期过去之后的不断进行迭代的过程,如图2所示,其中的每一个过程阶阶段 ,它的目标就是使所有的软件产品和相关文档相继退段都是根据该阶段的特点对所涉及到的工作单元、生产出维护过程,这个阶段标志着这一轮软件过程开发周期迭者生产成品进行组织的-一个过程[5-8。代的完毕。(1)决策阶段:商讨商业级别的交叉式项目相关事项上述的5个阶段均在OPF的过程架构向导、裁减缝的阶段。在具有交叉式项目的过程启动的最初,需要- -个合向导扩展向导的指导下完成,其中(2)到(4)这3个阶决策阶段对即将开展过程的领域进行简单的决策。它的段是-一个不断迭代的过程,每-次的迭代都在 上-一个迭代目标是弄清楚该领域的商业流程和工作流程,要开展的项的基础上进行,包括需求分析、设计、编码和测试,生成一目是否与客户现存项目相关并且有交互,以便为项目定下个更完善的产品版本。这不断迭代的过程就是软件增量基调并做出相关决定,而一般的小规模过程可以省略这个发展的中国煤化工阶段。来进行描述。例如,(2)初始阶段:最终奋斗目标的全面启动以及为建构文档前YHCN MH C语。用例和对象建模阶段做准备。在这个阶段中,必须明确项目的规模、系统常常使用UML或者OML的建模语言来描述。最后,代业务流程、系统需求等,对项目中的风险做出相应的分析,码是用比如说是JAVA, SQL或者是CORBA的接口定义并根据这些结果做出人员安排、资源分配、阶段设置、里程语言(IDL)等执行语言来书写的。微机发展第15卷毕的时候都要按照之前设置好的项目测工程生命周期(prograrnme 'fe eyck )试计划报告进行功能测试和性能测试,在决策阶段初蝓阶段建构阶段使用阶段结束阶段建构阶段结束之前还要进行由我方与客(Sirategy)(Incepion)(Constnuction)(Usage)(Retiement)户方共同参与的最终的项目技术审核。. , Bild (n)在审核中考虑的问题有:系统功能是否满Rclease(1)Deplboy-足客户(油田)需求、系统性能如何(并发ment. (1)皮数据上报和审核的效率和错误率、模Mile-stone (L块的下载速度等等)、系统是否达到可以项且发屡思駔投入实际使用的标准使用的资源是否在(project development cycle)可接受的计划变动范围内(人员、时间、资田2 OPEN Proces的生命周期金成本、设备等等)、是否做好发布的淮备。4应用实例(4)使用阶段:主要是向客户进行系统的发布以及提在为某油田开发的数据采集系统中,全面采取了基于供维护服务的阶段。把采集系统部署到指定的试点采油OPEN Proces的软件过程。数据采集系统目的是能够在信息中心采油局、采油厂、采油队,接受实际环境的测试。各个采油点采集每个工作日、工作周期的工作数据,能够并同时对实际用户和相关的人员进行培训和指导。对于适应多种网络环境(高速光纤、低速无线或者间断拨号网用户提出的新需求和改进意见进行记录,为系统的下一次络等)的数据上报情况,采用插件模式开发,各个数据录人迭代的需求分析做好准备。在试点中使用2个月后,客户和开发应用模块都可以下载更新和安装。该系统包含数针对项目进行评价,根据开始的项目需求分析报告、项目.据服务系统框架程序、框架配置管理、权限管理模块、用规格报告研制报告和测试报告,认可了第一个版本的采户管理模块.(通用)数据.上报模块、(通用)数据审核模块、集系统,并提出根据油田的商业策略,要进行软件发展进数据发布和共享模块、日志管理模块、数据备份模块以及化以把它推广到其他油田的想法。基于客户的这一想法,外挂模块管理等十多个模块,是-一个庞大复杂的系统。开始第二个开发周期,由于OPEN Proces 为软件开发提(1)决策阶段:由于本项目并不是交叉式项目,所以这供了很好的适应性裁减性和可扩展性,所以在不长的时- -阶段省略。间之内,就又完成了一个开发周期,目前该数据采集系统(2)初始阶段:主要是首先明确油田的需求,摸清油田已经运用于全国的多个采油机构,用户反应良好。这个陌生领域的业务流程,并根据实际情况确立项目的规(5)结束阶段:项目的完结。由于全面采用了基于模和边界,生成需求分析报告和项目规格报告;然后不仅OPEN Process 的软件过程,规范了管理和开发流程,对资仅对项目中明显存在的风险进行分析,还应挖掘潜在的偶源进行了有效的控制和高效的使用,所以并没有启用预留然性风险,生成风险分析报告;第三步根据之前的工作做的资源,并且软件开发过程顺利圆满。出整个项目的人员、资源、里程碑、时间、工作流等计划,并基于风险分析结果为计划做出15%的富余。在组件的选5结论取方面,考虑到油田数据业务的专业性较强,所以打算对OPEN Process作为一种完善的软件工程过程,它可于油田业务结合较为紧密的组件重新开发,而一些通用的以提高团队的开发能力、降低风险、提高资源的使用效率,组件可以采用处在公共领域的开放组件,最后形成项目概为项目的开发提供了高度清晰的过程框架,为软件开发提要和详细设计报告和研制报告,并邀请包括客户在内的多供很好的开放性、适应性裁减性、可扩展性、交叉项目的方进行讨论以论证该项目设计报告和研制报告的可行性。支持性等等[5] ,并完全适应目前的面向对象、基于组件的根据客户的需求和实际情况,决定选取OPEN协会推荐软件发展趋势。但是,它也存在不足,比如,它的可裁减性的MakV公司ObjectMake工具作为分析和建模工具以及必然导致封装性能不佳,增加实践中的复杂性等。所以, .eTrack Products Pty Lid公司eTrack 系列作为项目实施的在实际使用中,可以根据不同的需求把OPEN Process与.支持工具,另外,Dot NET作为系统开发工具,数据库支持别的软件工程方法结合起来,比如RUp[9],以达到软件开Oracle9i,SQL Server和Access三种。发的完善中国煤化工(3)建构阶段:主要是对新组件的开发以及与所选取的开放组件的缝合工作。在这个阶段中,对所有的工作单参考文献TYHCNMHG元进行有效的控制使其严格按照研制报告设定的进度来[1] Perssman R s.软件工程-- -实践者的研究方法[M].黄柏完成一个个的里程碑任务,并采取增量的并行开发方法,素,梅宏译.北京:机械工业出版社.199.(下转第31页)大大地提高了开发效率,降低了成本。每一次增量开发完第9期程远方等:流水线调度问题探究31●比较l= 1和l= 2的F(S)值,取其中的F(S)最小表1 在几组测试数据下Palmer算法与CDS算法结果的比较者。因此,取序列(1,2,3,4),它就是CDS算法求出的近似Palmer 算法F(S)CDS算法F(S)数据说明237722079个作业在10个设备上2.2 Palmer 算法283426678个作业在15个设备上1965年D. s. Palmer提出用斜度指标排列作业的启发316499412个作业在30个设备上式算法,称为Palmer 法。作业i的斜度指标按下式计算:将这些数据用excel转化为图形便可以直观地看出,λ,=: 2[k -(m+1)2]164) -般情况下,Palmer得到的结果没有CDS好(见图4)。按照各作业的λ;不增的顺序排列作业顺序,可以得到500一个比较优的近似解。同上面的例子,给定时间序列如下50004000口Palner算法(4个作业,每个作业3个任务,工作在3台设备上):30002000■CDS算法(S)T = 1t,t12,t13,t14 = {1,2,6,3}1000T2= 121.22,23,t241 = |8,4,2,9}T3= 131,132,233,t34} = {4,5,8,21这里m = 3,于是有图4表1数据转换为直方围时,Palmer算法与CDS算法结果的比较λ1 =-1+ t31 =-1+4= 3所以,当需要快速获得-一个近似解的时候,可以采用入2 =- t12+ t32 =-2+5= 3Palmer算法;当对解的结果要求比较高的时候,可以采用λg=-tu3+ t33=-6+8=2CDS。λ4 =- t14+ t34=-3+2=-1按照λ;不增的顺序排列作业,得到(1,2,3,4)和(2,1,另外,陈荣秋在1983年中提到的关键工件法[3]也是3,4)。恰好这两个作业调度都是最优调度。如果不是,则应-种有效的启发式算法。除了启发式算法,许多人也研究了用模拟退火算法(4]和遗传算法[$]等搜索技术来求解流该从F(S)中挑选较小者。水线调度问题,取得了一定成果。3实验与结论Johnson算法只适用于m = 2的特殊情况下流水线调参考文献:[1]余祥宜, 崔国华.计篳机算法基础[M].武汉:华中理工大学度。当m> 2时,流水线调度问题具有NP -难度。文中介出版社2000.228 - 229.绍了CDS算法和Palner算法来求近似解。它们都是使用的[2] Dudck RA, Pawalker ss, Smith ML. The lss of Flow启发式算法,以较小的计算量获得近似解。shop scheduling research[J]. Operations Research, 1992, 40CDS法以Johnson算法为基础,调用m - 1次Johnson(1):42 -46.算法,计算出m- 1次不同的F(S),选择其中最小的;[3] 陈荣秋.求同顺序mXn排序问题近似解的一个新算法Palmer法则计算n次λ值,根据λ;不增的顺序排列作业即关键工件法[J].管理现代化, 1983,1:14- 16.得到近似解。[4] 田彰,杨自厚.同顺序(Flow shop) 排序问题的模拟退火可见,Palmer在效率上比CDS法高,但是根据大量的求解[J].信息与控制, 1994,23(3);133 - 139.实验测试,一般情况下, Palmer得到的结果没有CDS好。[S] 熊红云,何 钺.模糊Flow- shop向题及其遗传优化[J].信息与控制,1999 ,28(1):8-13.表1列出了几组测试的比较。(上接第28页)[2]张海藩软件工程概论[M].北京:清华大学出版社,000.[6] Henderson - Sllers B, Graham I. Process and Product Life[3] Graham I, Henderson - Sllers B, Younesi H. The OPENCyles; OPEN' s Version 2 Life Cydle Model[J]. J0OP,Process Specification[M]. London, UK: Addison - Wesley2000,13(1):23 -26.Longman Ltd., 1997.7] Henderson- Sllers B, Due R T. OPEN Priject Management[4] Firesnith D G, Henderson - Sllers B. The OPEN Proces中国煤化工:35.Framework:An Inroduction[ M]. Boston:Addison - Wesley,[8]CN M H CEN([EB/OL]. hrp:/2001.www. open.ong.au, 199y.[5] Henderson- Sllers B. The OPEN Framework for Enhancing9] Rational. White paper [EB/OL]. http:// www. rational.Producitivity[J]. IEEE Software, 2000, 17(2):53 - 58.com/, 1999..

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。