UML用例图在软件工程中的步骤设计研究

2014-08-07 13:20袁国铭刘瑞樊波邓小亚
微型电脑应用 2014年1期
关键词:股民用例参与者

袁国铭,刘瑞,樊波,邓小亚

UML用例图在软件工程中的步骤设计研究

袁国铭,刘瑞,樊波,邓小亚

用例图作为uml的一种建模图形广泛应用在面向对象软件系统开发过程中,首先,界定了用例图在软件开发周期模型中的应用,接着,以“中国证券交易系统”中“上市公司股票发行”子用例图设计为例,详细描述了功能用例子图的绘制过程,然后,对整个软件系统的用例图的绘制过程进行了描述,给出了待开发系统的整体用例图。

uml;用例图;证券交易系统;上市公司股票发行

0 引言

统一建模语言UML (Unified Modeling Language)是用来对软件密集系统进行可视化建模的一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。自1997年被OMG采纳作为业界的标准,UML开始贯穿软件开发周期中的每一个阶段,如图1所示:软件开发的4个部分:初始阶段、细化阶段、构造阶段和应用阶段对应的软件周期模型都分别用到了UML设计中多类图形[1-2]。

UML适用于数据建模、业务建模、对象建模、组件建模等。作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。

1 用例图的介绍

1.1 用例图定义

用例图(Use Case Diagram)是软件需求分析到最终实现的第一步,它反映了系统的功能要求,也就是外部需求,定义了系统将为用户做些什么。在定义系统外部需求的时候,系统将被看作是一个黑箱,因此只考虑系统的外部特征。

用例图显示谁将是相关的用户、用户希望系统提供什么服务,以及用户需要为系统提供的服务,以便使用户更容易地理解这些元素的用途,也便于软件开发人员最终实现这些元素。用例图在各种开发活动中被广泛的使用,但它通常用来描述系统以及子系统,UML设计在软件周期中的应用如图1所示:

图 1 :UML设计在软件周期中的应用

用例图是有关系统细节的最高形式。它是一种在系统完成后,能使管理机构、用户和其它非开发人员了解其功能的极好方法。用例并不详细介绍系统如何运作,这一任务将由本书后面介绍的图来分别完成。用例图说明的是谁要使用系统以及他们使用该系统可以做些什么。[3-4]

1.2 用例图建模的原因

用例图建模可以为我们自己设计的系统或者为描述一个已有系统提供一个起点。用例图为我们提供了系统的一个概览,将系统提供给用户的功能进行说明。

用例图应该向开发团队准确地说明客户对他们要开发的应用程序的期望是什么?有什么样的功能?由开发人员以外的队伍来创建用例图的例子(如生产管理队伍)并不少见。然而有些时候我们也会发现自己在开发一项工程时,开发团队会让少数人去扮演产品管理的角色,并且还要他们去和系统的潜在用户进行交谈以确定系统整体的功能。

在这一初始阶段,我们试图确定系统的用户是谁,以及用户利用系统完成什么功能,一旦收集到了这些信息,就可以将其变为用例图,并进行进一步设计,以使我们可以建立一个系统,有效满足刚刚确定的用户及其需求。从用例图,我们可以确定出系统与用户之间所需的界面。

生成的用例图常常作为一种说明不同测试个案的方法。由于用例图是一种让用户了解事情是如何完成的极好的方法,所以它也是一种使测试人员了解如何测试产品的极好的方法。用例图可以用于系统的普通流程建模,也可以用于异常处理或者错误处理功能的建模。错误处理作为应用程序的一项功能常被认为是一种事后的补救,然而用例图的使用可以使你对它给以应有的重视。

下面将给出一个整体的 “中国证券交易系统”用例图的实现来展示用例图在软件系统中的应用。

2 用例图在证券系统中的实现步骤

在UML中用例图包含4个基本组件: 参与者、用例、关系和系统,绘制用例图必须首先分析本子系统分别包含哪些参与者、用例、关系和系统。下面以“上市公司股票发行”用例子图为例详细描述用例图形的绘制过程。

2.1 参与者(Actor)

参与者也称为行为者,它刻画了与系统交互的外部用户或者相关的一组用户。参与者用于表示使用系统的对象,它可以是一个人或一个系统。参与者由一个固定的图形来表示,并在图形下列出了参与者的角色名,包含:待上市公司、证监会和证券系统3个角色,本用例子图参与者如图2所示:

图2:参与者示例

2.2 用例

用例是用户期望系统所具备的动作。例如,待上市公司会根据上市程序来逐步完成既定工作,最终上市;股民会使用证券系统提供的实时交易系统进行在线交易;证监会通过监察证券系统的实时交易来掌握股票交易的异动情况,并采取措施。

本用例子图涉及的用例,包括:申请上市、审查通过和发行股票3个部分。用例用一个里面带有其名称的椭圆表示如图3所示:

图3:用例示例

创建一个用例名时,要尽量使用主动语态动词和可以描述系统上执行的功能的名词;如上例:申请上市,审查通过,发行股票。

2.3 关系

关系是用例图的最关键的部分。关系由一条连接参与者和用例的线来图示说明如图4所示:

图4:关系示例

在本用例子图中,我们描述了如下几种参与者与用例的关系:

(1)“待上市公司”参与“申请上市”、“发行股票”;

(2)“证监会”参与“申请上市”、“审查通过”;

(3)“证券系统”参与“审查通过”和“发行股票”。2.4 系统

系统是用于执行一项功能的,故此在任何用例图中任何的参与者、其中的用例以及关系都是系统的一部分。但我们通常用一个大的矩形框只将其功能用例部分包含进来, “上市股票发行系统”所示,包括:

(1)参与者:“待上市公司”、“证监会”和“证券系统”。

(2)用例:“申请上市”、“审查通过”和“发行股票”。

(3)关系:“待上市公司”参与“申请上市”、“发行股票”;“证监会”参与“申请上市”、“审查通过”;“证券系统”参与“审查通过”和“发行股票”。

(4)系统名:“上市股票发行系统”。

公式上市用例图如图5所示:

图5:公司上市用例图

3 证券交易系统用例图的实现

任何大的系统都是由若干个细分的小系统或微小系统构成的,对于一个像证券交易系统的大软件系统,它的实现步骤跟上述“上市股票发行系统”用例类似。只是更加强调软件开发者对于系统本身的理解,其步骤实现如下:

3.1 确定系统涉及的总体信息

证券交易系统是金融市场最常见的交易系统。为了方便阐述,我们简化系统,仅仅介绍证券交易系统中的股票交易系统。

它主要包括如下功能:

公司上市融资、股民股市开户、股民网络交易、电话交易、股民银证转帐、股民帐户转移、证监会监管、证交所发布信息、股票分红、公司股改、公司退市及待上市公司借壳上市一系列不可或缺的功能。

3.2 确定系统的参与者

确定参与者首先需要分析系统所涉及的问题领域和系统运行的主要任务,如分析使用该系统的主要是哪些人,谁需要该系统的支持以完成其工作,还有系统的管理者等。

根据股票交易的分析,可以确定如下几点:

(1)股票的提供者:上市公司;

(2)股票的参与者:股民,证券系统;

(3)股票交易的监管者:证监会。

(4)股民资金的提供方:银行。

由此可知:系统参与者主要有5类:上市公司、股民、证券系统、证监会和相关银行。

3.3 确定系统用例

用例是系统参与者与系统在交互过程中所需要完成的事务,识别用例最好的方法就是从分析系统的参与者开始,考虑每个参与者是如何使用系统的。

对于上市公司,上市发行股票用例必不可少,国有产权改革是它的必须,公司股改用例也必须;对于上市公司,它必须保持按时披露公司信息,比如公司业绩,财务状况等,因此还应该有信息发布用例。

对于普通股民,首先,要到证交所开户成为股民,开户用例;股票正常交易,股民可能采取3种方式,网络交易用例、电话交易用例、证券营业部现场交易用例;在股市存钱取钱,银证转帐用例;股民还可能遇到帐户转移。

对于证券系统,它要负责披露信息给股民,因此必须有信息发布用例;统计公司信息,每天交易信息。当公司达到退市条件,要有退市用例。

对于证监会,它要监管证券系统的任何事情,出现异常要进行监管处理。

3.4 区分用例优先次序

创建用例图的下一步是区分已经确定出的用例的优先次序。这项任务通常是由系统构造师完成的,他们对哪一项任务最关键,哪一项任务最艰巨具有最好的认识。他们可以确定出哪个用例可以为其它用例所重用,从而从长远的角度节省时间。设计区分用例优先级次序的技巧来源于经验,但凭借直觉,我们通常也可以提出相对的优先级次序列表,关于本节的用例优先次序参考如下:

(1)公司上市融资;(2)股民股市开户;(3)股民银证转帐;(4)股民网络交易;(5)证交所发布信息;(6)证监会监管;(7)电话交易;(8)公司股改;(9)股票分红;(10)股民帐户转移;(11)待上市公司借壳上市;(12)公司退市。

我们列出了最常见的功能。它们的次序与重要性也依次递减。

3.5 绘制证券交易系统用例总图

根据前面的分析和第三节的绘制用例的方法的四大步骤:确定参与者、描述用例、明确关系和注明系统,绘制证券交易系统用例总图如图6所示:

图6:证券交易用例图

3.6 细化每一个用例

在建模的初期,我们根据掌握的系统信息,列出系统所包含的主要功能,接下来,就应该为这些功能构建更具体的子功能去实现它。列举部分例子如下:

通过分析“上市股票发行”功能描述,我们发现公司上市还应该分成更小的3个子用例,即“申请上市”,“审查通过”和“发行股票”用例。

“股民股市开户”用例可分为:“填写资料”,“录入系统”和“办理银证转帐卡”3步;

“银证转账”用例包括:“股票交易”,“银证转账”和“银行存取款”3部分;

“股票实时交易”用例包括:“统计实时信息”、“更新信息”和“股票交易”3部分;

“证交所发布信息”用例包括:“发布信息”和“统计信息”两部分;

“证监会监管”用例包括:“监察股市异动”、“停牌调查”和“给出处理结果”3部分;

“公司股改”用例包括:“发出股改指令”、“上市公司与股东协商方案”、“投票决议”和“方案实施”4部分。其中上市公司与股东协商方案用例,投票决议用例和方案实施用例有消息传递的关联关系。

“上市公司分红”用例包括:“发布分红信息”、“统计股东信息”和“实施分红”3部分;

“帐户转移”用例包括:“申请账户转移”、“销户”和“开户”3部分;

“股票退市”用例包括:“监察上市公司”、“发出警告”和“退出交易”3部分;

“待上市公司借壳上市”用例包括:“收购重组”、“申请借壳上市”和“借壳上市”3部分;

以上这些用例子图的绘制方法与第3节的绘制方法相似,在此不复述。

4 总结

通过软件系统设计初期绘制功能整体的用例图和子功能用例图,能够使所有参与设计者拥有统一的软件开发模型,为后续的详细设计与程序开发指明了前进的方向,用例图是面向对象软件开发初期最为重要的功能描述方式,它已经在广大软件系统设计过程中占据了非常重要的角色,在可以预见的将来还将一直持续下去。

[1] Larman,C. UML和模式应用(第三版)[M]. 北京:机械工业出版社,2006.

[2] Fowler,M. UML精粹:标准对象建模语言简明指南(第3版)[M]. 北京:电子工业出版社,2012.

[3] 宋国顺. 软件工程中UML建模的技术与分析. [J]软件导刊.2010,8.

[4] 袁国铭,李洪奇,樊波.关于知识工程的发展综述. [J]计算技术与自动化. 2011,30(1):138-143.

Use Case Diagram of UML Steps Design Research in Software Engineering

Yuan Guoming1,Liu Rui1,Fan Bo2,Deng Xiaoya3
(1.Renmin University of China,Beijing100872,China; 2.Peking University, Beijing100871, China; 3.Sichuan University of Arts and Science,Dazhou635000,China)

Use case diagram as a modeling graphical of UML widely used in object-oriented software system development process. This article first defines the use case diagram model of the software development cycle, followed by the issue of shares of listed companies in China's securities trading system sub use case diagram design as an example, and then detailed description of the function chart with examples drawn process, and gives use case diagram drawing of the entire software system.

Uml;Use Case Diagrams;Securities Trading Systems;Shares of Listed Companies Issue

TP311.5

A

1007-757X(2014)1-0046-03

2013.12.15)

袁国铭(1978-),男,四川达县人,中国人民大学博士后,从事高校教学多年,研究方向:数据库系统、it经济学及其知识工程的应用,北京,100078刘 瑞,男,成都人,中国人民大学经济学院,国民经济管理系教授,博士生导师,副院长,研究方向:社会经济发展战略与规划、产业结构与产业政策、社会发展与社会政策等,北京,100078樊 波(1979-)男,西安市人,北京大学光华管理学院博士后,研究方向:医院管理、卫生经济学、卫生法学,北京,100078邓小亚(1977-),四川达县人,四川文理学院计算机科学系,研究方向:计算机系统工程及应用,成都635000

猜你喜欢
股民用例参与者
休闲跑步参与者心理和行为相关性的研究进展
台胞陈浩翔:大陆繁荣发展的见证者和参与者
UML用例间包含关系与泛化关系的比较与分析
UML用例模型中依赖关系的比较与分析
联锁软件详细设计的测试需求分析和用例编写
從出土文獻用例看王氏父子校讀古書的得失
浅析打破刚性兑付对债市参与者的影响
力量
海外侨领愿做“金丝带”“参与者”和“连心桥”
力量