《基于UML的图书管理系统体系结构模型及实现.pdf》由会员分享,可在线阅读,更多相关《基于UML的图书管理系统体系结构模型及实现.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2 0 0 5年 6月 第2 2卷 第 2期 重庆师范大学学报(自然科学版)基于 U ML的图书管理系统体 系结构模型及实现 张广泉,刘艳(1 重庆师范大学 数学与计算机科学学院,重庆 4 0 0 0 4 7;2 江苏省 计算机信息处理技术重点实验室,江苏 苏州 2 1 5 0 0 6;3 中国科学院 计算机科学国家重点实验室,北京 1 0 0 0 8 0)摘要:探讨软件体系结构与面向对象方法相结合的问题。以一个 图书管理 系统为例,采用统一建模语言 U ML对该 系统的软件体系结构建模,并使用 V B语言实现 了该 系统。关键词:图书管理 系统;软件体系结构;建模;UML;V B 中图分类号
2、:T P 3 1 l 文献标识码:A 文章编号:1 6 7 2 6 6 9 3(2 0 0 5)0 2 0 0 0 1 0 5 M o d e fi n g S o f t wa r e Ar c h i t e c t u r e a n d Th e i r I mp l e me n t Ba s e d o n UM L o f Li b r a r y M a n a g e m e n t S y s t e m ZHANG Gu an g q u art 。删Y an (1 C o l l e g e o f Ma t h e ma t i c s a n d C o m p u
3、 t e r S c i e n c e,C h o n g q i n g N o r ma l U n i v e r s i t y,C h o n g q i n g 4 0 0 0 4 7:2 J i a n g s u Ke y L a b o f I n f o rm a t i o n P r o c e s s i n g T e c h n o l o g y,S o o c h o w Un i v e r s i t y,S u z h o u J i a n g s u 21 5 0 0 6;3 S t a t e K e y L a b o f C o mp u t
4、 e r Sci e n c e,T h e C h i n e s e Ac a d e m y o f Sci e n c e s,B e i j i n g 1 0 0 0 8 0)Ab s t r a c t:Thi s p a p e r p r e s e n t s a n e ff e c t i v e a p p r o a c h o f c o mb i n i n g s o f t w a r e a r c h i t e c t u r e(S A)and o b j e c t o r i e n t e d m e t h o d We t a k e a
5、l i b r a r y ma n a g e me n t s y s t e m a s an e x a mp l e,a n d mo d e l t h i s s y s t e mg S A b y u s i n g UMLTh e n w e u s e VB t o r e a l i z e t h i s s y s t e m Ke y wo r d s:l i b r a r y ma n a g e me n t s y s t e m:s o ftw a r e a r c h i t e c t u r e;mo d e l i n g;UML:VB 软件体
6、系结构作为一种高层的抽象 的系统设 计,已经成了决定一个软件系统成功与否的关键因 素 j。尤其对于大型系统,软件体系结构的设计就 显得格外重要,直接影响着系统的执行效率。因此,作为软件工程研究领域的一个部分,软件体系结构 已经受到了越来越多的软件系统设计和研究人员的 重视。近年来,基于软件体系结构的设计分析和开 发方法已逐渐成为解决软件复杂性和工程设计困难 的重要出路,通过对软件系统的上层结构准确、深入 的认识和设计来指导整个软件系统设计开发方法,乃至整个生命周期活动。在软件体系结构设计中一个非常重要的方面就 是对软件体系结构的建模 J。如何用适当的方法把 软件的体系结构模型详细精确地描述出来
7、,不仅影 响着开发人员之间的交流和对体系结构的理解,更 影响到后续的工作,因而软件体系结构的建模问题 也成了软件体系结构研究领域一个热点和核心 问 题 一 。统一建模语言 U M L是一种语义丰富、通用、可 视化的建模语言和事实上的国际工业标准,易于理 解和交流。U ML提供的丰富的视图从多个视角描 述系统的不同侧面,可以有效运用于软件的建模、分 析与设计 。基于此,本文 以一个具有典型异构 体系结构的图书管理系统为例,该图书管理系统运 行在图书馆局域网上,假定在图书馆 中有功能强大 的工作站机器和多个 台式 P C机,台式机作为终端 收 稿 日期:2 0 0 5-O l-1 7 资助项 目:
8、国家自然科学基金(6 0 0 7 3 0 2 0);重庆市教委科学技术研究项 目(0 4 0 8 0 3);江苏省计算机信息处理技术重点实验室开放课 题;中国科学院计算机科学 国家重点实验室开放课题 作者简介:张广泉(1 9 6 5-),男,江苏连云港人,教授,博士后,硕士生导师,主要从事软件工程、形式化方法等研究。维普资讯 http:/ 2 重庆 师范大学学报(自 然科学版)第 2 2 卷 放置于多个借书还书处。系统的应用服务器和数据 服务器设置在工作站上,图书管理员可以在图书馆 的台式 P C机上使用该系统。采用可视化建模工具 R a t io n a l R o s e 2 0 0 3支
9、持 U M L建立其体系结构模型,探索 U M L在软件体系结构建模方面的特性;在为图 书管理系统 体系结 构建立 模型后,将 采用 V i s u a l B a s i c 6 0来 实现该系统,V B有足够多的“对象特 性”,可以充分利用 U ML 模型中的设计元素;采用的 数据库平台是 S Q L S e r v e r 2 0 0 0,其功能强大,操作简 便,可跨平台使用,非常适合图书管理系统。l 基于 u ML的图书管理 系统体 系结 构建模 软件体系结构的模型根据不 同的侧重点分为 5 类:功能模型、结构模型、框架模型、动态模 型、过程 模型。U ML提供了5类视图(用例图、静态
10、 图、行为 图、交互图、实现图),而这些视图正适合从不 同的 侧重点为系统体系结构建立上述各种模型。这些模 型将有机地统一在一起,对软件体系结构进行全面 的刻画。本图书管理系统体系结构建模除了上述 5种模 型外,还涉及到需求模型以及体系结构风格,限于篇 幅,这里只简要介绍其中的一部分。1 1 需求模型 U M L的用例图(U s e C a s e)较详细和确切地描述 了用户的功能需求,使系统责任更为明确,是其他 U ML 视图的核心和基础。其他视图的构造和发展 依赖于用例图中所描述的内容,系统的最终 目标就 是提供用例视图中描述的功能。图 1 是系统的顶层 需求模型,该图由各使用者和所驱动的
11、用例 以及用 例之间的相互关联组成。可以确定系统有 3个活动 者,读者(R e a d e r)、图书管理员(L i b r a r i a n),总图书 管理员(L i b r a r i a n l e a d e r)。读者通过 图书管理员 与 系统交互,图书管理员通过系统进行读者管理、书籍 管理、借 阅管理 和系统管理,L i b r a r i a n l e a d e r 是 L i-b r a r i a n的泛化。L i b r a r i a n l e a d e r 能够进行整个系统 管理。而 L i b r a r i a n只能进行部分系统管理。在顶层需求模型建立后
12、,需要进一步构建更加 精确的需求模型。以用例“书籍管理”为例,图 2是 书籍管理子系统需求模型。用例“书籍管理”可 以 分解为:“书籍类别管理”和“书籍信息管理”两个用 例;空心的棱形箭线表示聚合,代表一种整体与部分 的关系。f r o m(总图书管理员)f r o m系统角色)图 1 图书管理系统顶层需求模型一 U ML 用例图 图书管理员(f r o m系统角色)号 按书籍名称查 巡 塑 一般来说,用例定义后需要为一些重要用例建 立一些简单的行为模型,从而使该用例更为清晰,也 为在建立结构模型时更容易把握哪些构件是应该抽 象出来的。1 2 体 系结构风格 描述软件体系结构风格是基于体系结构
13、建模的 重要 内容。该图书管理系统体系结构风格与其子系 统构件体系结构风格不同,属于异构的体系结构。该系统运行于图书馆局域网,整体上是一种典型的 3 层 C li e n t-S e rve r 体系结构风格,各种服务分离在不 同层次,易于开发和维护。为了满足表示层多变的 需求,各子系统采用 了模型-视图一 控制器(MV C)风 格。该风格把一个应用的输入、处理、输出流程按照 M o d e l、V i e w、C o n t r o ll e r 的方式进行分离。模型封装 内核数据与状态,视图从模型获取数据,用户输入的 数据通过控制器与系统交互。在本系统中,表单就 是视图,实体就是模型,控制
14、器则包括用户接 口控制 器和应用控制器。维普资讯 http:/ 第2期 张广泉,等:基于 U M L的图书管理系统体系结构模型及 实现 3 1 3 功能模型 该模型认为体系结构是由一组功能组件按层次 组成,下层向上层提供服务。为本图书管理系统构 建了4个组件:标准的 u i s v c e x e,b r s v c d U以及 d t s V C d l l 和 d a s v c d l l。但是在发布时,将 b r s v c d l l 编 译为 A c t i v e X E X E组件(进程外),d t s v c d l l 也将编 译为 A c t iv e X E X E组件
15、(进程外)。图 3为 U M L组 件图,各组件之间相互通信,下层为上层提供服务,虚箭线表示依赖关系。d a s v c 组件提供数据访问服 务,执行 A P I 的请求,直接与数据库进行交互;d t s v c 组件提供数据转化服务,对信息服务的逻辑请求转 换为数据兼容的语言(S Q L语句),该组件中的数据 转化类将实现 I c r u d接 口;b r s v c 组件提供传统 的功 能服务;u i s v c 组件提供传统的表示服务。组件间的 通信技术采用 Mic r o s o f t 的组件对象模型(C O M)和 D C O M(对于建造者来说,D C O M就是带有“长线”的
16、C O M)。以字符 串数组作为层 间通信结构,灵活稳 定。u i s v c 组件将运行于 图书馆客户机,b r s v c 组件 运行于应用服务器,d t s v c、d a s v c以及数据库放置在 数据库服务器上,各节点通过局域网连接。U M L配 置图很好地定义 了系统中软硬件的物理体系结构,如 图 4所示。图 3 图书管理系统功能模型一 U ML 组件图 图 4 图书管理系统功能模型一 U ML 配置图 1 4 结构模型 结构模型侧重于描述系统结构的细节,类图可 以用来构建系统的结构模型。类图是 U M L的核心 技术,表示系统中的类和类与类之间的关系,是对系 统静态结构的描述。
17、一个典型系统中通常有若干个 类图。图5是借 阅管理子系统的结构模 型。“B o r r o w l e n d”是“B o o k”与“R e a d e r”的关联类,它定义了 一组属于该关联 的特性,比如 B o r r o w d a te(借 阅时 间)等,这样的特性不适合放于任何一个被关联的 类中。“B o r r o w l e n d”类与“B o r r o w l e n d D T”类互相通 信,后者将前者对数据库 的请求转化为 S Q L语句 后,将 S Q L语句作 为参 数传 递给“A c c e s s”类,由 “A c c e s s”类直接访问数据库。1 5 动
18、态模型 动态模 型描 述系统大 颗粒 的行 为性质,可用 U M L的交互图以及状态 图和活动 图来描述 图书管 理系统的动态模型。交互图描述构件间消息传递的 连接关系及其空间分布,揭示构件之间的交互过程,用于描述一个用例,它有两种类型:顺序图和协作 图。状态图表现了一个对象(或模 型元素)的生存 史,显示触发状态转移的事件和因状态改变而导致 的动作,对于 比较重要的对象需建立其状态 图。活 动图的主要表示 系统 的业务工作流和并 发处理过 程,对于一些 比较重要 的流程需要建立其活动 图。图 6是 借 书用 例 的协 作 图。“U C B o r r o w l e n d C o n-t
19、r o l l e r”向“B o r r o w l e n d”发送 s e t S t a t e,将从用户接 口 获得 的借 阅信息 赋给“B o r r o w l e n d”的属性。然后“U C B o r r o w l e n d C o n t r o l l e r”向“B o r r o w l e n d”发 送 i n-S e r t 消息时,需将“B o r r o w l e n d”的属性重新组装成数 组传递到下一层,这个过程 由“B o r r o w l e n d”向 自己 发送 P a c k消 息来 完 成。“B o r r o w l e n d”
20、构 件 在 对“B o r r o w le n d D T”构件发送 i n s e r t(插入)消息之前,首 先要对“B o o k”发送 U p d a t e 消息,即更新该书籍为借 出,如果这个消息发送失败,也就是这本书不可借 出,那 么 i n s e r t也 将 执 行 失 败。最 后“f r m B o r-r o w l e n d”表单将根据执行结果显示 出提示,比如“该 书已借 出”,“该书不存在”等。2 图书管理系统的实现 V is u a l B a s i c 是一种有力的企业开发工具,它虽 然不是一种真正意义上的面向对象语言,但是它是 基于对象的,它有许多强大
21、的面向对象的能力,它支 维普资讯 http:/ 4 重庆师范大学学报(自然科学版)第2 2卷 t 0 _,打mM jI n (f r o m For m l a y)I f t o lin,I I C o l t o mI 1 I T il l s lb ln t c ill s s I f I T n E lo r r o l e n d I1 1 I U l B O ff o v d e n d C o n t r o l l e r l I C o r lt e x t D T l【H r m F Nm la y 卜 af m F o r m C o n t r o lle r l a
22、y)l l at o m o a t at r a r ls f o r m)l l I l I l l 1 1 1 一一 1 I E 1 1 1 C S SD l m【f 哺 m B o。眦l c 哪-h d C olmt r oIl emm ce lD O C i ssBUS lay 一 f R a a d e r I a r a m E n t I i ay),。l I l 、I l L 繁 ,t t u I l()_ 1 I c r ud u,(f r om Da t a t r 一“一,r 0 一 苫 冕:l l l“吕 :茹”l I I eO d l l。c r r o llr l
23、 E n t ity I)卜 1(f l o m E r m t y II y)l l(r t o m D a t a t r a n o f o r m)l l l 图 5 借阅管理子系统结构模型一 U ML 类图 图 6 借书动态模型一 U ML 协作图 持类、复合类型、封装、继承、消息传递、多态。虽然 这里的继承只能是接 口继承而不是实现继承,但是 V B仍然具有 足够 的面 向对象特性,可以充分利用 U ML模型中的设计元素。U M L视 图与 V B存在着 映射关系 ,它们的结合是十分合适的。例如:组件 图中的各组件对应 V B的各类工程(E X E,D L L);类 对应着 V B
24、类模块或者模块,类中的操作对应其中 的子程序(S U B,F U N C T I O N)。在使用 R a t io n a l R o s e这一可视化建模工具时,通过前向工程与逆向工程的结合,可使 U M L的价值 大大提高。d t s v c d l l 工程 中只有一 个类模块“A c c e s s”(如图 7),该类从数据转化类中获取 S Q L ACCe ss JmoCo nn:ADODB Co onec t i o n rS Tem p:AD ODBR eco rdse t D A R e t r i e v e()D A O u e r y()D A C 1 0 S e()D
25、 A C o n n e c t()D A B e gi n T r a n s()D A C o m m i t T r a n s()Q D A R o 1 1 B a c k()C1 a s s I 11 i t i al i z e()c1 assT e r m i n a t e()ta l ch e c k t y p e()图 7“A c c e s s”类 Tr a n=l o mt Cl a B O n O e r l d DT 嚣 _geUnlbO UpdateO _lnSertO _Delet,0 Im plement9)Ic4ud -g,U n f o 0 J p d
26、a t e 0 n s“0 1 0*l e t*0 图 8“B o r r o w l e n d D T”类 语句,并直接与数据库交互。对数据库的 查询 由 D A R e t r i e v e操作执行,对数据库的 插人、删除、更新则 由 D A Q u e r y 操作执行。涉及 到事务 管理 的操作 是 D A B e g i n T r a n s (开始)、D A C o m m it T r a n s(提 交)、D A R o l l-B a c k(滚 回)。d a s v c e x e工程包括 与实体 一一对应的数据转化类如 B o r r o w l e n d D T
27、类(如图 8)、B o o k D T类等,每个数据转化类 都实现接 口 I c r u d,其功能是将与对应实体 有关的请 求转化成 S Q L语句。需要 通过 该层的服务来建立一个连接,并为多步的 面向更新的 S Q L语句建立一个工作单元,所以添加了一个名为 C o n t e x t D T类。该类 直接与 t h e A c c e s s 对象交互。b r s v c e x e 工程中包括实体类(图9为实体“u s e r”类)与控制器类。实体类与数据转化类交互,进 行主要的功能处理。控制器类主要从客户端获取信 息,向 C o n t e x t D T类以及实体类发送消息。u
28、i s v c标 准工程中包括表单和用户接 口控制器类。用户接口 控制器从表单获取信息,必要时可以进行一些筛选 和处理,然后将信息传递到应用服务器。它主要和 b r s v c中的控制器进行通信。在具体编码实现或者 逆向工程时都有可能会对模型进行修改,使模型适 应应 用 程 序 的 语 义。例 如,对 于 关 联 类“B o r r o w l e n d”,其初始模型如图 1 0所示。维普资讯 http:/ 第 2期 张广泉,等:基于 U M L的图书管理系统体系结构模型及实现 5 USer s e r I D:St ri n g u s er P WD:S t ri n g I 1 e a
29、d e r:I nt e ge r g et I nf O()I n Se rt()Up da t e()D e1 et e()g et S t at e()u n Pa C k()S e t St a te()Pac k()图 9“U s e r”类 图 1 0 关联类“B o r r o wl e n d”因为 R o s e 在生成关联类的 Y B代码方面存在 缺点,所以从这个模型得不到想要的 V B代码。需 要的代码,或者说应该生成的代码如下:。B o n o wl e n d Cl a s s P u b l i c my Re a d e r a s R e a d e r p r
30、 i v a t e mc o l b o o k a s C o l l e c t i o n 所 以,不管是在代码生成前修改模型还是代码 生成后进行逆 向工程,都应 得到如 图 1 1的模型。M c o l b o o k 与 m y R e a d e r 作为角色名,“+”表示 P u b l ic,“一”表示 P r i v a t e o 圈 1 修改后的模型 由实现过程可知代码的主要 资源是类和组件 图。在整个实现的过程中,层次关系非常清晰,体现 了由软件体系结构建立模型的优势。当代码实现 后,应该将应用程序代码逆向工程到可视化模块中,实际上,正向工程、编码、逆向工程这是个重复
31、 的过程。3 结语 本文以一个图书管理系统开发为背景,探讨了 基于 U M L的体系结构建模及其实现问题。由建模 过程可以看出 U M L在体系结构建模方面存在很好 的优势,它提供了一个统一的交流平台,而实现过程 则充分体现了 V B的面向对象特性。软件体系结构 与面向对象开发方法相结合,不但从整体上正确描 述了该图书管理系统的体系结构并且可以充分利用 U M L面向对象的优势,最终使得项 目成功完成。但是,作为一种通用的语 言,U M L对软件体系 结构的可构造性建模能力较弱,缺乏形式化语义,对 体系结构的描述只能到达非形式化的层次。文献_ 9 J 探讨了 U ML和体系结构描述语言 A D
32、 L相结合来描 述软件体系结构的模型问题,A D L形式化语义的精 确性正好可以弥补 U M L非形式化的一些不足,二者 的有机结合,不仅可更好地描述体系结构模型,还支 持下一步的求精和验证工作。参考文献:1 张友生 软件体系结构【M 北京:清华大学 出版社,2 O 0 4 2 周莹新,艾波 软件体系结构建模研究 J 软件学报,1 9 9 8,9(1 1),8 6 7-8 7 2 3 唐稚松 时序逻辑程序设计与软件工程 M 北京:科学 出版社 2 0 0 2 【4 张广泉 软件体系结构与 X Y Z系统 R 北京:中科院软 件研究所博士后研究报告 2 0 0 2 5 江贺,冯 冲,冯静芳软件体
33、系结构理论与实践 M 北 京:人民邮电出版社,2 0 0 4 6 刘超,张莉,可视化面 向对象建模技术标准建模语 言 U M L教 程 M 北京:北 京航 空航 天大 学 出版社,2 O 0 o 7 张龙祥 U M L与系统分析设计 M 北京:人 民邮电出 版社,2 0 0 2 8 R E E D P R D e v e l o p i n g A p p l i c a t i o n s w i t h V i s u a l B a s i c a n d U ML M MA B o s t o n:A d d i s o n We s l e y 1 9 9 9 9 张广泉,张玲红U
34、M L与 A D L在软件体 系结 构建模 中 的应用研究 J 重 庆师 范大学 学 报(自然科学 版)2 0 0 4,2 1(4):1-6。1 0 Z H A N G G Q M o d e l i n g a n d R e fi n e m e n t f o r S o f t w a r e A r-c h i t e e t u r e B a s e d o n T e m p o r a l L o g i c c T h e 1 0 t h J o i n t I n t e r n a t i o n a l C o mp u t e r Co n f e r e n c e,I n t e r n a t i o n al Ac a d e mi c P u b l i s h e r I CC 2 0 0 4,2 0 0 4 1 0,4 5 0-4 5 4(责任编辑黄颖)维普资讯 http:/