jsp课程设计.docx
《jsp课程设计.docx》由会员分享,可在线阅读,更多相关《jsp课程设计.docx(39页珍藏版)》请在冰豆网上搜索。
jsp课程设计
JavaWeb开发(JSP)
课程设计报告
题目:
学生信息管理系统
设计者:
江山
专业班级:
软件java12-02
学号:
311209060213
指导教师:
霍占强
2014年7月1日
河南理工大学计算机学院
学生信息管理系统
一、系统需求背景
背景
学生信息管理系统是一个教育单位不可缺少的部分。
学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实
现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
推行学校信息管理系统的应用是进一步推进学生学籍管理规范化、电子化、控制辍学和提高义务教育水平的重要举措。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:
效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难[1]。
系统针对学校学生信息的特点以及管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生信息,并避免人为操作的错误和不规范行为。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:
检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
系统需求
在现代社会中,教育界是IT厂商的重要客户之一,随着计算机网络的发展和学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。
通过该系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。
各院校纷纷建设了自己的管理信息系统,其中学生管理信息系统是一个重要组成部分。
因此,学生管理信息系统的学习有非常重要的意义。
学生管理信息系统广泛地应用于各类院校的学生管理工作过程中,几乎每个进行了信息化建设的学校,都建设了自己的学生管理信息系统。
需求的收集及分析
为了保证系统能够长期、安全、稳定、可靠、高效地运行,学生信息管理系统应满足以下的性能需求。
系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
教务管理人员和系统管理员操作的过程都要保证正确无误。
在系统设计和开发的过程中,要充分考虑系统当前和将来能承受的工作负荷,使系统的处理能力和响应时间能够满足消费者对购买或取消购买的处理需求,响应及更新处理都比较迅速,完全满足用户需求。
一般操作响应时间为0.5~1秒内,对数据的导入导出、软磁盘读写也应该在可接受的时间内完成。
系统的开放性和系统的可扩充性
系统的开发过程中,应该充分考虑以后的可扩展性,例如消费者对各种功能的需求也会不断地更新和完善。
所有这些,都要求系统提供足够的手段进行功能的调整和扩充。
要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单地加入和减少系统的模块,配置系统的软件。
通过软件的修补、替换完成系统的升级和更新换代。
系统的易用性和易维护性
系统是直接面对系统管理人员的,但对计算机并不是很熟悉。
这就要求系统能够提供良好的用户界面,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对管理员可能出现的使用问题,要提供足够的在线帮助,缩短管理员对系统熟悉的过程。
系统中涉及的数据是学校的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份、日常的安全管理、系统意外崩溃时数据的恢复等工作。
系统的标准性
系统的设计、开发、使用过程中都要涉及很多计算机硬件和软件。
所有这些都要符合主流国际标准、国家标准和行业标准。
例如,在开发过程中使用的操作系统、网络系统、开发工具都必须符合通用标准,如规范的数据库操纵界面,作为业界标准的TCP/IP网络协议等。
二、系统所涉及的一些知识
1、JSP技术:
JavaServerPages(JSP)技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
2、JavaScript语言:
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作。
它最初由网景公司(Netscape)的BrendanEich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
JavaScript是Sun公司(已被oracle收购)的注册商标。
Ecma国际以JavaScript为基础制定了ECMAScript标准。
JavaScript也可以用于其他场合,如服务器端编程。
完整的JavaScript实现包含三个部分:
ECMAScript,文档对象模型,浏览器对象模型。
Netscape公司在最初将其脚本语言命名为LiveScript。
Netscape在与Sun合作之后将其改名为JavaScript。
JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”[2],因此语法上有类似之处,一些名称和命名规范也借自Java。
但JavaScript的主要设计原则源自Self和Scheme[3]。
JavaScript与Java名称上的近似,是当时网景为了营销[4]考虑与Sun公司达成协议的结果。
为了取得技术优势,微软推出了JScript脚本语言。
Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。
现两者都属于ECMAScript的实现。
尽管JavaScript作为给非程序人员的脚本语言,而非是作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性。
3、MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:
关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境……
4、JDBC
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序
三、功能需求分析
本系统需要实现以下功能:
1:
本系统要求设计两个角色:
教师用户、管理员用户;
2:
教师用户实现功能:
用户登陆、教师用户添加、删除、修改(包含:
教师用户修改自己的信息)、查询学生用户信息及成绩;
3:
学生用户实现功能:
用户登陆、查询自己的成绩;
4:
系统中要实现“XX分页”。
功能分析
在学生信息管理系统中,主要有用户登陆、学生信息管理、课程信息管理、用户管理等功能,功能分析如下:
(1)用户登陆
学生信息管理网站采用用户名及密码验证模式,进入学生信息管理网站前,用户必须在登陆页面输入用户名及密码,只有验证通过的用户方可进入学生信息管理网站操作主页面。
(2)学生信息管理
包括3个功能模块:
学生个人信息的添加、学生信息的查询以及学生信息的修改于删除。
(3)课程信息管理
包括3个功能模块:
课程基本添加与删除处理、成绩查询处理以及学生选课信息的查询处理。
(4)用户管理
包括2个功能模块:
用户信息查询以及用户的删除与处理。
性能要求分析
(1)系统易操作性
所开发的系统应做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制。
(2)系统具有可维护性
由于系统涉及的信息比较广,数据库中的数据需定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转,学院可以对系统数据及一些简单的功能进行独立的维护及调整。
(3)系统具有开放性
该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接,不会因外部系统的不同面要做在量的修改工作。
逻辑模型的建立
经过以上调查分析,明确以所开发系统的功能需求和性能要求,发现了存在的问题,弄
清了系统的功能,为系统逻辑模型的建立提供了依据。
系统分析的主要成果是建立系统的逻辑模型,本系统的逻辑模型主要以系统的数据流图和数据词典作为描述功具。
四、系统设计方案
数据流图
(1)顶层图
分析学生信息管理系统的数据来源和去向,确定外部项,绘制出数据流图的顶层图,如图2-1所示。
图2-1学生信息管理系统的顶层图
(2)顶层数据流图从总体上反映了学生信息管理系统的信息联系。
按自顶向下、逐层分解的方法对顶层图进一步细化,划分出几个主要的功能模块,并明确各功能之间的联系,绘制出数据流图的0层图,如图2-2所示。
图2-2学生信息管理系统的0层图
系统模块的实现
在系统中包括以下功能:
系统管理、学籍信息管理、课程信息管
理、成绩信息管理、帮助。
分为以下几个模块
主窗体
标题
名称
系统管理
sysMenu
……用户管理
Control
……退出系统
Exit
学籍管理
sInfo
课程管理
cInfo
成绩管理
rInfo
帮助
help
……使用说明
howto
……关于
about
1登录模块
为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。
用户登录窗体中放置了两个文本框(Textbox),用来输入用户名和密码;两个按钮(CommandButton)用来确定或者取消登录。
设置一个SSTab控件,供不同用户登录时选择用户权限,超级用户拥有一切权限(包括添加删除和修改以及对用户的管理),普通用户拥有受限制的权限(查询及修改密码),提高了数据库的安全性。
2系统管理模块
2.1添加用户窗体的创建
进入系统后,将会出现一个主窗体,选择系统管理模块下的添加用户,就可以进入添加用户窗体,可以通过该窗体增加新的用户。
在这个窗体中放置了三个文本框,用来输入用户名和密码;两个按钮用来确定是否添加用户;三个标签用来标示文本框的提示。
2.2修改密码窗体的创建
在系统管理模块下,进入修改密码窗体,用户可根据需要修改自己的密码。
在这个窗体中放置了两个文本框,用来输入密码和确认密码;两个按钮用来确定是否修改密码;两个标签用来标示文本框的内容。
3学籍管理模块
3.1添加学籍信息功能
选择主窗体中学籍管理模块下的添加学籍信息,就可进入添加学籍信息的窗体,在该窗体中我们可以对学生的学号、姓名、性别、出生日期、班号等学生的信息进行添加。
设计时我尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,当输入的信息满足这些边界条件时,将会弹出一个提示框提醒用户,以便用户能及时地做出修改。
添加的信息将全部存储到数据库中。
在窗体上放置多个文本框和下拉式文本框,用来输入学籍信息;两个按钮用来确定是否输入学籍信息;一个按钮用来退出窗体;多个标签用来提示文本框中需要输入的内容。
3.2修改学籍信息功能
点击学籍管理模块下的修改学籍信息,就进入修改学籍信息的窗体,在该窗体中我们可以对前面添加的学籍信息进行修改。
由于用户的需求不同,有的是要对学生的信息做个别的改动,有的是需要删除该条记录,所以该窗体同时包括了修改记录的功能和删除记录的功能。
又考虑到用户的误操作,为了方便,我在该窗体中增添了取消修改的功能,可一次性把输入文本框的内容全部置空。
3.3查询学籍信息功能
进入学籍管理模块下的查询学籍信息窗体,在该窗体中可以对学生的信息进行查询,有三种查询方式。
我在设计时,一方面考虑到简洁的因素,用户可以只设置一种查询方式进行查询;另一方面又为了避免数据的重复,用户可以输入详细的信息,也就是同时设置多种查询方式进行查询。
进入查询窗体时,myflexgrid中会显示出所有学生的学籍信息,如果不设置查询方式就进行查询,是无效查询,系统会给出提示。
在设置好查询方式后,便开始查询,将在myflexgrid中显示出用户所需的学生的学籍信息。
4课程管理模块
4.1课程信息浏览功能
点击主窗体中课程管理模块下的课程信息浏览,可进入课程信息浏览窗体。
为了用户的使用方便,我使用了SSTab控件,故在该窗体中同时包含了课程信息的添加和修改的功能。
并且我还在窗体上设置了myflexgrid控件。
添加和修改记录后,对于数据有何变化都可以在myflexgrid中显示出来,使用户对所做的操作一目了然。
4.2年级课程设置功能
进入课程管理模块下的年级课程设置窗体,可以对每一个年级的课程进行设置。
5成绩管理模块
5.1成绩信息管理功能
点击成绩管理模块下的成绩信息浏览,进入成绩信息浏览窗体,考虑到美观和实用性,界面设置如下图。
用Frame控件在窗体中划定一个可浏览成绩信息地方,再在Frame中添加MSFlexGrid控件,运行时将在MSFlexGrid中显示所有学生的成绩信息。
使用Toolbar来建立工具条。
点击工具条中的修改、添加和查询按钮就可分别进入修改成绩信息窗体、添加成绩信息窗体和查询成绩信息窗体。
这三个窗体的界面设置分别类似于学籍管理下修改学籍信息窗体、添加学籍信息窗体和查询学籍信息窗体。
6其它
操作人员在遇到困难时即可进入帮助菜单寻求帮助。
帮助菜单下的“使用说明”将解答你的疑问。
帮助菜单下的“关于”详细地列出了关于作者的一些情况,关于版权的一些情况和关于系统的一些情况。
进入打印菜单栏,可对你所需要的信息进行打印。
五、系统涉及的数据库表
1、数据库介绍
数据库是“按照数据结构来组织、存储和管理数据的仓库”。
在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。
例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。
有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。
这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。
此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理管理员管理能够完成管理员对教师的信息管理(教师信息查询、信息修改、增加信息、信息删除)、学生管理(学生信息查询、选课查询、学生信息修改、学生信息删除)、课程管理(课程信息查询、课程管理),以及查看、回复和删除留言的功能。
本系统的数据库如下
教师管理能够完成开设课程、信息查询、成绩提交、密码修改的功能。
学生管理能够完成个人信息查询、选择课程、密码修改、留言的功能。
2流程分析
2.1系统流程
只有在教师开设了某一门课程,并且在网上提交成功以后,学生才可以查询到此门课程,并且才可以选定课程,提交成功以后,待考试结束,教师即可对选择自己开设课程的学生录入成绩,并且提交。
图3.2选课系统流程图
2.2登录流程
登陆的时候会根据用户的用户名进行判断是哪种身份的登录,并以不同的身份登陆后执行不同的功能,具有不同的权限。
图3.3登陆流程图
3系统概念模型描述
目前,在概念设计阶段实体联系模型是广泛使用的设计工具。
3.1构成系统的实体型
本系统包括学生、教师、班级三个主要实体。
学生实体型属性有学号、姓名、登录密码。
课程实体型属性有课程编号、课程名称、课程学分。
教师实体性属性有教师编号、教师姓名、登录密码。
3.2系统局部E-R图
学生实体型与课程实体型存在选课的联系,一个学生可以选修多门课程,每门课程可以被多个学生选修,所以它们之间存在多对多联系(m:
n),如下图所示:
图3.4学生---课程E-R图
教师实体型与课程实体型存在属于的关系,一个课程只可属于一个教师,每个教师可以有多个课程,所以教师实体型和课程实体型存在一对多联系(1:
n),如下图所示:
图3.5教师---课程E-R图
系统的局部E-R图,只反映局部应用实体型之间的联系,但不能从整体上反映实体型之间的相互关系。
另外,对于一个较为复杂的应用而言,各部分是由多个分析人员合作完成的,画出的E-R图只能反映各局部应用。
各局部E-R图之间可能存在一些冲突和重复的部分。
为减少这些问题,必须根据实体联系在实际应用中的语义,进行综合、调整和优化,得到系统的合成优化E-R图,如下图所示:
图3.6系统E-R图
4数据库设计
得出数据表的各个关系模式后,需要给出是各数据表结构。
考虑系统的兼容性及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。
同时,考虑到数据依赖关系和数据完整性,需要指出表的主码和外码,以及字段的值域约束和数据类型。
数据库名:
msc
表1课程表course
字段
字段名
类型
长度
主键
可否为空
Con
课程编号
数值型
20
是
否
Cname
课程名称
文本型
50
否
Credit
学分
数值型
20
表2学生表student
字段
字段名
类型
长度
主键
可否为空
Sid
学生编号
数值型
20
是
否
Sname
学生姓名
文本型
50
否
Smajor
专业
文本型
50
Sclass
班级
数值型
20
Tcredit
总学分
数值型
20
Tcreditjd
挂科学分
数值型
20
Ocredit
平均学分绩点
数值型
20
Acredit
总学分绩点
数值型
20
Egrade
课程班级
数值型
20
Majorpm
专业排名
数值型
20
Classpm
班级排名
数值型
20
Scode
登录密码
数值型
20
表3教师表teacher
字段
字段名
类型
长度
主键
可否为空
Tid
教师编号
数值型
20
是
否
Tname
教师姓名
文本型
50
否
Tcode
登录密码
数值型
20
表4用户表user
字段
字段名
类型
长度
主键
可否为空
Id
用户名
数值型
20
是
否
Name
用户姓名
文本型
50
否
Code
登录密码
数值型
20
Kind
登录身份
数值型
20
否
表5开设课程表teacher_course
字段
字段名
类型
长度
主键
可否为空
Id
编号
数值型
20
是
否
Tid
教师编号
数值型
20
是
否
Con
课程编号
数值型
20
是
否
Credit
学分
数值型
20
Avscore
平均分
数值型
20
Maxscore
最高分
数值型
20
Minscore
最低分
数值型
20
Cteachno
教学班号
数值型
20
Clocation
上课地点
数值型
20
Ctime
上课时间
文本型
50
Cmax
课程容量
数值型
20
Csel
已选人数
数值型
20
表6学生选课表student_course
字段
字段名
类型
长度
主键
可否为空
Id
编号
数值型
20
是
否
Sid
学生编号
数值型
20
是
否
Con
课程编号
数值型
20
是
否
Tid
教师编号
数值型
20
是
否
Credit
学分
数值型
20
Pscore
平均成绩
数值型
20
Lscore
平时成绩
数值型
20
Escore
期末成绩
数值型
20
Scorejd
学分绩点
数值型
20