《UML软件开发过程和支持环境研究论文.docx》由会员分享,可在线阅读,更多相关《UML软件开发过程和支持环境研究论文.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、UML软件开发过程和支持环境研究论文UML软件开发过程和支持环境争论论文 国际上,软件工程领域在近3年内取得了前所未有的进展,其成果超过软件工程领域过去10至15年来的成就总和。其中最重要的、具有划时代意义的成果之一就是统一建模语言UML(UnifiedModelingLanguage)的消逝。 UML是继80年月末和90年月初面对对象建模技术高潮后,消逝方法学大战,应市场对统一建模语言的要求,由世界著名的面对对象技术专家BoochJacobson和Rumbaugh发起,在著名的Booch表示法、OOSE方法和OMT方法的基础上,广泛征求看法,集众家之长,几经修改而完成时。在美国,截至1996
2、年10月,UML已经获得工业界、科技界和应用界的广泛支持,已有700多个公司表示支持接受UML语言作为建模语言。 到1997年11月17日UML被OMG(ObjectManagementGroup)米纳为基于面对对象技术的建模语言标准。这标志着面对对象技术中建模语言的争论临时告一段落。 作为建模语言,UML可以说是一种定义良好、易于表达、功能强大且普遍适用的建模语言, 它为用户建模供应了完整的符号表示和不同层次的兀模型(metamodel)如用例图(usescasediagram)包图(packagediagram)、类图(classdiagram)、状态图(statediagram)、X寸象
3、图(objectdiagram)、活动图(activitydiagram)、挨次图(sequencediagram)合作图(collaborationdiagram)组件图(componentdiagram)、配置图(deploymentdiagram)等。它的作用域不仅支持面对对象的分析与设计,还支持从需求分析开头的软件开发的全过程,但如何恰当地将这些可视化图形建模技术用于解决软件开发所面临的问题以及对建模过程的争论和支持工具的争论,仍是目前该领域的热点问题。 目前,在基于UML的开发方法和环境方面国际上已经进行了一些争论和实际开发工作。Rational公司正致力于它称之为Objectory
4、过程的争论,并试图将其原有支持OMT的工具作进一步扩充,以期支持UML建模,并支持对OMT模型的升级。国内对UML的争论尚处于起步阶段。 本文从当前对软件开发过程的需求动身,提出了UML柔性软件开发过程,并设计了相应的集成化支持环境的组成框架。 1UML柔性软件开发过程 电子计算机技术和现代通讯技术的飞速进展正快速转变着人们对时间和空间的概念,世界在物理上正变得越来越小,而内容却比以前任何时候都简洁。全球经济竞争、信息高速大路等近代信息技术都迫使各个企业面临着新的挑战。为了能在瞬息万变的市场和激烈的竞争中保住一席之地,负责信息技术机构的主管人员将不得不学会应变管理技术(changemanage
5、ment)。在软件开发领域,需要转变其开发与生产的范式,以满足这种新的需求。 传统的软件开发模式越来越难以满足当前企业和市场的需求。新的产品开发周期已不再是一次性的从需求定义、软件设计、实现和交付,迭代式增量开发方式已得到广泛接受。这是由于软件系统的规模越来越大,其简洁程度不断提高,而与此同时又不得不面临激烈的竞争对手和瞬息万变的市场。时间就是效益,谁先占据市场,谁就是胜利者。但是占据市场和击败对手的条件除了时间之外,更重要的是过硬的.质量和供应用户真正需要的产品。因此将新的软件开发模式归结为图1所示的迭代式开发和图2所示的柔性软件开发模型。 所谓柔性软件开发是指软件开发过程应在需求工程的牵引
6、下,首先建立系统模型,对模型进行模拟、分析和调整,进行从需求到建模的“自顶向下建模,由底向上修改”即从需求工程动身,首先明确用户要求,确定需求优先级;在此基础上为系统建立模型,该模型应是可模拟的,通过对模型的模拟运行,以分析模型是否满足用户需求和满足的程度。整个建模过程是自顶向下逐层细化的,而模拟修改则由底向上地进行。 然后在保证模型正确的基础上,进行代码的生成,同时还应考虑到对需求修改的灵敏性和快速响应力气,因此应能进行闭环开发”即不仅能支持从模型到代码的自动生成,将新的模型转换为代码,还应能支持从代码到模型的逆向变换,将原有的代码转化成模型,进行再次分析、修改和调整,进行新一轮的开发,从而
7、为增量式开发供应支持,能分阶段提交产品,也提高了对用户需求变化的响应速度和应变力气,满足用户不断变化的需求。 2UML软件开发支持环境 为此,新一代集成化UML软件开发环境应是能无缝集成以上2个阶段的一个柔性软件开发环境。其组成应包括UML可视化建模系统、UML模拟系统、UML代码生成系统、UML逆向变换系统及其支持环境等,且这些环境的创建均应基于UML的定义,除了语法规章外,还包括详细的语义定义,如图3所示。从而支持系统建模、模拟和“闭环式开发。 1)UML可视化建模系统UML可视化建模系统支持从系统需求、系统分析到系统设计的整个建模过程,供应UML图形的编辑和美化工具,保证得到语法正确、语
8、义完整的UML图形模型,并供应包括文档管理、图形打印等关心支持。可进一步分为以下几个子系统,如图4所示。 ()可视化模型建筑系统由于UML不仅支持对系统的对象建模,还支持对需求和系统体系结构的建模;不仅支持系统的静态模型,还支持对系统动态模型的描述。因此模型建筑系统应支持以下模型的创建和编辑:需求模型。包括静态模型和动态模型。静态模型即功能模型,在UML中通过用例图描述系统功能和各功能的潜在用户及它们之间的关系;动态模型通过活动图支持对业务过程或事务处理过程的描述。 系统对象模型。同样包括静态模型和动态模型。通过包图、类图和对象图定义系统对象及对象间的静态关系。通过挨次图、合作图和状态图描述对
9、象间的交互关系和交互挨次、对象的生命周期以及生命周期中对象可能存在的状态以及状态间的转换约束。 系统体系结构模型。通过组件图、配置图支持软件体系结构和硬件体系结构以及通信机制的定义。进一步还应支持软硬件系统之间的合作关系的可视化表示。 (2)UML语法正确性检测机制 为保证所得到的UML图形模型符合UML的语法定义61,应供应语法正确性检查机制。一个较好的方法是供应语法制导的UML可视化建模工具,从而在模型的建筑过程中供应动态的语法制导和语法检 测功能,既便利用户学习和使用,也可保证所建筑的模型在语法结构上的正确性。 (2)UML模型的全都性检查机制 由于UML支持从需求分析到系统设计整个建模
10、过程,并且支持用户从不同角度描述系统,而大型软件项目各模型间的协作和约束关系错综简洁,明显不应由用户独自承当它们的管理和维护工作。作为建模支持系统,应供应模型间的全都性检查机制。 首先,该机制应依据以上对基于UML软件开发模型的争辩,在软件开发阶段时间轴上确定引入模型的时间;其次,明确同一种模型的细化分层机制,以及怎样用其它模型描述主模型的细节;第三,在软件开发阶段时间轴上,一个模型存在自顶向下分解的层次结构,各时间阶段产生的层次结构中各种UML模型相互约束协作又产生简洁的网状关系,需要建立不同阶段、不同功能的同一种模型和不同种模型约束和协作的数学模型;最终,在该数学模型的基础上,争论将约束和
11、协作关系有机地加入软件开发各个阶段的模型全都性检查机制。 此外,由于允许从不同的角度描述同一模型,如交互图包括挨次图和合作图,这两者之间允许存在冗余信息,因此不仅应保证二者间信息的全都性,作为进一步的支持,还可考虑支持模型间的全都性转换。 (3)UML模型的完备性检查机制 完备性检查机制须在UML语义定义的基础上,首先定义UML图形模型的完备性准则,以保证UML图形模型的完备性。对于UML图形模型的完备性可以分3个层次来考虑:各个图形的完备性;各个子模型的完备性,即相关图形的组合完备性;系统模型的整体完备性。区分这3种完备性的意义在于:在不同阶段可以进行语义完备性和语义正确性检查。如在需求分析
12、阶段,可以对通过完备性检查的活动图进行模拟,以检查该活动图的正确性。而在整个系统模型通过完备性检查之后,方可进行代码的自动生成。 (5)文档生成和管理工具 文档生成工具是指文档自动生成机制。作为一个建模支持系统,应支持包括需求描述、面对对象分析和设计、系统体系结构等文档资料的自动生成。文档管理工具是指文档资料的版本管理等关心管理工作。 1)UML模拟系统 系统模拟机制支持对UML模型的功能模拟和性能模拟,它包括以下3个部分: (1)对动态模型的模拟 主要包括对活动模型、交互模型(挨次图和交互图)以及状态图的模拟。依据预先定义的语义,模拟各个模型对系统在时间特性上的描述是否真实地反映了客观现实和
13、用户需求;并应供应相应的跟踪调试机制。 (2)对系统功能(需求)和用户界面的模拟。 用来支持快速原型。借助于代码自动生成工 具和用户界面自动生成工具的支持,产生系统原型,并尽早供应给用户,以确保建模的有效性。 (3)系统性能的模拟 UML支持对系统体系结构的建模,作为一个良好的建模和开发支持工具,应支持对不同系统配置和功能支配状况下对系统性能的模拟,以便得到较好的系统设计方案和合理的系统配置。 2)UML代码生成系统 支持可视化对象和行为的代码生成,也称之为UML支持环境的正向变换系统。 软件开发的最终目的是产生可执行代码。大多数软件开发环境中,建模和编码过程缺少有机的统一,这是有其历史缘由的
14、。其中最重要的缘由是缺少功能强大、简洁清楚、标准统一的建模语言。UML的消逝并被OMG接受为标准,为消退这个障碍供应了一个最好的起点。 UML虽然是一种可视化建模语言,不是编程语言。但是它与大多数面对对象语言(例如C+、Java)存在紧密的映射关系。在UML语言的代码生成机制方面,国际上一些大公司有一些有益的争论和开发工作。比较有代表性的有Rational公司和AdvancedSoftwareTechnologiesInc。但这些争论和实现大多限于UML语言的静态模型中的类图,其它模型的代码自动生成机制的争论资料则特殊罕见。 为此代码自动生成机制应依据UML语言多种模型动态协作、关系简洁的特点
15、,首先界定UML的语义和面对对象编程语言(首先是Java)的语义,争论专用语义机制描述面对对象模型和语言中动态和静态机制,建立两者的语义模型;再在该语义模型下建立两者的映射模型;并争论代码自动生成实现技术和独立于UML语言本身的编程语言的特殊机制。代码自动生成机制的争论与实现应考虑后面的逆向转换机制。 3)UML逆向变换系统 当用户对生成的代码进行修改后,逆向转换机制将用户的修改转换到模型上。否则将造成模型和代码间的不全都性,使得系统的扩充、增删和维护难以进行。 逆向转换机制一般由建模、析取和抽象3个步 骤组成。动态模型的逆向转换机制是争论的难点。我们将在正向转换的基础上,建立起模型到代码的映射关系,尝试建立起一套约束机制,实现自动的或人工导引的逆向转换机制。在国际上,这方面的争论并不成熟。 3结束语 依据一年多来对UML的学习和分析以及对UML支持环境的争论和开发工作,本文从当前对软件过程的需求动身,提出了当前软件开发应具备的特点和开发模型,在此基础上设计了集成化UML软件开发环境框架,提出了需解决的问题。目前我们已经完成了UML可视化建模系统的开发工作,并在争论生课程中由80多名同学进行了试用,反映良好。UML软件开发支持环境的其他子系统正在争论、开发之中。9