最近需要画一些系统图,下面的这个文章很好列举了几种UML图,可以作为参考。
1.引言
随
着信息技术的飞速发展,以互连网为核心的电子商务正在改变着传统的商务模式。电子商务的出现和发展,对传统的会计事务的处理产生了巨大的冲击,主要表现在
现代信息技术比原有人工处理的速度和效率要高很多,特别是对于海量的财务数据的汇总,因此财务信息管理在信息系统建设中占有非常重要的地位。
统一建模语言(Unified Modeling Language, UML) 由3位世界著名的面向对象技术专家Grady Booch、Jim Rumbaugh、Ivar Jacobson发起, 在Booch表示法、OOSE方法和OMT方法的基础上,广泛征求意见,集众家之长,反复修改后提出的通用的图形化标准建模语言,它是面向对象分析和设计的一种标准表示,融入了软件工程领域的新思想、新方法和新技术,它的作用不仅支持对象的分析与设计,还支持从需求分析开始的软件开发的全过程。运用UML可以为系统建立良好模型。
UML包括概念的语义,表示法和说明,提供了静态、动态、系统环境及组织结构的模型。同时UML对建模提供了两种图形,静态图和动态图。静态图包括:用例图(Use case Diagram)、类图(Class Diagram)、对象图(Object Diagram)、组件图(Component Diagram)和配置图(Deployment Diagram);动态图包括时序图(Sequence Diagram)、协作图(Collaboration Diagram)、状态图(State Diagram)和活动图(Activity Diagram)。UML通过建立各种类、类之间的关联、类/对象怎样相互配合实现系统的动态行为等成分来组建整个模型,刻画客观世界。
为方便学校财务管理,原有的会计系统面向结算中心的财务管理人员,实现了凭证,存单的数字化管理,但因学校发展和内部需要,需要构建Web平台,设置系统的访问权限,因此需要再工程,本文重点讨论如何扩展原有系统的功能利用UML来进行系统分析和建模。
2.系统建模
2.1功能概述
本系统在原有的系统和业务需求下重新定义系统需求,分析原有系统功能,开发新功能,表1显示了原有的系统的功能需求。并利用UML进行建模。
表1 系统功能表
功能名称 |
功能描述 |
凭证处理 |
当日凭证的录入,审核 |
帐务处理 |
轧帐以及相关报表的打印 |
综合查询 |
流水账,凭证汇总表,科目余额明细表,科目余额汇总表查询和打印 |
利息管理 |
修改定期,活期利率,利率计算 |
报表打印 |
损益,收支,资产负债表的打印 |
存单管理 |
在商业银行开立的存款账户管理 |
系统管理 |
科目表信息维护 |
系统维护 |
数据库备份 |
在此基础上新增加授权管理,能够针对表1的中的凭证核对,扎帐处理,综合查询,系统维护功能设置使用权限。
2.2系统建模流程
建模流程如图1所示,首先根据系统功能表确定出用例图,让后根据用例同步生成活动图和类图进而完成后续过程的开发。
图1 建模流程示意图
2.2.1用例视图
用例图(如图2所示)是在软件开发过程中从需求分析到最终实现的第一步,他描述了系统的功能及使用方法,显示谁将是相关的用户、用户希望系统提供什么服务以及用户需要为系统提供的服务,最常用来描述系统以及子系统。
(1)会计管理系统的参与者
结算中心的用户(包括凭证录入人员,凭证核对人员,扎帐人员,存单管理人员,系统维护人员等)而且每种业务人员都授予了相应操作权限。
图2 用例图
(2)会计系统的用例图
每种业务人员的工作如下:
凭证录入人员:凭证输入
凭证核对人员:校验凭证输入是否真确
扎帐人员:计算单日发生的会计业务中借贷是否平衡,并做扎帐的处理
系统维护人员:摘要、凭证、科目种类的维护以及给使用人员授权
2.2.2活动图
活
动图描述系统中各种活动的执行顺序,通常用于描述一个操作中所要进行的各项活动的执行流程。同时,它也常被用来描述一个用例的处理流程或者某种交互流程,
是某件事情正在进行的状态。活动图通常是由一些活动组成,同时包括了对这些活动的说明。当一个活动执行完毕之后,控制将沿着控制转移箭头转向下一个活动。
活动图中还可以方便地描述控制转移的条件以及并行执行等要求,它显示了组成复杂过程的步骤序列。
图3描述了本系统在用例的基础上设计的活动图。用户登录系统以后,根据授予的权限来完成凭证、存单、系统管理的相关操作。
图3 活动图
2.2.3类图
用UML进行系统建模的一个问题是识别和划分对象,画出类图。根据用例图和它的文本描述识别出大部分的对象。一般需要处理分析和保存的信息都可能是一个类或对象。
图
4描述了本系统中用户对象及单据对象的类图,其中操作员是一个父类,由他生成了存单管理员、数据维护员、凭证录入员、查询打印员,扎帐员、凭证核对员等这
些类,他们都具有相同的静态属性即用户名、密码、所在校区标识符,他的子类都有各自的方法每个方法都对单据对象由特殊的操作。
图4 类图
2.2.4状态图
状态图表示一个状态机制,表现从一个状态到另一个状态的控制流,由表示状态的节点和表示状态之间转换的带箭头的直线组成,通常由状态、转换、初始状态、终结状态、判定组成。
图5显示了本系统中凭证管理和存单管理的状态图。
图5 状态图
2.2.5顺序图
顺序图是强调消息时间顺序的交互图,描述了对象之间传送消息的时间顺序,用来表示用例中的行为顺序,将交互关系表示为一个二维图,纵轴是时间轴,时间沿竖线向下延伸;横轴代表了在交互中的各独立的对象。
在本系统中,对于每张凭证,都需要经过录入,核对,扎帐直到打印等一系列的过程,他们都要涉及3类用户,只有这些有序的过程完成后,财务数据才是正确有效的,图6给出了本系统凭证处理的顺序图。
图6 顺序图
2.2.6协作图
协作图是时序图之外的另一种表示交互的方法,它对交互中有意义的对象和对象之间的链建模,在UML 中,协作图用几何排列来表示交互作用中的对象和链,附在链的箭头代表消息,消息的发生顺序用消息箭头处的编号来说明。
本系统中对于凭证的处理过程中涉及到3类用户:凭证录入人员,凭证核对人员以及扎帐人员,在整个业务处理过程中,凭证单据的处理要求经过这3类用户的参与,他们之间存在协作关系,图6显示了他们之间的协作关系。
图7 协作图
2.2.7组件图
组件图描述了软件的各种组件以及它们之间的依赖关系,它可以用来显示编译、链接或执行时组件之间的依赖关系,以及组件的接口和调用关系,是对OO 系统的物理方面建模的两个图之一,通常包含3个元素:组件(Component)、接口(Interface)、依赖关系(Dependency)。
针对前述的分析,对系统主要功能模块做如下的设计,用户首先登录系统根据得到的session读取权限设置参数,并获得相应的功能接口进行访问,进而完成其各自要处理的业务。图8针对设计的功能描述了组成各个功能的组件。
图8 组件图
2.2.8部署图
部署图也称配置图,实施图,它用来描述系统硬件的物理拓扑结构以及在此结构上执行的软构件,是对面向对象系统的物理方面建模的两个图之一,它可以显示计算节点的拓扑结构和通信路径、节点上运行的软构件等,常常用于帮助理解分布式系统。
图9描述了基于MVC架构的本系统部署结构图。用户浏览器作为view显示层,WEB服务器作为业务层,包含了控制和业务逻辑,数据库作为数据层和WEB经行交互。
图9 部署图
同时UML的开发工具的正向工程的相关功能,可以由模型生成代码。如图10所示的扎张功能的代码,显示了各个程序模块之间的调用关系。
图10 扎帐代码示意图
3.总结
会计系统利用UML工具方便的对现行系统进行再工程,能比较全面的理解系统的需求定义,同时使其具有良好的沟通性,UML将系统的分析、设计和实现有机集成起来,便于对系统在更高抽象层次上进行维护,也
提高了系统的可扩展性。但是同时UML因为其严格的标准使得系统分析的过程较为复杂,丧失了一些灵活性,因为本系统在初期开发时采用的结构化的分析方式,
因此在后续面向对象的机制中能够对其进行规范的定义,但如果开始采用UML的建模方式,不太利于系统的需求的准确把握。因此,在系统设计的工程中可以考虑
把结构化的方式和面向对象的机制结合起来考虑,前者能够较为准确的确定系统需求,后者对其完善,规范定义,并能够支持后续开发,以及再工程。
引用地址:http://www.ebjournal.info/news_Show_jou.asp?ID=1414