摘 要:针对目前常用的需求分析方法存在的弊端,提出了一种基于UML的信息系统需求分析模型,该模型提供了一个基于UML信息系统需求分析框架及其应用过程。实践表明,该模型对信息系统开发具有较好的适应性。
关键词:需求分析; 统一建模语言; 管理信息系统; 用例图
需求分析是软件开发的关键环节,需求分析结果的好坏直接决定软件开发的成败[1],如何选择一种高效的需求分析方法,直接影响待开发软件的质量。本文在简要介绍UML的基础上,针对常用需求分析算法存在的不足,提出了一种基于UML的信息系统需求分析模型,实践表明,该模型能有效提高软件开发的效率和待开发软件的质量。
1 UML概述
UML是一种编制系统蓝图的标准化语言,可以实现大型复杂系统各种成分描述的可视化,说明并构造系统模型并建立各种所需的文档,是一种定义良好、易于表达、功能强大且普遍适用的建模语言[2]。
UML对软件工程的发展做出了杰出的贡献[3]。UML支持从需求分析开始的软件开发的全过程。UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化[4]。
UML采用一整套成熟的建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性。
2 常用需求分析方法及其不足
信息系统实质上是实际业务系统的一种计算机模型,因此,信息系统的开发实质上就是要建立业务模型与计算机模型系统之间的映射关系[5]。一个综合性的信息系统要支持组织内各级多个部门的管理,结构复杂、规模庞大。因此,要想开发出一套高效的系统,首先要进行系统的需求分析,根据需求过程中工作性质的不同,信息系统需求分析可分为问题识别、分析与综合、编制需求分析文档、需求评审四个阶段。
但是,在实际需求分析过程中,由于信息系统所涉及的信息量非常庞大,以致在需求定义中常常忽略某个环节或环节间的必要联系,从而出现产品质量低下、开发周期漫长或遗漏关键功能等问题[6]。
目前比较常用的需求分析方法主要有数据流分析法、原型分析法和基于用例的分析法三种。
(1)数据流分析法(DFA)
数据流分析是建立系统模型的一种主要需求分析方法,它采用分解的策略,将软件系统抽象为一系列的逻辑加工单元,单元接收输入数据流,加工后使之变换成输出数据流,从而表示出软件系统的处理内容和任务。但是随着信息技术的发展和企业业务过程的日益庞大复杂,信息系统复杂多变,易出错,难维护。
(2)原型分析法
原型法是指在系统尚不完善时就呈现给用户,不断修改改善,在完善过程中逐渐了解需求,但原型法也存在如下缺陷[7]:①原型的设计和修改工作量大,增加了系统的开发成本;②由于用户不关心或不理解原型的概念和实现,而且存在较大期望,使得与实际系统差别较大的原型增加了需求分析人员与用户交流的难度[3]。
(3)基于用例(Use Case)的需求分析法
用例本质上是用户与系统之间为达到某个目的而进行的某种形式的交互的描述。但是,以用例为中心,从用例开始的需求分析存在如下缺陷:①对于划分Use Case的粒度大小、Use Case的分类、Use Case的提取还没有一个特定的标准和较好的方法,完全由需求分析人员凭经验来掌握,这样很容易造成系统分析的失误;②对于大规模信息系统,Use Case的定义、分析、审查需要花费大量成本,而且不恰当地选择Use Case往往给识别系统中的对象带来困难,导致系统的对象结构设计不合理,影响系统功能。
3 基于UML的信息系统需求分析模型