在线答疑系统论文

更新时间:2024-06-03 17:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

大连交通大学2010届本科生毕业设计(论文)

摘 要

随着现代计算机科学的发展,网络已经越来越普及,如今网络已经成为每个人生活的一部分,同时网络也提供了一种很好的信息交换平台,而网上答疑系统是一个可以在网络上展示个人信息的方便手段。本文介绍了如何开发网上答疑系统。

本文主要介绍了网上答疑系统的主要任务,阐述了开发该系统用到的关键技术,如采用B/S结构,使用JSP编程、利用SQL2000建立数据库、采用HTML和脚本等编程技术。

本论文主要分七章,第一章为引言主要介绍其背景和意义等;第二章为系统分析其主要是从组织、业务和数据流方面进行分析,第三章为总体设计主要介绍系统的功能;第四章数据库设计主要是介绍数据库结构设计和连接方法;第五章详细设计主要介绍其系统的实现和功能的描述;第六章为系统测试和性能分析主要介绍系统的测试方法、测试实例以及性能分析;第七章为系统总结主要是对设计和对全文的总结

关键字:在线答疑系统;B/S;JSP;SQL2000。

大连交通大学2010届本科生毕业设计(论文)

Abstract

With the development of modern computer science, networking has become increasingly popular, and now the network has become a part of life for everyone, while the network also provides an excellent platform for information exchange, while the personal home page is displayed on the network can be an individual a convenient means of information. This article describes how to develop personal website.

This paper describes the blog site's main task to explain the development of the system used in key technologies, such as the use of B / S structure, the use of JSP programming, the use of MYSQL to establish a database, using HTML and script and other programming techniques.

This paper mainly consists of seven chapters, the first chapter introduces the background for the introduction and significance; second chapter is mainly for the systematic analysis of their organizational, operational and data flow aspects of analysis, the overall design of the third chapter introduces the function of the system; The fourth chapter is to introduce the database design, database structure, primarily the design and connection method; fifth chapter focuses on the detailed design and functionality of their systems to achieve a description; Chapter VI for system testing and performance analysis focuses on the system testing methods, test examples and performance analysis; Chapter VII of the summary for the system mainly for the design and summary of the full-text.

Keywords: blog; B / S; JSP; SQL2000.

大连交通大学2010届本科生毕业设计(论文)

目 录

第一章 绪论..................................................... 1 第二章 主要技术分析 ............................................. 2 2.1 JSP技术介绍 .......................................................... 2 2.2 JAVASCRIPT概述 ......................................................... 3 2.3 UML概述 .............................................................. 3 2.4 关于TOMCAT的安装和注意事项 ............................................ 4 2.5 SQL2000数据库 ........................................................ 5 2.6 系统数据库连接 ........................................................ 5 第三章 系统设计 ................................................ 10 3.1 可行性研究 ........................................................... 10 3.1.1 经济可行性 ......................................................... 10 3.1.2 技术可行性 ......................................................... 10 3.1.3 运行可行性 ......................................................... 11 3.1.4 时间可行性 ......................................................... 11 3.1.5 法律可行性 ......................................................... 11 3.2 需求分析 ............................................................. 11 3.2.1 系统需求 ........................................................... 11 3.2.2 性能需求 ........................................................... 11 3.2.3 应用需求分析 ....................................................... 11 3.2.4 运行需求分析 ....................................................... 12 3.2.5 其他需求分析 ....................................................... 12 3.3 总体设计 ............................................................. 12 3.3.1 总体结构 ........................................................... 12 3.3.2系统结构数据流图 ................................................... 13 第四章 数据库设计 .............................................. 14 4.1 创建数据库 ........................................................... 14 4.2 数据库逻辑结构设计 ................................................... 14 4.3 数据库的实现 ......................................................... 18 第五章 详细设计 ................................................ 20 5.1 管理员的登录模块设计与实现 ........................................... 20 5.2 管理员主界面设计与实现 ............................................... 21 5.3 学生信息管理设计与实现 ............................................... 23 5.4 教师信息管理设计与实现 ............................................... 24

大连交通大学2010届本科生毕业设计(论文)

第六章 系统的调试与测试 ......................................... 25 6.1 测试概述 ............................................................. 25 6.1.1软件测试的目的 ..................................................... 25 6.1.2软件测试的任务 ..................................................... 25 6.1.3测试环境 ........................................................... 25 6.2 单元测试 ............................................................. 25 6.2.1黑盒测试 ........................................................... 25 6.2.2白盒测试 ........................................................... 26 6.2.3模块接口测试 ....................................................... 26 6.3 集成测试 ............................................................. 26 6.3.1自顶向下集成 ....................................................... 26 6.3.2确认测试标准 ....................................................... 27 第七章 总结.................................................... 28 参考文献 ......................................................... 29 致 谢 ........................................................... 30

大连交通大学2010届本科生毕业设计(论文)

第一章 绪论

Internet的迅猛发展给现代教育注入了新的活力,建立基于Internet的远程教育已成为当前教育中的一个热点。现在,教师和学生的交流不应仅限于在课堂上那短短的时间,还要在课余时间为他们创造更多的交流机会。由于 Internet 具有影响范围广,能够方便快捷的传递信息,具有近乎实时的交互性,本身又是一个巨大无比的信息库等诸多优点。利用 Internet作为远距离教育的新型手段,设计与实现教师个人网上教学系统。可以加强教师对学生学习过程的指导和管理,学生及时反馈学习信息,教师指导教学,提高学习者综合素质和能力,有针对性地对学习者进行个别化辅导或指导。我们的目标是用教师个人网上教学系统使教师在课余时间也可以不受距离的限制,对学生进行教学与管理,力图为教师和学生创设方便的学习环境。

在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。为了更好的办学,提高学校知名度。

软件工程实际上是以工程化的管理方法,实现软件开发成本、进度、质量的控制与管理。

网上答疑系统,是一种运用计算机网络为工具来帮助教师与学生教学的方式,在这个过程中它利用多媒体技术,人工智能技术,网络技术等多种技术手段。通过教学软件,学习平台的开发和应用,使学生和计算机之间相互作用达到教学目的,这是一种现代化教学手段。网上答疑系统是一种教育观念与教育方式的结合,它的引入,丰富了教育教学手段,向教育现代化迈出了一大步。

1

大连交通大学2010届本科生毕业设计(论文)

第一章 主要技术分析

1.1 JSP技术介绍

JSP的全称是Java Server Pages,它是由Sun Microsystems公司于1999年6月推出,许多公司参与一起建立的一种动态网页技术标准。基于Java Servlet以及整个Java体系的Web开发技术。JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。作为J2EE体系中的重要一环,JSP为创建高度动态的Web应用提供了一个独特的开发环境。

在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。

JSP是一种实现普通静态HTML和动态HTML混合编码的网页技术,具有跨平台性、运行效率高、上手容易等优点。在用JSP进行WEB开发时,需要用到应用服务器来进行资源共享、网络通信等进行分布式应用。在支持JSP的应用服务器中采用Tomcat。Tomcat是Apache-Jarkarta的一个子项目,是一个开放式源码、免费支持JSP和Servlet技术的容器,同时又是一个WEB服务器软件。在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

Servlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。

JSP的优点:对于用户界面的更新,其实就是由 Web Server进行的,所以给人的感觉更新很快。所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。JSP能够适应市场上包括Apache WebServer、IIS4.0在内的85%的服务器产品,这足以胜任绝大多数的商业事务处理。同时JSP代码经过服务器的解释执行后会直接嵌入到HTML语言中,这样就简化了页面的输出,也保留了脚本语言易于使用的优点。因此,在开发系统时本人选用当前流行的JSP作为主要实现手段。

2

大连交通大学2010届本科生毕业设计(论文)

1.2 JavaScript概述

Javascript是一种解释性的,基于对象的脚本语言(an interpreted, object-based scripting language)。

HTML网页在互动性方面能力较弱,例如下拉菜单,就是用户点击某一菜单项时,自动会出现该菜单项的所有子菜单,用纯HTML网页无法实现;又如验证HTML表单(Form)提交信息的有效性,用户名不能为空,密码不能少于4位,邮政编码只能是数字之类,用纯HTML网页也无法实现。要实现这些功能,就需要用到Javascript。

Javascript是一种脚本语言,比HTML要复杂。不过即便你先前不懂编程,也不用担心,因为Javascript写的程序都是以源代码的形式出现的,也就是说你在一个网页里看到一段比较好的Javascript代码,恰好你也用得上,就可以直接拷贝,然后放到你的网页中去。正因为可以借鉴、参考优秀网页的代码,所以让Javascript本身也变得非常受欢迎,从而被广泛应用。原来不懂编程的人,多参考Javascript示例代码,也能很快上手。

Javascript主要是基于客户端运行的,用户点击带有Javascript的网页,网页里的Javascript就传到浏览器,由浏览器对此作处理。前面提到的下拉菜单、验证表单有效性等大量互动性功能,都是在客户端完成的,不需要和Web Server发生任何数据交换, 因此,不会增加Web Server的负担。几乎所有浏览器都支持Javascript,如Internet Explorer(IE),Firefox, Netscape, Mozilla, Opera等。

JavaScript特点:JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。

1.3 UML概述

UML(统一建模语言)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言;其次,UML不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。

标准建模语言UML的主要特点可以归结为三点:

(1) UML统一了Booch、OMT和OOSE等方法中的基本概念。

3

大连交通大学2010届本科生毕业设计(论文)

(2) UML还吸取了面向对象技术领域中其他流派的长处,其中也包括非OO方法的影响。UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。因此,在UML中汇入了面向对象领域中很多人的思想。这些思想并不是UML的开发者们发明的,而是开发者们依据最优秀的OO方法和丰富的计算机科学实践经验综合提炼而成的。

(3)UML在演变过程中还提出了一些新的概念。在UML标准中新加了模板(Stereotypes)、职责(Responsibilities)、扩展机制(Extensibility mechanisms)、线程(Threads)、过程(Processes)、分布式(Distribution)、并发(Concurrency)、模式(Patterns)、合作(Collaborations)、活动图(Activity diagram)等新概念,并清晰地区分类型(Type)、类(Class)和实例(Instance)、细化(Refinement)、接口(Interfaces)和组件(Components)等概念。

因此可以认为,UML是一种先进实用的标准建模语言,但其中某些概念尚待实践来验证,UML也必然存在一个进化过程。

1.4 关于Tomcat的安装和注意事项

(1)通过安装JBulider9来安装Tomcat

? 直接安装JBulider9,安装过程中会给出JVM(Java虚拟机)的安装路径,一般为JBulider9\\jdk1.4。

? 再安装Tomcat,安装过程中会询问系统中已有JVM的安装路径,安装程序将会自动定位JVM的位置。

? 最好重新启动一遍计算机。

? 不必配置诸如Classpath、path、Java Home等系统环境变量。 ? 正常启动Tomcat即可。 (2)直接安装Tomcat

? 安装JDK1.4,安装完毕后,按程序要求重新启动计算机。

? 安装Tomcat,安装过程中会询问系统中已有JVM的安装路径,安装程序将会自动定位JVM的位置。

? 需要将JDK1.4安装路径下的lib文件夹中的tools.jar文件拷贝到TomCat5.0\\common\\lib文件下,并且只有在Tomcat关闭条件下,更新才有效。

?重新启动计算机。

? 不必配置诸如Class path、path、Java Home等系统环境变量。 ? 正常启动Tomcat即可。 (3)注意事项

? Tomcat对文件名(包括路径和后缀)的大小写是敏感的。 ? Tomcat的默认网站根路径为TomCat5.0\\Webapps\\Root

? 在编写jsp文件时,应特别注意其文件命名(包括存放路径)时最好不要大小

4

大连交通大学2010届本科生毕业设计(论文)

写混用,应统一为小写,养成良好编程习惯。

(4)如何获得Tomcat的错误提示信息

Tomcat运行时,会在任务栏右下角中出现类似MSSQLSERVER的图标,双击即可得到错误提示信息列表窗口。

1.5 SQL2000数据库

SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特点: 1.真正的客户机/服务器体系结构。

2.图形化用户界面,使系统管理和数据库管理更加直观、简单。 3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。

4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。

6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。

1.6 系统数据库连接

JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问的MYSQL。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。

简单地说,JDBC能完成下列三件事: 1. 同一个数据库建立连接; 2. 向数据库建立连接; 3. 处理数据库返回的结果。

5

大连交通大学2010届本科生毕业设计(论文)

JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。

很多可视化的Java开发工具,如Visual Age For Java、Visual Café、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。

数据库访问的三层结构如图2-1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。

图2-1 使用中间件的数据库访问三层结构

用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。

在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回“中间层”,然后“中间层”将它们返回用户。其模型如图2-2所示。

6

大连交通大学2010届本科生毕业设计(论文)

图2-2 JDBC的三层模型

因为“中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。

JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对

7

大连交通大学2010届本科生毕业设计(论文)

象只能产生一个ResultSet 对象。

数据库连接如图2-3所示:

建立JDBC--ODBC桥建立是否成功否出错处理是建立数据库连接执行SQL操作SQL是否出错是否返回错误信息返回执行结果 图2-3 数据库的连接处理

数据库的连接处理具体实现如下: //建立JDBC——ODBC桥

sun.jdbc.odbc.JdbcOdbcDriver; //桥建立不成功时的错误处理

catch(ClassNotFoundException event){}

//建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中 Con=建立JDBC——ODBC桥 Sql=SQL查询语句 执行查询 Rs=返回结果 //SQL出错处理

catch(SQLException e1){}

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一

8

大连交通大学2010届本科生毕业设计(论文)

个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。

Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。

JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。

MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。

简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例:

Connection con = DriverManager.getConnection(\:odbc:wombat\,\, \);

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(\, b, c FROM Table1\); while (rs.next()) { int x = rs.getInt(\); String s = rs.getString(\); float f = rs.getFloat(\); }

上述代码对基于JDBC的数据库访问做了经典的总结。

9

大连交通大学2010届本科生毕业设计(论文)

第二章 系统设计

本系统主要是针对各个博客网站管理,本系统满足以下几点要求:

(1) 系统安全性。由于该系统的使用对象多,要求有较好的权限管理。不同权限进入 不同的界面,为了防止数据的并发现象的出现,数据的编辑必须由合法用户来操作,并对每个研究生的信息进行良好的保密。

系统内容的全面性。博客网站不仅是对基本信息进行管理,还包括文章管理、通讯录管理等,因此,本系统能够很好的满足博客网站的信息进行完善、统一的管理。 (2) 系统灵活性。要求有良好的人机界面,操作简单(数据的添加、删除、修改、查询等方便快捷)。

(3) 可扩展性。站点的数据承载量、功能模块的单个或整体调整都可以满足变化的需要,这种适应性称为可扩展性。博客网站的可扩展性,体现在不同用户群需要处理不同类型的数据、数据与用户之间进行交互、数据要符合个用户的使用需求、多表查询系统化、避免性能下降等方面。

(4) 易维护性。本系统采用B/S结构,系统的升级只需要在服务器端完成,更新软件系统的数据库、文件也只需要更新服务器端即可。在进行系统的维护时,只需要远程登录服务器系统,减少了维护系统的成本和周期。

2.1 可行性研究

该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。

2.1.1 经济可行性

开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。

2.1.2 技术可行性

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。

本系统的开发,是典型的Mis开发。采用JSP编程语言,已无技术上的问题。

10

大连交通大学2010届本科生毕业设计(论文)

2.1.3 运行可行性

运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。

2.1.4 时间可行性

从时间上看,在两个月的时间里学习相关知识,并开发系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。

2.1.5 法律可行性

① 所有技术资料都为合法。

② 开发过程中不存在知识产权问题。 ③ 未抄袭任何系统,不存在侵犯版权问题。 ④ 开发过程中未涉及任何法律责任。

综上所述,本系统的开发从技术上、从经济上、从法律上等都是完全可靠的。

2.2 需求分析

需求分析是软件设计的一个重要的环节。本阶段对系统管理系统的应用情况作全面调查,以确定系统目标。确定用户的需求。用户对系统的需求我们从以下几方面进行分析。

2.2.1 系统需求

用JSP开发系统基于B/S模式,系统软件和数据集中存放于服务器中,软件的安装与升级在服务器上进行。所有的工作基于浏览器,安装、使用、维护、升级十分简单。

2.2.2 性能需求

为了保证系统能够长期、安全、稳定、可靠、高效的运行。系统处理的准确性和及时性是系统的必要性能。由于本系统的添加功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。

2.2.3 应用需求分析

11

大连交通大学2010届本科生毕业设计(论文)

处理器:Intel 酷睿2 硬件 服务器 内 存:256M 或更大 硬 盘:20G 或更大 Microsoft Windows XP 软件 硬件 客户机 软件 无特殊要求 Microsoft Windows XP 系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。

硬件系统环境:C600、1G MB(RAM)、500MB(HD)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好

2.2.4 运行需求分析

硬件条件:酷睿2 CPU、1G RAM、10 G硬盘以上的PC机。 软件条件:Windows XP

2.2.5 其他需求分析

本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。

2.3 总体设计 2.3.1 总体结构

本系统分为三大块:教师、学生、管理员系统(我负责管理员模块);模块结构如下:

12

大连交通大学2010届本科生毕业设计(论文)

软件工程网上教学辅助系统教师子系统学生子系统管理员子系统查看上传批改网上查阅课上传提出在线用户课件作业答疑试卷件、作业问题答题管理下载 图3-1系统模块

2.3.2系统结构数据流图

数据流图表现了用户、系统、数据库的关系。 教师学生在线答问、上传课件等操作在线问题、下载课件等操作系统更新用户信息管理员 图3-2数据流图

13

信息课程管理管理大连交通大学2010届本科生毕业设计(论文)

第三章 数据库设计

3.1 创建数据库

首先创建一个数据库uplod,用来保存本系统的所有数据。创建数据库的脚本代码如下:

CREATE DATABASE uplod GO

可以在SQL查询分析器中执行该语句,创建数据库。

3.2 数据库逻辑结构设计

由于网上答疑系统要实现,整个数据数据信息都要存储、更新;课件资源等信息都是动态变化的。这涉及多个页面、多个功能,所有的操作都要与数据库联系。系统为这些,动态信息设计了以下主要数据库表:

人员表:存储登录网上答疑系统个人信息。Id为编号、name为名称、

Password为密码、sex为性别、department为所在系、jiguan为籍贯、tel为电话、 E_mail为邮箱、mark为标记。

表3.1人员表

列名 id name password sex department jiguan tel E_mail mark

课件表:存储每门课程的课件存放路径及课程的基本信息。Id为编号、Coursewarename为课件名称、addtime为添加时间、filename为系统文件的名称、

Path为上传课件的路径、teacherid为老师的编号、remark为课件的标记。

14

数据类型 char char char char char varchar char varchar int 长度 10 10 10 10 10 50 10 50 4 允许空 是 是 是 是 是 是 大连交通大学2010届本科生毕业设计(论文)

表3.2课件表

列名 id Coursewarename addtime filename path teacherid remark datetime varchar varchar varchar varchar 8 50 100 50 200 是 是 是 是 是 数据类型 int varchar 长度 4 50 允许空 是 试卷表:存储试卷信息。Id为试卷的编号、papersname为试卷名称、addtime添加时间、remark为试卷标记。

表3.3试卷表

列名 id papersname addtime remark 作业表:用于存放教师布置的课后作业。字符为:作业名称、时间、路径等信息。

Id为作业编号、 homeworkname为作业的名称、 addtime为上传时间、 filename为在系统文件的名称、 path为上传文件的路径、 stuid为学生的编号、 remark为作业标记、 isRead为是否阅读。

表3.4作业表

列名

数据类型 int varchar datetime varchar 长度 4 50 8 200 允许空 是 是 是 数据类型 长度 15

允许空 大连交通大学2010届本科生毕业设计(论文)

id homeworkname addtime filename path stuid remark isRead int varchar 4 50 是 datetime varchar varchar varchar varchar int 8 50 100 50 200 4 是 是 是 是 是 是 问题:用于存放学生的提问问题和老师解答问题的表。

Id为编号、 title为标题、 content为问题内容、 addtime为上传时间、 stuid为学生的编号、 isresolved为是否解决、 answertitle为答案标题、 answercontent回答内容、 teacherid为老师编号。

表3.5问题表

列名 id title content addtime stuid isresolved answertitle answercontent teacherid varchar 50 是 varchar 200 是 数据类型 int varchar varchar datetime varchar char varchar 长度 4 50 200 8 50 10 50 允许空 是 是 是 是 是 考试信息表:用于存放考试内容。Id为编号、 papersid为试卷编号、 title试卷标题、 type类型 optionA、B、C、D为选项、 answer为答案。

表3.6考试信息表

16

大连交通大学2010届本科生毕业设计(论文)

列名 id papersid title type optionA optionB optionC optionD answer 数据类型 int int varchar varchar varchar varchar varchar varchar varchar 长度 4 4 200 50 50 50 50 50 200 允许空 是 是 是 是 是 是 是 是 管理员:用于存放管理员信息。Id 为管理员编号、password为密码。

表3.7管理员表

列名 id password 答案表: 用于存放学生在线做答的答案信息。Id为编号、 quesid为问题编号、 answer为答案、 stuid 为学生编号、pspersid为试卷编号。

列名 id quesid answer stuid pspersid 表3.8考试答案表 数据类型 长度 int int varchar char int 4 4 50 10 4 允许空 是 是 是 数据类型 varchar varchar 长度 50 50 允许空 课程表:用于存储课程信息 id为课程编号、 name为课程名称、 dep为系、 mark 为

标记、detail为课程介绍。

表3.9课程表

列名 数据类型 长度 允许空 17

大连交通大学2010届本科生毕业设计(论文)

id name dep mark detail varchar varchar varchar varchar varchar 50 50 50 50 500 是 是 是 教师表:用于存储教师个人信息。Id为编号、 name为名称 title为职称、 password为密码。

表3.10教师信息表 列名 id name title password 数据类型 char varchar char char 长度 10 50 10 10 允许空 是 上传信息表:用于存放上传文件本地的路径信息。Id为编号、 wid_name为文件所在大的名称、 path为路径、 min_path为具体路径、 sizes为大小、 times为时间、 ip为上传者的机IP

表3.11上传信息表 列名 数据类型 长度 允许空 是 是 是 是 是 是 id wid_name path min_path int varchar nvarchar nvarchar int varchar varchar 4 7 60 60 4 50 20 sizes times ip

3.3 数据库的实现

上述的数据表存储信息,系统进行数据库连接具体实现要核心代码:

public class DataBaseConnection { /** *一个静态方法,返回一个数据库连接

18

大连交通大学2010届本科生毕业设计(论文)

*这样达到了对数据库统一控制的目的 */

//#MySQL 数据库连接信息

//#MySQL 数据库驱动程序

//String MySQLDriver=\

//#MySQL数据库连接字符串。

//#upload 为数据库名,user为登录用户名,password为登录密码。 //String

MySQLURL=\:mysql://localhost:3306/upload?user=sa&password=&useUnicode=true&characterEncoding=GBK\

//#SQL Server 数据库连接信息 //#SQL Server 驱动程序

//String SQLDriver=\

//#SQL Server 数据库连接字符串

//#upload 为数据库名,user 为登录用户名,password 为登录密码。

//String SQLURL=\ public static Connection getConnection() {

Connection con=null;

String SQLDriver=\ String

SQLURL=\

try { Class.forName(SQLDriver).newInstance(); con=DriverManager.getConnection(SQLURL); } catch(Exception e) { e.printStackTrace(); } return con; } };

//在其他文件里面就可以直接调用Connection con=DataBaseConnection.getConnection(); 来获得数据库的连接

19

大连交通大学2010届本科生毕业设计(论文)

第四章 详细设计

4.1 管理员的登录模块设计与实现

管理员用设定好的用户名和密码,可以登录到系统 用户管理员的核心代码:

jsp:useBean id=\引用login类

String sql=\

String kind=ss.getKind(); String pw=\ResultSet rs =null; String id=ss.getId();

System.out.println(\进入验证\

sql=\SQL用查询的语句 System.out.println();

rs=db.executeQuery(sql); //查询用户信息 if(rs.next()){

pw=rs.getString(\

if(ss.getPassword().trim().equals(pw)) //判断用户是否登录成功 {

System.out.println(\进入验证====通过验证\

session.setAttribute(\在session中缓存用户信息 int flag=ss.getFlag();

session.setAttribute(\

response.sendRedirect(\重定向用户请求 out.print(flag);

20

大连交通大学2010届本科生毕业设计(论文)

} else {

String message= \登陆失败,用户名或密码有误!!\session.setAttribute(\response.sendRedirect(\

%>

管理员可以在本页面登录:

图5-1管理员登录

4.2 管理员主界面设计与实现

该模块主要实现用户添加,删除,修改用户信息等功能,该模块是通过java操作数据库,跟教学展示、查找模块相似,所有的数据库操作都封装到servlet中,这样保证了数据的安全性。这个模块值得一提的是教学图片上传功能,文件的上传功能在基于B/S的开发模式中非常普遍。同其他开发工具相比较,JSP对文件的上传支持并不是很完美,它既不象ASP那样一定需要使用组件来完成。JSP实现文件上传的实现方式是这样的:使用ServletRequest类的getInputStream()方法获得一个客户端向服务器发出的数据流,然后处理这个数据流,从中分析、得到文件上传中传递到服务器的各个参数和数据,然后将其中的文件数据存储为一个文件或插入到数据库中。通常JSP页面中不

21

大连交通大学2010届本科生毕业设计(论文)

处理文件的上传功能,而是把这些功能放到Servlet 或JavaBean中去实现。使用Servlet完成文件上传的例子在一些JSP的相关书籍中都有所介绍,我这里使用JeanBean完成文件上传。

删除的核心代码:

String ids=request.getParameter(\ String name1=request.getParameter(\ String name2=request.getParameter(\

int s1=name1.indexOf(\

String n1=name1.substring(s1+1,name1.length()); //要删除的文件名 String subPath=name1.substring(0,s1); //获取文件夹名 int s2=name2.indexOf(\

String n2=name2.substring(s2+1,name2.length());//要删除的缩略文件名

String FilePath=request.getRealPath(\

String allPath=FilePath+\获取整个绝对路径

java.io.File delFile=new java.io.File(allPath,n1); if(delFile.exists())

delFile.delete(); //如果该文件存在,则删除 java.io.File min_delFile=new java.io.File(allPath,n2); if(min_delFile.exists())

min_delFile.delete(); //如果该文件存在,则删除 try {

String sql=\

Connection con=DataBaseConnection.getConnection(); PreparedStatement pstmt=con.prepareStatement(sql);

pstmt.executeUpdate();

out.println(\

language=javascript>alert('

');window.location='upload.jsp';\

}

catch(Exception e)

22

大连交通大学2010届本科生毕业设计(论文)

{

e.printStackTrace(); }

图3.2管理员登录后主页面

4.3 学生信息管理设计与实现

图5-3学生信息管理

23

大连交通大学2010届本科生毕业设计(论文)

4.4 教师信息管理设计与实现

图3-4 教师信息管理

系统管理员在网上答疑系统上登录、维护信息的等功能。

整个系统设计的核心部分在Servlet,它负责整个系统的业务处理。利用JSP,并处理数据。

24

大连交通大学2010届本科生毕业设计(论文)

第五章 系统的调试与测试

5.1 测试概述

5.1.1软件测试的目的

软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。

第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。

第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确。二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量。四、质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。

5.1.2软件测试的任务

1、寻找Bug;

2、避免软件开发过程中的缺陷; 3、衡量软件的品质; 4、关注用户的需求。

总的目标是:确保软件的质量

5.1.3测试环境

环境如下:

⑴ 硬件配置环境:CPU:P4 1.8A、内存:256MDDR、硬盘:60G ⑵ 操作系统::Microsoft Windows xp sp2 ⑶ Web服务器: TOMCAT5.5

5.2 单元测试 5.2.1黑盒测试

在单元测试中分别对用户信息模块,帖子模块和后台管理模块进行分别测试. 首先对各个模块进行黑盒测试,在各种条件下运行模块是否能正常运行,比如在登录时,输入空白用户名等等. 比如在登录时,输入空白用户名等等.

25

大连交通大学2010届本科生毕业设计(论文)

5.2.2白盒测试

此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。软件人员使用白盒测试方法,主要想对程序模块进行如下的检查;对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。

5.2.3模块接口测试

在黑盒测试完成的情况下,进行模块接口测试, 模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑的因素:

1 输入的实际参数与形式参数的个数是否相同; 2 输入的实际参数与形式参数的属性是否匹配; 3 输入的实际参数与形式参数的量纲是否一致;

4 调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同; 5 调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配; 6调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致; 7 调用预定义函数时所用参数的个数、属性和次序是否正确; 8 是否存在与当前入口点无关的参数引用; 9 是否修改了只读型参数;

10 对全程变量的定义各模块是否一致; 11是否把某些约束作为参数传递。

5.3 集成测试

每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作。主要原因是,模块相互调用时接口会引入许多新问题。例如,数据经过接口可能丢失;一个模块对另一模块可能造成不应有的影响;几个子功能组合起来不能实现主功能;误差不断积累达到不可接受的程度;全局数据结构出现错误,等等。综合测试是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行集成测试以便发现与接口有关的各种错误。

5.3.1自顶向下集成

自顶向下集成是构造程序结构的一种增量式方式,它从主控模块开始,按照软件的控制层次结构,以深度优先或广度优先的策略,逐步把各个模块集成在一起。首先将模块用户模块和帖子模块集成在一起,再将后台管理模块集成起来。之后再将用户模块和后台管理模块集成在一起,再加上帖子模块.

26

大连交通大学2010届本科生毕业设计(论文)

5.3.2确认测试标准

功能和性能指标满足软件要求和标准的情况下,测试结束。

27

大连交通大学2010届本科生毕业设计(论文)

第七章 总结

经过测试,系统能够很好的运行实现管理功能,功能模块也能够达到老师所指定的要求。系统可以实现班级信息的集中管理、分散操作、检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高班级信息管理的效率,也是高校的科学化、正规化管理,与世界接轨的重要条件。

通过系统的设计,本人感触最深的是加深了对软件开发过程的理解,熟悉了利用JSP实现各种实用的数据库型软件的开发,以及了解了教务管理的一些流程,也更加深入理解了MIS设计中常见问题和其设计的意义。本文在详细分析了网上答疑的各功能模块基础上,设计并实现了网上答疑系统的简易版本。论文的主要工作包括以下几个方面:

1. 详细地分析和总结了班级信息管理的需求,并确定了班级信息管理系统实现的初步方案。

2.分析了系统实现的关键技术原理,和具体描述了各个功能模块,并用图示表示出了系统功能结构图,使得更容易了解本系统。

3.设计并实现了信息管理系统的逻辑模型,并基于SQL Server2000数据库实现了班级信息管理系统数据的物理模型。

4.采用JSP实现了网上打印管理系统的初步版本。

经过两个多月的设计和开发,班级信息管理系统基本开发完毕,但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如班级管理,系统出错处理等一些问题。在我的进一步工作中,我将对这些问题进行完善。

28

大连交通大学2010届本科生毕业设计(论文)

参考文献

[1] 耿祥义.JAVA课程设计[M]. 北京:清华大学出版社,2004 [2] 耿祥义等.JSP使用教程[M]. 北京:清华大学出版社,2007

[3] 杨得新.SQL Server2000开发与应用[M]. 北京:机械工业出版社,2000 [4] 田志祥.计算机与网络插图辞典[M]. 南京:化学工业出版社,2003 [5] 田雪松.J2EE网络编程基本教程[M]. 上海:上海科学普及出版社,2004 [6] 慕东周.计算机网络技术[M]. 南京:化学工业出版社,1999 [7] 邵丽萍.网页编程技术[M]. 北京:清华大学出版社,2000

[8] 孙卫琴.基于MVC的JAVA WEB设计与开发[M].电子工业出版社.2004 [9] 阎宏.Java与模式[M].电子工业出版社.2002

[10] 刘志成.数据库应用技术SQLServer2000[M].科学出版社.2003

[11] Kachru, Sandeep Tejkishen,On the relative advantages of teaching Web services in .NET vs. J2EE [J] North Carolina State University .2003

29

大连交通大学2010届本科生毕业设计(论文)

致 谢

时光飞逝,论文终于成稿,又一段求学旅途即将画上一个圆满的句号,回想求学的道路,有过梦想,有过失落,此时此刻,有太多的感激之情在内心之中,需要表达,感谢一直以来关心鼓励我的老师,同学和朋友们。

在本次毕业设计中,首先我衷心地感谢我的导师马学文教授在我的设计中给我的悉心指导。论文的每一篇不无倾注了马老师大量的时间和心血。马老师渊博的知识、敏锐的思维、深刻的洞察力、淡泊的心境、平易的待人方式和富有感召力的人格力量给我许多启发和帮助,使我领略到一个著名学者的风采和高尚的情操,使我在学习和设计工作中,都受益匪浅,在毕业设计过程中,马老师在每个阶段都给予我细心的指导、提出宝贵的意见。马老师的言传身教,始终如一地关心我们各方面上的进展,反复审阅了论文稿,提出许多修改意见,为本文的完成付出了很多心血。使我在设计中及时改正了错误,增添了信心。在此,我对敬爱的马老师再次表示衷心的感谢!

由于指导老师孜孜不倦的指导,同学的热心帮助,再别上自身的努力,我才得以顺利的完成毕业设计。再一次对帮助过我的老师,同学,朋友表示衷心的感谢,希望把今天的喜悦与你们一同分享。

30

本文来源:https://www.bwwdw.com/article/0a46.html

Top