基于Web的在线问题解答系统 (程序代码+任务书+说明书+外文翻译+演示文稿)_第1页
基于Web的在线问题解答系统 (程序代码+任务书+说明书+外文翻译+演示文稿)_第2页
基于Web的在线问题解答系统 (程序代码+任务书+说明书+外文翻译+演示文稿)_第3页
基于Web的在线问题解答系统 (程序代码+任务书+说明书+外文翻译+演示文稿)_第4页
基于Web的在线问题解答系统 (程序代码+任务书+说明书+外文翻译+演示文稿)_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

基于Web的在线问题解答系统摘要随着近几年来微机技术、网络技术、多媒体技术及相应软件技术的迅猛发展,学校的教学、管理、考试等工作己越来越离不开计算机了。一方面,计算机辅助教育与计算机辅助教学是计算机技术非常重要的应用领域;另一方面,计算机与网络的应用更加促进了两者的飞速发展,目前它们已逐步成为现代教学的一个很重要且有效的手段。本系统在线问题解答系统,采用JAVA技术作为创建应用程序的方式,采用SQLServer数据库作为后台数据库。它是基于Browser/Server结构下形成的数据驱动的Web应用程序。本系统基本遵循了软件工程方法论进行系统分析、总体设计、详细设计和软件测试。实现了用户注册、答疑版块管理、在线答疑、学生管理、教师管理、系统管理等功能。关键词:在线问题解答系统;JAVA;SQLServeriOnlinequestionansweringsystembasedonWebAbstractalongwiththerecentyearscomputertechnology,networktechnology,multimediatechnologyandcorrespondingsoftwaretechnologyswiftandviolentdevelopment,schoolteaching,management,examinationworkhasbecomeincreasinglyinseparablefromthecomputer.Ononehand,computeraidededucationandcomputeraidedteachingisaveryimportantapplicationfieldsofcomputertechnology;ontheotherhand,thecomputerandthenetworkapplicationmorepromotedbothrapiddevelopment,ithasgraduallybecomeamodernteachingisaveryimportantandeffectivemeansof.Thissystem-onlinequestionansweringsystem,usingJAVAtechnologyastocreatetheapplicationway,usingSQLServerdatabaseasabackgrounddatabase.ItisbasedonBrowser/ServerstructureformationdatadrivenWebapplications.Thesystemfollowsthebasicsoftwareengineeringmethodologyforsystemsanalysis,design,detaileddesignandsoftwaretesting.Achieveauserregistration,Q&aforum,onlineQ&amanagement,studentmanagement,teachermanagement,systemmanagementfunctions.Keywords:onlinequestionansweringsystem;JAVA;SQLServer目录摘要.Abstract.1绪论.11.1开发背景.11.2项目提出的意义.12开发系统描述.22.1系统的开发方法.22.2系统开发工具.22.2.1JAVA语言特点.32.2.2数据库简介.32.2.3MyEclipse简介.42.3软硬件要求.53需求分析.63.1可行性分析.63.2系统需要解决的主要问题.63.3系统用户用例图.63.3.1管理员用例图.63.3.2普通用户用例图.73.4设计的基本思想.73.5性能需求.83.6界面需求.84系统设计.104.1基本简介.104.2运行环境.114.3系统结构图.114.4系统性能.114.5系统功能描述.124.5.1前台系统功能描述.124.5.2后台系统功能描述.124.6详细设计.134.6.1用户个人信息设计.134.6.2数据库中表的设计.134.6.3数据库逻辑设计ER图.154.6.4主要模块的流程图.165系统程序实现.185.1index(系统主界面).185.2详细内容页面.205.3后台登录.255.4修改密码.275.5管理员管理.285.6板块管理.295.7学生管理.305.8教师管理.316软件测试.346.1软件测试的意义.346.2软件测试的重要性.346.3软件测试的范围.356.4软件测试的方法.356.5软件测试的目的和原则.357结论与总结.38参考文献.39致谢.4001绪论1.1开发背景近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校的教学管理都受到了极大的挑战。Internet技术持续迅猛的发展,也给传统的教学提出了新的模式。以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。作为新型的办学模式,它们具有对于教育、教学过程来说极为宝贵的特性,可以为新型教学模式的建构提供理想的环境。在此开发的在线问题解答系统,旨在探索一种以互联网为基础的教学模式。通过这种新的模式,使学生通过论坛的模式及时的掌握学习过程中遇到的问题,为学校营造一种新的教学模式,从而提高工作效率。根据中国互联网信息中心(CNNIC)于2013年1月15日在北京发布的第31次中国互联网发展状况统计报告,截至2012年12月底,我国网民规模达到5.64亿,互联网普及率为42.1%,手机网民数量为4.2亿,年增长率达18.1%,远超网民整体增幅。此外,网民中使用手机上网的比例也继续提升,由69.3%上升至74.5%。家中接入互联网的比例继续走高,有91.7%的网民在家中上网,增幅达到3.4%,个人上网设备持有比例的提升和网络接入条件的改善是导致此现象产生的主要原因。截至2012年12月底,我国微博用户规模为3.09亿,较2011年底增长了5873万,网民中的微博用户比例达到54.7%。手机微博用户规模2.02亿,占所有微博用户的65.6%,接近总体人数三分之二。在线问题解答是指通过互联网把传统的问题解答、分析方法在线化、智能化。所谓在线问题解答系统是指利用Internet技术进行调研的一种方法。其大多应用于学校内部网站中。在线的问提解答已经成为传统调研形式的重要补充。在线问调查具有低成本、高速度、跨越空间局限等特点。由于在线问题解答依托网络技术,可以插入图片、音频、视频等等,使问题界面更加美观,并且易于更改。随着互联网的进一步普及,在线问题解答将会迅速成为学校,公众学习的主流方式。1.2项目提出的意义在线问题解答系统教学策略的设计应该着重提供给学生自主权,利用网络环境让学生主动的收集、探索,增加学生对学习活动的参与性。教师在学生的学习过程中充当帮助者的角色,为学生的学习提供充分的支持和保障。在线问题解答系统设计让学生根据自己的情况进行个别化的学习或协作学习。学生可以通过课程内容结构,一步一步系统地学习;也可以通过专题以及常见问题的解答所搭成的支架,来学习课程的综合应用;提供虚拟真实世界的某些环境,设置答疑专区,让学生能够在其中进行探索研讨。总之,让学生顺利的同化和顺应外来的知识。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索!12开发系统描述2.1系统的开发方法目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。另外,在线问题解答系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用SQLServer数据库系统和ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成在线问题解答系统各个功能模块的全过程,同时可进行远程系统维护和管理。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用JAVA技术,开发了基于B/S模式多用户在线问题解答系统这一程序。它运用方便、操作简单,效率很高。实现了用户注册、答疑版块管理、在线答疑、学生管理、教师管理、系统管理等功能,也就是说实现了真正的无纸化学习答疑,满足任何授权的用户可随时随地提问答疑等。2.2系统开发工具本设计以Sun公司的MyEclipse作为开发平台,采用JSP网络开发技术,以Tomcat服务器作为测试平台,以SQLServer作为数据库支持。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate等。JSP(JavaServerPages)技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页。Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支Java,也可以访问JSP网页。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JavaServlet是JSP的技术基础,2而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。利用Tomcat服务器可以方便的在设计过程中对设计进行测试,以便于更好的解决问题,带来更好的用户体验。Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。SQLServer使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,SQLServer提供的功能已经绰绰有余。2.2.1JAVA语言特点(1)平台无关性Java的一个显著优点就是运行时环境提供了平台无关性,它引进虚拟机原理,并运行于虚拟机,实现不同平台之间的Java接口。使用Java编写的程序能在不同的平台运行。Java的数据类型与机器无关,Java规范中没有“依赖具体实现”1的概念。Java中基本数据类型的大小及其算法都做了明确的规定。(2)安全性Java的编程类似C+,但舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供了安全管理器,防止程序的非法访问。(3)面向对象Java吸收了C+面向对象的概念,将数据和操作封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。(4)分布式Java建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。(5)健壮性Java致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出错的可能性。Java取消了C语言的结构、指针、#define语句、多重继承、goto语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用的内存空间。(6)多线程多线程可以带来更好的交互响应和实时行为。适当地使用多线程可以更充分地利用系统资源,使程序的效率大大提升。Java对多线程的处理十分简单,在不同的平台上,调用多线程的代码是完全相同的。32.2.2数据库简介随着科学技术的进步,信息已成为各行各业的重要资源。数据库以其强大的操作和管理功能成为高速信息表达的途经。据我所知,数据库的类型有很多,比如:sqlserver,vf,framework,access,OracleMySQLSYBASEDB2等等,然而本软件选择了用SQLServer2005来作为数据库软件。关于SQLServer2005的介绍:MicrosoftSQLServer2005是由Microsoft公司开发的,在MicrosoftSQLServer的发展历程中,有两版本具有重要的意义。那就是在1996年推出的SQLServer6.5和在2000年8月推出的SQLServer2005版本。6.5版本使SQLServer得到了广泛的应用,而2005版本在功能和易用性上有很大的增强,并推出了简体中文版,它包括企业版,标准版,开发版和个人版4个版本。MicrosoftSQLServer2005(简称SQLServer)由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。用SQLServer2005作为数据库软件的理由为:SQLServer2005能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQLServer2005还为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。作为一个完备的数据库和数据分析包,SQLServer2005为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServer2005是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力。2.2.3MyEclipse简介MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台,(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:(1)JavaEE模型(2)WEB开发工具(3)EJB开发工具(4)应用程序服务器的连接器(5)JavaEE项目部署服务(6)数据库服务(7)MyEclipse整合帮助4对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。2.3软硬件要求硬件需求:CPU:Pentium以上计算机内存:512M以上软件需求:操作系统版本:WindowsXP/vista/Win7开发工具:MyEclipse后台服务器:ApacheTomcat6.0开发语言:Java53需求分析要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。下面就对在线问题解答系统的设计进行需求分析。3.1可行性分析可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。(1)经济可行性:主要是对项目的经济效益进行评价,本系统开发经费在经济上是可以接受的,并且本系统实施后可以显著提高工作效率,提高教学质量。所以本系统在经济上是可行的。(2)技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了Browser/Server模式进行开发。Browser/Server体系结构紧密的结合了Internet/Intranet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器SQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。(3)操作可行性:本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练。而且本系统可视性非常好,所以在技术上不会有很大难度。(4)法律可行性:在线问题解答系统是自行开发的系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。3.2系统需要解决的主要问题首先,因为在线问答是面向特定的某些对象的,所以学生进入系统应该进行身份验证。进入系统可以对自己的密码进行修改。然后,学生需要在线提问以及回答问题等,所以系统管理者需要对教师学生以及论坛版块进行维护。63.3系统用户用例图3.3.1管理员用例图管理员是系统的核心用户,涉及到六大功能模块,管理员对系统的所有注册用户有着操作的权限,能够及时动态的掌握问题信息的各项情况。如图3.1所示。图3.1管理员用例图3.3.2普通用户用例图普通用户通过注册加入系统后,实现在线参与问卷调、浏览公告信息等功能。如图3.2所示。图3.2普通用户用例图73.4设计的基本思想设计思想遵循以下几点:1.采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。2.采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。3.采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4.简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。5速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。3.5性能需求1.系统的安全性问题解答系统在管理权限上要严格进行控制,具体要求如下:想登录问题解答管理系统进行操作,必须有操作权限,没有权限的用户不能通过任何方式登录系统,只能查看已有的问题和回复,以确保系统的严密性和安全性。2.数据的完整性1.各种记录信息的完整性,信息记录内容不能为空2.各种数据间相互联系的正确性3.相同数据在不同记录中的一致性3.6界面需求界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,J2EE技术是用JAVA语言作为脚本语言的,J2EE网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。1.输出设计输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户8需要和不需要的都提供给用户。2.输入设计输入数据的收集和录入需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点:(1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。(2)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。(3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。(4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误。94系统设计本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变得容易解决。模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能独立又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试。从而提高软件的可靠性,可修改性。有助于软件开发的组织管理。一个大型软件可分别编写不同的模块。模块化理论的几个重要概念如下:(1).抽象抽象就是抽象出事物的本质特性而暂时不考虑它们的细节。处理复杂系统唯一有效的方法是用层次的方式构造和分析它。一个复杂的动态系统首先可以用一些高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的理解,直到最低层次的具体元素。(2).信息隐蔽和局部化信息隐蔽是指在设计和确定模块时,应使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问。局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现信息隐蔽。信息隐蔽原理和局部化有助于在测试期间以及软件维护期间修改软件。因为绝大多数数据和过程对于软件的其它部分而言是隐蔽的,从而由疏忽引入的错误就很少可能传播到软件的其它部分。(3).逐步求精的模块化概念逐步求精和模块化的抽象是密切相关的。软件结构每一层中模块表示对软件抽象层次的次细化。用自顶向下,逐步求精的方法由抽象到具体的方式分配控制,简化了软件设计和实施,提高了软件的可理解性和可测试性,并使得软件更容易维护。(4).模块独立性模块的划分要使模块间尽可能的相互独立,独立模块较易维护。度量模块的独立程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数。在软件的设计中应追求尽可能松散的耦合。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块只做一件事情。在设计时应力求做到高内聚1。104.1基本简介该系统是专门用于在线答疑、登录、答疑查询的应用web程序。它应该具有开放性、方便性和灵活性。管理员可以轻松地管理答疑的内容以及教师和学生的管理帐号等信息。4.2运行环境为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:软件环境:客户端:Windows7,InternetExplorer(IE)等服务器端:Windows7,InternetInformationServer(IIS)6.0及其以上版本,IE等。数据库:SQLserver,运行于服务器端。硬件环境:服务器CPU:双核以上,内存:1G以上客户机CPU:双核以上,内存:1G以上4.3系统结构图根据需求分析,在线问题解答系统的结构如下图4.1。在线问题解答系统11图4.1系统结构图4.4系统性能除了满足用户的功能要求外,系统的性能要求也很重要。系统的性能要求通常包括:运行时间、存储容量、界面的友好性、系统的安全性、可靠性以及容错能力等。系统的性能要求应按以下几个方面确定:(1)容量要求:确定系统的容量,如处理的记录数和处理数据的最大容量等。(2)精度要求:确定系统的精度。如数据或数值计算的精度和数据传输的精度等。(3)时间特性要求:确定系统的时间特性,如处理时间、响应时间及其峰值负载期间允许偏离范围,系统各项功能的关系。(4)适应性要求:必须指明反映系统环境变化和系统适应能力的各种参数。如当需求发生变化时,系统的适应能力,并指出为适应这些变化而需要设计的软件和过程。(5)界面友好性:要有适应用户特点的智能化人机交互界面,以便用户经过简单的培训就可操作使用。(6)系统可靠性:为提高系统可靠性必须采用模块化和结构化设计,提高系统的容错能力,并保障系统不会因人为的操作错误而死机或崩溃。如果系统对时效要求非常高,还必须考虑双机系统和磁盘阵列等措施。此外,还应采用可靠的供电设备。对信息系统的性能而言,其要求是:信息查询的平均响应时间、连接的终端数、数据存储容量、可扩充存储容量(可存储几年、几个月的数据)、打印报表的种类和数量等。124.5系统功能描述4.5.1前台系统功能描述(1)用户浏览模块完成用户对问题解答系统的内容的浏览,问题解答系统内容是分类存放的,用户可以浏览自己感兴趣的问题内容。这是前台管理模块的主要功能。(2)回复模块当用户浏览完自己感兴趣的问题后,可以对问题发表自己的评论,也可以提出自己的疑问。(3)问题解答系统搜索模块由于网站的问题量比较大,用户想要浏览某个特定的问题时,可以使用此功能来查找,以便快速定位,可以输入关键字,按文章发布系统的标题和文章发布系统的内容进行查找。4.5.2后台系统功能描述(1)用户管理模块用户管理模块包括添加用户,对用户基本信息的浏览,更改用户密码等功能。(2)添加问题解答系统内容模块此模块完成文章发布系统内容的添加的功能。需要输入要添加问题的标题,文艺的内容,所提出问题的类别,发布人的信息等。此处添加的问题将在前台系统中以分类的形式进行显示。(3)问题解答管理模块此模块的功能是对已有的问题的各项信息进行修改,对过期的问题进行删除操作。(4)评论管理模块此模块的功能是对用户的评论信息进行修改或删除。4.6详细设计详细设计是整个设计过程中,最重要的步骤之一。下面就分如下几个部分对系统进行详细设计:(1)用户个人信息设计(2)数据库中表的设计(3)数据库逻辑ER图设计(4)功能模块的详细设计(5)主要模块的流程图显示。4.6.1用户个人信息设计用户个人信息设计,首先应该实现用户名和密码的设计。用户名要求不能为空、重复,密码输入的两次信息应该一致,然后应该实现用户名密码的修改,最后要求管理员对用户的维护操作。4.6.2数据库中表的设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:13*每一个实体要转换成一个关系*所有的主键必须定义非空(NOTNULL)*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据E-R模型,问卷调查管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。数据库名称为db_dayi。(1)管理员信息表,如表4-1所示。表4-1管理员信息表表名字段名数据类型空/非空字段说明字段说明userIdint(4)非空主键自增列userNamevarchar(50)空登录名t_admin(管理员)userPwvarchar(50)空密码(2)学生信息表,如表4-2所示。表4-2学生信息表表名字段名数据类型空/非空字段说明字段说明idint(4)非空主键自增列loginnamevarchar(50)空用户名loginpwvarchar(50)空密码t_user(学生)xuehaovarchar(50)空学号表4-2学生信息表(续)表名字段名数据类型空/非空字段说明字段说明namevarchar(500)空姓名sexvarchar(50)空性别agevarchar(50)空年龄typeint(4)空类别t_user(学生)delvarchar(50)空是否删除(3)教师信息表,如表4-3所示。表4-3教师信息表表名字段名数据类型空/非空字段说明字段说明idint(4)非空主键自增列bianhaovarchar(50)空编号namevarchar(50)空姓名t_tea(教师)sexvarchar(50)空性别14agevarchar(50)空年龄loginnamevarchar(50)空登录名loginpwvarchar(50)空密码delvarchar(50)空是否删除(4)问题管理表,如表4-4所示。表4-4问题管理表表名字段名数据类型空/非空字段说明字段说明idint(4)非空主键自增列titlevarchar(50)空标题contentvarchar(5000)空内容fujianvarchar(50)空附件user_idint(4)空用户idt_wenti(问题)tea_idint(4)空教师id(5)问题回复管理表,如表4-5所示。表4-5问题回复管理表表名字段名数据类型空/非空字段说明字段说明idint(4)非空主键自增列titlevarchar(500)空标题contentvarchar(5000)空内容shijianvarchar(50)空附件zhuti_idint(4)空问题idt_huifu(问题回复)huifuzhe_leixingint(4)空回复人类型(6)板块管理表,如表4-6所示。表4-6板块管理表表名字段名数据类型空/非空字段说明字段说明t_catelogidint(4)非空主键自增列15namevarchar(50)空名称jieshaovarchar(500)空介绍(板块)delvarchar(50)空是否删除(7)主题管理表,如表4-7所示。表4-7主题管理表表名字段名数据类型空/非空字段说明字段说明idint(4)非空主键自增列titlevarchar(50)空标题contentvarchar(50)空内容fujianvarchar(50)空附件fujianYuanshimingvarchar(50)空附件原始名shijianvarchar(50)空时间user_idint(4)空用户idcatelog_idint(4)非空板块idt_zhuti(主题)delvarchar(50)空是否删除4.6.3数据库逻辑设计ER图1.实体与属性之间的关系E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。(2)属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。(4)在程序中实现对他们的完整性和一致性控制。2.数据库的ER图数据库的E-R图如图4.2所示。16教师表学生表1:n板块表管理员问题表1:n1:n1:nn:1回复表1:n1:n1:n1:n图4.2ER图4.6.4主要模块的流程图用户管理如图4.3所示。用户管理添加用户删除用户用户信息删除完成新的用户信息添加完成修改用户用户信息修改完成图4.3用户管理流程图答疑模块如图4.4所示。17教师/学生提问回复图4.4答疑模块流程图5系统程序实现5.1index(系统主界面)在浏览器里运行本系统,出现系统的主界面,包括论坛板块、问题内容、搜索内容以及内容发布等。如图5.1所示。18图5.1系统主界面图代码实现过程如下:publicclasscatelog_servletextendsHttpServletpublicvoidservice(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOExceptionStringtype=req.getParameter(type);if(type.endsWith(catelogAdd)catelogAdd(req,res);if(type.endsWith(catelogDel)catelogDel(req,res);if(type.endsWith(catelogMana)19catelogMana(req,res);if(type.endsWith(catelogAll)catelogAll(req,res);if(type.endsWith(catelogDetail)catelogDetail(req,res);publicvoidcatelogAdd(HttpServletRequestreq,HttpServletResponseres)Stringname=req.getParameter(name);Stringjieshao=req.getParameter(jieshao);Stringdel=no;Stringsql=insertintot_catelogvalues(?,?,?);Objectparams=name,jieshao,del;D

温馨提示

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

评论

0/150

提交评论