焦玉英柯青中国图书馆学报【双月刊)2003年第5期刁哪GGI)0lTllSlII麒IANⅪ】EBAo统一建模语言在网络主动推送系统设计中的应用摘要统一建模语言,是第三代用来为面向对象开发系统的产品进行说明、可视化和编制文档的方法.
其主要内容可以归纳为静态建模机制和动态建模机制.
以主动推送系统的设计为例,介绍使用统一建模语言对主动推送系统进行建模的主要步骤和方法.
图5.
参考文献3.
关键词互联网络统一建模语言主动推送技术面向对象技术分类号TP311ABSTRACTUML(UnifiedModelingLanguage)isthethird-generationmethodforthedescription,visualizationanddocumentationofproductsofobject-orientedsystemdevdopment.
Itsmaincontentsincludestillmodelingmechanismanddynamicmodelingmechanism.
Inthispaper,theauthorsintro—ducemajorstepsandmethodsinthemodelingofactivepushsystemsbyusingUML.
withexamplesofthedesignofactivepushsystems.
5fig.
3refs.
KEYWORI~Intemet.
UML.
Activepushtechnology.
Object-orientedtechnique.
cIAssMJMBER,I,3l】主动信息服务系统是以"推"(Push)技术为基础的.
从目前研究来看,采用面向对象的方法研究主动信息服务受到越来越多的人的重视.
这是因为:一方面,面向对象技术已比较成熟,有很多经过实践检验的方法和工具.
另一方面,主动信息服务是面向用户的,因此从对象过渡到用户是直观而且自然的.
本文通过对UML的研究,试图将这一可视化建模工具与网络主动信息服务结合起来,分析和设计一个主动推送系统.
1UML基本建模思想1.
1UML的主要内容I.
(统一建模语言,UnifiedModelingLan—guage)是一种建模语言,是第三代用来为面向对象开发系统的产品进行说明、可视化和编制文档的方法.
它是由三位面向对象方法领域著名的方法学家GradyB∞^h,JamesRumbaugh和IvarJambson提出,结合了他们以及其他众多优秀方法和思想,得到了世界知名公司如Microsoft、HP、IBM、RATIONAL等的使用和支持,并于1997年11月被OMG(ObjecthnagememGroup)组织采纳,成为面向对象建模的标准语言.
统一建模语言UML的主要内容可以归纳为静态建模机制和动态建模机制,可以由下列5类图来定义.
第1类:用例图,包括用例(usecase)和角色(actor),用来从用户角度描述系统功能,并指出各功能的操作者.
第2类:静态图,包括类图、对象图和包图,最基本的是类图,用来描述系统的静态逻辑结构,即系统重要的抽象元素及元素之间的关系.
第3类:行为图,包括状态图、活动图,用来描述系统的动态模型和组成对象间的交互关系.
第4类:交互图,包括顺序图、合作图,用来描述对象间的交互关系.
第5类:实现图,包括构件图、配置图,用来展示系统的源代码的结构和运行时刻的实现结构.
1.
2UML在软件工程中的作用UML与系统的开发紧密相关,在软件工程的每一阶段,都可以用相应的UML工具来表示.
需求分析:UML的用例图可以表示用户的需求,通过用例建模,可以对外部角色和他们所需要的系统功能建模.
系统分析:可用UML的逻辑视图和动态视图来描述.
类图描述系统的静态结构,协作图、状态图、顺序图、活动图描述系统的动态特征.
系统设计:在UML加入新的类来提供技术基础结构,如用户接口、数据库等,是构造阶段的详细的规格说明.
系统构造:把设计阶段的类转换成某种面向对象的程序设计语言代码,在对UML表示分析和设计*本文系国家自然科学基金项目(代号:7o073022)研究成果之一.
一57—http://www.
paper.
edu.
cn第29卷第147期V01.
29.
No.
147中国图书馆学报JOURNALOFLIBRARYSCIENCEINCHINA2o03年9月Sep,.
2003模型进行转换时,不要直接把模型转化为代码.
因为在早期,模型是理解系统和对系统构造的结构化手段.
系统测试:对系统的测试通常分为单元测试、集成测试、系统测试和接受测试等各个不同级别.
各个测试小组可以用不同的UML图作为他们测试工作的基础:单元测试用类图和类的规格说明,集成测试用组件图和协作图,而系统测试用用例图来确定系统的行为是否符合这些图中的定义,从而达到对系统测试的目的.
UML易于表达且功能强大,适用于许多不同系统的开发,如:管理信息系统、事务处理系统、分布式系统、web系统等等.
本文以一个网络主动推送系统的分析和设计为例,阐述如何利用UML工具对系统进行建模,使用的工具是RATIONAL公司的R0SE工具.
2基于UML的网络主动推送系统建模本文所设计的系统可以提供以下功能:(1)收集因特网上的信息资源.
(2)对所搜集的信息资源进行分析,提取出有用的信息供检索使用.
(3)系统保留每个用户的个人信息,允许用户对自己所要求的信息进行定制.
(4)在用户使用系统的同时,系统对用户的行为进行记录,并逐步形成每个用户的用户模型.
(5)根据用户的定制信息,定期检查信息的更新情况,及时将更新情况或更新后的信息传递给该系统用户.
(6)提供传统信息检索系统的查询功能.
使用UML对该系统建模的主要步骤和方法为:(1)采用基于用例图的思想来提炼主动推送系统中的相关角色.
(2)采用基于类图和对象图的角色关系图来分析主动推送系统的静态组织结构.
(3)采用顺序图和状态图来描述角色间的交互关系和时序关系.
(4)利用构件图和部署图来展示系统中各个角色之间的实现结构.
3利用UML对系统分析设计3.
1用例图用例图表示一个系统对于系统外部的交互者的功能,强调从用户的角度看到的或需要的系统功能.
其用例是系统提供的高级功能模块.
本系统确定的基本角色是定制方(Subs~ber)、搜索引擎(SE)、信息提供方(P~de.
r).
在此基础上,确定的基本模块为:一58一定制、查询、接收、建库、发送.
用例图如图1所示.
圈1用侧圈3.
2交互图交互图包括顺序图和协作图.
顺序图是反映若干个对象之间的动态协作关系,也是随时间的步骤,主要分析对象之间发送信息的先后次序,说明对象之间的交互过程,以及系统执行过程中,在某一具体位置将会发生什么事情.
顺序图是UML分析业务过程中非常重要的一种图,它是对整个系统工作流程的一个过程反映,直接影响系统将来是否和实际系统相符合.
协作图是表示角色之间交互的视图,它除了反映角色之间的信息变化(交互)外,还能够反映角色和它们之间的关系(称为上下文相关).
由于协作图和顺序图透视反映角色之间的交互,所以建模可以任意选择一种反映对象之间的协作关系.
主要根据要强调的是时间序列还是强调上下文相关的关系来确定要使用哪种图.
图2是用户定制需求后系统的顺序图.
圈2定恻和推送囊序圈图2显示了一个主动信息服务系统的处理流程.
首先客户(Su~ber)向系统(Provider)定制某一类信息需求,即图中的某一类事件.
系统则构造一个事件容器(EventHolder),容器中有指向定制者的个人信息.
系统周期性地检查事件容器,并把新事件推出到所有的定制者.
另一方面,信息源(发送者)把事件数据传送到系统,系统则构造一个新的事件对象,并把它存放到属于该类事件的事件容器中.
同时,系统定期地检查所有的事件容器,并调用定制焦玉英柯青:统一建模语言在网络主动推送系统设计中的应用JiaoYuying,KeQing:ApplicationsofLrMLintheDesignofOnlineActivePushSystems者的处理事件运算,把未送出的事件推出到定制者.
若定制者收到,则把对应事件的现况属性更新为"已发送",这就完成了事件对象在定制和推送服务中的生命周期.
3.
3类图,对象图和包图类图表示系统中需要处理的事务,类与类之间有多种连接方式(关系),如关联、倚赖、通用化、打包等.
这些关系体现在类图的内部结构中,通过类的属性和操作反映出来.
一般一个系统有若干个类图,每个类图不一定包含系统中的所有类,一个类可以加到几个类图中.
在本系统中确定的基本类有:发送定制要求的客户、提供主动信息服务的供方以及用于搜索网上信息的搜索引擎.
本系统的设计是建立在假设搜索引擎已经从因特网上搜索到信息资源,并且存储在数据库中的基础上,所以重点考虑的是定制方和提供方之间的关联关系.
Eventholder作为Subscri~.
r和Provider之间的关联类,并且持有事件(Event)的集合.
图3给出的是该系统的一个类图,表示定制和推送之间的关系.
对象图是类图的实例化,不是真正的类,是类图的一个范例,它及时、具体地反映了系统执行到某处时的工作状况.
包图是设计元素分组的通用组织机制,可以利用包图将系统逐步细化,分成若干个子系统,这样便于设计者理解、修改、测试和维护.
可以用包把许多类组织起来,集合到更高一级的单元层次中来处理.
Subscn~erProcessEvent(EventData、GetName():EvEvents,:Event[*]Event(IProviderSubscribe(Subscriber)Unsubscribe(Subscriber)ProcessEvent(Eventdata)圈3定制和推送的类圈3.
4活动图活动图是反映一个连续的活动流,主要用于描述某个操作执行时的活动状态.
对该系统而言,首先接收用户的定制,然后通过构造一个事件容器建立用户的个人信息,再定期查找事件容器,并把新事件推送到用户面前,同时将对应事件的属性改为"已发送".
3.
5状态图状态图是对类所描述的对象的一个补充,显示了类的所有对象可能具有的状态,以及引起的状态变化.
在本系统一个事件从数据库到达用户面前要经历不同的状态,刚开始时为新事件,推送到用户后,该事件便标记为"已发送".
可以用状态图表示这个过程如图4.
圈4一个事件的状态圈3.
6构件图和部署图构件图描述代码部件的物理结构及各部件之间的依赖关系.
一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件.
它包含逻辑类或实现类的有关信息.
构件图有助于分析和理解部件之间的相互影响程度.
部署图定义系统中软硬件的物理体系结构.
它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性.
在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系.
系统的部署图如图5所示.
SubscriberSubscriber圈5系统部署圈该系统采用的是流行的B/W/T)三层体系结构.
第1层为数据库接点,第2层为应用服务器层,第3层为用户界面层,负责与用户打交道.
数据库中存一59—第29卷第147期V01.
29.
No.
147中国图书馆学报JOURNALOFLIBRARYSCIENCEINCHINA2003年9月Sep,2003储的数据包括:已搜索的网络信息资源的索引信息、各个用户的用户管理信息、个人定制信息和浏览习惯等个人化数据、网络信息资源咯更新和修改情况等.
应用服务层包括定制服务器、资源发送器等.
定制服务器是由独立运行在服务器上的软件来担任,用于接收客户定制器传送的信息,并与用户数据库相联,将用户的定制内容存储在数据库中,根据相应的信息对数据库进行查询或修改操作.
资源发送模块根据数据库中信息变化的情况,向定制信息的用户发送更新的信息资源.
当资源发送器发现用户定制的信息资源有所更新时,将与该用户的资源接收器相联,将资源的更新状况和更新后的资源发送给资源接收器.
用户层包括客户定制器和资源接收器.
客户定制模块功能为接收用户主动定制的信息、将定制信息加入用户数据库中,并能提供用户修改其定制信息的功能.
客户定制器是在客户端运行的,用户第一次使用该系统时,可以按个人需要生成定制信息,并将接收到的信息传送给定制服务器,以后每次登录都可以修改定制.
定制信息主要包括关键词和URL地址两种形式.
接收器把发送来的资源存储在客户机上,供用户以后浏览.
4系统的实现实现阶段是指编程实现类.
通常选择基于JA—VA的开发环境,主要考虑到如下原因:(1)JAVA的标准和跨平台优势,为用户提供了灵活、丰富的选项以及能够同企业一起扩展的环境.
这种优势来自JAVA所提供的"一次开发,随处运行"的能力.
应用JAVA,无需编写多种版本的应用程序,就可以运行在不同的软硬件平台上,这无疑是软件产品走向商品化的一项巨大优势.
(2)JAVA是一种纯面向对象的语言,而本系统采用面向对象的开发方法,因此JAVA可以和本系统的分析设计成果无缝衔接,大大提高编程人员的工作效率,加快产品开发速度,降低成本.
(3)JA、的众多实用技术,如内存垃圾自动回收技术、多线程机制、JDBC等给编程人员带来了巨大便利,极大地提高了工作效率.
5系统的测试和配置系统的测试可以使用用例来测试,检查应用是否支持这些用例,即是否满足所有的功能需求.
系统的配置是指将系统提交给用户,包括所有的文档.
文档中应包括系统的物理配置图,包括构件图和部署图.
6结束语本文通过一个主动信息推送系统的分析和设计,介绍了UML的实际建模过程.
基于主动推送系统的面向用户定制的特点以及对象概念和用户概念的一致性,我们提出了采用可视化建模工具,从主动推送系统中的角色定义、静态结构描述和动态行为描述等方面进行系统建模的思路.
这几方面的模型是紧密联系的,在建模过程中应该相互参考.
参考文献1刘超,张莉.
可视化面向对象建模技术.
北京:北京航空航天大学出版社.
19992JamesRumbaugh.
UML参考手册.
北京:机械工业出版社.
20013焦玉英,晏凌.
网上主动信息服务系统的模型及其实现技术.
中国图书馆学报,2001(3)焦玉英武汉大学信息管理学院教授及博士生导师.
通讯地址:湖北武汉.
邮编430072.
柯青武汉大学信息管理学院研究生.
通讯地址同上.
(来稿时间:2003—01—16)陈誉先生病逝原中国图书馆学会常务理事,上海市图书馆学会名誉理事长,上海社会学会副会长,华东师范大学信息学系主任、教授,华东师范大学图书馆馆长陈誉先生因病于2003年6月6日在上海逝世,享年83岁.
一60—
古德云(goodkvm)怎么样?古德云是一家成立于2020年的商家,原名(锤子云),古德云主要出售VPS服务器、独立服务器。古德云主打产品是香港cn2弹性云及美西cn2云服务器,采用的是kvm虚拟化构架,硬盘Raid10。目前,古德云香港沙田cn2机房及美国五星级机房云服务器,2核2G,40G系统盘+50G数据盘,仅35元/月起,性价比较高,可以入手!点击进入:古德云goodkvm官方网站地址古德...
RAKsmart 商家我们肯定不算陌生,目前主要的营销客户群肯定是我们。于是在去年的时候有新增很多很多的机房,比如也有测试过的日本、香港、美国机房,这不今年有新增韩国机房(记得去年是不是也有增加过)。且如果没有记错的话,之前VPS主机也有一次磁盘故障的问题。
这不今天有看到商家新增韩国服务器产品,当然目前我还不清楚商家韩国服务器的线路和速度情况,后面我搞一台测试机进行...
TmhHost 商家是一家成立于2019年的国人主机品牌。目前主营的是美国VPS以及美国、香港、韩国、菲律宾的独立服务器等,其中VPS业务涵盖香港CN2、香港NTT、美国CN2回程高防、美国CN2 GIA、日本软银、韩国cn2等,均为亚太中国直连优质线路,TmhHost提供全中文界面,支持支付宝付款。 TmhHost黑五优惠活动发布了,全场云服务器、独立服务器提供8折,另有充值返现、特价服务器促销...
搜人引擎为你推荐
permissiondenied求问permission denied是什么意思啊?对对塔对对塔和魔方格那个是正宗的?阿丽克丝·布莱肯瑞吉阿丽克斯布莱肯瑞吉演的美国恐怖故事哪两集关键字编程中,什么是关键字杰景新特我准备在网上买杰普特711RBES长笛,10700元,这价格合理吗?还有,这是纯银的吗,是国内组装的吗?月神谭求古典武侠类的变身小说~!www.99cycy.com谁在这个http://www.sifangmall.com网站上买过东西?www.228gg.comwww.a8tb.com这个网站该如何改善mole.61.com谁知道摩尔庄园的网址啊关键词分析怎么样分析关键词?
中国十大域名注册商 工信部域名备案查询 buyvm Vultr 云图标 建站代码 智能骨干网 工作站服务器 可外链网盘 免费网页申请 个人免费主页 网通服务器 智能dns解析 阿里云邮箱登陆地址 测速电信 supercache 服务器硬件配置 碳云 accountsuspended linux服务器系统 更多