软件工程中的UML建模技术
【摘要】在软件工程中,UML建模技术的应用十分广泛,具有可视化、定义良好以及功能强大等优点。基于此,笔者从UML建模技术的概念和优势入手,对软件工程中UML建模技术的应用模式和应用流程进行了分析,主要介绍了用例图、类图、序列图和协作图在软件工程中的应用,并将人才招聘系统作为研究对象,阐述了UML建模技术的实践应用,以期为相关研究提供参考。
【关键词】软件工程;UML建模技术;需求分析
前言
在进行软件的开发时,技术人员大都会通过面对对象描述的方法进行建模,该方法是将软件系统的对象看做是构建模块。在进行建模的过程中,UML建模技术可以创建系统的静态结构以及动态行为,可以有效提高建模的效率和准确性。因此,对于软件工程中的UML建模技术研究具有一定的现实意义与理论指导价值。
1.UML建模技术概述
UML是一种规范定义、文档化或者可视化的最标准的建模语言,可以应用于软件工程的各个阶段。UML建模语言拥有统一的符号以及语义,可以将所有项目根植与一种建模语言中,并对这些项目中的所有概念进行明晰的表示与定义,在很大程度上扩大了系统的应用范围,使UML建模技术的应用更为灵活。在UML中,主要包括图、事物以及关系这三个基本构造。具体而言,UML建模技术在软件工程中的应用主要有如下优势:第一,UML建模技术可以在系统模型中实现完全独立,虽然UML建模技术会与其余建模工具进行配合应用,但是并不会与系统的开发过程不产生交集;第二,UML建模技术在软件工程中的应用是面向对象的,打破了传统建模语言的差异性,可以通过统一的模型元素进行方法与图形的表述;第三,UML建模技术可以捕捉软件系统中的静态行为信息与动态行为信息,静态行为信息主要是指软件系统中对象,动态行为信息主要是从时间角度和状态角度对对象通讯的定义;第四,UML建模技术的和具体的实现没有关系,适用于所有语言平台或者工具平台,还能够应用于具有代码生成功能的交互式可视化建模工具,该工具可以为UML建模技术提供多种编程语言代码和程序构筑模型[1]。
2.软件工程中的UML建模技术应用模式
在软件工程中,UML建模技术主要通过视图的应用进行软件开发,UML建模技术一共可以提供八种图,实现软件系统开发的可视化以及模型化,以此获取软件系统的主要资料,从而明确软件系统的架构与体系。本文主要对常用的四种图进行分析:第一,用例图。在UML建模技术中,用例图是最基本的图。在软件工程中,需求分析阶段的重点在于需求获取,需求获取的重点在于系统模型的构建,系统模型构建的最佳方法就是用例图。用例图可以构建的用例模型可以为系统软件的开发奠定良好的基础。第二,类图。在UML建模技术中,类图主要用于表示不同实体(包括人、数据或者事物等)间的相关关系。在软件工程中,类图能够表示软件系统的静态结构,包括逻辑类图和实现类图这两种。其中,逻辑类图是指业务人员所说的事物种类,如保险-住房抵押-信贷-利率等;实现类图是指程序员负责的实体,但是并不会通过相同的属性进行描述,因为实现类图会进行HashMap或者Vec-tor等事物的引用。第三,序列图。在UML建模技术中,序列图能够主要用于具体用例流程的详细定义,主要通过自描述进行用例流程的定义,还能够表示用例流程中不同对象的不同调用关系。在实际的应用过程中,序列图的绘制过程较为简单,在横跨图的上部区域,不同的框代表每个类的对象,每个框中类的对象名称和类的名称使用空格/冒号/空格进行分隔,比如,MyReportGenerator:ReportGenera-tor。如果其中一个类对象向另一个类对象进行消息的发送,需要通过带有指向接收性质的连线来实现,技术人员需要将消息/方法的名称标注于于连线上。如果发送的消息较为重要,技术人员需要绘制带有指向发起性质的虚线,并将返回值标注于虚线上。第四,协作图。在UML1.1版本的时候,协作图被称作Collabo-rationDiagram,翻译为中文是协作图;在UML2.0版本的时候,协作图被称作CommunicationDiagram,翻译为中文是通讯图。但不论哪一种翻译方式,协作图都可以看做是序列图的全新表达方式。对于UML建模技术来说,序列图注重前后顺序,通过循环图或者分支结构来表示,而协作图则更为注重协同关系,协作图不能通过图像来表示[2]。
3.软件工程中的UML建模技术应用流程
在软件工程中,RationalRose能够满足现有全部建模环境的需求,在软件开发过程中,支持开发人员、分析人员和系统工程师将需求以及系统的机构转变为代码,从而实现需求以及系统的可视化。一般来说,软件开发过程包括需求分析、方案设计、方案实现、测试与配置等环节。
3.1需求分析环节
在软件工程的需求分析阶段,技术人员主要应用UML建模技术中的用例图,了解系统的所有需求,并对需求进行相应的描述。对于用例图而言,技术人员通过事件的应用实现用户与系统间的交互作用,并在用例图中表明用户能够实现的目标,还能够将功能分析以及需求分析中包含的系统模块,根据角色平均分配到不同用户中,提高系统模型的清晰度。
3.2设计环节
在软件工程的设计阶段,技术人员需要全面考虑所有软件开发技术的局限性,对需求分析阶段的系统模型进行进一步的扩展与细化。设计阶段的目标在于将系统模型转变为代码,对需求分析阶段提取的系统属性与操作进行细化,并添加更多的类处理,比如,用户接口、设备、数据库以及通信等。一般来说,软件工程的设计阶段包括两个部分,其一,结构设计,又被称作高层设计,主要任务是对包(即子系统)进行定义,主要定义的内容为包与包之间的依赖性以及通信机制,进一步实现结构的清晰化与简化,尽量减少各部分的依赖性,避免双向依赖关系的构建;其二,详细设计,这一部分主要是对包的细化,技术人员可以通过详细设计了解所有类的清晰全面描述。设计阶段中UML建模技术的应用包括类图和序列图这两种。首先,类图的应用,在软件工程中,类图属于静态视图,可以通过以下两种方式进行定义:通过问题域的概念进行定义、通过该类实际表示的内涵进行定义,技术人员需要根据系统需求分析以及系统用例进行类图的构建;然后,序列图的应用,在软件工程中,序列图属于动态视图,主要用于描述系统中各个对象的交互以及通讯,技术人员可以根据序列图了解对象实现某种功能时,是如何进行序列消息的发送与接受。
3.3实现环节
在软件工程中,实现环节就是指构造或者实现环节,主要工作内容为类的编程。一般来说,技术人员会将C#语言作为软件系统的开发环境,因为C#语言在逻辑试图转变为代码部件这一映射过程中,有显著的优势。在UML建模技术中,主要有以下几种图用于编码过程:第一,类的规格说明,不同类的规格说明体现了不同的属性与操作;第二,类图,能够显示软件系统中类的静态结构以及类之间的关系;第三,状态图,能够体现软件系统中类的对象现有的状态、需要处理的转移和转移需要触发的操作;第四,动态图,在编程过程中,动态图主要包括顺序图、活动图以及合作图这三种,主要用于体现对象应用该类对象的过程;第五,用例图及其规格说明,能够体现出软件系统的需求以及结果。
3.4测试与配置环节
当软件工程的系统编码全部完成之后,技术人员需要进行系统的全面测试,保障软件工程的质量。具体而言,测试环节分为系统测试、单元测试、验收测试以及集成测试这几种。对于系统测试来说,技术人员可以应用UML建模技术的用例图,测试开发的软件系统是否充分满足了用例图描述的需求;对于单元测试来说,技术人员可以应用UML建模技术的类图以及类的规格,对软件系统中单独的类或者成组的类进行测试;对于集成测试来说,技术人员可以应用UML建模就似乎的组件图以及合作图,测试软件系统中各个组件的合作状况[3]。
4.软件工程中的UML建模技术的应用实例
本文主