基于UML的需求分析在EIMS系统中的应用

时间:2022-03-09 10:19:25

基于UML的需求分析在EIMS系统中的应用

摘要:UML是集多种面向对象方法优点于一身的统一建模语言,通过UML可以解决开发过程中存在的一些问题。介绍了基于UML的需求分析在EIMS项目中的实际应用,由于采用了UML中的多种技术,使得在系统开发过程中能从多个方面完整地把握需求,有效保证了需求工作的质量。最后,分析了需求工作中存在的问题和改进的方法。

关键词:UML;用例技术;类图;序列图

中图分类号:TP312文献标识码:A文章编号:1672-7800(2012)012-0053-03

0引言

UML是集多种面向对象方法的优点于一身的统一建模语言,它使用统一的表示法,呈现一致的风格,通过UML可以解决开发过程中存在的一些问题。首先,UML解决了人员交流的障碍。它提供了一套通用的思维方式和交流的语言,既有助于分析人员与用户的交流,又有助于分析人员与设计人员的交流;其次,利于响应变化。分析人员可以将对象作为构筑系统的基本单位,将容易发生变化的属性和操作封装在对象之内,对象之间通过接口联系,使得需求变化的影响尽可能限制在对象内部;再次,便于构件的利用。集成UML思想构建的系统模型能很好地支持软件复用,类可以派生子类,类又可以产生实例对象,而对象具有封装性和信息隐蔽性,这就实现了对象类的数据结构和操作代码的软件构件的复用;最后,因开发人员的方法、工具及经验的差异,往往造成较大型或是较复杂的软件项目开发周期得不到保证。而运用UML进行系统的分析设计,利用规范化的表达方式及优秀的CASE工具,问题可能得到较好的解决。

EIMS系统是自主研发的综合电子装备信息管理系统。在系统的开发过程中,考虑到传统结构化开发方法的局限性和软件本身的易复用性、易扩展性和可维护性,以及可能面对的需求变化,在开发时采用了面向对象的方法,使用UML进行了系统的需求分析。

1UML对需求分析的支持

UML为软件系统的需求分析提供了强大而较为全面的模型,包括用例图、类图、序列图、活动图和部署图等。面向对象的需求分析就是把对象作为一个整体,同时又以多态性与继承性的观点来对问题进行空间和时序上的研究,以便产生一个外部可观察的行为。

基于UML的面向对象需求分析克服了传统的需求分析对问题领域受时效上的限制和对系统功能无法把握其精确程度等缺点;同时解决了数据流分析的层次复杂性,加强了信息模型的映射程度;而且UML作为面向对象的可视化标准建模语言,采用图形符号表示系统中的对象和关系,从不同角度描述待开发系统,为更好理解业务流程提供有效的交流形式。一个系统不仅表现为静态结构,也有动态行为,而静态建模机制和动态建模机制也正是UML特点所在。图1是基于UML的需求分析的一般性的方案,整个工作就是从这儿开始的。

图1基于UML的需求过程

2用例技术的应用

用例即是使用实例,是从用户的角度出发来考虑计算机能实现哪些具体目标,从而帮助开发人员获取更多的需求。从需求角度来说,一个用例就是用户由于某种外部事件而与计算机之间进行的一次交互。

2.1识别系统参与者及合并需求获得用例

系统的整个需求开发过程都是围绕着用例技术开展的。采用UML进行需求分析,主要是识别系统参与者,通过用例模型来捕获和组织用户的需求,通过用例建模,描述对系统感兴趣的外部角色及其对系统的功能要求。按照上述分析方法,我们通过用户访谈、用户调查了解各个用户对系统的使用需求,并经联合讨论会统一各用户意见,对系统达成一致目标,明确系统主要的功能特性。系统共包括5个用例包:装备日常管理包、装备维修管理包、装备实力管理包、技术基础管理包、系统管理包。

2.2用例分解及分解用例描述

绘制完初步的用例图后,还需对用例予以分解,编写用例规约,根据情况进行用例分解。用例规约规定了系统需要完成哪些步骤才能实现用例的功能,主要包括前置条件、后置条件和事件流。前置条件指明了执行用例之前系统须处于的状态;后置条件指明用例执行完毕后系统可能处于的一组状态。事件流描述用例执行的步骤,它又包括基本流、分支流和替代流。基本流描述用例执行的基本步骤,没有分支和选择;分支流描述用例在执行中根据不同条件或不同选择而可能执行的步骤;替代流描述用例在执行中因异常或偶尔发生的一些情况而执行的相应替代步骤。其中基本流是必需的,分支流和替代流是可选的。

在此步骤中,将各用例包进行分解。其中,装备日常管理包分解为以下用例:装备基本信息管理、岗位人员管理、配套物品管理、运行维护管理、装备检查管理。

(1)装备维修管理包分解为以下用例:维修计划管理、维修项目管理、计领执行标准管理。

(2)装备实力管理包分解为以下用例:装备实力统计管理、装备质量统计管理。

(3)技术基础管理包分解为以下用例:军用标准管理、质量体系管理、法规制度管理、科技信息管理。

(4)系统管理包分解为以下用例:用户角色管理、数据库管理、基础代码管理、业务系统管理、数据更新管理、数据备份管理。

对用例包分解出的用例,我们进行了细化描述,包括:前置条件、后置条件、基本流、扩展流和相关约束。

以装备基本信息管理为例,如图2所示。

3序列图的应用

序列图是对对象之间传送消息的时间顺序的可视化表示。序列图在一定程度上更加详细地描述了用例表达的需求,将其转化为进一步、更加正式层次的精神表达。序列图的目的在于描述系统中各个对象按照时间顺序的交互过程。

交互是指在具体语境中由为实现某个目标的一组对象之间进行交互的一组消息所构成的行为。UML提供的交互机制通常为两种情况进行建模,分别是为系统的动态方面进行建模和为系统的控制过程进行建模。在面向动态行为方面进行建模时,该机制通过描述一组相关联、彼此相互作用的对象之间的动作序列和配合关系,以及这些对象之间传递、接收的消息来描述系统为实现自身的某个功能而展开的一组动态行为。序列图用于表现一个交互,该交互是一个协作中的各类元角色间的一组消息交换,侧重于强调时间顺序。以装备维修管理为例,其序列如图3所示。

4活动图与部署图的应用

由于整个系统包含多个子系统,各个子系统部署在不同的节点,需要考虑用户使用的网络结构是否能支持。在需求阶段,也描述了整个系统的部署。其中,监控子系统比较特殊,由于其是通过分析SQL Server数据库的网络数据包进行工作的,因此,监控子系统必须接入核心交换机的镜像端口。

使用活动图描述系统的应用场景。由于本系统对应用系统的开发增加了一层管理,因此应用系统的开发方与信息中心存在一个交互流程:应用开发方首先使用本系统的开发版进行本地开发,并填写基本配置数据;然后,在用户的生产环境中部署应用,并提交基本配置数据;最后,信息中心的管理员对配置数据进行修改后,应用在生产环境中才能运行。我们使用流程图描述了整个过程,用通道表示应用开发方的信息中心,并描述了各个通道内的流程以及通道之间的交互。

5问题及解决方法

在EIMS系统的需求分析过程中采用基于UML的需求分析方法,取得了良好的效果。但由于我们使用该开发方法还不是很成熟,各种方法及工具的集成度还不高,未能充分发挥其作用。一是UML各图形的组合使用还不够熟练;二是UML与相关工具及开发方法的结合使用问题。UML并不是一套独立的方法或工具,要充分发挥UML的效用,还须结合统一开发过程以及ROSE等相关CASE工具,而在此方面我们还有明显的不足。另外,由于传统的结构化开发方法的思维习惯,在用例识别过程中有时还会按照DFD图的思维进行思考。

针对在项目开发过程中暴露出的问题,以渐进的方式改进开发过程,向统一开发过程靠拢;改善开发环境,学习使用CASE工具;提高个人的开发水平,深入学习掌握面向对象思想方法和各类相关CASE工具,随着不断地将理论与实践相结合逐步完全掌握面向对象的开发方法。

参考文献:

[1]陈振庆.基于描述逻辑的UML类图一致性检测[J].计算机工程与设计,2009(9).

[2]蔡素梅.UML模型与软件测试[J].电脑开发与应用,2011(7).

[3]郭婧,吴军华.面向方面的UML建模[J].计算机工程与设计,2011(12).

[4]谭云杰.大象:Thinking in UML [M].北京:中国水利水电出版社,2009.

[5]谢星星.UML基础与Rose建模实用教程[M].北京:清华大学出版社,2011.

Application of Requirement Analysis of

UML-Based in EIMS

Abstract:Unified modeling language lays the foundation of building integrated object-oriented software development environment.The application of UML in software proceeding can resolve some problem.This paper introduces the application of requirement analysis of UML-Based in EMIS.The results show that using UML to describe demands can identify the key systems and their mutual relations of systems.The description process is complete and can be understood and realized easily.Finally,describes the problem and improvement method.

Key Words: UML; Use Case; Class Diagram; Sequence Diagram

上一篇:互联网立法应成为落实宪法典范 下一篇:白电告别2012寒冬 转型创新成制胜关键