基于面向对象思想利用WebService开发三层体系结构的某市规划信息管理系统毕业设计初稿.doc
《基于面向对象思想利用WebService开发三层体系结构的某市规划信息管理系统毕业设计初稿.doc》由会员分享,可在线阅读,更多相关《基于面向对象思想利用WebService开发三层体系结构的某市规划信息管理系统毕业设计初稿.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流基于面向对象思想利用WebService开发三层体系结构的某市规划信息管理系统毕业设计初稿作者:周文厚朴教育来源:本站原创点击数:1925更新时间:2009-4-2摘要:介绍基于软件工程的面向对象思想,利用web service技术,开发具有三层体系结构的规划信息管理系统的过程,突出此系统具有的高可维护性、高重用性、高灵活性、高扩展性等特性,并对系统实现的关键技术进行深入研究,最后总结此种软件开发模式的利弊。关键字:Web Service、面向对象、三层架构、规划信息管理系统、面向对象模型化技术中图分类号: TP393 文献标识码:A引言:随
2、着时代的发展,软件开发在生产效率、可靠性、灵活性、可扩展性、易维护性、易管理等方面提出了更高要求,为了迎接日趋复杂的软件需求的挑战,新的软件工程思想和方法层出不穷,尤其是面向对象思想、分层式软件体系架构的出现,极大地改变了传统软件的开发模式,大大提高了软件的开发效率。互联网迅猛发展,大量异构程序和不同平台之间的互操作性要求越来越强烈。Web Service应运而生,它使原来各孤立的站点之间的信息能够更加方便的相互通信和共享。顺应时代技术潮流,集众家之所长,作者于是基于软件工程的面向对象思想,利用web service技术,开发具有三层体系结构的某市规划信息管理系统。正文:1. 面向对象简介1.
3、1面向对象思想、方法和技术面向对象思想的出发点是尽可能模拟人类习惯的思维方式, 使开发软件的方法与过程尽可能接近人类认识世界、解决问题的方法与过程。面向对象开发方法主要有三个,分别是Booch方法、Cord方法和OMT方法。本系统采用OMT方法进行开发。此方法将面向对象的概念应用于软件生存周期的各个阶段,并说明了如何在软件开发的整个生存周期中贯穿运用面向对象的概念、方法和技术进行分析、设计和实现。面向对象技术包括面向对象分析、面向对象设计及面向对象程序设计三部分内容:(1) 面向对象分析:指软件需求分析的一种带有约束性的方法,用于软件开发过程中的问题定义阶段。其主要活动是对问题进行抽象建模(包
4、括使用实例建模、类和对象建模、组件建模和分布建模等),产生一种描述系统功能和问题论域基本特征的综合文档。(2) 面向对象设计:将面向对象分析所创建的分析模型转变为作为软件构造蓝图的设计模型。面向对象设计的独特性,在于其具有基于抽象、信息隐蔽、功能独立性和模块性建造系统等四个重要软件设计概念的能力。(3) 面向对象程序设计:指使用类和对象以及面向对象特有的概念进行编程。概括的说,面向对象是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。它打破了传统的代码、数据分离做法, 将一种数据结构和操作该数据结构的方法捆绑在一起, 封装在一个对象内, 实现了数据封装和信息
5、隐藏, 通过对象的对外接口实现信息传递, 使数据封装、信息隐藏、抽象代码共享等软件工程思想得到充分体现。1.2面向对象的优缺点在计算机系统开发领域中存在各种各样的系统分析和设计方法, 其中结构化方法与面向对象方法是软件开发程序设计中的2个主流思想。结构化方法程序设计的基本思想是: 自顶向下, 采用模块化技术, 分而治之, 逐步求精地将信息系统按功能分解为若干模块进行分析与设计, 应用子程序实现模块化, 模块内部由顺序结构、选择结构、循环结构等三大基本控制结构组成。结构化方法的局限:1)不能直接反映问题域: 结构化分析方法以数据流为中心, 强调数据的流动及每一个处理过程, 不是以问题域中的各事物
6、为基础, 打破了各事物的界限, 分析结果不能直接反映问题域, 容易隐蔽一些对问题域的理解偏差。2)数据和代码缺乏保护机制: 一个特定全程数据既可以被操作这些数据的过程访问, 也可以被其他过程访问, 这给程序设计带来了不安定因素, 一个不正常的数据修改或者过程调用可能会破坏正常的程序执行流程或结果。3)分析和设计体系不一: 结构化分析的结果是数据流图, 结构化设计的结果是模块结构图。二者的表示体系不一致, 分析文档很难与设计文档对应, 所以从分析到设计的“转换”过程容易因理解上的错误而使得设计文档与用户的原本需求相差甚远。4)开发过程复杂: 由于结构化方法将过程和数据分离为相互独立的实体, 程序
7、员在编程时必须时刻考虑到所要处理的数据的格式。对于不同的数据格式做相同的处理或对于相同的数据格式做不同的处理都需要编写不同的程序, 而且往往不能对数据的安全性进行有效的控制。如果程序进行扩充或升级, 也需要大量修改函数, 因此结构化程序的可重用性不好。面向对象方法与传统的结构化方法比较,有如下独到之处:(1) 可重用性。通过类的继承关系, 使公共的特性能够共享, 简化了对象、类的创建工作量, 增加了代码的可重性。另外, 重用经过测试的代码还可以使产生额外错误的可能性达到最小,增强了系统的可靠性。(2) 可扩展性。类的继承性使类能够反映现实世界的层次结构, 多态性反映了现实世界的复杂多样。类的继
8、承性和多态性使软件编码具有良好的可重用性和可扩展性。无需修改源代码就可以使软件功能容易扩充和修改。(3) 数据保护。将一种数据结构和操作该数据结构的方法捆绑在一起, 封装在一个对象内, 实现了数据封装和信息隐藏, 通过对象的对外接口实现信息传递。封装防止了程序相互依赖性而带来的变动影响。(4) 可管理性。面向对象的开发方法采用类作为构建系统的部件, 以对象作为系统的基本组成单元, 使整个项目的组织更加合理、方便。归纳事物、划分成类进行管理,符合人们认识和管理客观世界的习惯思维方式。当然,面向对象也存在一些缺点:由于面向更高的逻辑抽象层,不得不做出性能上面的牺牲,导致代码执行效率较低。因此,在对
9、性能要求不是很高的情况下,应用面向对象方法进行系统开发,是一种极好的选择。2. web service技术简介2.1 web service的定义 web Service 技术是一种面向服务架构的技术,通过标准的Web协议提供服务,目的是保证运行在不同平台上的应用服务可以互操作。是一个用来发布和搜索WEB服务的协议,应用程序可通过此协议在设计或运行时找到目标WEB服务。SOAP (Simple Object Access Protocal,简单对象访问协议)是一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP 或 HTTPS,但也可能是SMTP 或XMPP。W
10、SDL是一个XML格式文档,用以描述服务端口访问方式和使用协议的细节,通常用来辅助生成服务器和客户端代码及配置信息。web Service 技术是构建松散耦合的、可复用的软件模块, 自包含的、自描述的、模块化的应用程序的利刃。开发出的应用程序可以通过Web来发布、定位和调用。Web Service 代表新一代的软件架构模式, 即通过互联网架构应用软件, 充分体现服务即软件(Software as a Service)等软件工程思想。2.2 web service 技术的优缺点Web service 技术的优点: (1) 跨平台的可互操作性。Web Service 完全基于XML、XSD(XML
11、 Schema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。(2) 跨防火墙的通信。由于Web Service使用了SOAP协议,数据是以ASCII文本的方式而非二进制传输,可以无障碍地通过防火墙。(3) 应用程序集成、软件和数据重用。通过Web Service,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它不同语言写成的、在不同平台上运行的各种程序使用。(4) 实现难度小。Web Service技术的实现难度要比CORBA和DCOM小得多。Web service 技术的缺点:(1) Web Service使用XML对数据封装,会造成大量的数据在网
12、络中传输。3. 三层体系结构的介绍3.1三层体系结构的定义在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层、表示层,如图所示: 图一:三层的分层式结构数据访问层:其功能主要是负责访问数据库,即实现对数据表的Select、Insert、Update、Delete的操作。如果使用对象关系映射(Object Relational Mapping,ORM)技术,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关。以规划信息系统为例,业务逻
13、辑层的相关设计,均和规划信息系统特有的逻辑紧密相关,例如查询规划图的信息,下载规划图,添加规划图等等。如果涉及到对数据库的访问,则调用数据访问层。表示层:是系统的UI部分,负责使用者与整个系统的交互。在这一层中,理想的状态是不应包括系统的业务逻辑,即表示层中的逻辑代码,仅与界面元素有关。3.2三层体系结构的优缺点分层式结构究竟其优势何在?Martin Fowler在Patterns of Enterprise Application Architecture一书中给出了答案:(1) 开发人员可以只关注整个结构中的其中某一层;(2) 可以很容易的用新的实现来替换原有层次的实现;(3) 可以降低层
14、与层之间的依赖;(4) 有利于标准化;(5) 利于各层逻辑的复用。概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。此三层体系结构,可以使开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。即UI人员只需考虑用户界面的体验与操作,领域的设计人员仅关注业务逻辑的设计,数据库设计人员也只需关注数据访问层的设计。开发效率可想而知,非常之高。松散耦合的好处也是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间
15、的依赖性,既可以保证系统未来良好的可扩展,又可以保证代码的高复用性。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发。接口的标准化也保证了层与层之间的良好通信。 “金无足赤,人无完人”,分层式结构也不可避免具有一些缺陷:1) 降低了系统的性能。如果不采用分层式结构,很多业务可以直接访问数据库,直接获取相应的数据,不必通过中间层来完成。2) 有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。4. 规划信息管理系统的功能设计及体系结构
16、设计4.1系统功能设计 图二:系统功能结构图由图二可知,规划信息管理系统由三大模块组成,即修规图管理模块、地形图管理模块、用户管理模块。使用面向对象模型化技术(Object Modeling Technique,简写为OMT)对此系统进行开发。OMT以面向对象思想为基础,通过构造一组相关模型(对象模型、动态模型和功能模型)来获得关于此系统的全面认识。下面以规划信息管理系统中的修规图模块的开发为例进行说明。(为了方便阐述,已经大大简化了真实系统模型) 4.1.1对象模型对象模型描述系统中对象的静态结构、对象之间的关系、对象的属性、对象的操作。对象模型一般包括对象模型图和数据字典。通过对修规图模块
17、的功能和业务流进行分析,可以得到以下模型: 图三:修规图对象类图如图三所示,XiuGuiMapInfo类表示的是修规图对象。其中属性FID是每一张修规图的唯一标识符,属性FileNO表示修规图的图文号,属性RightNo表示的是修规图的许可证号,属性Url记录的是修规图CAD文件在服务器上面的存放路径。根据实体类可以获得相应的数据表XiuGuiMapInfor(图四),用于存放每张修规图的描述信息,其中FID为主键:图四:数据表XiuGuiMapInfor4.1.2动态模型动态模型描述与时间和操作顺序有关的系统特征,包括激发事件、事件序列、确定事件先后关系以及事件和状态的组织。此处知识点较多,
18、有兴趣的读者可以作进一步的研究。4.1.3功能模型功能模型描述与值的变换有关的系统特征,包括功能、映射、约束和函数依赖。功能模型一般用数据流图来表示。以“添加修规图”功能模型为例,进行说明,如图五所示。图五:“添加修规图”功能模型4.2系统运行原理图六:规划信息管理系统运行原理系统运行原理:如图六所示,在客户端(Client)声明一个代理类(Proxy Class),客户端通过此代理类与Web Server服务器进行Request 和Response .当CAD文件或者是CAD文件的描述信息也或是相关操作命令,被封装成SOAP格式的数据流发送到服务器端的时候,服务器端生成一个进程对象,接收这个
19、Request的SOAP包进行解析处理,然后把解析的结果传给web service进行处理,web service在处理的过程中会根据需要,与Oracle/MSSQL DB、File Store Directory联系。处理结束以后,把处理结果进行SOAP包装,作为一个Response发送给客户端的代理类,然后此代理类对这个SOAP包进行解析处理。注:修规图和地形图的文件格式为CAD。Oracle/MSSQL DB是存储CAD文件描述信息的,File Store Directory是用来存放CAD文件的。4.3规划信息管理系统体系结构设计图七:规划信息管理系统三层体系结构图如图七所示,在数据访
20、问层(DAL)中,采用Interface抽象出数据访问逻辑,并以DAL Factory作为数据访问层的对象的工厂模式。对于Interface而言,分别有支持MSSQL的SQL Server DAL和支持Oracle 10g的Oracle DAL具体实现。而对象模型(Model Object)则包含了数据实体对象(例如修规图对象XiuGuiMapInfo)。数据访问层的模块结构如图八所示:图八:数据访问层的模块结构图图八中可以看到,在数据访问层中,完全采用了“面向接口编程”思想。抽象出来的IDAL模块,脱离了与具体数据库的依赖,从而使得整个数据访问层能够很好地支持数据库的迁移。DALFactor
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 面向 对象 思想 利用 WebService 开发 三层 体系结构 某市 规划 信息管理 系统 毕业设计 初稿
链接地址:https://www.taowenge.com/p-17532514.html
限制150内