




已阅读5页,还剩60页未读, 继续免费阅读
毕业设计(论文)-基于Web Service 的数据接口应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 安徽大学安徽大学 本科毕业论文 (设计、 创作)本科毕业论文 (设计、 创作) 题目:基于题目:基于 Web Service 的数据接口应用的数据接口应用 学生姓名:孟威学生姓名:孟威学号:学号: E01114129 院(系院(系):计算机科学与技术学院计算机科学与技术学院 专业专业: 计算机科学与技术计算机科学与技术 入学时间:2011入学时间:2011年9年9月月 导师姓名:宋杰导师姓名:宋杰职称/学位:副教授/博士职称/学位:副教授/博士 导师所在单位:安徽大学计算机科学与技术学院导师所在单位:安徽大学计算机科学与技术学院 完成时间:2015完成时间:2015年5年5月月 II 基于基于 Web Service 的数据接口应用的数据接口应用 摘要摘要 Web Service 是构建互联网分布式系统的基本部件,已正成为企业应用集成的有效平台。 在互联网中可以直接调用 Web Service 构建应用程序,而不必考虑这些 Web Service 内部是 怎么实现的。Web Service 通过标准通信协议,通过使用 SOAP(Simple Object Access Protocol)通信协议,在互联网上发布 Web Service 服务程序模块。Web Service 发布一份 详细的 WSDL(Web Service Description Language)接口说明,来帮助用户构建应用程序。 Web Service 将服务注册到管理服务器,通过 UDDI(Universal Discovery Description and Integration)文档说明服务接口,用户可以查询和使用所发布的 Web Service 服务以获得 所需信息 1;基于此,本人开发了“基于 Web Service 的研究生教科研管理平台”和“基于 Web Service 的公共服务信息查询平台”这两个基于 Web Service 的数据接口应用。 关键词:关键词:Web Service;WSDL;SOAP;XML;接口;接口 III TheApplication of Web Service Interface Abstract Web Service is an essential part of build distributed system on the Internet. It is becoming an effective platform of enterprise application integration. On the Internet we can directly call Web Service to build applications without having to consider how the Web Service achieves. Web Service via standard communication protocols, through the use of SOAP(Simple Object Access Protocol), Web Service applications are published on the Internet. Web Service published a detailed WSDL (Web Service Description Language) interface description to help users build applications. Web Service registered to the management server, through UDDI(Universal Discovery Description and Integration) documentation service interface, users can query and use the published Web Service to obtain the required information; Based on this, I developed the “Web Service-based postgraduate training in research management platform“ and “Web Service-based public information inquiry service platform“ are based on Web Service data interface application. Keywords: web service;wsdl; soap; xml;interface IV 目录目录 1 绪论1 绪论.1 1 1.1 Web Service 相关模型及理论1.1 Web Service 相关模型及理论1 1 1.2 Web Service 的技术支持1.2 Web Service 的技术支持1 1 1.2.1 XML 和 XSD1.2.1 XML 和 XSD.2 2 1.2.2 SOAP 协议1.2.2 SOAP 协议2 2 1.2.3 UDDI1.2.3 UDDI.2 2 1.2.4 WSDL1.2.4 WSDL.3 3 1.2.5 远程过程调用 RPC 与消息传递1.2.5 远程过程调用 RPC 与消息传递.3 3 1.3 Web Service 体系结构1.3 Web Service 体系结构3 3 1.4 当前 Web Service 开发技术1.4 当前 Web Service 开发技术.4 4 1.4.1 微软.NET1.4.1 微软.NET.4 4 1.4.2 Sun 的 Java WSDP1.4.2 Sun 的 Java WSDP.4 4 1.4.3 IBM 的 Web Sphere1.4.3 IBM 的 Web Sphere.5 5 1.4.4 Apache 的 Axis1.4.4 Apache 的 Axis.5 5 2 研究生教科研管理平台的课题提出2 研究生教科研管理平台的课题提出.5 5 2.1 研究生教科研管理平台的研究背景2.1 研究生教科研管理平台的研究背景.5 5 2.2 研究生教科研管理平台的研究内容与意义2.2 研究生教科研管理平台的研究内容与意义.6 6 3 研究生教科研管理平台的系统分析3 研究生教科研管理平台的系统分析.6 6 3.1 可行性分析3.1 可行性分析.6 6 3.2 系统功能需求分析3.2 系统功能需求分析.7 7 3.3 性能需求3.3 性能需求.7 7 3.4 用例建模3.4 用例建模.7 7 3.4.1 定义活动者3.4.1 定义活动者.7 7 3.4.2 用例图3.4.2 用例图.7 7 4 研究生教科研管理平台的总体设计4 研究生教科研管理平台的总体设计.8 8 4.1 概述4.1 概述8 8 4.2 开发及运行环境4.2 开发及运行环境.9 9 4.3 系统实现结构模型4.3 系统实现结构模型.9 9 4.4 系统功能结构4.4 系统功能结构.9 9 4.5 功能模块划分4.5 功能模块划分.1010 4.5.1 用户登录4.5.1 用户登录1010 4.5.2 导师管理模块4.5.2 导师管理模块1010 4.5.3 实验室使用管理模块4.5.3 实验室使用管理模块.1111 V 4.6 数据库设计4.6 数据库设计.1212 4.6.1 数据库概念结构设计(E-R 图)4.6.1 数据库概念结构设计(E-R 图)1212 4.6.2 数据库逻辑结构设计(表结构)4.6.2 数据库逻辑结构设计(表结构).1212 4.7 Web Service 的服务端开发(Web Service 的发布)4.7 Web Service 的服务端开发(Web Service 的发布).1212 4.8 Web Service 的客户端开发(Web Service 的应用)4.8 Web Service 的客户端开发(Web Service 的应用).1313 4.8.1 搭建项目架构4.8.1 搭建项目架构.1414 4.8.2 模块代码开发4.8.2 模块代码开发.1515 4.8.3WSDL 文件分析4.8.3WSDL 文件分析1717 4.8.4 解析 XML 数据文件4.8.4 解析 XML 数据文件.1717 5 研究生教科研管理平台的实现5 研究生教科研管理平台的实现.2020 5.1 系统配置5.1 系统配置.2020 5.2 系统主要模块实现5.2 系统主要模块实现.2020 5.2.1 登录界面5.2.1 登录界面.2020 5.2.2 主界面5.2.2 主界面.2020 5.2.3 用户管理5.2.3 用户管理.2121 5.2.4 系统管理5.2.4 系统管理.2323 5.2.5 导师管理5.2.5 导师管理.2828 5.2.6 研究生管理5.2.6 研究生管理.3030 5.2.7 实验室使用管理5.2.7 实验室使用管理.3232 5.2.8 密码修改5.2.8 密码修改.3434 5.2.9 退出登陆5.2.9 退出登陆.3535 6 研究生教科研管理平台的测试6 研究生教科研管理平台的测试.3535 6.1 测试方案6.1 测试方案.3636 6.1.1 测试的任务6.1.1 测试的任务.3636 6.1.2 测试的目标6.1.2 测试的目标.3636 6.1.3 模块测试6.1.3 模块测试.3636 6.1.4 集成测试6.1.4 集成测试.3636 6.2 测试用例6.2 测试用例.3636 6.2.1 测试环境6.2.1 测试环境.3636 6.2.2 测试数据与步骤6.2.2 测试数据与步骤.3737 6.3 测试结果6.3 测试结果.3737 6.4 可靠性分析6.4 可靠性分析.3838 7 基于 Web Service 的公共服务查询平台的开发7 基于 Web Service 的公共服务查询平台的开发.3838 7.1 Web Service 的客户端开发(Web Service 的应用)7.1 Web Service 的客户端开发(Web Service 的应用).3838 7.1.1 搭建项目架构7.1.1 搭建项目架构3838 VI 7.1.2 模块代码开发7.1.2 模块代码开发3838 7.1.3WSDL 文件分析7.1.3WSDL 文件分析3939 7.1.4 解析 XML 数据文件7.1.4 解析 XML 数据文件.4040 7.2 系统测试流程7.2 系统测试流程.4242 7.2.1 系统主页面7.2.1 系统主页面.4242 7.2.2 天气预报查询测试7.2.2 天气预报查询测试.4242 7.2.3 手机号码归属地查询查询测试7.2.3 手机号码归属地查询查询测试.4343 主要参考文献主要参考文献.4646 附录 A附录 A4949 附录 B附录 B5151 附录 C附录 C5555 附录 D附录 D5656 附录 E附录 E5757 致 谢致 谢.5959 1 1 绪论1 绪论 Web Service 是一个平台独立的,低耦合的、基于可编程的 Web 的应用程序, 可运用 XML(Extensible Markup Language)规范来描述、公布、发现这些应用程 序,用于开发分布式的互操作的应用程序 2。 1.1 Web Service 相关模型及理论 从表面上看,Web Service 就是一个应用程序,该应用程序向外界提供了一个 可以经过 Web 调用的 API。即用编程的方法经过 Web 调用来实现某个功能的应用 程序 3。如图: 图 1:Web Service 的服务发布与客户端的调用图 如果我们创立一个 Web Service,该 Web Service 作用是查看公共服务信息, 那么具体工作过程为:接收并存储查询条件字符串,经过 SOAP 协议将客户端的请 求信息发送到 Web Service 服务端上。Web Service 服务端收到用户请求信息, 调用中间层组件,把最终结果格式化为 XML 数据。最终还要通过 SOAP 协议将结果 数据发到客户端,客户端通过浏览器即可看到该信息 4。 具体工作过程如下图: 图 2:工作过程图 2 1.2 Web Service 的技术支持 Web Service 平台要有一套协议来完成分布式应用程序的创立。要完成互操 作性,平台无关性,Web Service 平台必需提供一套规范的类型系统,用于沟通不同 平台、编程语言和组件模型中的不同类型的系统 5。目前这些协议有: 1.2.1 XML 和 XSD XML 是 Web Service 平台中表示数据的基本格式。其易于创建、易于分析以 及和平台无关。XML 是由万维网协会(W3C)创立,W3C 制订的 XML Schema XSD 定义 了一套规范的数据类型,并给出了一种语言来扩充这套数据类型 6。 XSD 是 XML 结构定义 ( XML Schema Definition )。 XML Schema 是 DTD 的 替代品。XML Schema 语言也就是 XSD。可以用一个指定的 XML Schema 来验证某 个 XML 文档,以检验该 XML 文档能否符合要求。文档设计者能够经过 XML Schema 指定一个 XML 文档所允许的结构和内容,并可据此检查一个 XML 文档是否是有效 的。Web Service 平台是用 XSD 来作为数据类型系统的 7。 1.2.2 SOAP 协议 SOAP 即简单对象访问协议,用于交换 XML 编码信息的轻量级的协议。主要有 三个方面:XML-envelope 为描述信息内容和如何处理内容定义框架,将程序的对 象编码成为 XML 对象的规则,执行远程过程调用的约定。SOAP 能够运行在任何其 他传输协议上 8。 SOAP 包括三个部分: SOAP 封装:它定义一个框架 , 该框架描述了信息的内容是什么,谁应该处理 它以及它是可选的还是必需的。 SOAP 编码规则:它定义了一种序列化机制,用于替换应用程序所定义的数据类 型的实例。 SOAP RPC(Remote Procedure Call)表示:它定义了用于表示远程过程调用 和应答的协定。SOAP 消息基本上是从发送端到接收端的单向传输,但它们常常结 合起来执行类似于请求/应答的模式。所有的 SOAP 消息都使用 XML 编码。一条 SOAP 消息就是一个包含有一个必需的 SOAP 的封装包, 一个可选的 SOAP 标头和一 个必需的 SOAP 体块的 XML 文档 9。 把 SOAP绑定到 HTTP提供了同时利用SOAP的样式和分散的灵活性的特点以及 HTTP 的丰富的特征库的优点。在 HTTP 上传送 SOAP 并不是说 SOAP 会覆盖现有的 HTTP 语义,而是 HTTP 上的 SOAP 语义会自然的映射到 HTTP 语义。在使用 HTTP 作 为协议绑定的场合中,RPC 请求映射到 HTTP 请求上,而 RPC 应答映射到 HTTP 应 答。然而,在 RPC 上使用 SOAP 并不仅限于 HTTP 协议绑定 10。 1.2.3UDDI UDDI 是指统一描述、发现和集成协议,是为解决 Web 服务的发布和发现问题 3 而制订的新一代基于 Internet 的电子商务技术标准。它包含一组基于 Web 的、 分布式的Web服务信息注册中心的实现标准, 以及一组使企业能将自己提供的Web 服务注册到该中心的实现标准 11。 UDDI 的目的是为电子商务建立一个标准; UDDI 是一套基于 Web 的、 分布式的、 为 Web Service 提供的、信息注册中心的实现标准规范,同时也包含一组使企业 能将自身提供的 Web Service 注册,以使其他企业能够发现的访问协议的实现标 准 12。 在用户能够调用 Web 服务之前,必须确定这个服务内包含哪些商务方法,找 到被调用的接口定义,还要在服务端来编制软件。UDDI 是一个主要针对 Web 服务 供应商和使用者的新项目。 UDDI 项目中的成员可以通过 UDDI Business Registry (UBR)来操作 Web 服务的调用,UBR 是一个全球性的服务。Web 服务供应商可以在 UBR 中描述并且注册他们的服务。用户可以在 UBR 中查找并定位他们所需要的服 务。UDDI 是一种根据描述文档来引导系统查找相应服务的机制。UDDI 利用 SOAP 消息机制(标准的 XML/HTTP)来发布、编辑,浏览以及查找注册信息。采用 XML 格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需 要的数据 13。 1.2.4WSDL Web Service 描述语言 WSDL 就是用机器能阅读的方式提供的一个正式描述文 档而基于 XML 的语言,用于描述 Web Service 及其函数、参数和返回值。因为是 基于 XML 的,所以 WSDL 既是机器可阅读的,又是人可阅读的 14。 WSDL 在 UDDI 中总是作为一个接口描述文档。因为 UDDI 是一个通用的用来注 册 WSDL 规范的地方,UDDI 的规范并不限制任何类型或者格式描述文档。这些文 档可能是一个 WSDL 文档,或者是一个正规的包含导向文档的 Web 页面,也可能 只是一个包含联系信息的电子邮件地址 15。 1.2.5 远程过程调用 RPC 与消息传递 Web Service 本身其实是在实现应用程序间的通信。现在有两种应用程序通 信的方法:RPC 远程过程调用和消息传递。 RPC 远程过程调用,客户端的概念是指调用服务器上的远程过程,通常方式 为实例化一个远程对象并调用其方法和属性。RPC 系统试图达到一种位置上的透 明性:服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的 接口一样,这样就隐藏了底层的信息,客户端也就不需要知道对象是在哪台机器 上 16。 1.3 Web Service 体系结构 Web Service 的体系结构描述了三个角色(服务提供者、服务请求者、服务 代理者)以及三个操作(发布、查找、绑定)。 4 服务提供者通过在服务代理者那里注册来配置和发布服务,服务请求者通过 查找服务代理者那里的被发布的服务的登记记录来找到服务,服务请求者绑定服 务提供者并使用可用的服务 17。 发布服务使用 UDDI,查找服务使用 UDDI 和 WSDL 的组合,绑定服务使用 WSDL 和 SOAP。 在三个操作中,绑定操作是最重要的,它包含了服务的实际使用,这 也是容易发生互操作性问题的地方。正是由于服务提供者和服务请求者对 SOAP 规范的全力支持才解决了这些问题,并实现了无缝互操作性 18。 图 3:Web Service 体系结构的三个基本组件以及执行的三个基本操作图 1.4 当前 Web Service 开发技术 1.4.1 微软.NET 微软的.NET 技术应该算是现在最为流行的 Web Service 开发技术。首先因为 其公司在以前相应的产品就占有相当大的市场份额, 以至使新推出的.NET 得以有 比较稳定的用户群;其次也是更重要的是 .NET 平台不仅延续了微软一贯的编程 风格,而且还增加了许多支持 Web 服务的关键性技术,使得.NET 在操作的简单 性和执行的稳定性,高效性上达到了一个非常好的结合 19。 微软的 Visual Studio.NET 便是一个便于 Web 服务的开发工具。微软的目标 是,将其新编程语言C#作为 Web Service 的首选语言。虽然 C#看起来与 Java 类似, 但是还有一些 Java 中没有的独特的功能。 .NET 技术中用于 Web Service 开 发的主要工具是 ASP.NET。它提供了一些超出 ASP 以前版本的优点(例如:代码和 HTML 的分离,支持 C#语言等) 20。 1.4.2 Sun 的 Java WSDP 针对开发Web Services程序的需求, Sun推出了Java Web Services Developer 5 Pack,简称 Java WSDP。随着 1.2 版本的发布,Java 开发人员现在可以拥有一个 方便的、集所有功能于一身的开发包,用来帮助在 Java 平台上开发 Web 服务。 Java WSDP 包含 Java XML Pack 中的所有用于 XML 的 Java API(Java APIs for XML (JAX),还包含有 Apache Tomcat 服务器以及为开发与测试 Web 服务提供一 个功能完备的环境所需的其他组件。Java WSDP Registry Server (UDDI Server) 21。 1.4.3 IBM 的 Web Sphere IBM 公司是业界第一家能够提供全面支持 Web 服务的电子商务基础设施中间 件的公司。通过多年来与 W3C(The World Wide Web Consortium)的共同努力,包 括 DB2、 Lotus 和 Web Sphere 在内的所有 IBM 软件都实现了对 SOAP、 WSDL、 UDDI、 Linux、XML、J2EE 等开放技术和标准的全面支持。IBM 公司的 Web Sphere 也是 比较好的基础架构软件开发平台。 Web Sphere 软件平台及开发工具包括 WSAD (Web Sphere Studio Application Developer) 基于 J2EE、XML 和 Web 服务等开放标 准,并具备 IBM 在可靠性、扩展性和安全性上的主要优势。Web Sphere 是 IBM 在 Web Services 策略中的核心平台, 它支持所有开发、 发布、 部署 Web Services 应用所必需的开放标准和技术,包括 UDDI,SOAP,J2EE,WSDL,和对 XML 技术 集成的增强,这特使得它在全球有很多用户 22。 1.4.4 Apache 的 Axis Axis 本质上就是一个 SOAP 引擎,提供创建服务器端、客户端和网关 SOAP 操 作的基本框架。Axis 目前版本是为 Java 语言。Axis 是 Eclipse 下的插件。 2 研究生教科研管理平台的课题提出2 研究生教科研管理平台的课题提出 2.1 研究生教科研管理平台的研究背景 开展实验教学的目标是为了可以提高学生的实践和创新的能力。以往的实验 教学方式主要是根据教纲的内容来完成教学,都是一些验证性的教学实验,不能 去培养学生的探究能力。在教学发展和创新的形式之下,传统的实验教学方式已 经跟不上时代的节奏,不利于学生能力的培养。为了更好的解决这种问题,实验 室开放式教学模式孕育而生。对于开展开放式实验室,也出现了很多的问题,比 如关于实验室设备的维护、教师工作量的安排等等问题,让实验室建设产生了很 多的问题。为了使得开发室实验室可以得到发展,基于这一模式的开放式实验教 学得到解决。结合互联网来建立一个研究生教科研管理平台是目前非常需要解决 的问题。有了这一管理系统。对教学模式进行改革,有了新的教学体系,并且可 以提升学生的学习兴趣,并且把相关实验管理人员从繁琐的管理工作中解脱出来 23。基于以上的一些情况,开发了这个“基于 Web Service 的研究生教科研管理 平台”。 6 2.2 研究生教科研管理平台的研究内容与意义 该系统的开发具有一定事实依据,其是根据实际调研和人们现实生活中的需 求来进行的,其强调实用性。该系统具有如下特点: 1. 优秀的管理思想数据信息集中管理,实现高效的管理方式。 2. 软件结构模块化各个模块独立化,清晰明了。 3. 友好的人机交互体验,操作习惯化,无需培训,上手快。 4. 较大数据处理能力可靠、迅速而且方便。 研究生教科研管理平台是一个包含科研教学相关内容及所有与实验室日常 工作相关内容的系统,而且是通过网络,以网站的形式运行的。在开发过程中, 由于开发模块种类的繁多、 后续存在的不断扩展, 各个模块之间都是独立开发的, 这就可能导致由于数据标准、开发语言、运行平台等原因,无法合并到一个系统 中,不能协同工作。Web Service 是解决这种不同平台软件通信的一种较好的技 术,本文设计了一种基于 Web Service 技术的管理系统,采用一种便捷的方式使 各种不同的软件之间通过协议安全地集成起来。解决了各种分布式系统集成的问 题 24。 通过这个系统能及时发现并处理相关问题。同时结合实践,加深理解软件的 开发和数据库的基本知识,学习并掌握相关开发工具和应用软件,熟悉软件开发 的过程 25。 同时在具体设计时,系统采用了结构化的软件工程方法。结构化是一种把结 构化的思想应用于软件开发过程中,指导开发活动的系统方法,是建立在“结构 化”概念基础上的方法学。本系统开发设计出的研究生教科研管理平台,便于维 护,简单易用,希望能为我国教育产业提供一定的帮助 26。 3 研究生教科研管理平台的系统分析3 研究生教科研管理平台的系统分析 本章对该软件的设计的思路、实现之可行性、功能需求以及数据库的需求进 行了分析。 3.1 可行性分析 可行性分析是通过对项目的主要内容、技术、经济等方面分析,从而为项目 决策提供依据的一种综合性的系统分析方法。可行性研究的目的就是通过各方面 的分析,得出系统在实施时的可行性,也是一种简化了的系统分析和系统设计的 过程,作为基于 C/S 结构的研究生教科研管理平台的设计与开发,不仅要考虑到 其技术的可行性,也要考虑到其经济的可行性和操作上的可行性 27。 本人开发的“基于 Web Service 的研究生教科研管理平台”,从投入的人力, 物力与财力来讲,硬件方面需要一台电脑或服务器,便可以能将整个系统支撑起 来。而且不需要高额的开发成本与后期消耗。综上所述,本系统在各方面都是可 行的 28。 7 3.2 系统功能需求分析 本文主要以研究生教科研管理平台为应用背景, 采用 C#作为开发语言, SQL Server 作为后台数据库开发一个具备完善前台操作界面和功能强大的后台数据 库管理功能的“基于 Web Service 的研究生教科研管理平台”。 该系统主要包括用户管理、实验室使用管理、研究生管理、导师管理等等, 并且该系统分为超级管理员和普通管理员多种角色。 具体功能如下: 1.用户管理主要包含管理员对所有用户的账号和基本信息管理,如增、删、 改、查,包含用户的用户名、密码、用户类型、姓名、性别等信息。 2.系统管理主要包含专业管理和实验室管理。专业管理包括专业的增、删、 改、查等功能;实验室管理包括对实验室的增、删、改、查。 3.导师管理主要包含管理员对导师基本信息的管理,如增、删、改、查,包 含导师编号、名称、电话和备注等信息。 4.实验室使用管理主要包含实验室的选择,导师分配以及实验室使用时间的 搜索等管理。 5.研究生管理主要包含研究生基本信息的管理,如增、删、改、查,包含研 究生编号、名称、电话和备注等信息。 3.3 性能需求 系统在性能上除了实现上述功能以外,开发此“基于 Web Service 的研究生 教科研管理平台”还应达到如下要求: 一、系统程序在运行的时候应该用高速度、高稳定性和可靠等性能,拥有较 高的容错和纠错能力。 二、系统程序在使用当中拥有简单和方便等性能,使得界面简洁明了。 三、系统程序应该拥有更高的安全性以及更强的稳定性。 四、系统程序在使用结构上面具有良好的扩展性,方便于以后的扩展和维护 29。 3.4 用例建模 3.4.1 定义活动者 根据系统的各个模块的需求可以确定 2 个活动者,即超级管理员和普通管理员。 3.4.2 用例图 用例图是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了 一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的 功能行为进行建模。根据系统需求分析,结合上节系统活动者的定义分析,得到 系统的用例图 30。 8 图 4:超级管理员用例图 图 5:普通管理员用例图 4 研究生教科研管理平台的总体设计4 研究生教科研管理平台的总体设计 4.1 概述 系统功能设计是在系统开发的总体任务和系统开发设计思想的基础上完成 的。本人开发的此研究生教科研管理平台,可以让工作人员随时查阅和管理学生 信息、导师信息、实验室信息等,让工作人员从繁重的管理工作中解脱出来 31。 9 4.2 开发及运行环境 系统开发平台:Microsoft Visual C# 2010。 系统开发语言:C#。 数据库管理软件:SQL Server 2005。 运行平台:Windows 8.1 专业版 4.3 系统实现结构模型 本系统服务器端安装 Microsoft SQL Server 2005,使 ADO.NET 开发数据访 问应用程序,简洁的实现了客户端应用程序访问服务器数据库中的相关数据。 Client C# .NET Framework 3.5 网 络 服 务 器 网 络 服 务 器 ADO.NET SQL2005 研究生教科研 管理平台 研究生教科研 管理平台 图 6: 系统实现结构模型图 4.4 系统功能结构 系统设计分析最核心的问题是系统总体功能结构的确定和模块的划分。结构 化系统设计的思想,就是自顶向下地将系统划分为若干个子系统,而子系统又划 分为模块,模块又划分为子模块,层层划分直到每一个模块能够作为计算机可执 行的单独程序为止 32。 从研究生教科研管理平台的整体出发,根据系统的目标将其分解成一系列子 系统,各个子系统既相互配合,又各自具有一定的独立功能,共同实现整个系统 的目标。然后每一个子系统都根据目标和功能的关系,再进一步逐层向下分解, 直到分解到最小的子系统为止。越上层的子系统其功能越笼统、越抽象,越下层 的子系统其功能越简单、越优越,越具体。对于每一个子系统或系统模块,都应 该尽量使其相对独立,要尽可能减少各个子系统之间的联系 33。 整个系统从逻辑上可以分为用户管理、实验室使用管理、导师管理、研究生 管理模块、系统管理模块。 10 4.5 功能模块划分 从上一小节的系统功能描述可以看到,系统可以实现四个完整的功能。我们 根据这些功能,可以设计出系统的功能模块,各个系统功能模块的之间的关系图 和部分模块详细设计 34。 4.5.1 用户登录 登录时应用程序从数据库获取该用户的信息,根据不同的角色编号进入不同 的页面。 图 7: 登录流程图 4.5.2 导师管理模块 导师管理主要包含管理员对导师基本信息的管理,如增、删、改、查,包含 导师编号、名称、电话和备注等信息。 11 图 8: 导师管理图 4.5.3 实验室使用管理模块 实验室使用管理主要包含实验室的选择,导师分配以及实验室使用时间的搜 索等管理。 图 9: 实验室使用管理图 12 4.6 数据库设计 4.6.1 数据库概念结构设计(E-R 图) 系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问 题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定 的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求 的功能 35。 将系统划分为多个模块是为了降低软件系统的复杂性,可读性、可维护性, 但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成 系统要求的独立的子功能,并且与其它模块的联系最少且接口简单,即尽量做到 高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础 36。 根据对数据项和数据结构的分析后,就可以设计出用户实体和他们之间的关 系。系统用户实体关系 E-R 图。如图: 图 10: 系统实体关系 ER 图 4.6.2 数据库逻辑结构设计(表结构) 本系统的数据库物理结构设计方法采用关系模式选择存取方法,设计关系、 索引等数据库表单。每个表单中都由若干个记录构成,而每个表单中的每个记录 又是由多个不同的字段构成的。其中,每一条记录中的各个字段的存储顺序与表 单在初始定义时的排列顺序是一致的。同时,每张表都有索引功能,按主键设立 索引字段,以主键为桥梁实现多个表单间的相互关联,以此来提高表的访问速度 和缩短响应时间 37。本研究生教科研管理平台的数据库设计见附录 A 表 1-6: 4.7 Web Service 的服务端开发(Web Service 的发布) 本系统的 Web Service 使用 HTTP/TCP 等标准的网络协议完成底层的传输, 将 XML 作为不同应用之间交换数据的描述手段,用 SOAP(简单对象访问协议)说 明各子系统间交换信息的方法,通过 WSDL (Web Service 描述语言)描述和记录 13 Web Service 所产生与接收的消息以 UDDI (通用发现和集成方法集)来登记和寻 找所提供的服务。本人开发的“研究生教科研管理平台”为基于 Web Service 的 3 层应用系统,处于中间层的 Web Service 包含了系统所需的数据存取处理和商 务逻辑处理,该 Web Service 由继承于 System. Web. Services 的类生成,任何 类只有继承于 System. Web. Services 才是一个 Web Service,否则只是一 个普 通的类而已。另外,作为 Web Service 的类,所包含的方法中只有声明为 WebMethod的方法才能在网络上通过 SOAP 消息被调用 38。 本 Web Service 服务发布端的核心算法请见附录 B。 4.8 Web Service 的客户端开发(Web Service 的应用) Web Service 的客户端,使用.NET 中的代理类(proxy class)来实现对 Web Service 的调用。本系统中,各个子系统的客户端存放着 Web 服务的代理程序以 及使用 Web Service 的客户端应用程序,主要包括对数据的调用等。编写模块时, 首先要添加对 Web Service 的引用,然后生成一个符合 Web Service 的 WSDL 描 述语言声明的代理类 Proxy,并构造这个代理类的对象, 最后通过使用该对象的 方法实现所有的功能。在具体实现时,客户端给出相应的实际参数,然后由代理 类接收从应用程序来的方法调用,而需求被打包成 SOAP 数据包,通过 HTTP 协议 传递给中间层的 Web Service;当经 Web Service 处理后的结果返回时, 再由 Proxy 解开数据包,将其中的结果传给调用 Web Service 的应用程序,这样客户端取得 数据后即可使用各个模块进行处理 39。 14 4.8.1 搭建项目架构 项目架构如图: 图 11:项目架构图 15 4.8.2 模块代码开发 图 12:添加 Web 引用图 查询获取导师信息模块 Daoshi 类的接口函数 GetDaoShi 的核心算法代码段 见附录 C。 Web 引用名假定设为 Eservice,则引入后命名空间 Eservice 中的提供的类 如下图所示: 16 图 13:命名空间 Eservice 中的提供的类图 其中 DaoShi 类的接口函数如下: 图14:DaoShi类的接口函数 17 4.8.3WSDL 文件分析 在浏览器中输入 http:/localhost:4444/Web Service.asmx,查看 WSDL 文 件的接口描述,会看到如下内容,从这里找到调用 Web Service API 接口函数, 如图: 图 15:Web Service 的 WSDL 文件图 4.8.4 解析 XML 数据文件 在客户端接收到服务器端通过 SOAP 协议发回的 XML 数据文件,根据接口 说明文件,来解析 XML 文件,将解析出来的服务器端数据显示出来。在浏览 器中输入:http:/localhost:4444/Web Service.asmx 查看接口文件,接口 描述文件如图: 18 图 16:Web Service 服务发布端的接口描述文件列表图 点击上图的 getDaoShi,进入如下界面: 图 17:Web Service 的调用图 19 然后输入 ID=5,然后点击“调用”,看一看到服务器端发回的 XML 文件的格式如 下: 图 18:Web Service 服务发布端发回的 XML 文件图 根据上面的 XML 文件的格式, 客户端的解析程序的核心算法代码段见附录 C。 通过上述算法将服务器端的 XML 数据文件解析出来,然后显示数据到客户端 浏览器。 其他 Web Service 服务采用了相同的程序流程来进行处理。 20 5 研究生教科研管理平台的实现5 研究生教科研管理平台的实现 本章的目标是确定应该怎样实现所要求的系统,给出软件模块结构中各个模 块的内部过程描述。 5.1 系统配置 运行平台:Windows 8.1 专业版; 开发平台:VS 2010; 语言:C#; 数据库:SQL Server 2005; 系统体系结构:C/S。 系统特色:该系统主要包括用户管理,系统管理,导师管理,实验室使用管理, 研究生管理,并且该系统分为超级管理员和普通管理员多种角色。 5.2 系统主要模块实现 5.2.1 登录界面 系统登陆人员权限分为超级管理员和普通管理员。首先看到的是登陆界面, 用户可以输入正确的登陆名称及密码,登陆该研究生教科研管理平台。登陆模块 如图所示: 图 19:登录界面图 5.2.2 主界面 超级管理员进入系统包括:用户管理、系统管理、导师管理、实验室使用管 理、研究生管理、密码修改和退出登陆。 21 图 20: “超级管理员”主界面图 普通管理员进入系统包括:导师管理、实验室使用管理、研究生管理和退出 登陆。 图 21: “普通管理员”主界面图 5.2.3 用户管理 用户管理主要包含:添加人员和人员列表。添加人员包括用户的增、删、改、 查等功能;人员列表包括:对用户人员的添加、修改、查询以及删除。 22 图 22: “添加人员”界面图 图 23:“人员列表”界面图 23 图 24: “用户人员信息”搜索查询功能界面图 图 25: “用户管理”用户人员信息修改功能界面图 5.2.4 系统管理 系统管理主要包含专业管理和实验室管理。专业管理包括专业的增、删、改、 查等功能;实验室管理包括对实验室的添加、修改、查询以及删除,包含机器编 号、名称。 24 图 26: “添加专业”界面图 图 27: “专业列表”界面图 25 图 28: “专业信息”搜索查询功能界面图 图 29: “专业信息”修改功能界面图 26 图 30:“添加实验室信息”界面图 27 图 31: “实验室列表”界面图 图 32: “实验室信息”搜索查询功能界面图 28 图 33:“实验室信息”修改功能界面图 5.2.5 导师管理 导师管理主要包含管理员对导师基本信息的管理,如增、删、改、查,包含 导师编号、名称、电话和备注等信息。 图 34:“添加导师”界面图 29 图 35:“导师列表”界面图 图 36:“导师信息”搜索查询功能界面图 30 图 37:“导师信息”修改功能界面图 5.2.6 研究生管理 研究生管理主要包含研究生基本信息的管理,如增、删、改、查,包含研究 生编号、名称、电话和备注等信息。 图 38: “添加研究生信息”界面图 31 图 39: “研究生列表”界面图 图 40: “研究生信息”搜索查询功能界面图 32 图 41:“研究生信息”修改功能界面图 5.2.7 实验室使用管理 实验室使用管理主要包含实验室的选择,导师分配以及实验室使用时间的搜 索等管理。 图 42:“添加实验室使用信息”界面图 33 图 43:“实验室使用列表”界面图 34 图 44:“实验室使用信息”搜索查询功能界面图 5.2.8 密码修改 密码修改功能要求用户输入旧密码和新密码。之后需要重复输入新密码,在 两次密码输入一致的情况下,提示用户密码“修改成功”。 图 45:“密码修改”功能界面图 35 5.2.9 退出登陆 点击主界面图的“退出登陆”按钮即可退出本次用户登陆,并返回登陆界面 图。用户可以再次登陆或者用其他用户名和密码登陆。如图: 图 46:“退出登陆”功能界面图 图 47:“退出登陆”后返回登陆界面图 6 研究生教科研管理平台的测试6 研究生教科研管理平台的测试 本章主要包含测试方案、测试用例、测试结果及软件可靠性分析等方面来测 试系统的性能,从而发现可改进之处和不足。 36 6.1 测试方案 如何设计一份合理的测试方案是系统测试阶段非常重要的一部分。测试方案 指的是需要测试的功能,需要输入的测试数据和预期的结果,目的就是发现实际 结果与预期结果不一致的情况。测试一般分为白盒测试和黑盒测试 40。 黑盒测试也称系统测试以及功能性测试,在进行的时候,只需要检查系统的 运行结果是否合符需求规格说明书的规范,程序能够正确的接收到用户输入的数 据即可,不需要考虑系统的内部结构 41。 白盒测试也叫做结构性测试或者单元测试, 需要完全的了解程序的内部结构, 这种方法是对逻辑结构进行测试,检验其中每个结果的通路是否正确。 本系统主要完成的模块测试和集成测试。 6.1.1 测试的任务 在软件投入生产性运行之前,尽可能多地发现软件中的错误。 6.1.2 测试的目标 1一个完善的测试方案有可能很好地发现错误的测试。 2测试的最终目标是为了寻找程序中的错误并及时修正和完善。 6.1.3 模块测试 我们把模块测试又称为单元测试,它是为了确保其中的每个模块和每个单元 能正常地运行,测试中发现的错误一般是编码和设计 1。有以下五个特点: 1、单元模块接口; 2、模块数据结构; 3、单元执行的路径; 4、出错通路; 5、符合规则的边界条件. 模块测试一般是由代码的审查和单元测试组成 1。 6.1.4 集成测试 集成测试包含了子系统的测试和系统测试,其目的在于发现接口之间的问 题。集成测试拥有两种方法:非渐增式和渐增式,其中渐增式比较常用。其优点 在于: (1)编写测试软件使用较少,花费也较小。 (2)错误能很容易地在早期就被发现。 (3)错误的位置容易被判断。 (4)测试可以更加彻底地进行。 因此,本系统集成测试的时候会采用渐增式来进行测试 1。 6.2 测试用例 6.2.1 测试环境 操作系统Windows 8.1 专业版 64 位操作系统 37 处理器Intel(R) Core(TM) i5-3230MCPU 2.60 GHz 内存8.00 GB ( 金士顿 DDR3 1333MHz / 昱联 DDR3 1333MHz ) 主硬盘 希捷 ST9500420AS ( 500 GB / 7200 转/分 ) 显卡ATI MobilityHD 4570(512
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025可再生能源的政府补贴政策
- 2025呼伦贝尔农垦那吉屯农牧场招聘笔试模拟及答案详解(历年真题)
- 内蒙古呼伦贝尔农垦集团有限公司招聘考试真题及完整答案详解
- 2025年甘肃省嘉峪关市继续教育公需科目考试题(含答案)
- 2025年教师招聘之《幼儿教师招聘》模拟题及答案详解(网校专用)
- 2025年教师招聘之《小学教师招聘》试题一及参考答案详解【巩固】
- 2025年7月中国旅游文化练习题(含答案)
- 教师招聘之《小学教师招聘》题库(得分题)打印(能力提升)附答案详解
- 押题宝典教师招聘之《小学教师招聘》考试题库及答案详解【基础+提升】
- 教师招聘之《小学教师招聘》考前冲刺测试卷附有答案详解及参考答案详解(培优)
- 幼儿园秋季传染病预防知识课件
- 化工原理-传热课件
- 劳务派遣劳务外包服务方案(技术方案)
- 第09章资本市场有效性理论及其实证分析
- 学校各功能室使用情况登记表
- 《商务分析方法与工具》课程教学大纲
- 模块化硬件设计方案
- 高中日语开学第一课导入课课件
- 商户二次装修管理方案及管控要点概述
- 初中英语写作教学专题讲座
- 立志追梦圆梦!(航天员桂海潮班会)
评论
0/150
提交评论