摘要】在软件工程中,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建模技术的应用实例

本文主要将在线人才招聘系统的市场管理和信息管理作为实例分析对象,进行软件工程中UML建模技术的应用研究。4.1人才招聘系统的登录界面设计对于人才招聘系统软件而言,登录界面的设计可以提高系统的管理水平。在进行登录界面的设计时,技术人员可以应用CustomLoginUI进行界面参数的传递,当用户输入登录信息并点击确定按钮之后,系统可以自动进行“sendMessage”,并应用HTTP进行服务器请求,在接收到CustomLoginUI的合法回复之后,即为用户登录成功,可以应用人才招聘系统进行相应的操作。4.2人才招聘系统中用例图的应用分析第一,人才招聘系统的管理人员会通过管理功能设定系统的基本信息,比如,招聘的岗位、岗位的任职要求和岗位的薪酬待遇等内容,招聘信息主要通过Web形式上传到Internet上。第二,应聘人员通过CustomLoginUI界面进行人才招聘系统的登录操作,当系统确认应聘人员的身份之后,即可登录系统。应聘人员可以在招聘信息下面填写个人信息,系统会将应聘人员的个人信息上传到在线人才管理系统中,个人信息也会通过Web形式上传到Internet上。第三,招聘人员可以在系统中查看应聘人员的个人信息,根据岗位的要求以及应聘人员的履历,决定是否邀请应聘人员面试。需要邀请应聘人员时,招聘人员可以通过系统进行E-mail的发送。与此同时,管理人员需要将应聘人员的信息添加到人事档案库中,以数据文本的格式进行存储。第四,当招聘工作完成之后,管理人员需要将人才招聘系统关闭。在关闭的过程中,管理人员的决策可以看作是抽象角色,通过“fromUseCaseView”表示。管理人员实施的操作主要包括招聘活动的启动与停止、招聘信息的管理、人事档案与招聘信息的导出等。4.3人才招聘系统中类图的应用分析第一,类图的选择,技术人员需要根据人才资源系统的特点,通过同时得到类图的方式,应用stereotypeobject-entity、control、boundary等方法,确保角色可以有效应用于对象的通讯过程中,还能够保障序列图和协作图间的有效转换。第二,组件设计,技术人员需要将上一个步骤得到的类图进行实体映射,以此得到类图表。具体的映射方法如下:首先,将人才招聘系统中的实体进行单独的表的定义;然后,将实体表的继承网络结构删除,确保不同层次的实例具备一致的属性;最后,将人才招聘系统中的子类文件状态配置于相应的表中,并在组件中建立数据库,用于TaxDate等映射表的存储。第三,组件图的构建,技术人员需要通过控制类组件进行组件图的构建,如果技术人员采用的编程语言为C++,可以将控制类组件存储为(.h文件)或者(.ccp文件)。另外,对于源代码文件,技术人员可以应用包进行源代码的分组,并通过关联进行序列图的类信息显示。当组件图构建完成之后,技术人员需要将能够执行的主程序(即.exe文件)以及java语境链接库加入到组件图中,实现人才招聘系统的开发[4]。

5.结论

综上所述,UML建模技术可以提高软件开发的效率和有效性,值得推广应用。通过对软件工程中的UML建模技术分析可知,开发人员需要深入了解UML建模技术的各种视图及应用特点,在软件工程的各个阶段正确应用视图,充分发挥出UML建模技术的作用,提高软件工程的质量。希望本文可以为技术人员进行软件开发提供帮助。

参考文献

[1]陈冠元.软件工程中的UML建模技术[J].电子技术与软件工程,2018(05):47.

[2]刘传会.基于UML2.0顺序图的高可信实时软件建模技术研究[A].中国航空学会、中国航空研究院,2017,8.

[3]夏志龙.使用UML和Event-B构建基于云平台的应用软件模型[D].江苏科技大学,2016.

[4]于丽.基于UML的面向对象建模技术研究与应用[J].信息与电脑(理论版),2015(20):16-17.