基于Web的学生课程及成绩管理系统

上传人:沈*** 文档编号:107375467 上传时间:2022-06-14 格式:DOC 页数:57 大小:1.17MB
收藏 版权申诉 举报 下载
基于Web的学生课程及成绩管理系统_第1页
第1页 / 共57页
基于Web的学生课程及成绩管理系统_第2页
第2页 / 共57页
基于Web的学生课程及成绩管理系统_第3页
第3页 / 共57页
资源描述:

《基于Web的学生课程及成绩管理系统》由会员分享,可在线阅读,更多相关《基于Web的学生课程及成绩管理系统(57页珍藏版)》请在装配图网上搜索。

1、基于Web的学生课程及成绩管理系统摘 要随着信息技术的普及和推广,计算机网络已经成为生活和工作必不可少的有力工具。而且近年来高校扩招制度的出台,使得各高校办学规模不断扩大,学生数量不断增加,面对庞大的信息量,对于学校而言,实现办公自动化将大大提高学校管理的工作效率。课程和成绩管理系统对于学校实现办公自动化化将起到重要作用。本设计基于Web的学生课程成绩管理系统的开发与设计将使用当前主流的编程语言Java来开发,用MySQL数据库作为底层数据的存储,在页面的实现中,使用了jsp、javascript、ssh技术,实现出一个功能相对齐全、界面简洁、使用方便、用户体验度相对较高的学生课程和成绩管理系

2、统。该系统为用户提供了一个学生课程和成绩的管理平台,在这里不同权限的用户,拥有不同的操作功能。关键词: 课程和成绩管理;Java;MySQL;SSHThe Management System of Student Curriculum and Performance Based on WebAbstractWith the popularization and promotion of information technology, computer network has become a powerful tool for essential for life and work. And

3、the system of university enrollment expansion in recent years, makes the expanding the scale of higher education, student Numbers continue to increase, in the face of the huge amount of information, For schools, office automation will greatly improve the efficiency of school management. Curriculum a

4、nd performance management system for schools to achieve office automation will play an important role.The design of the course grade student management system based on Web development and design will use the current mainstream of the Java programming language to develop, using MySQL database as the

5、underlying data store, in the realization of the page, using the technology of JSP, javascript, SSH, realized a function relatively complete, the interface is simple and easy to use, the user experience degree relatively high student curriculum and performance management system. The system provides

6、users with a student curriculum and performance management platform, different user permissions, here has a different operating function. Key words: Curriculum and performance management;Java;MySQL;SSH目 录摘 要iAbstractii1 绪论11.1 系统概述11.2 系统背景及其意义12 相关技术及软件介绍32.1 Tomcat服务器32.2 MySQL数据库32.3 Eclipse42.4

7、软件开发工具简介52.4.1 Java技术52.4.2 JSP技术62.4.3 JavaScript62.4.4 SSH框架73 系统可行性分析94 系统需求分析105 系统总体设计136 数据库设计166.1 数据库概念结构设计166.2 数据库逻辑结构设计176.3 数据库的物理设计187 系统实现217.1 系统登录页217.2 不同权限的用户登录界面237.3 管理员功能页面277.3.1 添加课程界面277.3.2 添加老师界面317.3.3 成绩管理界面337.3.4 添加学生界面337.3.5 查询功能357.4 教师功能界面377.4.1 添加成绩界面377.4.2 公告管理界

8、面378 系统测试38结 论39参考文献40致 谢41外文原文42中文翻译511 绪论1.1 系统概述 进入2l世纪,我国教育面临一系列的挑战。这些挑战主要来自于科学技术的迅猛发展、因人口增长而引起的教育需求的增长、国际竞争和各种社会问题等方面。传统的教育越来越不适应社会的发展,教育的根本出路就在于改革。而教育改革的重要途径之一就是教育信息化(eEducation),即在教育领域全面深入地运用现代信息技术促进教育改革和教育发展。教育管理信息系统(EMIS)就是教育信息化的一个重要组成部分,也是教育信息化的基础。在推进教育信息化的过程中,管理信息系统建设要先行一步,把管理信息化的基础打好。只有管

9、理信息系统的根深,才有教育信息化这棵大树的叶茂。教育管理信息系统的建设已迫在眉睫。本系统实现的是对学生课程及成绩的管理系统,它是整个教务管理系统中的一个子系统。主要用户是学生、教师和管理员,管理员具有所有权限,学生和教师通过系统完成不同的工作。系统需要实现的功能总体来说有三个部分,分别如下:1. 管理员对应功能 对于管理员这个角色来说,可进行学生信息管理,老师信息管理,课程信息管理,成绩管理,信息查询,新闻管理、成绩统计等工作。2. 学生对应功能 对于学生这个角色来说,可以查询自己所选修课程的成绩。3. 教师对应功能 对于教师这个角色录入学生成绩,管理学生信息。 该系统的开发过程为:1. 学生

10、课程及成绩管理系统的需求分析;2. 学生课程及成绩管理系统的系统分析;3. 学生课程及成绩管理系统的功能模块划分;4. 学生课程及成绩管理系统的数据库设计;5. 学生课程及成绩管理系统的界面设计;6. 学生课程及成绩管理系统的数据库连接、功能模块设计及代码实现。1.2 系统背景及其意义一直以来,大多谁学校采用手工、半手工管理学生成绩并打 人工通知成绩的方式,这种管理方式存在许多缺点,如不方便、效率低、容易出错、保密性差等,而且时间一长,还会产生大量的数据,给查找、更新和维护都带来诸多不便(传统的纸质保存方式会占用大量空间)。学生课程及成绩管理是高校人才培养计划的重要组成部分,是实现人才培养目标

11、,培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段,是一项综合性实践教学环节,也是一个非常繁琐与复杂的一项工作。随着学校规模不断扩大,学生数量急剧增加,有关学生的学习成绩信息量也成倍增长。如此庞大的信息量,迫切需要一个学生课程及成绩管理系统。通过这样的系统,可以做到学习成绩的规范管理、科学统计和方便快速查询等,从而减少管理方面的工作压力。即开发学生课程及成绩管理系统对学生成绩档案进行网上数字化管理,既可比较系统规范地对学生成绩信息进行管理,方便用户的使用,又可提高工作效率与准确率,还可提高保密性和缩小开支。 高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节

12、奏越来越快,怎样提高工作效率是人们首先考虑的问题。而且随着我国高等教育规模不断扩大,越来越多的学生能够进入高校中深造,随着高校教育质量的提高,高校教学改革也不断深入,这给高校的教务管理工作带来了很大的压力和难度。如何利用软件技术为高校课程及成绩管理工作建立一套高效安全、功能强大的网络管理平台显得尤为重要。Internet和Web的迅猛发展使数据库技术也开始与Web产生了紧密的联系,一种新兴的技术Web数据库技术出现了,并且开始在数据库的应用中发挥着越来越重要的作用。高校校园网的迅速普及,使课程和成绩管理软件能充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、

13、无纸化、智能化、综合化的方向发展。基于Web的课程及成绩管理系统利用JSP技术与数据库想结合实现,具有数据输入、查询修改等功能,应用该系统可大大提高工作效率,并为进一步完善计算机教务管理系统和全校信息系统打下良好的基础。学生课程及成绩管理是非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管理。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部

14、具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。本系统的研究意义主要是改变以往的成绩管理模式,改人工手动管理为计算机网络化管理。使学校在处理学生成绩的问题上,变得更加方便和快捷。同时可以降低了人工管理的错误率,提高了数据的安全性。随着教育的发展、高校规模的扩大、学生人数的增加,对学生各种信息的汇总、统计、分析等管理工作面临着很多困难。如果高校对学生各种信息的管理通过手工整理等方式来处理完成的,那么在这个工作过程中奖花费大量的人力和时间,而且查询各种信息也不方便不准确,影响了各级领导和学生管理部门对学生信息的及时掌握和分析。 学生课程和成绩管理系统可以减轻

15、学校教学人员的工作量,加快查询速度,加强管理,还有就是缩小开支,提高工作效率与准确率。学生成绩管理系统的应用也为今天的高校教育在未来市场的竞争力的提高打下坚实的基础。本系统利用网络这个平台,充分利用了网络的快捷性,提高教育的时效性,使学生随时随地查询自己的学习成绩,达到促进学生自主管理的目的,提高教师对学生管理工作的效率,让老师及时掌握学生学习上的动态。而且通过本课题的研究,能够充分了解网络数据库的相关知识,培养网络软件开发的能力,提高实践操作和知识的综合运用能力。 2 相关技术及软件介绍2.1 Tomcat服务器 开发者热爱的服务器Tomcat,其是款免费的开放源代码的Web 应用服务器,T

16、omcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。它属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下常常被使用,是开发和调试JSP 程序的首选。并且作为一个开发者,他们可以这样考虑,当在一台服务器上配置好Apache 服务后,他们就可利用它响应对HTML页面的访问请求。

17、实际上,Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行它时,它实际上是作为一个与Apache 独立的进程单独在运行的。Tomcat服务器很受广大开发者的热爱,因为它扩展性好,其运行时占用的系统资源要小,支持邮件服务与负载平衡等开发应用常用的功能;而且它还在不断的改进和完善中,只要开发者对其有不同的需求,都可以更改使其功能满足开发者的需要。在安装Tomcat之前必须先安装JDK。JDK的全称是Java Development Kit,是Sun公司免费提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好的Java源程序经过编译可形成Java字

18、节码,只要安装了JDK,就可以利用JVM解释这些字节码文件,从而保证了Java的跨平台性。JRE是Java Runtime Environment的缩写,是Java运行环境,即Java平台。JDK是基于DOS界面的Java程序集成开发环境,而JRE是Java程序运行的必备平台,即所谓的JVM。安装两套JRE,就是在机器上安装了两个JVM,它们都可以运行Java程序。Java应用程序可以分为两种,一种是JDK目录中的应用程序,另一种是根据各种应用需要开发的一般Java程序。它们执行时分别使用不同的JRE,可以减少搜索时间,利用JRE并行运行的特点来提高程序执行速度,所以安装jdk时默认路径下的的

19、JRE运行JDK目录中的应用程序,而默认jre路径下JRE运行一般Java应用程序。安装tomcat时把Tomcat压缩文件apache-tomcat-6.0.14.zip中的内容解压缩到C:apache-tomcat-6.0.14下,然后增加系统变量的方法增加系统变量。变量名:TOMCAT_HOME;变量值:C:apache-tomcat-6.0.14。然后修改系统变量classpath,添加%TOMCAT_HOME%commonlibservlet-api.jar;同时修改系统变量path,添加%TOMCAT_ HOME%bin。要测试Tomcat服务器是否安装成功,首先要启动Tomcat

20、服务器。在Tomcat安装目录C:apache-tomcat-6.0.14下面有一个bin目录,里面有两个文件:startup.bat和shutdown.bat,分别控制Tomcat的启动和关闭。然后在浏览器地址栏中输入 :/localhost:8080,按Enter键访问。2.2 MySQL数据库MySQL是一个SQL关系式数据库,由于执行效率与稳定性高、操作简易,所以用户众多。官方文件中这么说:“MySQL是一个真正的多用户、多线程的SQL数据库服务器”。SQL是世界上最流行和标准化的数据库语言,它使得存储、更新和访问信息更容易。另外,MySQL同时提供高度多样性,能够提供很多不同的使用者

21、介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。Navicat是由卓软数码科技(PremiumSoft)开发的一个直观强大的数据库工具,用于开发和管理 MySQL、SQLite、Oracle 及 PostgreSQL的数据库,它支持 Windows、Mac OS X 及 Linux等。Navicat是一款快速、可靠的数据库管理工具,很受大家的欢迎。Navic

22、at专门用来简化数据库管理并且减少管理成本,它旨在满足数据库管理人员、数据库开发人员以及广大中小企业的需要,它有一个很直观的GUI,可以让你安全便捷的创建、组织、访问以及分享信息。对于MySQL来说,Navicat工具是一个强大的数据库管理和开发工具。它可以跟任何版本的MySQL数据库服务器(3.21版或者以上版本)一起工作,并且支持MySQL大多数最新的功能,包括Trigger、Stored Procedure、Function、Event,View和 Manage User等。Navicat Lite可以免费下载,但是仅适用于非商业活动。Navicat for MySQL是一套专为MySQ

23、L设计的强大数据库管理及开发工具。它可以用于任何版本3.21或以上的MySQL数据库服务器,并支持大部份MySQL最新版本的功能,包括触发器、存储过程、函数、事件、视图、管理用户等。Navicat的功能足以符合专业开发人员的所有需求,但是对MySQL的新手来说又相当容易学习。有了Navicat极完备的图形用户介面(GUI),Navicat for MySQL让你可以简便地以安全且简单的方法创建、组织、访问和共享资讯及进行MySQL的管理。2.3 EclipseEclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

24、幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。它的优势如下: 1. Eclipse是真正可扩展并可配置的。Eclipse采用插件机制,犹如一个花瓶,你可以随时向花瓶里面插花,也可以很容易将不再需要的花取出。目前,互联网上免费的、收费的插件遍地开花,插件开发工作在国内外也如火如荼。2. Eclipse支持众多的开发语言而不仅仅是Java。Eclipse只是给开发人员提供了一个能够扩展系统功能的最小核心,基于扩展点的插件体系结构使得Eclipse支持多种语言成为可能。只要安装相应语言的插件,Eclipse就可以支持该种语

25、言的开发。目前,Eclipse已经可以支持C/C+、 COBOL、PHP、Perl、Python等多种语言。(尽管 Eclipse 主要是一个 Java 开发环境,但其体系结构确保了对其它编程语言的支持)。 3. Eclipse提供了对多重平台特性的支持。开发者可以使用他们感觉最舒适、最熟悉的平台,例如Windows、Linux、MacOS等。Eclipse对每个平台都有其单独的图形工具包,这使得应用程序具有接近本地操作系统的外观和更好的性能。基于业界领先的OSGi规范。OSGi规范最早由Sun Microsystems、IBM、爱立信等于1999年推出,其服务平台包括:服务网关、汽车、移动

26、、工业自动化、建筑物自动化、PDA网格计算、 娱乐(如iPronto)和 IDE等。基于OSGi的系统以微内核形式运行,因而能够轻松实现软件业界梦寐以求的可热插拔、动态改变行为、稳定高效的系统。Eclipse从3.1开 始,毅然抛弃了其原有的已经获得业界认可的框架,采用OSGi作为其架构。从Eclipse3.2版本开始,Eclipse提供了基于OSGi开发的支 持,开发者可以利用其开发基于OSGi的系统了。 4. Eclipse美轮美奂的人机界面受到广泛赞誉。Eclipse提供了全新的SWT/JFace API(而不是AWT/Swing),一改SWT/Swing单调、沉闷的界面风格,使得开发基

27、于本地的具有丰富图形界面的应用程序成为可能,犹如一股春风吹进Java的桌面开发领域,给人耳目一新的感觉。 5. Eclipse由业界领先者推出,具有强大的行业力量。Eclipse基金会吸收了大量学术研究机构、商业组织,领导Eclipse的长远规划和发展,并确保Eclipse处于软件工具行业的领先地位。2.4 软件开发工具简介常用语言工具:Delphi、PowerBuilder、VB、Net Winforms、Java。Web开发语言:HTML、XML。动态Web语言:JSPServlet、ASPnet、ASP。客户端脚本语言:JavaScript、Jscript、VBScript。目前国内开发

28、Web应用系统主要采用Java和net开发技术。这两项技术都可以建立动态、稳定、性能强大且易于升级和维护的网络应用系统。现代软件开发80以上的程序需要与数据库打交道,所以掌握SQL语言及常用主流数据库平台的操作、配置成为了程序员必备的能力之一。常用主流数据库平台如下:Oracle、DB2、SyBase、MS SQL Server、MySQL、MS Access。学生课程及成绩管理系统采用Java技术,动态Web语言是JSPServlet;客户端脚本语言是JavaScript;数据库平台是MySQL。2.4.1 Java技术在丰富的开发语言种类中,Java是一个非常理想的选择。Java分为三个体

29、系JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版),JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。Java与传统程序不同,Sun Microsystems公司在推出 Java 之际就将其作为一种开放的技术。使得全球的Java公司在开发的关于Java程序都要做到了互相兼容。“Java 语言开发要靠大家努力而非个人、企业的力量”是Sun Microsystem

30、s的口号之一,并且得到了大多数软件开发公司的认可。这种模式和微软公司所提倡的注重精英的模式和密封式的模式完全不同。Sun Microsystems公司对Java编程语言的官方诠释是:Java 编程语言是个简单、面向对象、健壮、解释性、分布式、安全与系统无关、高性能、可移植、多线程和动态的语言。Java编程语言的风格非常的接近C语言、C+语言。Java语言的设计核心是面向对象的编程语言,它继承了C+语言面向对象技术的核心。Java的进步是其没有像C语言那样,容易由于指针引起错误、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收功能用于回收不再被

31、引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5之后的版本中,Java 又引入了类型安全的枚举、泛型编程(Generic Programming)、自动装/拆箱和不等长参数等等语言特性。Java的优势:此开发语言非常适合集体开发,软件工程可以相对做到一定的标准化。由于其本身的极度严格语法的特点,因此Java语言无法写出结构杂乱无章的程序。这样将迫使程序员的软件代码、软件结构的一致性、规范性。这是其很难比拟的优势。Java的劣势:j2ee的架构相对完善,第一版软件虽然可以做满意,但是很不适合互联网模式的持续不断修改。互联网软件工程管理上的不好的地方,不断的修补就

32、会导致软件框架的破坏。2.4.2 JSP技术 JSP是服务器页面(Java Server Page,JSP)的缩写,是由Sun Microsystems公司倡导、许多公司参与一起建立的一种技术标准,类似其他技术标准,如ASP和PHP。Servlet是JSP出现之前的主要Java Web处理技术。它接受用户请求,在Servlet类中编写所有Java和HTML代码,然后通过输出流把结果页面返回给浏览器。其缺点是:在类中编写HTML代码非常不便,也不利于阅读。使用JSP技术之后,开发Web应用便变得相对简单快捷多了,并且JSP最终要编译成Servlet才能处理用户请求,因此我们说JSP拥有Servl

33、et的所有功能和特性。采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。程序开发人员可以将业务处理代码全部放到JavaBean中,或者把业务处理代码交给Servlet、Struts等其他业务控制层来处理,从而实现业务代码从视图层分离。这样JSP页面只负责显示数据即可,当需要修改业务代码时,不会影响JSP页面的代码。JSP的特点:1一次编写,随处运行JSP是以Java语言作为基础的,它继承YJava语言的特点,主要运行在操作系统的JVM上,能运行JVM的操作系统就能运行JSP。2有统一的技术标准JSP是由Sun Micr

34、osystems公司倡导、许多公司参与一起建立的一种技术标准,获得了大多数厂商的支持。3执行性能高只需将JSP编译一次使之成为Servlet文件,当有相同的客户请求时,JSP服务器将产生一个该Servlet文件的一个线程来响应,而不是重新编译JSP文件,这也就大 大提高了Web服务器的响应速度。4自由扩展标签JSP可以让Web开发人员自由扩展JSP标签,Web开发人员还能自定义标签。5开发工具多且功能强大Java已经有许多非常优秀的开发工具,如JBuilde、Eclipse等,开发JSP页面可以借助这些工具,高效的编写JSP代码。由于JSP是以Java语言为基础,运算速度快、性能稳定、安全性好

35、、组件开发方便,所以本系统采用JSP来开发动态网页。2.4.3 JavaScriptJavascript是一种解释性的,基于对象的脚本语言,由Sun Microsystems和Netscape开发,是从Netscapes的Livescript发展而来的。所谓脚本语言就是可以和HTML语言混在一起使用的语言,可以用来在浏览器的客户端进行程序编制,从而控制浏览器等对象操作。HTML是一种标记语言,不是编程语言,标记语言设计的目的是为了给页面元素加上标记,表示页面的这个部分是标题,那个部分是正文文本。编程语言用于作出决定:如果这个条件是真,执行过程X;否则跳过过程X,也许转而Y或Z,HTML语言不能

36、做到这一点,这个功能需要在HTML文件中插入一段小程序来实现,这段小程序叫做脚本,编写脚本的语言称为脚本语言。JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言。使用它的目的是与HTML语言一起实现在一个Web页面中与Web客户进行交互作用。JavaScript可以增强站点的动态性和交互性。如:提供用户交互、动态更改内容和验证数据等。JavaScript是通过嵌入或调入在标准的HTML语言中实现的。JavaScript是一种比较单的编程语言,使用方法是向Web页面的HTML文件增加一个脚本,不需要单独编译 解释,当一个支持JavaScript浏览器打开这个页面时,由浏览器对此

37、作处理,是在客户端完成的,不需要和Web Server发生任何数据交换。JavaScript较容易方便,运行快,适用于较简单的应用。2.4.4 SSH框架 虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的J2EE Web框架,同时也是一个成熟的基于Web的MVC框架从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承We

38、bWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2.因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。所以strust2框架也是一个基于Web的MVC框架。Struts2可以 减少编程人员代码的编写,使代码更加简洁明了,缩短开发时间,增加开发效率.Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP

39、开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。 关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。Spring是一种轻量级的容器,spring容器帮我们管理业务逻辑层,里边有很多业务逻辑对象,有对象就有对象的生命周期的管理,包括创建,销毁等。所谓轻量级就是容器给予的业务逻辑对象多少种服务,spring给用户提供的服务完全由用户自己决定,spring想用什么服务自己开启

40、使用。但是重量级的都是只要你用就把所有的服务都给你,不能自己定制。spring容器从来不能独立运行,一定借助于其他容器启动,或者借助web容器启动,或者ejb容器启动。Spring的特点是应用模块之间耦合度小,组件都是可重用的,都是各自打包的。Spring动态解藕,方便开发,面向接口设计,通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。方便程序的测试TDD(Test-Driven Development)可以用非容器

41、依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。它降低Java EE API的使用难度Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个简单的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。他可以方便集成各种优秀框架Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。通过Spring提供的AOP功能,方便进行面向切面的

42、编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。对异常的处理方式,所有的都转换成Unchecked的。它不是一个一体化的解决方案。良好的设计,容易扩展,很多可重用的组件。 Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。Spring提供的Context是灵活配置的,通过注入,将Bean之间的关系关联起来,而不是放在Bean中去实现。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以

43、从Spring中受益。它基于IoC(Inversion of Control,反向控制)和AOP(面向切面)的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,因为它模块化很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的接口,采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现事物管理。Spring使软件开发质量显著提高,提高了软件的开发效率。与其他架构充分整合,实现一个完美的软件开发平台。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得

44、Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 Hibernate的优点是大部分JDBC中的SQL语句不用写了,只要操纵相应的对象就可以进行存储,修改,加载,删除,提高了我们的生产率。我们用Hibernate ,只操作对象,这就使我们的开发更对象化了。Hibernate 的移植性很好。最重要的一点是,实现了对象的透明持久化。什么是对象的透明持久化

45、?就是一个类,用Hibernate进行持久化,而它却不继承Hibernate任何的类和实现Hibernate的任何接口,通常,我们就称这个类为 POJO。也就是说,Hibernate没有侵入性,也就是轻量级的框架。缺点是批量修改,Hibernate等一些ORM框架都不支持。ORM是对象-关系映射(Object / Relational Mapping ,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的问题的技术。对于数据库的一些特定的功能的时候,就不适合使用Hibernate,例如数据库的优化。 3 系统可行性分析 现在,计算机的价格已经十分低廉,性能和效率缺有了长足的进步。而本

46、系统的开发,为学校的工作效率带来了一个质的飞跃,主要表现在以下几个方面: 第一,本系统的运行可以代替人工进行许多繁杂的劳动; 第二,本系统的运行可以节省许多资源; 第三,本系统的运行可以大大提高学校的工作效率; 第四,本系统可以使敏感文档更加安全,等等; 所以,本系统在经济上是可行的。本系统以java语言为开发语言,Eclipse作为开发环境,Eclipse从编写、查错、编译、帮助等等各方面为Java语言贴身定做。 可无限扩展的强大插件功能。它开放,自由,免费。除此之外Mysql作为本系统的数据库,MySQL是一个SQL关系式数据库,由于执行效率与稳定性高、操作简易,所以用户众多。MySQL是

47、一个真正的多用户、多线程的SQL数据库服务器。它使得存储、更新和访问信息更容易。本系统主要采用Struts+spring+Hibernate架构,采用Java语言,比较容易实现。所以在技术上也是可行的。 确定软件产品是否能够被最终的用户所接受,用户是否能操作最终的产品:本系统为一个小型的学生课程及成绩管理系统,所耗费资源非常小,学校的电脑无论是软件还是硬件都能够满足条件。而且本系统操作简单,方便使用。所以在操作上也是可行的。 综上所述,此系统开发目标已明确,在技术和经济,操作三方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。 国家为进一步加快教育信息化的建设步伐,推动全国教育管理信

48、息化工作向规范化和健康化方向发展,教育部于2002年8月6日正式发布教育管理信息化标准(第一部分:学校管理信息标准)(教发200227号),要求各个部门各个学校执行。这是国家对教育管理信息化的政策保证。随后,中国国家标准化管理委员会发布了国家标准信息技术学习、教育和培训高等学校管理信息标准(GBTxxxx2007),本标准提出了适用于高等学校教育管理信息的标准体系,为高等学校教育管理信息的建设提供了统一标准和重要指导。4 系统需求分析一款实用的软件就是要能够让用户得到很好的体验,本系统开发的目的,就是通过系统开发,实现课程及管理有关工作的计算机化,减少高校在管理学生课程及成绩时的工作量,提高了

49、教学管理的质量和效率。通过对学校的课程及成绩管理,方便了学生对成绩的查询,使教学更加信息化。将学生选择的课程和学生成绩通过网络进行管理,为学生、教师和教务管理人员提供便利。该开发工作需要涉及任课教师、学生、管理员(教务工作人员)三种用户。为了满足方便教学管理这一本质理念,故提出需求包括如下:1. 系统需求 课程及成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。因此为了保证学校的信息流畅,工作高效,有必要设计一个学生课程及成绩管理系统。这不但能使教务人员从复杂的

50、成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。学校学生课程及成绩管理工作都是采用传统的手工管理,这种传统人工的管理方式存在着许多缺点,如:效率低,保密性差,一方面导致教师对学生成绩情况不了解,教师对成绩管理工作倍感头痛,因为时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难,耗费大量劳动力,难于避免错误的产生。选择Eclipse来开发学生课程及成绩管理系统,解决以上存在的问题,帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化,所以选择Eclipse来开发学生课程及成绩管理系统。需求的收集及分析:学生课程及成绩管理系统应该完

51、成以下两个方面的内容:学生课程的管理、学生成绩的管理,每个内容均需要提供添加、修改和查询的功能。学生课程及成绩管理系统在开发过程中收集到的客户需求文档记录的关键部分可概括为以下几个部分:1、 可能会使用到该系统的用户:系统管理员、教师、学生;2、 各类用户的权限不一样。例如系统管理员可以添加、修改、查询学生信息和学生的成绩,学生只能查询自己的成绩以及一些公共的信息,教师可以发布学生的成绩信息,而且只能查询自己所授课程的信息以及一些公共信息。3、 要有系统备份功能,系统出故障时,因该有相应的应急措施或者系统恢复功能。由此可见,学生课程及成绩管理系统需要满足3个方面的需求:管理员使用系统对全部数据

52、进行维护操作;教师对于自己相关的部分数据实体进行操作;学生作为查询者对数据实体进行查询操作。现在的学生课程及成绩管理系统基本上能做到这几个方面的要求,但多数系统在功能上依然存在缺陷和不足,尤其是在用户界面的友好性以及查询结果的可视化方面存在着很大的问题。2.功能需求 本系统的使用用户可分为以下三种:系统管理员(所有权限包括维护学生、教师、课程);老师(增加成绩,管理成绩);学生(查询成绩)。 b.系统功能分析系统管理员的主要功能是:实现对用户的添加、删除和密码的修改,使该用户具有管理员的权限,实现对教师的管理,包括查看、添加和删除操作、实现对学生的管理,对学生进行添加和删除、也可以进行查询,例

53、如按课程名查询所有选修了这门课程的学生成绩,并能够统计出该门课程的平均成绩等。除此之外可以发布公告等基本功能。教师的主要功能是:教师可以录入学生成绩,对学生信息进行添加、删除,也可以对发布的公告进行查看删除和修改等基本功能。学生的主要功能是:实现学生自己的成绩查询等功能。 根据以上的叙述,弄清了用户对系统数据处理功能所提出的需求,本系统的功能可以归纳为以下几个方面。v 密码设置 每个操作员均有自己的密码及能进行密码设置,这样既可以防止非本系统人员进入本系统,又可以防止本系统人员越权操作。v 权限设置 设置每个人权限,使各人有各人的操作范围,不能超出自己的范围操作。一般只有负责人员即管理员可以进

54、行权限设置。v 数据录入实现学生信息、老师信息、管理员信息、课程信息、新闻信息、学生成绩信息的录入。v 数据修改实现学生信息、老师信息、课程信息、学生成绩信息的修改。v 数据查询可以实现学生信息、老师信息、管理员信息、课程信息、学生成绩信息的查询。v 成绩统计分析学生总平均成绩v 信息删除实现学生信息、老师信息、管理员信息、课程信息、成绩信息的删除。 3.数据需求 通过调查,总结出用户对数据的需求如下: l 学生信息 包括:学号、学生姓名、专业等。 l 课程信息 包括:课程编号、课程名称等。 l 教师信息 包括:教师编号、教师名字、教授课程等。l 成绩信息包括:成绩编号、学生姓名、教师姓名、课

55、程名字等l 公告信息包括:公告编号、公告主题、公告内容综上所述,可以得出以下功能: 添加学生的基本信息。 修改学生的基本信息。 删除学生的基本信息。 添加学生的成绩信息。 修改学生的成绩信息。 删除学生的成绩信息。 统计学生的平均成绩信息。 添加学生的课程信息。 查询结果的可视化管理。 课程和成绩信息管理。 帐户信息管理。 课程和成绩信息查看管理。 查看用户信息信息和课程信息。 添加成绩信息。 统计学生成绩信息。系统必须满足的一些使用过程中要做到的技术目标,通常包括速度,安全性等方面的需求。系统的高速性、稳定性、安全性。系统的体系结构能够方便添加功能模块,适应业务、办公的发展。系统人机界面友好

56、,易学易用。系统维护成本较低。5. 运行需求 本系统可以在Windows XP/Win7平台上运行,开发工具采用Eclipse、Tomcat和MySQL,开发语言是现在流行的java语言。6. 故障处理需求 1.在操作人员输入一些不合理的数据的时候,能够进行一些合理的提示信息,不能因输入错误而导致系统的错误,或者程序停止运行。 2.程序在运行时,对服务器和网络通信故障能够识别并提示,当故障排除后,程序恢复正常运行; 3.数据库要求有备份机制,以防止数据的全部丢失。5 系统总体设计 总体设计最重要的任务是系统的模块化。模块化是指解决一个复杂问题时自上向下逐层把软件系统划分成若干个模块的过程:每个

57、模块完成一个特定的功能,应尽量保持模块的独立性;所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。在学生课程及成绩管理系统的总体设计中,以需求分析为基础,将整个系统划分为3个功能模块学生功能模块、教师功能模块和管理员功能模块。其中学生功能 模块、教师功能模块和管理员功能模块还可以进一步细分,添加细节,如管理员功能模块可进而分为用户管理、教师管理、课程管理、学生管理等等。下面将描述系统各功能模块图和数据流图:(1)系统整体模块图图5.1 系统整体模块示意图图5.2 管理员模块示意图 图5.3 教师模块示意图 (4)课程及成绩管理系统顶级数据流描述的信息是:管理员,教师以及学生

58、对该系统的操作和管理。图5.4 顶层数据流图 (5)我们从顶级图中以学生作为第1层的数据流程图为例:首先系统管理员把学生的学号和密码输入数据库,学生通过登录进入学生课程及成绩管理系统,当学生进入系统以后,查询自己的成绩。 图5.5 学生课程及成绩管理系统1层数据流程图6 数据库设计 用户需求具体有学生课程及成绩管理系统提供保存、更新、查询、维护和删除,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。 计算机信息系统以数据库为核心,在数据库管理系统的支持下,

59、进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。6.1 数据库概念结构设计 概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。目前,概念结构设计主要有四种策略:自顶向下,自底向上,由里向外(逐步扩张)和混合策略。程序开发

60、人员一般采用自底向上策略。不论用哪种策略,一般都用E-R图作为描述工具。E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。E-R图包括:实体、属性和联系三种基本因素。习惯上用“方框表示实体,用“椭圆框”表示实体的属性,用“菱形框”表示联系。E-R图的画法是:把有联系的实体(方框)通过联系(菱形框)连接起来,注明联系方式,再把实体的属性(椭圆框)连到相应实体上。设计能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。 图6.1 课程及成绩管理系统全局E-R图6.2 数据库逻辑结构设计 设计从

61、分析输入数据着手,输入数据中的某类相关数据可以归纳为一个表,对需要同时调用的若干表,应使它们符合关联要求。数据库设计好后,可以通过分析输出数据来验证其可用性,若发现有的输出数据不能从输入数据导出,须继续向用户征集数据。 为了能够用某一数据库系统实现用户需求,还应将概念结构进一步转化为相应的数据模型。设计数据模型应描述与表达相应概念结构,然后对支持这种数据模型的各种数据库系统进行比较,综合考虑性能、价格等各种因素,从而选出最合适的数据库系统。本系统的用户有3类:管理员、学生和教师。由于管理员、学生和教师的权限和操作功能大不相同,因此在本系统中需要分别进行数据记录。l 用户数据实体:姓名、密码;l

62、 学生数据实体:学生号、学生姓名、专业;l 教师实体:教师编号、姓名、密码、所教课程;l 课程数据实体:课程号、课程名l 新闻实体:新闻标题、新闻内容、发布时间、作者l 成绩实体:分数、学生名、课程名6.3 数据库的物理设计 根据上述的需求分析和逻辑结构设计阶段的结果,本系统基于mysql数据库,在数据库中得出以下主要的数据库表:用户信息表(表6.2),老师信息表(表6.3),学生信息表(表6.4),成绩信息表(表6.5)公告信息表(表6.6),课程信息表(表6.7)。用户信息表:id代表用户编号,username代表用户名字,password代表用户密码,state代表用户状态。该表主键为id。表6.2 用户信息表列名数据类型长度允许空值是否主键说明idint11否是学生idstunumvarchar255是否学生学号stunamevarchar255是否学生名字zyvarchar255是否学生专业 老师信息表:id代表教师编号,thao代表教师编号,tname代表教师名字,password代表教师密码,kcid代表课程编号,kcname代表课程名字。该表主键为教师编号。表6.3 老师信息表列名数据类型长度允许空值是否主键说明idint11否是

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!