学生信息管理系统课程设计60869.docx

上传人:b****6 文档编号:7133857 上传时间:2023-01-21 格式:DOCX 页数:16 大小:587.07KB
下载 相关 举报
学生信息管理系统课程设计60869.docx_第1页
第1页 / 共16页
学生信息管理系统课程设计60869.docx_第2页
第2页 / 共16页
学生信息管理系统课程设计60869.docx_第3页
第3页 / 共16页
学生信息管理系统课程设计60869.docx_第4页
第4页 / 共16页
学生信息管理系统课程设计60869.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

学生信息管理系统课程设计60869.docx

《学生信息管理系统课程设计60869.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统课程设计60869.docx(16页珍藏版)》请在冰豆网上搜索。

学生信息管理系统课程设计60869.docx

学生信息管理系统课程设计60869

2.3数据库功能分析…………………………………………………6

4.2设计结果分析…………………………………………………19

总结……………………………………………………………………20

参考文献…………………………………………………………………21

 

前言

随着计算机技术的飞速发展,当今社会正快速向信息化社会前进。

而如今学校的规模不断扩大,学生数量急剧加,有关学生的各种信息量也成倍增长,面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工用量。

此次设计我们使用JAVA编程,实现了学生信息管理系统的过程。

本系统采用Sun公司的j2sdk1.4.2_04和SQLserver2000数据库管理系统作为开发工具,通过对学生信息管理系统进行可行性分析、需求分析和设计逐步将一个学生信息管理系统的开发过程呈现出来。

系统可以对学校的所有专业信息和课程信息进行管理,可以对学生的基本信息和成绩进行管理,最后本系统能对专业信息、课程信息、学生基本信息和成绩信息进行查询。

关键词:

数据库;java;SQLserver2000;查询

 

第一章概述

1.1课题背景

信息管理系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。

在现今众多的学生管理系统中,最为常见的是学生学籍管理系统和学生课程成绩管理系统。

这是对我国现今大多学校对学生管理的需要而开发设计的,但随着学校的发展,这种各自独立的系统远远不能满足学校管理的需要。

学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

而使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。

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

这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理的重要途径。

1.2课题任务

1、设计内容为学生信息管理系统,总体任务是实现学生信息关系的系统化、规范化和自动化。

2、对系统的功能进行比较完备、合理的分析,根据功能进行模块划分,给出功能结构图。

1.3课题要求

1.数据库设计(学生信息管理系统数据流程图,数据库概念结构设计,数据库逻辑结构设计)。

2.数据库需求分析(学生信息管理系统数据流程图)

用户的需求具体体现在各种信息的提供、保存、更新、和查询,这就要求数据库结构能充分满足各种信息的输出和输入。

收集基本数据、数据结构以及数处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

3.数据库概念结构设计(E-R图)

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。

这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。

4.数据库物理结构设计

现在需要将上面的数据库概念结构转化为数据库系统所支持的实际数据模型,也就是数据库的物理模型。

在上面的实体以及实体之间关系的基础上,生成数据库中的表格以及各个表格之间的关系。

5.选择自己熟悉的编程语言,完成系统实现。

1.4开发工具

随着Internet网络的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性。

于是就相继出现了RPC/COM/CORBA等技术,但这些技术在实际应用中存在着许多不足和局限。

它们的特定协议难以通过防火墙,因而不适于Web上的应用开发。

为了进一步开发基于Web的应用,出现了Sun公司的SunONE(OpenNetEnvironment开发网络环境)和Microsoft公司的.NET等Web服务技术体系。

SunONE体系结构以Java语言为核心,包括J2SE/J2EE/J2ME和一系列的标准、技术及协议。

它包括Sun独有的iPlanet软件系列,其中有在市场上受欢迎的LDAP目录服务器软件,以及ForteforJava——便于在任何环境下书写Java语言的软件工具。

我们很容易就能从网上免费获得和使用包括Java集成开发环境、Java数据库和中间件(ApplicationServer)服务器等产品,以及它们的源代码。

 

第二章设计简介及设计方案

2.1系统功能分析

系统开发的总体任务是实现学生信息关系的系统化、规范化和自动化。

系统功能分析是在系统开发的总体任务的基础上完成的。

本设计中学生信息管理系统需要完成的功能主要有:

●有关学籍等信息的输入,包括学生基本信息、所在班级、所学课程和成绩等。

●学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等。

●学生信息的修改。

●学校基本课程信息的输入和查询。

●基本课程信息的修改。

●学生课程的设置和修改。

●学生成绩信息的输入,修改,查询,统计。

2.2系统功能模块设计

对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图2-1所示的系统功能模块图。

图2-1系统功能模块图

2.3数据库功能分析

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以用实现的效果产生影响。

合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

同时,合理的数据库结构也将有利于程序的实现。

设计数据库时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。

2.4数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新、和查询,这就要求数据库结构能充分满足各种信息的输出和输入。

收集基本数据、数据结构以及数处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

针对一般学生信息管理系统的需求,能过对学生学习过程的内容和数据流程分析,设计如面所示的数据项和数据结构:

●学生基本信息:

包括的数据项有:

学生学号、学生姓名、性别、民族、籍贯、入校日期、专业名、学院名、生日等。

●课程基本信息:

包括的数据项有:

课程号、课程名称、授课老师、上课教室、课程类别、上课时间等。

●学生成绩信息:

包括的数据项有:

学生学号、课程编号、考试分数等。

 

第三章详细设计

3.1数据库设计

本实验采用SQLServer2000数据库系统。

3.1.1数据库概念结构设计

首先设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。

这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。

本实例根据上面的设计规划出的实体有:

学生实体、课程实体。

各个实体之间关系E-R图如图3-1所示。

籍贯

图3-1实体之间关系E-R图

3.1.2数据库概念结构设计

现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

在上面的实体以及实体之间关系的基础上,开成数据库中的表格以及各个表格之间的关系。

学生信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。

1.学生基本信息表student,如表3-1。

表3-1学生基本信息表student

列名

数据类型

可否为空

说明

snum

INT(4)

NOTNULL

学号(主键)

Sname

NVARCHAR(50)

NULL

学生姓名

Ssex

NVARCHAR(10)

NULL

性别

Sethnic

NVARCHAR(50)

NULL

民族

Shome

NVARCHAR(50)

NULL

籍贯

Syear

NVARCHAR(50)

NULL

入学时间

Smajor

NVARCHAR(50)

NULL

专业名

Scollege

NVARCHAR(50)

NULL

学院名

Sbirth

NVARCHAR(50)

NULL

出生日期

2.课程基本信息表course,如表3-2。

表3-2课程基本信息表course

列名

数据类型

可否为空

说明

Cnum

INT(4)

NOTNULL

课程号(主键)

Cname

NVARCHAR(50)

NULL

课程名

Cteacher

NVARCHAR(50)

NULL

授课老师

Cplace

NVARCHAR(50)

NULL

上课地点

Ctype

NVARCHAR(50)

NULL

课程类别

Ctime

NVARCHAR(50)

NULL

上课时间

3学生成绩信息表sc,如表3-3。

表3-3学生成绩信息表sc

列名

数据类型

可否为空

说明

Snum

int(4)

NOTNULL

学号

Cnum

Int(4)

NOTNULL

课程号

Grade

Numeric(5)

NULL

成绩

3.2详细编程

3.2.1学生信息管理模块

1.添加学生信息。

此部分实现了对学生信息的增加功能,

publicclassAddStuInfoextendsStuInfo{

StuBeangetSnum=newStubean();

publicAddStuInfo(){

this.setTitle("添加学生信息");

this.setResizable(false);

sNum.setEditable(false);

sNum.setText(""+getSnum.getStuId());

sName.setEditable(true);

sSex.setEditable(true);

sSethnic.setEditable(true);

sBirth.setEditable(true);

sYear.setEditable(true);

sMajor.setEditable(true);

sCollege.setEditable(true);

sHome.setEditable(true);

//设置运行时窗口的位置

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((screenSize.width-400)/2,

(screenSize.height-300)/2+45);

}

2.删除学生信息。

此部分实现了对学生信息的删除。

在删除前先查询出需要删除的学生的基本信息,在进行删除。

publicclassDelStuInfoextendsStuInfo{

StringsNum_str="";

publicDelStuInfo(){

this.setTitle("删除学生信息");

this.setResizable(false);

sNum.setEditable(false);

sNum.setText("请查询学号");

sName.setEditable(false);

sSex.setEditable(false);

sSethnic.setEditable(false);

sBirth.setEditable(false);

sYear.setEditable(false);

sMajor.setEditable(false);

sCollege.setEditable(false);

sHome.setEditable(false);

//设置运行时窗口的位置

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((screenSize.width-400)/2,

(screenSize.height-300)/2+45);

}

3.修改学生信息。

此部分实现了对学生信息的修改。

在修改时先查询出要修改的学生的基本信息,然后在进行需要的改动并保存。

publicclassEditStuInfoextendsStuInfo{

StringsNum_str="";

publicEditStuInfo(){

this.setTitle("修改学生信息");

this.setResizable(false);

sNum.setEditable(false);

sNum.setText("请查询学号");

sName.setEditable(false);

sSex.setEditable(false);

sSethnic.setEditable(false);

sBirth.setEditable(false);

sYear.setEditable(false);

sMajor.setEditable(false);

sCollege.setEditable(false);

sHome.setEditable(false);

//设置运行时窗口的位置

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((screenSize.width-400)/2,

(screenSize.height-300)/2+45);

}

3.2.2课程信息管理模块

1.增加课程信息。

此部分实现了对课程信息的增加。

publicclassAddCourseInfoextendsCourseInfo{

CrsBeangetCnum=newCrsBean();

publicAddCourseInfo(){

this.setTitle("添加课程信息");

this.setResizable(false);

cNum.setEditable(false);

cNum.setText(""+getCnum.getCrsId());

cName.setEditable(true);

cTeacher.setEditable(true);

cType.setEditable(true);

cTime.setEditable(true);

cPlace.setEditable(true);

//设置运行位置,使对话框居中

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((int)(screenSize.width-400)/2,

(int)(screenSize.height-300)/2+45);

}

2.删除课程信息。

此部分实现了对课程信息的删除。

在删除时先查询出需要删除的课程基本信息,在进行删除。

publicclassDelCourseInfoextendsCourseInfo{

StringcNum_str="";

publicDelCourseInfo(){

this.setTitle("删除课程信息");

this.setResizable(false);

cNum.setEditable(false);

cNum.setText("请查询课程号");

cName.setEditable(false);

cTeacher.setEditable(false);

cType.setEditable(false);

cTime.setEditable(false);

cPlace.setEditable(false);

//设置运行位置,使对话框居中

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((int)(screenSize.width-400)/2,

(int)(screenSize.height-300)/2+45);

}

3.修改课程信息。

此部分实现了对课程信息的修改。

在修改时先查询出需要修改课程的信息,在进行相应的修改。

publicclassEditCourseInfoextendsCourseInfo{

StringcNum_str="";

publicEditCourseInfo(){

this.setTitle("修改课程信息");

this.setResizable(false);

cNum.setEditable(false);

cNum.setText("请查询课程号");

cName.setEditable(false);

cTeacher.setEditable(false);

cType.setEditable(false);

cTime.setEditable(false);

cPlace.setEditable(false);

//设置运行位置,使对话框居中

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((int)(screenSize.width-400)/2,

(int)(screenSize.height-300)/2+45);

}

3.2.3成绩管理模块

1.成绩的增加。

publicclassAddGradeInfoextendsGradeInfoimplementsActionListener{

publicAddGradeInfo(){

this.setTitle("添加成绩信息");

this.setResizable(false);

//设置运行位置,使对话框居中

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((int)(screenSize.width-400)/2,

(int)(screenSize.height-300)/2+45);

}

2.成绩的修改。

publicclassEditGradeInfoextendsGradeInfoimplementsActionListener{

publicEditGradeInfo(){

this.setTitle("修改成绩信息");

this.setResizable(false);

//设置运行位置,使对话框居中

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((int)(screenSize.width-400)/2,

(int)(screenSize.height-300)/2+45);

}

3.2.4查询模块

该模块实现了对学生信息的分类查询,可以通过学号、姓名、性别、学院、专业分别查询相应的学生信;另外还实现了课程信息的分类查询,可以通过课程课程名称和课程教师分别查询相应的课程信息。

最后还实现了对成绩的查询。

3.2.5数据库连接

//连接数据库的类

publicclassDatabase{

privateStatementstmt=null;

ResultSetrs=null;

privateConnectionconn=null;

Stringsql;

Stringstrurl="jdbc:

odbc:

tls";

publicDatabase(){

}

 

第四章设计结果及分析

4.1设计结果

本系统实现了对学生的基本信息和成绩的管理,还可以对学校的所有课程进行管理,最后本系统还实现了对课程信息、学生基本信息和成绩信息的查询。

系统主界面如图:

图4-1系统主界面

4.1.1学生信息的管理

1.增加学生信息。

图4-2添加学生信息

2.查询学生信息。

按学号查询,如图4-3和4-4;

图4-3学号查询

图4-4学生信息查询

此外,此系统还实现了按姓名、性别、学院、专业的查询。

3.删除学生信息。

先查询出要删除的学生的信息,在点击删除,如图4-5所示。

图4-5删除学生信息

4.1.2课程信息的管理

1.添加课程信息。

这里的课程编码是按顺序自动生成的,只要输入相应的信息,点击增加即可添加新的课程信息。

如图4-6。

图4-6添加课程信息

2.修改课程信息。

先查询出需要修改的的课程的信息,然后修改相应的需要修改的地方,点击修改即可完成修改。

如图4-7。

图4-7修改课程信息

3.删除课程信息。

先点击查询,输入相应的课程号,查询出需要删除的课程信息,确认之后点击删除即可完成删除。

如图4-8。

图4-8删除课程信息

4.1.3成绩管理

1.学生选课。

一个学生需要首先进行选课才能有成绩,所以首先要进行选课,如图4-9。

图4-9学生选修

2.增加成绩。

本系统可以方便的写入学生的成绩,以便统计与查询。

如图4-10。

图4-10增加成绩

3.修改成绩。

有时候输入成绩可能出错,或者成绩加错了,所以需要修改成绩,本系统实现了此功能,如图4-11。

图4-11修改成绩

4.查询成绩。

有了成绩当然要可以查询,本系统可以方便的查询任何人的所有成绩。

如图4-12和图4-13。

图4-12查询成绩

图4-13查询成绩结果

4.2设计结果分析

基本达到了预期的实验效果,实现了对学校的所有专业信息和课程信息进行管理,对学生的基本信息和成绩进行管理,最后本系统能对专业信息、课程信息、学生基本信息和成绩信息进行查询。

不过界面尚做的不够漂亮,而且没有登陆界面,还有很多需要完善的地方。

总结

一周的课程设计很快就过去了,课程设计虽然不是很完美,但我觉得我学到了很多东西,我的知识面拓宽了很多,也激起了我学习一些技术的兴趣。

通过对做这次课程设计,使我对数据库的应用有了更深一步的认识。

又使我掌握

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1