学生管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
学生管理系统主要用于各类大学院校在教学这一部分的管理,是针对于教务处对课程、对学生进行合理地安排以及统筹计划,以便让教务处以最短的工作时间内把学生的相关信息调集起来,提高教务处的办事效率。

同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反馈,能有效的帮助教务处的工作,可使学院教职工减轻工作压力,比较系统地对、教务教学上的各项服务和信息进行管理。

本系统是针对学生管理进行设计的,用户为学校教务管理老师主要采用的开发工具是JSP和ORACLE开发过程中利用面向对象的程序思想和严格按照软件工程的开发过程来进行分析和设计。

本系统所要完成以下几个主要功能,其中有院系管理、专业管理、成绩管理、学生基本信息管理等等,实现对学生基本信息和成绩进行录入、修改、删除、查询等操作。

系统基本满足了学生管理的功能需要,确实为学校对学生的管理提供了便利。

本系统界面友好、操作简单,对学生基本情况和成绩加快了查询速度、加强了管理,使各项管理更加规范化。

关键字:JSP;成绩管理;成绩查询;ORACLE
Abstract
The management system of student’s achievement is mainly applied in part of teaching management of all kinds of universities. It is applied in administration section to arrang curriculum , student’s achievement and so on , in order to account student’s achievement so quickly that enhance work efficience. Meanwhile, the system can inquire achievement and information of students in order to get some useful information.timely , thus ,it can gaves some help to administration section and alleviate work pressure of academic staffs and manage all kinds of sevices and informations in syslematically.
The system is designed for management of student’s achievement.It is mostly used by teacher whom work in administration section. It is sometimes used by student whom want to check his information. Mainly USES the development tools are JSP and MYSQL .The mainly foundation must to be accomplished in the management syste m of student’s achievement as follows: management of student’s achievement , management of student’s basic information and so on .Of course, the system can be aimed at achievement and basic information of student to modify or delete or inquire records.
The system content with foundation of managment of student’s achievement in basically,it provides converience with school to manage student . The interface is provided by system is friendly , and the operation is simple . To achievement and basic informat ion of student’s , it speeds up for inquring . Strengthen management and molkes all kinds of management more standardlize. In a words , the system has compatibitily and is suited for most people
Key words:JSP;performance management;performance inquire;ORACLE
目录
1引言 (1)
1.1 编写目的 (1)
1.2背景介绍 (1)
1.3开发环境 (1)
1.4开发工具 (2)
1.4.1 Eclipse介绍 (2)
1.4.2 Oracle介绍 (2)
2系统分析..................................................................................... 错误!未定义书签。

2.1系统需求 (3)
2.2 系统构架 (3)
2.3系统流程图 (4)
2.4系统用例图 (5)
2.5对性能的规定 (6)
2.5.1精度 (6)
2.5.2时间特性要求 (6)
2.5.3灵活性 (7)
3系统设计 (8)
3.1系统标识 (8)
3.2 系统功能 (8)
3.3实体联系图 (9)
3.4数据库表的设计 (9)
4系统实现 (11)
4.1项目效果图 (11)
4.1.1登录界面: (11)
4.1.2院系管理: (11)
4.1.3专业管理 (12)
4.1.3班级管理 (12)
4.1.4学生管理............................................................... 错误!未定义书签。

4.1.5课程管理 (13)
4.1.6成绩管理............................................................... 错误!未定义书签。

4.2数据库脚本 (13)
4.3 数据库连接..................................................................... 错误!未定义书签。

4.4程序实现 (16)
4.4.1课程管理代码 (16)
4.4.2班级管理代码 (17)
5.系统测试 (20)
5.1 测试目的 (20)
5.2 测试环境的搭建 (20)
5.3 测试方法 (20)
5.4 测试项目 (20)
5.5 测试结果 (21)
5.6结论.................................................................................. 错误!未定义书签。

6.设计总结 (22)
参考文献 (23)
致谢 (25)
1引言
1.1 编写目的
本需求规格说明书是为了开发学生管理系统而编写。

本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用,也是完成系统设计后验收的依据。

1.2背景介绍
学生管理系统是一个学校不可缺少的部分,它的内容对于学校的管理者至关重要。

学生管理系统对学校加强学生管理有着极其重要的作用.由于各个大学都在持续扩招,学生的数量日益庞大,对于如何管理如此庞大的学生数据显得更为复杂,传统的手工管理不仅工作量大,而且容易出现问题,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

已不能适应时代的发展。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。

例:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高管理者管理的效率,也是学校走向科学化、正规化管理,与世界接轨的重要条件。

因此,开发设计这样一套学生管理软件成为很有必要的事情.
1.3开发环境
1.开发语言:java+jsp
2.开发工具:Myeclipse 8.5,IE 8.0,Tomcat ,jdk 1.6
3.数据库:Oracle 10g
4.文档编写工具:word 2007,Viso 2007
5.运行环境:windows xp,windows 7
1.4开发工具
1.4.1Eclipse介绍
eclipse-galileoEclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java 开发工具(Java Development Tools,JDT)。

是著名的跨平台的自由集成开发环境(IDE)。

最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。

这种平等和一致性并不仅限于Java 开发工具。

尽管Eclipse是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++等编程语言的插件已经可用,或预计将会推出。

Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础
1.4.2Oracle介绍
Oracle Database,又名Oracle DBMS,或简称Oracle。

是甲骨文公司的一款关系数据库管理系统当我们使用一个ORACLE数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。

因此当发生上述故障后,希望能重新建立一个完整的数据库,该处理称为数据库恢复。

恢复子系统是数据库管理系统的一个重要组成部分。

恢复处理随时随地所发生的故障类型所影响的结构而变化。

Oracle的软件可运行在PC、工作站、小型机、主机、大规模的并行计算机,以及PDA等各种计算设备上,随着越来越多的企业将自己转向电子商务,Oracle 的具有强大的电子商务能力的解决方案,为企业提供高效率的扩展市场的手段,并提高工作效率和吸引更多的客户
2.系统分析
2.1系统需求
该学生管理系统采用JSP开发研制,采用标准的MVC设计模式开发,根据MVC设计思想,手写配置文件,实现了View层(显示层),Service层(业务逻辑层),DAO层(数据库访问对象层)的多层架构,利用HTML ,JSP作为显示层,JavaBean作为行为模型,servlet作为响应服务器,DIV+CSS+javascript设计网页,oracle作为数据存储。

在完成系统需求同时,完成分页,条件查询等功能。

针对学生信息,课程,成绩及其数据特点,可以全面实现对学生的相关东西的插入、查询、修改、删除等功能的计算机管理。

它能使学生数据的工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高学生管理的效率,从而使学校对于学生的管理水平和技术水平跃上一个新的台阶。

2.2 系统构架
系统采用的是B/S结构,即浏览器和服务器架构,示意图如图2-1所示。

浏览器端提供用户操作界面,接受用户输入的各种操作信息,向服务器发出各种操作命令或数据请求,并接收执行操作命令后返回的数据结果,根据业务逻辑进行相关的运算,向用户显示相应的信息。

服务器端接收浏览器端的数据或命令请求,并请求数据库服务器执行数据库操作得到相应的数据集,对数据集进行相应的处理,然后将数据集或处理后的数据集返回给浏览器端。

图2-1系统架构示意图2.3系统流程图
图2-2 系统流程图
2.4系统用例图
图2-3 系统用例图
此图主要阐述系统的各项应用,用图的方式表现彼此之间的联系
2.5对性能的规定
2.5.1精度
该软件对输入、输出数据,包括传输过程中的数据的精度无特定要求。

2.5.2时间特性要求
响应时间:1秒以内。

更新处理时间:1秒以内。

数据的转换和传送时间:1秒以内。

计算时间:瞬间响应。

2.5.3灵活性
(1) 操作方式上的变化:要求开发的此软件系统在操作方式上的灵活性较好,可
以通过多种不同的操作来进行同一目的的实现。

(2) 运行环境的变化:要求开发的此软件可以较好地适应运行环境的变化,而不
要只能在一种单一的运行环境中才可以生效进行相应的操作。

要求至少可以在WindowsXP和Windows7的操作系统中都可运行操作。

(3) 数据操作灵活性:要求在对数据操作上具有相应的灵活性。

(4) 同其他软件的接口的变化:要求此软件可以适应其他软件接口。

(5) 有效时限的变化:要求此软件的有效时限可以根据用户的需要相应增减。

(6) 功能改进的变化:当日后功能根据用户实际需要而改进发生变化时,该软件
也可适应这些变化而正常运行工作。

3系统设计
3.1系统标识
系统名称:学生管理系统
3.2 系统功能
系统设计中主要包括五个主要功能模块:基本数据管理:包括院系管理,管理(设置院系下面的专业),班级管理(设置专业下面的班级),课程管理(设置相应专业下面的课程)
学生信息管理:包括基本信息录入、基本信息修改
学生成绩管理:包括学生成绩录入、学生成绩修改
专业查询:包括基本专业信息查询、修改
图3-1 系统功能图
3.3实体联系图
图3-2 系统E-R图
3.4数据库表的设计
表3-1 院系表(school)
字段名数据类型是否为空说明
Sname Varchar2(20) Not null院系名称(主键)
院系表主要是用来院系类别的添加,删除等
表3-2 专业表(profession)
字段名数据类型是否为空说明
Pname Varchar2(20) Not null 专业名称
Sname Varchar2(20) Not null 所属院系(外键)专业表主要是用来对学生的相应专业类别的添加,删除等
表3-3 班级表(class)
字段名数据类型是否为空说明
Cname Varchar2(20) Not null 班级名称Pname Varchar2(20)) Not null 专业名称(外键)
表3-4 课程表(lesson)
字段名数据类型是否为空说明
lname Varchar2(20) Not null 课程名称(主键)Pname Varchar2(20) Not null 专业名称(外键)
表3-5 学生表(student)
字段名数据类型是否为空说明
Sno NUMBER(20) 学生编号,主键Sname Varchar2(20) 学生名称Cname Number(20)班级名称(外键)Ssex char(2) 性别
Sage Varchar2(20) 年龄
Saddr Varchar2(200)家庭住址
Scode Varchar2(20) 邮编
Sdatial Varchar2(500) 备注
表3-6 成绩表(grade)
字段名数据类型是否为空说明
Gno Number(20) Not null 成绩编号(主键)Sname Varchar2(20) Not null 学生名称(外键)Cname Varchar2(20) Notnull 班级名称(外键)Lname Varchar2(20) Not null 课程名称(外键)Grade Varchar2(20) Not null 成绩
4系统实现
4.1项目效果图
4.1.1登录界面:
图4-1 登陆页面4.1.2院系管理:
图4-2 院系页面4.1.3专业管理
图4-3 专业管理4.1.3班级管理
4-4 班级页面
图4-5 学生页面4.1.5课程管理
图4-6 课程页面
图4-7 成绩页面
4.2数据库脚本
create table SCHOOL
(
SNAME VARCHAR2(30) not null
)
;
alter table SCHOOL
add constraint SNAME primary key (SNAME); create table PROFESSION
(
PNAME VARCHAR2(20) not null,
SNAME VARCHAR2(20) not null
)
;
alter table PROFESSION
add constraint PRONAME primary key (PNAME)
disable;
alter table PROFESSION
add constraint SCHOOLNAME foreign key (SNAME) references SCHOOL (SNAME)
disable;
create table CLASSES
(
CNAME VARCHAR2(20) not null,
PNAME VARCHAR2(20) not null
)
;
alter table CLASSES
add constraint CLASSNAME primary key (CNAME) disable;
alter table CLASSES
add constraint PROFESSNAME foreign key (PNAME) references PROFESSION (PNAME)
disable;
create table LESSON
(
LNAME VARCHAR2(20),
PRONAME VARCHAR2(20)
)
;
alter table LESSON
add constraint LNAME primary key (LNAME)
disable;
alter table LESSON
add constraint PNAME foreign key (PRONAME)
references PROFESSION (PNAME)
disable;
create table STUDENT
(
SNAME VARCHAR2(20) not null,
CNAME VARCHAR2 (20) not null,
SSEX VARCHAR2 (5),
SAGE VARCHAR2 (5),
SADDR VARCHAR2 (200),
SCODE VARCHAR2 (20),
SDATAIL VARCHAR2 (200)
)
;
alter table STUDENT
add constraint STNAME primary key (SNAME)
disable;
alter table STUDENT
add constraint CNAME_ST foreign key (CNAME)
references CLASSES (CNAME)
disable;
create table GRADE
(
GNO NUMBER,
SNAME VARCHAR2 (20),
LNAME VARCHAR2 (20),
GRADE VARCHAR2 (20)
)
;
Alter table GRADE
add constraint GNO primary key (GNO)
disable;
alter table GRADE
add constraint CLNAME foreign key (LNAME)
references LESSON (LNAME)
disable;
alter table GRADE
add constraint STUDENTNAME foreign key (SNAME) references STUDENT (SNAME)
disable;
create table USERS
(
USERNAME VARCHAR2 (20) not null,
PASSWORD VARCHAR2 (20) not null
)
;
4.3程序实现
4.3.1课程管理代码
package com.hnpu.action;
import java.io.IOException;
import java.io.PrintWriter;
import ng.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hnpu.bean.Lesson;
import com.hnpu.bean.Profession;
import com.hnpu.bean.School;
import com.hnpu.dao.DBHelper;
public class LessonServlet extends HttpServlet {
DBHelper db=new DBHelper();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String op=request.getParameter("op");
if(op!=null&&op.equals("findall")){
findall(request,response);
}else if(op!=null&&op.equals("add")){
add(request,response);
}
}
4.3.2班级管理代码
package com.hnpu.action;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import ng.reflect.InvocationTargetException; import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import com.hnpu.bean.Profession;
import com.hnpu.bean.School;
import com.hnpu.bean.classes;
import com.hnpu.dao.DBHelper;
public class Classesservl extends HttpServlet { DBHelper db=new DBHelper();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String op=request.getParameter("op");
if(op!=null&&op.equals("findall")){
findall(request,response);
}else if(op!=null&&op.equals("add")){
try {
add(request,response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else if(op!=null&&op.equals("del")){
del(request,response);
}
}
private void del(HttpServletRequest request, HttpServletResponse response) throws IOException {
// TODO Auto-generated method stub
String classname = new String(request.getParameter("classname").getBytes("ISO-8859-1"),"gbk" );
List<String> parms=new ArrayList<String>();
parms.add(classname);
String sql="delete from classes where cname=?";
db.doUpdate(sql, parms);
response.sendRedirect("Classesservl?op=findall");
}
private void add(HttpServletRequest request, HttpServletResponse response) throws Exception {
5.系统测试
5.1 测试目的
测试是为了发现程序中的错误而执行程序的过程,测试的目的就是在软件投入生产运行之前,尽可能的发现软件中的错误。

成功的测试是发现了至今为止尚未发现的错误的测试。

5.2 测试环境的搭建
(1) 运行环境jdk 5.0 及以上的版本,并设置好相应的环境变量。

(2) JDK的安装成功与否可采用以下方法测试
在cmd下输入:java -version 看输出情况,在我的电脑上输出:
如果出现与图4-1相似的界面,就说明JDK安装成功并配置好了环境变量。

(3) 服务器的安装,本系统使用的服务器是Apache 的Tomcat,版本是5.5,按
提示安装好后,设定其TOMCAT_HOME的路径。

一切准备好之后,启动服务器,在浏览器地址栏里面输入:http://localhost:8080/。

5.3 测试方法
为了提高测试效率,降低测试成本,本测试方案采用黑盒法设计基本的测试方案,再用白盒法补充一些方案。

在黑盒法测试方案中,采用等价划分技术,把所有可能的数据划分成几个等价类。

5.4 测试项目
(1) 登录测试
(2) 数据输入和输出测试
(3) 权限测试
(4) 管理员功能测试
5.5 测试结果
模块的测试结果如下:
输入和输出测试中,对所有相同的输入都可以得出相同的输出。

教务管理员测试中,发现在级联下拉列表不正常,异步访问服务器可能存在问题。

6.设计总结
设计立时一个星期,到今天为止总算圆满完成了,虽然只是很小的管理系统,但是还蛮有成就感的,不仅仅是对这阶段学习的知识的一个巩固,对系统的开发的流程又多增了一层了解和领悟。

开始时很多事情都不太明白,对系统设计的流程的还不是很清楚,一开始的时候确实有点不知所措,不过还好,在老师的指导下,按计划的把项目完成了。

针对这次毕业设计,我总结了以下几点,做的好地方希望能在下次设计中继续发扬,做的不够的地方争取在下次设计时能得到改正。

前期的准备还不足,没完全确定需求,这就导致了在设计过程中还出现了功能不确定的情况。

数据库设计不够完善,没多方面的考虑完善,导致在编码过程中还多次的修改数据库。

整体框架没规划好,项目的前期就应该把项目的整体框架和包类,列出和规范分类,这样能使在其后编码阶段统一的模块化的编码,也能给整合的时候节省时间。

参考文献
[1]孙卫琴,李洪成.《Tomcat 与JSP Web 开发技术详解》[M].电子工业出版
社,2003年6月:1-205
[2]BruceEckel.《JSP编程思想》[M]. 机械工业出版社,2003年10月:1-378
[3]FLANAGAN.《JSP技术手册》[M].北京中国电力出版社,2002年6月:1-465
[4]孙一林,彭波.《JSP数据库编程实例》. 清华大学出版社,2002年8月:30-210
[5]LEE ANNE PHILLIPS.《巧学活用HTML4》[M].电子工业出版社,2004年8月:1-319
[6]飞思科技产品研发中心.《JSP应用开发详解》[M].电子工业出版社,2003年9月:32-300
[7]耿祥义,张跃平.《JSP实用教程》[M]. 清华大学出版社,2003年5月1日:1-354
[8]孙涌.《现代软件工程》[M].北京希望电子出版社,2003年8月:1-246
[9]萨师煊,王珊.《数据库系统概论》北京[M].高等教育出版社,2002年2月:3-460
[10]Brown等.《JSP编程指南(第二版)》[M]. 电子工业出版社,2003年3月:1-268
[11]清宏计算机工作室.《JSP编程技巧》[M]北京. 机械工业出版社, 2004年5月:1-410
[12]朱红,司光亚.《JSP Web编程指南》[M]北京.电子工业出版社, 2001年9月:34-307 [M]。

相关文档
最新文档