统一建模语言UML
软件工程领域在1995年至1997年取得了前所未有的进展,其成果超过软件工程领域过去15年来的成就总和。其中最重要的、具有划时代重大意义的成果之一就是统一建模语言(UML:Unified Modeling Language)的出现。
在世界范围内,至少在近10年内,UML将是面向对象技术领域内占主导地位的标准建模语言。采用UML作为我国统一的建模语言是完全必要的:首先,过去数十种面向对象的建模语言都是相互独立的,而UML可以消除一些潜在的不必要的差异,以免用户混淆;其次,通过统一语义和符号表示,能够稳定我国的面向对象技术市场,使项目根植于一个成熟的标准建模语言,从而可以大大拓宽所研制与开发的软件系统的适用范围,并大大提高其灵活程度。
统一建模语言(UML)是用来对软件密集系统进行描述、构造、视化和文档编制的一种语言。
首先,也是最重要的一点,统一建模语言融合了Booch、OMT和OOSE方法中的概念,它是可以被上述及其他方法的使用者广泛采用的一门简单、一致、通用的建模语言。
其次,统一建模语言扩展了现有方法的应用范围。特别值得一提的是,UML的开发者们把并行分布式系统的建模作为UML的设计目标,也就是说,UML具有处理这类问题的能力。
第三,统一建模语言是标准的建模语言,而不是一个标准的开发流程。虽然UML的应用必然以系统的开发流程为背景,但根据我们的经验,不同的组织,不同的应用领域需要不同的开发过程。举个例子来说,开发错综复杂的软件是非常有趣的工作,但开发这种软件与构造严格实时的航空电子系统是大不一样的,后者是性命攸关的大事。因此我们首先把精力集中在设计通用的元模型上(统一不同方法的语义),其次是建立通用的表示法(提供对这些语义的形象化的表达)。虽然UML的开发者们将继续倡导从用例驱动到体系结构为中心最后反复改进、不断添加的软件开发过程,但实际上设计标准的开发流程并不是非常必要的。
UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
面向对象技术和UML的发展过程可用上图来表示,标准建模语言的出现是其重要成果。在美国,截止1996年10月,UML获得了工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用UML作为建模语言。1996年底,UML已稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。1997年11月17日,OMG采纳UML 11作为基于面向对象技术的标准建模语言。UML代表了面向对象方法的软件开发技术的发展方向,具有巨大的市场前景,也具有重大的经济价值和国防价值。
标准建模语言UML的内容
首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言;其次,UML不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。
作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。
(1) UML语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。
(2) UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。
标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:
·第一类是用例图,从用户角度描述系统功能,并指出各功能的 *** 作者。
·第二类是静态图(Static diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和 *** 作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。
·第三类是行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
·第四类是交互图(Interactive diagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。
·第五类是实现图( Implementation diagram )。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。
配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。
从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。
UML的ER图就是数据库建模
数据库对象建模包括:
表(Table)对象:新建表;编辑表属性
视图(View)对象:新建视图;编辑视图属性
列(Column)对象:新建列;编辑列属性
索引(Index)对象:新建索引;编辑索引属性
类图的属性和方法是指类本身的属性和行为,类及其属性和方法是在程序设计过程中产生的,类图只是用Visio绘制出来,用于项目团队成员间或项目干系人之间的沟通和交流。例如:如果要设计一个关于销售苹果的程序,苹果就可以看作一个实体(类),其基本属性有颜色、形状、味道、种类等,行为有开花、落果、膨大、成熟等行为。
下面给出绘制苹果类图的方法和步骤:
第一步:启动Visio2010或更高版本,如下图:
第二步:在模板类别中选择“软件和数据库”,进入选择模板窗口,如下图:
第三步:选择“UML模型图”,并用鼠标双击“UML模型图”图标,进入UML绘图窗口,如下图:
第四步:选择“UML静态结构”,如下图:
第五步:按下鼠标左键,拖动“类图标”,到工作区域窗口,如下图:
第六步:双击工作区域窗口的类框图,如下图:
第七步:在UML类属性窗口,可以修改类的名称,添加属性(特性)和 *** 作(方法)
第八步:在UML类属性窗口,修改类名为“苹果”,如下图:
第九步:在UML类属性窗口,选择特性,分别输入苹果的颜色、形状、味道等属性,类型为数据类型,可以选择字符串、整型等,如下图:
第十步:在UML类属性窗口,选择 *** 作,分别输入苹果的行为开花、落果、膨大、成熟方法,样例中方法名称用的中文,实际应用应该采用英文,如下图:
绘制完成的UML类图
电话计费系统不仅是电信运营商运营支撑系统(BOSS)主要组成部分,也是宾馆、学校、大中型企业必备的管理系统之一。灵活性、准确性、实时性是它的生命。而UML作为面向对象分析与设计的一种标准表示,其最终用途是为不同领域的人们提供统一的交流标准,在电话计费系统中运用UML有助于解决系统开发过程中各类人员(系统架构师,软件设计人员、开发人员、客户、用户)之间相互交流困难的难题,从而建立起一个具有灵活性、准确性、实时性的系统。电话计费系统按照电信业务规范可以划分为数据采集、话费批价、账务处理3个主要系统,而每一个系统又可以分若干个子系统。笔者主要论述基于UML的电话计费系统的分析与设计。
1 UML概述
UML(统一建模语言,Unified Modeling Language)是一种标准化的面向对象的图形化建模语言。它由图与元模型组成,其中的图通常表示UML的语法部分,而元模型是UML的语义部分,它通常起到解释图的含义的作用。图形化表示系统各阶段的元素是UML的特色所在。UML提供了9种不同的图,按其行为特征可以分为两大类,一类是静态图,包括用例图、类图、对象图、组件图、配置图。另一类是动态图,包括序列图、协作图、状态图和活动图。
我们也可以按照从不同的角度为系统架构来将这9种图划分为5种视图:
第一类是用例图(Use case diagram),它通常用于表示客户需求,从用户需求角度描述系统功能,并指出各功能的 *** 作者。
第二类是静态图(Static diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构,并且定义系统中的类与类之间的联系。对象图是类图的实例,它不是真实的类图,通常用于反映实例的数据结构,及各对象之间的关系。包图由包或类组成,表示包与包之间的关系,主要用于描述系统的分层结构。
第三类是行为图(Behavior diagram),它包括状态图、活动图。其中状态图是对类所描述的事物的补充说明,它显示了对象所有可能的状态以及引起状态发生变化的条件。活动图是一个连续的工作流,它由各种动作状态组成,用于描述各用例之间的活动过程。
第四类是交互图(Interactive diagram),它包括序列图、协作图。其中序列图主要反映显示对象之间的动态协作关系,它强调对象之间消息发送的先后顺序,同时显示对象之间的交互。协作图描述对象间的动态协作关系,主要用于上下文相关的对象之间的动态协作关系。
第五类是实现图(Implementation diagram),它包括组件图、部署图。其中组件图主要用于反映代码的物理结构及各物理部件之间的依赖关系,部署图用于表述系统中的软硬件结构。
2 系统分析
2.1 计费的基本原理
话费计费的依据是用户的通话记录(Call record)。通话记录主要由主叫号码、被叫号码、通话开始时间、通话时长字段组成。话费的计算公式可以如下描述:
Fee=f(caller,called,startDateTime,duration)
其中:Fee为话费;caller为主叫号码;called为被叫号码;start Date Time为通话开始时间;duration为通话时长。
对于一个营业区内的所有电话,基本话费标准批价是一致的,上面公式可以简化为:
Fee=f(called,start Date Time,duration)
电话网络是全球性的,每一个电话都有唯一的号码,不可能对每一个号码都给出不同费率,自然就电话地理区域的不同、用途的不同进行了分类,这就是通话种类(如国际长途、国内长途、区内、区间、信息台等等)。
由于日期与时间的不同,电话用户产生呼叫的频次差别很大,白天呼叫话务量高,夜晚话务量较低,节假日话务量较低,工作日则话务量高;为了提高电话网络的利用率,电信运营商都实行按日期与时间段的优惠资费,以吸引用户在网络较空闲的时候通话。
通话的时长是按单位来计算的,如长途按6 s为1个单位,本地按前3 min后1 min为单位计算。
对上述公式的实现的不同产生了不同的资费标准(如信息产业部颁布的电话资费标准)。
2.2 功能性需求
通过对计费基本原理和目前正在使用的计费系统的分析,参考相关电信业务规范,可得出标准话费计费系统的系统用例图(见图1)。
2.3 性能需求
满足5万话单以下的电话(或150万话单/d)计费,话单处理速度5 000条/min。计算后的费率精确到分。
2.4 输入输出的需求
采用文件级的批价,文件格式如下:
主叫,被叫,通话起始时间,通话时长(单位为s)
每字段之间用“,”号分隔,每行一条话单。
例:98745632,98745632,2006-01-01 11:32:50,160
文件名按生成时间命名:
如:2006-01-03 10:00:10生成的文件文件名为20060103100010
输出文件:数据库的话单记录表,异常话单记录表
3 系统设计
3.1 系统结构与模块的划分
系统结构与模块的划分见图2。
系统分为:登录模块、数据模块、配置模块、界面模块、入库线程模块、数据库分析计算存储过程。
3.2 模块之间的组合与交互
(1)登录模块与数据模块的交互见图3。
(2)界面模块、入库线程、数据模块、数据库、话单文件之间的交互见图4。
4 结语
UML作为一门功能强大的可视化建模语言,是面向对象系统开发领域的一个有效建模工具。将UML应用于话费计费系统中能有效地建立起一个具有高度灵活性,扩展性的系统。基于UML的话费计费系统有助于电信运营公司在当今竞争激烈的环境中适应市场的灵活多变,从而处于有力的竞争位置。
以上就是关于UML在软件开发中各个阶段的作用和意义全部的内容,包括:UML在软件开发中各个阶段的作用和意义、UML的ER图怎么画、如何绘制UML类图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)