在线函数查询系统论文_第1页
在线函数查询系统论文_第2页
在线函数查询系统论文_第3页
在线函数查询系统论文_第4页
在线函数查询系统论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 在线函数查询系统论文专业班级 计算机科学与技术 摘 要目前internet网络教育带给了人们全新的教学方式。网络及其相关技术、多媒体技术的发展为网上教育奠定了基础,也使得网络教育变为现实。本文阐述了基于web的在线函数查询系统的设计与实现。实现了通过internet完成辅助的目的。学生可以通过不同的查询方式来获得自己需要的函数帮助,多种形式的查询完全减轻了学生的记忆负担,使其能够很好的完成学习任务,教师也可在相应情况下完成教材内容的组织等教学任务。本系统采用本系统采用www技术http、html、jsp等技术实现在线查询系统的开发。通过学习者以及教师的指导,可以很好的发挥这个函数查询网站的作

2、用,这个在线查询网站可以为学习者提供良好的自学环境。本论文提供了查询系统网站的设计思路与具体实现代码,从科学、实用的角度构造系统功能结构。关键词:查询网站;http;html;jsp;在线查询;abstractinternet network's education brought people an all new teaching method currently.network and it related technical development of the technique, multimedia lay foundation into net education an

3、d also make network education change into reality.this text elaborated according to the function of web-based online system for the design and implementation. through the internet to achieve the objective of complete support. students can query different ways to get the functions they need help, in

4、various forms for all students to reduce the burden of memory to enable it to complete a very good learning tasks, teacher also can complete a teaching material contents under the sistuation that correspond of organization etc. teaching mission.this system uses the system used www technology - http,

5、 html, jsp, and other on-line technology for system development. through the guidance of teachers and learners, you can play a very good site for this function, the online site for learners can provide a good self-learning environment. this thesis provided an interaction type the design way of think

6、ing which study a website with concretely carry out a code, from science, practical system function of the angle structure.keywords: enquiries website;http;html;jsp;online query;ii目 录摘 要iabstractii目 录iii第1章概述11.1背景11.2国内外现状21.3研究方向3第2章jsp技术简介42.1什么是jsp42.1.1jsp工作原理42.1.2jsp主要技术特点52.2jdbc技术72.2.1jdbc

7、和jdbc驱动程序简介72.2.2jdbc的应用模型92.2.3jsp对数据库的访问10第3章系统分析与设计123.1系统需求分析123.1.1系统应具有的特点123.1.2可行性分析123.1.3系统功能分析133.2系统功能模块设计143.2.1数据流图143.2.2系统功能结构图153.3数据库设计163.3.1数据库需求分析163.3.2数据设计过程183.3.3数据库的表设计20第4章详细设计214.1查询系统主界面214.2查询系统实现224.2.1函数查询224.2.2函数查询的三个模块244.2.3 数据库查询26第5章系统安装与使用285.1系统软硬件要求285.1.1硬件环

8、境要求285.1.2软件环境要求285.2系统安装和环境设置28第6章总结与展望31参考文献32致 谢33iv第1章 概述1.1 背景www的迅速发展使其成为全球信息传递与共享日益重要和最具潜力的资源,它作为一种新的环境资源,为新技术的产生开辟了新的领域,同时也为传统技术(如数据库、人工智能等)的研究提出了新的方向。信息技术与internet 的飞速发展,使得我们能够在任何时间、任何地点上网和他人一起学习和共享资源成为现实。我们目前所说的网络教学,网络教学的基本特征就是教与学的过程都在网上进行,可以同步教学,也可以是异步教学。随着电子数据数量的激增和记忆量的增大,使用传统的记忆方法和信息检索方

9、法在这样一个无限的信息海洋中要准确、快速定位所需信息时,越来越显得力不从心,在未来的web发展中,如何提高信息检索的准确性和效率成为关键问题。在线查询不仅方便了学习者, 同时也会在使用中提高编程能力,而不是一味的记忆函数,提高了学习的效率和教育的效益,这也就是人们普遍认为网络教育具有无限生机的理由所在。随着编程技术的不断发展,各种各样的函数使用需求越来越大,而我们的记忆是有限的,为了方便各位爱好者的日常编程,在线查询系统提供一些常用函数的查询,是一种很好的帮助资源。依靠网络的先进快捷传播方式,设计出一个简洁、高效的查询系统,为热衷于c语言的朋友提供一个互相学习,互相交流,共同提高的平台。在c语

10、言的教学平台里提供这样的一个查询系统,有其一定的必要性和实用性。利用计算机网络实现内部教学平台,创设基于网络的学习环境,师生共同建立一个突破时间、地域限制,由以教为主变为以学为主的教学平台,探索学科教学与信息技术有机结合的途径与模式。教学网站要求既能满足学生的学,又能满足教师的教,既能满足学生自学的需要,又可供教师进行备课及课堂教学参考。在网络教学的同时,更重要的是培养学生的自学能力,让学生充分的利用平台里提供的信息进行有效率的学习。1.2 国内外现状美国作为信息技术高度发展的国家,在网络教育方面进行了大量的研究和试点,夏威夷大学、马里兰大学都分别开设了网络教育本科或硕士学位课程或专业,有的专

11、业只进行网络远程教育,据调查统计75%的美国大学将提供网上教育,5000万成年人在学习。在美国财务科没有类似于我们国内同步教育的网校,美国远程教育的主体是高等教育,成人教育、继续教育和职业技术教育的发展增加了大众接受高等教育的机会与选择。美国远程教育采取了了卫星电视双向传递和英特耐特网两种方式。 我国远程教育充分利用了英特网和卫星电视网,规模大、发展极为迅速,但和美国远程教育比较仍然存在着较大的差距。其一是计算机普及率和网络带偏低,这是阻碍远程教育发展的主要因素。社会上没有广泛的计算机应用基础,计算机在家庭、学校及社会的普及率比美国低许多。美国的主要产业是信息高技术产业,其特性是瞬息

12、万变,知识更新换代频繁,客观造成了大量需要继续学习的群体,终身学习成为美国深入人心的一个观念。又加上美国高等教育比较发达,无升学压力,因此他们更倾向于将网络作为一种素质和能力的培养手段,作为一种社会文化来潜移默化地影响学生。我们国家政府对此也极为重视,近年来批准成立31个网络教育学院,具体如何发展还有待在实践中探索。从我国现状来看,远程教育的对象是欠发达地区的人群,而这些地区的网络设施及人员背景还不够完善,人们难以上网,更谈不上远程教育了。美国为了帮助贫困地区和农村学校、图书馆跨越数字分水岭,实行折扣补助计划,由联邦政府通讯委员会每年从通讯服务基金中向有待帮助的学校、图书馆提供超过19亿美元的

13、高速上网、internet配线和长途通信的费用折扣,这是值得我们借鉴的方法。  1.3 研究方向随着internet规模的不断扩大,web中信息量在不断增加,以文件的形式进存储的系统的速度正受到越来越大的影响。同时由于web的应用领域的不断扩展,静态的web页面越来越不能满足人们对web上信息服务的动态性、实时性和交性的要求。另一方面,数据库技术经过几十年的发展,己经非常成熟和完善。为了进行网络上数据的高效存取,实现交互式动态web页面,就必须以大量数据资源为基础,因此必然要在web中引入数据库技术。web技术和数据库技术的结合不仅把web和数据库的优点集中在了一起,而且充分利用了大

14、量己有的数据库信息资源,使用户可以方便的在web浏览器上检索和浏览数据库内容。 实际上web数据库实现的基本思想是在web上提供用户访问和修改数据库的接口,使任何用户都可以通过web浏览器在任何地方访问这些数据,提供各种网上查询服务功能。程序设计教学网站以课程为中心集成网络“教”,“学”的环境。教师可以在网站上发布课程内容,学习者可以自主学习,而在线查询系统则为学习者提供一个良好的帮助环境,不同学习者之间以及教师和学习者之间可以根据教学的需要进行讨论、交流。以改变传统教学的弊端、促进教学改革为目的,为学习者提供一个自由主动的学习环境,根据自身情况调整学习进度与方式。第2章 jsp技术简介2.1

15、 什么是jspjsp是java server pages的缩写,是由sun公司倡导、许多公司参与,于1999年推出的一种动态网页技术标准。jsp是基于java servlet 以及整个java体系的web开发技术,利用这一技术可以建立安全的、跨平台的先进动态网站,这项技术还在不断地被更新和优化。jsp技术有点类似asp技术,新一代站点开发语言,他完全解决了目前asp,php的一个通病,它是在传统的网页html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp标记(tag),从而形成jsp文件(*.jsp)。用jsp开发的web应用是跨平台的,即能在linux下运

16、行,也能在其他操作系统上运行。jsp以java技术为基础,又在许多方面做了改进,具有动态页面与静态页面分离,能够脱离硬件平台的束缚,以及编译后运行等优点,完全克服了asp的脚本级执行的缺点,因而会逐渐成为internet上的主流开发工具。目前,jsp是应用广泛的站点开放语言。在国外尤流行。例如微软等等网站都是使用jsp语言开发的。2.1.1 jsp工作原理当服务器上的一个jsp页面被第一次请求执行时,服务器上的jsp引擎首先将jsp页面文件转译成一个java文件,再将这个java文件编译生成字节码文件,然后通过执行字节码文件响应客户的请求,而当这个jsp页面再次被请求执行时,jsp引擎将直接执

17、行这个字节码文件来响应客户,这也是jsp比asp运行速度快的一个原因。而jsp页面的首次执行往往由服务器管理者来执行。这个字节码的主要工作是:(1) 把jsp页面中普通的html标记符号(页面的静态部分)交给客户的浏览器负责显示。(2) 执行“<%”和“%>”之间的java程序片(jsp页面中的动态部分),并把执行结果交给客户的浏览器显示。(3) 当多个客户请求一个jsp页面时,jsp引擎为每个客户启动一个线程而不是启动一个进程,这些线程由jsp引擎服务器来管理,与传统的cgi为每个客户启动一个进程相比较,其效率要高得多。jsp页面由html代码和嵌入其中的java代码所组成。服务

18、器在页面被客户端请求以后对这些java代码进行处理,然后将生成的html页面返回给客户端的浏览器。java servlet 是jsp的技术基础,而且大型的web应用程序的开发需要java servlet和jsp配合才能完成。jsp具备了java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。jsp的执行过程如图2.1所示: 图2.1 jsp的执行过程2.1.2 jsp主要技术特点在开发jsp规范的过程中,sun公司与许许多多主要的web服务器、应用服务器和开发工具供应商,以及各种各样富有经验的开发团体进行合作,其结果是找到了一种为应用和页面开发人员平衡了可移

19、植性和易用性的开发方法。jsp技术在多个方向加速了动态web页面的开发。l 将内容的生成和显示进行分离使用jsp技术,web页面开发人员可以使用html或者xml标识来设计和格式化最终页面。使用jsp标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的)。生成内容的逻辑被封装在标识和javabeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和javabeans中,那么其他人,如web管理人员和页面设计者,能够编辑和使用jsp页面,而不影响内容的生成。在服务器端,jsp引擎解释jsp标识和小脚本,生成所请求的内容(例如,通过访问javabeans组件

20、,使用jdbc技术访问数据库,或者包含文件),并且将结果以html(或者xml)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于html的web浏览器的完全可用性。l 强调可重用的组件绝大多数jsp页面依赖于可重用的,跨平台的javabeans组件或者enterprise javabeanstm组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享、交换、执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。java server page技术封装了许多功能

21、,这些功能是在易用的并且与jsp相关的html或xml标识中进行动态内容生成所需要的。标准的jsp标识能够访问和实例化javabeans组件,设置或者检索组件属性,下载applet,以及执行用其他方法更难于编码的功能。jsp页面看上去象标准的html和xml页面,并附带有jsp引擎能够处理和抽取的额外元件。通常,jsp元件创建插入最终页面的文本。l 高度的可扩展性由于jsp技术的存在,今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得web页面开发人员能够使用熟悉的工具和执行特定功能的构件来工作。jsp技术很容易整合到各种应用体系结构中,利用现存的工具和技巧扩展到能够支持企业

22、级的分布式应用作为采用java技术家族的一部分,以及java2(企业版体系结构)的一个组成部分,jsp技术能够支持高度复杂的基于web的应用。由于jsp页面的内置脚本语言是基于java编程语言的,而且所有的jsp页面都被编译成为 java servlet。jsp页面就具有java技术的所有好处,包括健壮的存储管理和安全性。作为java平台的一部分,jsp拥有java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将jsp支持添加到他们的产品中,还可以使用自己所选择的服务器和工具,更改服务器或工具并不影响当前的应用。当与java2平台,企业版 (j2ee)和enterprise jav

23、abean技术整合时,jsp页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于web的应用是必需的。2.2 jdbc技术2.2.1 jdbc和jdbc驱动程序简介jdbc技术是 java database connectivity缩写,它是sun公司提供的一种支持基本sql功能的通用的应用程序接口 (application programming interface)。它由一组用java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在java语言中方便地建立与数据库的链接,通过执行相应sql语句,完成对不同数据库的访问。最初的java语言并没有数据库访问的能力,jdbc是第

24、一个支持java语言的标准的数据库api,其目的在于使java程序与数据库服务器的连接更加方便。jdbc的原理机制和odbc相同,它为基于java语言的应用程序提供了统一的数据库访问接口,只不过jdbc是用纯java实现的,而odbc是用纯c实现的。将java和jdbc结合起来将使程序员只须写一道程序就可以让它在任何平台上运行。构成java语言的基础是一系列类库,而jdbc正是定义了java与数据库之间的接口类库,它是java语言中执行sql语句的api,由一系列类和接口所组成,这些类和接口均是由java语言写成的,通过它一个程序开发者可以在java语言中建立与数据库的链接,执行sql语句和处

25、理sql语句返回的结果。jdbc工作原理和组成结构如图2.2所示: 图2.2 jdbc工作流程和组成结构jdbc访问数据库的过程是这样的:用户通过浏览器发出请求,从web服务器上下载java应用的html页面。如果其中的java应用程序调用了jdbc,则浏览器运行的java应用程序直接与指定的数据库服务器建立连接,数据库服务器以html页面返回结果给浏览器。jdbc主要有两种接口:面向程序开发人员的 jdbc api和面向底层的jdbc driverapi。 jdbcapi提供了应用程序到jdbc驱动器管理程序 (jdbdriver manager)的通信功能,它是一组抽象的接口,可以进行数据

26、库连接和调用sql语句来访问支持jdbc的数据库,并且得到返回的结果。 jdbcdriverapi是面向驱动程序开发商的编程接口,用来管理各种数据库。javasoft公司提供了一个通用的jdbc驱动管理程序,而各种数据库公司只需提供一个与odbc类似的jdbc驱动程序。jdbc是一种可用于执行sql语句的java api。它由一些java语言写的类、界面组成。jdbc给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯java语言编写完整的数据库应用程序。jdbc驱动程序可细分为四种类型,不同的驱动程序使用不同的方法:(1) jdbcn dbc br

27、idge,桥接器型的驱动程序,这类驱动程序的特色是必须在使用者端的计算机上事先安装好 odbc驱动程序,然后通过jdbc-odbc的调动方法,进而通过odbc来存取数据库。(2) jdbc native api bridge,也是桥接器型驱动程序,如同类型(1),这种类型的驱动程序也必需先在使用者的计算机上安装好特定的驱动程序(类似odbc),然后通过jdbc native api桥接器的转换,把java api调用转换成特定的驱动程序的调用方法,进而存取数据库。(3) jdbc-middleware,这种类型的驱动程序最大的好处是省去了在使用者计算机上安装任何驱动程序的麻烦,只需在服务器端安

28、装好middleware(中间件),而middleware会负责所有存取数据库时必要的转换工作。2.2.2 jdbc的应用模型jdbc支持两层模型,也支持三层模型访问数据库。(1)两层模型两层模型中,一个java applet或者一个java应用直接同数据库连接,如图2.3所示。用户的sql语句被传送给数据库,而这些语句执行的结果将被传回给用户。数据库可以在同一机器上,也可以在另一机器上通过网络进行连接。这被称为 “client/server"结构,用户的计算机作为client,运行数据库的计算机作为server。这个网络可以是intranet,比如连接全体雇员的企业内部网,当然也可

29、以是internet。sql请求请求结果java应用程序数据库数据库服务器图2.3 jdbc两层模型(2)三层模型在三层模型中,命令将被发送到服务的“中间件”,而“中间件”将sql语句发送到数据库,如图2.4所示。数据库处理sql语句并将结果返回“中间层”,然后 “中间层”将它们返回用户。管理员将发现三层模型很有吸引力,因为“中间层”可以进行对访问的控制并协同数据库的更新,另一个优势就是如果有一个“中间层”用户就可以使用一个易用的高层的api,这个api可以由“中间层”进行转换,转换成底层的调用。而且,在许多情况下,三层模型可以提供更好的性能。sql请求请求结果java应用程序数据库中间件数据

30、库服务器图2.4 jdbc三层模型2.2.3 jsp对数据库的访问jsp访问数据库是通过jdbc驱动程序实现的,执行查询、提取数据等操作。另外通过利用jdbc-odbc bridge技术,jsp就可以访问带有odbc驱动程序的数据库。根据驱动程序的不同,装载驱动程序的格式也不同。 图2.5 进行数据库操作的流程图第一种:装载jdbc-odbc桥驱动程序用法:class.forname("sun.jdbc.odbc.jdbcodbcdriver");对目前的任何数据库,都可以通过这种方式来装载驱动程序,其中使用了jdbc-odbc桥,用于将java的jdbc驱动转化为odbc

31、驱动,访问数据库。第二种:装载jdbc驱动程序,这种方式适合于已经具有特定jdbc驱动程序的数据库访问,对不同的数据库,jdbc驱动程序也不同。用法:class.forname("jdbc.driver_class_name");对于mysql桥驱动程序,通过以下方式装载驱动程序:class.forname("org.git.mm.mysql.driver");对于oracle jdbc thin桥驱动程序,通过以下方式装载驱动程序:class.forname("oracle.jdbc.driver.oracledriver");对于

32、oracle jdbc oci桥驱动程序,通过以下方式装载驱动程序:class.forname("oracle.jdbc.driver.oracledriver");目前大多数数据库系统都带有odbc驱动程序,所以java程序能访问诸如oracle,sybase,ms sql server和ms access等数据库。下面的例子是采用jdbc-odbc桥接程序来实现对数据库的连接,示例如下:<%page language="java"%><%page import="java.sql.*"%><%page

33、 contenttype="text/html;charset=gb2312"%><%resultset rs=null;/装载jdbc-odbc bridge驱动程序class.forname("sun.jdbc.odbc.jdbcodbcdriver");/建立数据库连接对象:string url="jdbc:odbc:data"connection con=drivermanager.getconnection(url,"","");/创建statement对象:stateme

34、nt stmt=con.createstatement();/设定sql语句:string sql="select * from test where tscore>60"/执行查询,产生记录对象集:rs=stmt.executequery(sql);/利用记录集对象所提供的属性对web数据库实施操作/关闭记录集对象:rs.close();/关闭数据库连接对象:con.close();%>对数据库记录进行增加、删除、更新、查询等操作,全部用sql(结构化查询语言)语句实现。30第3章 系统分析与设计3.1 系统需求分析 3.1.1 系统应具有的特点系统应具有以下

35、特点:(1)跨平台:由于在线查询过程中的用户使用的计算机操作系统不可能一致,计算机内部的软件环境也不相同,因此要求系统具有跨平台运行的特点。(2)具有良好的可扩展性:随着系统应用的深入,预置的功能必定满足不了系统的发展,这要求系统要具有良好的可扩展性。(3)操作简单,易于使用:系统要面向学生、教师等不同的用户,各人的查询方式也因人而异,这就要求系统的操作界面简单、方便、友好、易于使用和访问。本系统采用最正统的框架式结构页面,提供简单、友好的访问环境。3.1.2 可行性分析软件系统就是为了服务于用户,满足用户的需求而开发的,能否较好的掌握用户的需求是系统开发成功的关键。这一步的工作,就是对用户的

36、需求进行仔细分析,确定系统的参与角色,并根据角色分析出各个角色应具有的功能,划分出功能模块。根据我们前期的调查和研究,我们发现用户的需求主要有以下一些功能。详细的用户说明如下:l 教师:对学校使用本系统的教师的抽象,可根据需要进行相关的查询。也可与其他学习者交流。l 学生:可方便地查询相关函数的内容,搜索需要的知识点参考学习,也可与其他学习者交流。在了解用户学习需求、确定网站定位之后,才能进一步进行教学平台在线查询系统的选择、教学内容的规划、网络频宽的要求、超文本的结构设计、等技术因素的探讨。但要如何明确界定网络学习在整个学习活动中扮演的角色?具体的做法是依照教学单位自身的经济规模、需求及使用

37、学习网站的对象的条件加以分析,再以此选择适当的教学平台、决定网络频宽的大小、规划教学内容与设计课程等。本教学辅导网站主要用户为学生,教师。范围在学校,有先进良好的网络。因此搭建这样一个小型辅助教学的查询网站,条件是十分优异的。3.1.3 系统功能分析根据前述的功能并结合以往的经验,将“在线查询系统”划分成为以下的几个模块:按字母顺序查询显示查询结果按函数功能查询用户查询按函数名查询 图3.1 系统功能模块图由上图所示,下面分别介绍这几部分的功能模块。由于本在线查询系统是程序设计教学平台的一部分,整体的设计也是比较简洁,主要模块有: “查询实现”模块 这个模块是整个系统的主要部分,从功能上说是提

38、供学生的在线浏览,要强调学生是主体,也面向其他用户,所有查询的用户主要是面向学生,要让学生积极使用,这样才能更好的实现方便学生的自学目的,在人机交互式学习环境中,使学生能够按自己的知识基础和习惯爱好选择学习内容,这样,较充分发挥学生的主动性,真正体现学生的认知主体的作用。这里采取html 的frame标签将菜单导航和内容分开,部分采用javascript结合dreamweavor开发。下面介绍这个查询模块具体的几个模块。一、“按字母顺序查询”模块 此模块主要是让用户在不知道函数全称只知道首字母的情况下所进行的查询,其中该模块的设置是根据首字母为a、b、cy、z等26个英文字母进行排列的,进行选

39、择确定首字母查询。当用户选择a进行首字母为a的函数查询时,页面的右边就会显示出相应的以a开头的所有函数的第一条函数记录,用户还可以进行上一条下一条或第一条最后一条的选择来查找需要的函数。二、“按函数功能查询”模块此模块主要是让用户根据函数功能进行分类查询需要的函数,其中该模块的设置是根据函数功能将函数具体分为输入输出、数学、时间日期等11类功能,用户需要自己选择相应的函数功能进行查询的。当用户选择“输入输出”进行函数功能为输入输出的函数查询时,页面的右边就会显示出相应的函数功能为输入输出的所有函数的第一条函数记录,用户还可以进行上一条下一条或第一条最后一条的选择来查找需要的函数。三、“按函数名

40、查询”模块此模块主要是让用户在知道函数全称的情况下进行精确的函数查询,其中该模块的设置是需要用户自己输入函数名称进行查询的。 当用户输入自己需要查询的函数进行查询时,页面的右边会出现相应的该函数的查询结果。如果用户输入查询的函数错误或数据库里没有该函数,则会显示出相应的提示框,提示你所查询的函数不存在或可能是所输入的函数有错误。3.2 系统功能模块设计本在线查询系统是服务器端执行的应用系统,在客户端只需运行统一的浏览器软件。在本系统的设计开发过程中,采用软件工程的方法进行系统设计,根据实际应用需要,在考虑了整个系统的基础上,分模块进行系统设计开发。3.2.1 数据流图系统数据流图见图3.2。查

41、看查询结果用户查询请求添加删除编辑管理员确认信息输入信息用户登陆结果显示在线查询数据管理函数库函数库用户数据图3.2 数据流图3.2.2 系统功能结构图整个系统根据需求划分为两个子系统,每个系统由不同的模块组成,如图3.3。查询系统用户子系统管理子系统数据库管理函数查询函数更新函数删除 图3.3 系统功能结构图3.3 数据库设计access是microsoft公司始于1994年发表的微机数据库管理系统。作为一种功能强大的mis系统开发工具,它具有界面友好,易学易用,开发简单,接口灵活等特点,是一个典型的新一代数据管理和信息系统开发工具。与microsoft的其他数据库产品如foxpro等相比,

42、access具有较独特的优势-提供了更强大的数据组织,用户管理,安全检查等功能。在一个工作组级别的网络环境中,使用access开发的多用户数据库管理系统具有传统的xbase数据库系统所无法比拟的客户服务器(cient/server)结构和相应的数据库安全机制。access能够存取 access/jet、microsoft sql server、oracle,或者任何 odbc 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"进阶用户"则能使用它来开发简单的应用软件。作为一个具有一定应用价值的在线查询系统,从本质上说其操

43、作的对象为数据库中存储的具体记录。因此,不仅要求所使用的数据库系统具有比较高的稳定性、安全性及高负载下保持足够响应的能力,还要求设计者清楚需求,做出科学的数据库逻辑结构设计,以提高数据库的利用效率和减少数据冗余。在turbo c 2.0中,c语言的库函数共有353个,access是完全能应付的,而且数据库里的函数基本是固定的,不会经常去修改,是相对稳定的。在当前数据库领域,已有越来越多的人开始采用access。它是一个功能强大的数据库管理系统和mis系统开发工具,具有界面友好、易学易用、开发简单、接口灵活等特点。以这种思想作为设计策略,我选用access 数据库来使用。3.3.1 数据库需求分

44、析为满足系统需要,网站需要在access数据库中只有一张表函数总表。此表包括9个字段,具体如下表所示:函数总表:函数名称头文件函数原型函数用途输入参数输出参数返回值函数示例函数功能分类printf"stdio.h"int printf(const char *format, arg_list)格式化输出到stdout流无无无(详见数据库系统)输入输出read"io.h"int read(int handle, void *buf, unsigned len)从文件中当前位置读出数据,文件位置由lseek函数决定handle 文件句柄,len 读出的文件长

45、度buf 读出的数据-1 操作出错,操作成功返回读出的字节数(详见数据库系统)输入输出各字段的主要功能:1、 函数名称:一个函数的函数名既是该函数的代表,也是一个变量。例如printf,read等。2、 头文件:在c语言家族程序中,头文件被大量使用。一般而言,每个c+/c程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。c+/c程序的头文件以“.h”为后缀。例如printf的头文件是”st

46、dio.h” , 只用到printf这个函数,可以不加头文件,如果加上的话,就是: #include <stdio.h>。3、 函数原型:该字段是函数类型、参数的说明。函数原型类似函数定义时的函数头。函数原型由函数返回类型、函数名和参数表组成,它与函数定义的返回类型、函数名和参数表必须一致。函数原型不必包含参数的名字,可只包含参数的类型。例如: int area (int, int );等价于 int area(int a,int b);4、 函数用途:该字段是对该函数用途的说明。例如printf的函数用途是格式化输出到stdout流。又如read函数可以读取文件。读取文件指从某一

47、个已打开地文件中,读取一定数量地字符,然后将这些读取的字符放入某一个预存的缓冲区内,供以后使用。5、 输入参数:如read的输入参数是handle 文件句柄,len 读出的文件长度。6、 输出参数:如read的输出参数是buf 读出的数据。7、 返回值:由于函数名变量通常用来把函数的处理结果数据带回给调用函数,所以一般把函数名变量称为返回值。例如read的返回值是若-1 操作出错,操作成功返回读出的字节数。8、 函数示例:printf()的基本形式:printf("格式控制字符串",变量列表);使用printf ()函数,如示例:#include<stdio.h>

48、;void main()char string="非常感谢使用本系统"printf("%s",string);9、 函数功能分类:该字段是为按函数功能查询的具体分类,如printf函数的功能是输入输出,是产生格式化输出的函数。3.3.2 数据设计过程数据库设计包括概念设计、逻辑设计和物理设计三个阶段:1.概念设计数据库的概念设计是指对整个系统各种信息结构的设计,也就是使用数据概念模型来描述用户的数据处理现实世界。在对用户需求调研和系统分析基础上,画e-r图(实体关系图)来描述实体之间的一对一、一对多和多对多的联系,如图3.4。在数据库概念设计中应遵循的原

49、则是能够定义为属性的决不定义为实体,因为在数据库模型中,属性用于内部联系,实体用于外部联系,显然外部联系比内部联系复杂。在本系统中,通过需求分析,得到如下实体:用户(主要为老师和学生)、管理员、函数、函数库。函数库对应管理员用户函数创建使用11nn11图3.4 e-r图2.逻辑设计数据库的逻辑设计主要是将概念结构转换成特定dbms所支持的数据库模型的过程。数据库模型是指事物彼此之间联系的数据结构形式,目前世界上比较流行的数据库模型有三种:层次模型、网状模型和关系模型。本系统采用第三种模型关系模型。所以逻辑设计过程就是把表示概念结构的e-r图按一定规则转换为关系模型的逻辑结构。关系模型的逻辑结构

50、为一组关系模式,也就是将e-r图转换为关系模式。3.物理设计数据库物理设计是根据给定的逻辑数据模型,选取一个最合适应用环境的物理结构过程,也就是确定数据在物理设备上的存储结构和存取方法的过程,对此本系统选用access关系数据库管理系统作为实现工具,如图3.5。用户(用户相关信息在登陆本网站时已验证)用户查询*函数名称头文件函数用途输入参数输出参数返回值函数示例函数库*函数名称头文件函数用途输入参数输出参数返回值函数示例函数功能分类图3.5 物理设计图3.3.3 数据库的表设计函数总表:第4章 详细设计4.1 查询系统主界面整个框架大部分使用dreamweaver制作而成。查询系统主界面截图,

51、如图4.1所示: 图4.1 查询系统主界面截图头部logo:为图片,为表达网站主题的一种形式。导航栏:为用户提供访问网站的各种查询方式。内容框:与当前浏览的内容相关。4.2 查询系统实现4.2.1 函数查询函数查询模块主要用于学生或教师对函数的查询,查询流程如图4.2所示:选择查询方式是否确定选择是提交查询开始查询否是否成功提交显示结果报告错误是否图4.2 用户查询流程图其相关的jsp页面为:index.jsp,界面截图如图4.3所示:图4.3 查询系统界面截图如图4.3所示,在该页面上显示了首字母、函数功能、以及用函数名查询等用户能进行的操作。点击进入查询后,浏览器的右边便会显示用户查询的相

52、关结果,以用来让用户作参考。当用户查看完后,可直接点击下一条、上一条按钮进行查询,也可点击第一条、最后一条进行首末的查询,完成查询后,可直接关闭浏览器,以进行其他的操作。例如用函数名方式查询,查询结果显示如图4.4所示:图4.4查询系统查询结果界面截图显示查询结果的部分相关代码如下:if( first1 != null && first1 != "" ) rs1.first(); num = 1; if( (next1 = null | next1.equals("") && (previous1 = null | pre

53、vious1.equals("") ) rs1.first(); else if( previous1 = null | previous1.equals("") ) num + ; int j = integer.parseint(next1); for(int i=0; i< j; i+) rs1.next(); else if( next1 = null | next1.equals("") ) num - ; int j = integer.parseint(previous1); for(int i=0; i<

54、j; i+) rs1.next(); aa = rs1.getstring("函数名称");bb = rs1.getstring("头文件");cc = rs1.getstring("函数原型");dd = rs1.getstring("函数用途");ee = rs1.getstring("输入参数");ff = rs1.getstring("输出参数");gg = rs1.getstring("返回值");hh = rs1.getstring("

55、;函数示例");catch(exception e) system.out.println("错误: " + e.getmessage();4.2.2 函数查询的三个模块函数查询模块包含按字母顺序查询、按函数功能查询和按函数名查询这3个具体的模块,下面介绍这3个模块的实现:1“按字母顺序查询”模块 “按字母顺序查询”模块的设置是根据26个英文字母进行排列的,进行确定首字母查询。界面截图如下:图4.5 按字母顺序查询界面截图如图4.5所示,在该页面上显示了该查询方式的选项内容,用户可以根据自己的需要选择相应的首字母进行查询。如果用户选择了a进行查询,点击旁边的查询按

56、钮后,则会显示出相应的以a开头的所有函数的第一条函数的相关记录,用户还可以在导航栏下方的4个按钮上进行上一条下一条或第一条最后一条的选择。2“按函数功能查询”模块 “按函数功能查询”模块的设置是根据函数的功能进行分类查询的,进行确定函数功能查询。界面截图如下:图4.6 按函数功能查询界面截图如图4.6所示,在该页面上显示了该查询方式的选项内容,用户可以根据自己的需要选择相应的函数功能进行查询。如果用户选择了“输入输出”进行查询,点击旁边的查询按钮后,则会显示出相应的功能为输入输出的所有函数的第一条函数记录,用户还可以进行上一条下一条或第一条最后一条的选择。3“按函数名查询”模块“按函数名查询”

57、模块的设置是根据用户输入的函数名称进行精确的函数查询。 界面截图如下:图4.7 按函数功能查询界面截图如图4.7所示,在该页面上显示的是空白的文本框,用户可以根据自己的需要输入相应的函数名称进行精确的查询。如用户在文本框里输入abort,点击旁边的查询按钮后,则会显示出相应的关于abort的函数信息。如果用户输入查询的函数错误或数据库里没有该函数,则会显示出相应的提示框,提示你所查询的函数不存在或可能是所输入的函数有错误。4.2.3 数据库查询数据库的查询主要是用户对数据库中所有内容进行的查询,最后将查询结果显示在用户能看到的浏览器主页上,其相关数据库部分内容,截图如下:图4.8 查询系统数据库部分截图如图4.8所示,在该数据库的页面上显示了本查询系统中函数的名称、头文件、函数用途、输入输出参数、返回值及函数示例等。如果某用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论