在线作业及答疑系统(1)_第1页
在线作业及答疑系统(1)_第2页
在线作业及答疑系统(1)_第3页
在线作业及答疑系统(1)_第4页
在线作业及答疑系统(1)_第5页
已阅读5页,还剩33页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

摘 要随着计算机技术、网络技术的发展,建设一个可靠、高效的在线作业和答疑系统来减少专门课程教师的工作量,方便教师和学生的工作和学习,及时、正确地处理学生学习中存在的各种问题,在学生和老师之间建立一个良好的教学、学习的平台以及交流的平台是很必要的,也能很好的作为传统教育方式的一种有利的补充。论文所设计的的是一个基于B/S结构的基于WEB的“C+”在线作业和答疑系统,系统分了教师模块和学生模块。该在线作业和答疑系统主要实现的功能有:C+课程的作业管理(包括作业的布置、在线完成、批阅、管理等),简单的习题库管理、在线答疑管理、学习资料管理(包括资料上传和下载等)。详细说明了数据库的设计,以及系统各功能的实现。关键词:作业及答疑系统;B/S结构;数据库AbstractWith the development of computer technology, network technology, construction of a reliable, efficient online homework and question answering system to reduce workload of specialized course teachers, teachers and students work and study convenient, timely and properly deal with all kinds of problems existing in the students learning, to establish a good teaching, learning platform and communication platform is necessary between the students and the teacher, also can very good education as the traditional way of a favorable supplement.The design of this paper is based on the B/S structure of the WEB C+ online homework and question answering system, the system divides the teacher module and student module. The online homework and question answering system mainly realizes the functions: C + + program for the operation management (including homework arrangement, completed online, grading, management, etc.), simple exercise library management, online FAQ management, learning data management, including data upload and download. Detailed description of the database design, as well as the realization of the function of the system.Key words: job and question answering system; B/S structure; database目 录1 绪论11.1 课题背景11.2 系统开发环境及开发平台11.2.1 系统开发环境11.2.2 系统开发平台简介12 系统开发技术介绍42.1 系统的B/S结构42.1.1 B/S结构简介42.1.2 B/S架构软件的优势与劣势42.1.3 B/S框架与C/S框架的联系与区别52.2 MVC及SpringMvc62.2.1 MVC72.2.2 Sping Mvc82.3 Hibernate83 系统分析103.1 任务描述103.2 用UML用例图描述系统需求103.2.1 用例图简介103.2.2 系统用例分析103.3 功能分析114 系统的设计与实现134.1 数据库的设计与实现134.1.1 数据库Mysql简介134.1.2 数据库结构设计144.1.3 数据库加载和调试174.2 功能模块的设计与实现174.2.1 系统登录注册模块174.2.2 管理员管理模块204.2.3 老师功能模块214.2.4 学生模块235 系统测试与维护275.1系统测试275.2 网站维护295.2.1 维护内容295.2.2 维护方案29结 论31致 谢32参考文献331 绪论1.1 课题背景用计算机操作来实现在线学习与答疑项目的管理,减少教师的工作量,提高教师的工作效率,极大地调动了学生的积极性,有一个问题可以发表,还有其他同学共同解决问题。在线作业及答疑项目系统实现系统性、关联性、即时性、针对性等特点,采用新的管理模式来代替原有的管理模式,用户通过计算机实现了操作管理,使教师和学生从繁杂的事务中解放出来,提高管理水平,提供及时、准确的服务。在互联网蓬勃发展的今天,网络与我们的生活变得越来越密不可分,网络正引领着一个新时代。所以我们利用互联网技术开发一个开放、实时、快速、全面的信息发布平台。1.2 系统开发环境及开发平台1.2.1 系统开发环境1.硬件环境(1) CPU:Duo T5600 1.83GHz;(2) 内存:512MB以上;(3) 硬盘:100G.。2.软件环境(1) 操作系统:Windows 7;(2) 数据库:Mysql;(3) 开发工具包:JDK1.5.0;(4) 服务器:Tomcat;(5) 浏览器:IE 7.0。1.2.2 系统开发平台简介1.系统开发平台本系统界面的显示用的是JSP,所以采用MyEclipse,Tomcat为主要开发工具,然后结合Dreamweaver,Mysql数据库管理系统与Windows7操作系统进行。既考虑了系统的需求,又兼顾了运行的效率,以及今后系统的功能拓展等。2.Tomcat简介Tomcat服务器是一个免费的开放源代码的Web 应用服务器。Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat因为它占用系统资源很小,很好的扩展性,负载平衡和信息服务,系统开发和应用常用的功能,它是不断改进和完善,任何感兴趣的程序员可以改变它或添加新的功能,因为它占用系统资源是非常流行的。Tomcat目录结构:/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml/doc:存放Tomcat文档/server:包含三个子目录:classes、lib和webapps/server/lib:存放Tomcat服务器所需的各种JAR文件/server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用/common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件/shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)/logs:存放Tomcat执行时的日志文件/src:存放Tomcat的源代码/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录/work:存放JSP编译后产生的class文件3.MyEclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,我们可以用它在数据库和J2EE开发、发布和应用服务器的整合,大大提高了工作的效率。这是一个J2EE集成开发环境的功能,包括完整的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。Genuitec发布了MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EE IDE市场一个重量级的选手。通过增加UML双向建模工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Web services支持,以及新的Oracle数据库开发,MyEclipse 5.0继续为业界提供全面的产品。2 系统开发技术介绍2.1 系统的B/S结构2.1.1 B/S结构简介B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,网络浏览器是客户端的主要应用软件。该模型统一了客户端,系统功能实现了对服务器的关键部分,简化了系统开发、维护和使用。 客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或Mysql等数据库。B/S模式体系结构的原理如图2-1所示,浏览器通过Web Server 同数据库进行数据交互。Web浏览器Web服务器应用服务器HTTP请求HTML界面结果SQL请求数据库服务器图2-1 B/S模式体系结构原理图B/S最大的优点是你可以在任何地方操作,而不需要安装任何特殊的软件。只要有一台电脑可以使用互联网接入,零客户端维护。该系统易于扩展。B/S结构的使用越来越多,特别是由需求驱动的,Ajax技术的发展,程序也可以进行部分处理在客户端计算机上,从而大大减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。2.1.2 B/S架构软件的优势与劣势维护和升级方式简单。目前,软件系统正变得越来越频繁,而且产品的结构也越来越方便。对于一个稍微大一点的单位,系统管理者如果需要在几百甚至几万台电脑上来回运行,效率和工作量是可想而知的,但乙的结构的软件只需要管理服务器,所有的客户端浏览器只,不需要做任何维护。不管用户的规模有多大,多少分公司都不会增加任何维护和升级的工作量,所有的操作只需要服务器;如果是远程的,只需要服务器连接到网络就可以实现远程维护、更新和共享。因此客户端越来越“瘦”,而服务器端的“胖”则是未来信息技术发展的主要方向。未来,软件升级和维护将变得越来越容易,而使用它会越来越简单,这是用户的人力、物力、时间,节约成本是明显的,令人惊讶的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。降低成本,选择更多。我们都知道,在桌面电脑上的窗口几乎是占主导地位的世界,浏览器一直是标准配置,但在服务器操作系统,窗口并不是绝对优势。现在的趋势是,使用的是乙/秒架构的应用管理软件,只安装在服务器上,可以和高安全性。所以服务器操作系统的选择是很多的,不管选择哪一种操作系统都可以使大多数人使用视窗作为桌面操作系统的电脑是不会受到影响的,这使得最流行的免费的操作系统已经发展迅速,除了操作系统是免费的,甚至是免费的数据库,这个选择是很受欢迎的。例如,每天有很多人在新浪网,只要浏览器安装,不需要知道什么操作系统“新浪”服务器,其实大部分的网站是真的没有用到视窗操作系统,但用户的电脑安装本身作为一个窗口操作系统。应用服务器运行数据负载更重要。由于B/S架构管理软件安装在服务器上,网络管理人员只需要管理服务器,在服务器的用户界面完全通过WWW浏览器实现业务逻辑,小业务逻辑在客户端实现,所有的客户端只是浏览器,网络管理人员只需要做硬件维护。然而,应用服务器的运行数据重负载,一旦服务器“崩溃”等问题,后果难以忍受。因此,许多单位都配备了数据库存储服务器,以防万一。2.1.3 B/S框架与C/S框架的联系与区别C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,在前面的一个业务逻辑,但是主要事务逻辑在服务器端实现。浏览器通过网络服务器数据库与数据交换。C/S 与 B/S 区别:(1)硬件环境不同C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。B/S建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理。有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。(2)对安全要求不同C/S一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S 结构适宜。可以通过B/S发布部分可公开信息。B/S 建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。(3)对程序架构不同C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S有更高的要求 B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean构件技术等,使 B/S更加成熟。(4)软件重用不同C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。B/S面对的多重结构,要求构件相对独立的功能,能够相对较好的重用,就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。(5)系统维护不同C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级。升级难,可能要再做一个全新的系统。B/S 构件组成,方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。(6)处理问题不同C/S该程序可以处理用户平面的固定,并在同一地区,高安全性要求与操作系统相关的要求,系统应是相同的。B/S基于广域网,对于不同的用户群和地域分散,这是不可能的。操作系统平台最小。(7)用户接口不同C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流。并且大部分难度减低,减低开发成本。(8)信息流不同C/S程序一般是典型的中央集权的机械式处理,交互性相对低。B/S信息流向可变化, B-B B-C B-G等信息、流向的变化,更像交易中心。2.2 MVC及SpringMvc2.2.1 MVCMVC模式是Model-View-Controller的缩写,中文翻译为模式-视图-控制器。即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模,接口已成为具有挑战性的处理。一个应用可能有很多不同的意见,要处理的数据采集和处理的只是视图的MVC设计模式,和用户的要求,不包括在业务流程视角。业务流程的处理模型(模型)。例如,一个订单视图只接收来自模型的数据并将其显示给用户,以及用户界面的输入数据和控制和模型的请求。 模型(Model):是业务流程/流程的状态和业务规则的发展。另一层业务流程的过程是“黑盒子”操作和模型接受请求查看数据,并返回最终结果。业务模型的设计可以说是MVC的核心。EJB的流行的模型是一个典型的应用例子,它从技术实现模型做进一步的划分中的应用角度出发,以充分利用现有的组件,但它不能作为应用设计模型框架。它只告诉你,这个模型的设计,可以使用,使使用某些技术组件,从而减少了技术上的困难。对于开发者来说,你可以专注于商业模式设计。MVC设计模式告诉我们,根据一定的规则提取模型的应用,提取的水平是非常重要的,这是决定是否按照设计的发展。抽象与具体的不可分开太远,不太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,子类,告诉它你必须要这样做,但你不能做这些限制。这是开发者的编程很重要。还有一个商业模式的模型是非常重要的,数据模型。数据模型主要是指对象数据实体(续)。这样的命令将被保存到数据库中,以获得来自数据库的命令。我们可以把这个模型单独的,所有的数据库的操作仅限于模型。 控制(Controller)可以理解接收来自用户的请求,该模型将与视图相匹配,以完成用户的请求。控制层的作用也很明显,它清楚地告诉你,它是一个分销商,选择什么样的模型,选择什么样的视图,你可以完成什么样的用户请求。控制层不做任何数据处理。例如,当用户点击一个链接时,控制层接收到请求,不处理业务信息,它只会把用户的信息传递给模型,告诉模型做什么,选择视图返回给用户以满足要求。因此,模型可以对应多个视图,一个视图可以对应多个模型。模型、视图和控制器的分离,可以用多个视图显示模型。如果用户通过视图控制器更改模型数据,所有其他依赖于这些数据应反映在这些变化的观点。因此,不管发生什么变化时,该控制器将被通知的所有更改视图,显示更新。这实际上是一个变化的传播机制模型。模型、视图和控制器三者之间的关系及其主要功能,如图2-2所示。模型封装应用程序状态响应状态查询应用程序功能通知视图改变视图解释模型模型更新请求发送用户输入给控制器允许控制器选择试图控制器定义应用程序行为用户动作映射成模型更新选择响应的视图 视图选择用户请求状态改变状态查询通知改变方法调用事件图2-2 MVC组件类型的关系和功能2.2.2 Sping MvcSpring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。Lifecycle for overriding binding, validation, etc.;易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得 spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比 struts所没有的优势。而且框架本身有代码,而且看起来也不费劲比较简单可以理解。2.3 HibernateHibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。从这个意义上来说,Hibernate和EB不是一个范畴的东西,也不存在非此即彼的关系。Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题。Hibernate不能用来直接和Entity Bean做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而不是Entity Bean的替代者出现的,让我再列一次我已经列n次的框架结构:传统的架构:1、 Session Bean Entity Bean DB为了解决性能障碍的替代架构:2、 Session Bean DAO JDBC DB使用Hibernate来提高上面架构的开发效率的架构: 3、 Session Bean DAO Hibernate DB就上面3个架构来分析:1、内存消耗:采用JDBC的架构2无疑是最省内存的,Hibernate的架构3次之,EB的架构1最差。2、运行效率:如果JDBC的代码写的非常优化,那么JDBC架构运行效率最高,但是实际项目中,这一点几乎做不到,这需要程序员非常精通JDBC,运用Batch语句,调整PreapredStatement的Batch Size和Fetch Size等参数,以及在必要的情况下采用结果集cache等等。而一般情况下程序员是做不到这一点的。因此Hibernate架构表现出最快的运行效率。EB的架构效率会差的很远。3、开发效率:在有JBuilder的支持下以及简单的项目,EB架构开发效率最高,JDBC次之,Hibernate最差。但是在大的项目,特别是持久层关系映射很复杂的情况下,Hibernate效率高的惊人,JDBC次之,而EB架构很可能会失败。4、分布式,安全检查,集群,负载均衡的支持。由于有SB做为Facade,3个架构没有区别。3 系统分析3.1 任务描述为了实现网络化、科学化、现代化的在线学习与答疑管理系统,使用 JSP、Spring Mvc和JavaBean及数据库技术相结合,编写一个B/S结构的在线学习与答疑管理系统。通过在线学习和问答管理信息平台,实现网络管理软件,在线学习和答疑,形成及时更新到项目数据中心和项目管理平台,全面、实时、准确地提供相关项目的信息。3.2 用UML用例图描述系统需求3.2.1 用例图简介用例图用来描述系统与参与者之间的相互作用,也可以说它是从用户角度出发对如何使用系统的描述。首先要理清下面几个概念:角色:角色代表了某一事件发生的参与者,他用一个小人表示。在通常的网络项目中,角色常被用来代表使用系统的用户(管理员、用户等),但角色的作用并不局限于此,它也可以用来代表与系统交互的其他实体。用例:用例表示系统可以实现的功能,通常是一个用例表示一组功能,它基本上提供了系统的范围,实现功能。在实际项目开发过程中,一个项目往往涉及大量的用例,这个时候需要分解成若干个子系统来实现,以便于理解。在UML中的用例,表示为一个椭圆形的。用例图:当角色和用例,都与一个图形,这是使用情况图,演员和使用情况下使用一个与箭头线连接,箭头方向的用户和用户之间的关系。3.2.2 系统用例分析在线学习与答疑管理网站允许用户有三种身份:管理员,老师和学生,每种身份操作起来都很方便、快捷。、这些用户的基本信息都有管理员对其统一管理。系统网站用例图如图3-1所示。发表回复答疑下载提交作业学习总结添加用户答疑查看批改作业布置作业添加课程浏览课程管理员老师学生图3-1 系统用例图3.3 功能分析根据前面对在线学习与答疑管理的分析,可将其划分成学生,老师和管理员三部分。软件的主要模块和功能如下:管理员功能:1.添加用户老师:1.添加作业2.回复答疑3.批改作业4.添加课程学生:1.完成作业2.发表答疑,回复答疑3.学习总结4.浏览课程图3-2系统图4 系统的设计与实现4.1 数据库的设计与实现4.1.1 数据库Mysql简介Mysql是一种典型的关系型数据库管理系统,可以在许多操作系统上运行,它使用Transact-SQL语言完成数据操作。由于Mysql是开放式的系统,其它系统可以与它进行完好的交互操作。本系统采用的数据库版本为Mysql5.5,它具有可靠性、可扩展性、可用性、管理等特点,为用户提供完整的数据库解决方案。美国Oralce公司推出的这种关系型数据库系统。Mysql是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,提供了基于事务的企业级信息销售管理系统方案。其主要特点如下: (1) 在企业管理器中有图形化界面,方便使用(2) 系统管理先进,支持本地的系统管理和配置(3) 强大的事务处理功能,采用各种方法保证数据的完整性(4) 支持对称多处理器结构、存储过程、并具有自主的SQL语言Mysqlr以其内置强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。SQL全称是“结构化查询语言(Structured Query Language)”,它的前身是广场语言。SQL语言结构简单,功能强大,简单易学,所以自推出以来,已被广泛使用的SQL语言。目前,SQL语言已被确定为关系型数据库系统的国际标准,商业关系数据库系统绝大多数采用如Oracle、Sybase、DB2、Informix、SQL Server数据库管理系统,支持SQL作为查询语言。结构化查询语言SQL是关系代数和微积分之间的语言关系,其功能包括查询、操纵、定义和控制四个方面,是关系数据库标准语言的通用功能。SQL语言有着非常突出的优点,主要是:1非过程化语言SQL是一种非程序性语言,因为它是一个记录的记录,提供自动导航的数据。SQL允许用户在高层数据结构上工作,而不是一个单一的操作记录,对记录集操作。所有SQL语句都被接受作为输入,并返回集合作为输出。SQL的集合特性允许一条SQL语句输入到另一个SQL语句的结果。SQL不要求用户指定的数据存储方法。此功能允许用户集中更多的结果,将获得。使用查询优化器所有SQL语句,这是数据库的一部分,由指定的数据决定访问的最快方法。查询优化程序知道有没有索引,在适当的情况下,用户不需要知道该表是否有索引,该索引是什么类型的。 2统一的语言SQL可用于所有用户的数据库活动模型,包括系统管理员、数据库管理员、应用程序开发人员、决策支持系统人员和其他许多类型的终端用户。基本的SQL命令只需要一点时间来学习,最高级的命令在几天就能掌握。SQL为许多任务提供了命令,包括:(1) 查询数据。(2) 在表中插入、修改和删除记录。(3) 建立、修改和删除数据对象。(4) 控制对数据和数据对象的存取。(5) 保证数据库一致性和完整性。以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。3是所有关系数据库的公共语言。SQL是所有关系数据库的通用语言,由于所有主要的关系数据库管理系统都支持SQL语言,SQL用户可以使用从一个RDBMS技能到另一个。所有用SQL编写的程序都是可以移植的。4.1.2 数据库结构设计数据库的概念结构转变是由MySQL系统模型支持实际的数据,是数据库的逻辑结构,为课程的数据库名称,数据库课程包含用户信息、附件信息、学生作业、作业、答疑的细节,研究总结,对课程信息。经过仔细的分析系统,需要9个数据表来实现数据存储在系统中。表4-1用户信息表 (sys_user)字段名称数据类型长度备注Idint211Primary, Not Null Usernamevarchar50Not NullPasswordvarchar50Not NullNamevarchar55Not NullTypeInt1Not NullDiabledInt1Not Null表4-2小组表(sys_group)字段名称数据类型长度备注IdInt11Primary, Not NullNamevarchar55Not NullTeacher_idInt11Not Null表4-3作业表(sys_home_work)字段名称数据类型长度备注IdInt11Primary, Not NullAttachment_idInt11Not NullUser_idInt11Not NullTeacher_idInt11Not NullCreate_dateDateNot NullNamevarchar55Not Null表4-4学生作业表(sys_home_work)字段名称数据类型长度备注IdInt11Primary, Not NullAttachment_idInt11Not NullStu_idInt11Not NullTeacher_idInt11Not NullCreate_dateDateNot NullStatusInt1RemarkvarcharHome_idInt11表4-5附件表(syst_attachment)字段名称数据类型长度备注IdInt11Primary, Not NullNamevarchar55Not NullPathvarchar55Not NullPidInt11Not NullUidInt11Not NullTypeInt1Not Null表4-6答疑表(sys_message)字段名称数据类型长度备注IdInt11Primary, Not NullTitleVarchar55Not NullUser_idInt11Not NullTeacher_idInt11Not NullCreate_dateDateNot NullContentvarchar55Not Null表4-7答疑明细表(sys_message_item)字段名称数据类型长度备注IdInt11Primary, Not NullUser_idInt11Not NullMessage_idInt11Not NullCreate_dateDateNot NullContentvarchar55Not Null表4-8课程表(sys_course)字段名称数据类型长度备注IdInt11Primary, Not NullUser_idInt11Not NullNamevarchar55Not NullContentvarchar255Not Null表4-9学习总结表(sys_summary)字段名称数据类型长度备注IdInt11Primary, Not NullUser_idInt11Not NullStu_home_idInt11Not NullCreate_dateDateNot NullSummaryvarchar55Not NullTitleVarchar554.1.3 数据库加载和调试数据库事实阶段包括两个重要的工作,一个是数据加载,另一个是编码和调试的应用。加载测试贯穿整个程序测试工作的全过程,整个输入、修改、查询和处理都可以看作是数据库的加载试验。一般数据库、数据是各单位的数据源,数据的组织、结构和格式都与数据库系统的设计有相当大的差距,组织数据录入到每个本地应用和计算机输入、分类、新的符号设计数据库结构中,进入数据库,所以这个数据转换、存储组织工作是相当费时费力的工作。尤其是原来的系统是手动数据系统,各种数据分散在各种形式,原始文件,句子。在新的数据库系统中输入数据,而且要处理大量的文件文件,工作量甚至更大。由于不同的应用环境,没有大的差异,没有通用的转换器,数据库管理系统产品不提供通用的转换工具。为了提高数据输入的效率和质量,必须针对特定的应用环境设计数据输入子系统,并将数据存储的任务由计算机完成。因为格式存储的数据在原来的系统和新系统是不完全一样的,有些差异也可能比较大,不仅对计算机输入数据容易出错,转换过程可能是错误的。因此,在原来的数据存储之前,我们应该使用各种方法来测试它们,以防止不正确的数据存储,这部分的工作是非常重要的,在整个数据输入子系统。在数据录入子系统的设计中必须注意原系统的特点,如对原有系统进行数据处理系统,而新系统的数据结构可能与原来的系统不同,在数据输入子系统的设计上,尽量使输入格式与原有系统具有类似的结构,这不仅使手工文件的处理更方便,更重要的是减少了对用户的错误,保证了输入数据的质量。实际的数据库应用程序应该同时设计数据库,所以在组织数据存储的同时要进行应用程序的调试和分析。4.2 功能模块的设计与实现4.2.1 系统登录注册模块用户输入用户名和密码,系统根据用户输入用户名和密码,到数据库中查询所有用户的信息,如果没有用户信息,那么用户就无法登录,需要添加管理员。如果对应用户信息,用户是一个合法的用户登录是成功的,在这个时候要确定用户的身份,如果你是一个老师,要普通教师界面;如果你是系统管理员,要去后台工作界面。如果是学生,学生可以注册。然后进入系统。开 始输入用户名和密码判断用户名和密码是否正确管理员?管理员?错误提示否是否成功登录管理员界面成功登录学生,助教,老师界面结 束是图4-1登录判断流程图图4-1 用户登陆页面图4-2 登陆错误页面图4-3 注册页面4.2.2 管理员管理模块管理员可以对用户进行管理。图4-4用户列表图4-5 添加用户图4-6 删除用户4.2.3 老师功能模块老师登录系统后,可以在他的学生组工作。学生登录系统后,会看到自己的布局工作在自己的列表中。老师布置的作业,是上面附着的形式,学生下载附件完成作业,然后提交。老师可以管理自己的课程,可以输入课程名称。学生可以看到所有的课程,他们属于他们的老师后,他们登录。老师可以批改作业。对学生的作业进行打分评价图4-7 老师布置作业只有老师才能对作业进行修改。图4-8 作业列表图4-9 批改作业列表图4-10 批改作业图4-11 课程列表图4-12 添加课程4.2.4 学生模块学生进入系统后。可以看到自己需要完成的作业。可以在列表的除件字段上点击直接下载附件,下载完后。完成后。点击后面的“完成作业”的按钮,进入到完成作业页面。上传自己成的作业。 图4-11 作业列表图4-12 下载附件图4-13 完成作业学生可以从“我做过的作业”菜单里看到自己提交的作业,可以对当前作业填写总结。如果助教已经批发。则状态就是“已打分”。并且有分数和评语。图4-14我提交的作业列表图4-15 填写总结图4-16 我的所有总结列表学生如果有遇到困难的问题,可以在组里发表答疑。大家登入后都可以来答疑。图4-17 答疑列表图4-18 添加答疑图4-19 回复答疑5 系统测试与维护5.1系统测试系统测试包括集成两个或更多的实现系统功能或系统特点的组件。然后再测试这个集成的系统。在重复开发软件的过程中,系统测试包括测试交给用户的增长部分。在瀑布处理过程,系统测试包括测试整个系统。对大部分复杂的系统,系统测试包括两个主要的阶段:集成测试,在测试过程中,测试团队可以得到系统的源代码。发现问题后,测试组试着找出问题的根源,然后确认需要测试组件。一体化测试主要是为了找出系统中的漏洞。开放测试。该系统的版本可以对用户进行开放测试,在这个过程中,测试团队主要是为了使系统能够满足用户的需求,同时保证系统的可靠性。公开测试版也被称为黑盒测试,测试团队只需要在测试系统中就可以正常工作,并发现问题的开发团队来处理,他们的工作是调试程序。有用户参与的测试有时也被称为识别测试。如果打开测试结果很好,系统会使用用户可能。基本上,你可以把集成测试作为测试系统的一组系统组件是不完美的。公开测试包括测试系统的用户。自然,2种测试都会存在,特别是由于大量的开放和开放系统不完整,总之,集成测试应该是一个优先找到漏洞的系统,系统测试应优先考虑,使系统能够满足用户的需求。然而,事实上,在这个过程中会有有效的测试和缺陷测试组件。1.集成测试系统集成的过程,包括系统的组成、组件的测试和集成系统的测试,看看组件之间是否存在相互作用的问题。集成组件可重用组件。对于许多大系统,这三种类型的所有组件都可以使用。集成测试这些组件实际上是协同工作,正确的调用和数据通过接口在适当的时间传输。系统集成包括识别组件系统功能的组件部分,并通过添加代码使它们一起工作。有时,首先是系统的形成的整体框架,然后将组件添加到它,这是所谓的自上而下的整合。其中的一个,可以首先集成结构组件提供通用的功能,比如网络和数据库接口,然后添加功能组件,这是自底向上的集成。事实上,对于许多系统,用积分法,结构组件和功能组件添加到系统中。自上而下和自底向上的整合,您经常需要填写额外的代码来模拟其他组件,可以使系统运行。在综合测试中只要问题是找到错误。由于系统组件之间存在复杂的相互作用,因此,当异常输出时,可能会很难确定发生错误的地方。要让它更容易知道错误是哪里,您应该经常使用增量方法来系统集成和测试。首先,你应该设计一个小系统,并测试它。然后将组件添加到系统中,然后测试该系统的附加部分。当你想进行集成测试,你必须决定每个组件的集成顺序,在XP操作系统下,用户会在每一个系统开发过程中添加功能决定应该添加的功能。因此,系统整合的优先级由用户驱动的其他方法在开发的各个组成部分,特别是集成开发组件,用户有可能不参与,并由开发团队,以确定优先级的集成。在这些情况下,但通过实践的经验是把组件集成到实现最常用的功能,这意味着最常见的组件是最经常测试,例如,在图书馆管理系统,您应该首先集成图书搜索功能,因此,即使在小系统,用户可以查询他们需要的文件。然后添加允许用户下载文件的功能,然后添加大量的组件来执行其他系统的功能。当然,事实上,这一模式的简单性很少见,系统功能的实现可能需要大量的组件。要测试一个新的功能,您可能需要整合几个不同的组件,测试结果可以显示由单个组件和系统的其余部分之间的相互作用引起的错误。修改测试和集成新组件将改变已测试的组件之间的交互模式。不能在一些简单的测试中发现的错误,将在这里检查。这些问题意味着,当一个新的功能集成,只要新的测试要求,修改新的系统功能,然后重新测试的功能,然后加入它是非常重要的。进行一系列测试的测试称为回归测试。如果回归测试的问题,或者它是由于新的模块,这些问题是创建。很显然,回归测试是相当昂贵和不切实际的,而不支持一些自动化操作。在极端的编程,所有的测试都写在可执行代码,其中输入和期望的结果是确定的,以及自动检查。如果你使用像JUnit自动化测试框架的模块,这意味着测试可以重新执行,极限编程的一个基本原则是无论何时你将新的代码,整个测试集的执行,直到测试成功接收新代码。2.单元测试单元测试是测试系统中的个人组件的过程。这是一个缺陷的测试过程,因此,它的目标是发现这些组件中存在的错误,大多数系统组件开发人员负责组件测试。在这个阶段可能会测试不同类型的组件。(1) 一个对象中的单独函数或方法。(2) 具有多个属性和方法的类(3) 由复合组件组成的几个不同对象或函数。这些复合组件定义了一个使用本身功能的接口。分开的函数或方法是最简单类型的组件,你的测试就是一系列使用不同输入参数对这些程序进行的调用

温馨提示

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

最新文档

评论

0/150

提交评论