已阅读5页,还剩59页未读, 继续免费阅读
(计算机科学与技术专业论文)基于web的伦理法人会mis系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
蕉芏型! ! 盟焦堡鲨盒鲤丕堡堕壁盐! ! 塞塑 摘要 本文通过作者实际参与的日本最大的民削组织“伦理法人会”的管理信息系统的项 目开发,论述了利用网络原理、数据库技术、软件工程技术进行系统分析、系统设计和 开发的理论和方法。 本文在实现上,采用了b s 模式的总体结构,从逻辑上分成三层,即客户端、事务 逻辑层和数据存储层。通过超文本传输协议h t t p 来实现浏览器和服务器之间的通信, 通过s e r v l e ta p i 来提供对c g i ( 公共网络接口) 的支持,并通过配置与t o m c a ts e r v e t 容器集成在一起a p a c h ew e b 服务器,将t o m c a t 在管理s e r v l e t 方面的优势与a p a c h e 在提供静态内容方面的优势有机地结合在一起。在设计模式上采用了模型视图控制器 ( m o d e l v i e w c o n t r o l l e r ,m v c ) ,通过s t r u t s 框架( 一种基于 f v c 设计模式的w e b 应 用框架) 来实现,在该模式设计中具体用到了三个主要的实现技术j a v a b e a n 、t s p 和s e r v l e t 。在系统的功能实现上,着重阐述远程数据库访问的高效性和安全性,并详 细讲解所采用的w e b 应用程序开发的安全技术和远程数据库访问技术,包括用户身份验 证( h t t p s ) 、数据库加密及批处理等高效安全的网络开发技术。本文还将介绍所使用的 编辑器e c li p s e ,它是由i b m 开发的新一代i d e 开发环境,可以通过开发插件,扩展到 任何语言的开发。 本文利用m v c 设计模式所实现的伦理法人会管理信息系统在日本已经正式使用,该 系统具有可移植性、可重用性、高效性、安全性等特点。 关键字:管理信息系统、远程数据库访问、模型视图控制器、安全性 基于w e b 的伦理法人会m i s 系统的设计与实现 a b s t r a c t t h i st e x t ,t h r o u g h t h e p r o j e c td e v e l o p m e n t a b o u tt h e b i g g e s t t h e m a n a g e m e n t i n f o r m a t i o n s y s t e mt h a t “l e g a lp e r s o n k n o w se t h i e d o f n o n - g o v e r n m e n to r g a n i z a t i o ni nj a p a n w h i c ht h ea u t h o r p a r t i c i p a t e si na c t u a l l y , d e s c r i b i n gt h et h e o r y a n dm e t h o db yu t i l i z i n gn e t w o r kp r i n c i p l e ,d a t ab a s e t e c h n o l o g y , s o , w a r ee n g i n e e r i n g t o c a r r y o nn e t w o r k a n a l y s i s ,d e s i g n a n d d e v e l o p o n r e a l i z i n g ,t h et e x t se n s e m b l ea r c h i t e c t u r ea d o p t e db 俘m o d e ,d i v i d e i n t o t h r e el a y e r , t h e ya r ec u s t o m e re n d ,a f f a i r sl o g i cl a y e ra n dd a t aa r es t o r e dl a y e r r e a l i z et h ec o m m u n i c a t i o nb e t w e e nt h eb r o w s e ra n ds e r v e rt h r o u ,g hh t t p a n d o f f e rt h es u p p o r tt oc g i t h r o u l g hs e r v l e t a p i , a n di n t e g r a t ea p a c h e 臃6 台s e r v e r t o g e t h e rw i t ht o m c a ts o r v i e t sc o n t a i n e rt h r o u g hd i s p o s i n g ,c o m b i n et o m c a t a d v a n t a g ei nm a n a g i n gs e r v l e ta n da p a c h ea d v a n t a g ei no f f e r i n g8 t a t i cc o n t e n t t o g e t h e ro r g a n i c a l l y i nm o d l e d e s i g n i n g t h e t e x t a d o p t e d n 如d e 。v i e w c o n t r o l l e r i 砌m o d l e ,a n dr e a l i z et h r o u g hs t r u t sf r a m e ( t h ew 曲so fm o d eu s e f r a m e so nt h eb a s i so fm v e t h e r ea r et h r e em a i ni m p l e m e n t a t i o nt e c h n i q u e s u s e di nm v gm o d e o fd e s i g n i n g b e a n j s pa n ds e r v l e & i nt h ef u n c t i o no f t h es y s t e m r e a l i z e s ,t h eh i g h 。e f f i c i e n tq u a l i t ya n ds e c u r i t yt h a te x p l a i nt h er e m o t e d a t ab a s ea c c e s s ( r d a ) e m p h a t i c a l l y , a n de x p l a i n 6s a f e p r a c t i c e o fu s i n g p r o c e d u r em a k i n ga n dr d at e c h n o l o g yi nd e t a i l i n c l u d i n g ,u s e ra u t h o r i z e h t t p s , d a t ab a s ee n c r y p ta n db a t c ht r e a t m e n t a l s oa te d i t o rm a c h i n ee c l i p s e w h op l a c eo fm a t c h m a k e r su s e ,i ta ti b mi d e d e v e l o p m e n te n v i r o n m e n to fn e w g e n e r a t i o nt h a td e v e l o pt h i st e x t ,c a ne x p a n dt ot h ed e v e l o p m e n to fa n y l a n g u a g e t h r o u g hd e v e l o p p i n gt h ep l u g i np a c k a g e t h i st e x tu t i l i z em v c d e s i g nm o d e lt or e a l i z e “i n f o r m a t i o nm a n a g e m e n t s y s t e m o fe t h i c sl e g m t e r s o nk n o w d i nr e a l m e a n i n g t h es y s t e m sh a v e c h a r a c t e r i s t i c ss u c ha sp o r t a b i l i t y , r e u s a b i l i t 3 ;h i g he f f i c i e n c y , s e c u r i t y , a n di tb e u s i n gb ye t h i c sl o g a l t e r s o nk n o w s i nj a p a nn o w k e y w o r d :m i s 、r d a 、m v c 、s e c u r i t y 拱于w e b 的伦理法人会m i s 系统的设计与实现 0前言 0 1 本文的工作背景 在日本,i n t e r n e t 网络的利用相当普及,大到政府机关、银行,小到商店、社团, 无不利用i n t e r n e t 网这一快捷便利的通信工具来交换信息、:互通有无。 伦理法人会是日本最大的民间社会教育组织,主要工作包括社会教育事业、研究事 业、文化事业以及出版事业四个方面。教育事业主要包括在日本全国各地定期举办各类 伦理演讲会及论文发布会;研究事业主要设置了基础伦理、日本文化、亲子伦理、夫妇 伦理、家庭伦理、教育伦理以及经营伦理、生命伦理等1 0 个研究项目,致力于“地球 偷理”的研究;文化事业主要进行日本本国的书法,短歌的收集和熬理工作,力求使读 者达到修养心境的目的;出版事业主要负责出版和发行伦理法人会的研究成果,定期出 版各类伦理研究的月刊及单行本等,目前,由社团伦理法人会研究所发行的月刊杂志报 纸已经达到1 2 2 种,其中在日本全国较有影响的包括辙埸。教饕,新世,伦研新 报等。 伦理法人会机构庞大,县级法人会遍及日本全国各省,以企业为单位的会员成员已 达到三万多,以前的人工管理方法对于各个县的会员入会、退会、转会及其他各项管理 工作,特另0 是会员的会费缴纳的管理工作已经变得越来越困难和难以维持。为了便于整 个伦理法人会机构的信息管理,保证各县级法人会和机构总部都能够及时准确地获得有 关法人会的各种信息,方便快捷地通过i n t e r n e t 查询和更新信息,因此决定建立基于 w e b 的伦理法人会管理信息系统。 0 2 本文的主要工作 从总体上设计并实现了伦理法人会管理信息系统。具体包括: l _ 总体结构设计 系统设计采用b s 结构的w e b 方案,从逻辑上分成三层,即客户端、事务逻辑层和 数据存储层,即采用b r o w s e r w e b d a t a b a s e ( b w d ) 的体系结构。 2 设计模式 采用模型视图控制器模式( m v c 模式) 来作为本文的设计模式 3 。 s e r v l e t 适合于管理事件和程序流程,但是产生响应迟缓,而j s p 在完成响应页面方 面表现出色,但是要在h t m l 页面罩嵌入大量的s c r i p l e t 代码,维护起来困难,可以通 过使用b e a n 可以删除部分s c r i p l e t 代码。3 a v a b e a n s 作为一种封装技术应用在j s p 程 序中用来封装事务逻辑、数据库操作等,可以很好地实现业务逻辑和前台程序的分离, 使系统具有更好的健壮性和灵活性。m v c 模式可以将功能划分为相互关联的三个组件一 模型、视图和控制器,充分融合这三种技术的优点,解决上述问题。本文在实现过程中, 是通过使用s t r u t s 框架来具体实现m v c 模式。 3 功能设计 具体包括以下主要功能: ( 1 ) 会员管理信息子系统 堡! :里生笪丝些婆垒塑璺墨堕垫堡:i ! 兰壅墨 会员是以公司为单位。包括会员入会、转会、退会、会员变更、会员详细情况、会 员动态表、会员信息检索、市区及县法人会一览、发送订阅会员杂志、活动报告书、会 员公司概况一览及月次处理和会费作成等主要功能。 ( 2 ) 役员管理信息子系统 役员是指在法人会中担当职务的人。各县级的法人会可以进行有关役员的各种信息 编辑、包括役员信息更新、追加役员、消除役员、及役员的个人情报检索等功能,并申 报给法人会总部予以批准。法人会总部则可以对各县级法人会提出的申请进行批准或者 取消。 ( 3 ) 讲师管理信息子系统 讲师是指在伦理法人会中担任讲演和论文发布等活动的人。包括讲师档案检索、讲 师档案新建、变更、讲师详细资料、担当职务履历、讲演履历等功能。 ( 4 ) 会费管理子系统 包括财务信息登录、编辑、金融机构查询、当月缴费信息、缴费历史记录、未缴费 统计、余额调整、会费台帐、转帐参照数据作成和转帐结果读入以及各种统计结果表的 查询等功能。 0 3 所采用的主要技术 在系统的设计和实现上所采用的理论知识和技术包括: 1 w e b 原理 本系统所采用的是b s 模式,即请求响应模式。通过超文本传输协议h t t p 来实现 浏览器和服务器之间的通信,通过s e r v l e ta p i 来提供对c g i ( 公共网络接口) 的支持。 配置与t o m c a ts e r v l e t 容器集成在一起a p a c h ew e b 服务器,这种配置把t o m c a t 在管 理s e r v l e t 方面的优势和a p a c h e 在提供静态内容方面的优势有机地结合起来。a p a c h e 被配置为监听默认端口8 0 的w e b 请求,t o m c a t 用于监听定制端r ( 默认端口号为8 0 8 0 ) 的s e r v l e t 请求。 2 数据库技术 选择p o s t g r e s q l 作为本项目的数据库系统。p o s t g r e s q l 是一种“对象关系”型数 据库管理系统,是比较好的开放源代码数据库系统,p o s t g r e s 可以在许多平台上运行。 它是随r e d h a tl if l u x 一起发卸,可以在安装好l i n u x 后立刻使用。 考虑到像o r a c l e 这样的大型s q l 数据库系统价格都很高,而日本伦理法人会这样的 非商业盈利用户是不愿意在这方面进行大笔投资的,因此采用了p o s t g r e s q l 这种免费 的开放源代码数据库系统。 3 软件工程技术 使用统建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,简称u m l ) 来进行类的设计。它 是一种对软件密集型系统的制品进行可视化、详述、构造和文档化的图形语言。u m l 给 出了一种描绘系统蓝图的标准方法,其中即包括概念性的事物,如业务过程和系统功能, 也包括了具体的事物,如用特定的编程语言编写的类、数据库模式和可复用的软件构件。 4 模型试图控制器技术 在实现过程中采用了m v c 设计模式中所使用到的三个主要的实现技术 2 基于w e b 的伦理法人会m i s 系统的设计与实现 j a v a b e a n 、j s p 和s e r v l e t 。编译器使用b o r l a n d 公司开发的j b u i l d6 作为程序开发工 具,在丌发后期又将程序移植到编译器e c l i p s e 上丌发。e c l i p s e 是替代i b m v i s u a la g e f o rj a v a ( 以下简称i v j ) 的下一代i d e 开发环境,但它未来的目标不仅仅是成为专门 丌发j a v a 程序的1 d e 环境,根据g c i p s e 的体系结构,通过开发插件,它能扩展到任 何语言的 发,甚至能成为图片绘制的工具。更难能可贵的是,e c l i p s e 是一个开放源 代码的项目,任何人都可以下载e c l i p s e 的源代码,并且在此基础上开发自己的功能插 件,通过开发新的插件扩展现有插件的功能,比如在现有的j a v a 开发环境中加入t o m c a t 服务器插件。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是 g c li p s e 的潜力所在。 5 安全技术 除了j a v a 技术本身具有的安全机制外,本文着重介绍了w e b 层( j s p s e r v l e t ) 上 的安全机制,包括用户身份鉴别、用户授权、数据库加密及安全编程技术等控制w e b 安 全的方法和技术。 0 4 本系统特色 由于本系统在服务器端开发使用j a v a 技术,所以为本系统提供了跨平台性、可移 植性、高效性、可重用性、可扩展性和安全性等特点。下面具体讨论每一个特点: 1 跨平台性 跨平台性是j a v a 平台的重要特点,从商业角度看,只需要为j a v a 平台编写一次软 件,就可以在任意支持j a v a 平台的机器上使用。对于j a v a 的支持已经被集成或正被集 成到所有的操作系统中,这使得j a v a 的跨平台性得到了保障。 2 可移植性 j a v as e r v l e t 同j a v a 语言一样具有平台无关性。s e r v l e t 代码被编译成字节码, 再由服务器上的j a v a 虚拟机( j v m ) 解释执行。由于s e r v l e t 本身由平台无关的字节 码组成,就可以自由地把它移植到支持j a v a 的其他平台上。 3 高效性 和c g i 相比,j a v as e r v l e t 提供了更有效方法处理用户请求。c g i 程序需要为每 一个客户请求创建一个进程,而当s e r v l e t 接收到请求时,它只是在相同的进程中创建 另一个线程来处理请求。这使得成百上千的用户同时访问s e r v l e t 而不影响服务器性能。 4 重用性 j a v a 用到两种方式来实现代码重用,一一种方式是创建应用部件的各部分,另一种方 式是使用面向对象的方法封装共享功能。 5 可扩展性 因为j a v a 的源代码是以类( c l a s s ) 为单元组成的,类存储在单独的文件中,当需 要时才被j a v a 编译器导入。因此,程序可以在执行时决定它需要用到哪个类并在需要 的时候导入这个类,这样程序就可以通过导入类来动态的扩展自己。在以网络为中心的 编程中也可以通过网络导入类来动态的扩展程序,从而使程序避免了传统中的冗长代 码,而是由一些独立的交互的程序组件组成。 6 安全性 3 基十w e b 的伦理法人会m i s 系统的设计与实现 安全问题是i n t e r n e t 上的最大隐忧,因此本系统的另一主要特点就是系统安全性 设计。无沦是系统配置、网络设计、数据库设计以及程序设计方面都强调了系统的安全 性设计。 0 5 本文的应用情况 本文所实现的系统目前已经有三个子系统在f i l 本正式运行,它们是会员管理信息子 系统、役员管理信息子系统、讲师管理信息子系统。会费管理子系统正在测试维护阶段。 客户对于本系统所具有的人性化的交互界面、快速查询及安全准确等方面给予了很 高的评价。 4 基十w e b 的伦理洼人会m i s 系统的设计与实现 1基础知识 本课题主要涉及到w e b 原理、w e b 数据库及数据库连接、统一建模语言、m v c 设讨模式、s e r v l e t 技术、j s p 技术、j a v a b e a n 技术等基础知识,本章针对这些基础 知识进行详细阐述,并说明如何将这些知识结合在一起应用到实际项目中。 1 1w e b 原理 1 1 1 超文本传输协议连接 当万维网( w o r l dw i d ew e b ,简称w e b ) 浏览器请求特定的资源( 例如一个w e b 页面) ,服务器做出响应,w e b 正是基于这种请求,响应模型,它是通过超文本传输协议 ( h y p e r t e x tt r a n s f e rp r o t o c o l ,简称h t t p ) 来实现的。h t t p 协议定义了w e b 浏 览器和w e b 服务器之间的通信方式。 当在w 曲浏览器中输入统一资源定位符( u n i f o r mr e s o u r c el o c a t o r ,简称u r l ) 时,浏览器将u r l 转换成h t t p 请求,并且将请求发送到相应的服务器。通常,为了 显示一个超文本标记语言( h y p e r t e x t m a r k u pl a n g u a g e ,简称h t m l ) 文档,个 w e b 浏览器会向一个w e b 服务器发送多个请求,浏堕器必须为每个图片向w e b 服务器 发送单独的请求。 1 1 2多用途i n t e r n e t 邮件扩展( m i m e ) 模型 当浏览器接收到所请求的资源时,它必须知道如何处理这些资源。比如:一个h t m l 页面必须根据特定的规则来解析和显示,图像必须使用特定的算法来解码,压缩文档必 须使用相应的程序来解压 2 】。为此,w e b 浏览器必须知道它接收了哪些类型的资源。在 h t t p 中使用头文件c o n t e n t t y p e 柬表示w e b 服务器向浏览器发送的资源类型,比 如:资源类型常常被定义为t e x t h t m l 。 多用途i n t e r n e t 邮件扩展( m u l t i p u r p o s ei n t e r n e tm a i le x t e n s i o n s ,简称 m i m e ) ,这种m i m e 标准允许完全不同的电子邮件系统协同工作,它定义了如何来格 式和保存电子邮件的文本和附件。m i m e 标准使用“m i m e 类型”来定义了几乎所有 的文件格式。例如本文中常用的一些格式: t e x t l p l a i n 普通的文本格式 t e x t h t m l h t m l 文件 i m a g e j p e g j p g 格式的图像文件 i m a g e g i f g i f 格式的图像文件 1 1 3 端曰 多数时候,w 曲服务器并不是专用的w e b 服务器。当一个物理服务器具有多个服 务,不断监听连接请求时,就需要端口来解决。与硬件端口不同的是软件端口实际上只 是定义了端口号和服务之间的关系的表格。下面是一些常用的端口号极其相关服务: 8 0 w 曲服务器 1 1 0 p o p 服务器 5 茎塑业盟丝堡婆叁丛望墨丝塑墼吐量釜塑 2 5 s m t p 服务器 2 3 t e l n e t 服务器 除了前面提到过的u r l 的三个组成部分:协议( h t t p :) 、主机( l o c a l h o s t ) 和资源( ,) 外,还有另外一个组件端口。如果知道w e b 服务器在监听端口8 0 8 0 , 则可以用下面方法指定到该端口:h t t p :l o c a l h o s t :8 0 8 0 。选择端口号的范围是应 在4 9 1 5 2 - - 6 5 5 3 5 之问,因为o 一1 0 2 3 是“公认端口”,为重要系统进程使用,而1 0 2 4 4 9 1 5 1 之间的端口是“已经注册的端口”。 1 2w e b 数据库和j d b c 1 2 1 、e b 数据库 数据库是管理信息的有效手段。w w w 以其图形化、覆盖面广等特点,自然而然地成 了目前信息发布的最佳媒界。因此w e b 数据库开发技术也变得非常重要。 目前一些商业用的大型s q i 。数据库系统价格都很高,所以象日本伦理法人会这样的 非商业盈利用户都不愿意在这方面进行大笔投资。考虑到l i n u x 及其w e b 服务器软件是 免费的,而且基于l i n u x 的中小型s q l 数据库服务器软件也大都是免费的,或者是有针 对性收取较低的费用,所以完全可以利用【i 1 3 u x 作为平台建立一个低成本的中小规模数 据库系统。 l ir l u x 下的s q l 数据库服务器软件相当多,常见的有p o s t g r e s q l 、m y s q l 和g s q l 等。其实这些数据库服务器在操作 ! = 差别不是太大。p o s t g r e s q i 是种“对象关系” 型数据库管理系统,来自美国柏克利大学,是一个面向对象的数据库系统。相对于众多 的s q l 服务器来说,虽然p o s t g r e s q l 的性能不是最好的,但它支持的标准s q l 命令( 或 变化形式) 却是最多的,而且功能也较全。还有一点优势就是它随r e d h a tl i n u x 一起 发布,可以在安装好l i n u x 后立刻使用。 1 2 2j a v a 数据库连接 j a v a 数据库连接( j a v ad a t a b a s ec o n n e c t i v i t y ,简称j d b c ) 接口是一种纯粹 的j a v a a p i ,用于执行s q l 语句 2 2 。j d b c 提供一组类和接r ,供开发人员编写数 据库应用。基本的j d b c 交互操作分4 个步骤: ( 1 ) 打开数据库连接 ( 2 ) 执行s q l 语句 ( 3 ) 处理返回的结果 ( 4 ) 关闭数据库连接 下列的代码段分别表示了上述的4 个步骤: s t e p l :载入p o s t g r e s q l 驱动程序 c l a s s f o r n a m e ( ”o r g p o s t g r e s q l d r i v e r ”) ; 取得到数据库的连接 c o n = d r i v e r m a n a g e r g e t c o n n e c t i o n ( j d b c :p o s t g r e s q l :l o c a l h o s t k a i h i 0 3 7 u s e r = p o s t g r e s & p a s s w o r d = h o g e h o g e ) ; s t e p 2 :执行s q l 语句 s t a t e m e n ts t2c o n c r e a t e s t a t e m e n t 0 ; 6 桀于w e b 的伦理法人会m i s 系统的设计与实现 r e s u l t s e tr s = s t e x e c u t e q u e r y ( s q l ) ; s t e p 3 :处理返回的结果 w h i l e ( r s n e x t 0 ) o u t p r i n t l n ( ”i d = ”+ r s g e t i n t ( ”t y p e _ i d ”) ) ) s t e p 4 :关闭数据库连接 r s c l o s e ( ) ; 1 2 3 选择j d b c 驱动程序类型 s u n 公司定义了4 种j d b c 驱动程序类型,如下所示: 1 j d b c 一0 d b c 桥( 外加0 d b c 驱动程序) 2 n a t i v e a p i ( 部分j a v a 驱动程序) 3 j d b c n e t ( 纯j a v a 驱动程序) 4 固有的协议n a t i v e - - p r o t o c o l ( 纯j a v a 驱动程序) 根据应用,本文选择第四种固有的协议,它把j d b c 命令直接转换成数据库引擎使 用的网络协议,允许客户机直接与数据库进行通信,与其他三种驱动程序相比,这种驱 动程序有非常明显的优点:它没有额外的翻译和中间层,可以在很大程度上改善系统性 能。 1 2 4 两层与三层数据库访问模型 j d b c 支持两层与三层数据库访问模型。当使用两层数据库访问模型时,j a v a 应用 直接与数据库对话,这是通过使用j d b c 驱动程序实现的,j d b c 驱动程序直接向数据库 发送命令,这些命令的执行结果将从数据库中直接返回给应用。三层模型稍微复杂一些, 当使用三层模型时,j d b c 驱动程序发送命令给中间层,中间层再把命令转发给数据库。 这些命令的执行结果首先返给中间层,然后再回送给数据库。图卜1 和图卜2 分别给出 了两层模型和三层模型的逻辑结构。本文根据实际情况,采用两层j d b c 模型。 图1 1 两层j d b c 模型 f i 9 1 1t o wl a y e rj d b cm o d e l 图卜2 三层j d b c 模型 f l g l 一2t o wl a y e rj d b cm o d e l 基于w e b 的伦理法人会m i s 系统的设计1 j 实现 1 2 5 建立j d b c 连接池 为了解决请求响应慢的问题,本文将建立一个数据库连接池( c o n n e c t i o n p 0 0 1 ) , 这样可以允许同时访问一组已经打开的数据库连接,而且减少了提供服务的时间,并能 够一次同时服务多个请求。 i i _ _ _ 列是对c o n n e e t i o n p o o l 埘象的要求: 1 必须能容纳n 个打开的连接。 2 必须能够确定某个连接什么时i 刈正在使用。 3 如果请求使用n + 1 个连接,它必须能创建一个新的连接,并把它加到连接池中。 4 当关闭连接池时,所有的连接必须被释放。 1 3 统一建模语言 1 3 1u m l 概述 统一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,简称u m l ) 是一个通用的可视化 建模语者。用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档,它司 用于对系统的理解、设计、浏览、配置、维护和信息控制 9 1 。u m l 包括概念的语义, 表示法和说明,提供了静态、动态、系统环境及组织结构的模型。它可被交互的可视化 建模工具所支持,比如本文所用到的r o s e 工具,这些工具提供了代码生成器和报表生 成器。u m l 标准并没有定义种标准的丌发过程,但它适用于迭代式的开发过程。它 是为支持大部分现存的面向对象开发过程而设计的。 u m l 描述了一个系统的静态结构和动态行为。u m l 将系统描述为一些离散的相 互作用的对象并最终为外部用户提供一定的功能的模型结构。静态结构定义了系统中的 重要对象的属性和操作以及这些对象之间的相互关系。动念行为定义了对象的时间特性 和对象为完成目标而相互进行通信的机制。从不同但相互联系的角度对系统建立的模型 可用于不同的目的。 u m l 还包括可将模型分解成包的结构组件,以便于软件小组将大的系统分解成易 于处理的块结构,并理解和控制各个包之间的依赖关系,在复杂的开发环境中管理模型 单元。它还包括用于显示系统实现和组织运行的组件。 u m l 不是一门程序设计语言,但可以使用代码生成器工具将u m l 模型转换为多 种程序设计语言代码,或使用反向生成器工具将程序源代码转换为u m l 。u m l 不是 一种可用丁- 定理证明的高度形式化的语言,这样的语言有很多神,但它们通用性较差, 不易理解和使用。u m l 是一种通用建模语言。对于一些专门领域,例如用户图形界面 ( g u i ) 设计、超大规模集成电路( v l s i ) 设计、基于规则的人工智能领域,使用专 门的语言和工具可能会更适合些。u m l 是一种离散的建模语言,不适合对诸如1 :程和 物理学领域中的连续系统建模。它是一个综合的通用建模语言,适合对诸如由计算机软 件、固件或数字逻辑构成的离散系统建模。从企业信息系统到基于w e b 的分布式应用, 甚至到严格的实时嵌入式系统都适合于用u m l 来建模。它是一种富有表达力的语言, 可以描述丌发所需要的各种视图,然后以此为基础装配系统。 1 3 2u m l 功能 u m l 语占可实现系统的可视化、详细描述、可构造性及文档化。 8 基十w e b 的伦理法人会m i s 系统的设计与实现 1 可视化功能 清晰的模型有利于交流,用u m l 这种图形化语言可以使人不用编程语言描述就可 以阐述清楚系统的结构。 2 详细描述功能 详细描述意味着所建的模型是精确的、无歧义的和完整的。特别指出u m l 适合于 对所有重要分析、设计和实现决策进行详细描述,这些是软件密集型系统在开发和部署 时所必需的。 3 可构造性功能 用u m l 描述的模型可以与各种编程语言直接相连,即可把用u m l 描述的模型映 射成编程语言,如j a v a 、c + + 等,甚至可以映射成关系型数据库的表结构或面向对象数 据库的永久存储。 这种映射既允许进行正向工程:从u m l 模型到编程语言的代码生成。也可以进行 逆向进程:由编程语言代码重新构造u m l 模型。 4 文档化功能 u m l 适于建立系统体系结构及其所有的细节文档,而且u m l 还提供了用于表达 需求和用于测试的语言,另外,u m l 还提供了用于项目计划和发布管理等活动所进行 建模的语言。 1 4m v c 设计模型 1 4 1 模型视图控制器概述 模型视图控制器( m o d e lv i e wc o n t r o l l e r ,简称m v c ) 是一种可维护的和司重用 的w e b 应用。m v c 的概念来源于s m a l l t a l k ,用于设计用户界面。在此界面中由三个 组件组成:模型、视图和控制器f 3 1 。 使用服务器端的m v c 模式的优点: 1 清晰地分解了表示层和业务逻辑层,这样即使改变或建立新的视图也不必重新编译 模型和控制器部分,改善了w e b 应用程序的可重用性和可维护性。 2 具有为多个客户机提供多个视图的能力。 3 为经验不多的程序员提供一种开发和维护用户界面的能力。 4 允许控制器程序员主要集中于业务逻辑,视图程序员主要集丰 于视图表示,从而以 短时间把产品快速推向市场。 s e r v l e t 作为m v c 控制器有如下优点: 1 由于s e r v l e t 能够访问几乎所有的j a v as d k ,因此它具有非常强的服务器端的处理 能力。 2 s e r v l e t 的结构使得它本身特别适合用于交易类型的编程,它是m v c 控制器的模拟 过程。 s e r v l e t 作为控制器有如下缺点: 1 s e r v l e t 要求对j a v a 有较深 2 的了解,而h t m l 程序员通常不具备这个条件。 2 为了改变客户机的表示层,s e r v l e t 通常要求重新编译。 j s p ( j a v a s e r v e rp a g e ) 作为m v c 视图有如下优点: 9 茎受堡垒盟丝型婆垒丛! 曼至錾塑堂生尘生型 一 1 在开发人员改变源代码之后,j s p 不要求重新编译。 2 j s p 允许丌发人员访问存储在h t t p 会话中的j a v a 对象。 3 j s p 允许开发人员使用s c r i p t l e t ,在h t m l 页面中直接嵌入j a v a 代码。 j s p 作为m v c 视图有如下缺点: 1 ,当j s p 变得越来越复杂时,s c r i p t l e t 也是如此,这会导致j s p 维护困难。 2 如果打算让h t m l 开发人员维护j s p ,那么需要他们更多地了解j a v a 。 考虑到l 二述种种因素,本系统选择j s p 作为m v c 视图的主要候选对象。并且尽量 让j s p 访问j a v a 对象,把s c r i p t l e t 代码仅仅限制在表示部分,从而克服上述不足之 处。 1 4 2m v c 结构的组件 m v c 组件之间的相互作用如图1 。3 所示,模型用来存储数据,视图获得数据并 产生一个动态的显示,而控制器向模型和视图提供逻辑处理层和授权。 幽1 - 3m v c 结构组件的相互作用 f i g1 - 3 i n t e r a c t i o no f t h em v cp a c k a g e 1 4 2 1 模型 模型用来表示应用程序的业务逻辑,将业务规则封装到组件中有利于测试、改进质 量和促进重用。模型可以被再细分为状态和动作组件。 1 状各组件 状态定义了模型的当酊设置值,并且包含更改这些值的方法,这些方法都是获得一 些业务逻辑的地方。状态组件通常是与协议无关的,j a v a b e a n 是实现状态组件的逻辑 选择。b e a n 的可重用性允许状态组件的独立结构特性。而要成为协议无关的,状态组 件必须经过隔离,而且使用h t t p 、r m i 等协议的应用程序必须能够访问它,即协议 是位于组件上面的另一层。这种独立结构有利于程序设计,主要表现在以下三点: ( 1 ) 重用性 删除表示逻辑使得不同的应用程序( 对于不同的用户或使用不同技术的应用程序) 垫士篁堡垒笪坌型鎏垒丛! 璺墨筮丝壁盐生塞堡 能够利用相同的业务逻辑。 ( 2 ) 可维护性 将业务逻辑存放在某个地方,可以彻底地检查和测试它。与从前将业务逻辑存放在 需要它们的每个应用程序中的方式相比,其测试和维护性都有很大的改进。 ( 3 ) 强壮性 封装业务逻辑目的是为了鼓励重用代码和减少该逻辑中的错误。比如会费管理子系 统中的会费依赖数据作成、会费交纳结果、转帐结果数据读入及些帐票表示等应用程 序使用相同的d e b i t i n f o b e a n 来处理相关的项日,这样在整个应用程序过程中将强制执 行相同的业务逻辑。 2 动作组件 动作用来表示更改状态,以响应事件。业务逻辑也规定了动作组件的结构。在简单 的系统中,动作会被归类于控制器,但在复杂的系统中,建议应该创建动作b e a n 层来 控制与状态组件的交互。 在构造动作组件时,应该遵循一些重要的规则: ( 1 ) 动作组件必须了解协议,以便获得事件相关的信息,这就需要它将业务逻辑绑定 到特定的协议,这在一1 定程度上限制了重用,所以应在确实需要时才使用动作组件,并 且要创建更多的状态组件,通过控制器来管理所有事件并调用动作方法。 ( 2 ) 划分业务逻辑,使得它与实现协议分开( 理想情况是使用单独的b e a n ) 。由于本 文讨论的是基于h t t p 协议的浏览器,因此考虑对j a v a x s e r v l e t + 和 j a v a x s e r v l e t h t t p 。中的资源使用进行划分,使之成为一个独立的业务层。这样可以在 其他结构中重用这些业务规则。 1 4 2 2 视图 视图是应用程序的表示层。视图组件包含系统的当前状态,并提供合适于特定协议 的用户界面。作为用户界面的一部分,视图负责将特定的事件呈现给用户。将视图与模 型分丌使得用户界面的结构独立并具有不同的外观和属性。这些不同的界面能够与相同 的模型相交互。通常选择j s p 来实现视图,通过内置的b e a n 标志很容易与模型交互。 1 4 2 3 控制器 控制器是m v c 结构的粘合剂。它负责接收事件、确定合适的处理程序、调用处理 程序并发出合适的响应,也称为“业务逻辑”。因为具有功能强大的j a v a ,所以s e r v l e t 是用于控制器技术的最佳选择。控制器必须要处理的任务是: 1 安全 执行与安全相关的任务,例如身份验证( 是否是真正的用户) 和授权( 是否允许触 发事件) 。通过委派给s e r v l e t 引擎来实现。 2 事件识别 识别将被执行的特殊事件。例如通过使用请求中的常用参数来实现。 3 准备模型 确保所需要的模型组件可用。例如实例化所需要的j a v a b e a n 。 4 处理事件 垫些坠盟丝堡婆盒m ! 璺壅笙盟塑生! i 鳖型 将请求映射到相应的事件处理程序并调用它。这可以通过一个表格查找或使用更复 杂的技术实现。 5 处理错误 处理由处理程序所产生的错误。可以通过异常处理程序来实现,然后控制器将控制 转发到错误页面。 6 触发响应 将控制转发到响应生成器。这种实现通常是通过调用r e q u e s t d i s p a t c h e r f o r w a r d 0 方法将控制传递给j s p 。 1 5s e r v l e t 的基础知识 1 5 ,1s e t 1 e t 的定义 s e r v l e t 是对支持j a v a 的服务器的一般扩充。s e r v l e t 最常见的用途是扩展w e b 服务器,提供安全的、可移植的、易于使用的c g i 替代品。s e r v l e t 是一种动态加载的 模块,为来自w e b 服务器的请求提供服务。它完全运行在j a v a 虚拟机上。由于s e r v l e t 在服务器一端运行,因此它不依赖于浏览器的兼容性。 1 5 2 使用s e r v l e t 的理由 s e r v l e t 较其他替代品有明显优势,具体表现在: 1 有效性 s e r v l e t 的初始化代码仅在w e b 服务器第一次加载时执行一次。一旦加载了 s e r v l e t ,在处理一个新请求时,只需调用一一个新的服务方法。与处理每个请求都要全 部加载一个完整的可执行程序相比,这是相当有效的技术。 2 稳定性 s e r v l e t 能够维护每个请求的状态。一旦加载了s e r v l e t ,它驻留在内存中,对收到 的请求提供服务。一个简单的例子是v e c t o r ,它维护一个在联机目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汕头市房地产租赁合同
- 建材公司合同
- 施工协议合同
- 农田转让合同
- 2026年华北理工大学轻工学院单招职业技能测试必刷测试卷及答案1套
- 2025年山西普高单招考试试题及答案
- 武体大一体操理论考试试题及答案
- 2025-2030民办幼儿园行业市场深度调研及发展前景与投资价值分析报告
- 2025-2030民办室内设计培训市场供需状况及未来发展潜力报告
- 2025-2030民办学校行业经营模式创新与投资风险评估报告
- 山东省枣庄市薛城区2024-2025学年八年级上学期11月期中数学质量检测试题(附答案)
- 江苏省南京市鼓楼区2024-2025学年七年级上学期期中数学试卷(含答案解析)
- 2024年大学入党积极分子党校培训考试必考题库及答案(共210题)
- GB/T 44143-2024科技人才评价规范
- 房屋地下室买卖合同
- 内科诊疗规范指南
- 先天性硬膜下囊肿护理查房
- 交通运输工程监理工程师执业印章式样
- 双胎输血综合征的护理查房
- 篮球馆运营方案
- PDCA降低护士针刺伤发生率
评论
0/150
提交评论