学生成绩管理系统的设计与实现Word下载.docx
- 文档编号:18948102
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:27
- 大小:943.77KB
学生成绩管理系统的设计与实现Word下载.docx
《学生成绩管理系统的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统的设计与实现Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
因此,开发这样一套管理软件成为很有必要的事情。
而且只要软件的设计合理,可以为学校提供合理的管理模式。
建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。
帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。
巩固和加深对java语言课程的基本知识的理解和掌握;
掌握java语言编程和程序调试的基本技能;
利用java语言进行基本的软件设计;
掌握书写程序设计说明文档的能力;
提高运用java语言解决实际问题的能力;
训练掌握、加深理解并巩固《Java程序设计实用教程》课程中所学到的基本概念、编程思路;
综合运用Java程序设计的编程方法,能够利用这些程序设计方法来解决工程和科研中常见的实际问题;
培养分析问题、解决问题的能力,进一步提高进行大型程序设计的能力。
2需求分析
2.1项目要求
(1)查询:
按照学号进行查询
(2)用户分为两类,即:
教师、学生。
(3)系统登录界面美观大方完成用户身份验证。
(4)教师可以根据教师的固有的用户名和密码登陆学生成绩管理系统。
学生可以用学生固有的用户名和密码登陆成绩管理系统。
(5)教师从键盘输入一个或多个学生信息;
输入完成后数据库自动更新。
(6)教师输入欲删除的学生的学号;
删除成功后,数据库自动更新。
(7)给定一个学生学号删除一个学生信息,查询数据库中是否有输入学号的学生信息。
如果存在,提示是否删除。
如果没有重新输入。
(8)教师输入欲修改的学生的学号,判断该学生是否存在于记录中;
若学生记录存在,提供修改学生信息功能,修改成功后,更新数据库,查看记录
(9)教师输入欲查询学生学号;
若该学生存在,输出该学生相关信息。
查看多个学生记录,点击输出所有学生的记录;
能分别按学号、分数进行排序。
(10)退出系统,退出时提示是否退出
2.2系统功能设计
2.2.1系统的功能描述图
如图1所示,根据系统的总体需求得到系统功能描述图,这个图是本系统最基础的模型。
图1系统功能描述图
2.2.2系统的功能特点
(1)面向管理决策
MXS是继管理学的思想方法、管理与决策的行为理论之后的一个重要发展,它是一个为管理决策服务的信息系统,它必须能够根据管理的需要及时提供所需要的信息,帮助决策者作出决策。
(2)综合性
MXS是一个对学生成绩进行全面管理的综合系统。
建设管理信息系统时,可根据需要逐步应用个别领域的子系统,然后进行综合,最终达到应用学生成绩管理系统进行综合管理的目标。
(3)人机系统
MXS的目的在于辅助决策,而决策只能由人来做,因而学生成绩管理系统必然是一个人机综合的系统。
在成绩管理系统中,各级管理人员既是系统的使用者,又是系统的组成部分。
(4)现代管理方法和手段向结合的系统
项目
描述
数据流名称
学生名单
说明
某班全部学生名单
数据流来源
学生信息
数据流去向
班级学生名单显示
组成
班级学号姓名
平均流量
高峰期流量
随机存储
如果不采用先进的管理方法,只简单地采用计算机书籍提高处理速度,成绩管理系统的作用发挥十分有限。
成绩管理系统发挥其在管理中的作用,就必须与先进的管理手段和方法结合起来,在开发系统时,融进现代化的管理思想和方法。
2.3数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合
修改成绩要求
教师
修改成绩
(1)数据项的描述
表1学号数据项表2成绩数据项
(2)数据流描述
成绩录入数据流主要包含“学生名单”,“变动成绩要求”,“删除成绩要求”,“添加成绩要求”,“新增的成绩”,“原成绩”,“删除的成绩”,“修改后的成绩”等数据流
数据项名称
学号
含义说明
唯一标识符
别名
学生编号
数据类型
字符型
长度
5
成绩
学分
表3修改成绩数据流表4学生名单数据流
(3)数据存储的描述
成绩录入数据流中,包含“学生信息”和“考试成绩”等数据存储如下表所示
数据存储名称
记录学生的基本信息
流入数据流
学生的各项基本信息
流出数据流
学生基本信息
学号、姓名、成绩
数据量
学生人数
存储方式
表5学生信息的数据存储表6考试成绩的数据存储
考试成绩
保存学生各门功课的考试成绩
新增的成绩、修改后的成绩
原成绩
学生人数*课程数
(4)处理过程的描述
在成绩录入数据流中,包含“班级学生名单查询”、“增加成绩”、“修改成绩”、“删除成绩”、“成绩查询”等处理过程。
表7增加学生信息
处理过程名
增加成绩
录入学生某门课的考试成绩
学号、课程、成绩
输出数据流
处理
在“考试成绩”数据存储中增加一个学生的考试成绩。
本系统的数据字典卡片如下:
表8成绩表卡片
描述:
成绩表
定义:
score=studentid+student_name
+student_age+
course_name+
score+zongfen+pingjunfen
studentid={限10个字符以内}
student_name={限30个字符以内}scorname={限30个字符型}
score={整数型}
zongfen={整型}pingjunfen={整型}
2.4系统性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:
(1)系统处理的准确性和及时性。
系统处理的准确性和及时性是系统的必然要求。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。
(2)系统的开放性和系统的可扩充性。
系统在开发过程中,应该充分考虑以后的可扩充性。
例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。
所有这些,都要求系统提供足够的方法进行功能的调整和扩充。
而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
(3)系统的易用性和易维护性。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面。
针对用户可能出现的使用问题,要提供足够多的在线帮助,缩短用户对系统熟悉的过程。
(4)系统的数据要求。
数据录入和处理的准确性和实时性;
数据的一致性与完整性;
数据的共享性与独立性。
(5)系统运行环境要求。
该系统要求运行在java+mysql的环境下,根据软件工程的原理,结合面向对象方法开发完成
3总体设计
根据实际情况,我们使用以少量代价快速地构造一个可执行的软件系统模型。
使用户可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的功能逐渐增加上去,直到所有的功能全部满足。
此时模块也发展成为最终产品了
3.1数据库设计
在开发一个信息系统时,一个贯穿于整个开发过程的问题就是数据的存储以及对数据的操作。
数据通常存放在数据库中,因此,数据库的设计是信息系统设计的主要工作。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:
非关系数据库和关系数据库。
关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语。
本系统对系统数据的要求:
根据上面三种要求并结合实际情况,该系统的数据库采用的是mysql。
它是现在流行的关系数据库中的一种,相比其它的数据库管理系统(DBMS)来说,目前mysql被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体成本而选择了mysql作为网站数据库。
(1)
概要结构设计
图2课程属性图
图3用户属性图
(2)系统关系E-R图:
图4系统E-R图
(3)逻辑结构设计
逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换成与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
E-R图所需解决的问题是如何确定实体和实体间的关系,如何确定这些关系模式的属性和码。
数据库中两实体间1:
n联系转换为一个与n端对应的关系模式合并的关系模式的方法是将联系的属性与1端的码加入n端作为属性,主码为n端实体的主码。
以下为本系统中部分表的简单介绍。
表9学生基本信息表
字段名
ID
Int
学生学号号
Name
Varchar(10)
学生姓名
Sex
Char(10)
性别
Age
年龄
表10成绩基本信息表
id
char
学生学号
Gaili
Zongfen
Pingjunfen
int
int
概率论成绩
个人成绩总和
个人成绩平均分
3.2系统的功能设计
该系统针对不同权限的用户提供不同的操作界面,它负责与用户交互,接收用户通过浏览器传来的数据请求,并将请求传给数据库,同时将请求处理结果通过浏览器呈现给用户。
所以本设计主要包括两个方面:
学生权限的功能设计、教师权限的功能设计。
登录:
只有输入正确的用户名和密码才能登录系统。
登录系统后根据不同的权限进入不同的操作界面。
3.2.1学生权限的功能设计
学生运行该系统,应具有用户登录、成绩查询、查看排名等功能。
(1)信息查询:
学生登录管理系统后可以查看自己的个人信息。
(2)成绩查询:
学生可以输入学号查看自己的所有考试成绩。
(3)查看排名:
学生可以点击排名然后查看自己在班级里的名次。
3.2.2教师权限的功能设计
教师运行该系统,应具有教师登录、录入学生信息和成绩、学生成绩排名,更改学生成绩、删除学生信息和成绩等功能。
(1)录入学生信息和成绩:
教师登录系统以后,可以录入每位学生的基本信息,并依据学号依次输入成绩。
(2)学生成绩排序:
实现排序功能,依据总成绩进行排序,确定学生是否通过本学期检验。
(3)更改学生成绩:
如果经过核实发现输入有误可以及时更改信息。
(4)删除学生信息和成绩:
删除已经不用的信息,保持数据库的实时对应更新。
4详细设计
4.1主要模块说明及其细分
主要模块可以分为两部分:
界面的实现、数据库的连接。
界面主要包括:
登录界面、主界面。
登录界面主要包括:
用户名、密码,实现用户登录。
主界面包括五大功能部分:
查询、添加、修改、删除、排序显示。
数据库的连接包括:
表的建立、数据源的配置。
主要实现的功能及其操作如表11:
表11模块功能
输入信息
处理操作
输出信息
登录信息
用户名、密码
登录,退出
相关的信息界面
学生信息管理
学号、姓名
添加、删除、修改
学生成绩管理
查询、插入、删除、修改、
4.2实现过程
(1)登录界面的实现
首先看下面的截图,由两个标签,两个单行文本编辑框,三个按钮组成。
这个登录界面的实现,首先得声明界面上所要显示的东西:
label、TextField、Button.
创建一个框架JFrame对象作为应用程序的主窗口,设置窗口标题和窗口大小及背景图片。
在设置按钮的界限时,我们要注意代码坐标的书写,不要让两个按钮有重叠。
图5登陆界面
(2)主界面的实现
同理,我们先看下面的截图,有七个功能,采用按钮的形式实现,添加、删除、年龄、java、数据库、网页设计、概率论是7个标签,其后分别跟一个单行文本编辑框。
代码后面有相对应的注释,简单做一介绍。
在这个界面中,有一个特色,大家也都看见,在学号这一行上面有一部分空白,如果我们想实现相对应五个功能模块中的一部分,相对应的实现就会在这空白处。
这部分的实现在Java程序中的实现是首先在数据库中取得表的列数、行数;
取得单元格中的属性值、设置数据模型不可编辑、取得表格列明、取得所属对象类、设置单元格不可编辑;
声明数据模型、生成自己的数据模型、显示水平线、显示垂直向、声明滚动条、给表格加上滚动条;
切记加上初始化向量对象,更新表格内容。
图6信息录入界面
(3)数据库的连接
建表:
此学生成绩管理系统采用ACCESS数据库的连接,首先在ACCESS建立表格,有两个表格,登录界面、主界面各对应一张表。
首先我们使用设计器创建表,打开一张空白表格后设置字段名称和数据类型,设置完成后,直接关闭此表,自动会弹出一个对话框,命名并关闭此表。
在下面找到你所设置命名的表格,打开进行相关信息及其数据的填写。
数据库的连接:
以此执行,开始—>
设置—>
控制面板—>
性能和维护->
管理工具->
数据源。
打开数据源,单击添加,选择MicrososfAccessDriver(*.mdb),在配置数据源名称时切忌,数据源名必须与你程序中的数据源名相同,不可以是表名;
单击选择,在相应的目录下选择你所保存的表名,点击确定,完成数据库的连接。
5系统的实现
5.1用户管理模块
删除用户:
publicvoidactionPerformed(ActionEventee){
if(ee.getSource()==button1){
newchuangkou();
frame.dispose();
}
booleanboo=true;
s=input.getText();
Stringm;
try{
Class.forName("
com.mysql.jdbc.Driver"
);
}catch(ClassNotFoundExceptioneee){
System.out.println("
"
+eee);
con=DriverManager.getConnection("
jdbc:
mysql:
//localhost:
3306/xueshengchengjiguanli"
"
root"
44944hua"
sql=con.createStatement();
rs=sql.executeQuery("
SELECT*FROMchengjibiao"
while(rs.next()){
Stringnumber=rs.getString
(1);
Stringname=rs.getString
(2);
intdate=rs.getInt(3);
intmath=rs.getInt(4);
intenglish=rs.getInt(5);
intwangye=rs.getInt(6);
intgaili=rs.getInt(7);
if(number.equals(s)){
intn=JOptionPane.showConfirmDialog(null,"
是否确认删除吗?
"
确认删除框"
JOptionPane.YES_NO_OPTION);
if(n==JOptionPane.YES_OPTION){
show.setText("
你删除了学号为--"
+number+"
--同学的记录\n\n学号\t姓名\t年龄\tjava\t数据库\t网页设计\t概率论\n"
show.append(number+"
\t"
+name+"
+date+"
+math+"
\t"
+english+"
+wangye+"
\t\t"
+gaili);
show.append("
\n"
m="
DELETEFROMchengjibiaoWHEREid='
+input.getText()+"
'
;
if(boo){
JOptionPane.showMessageDialog(this,"
你输入的学号不存在"
}
sql.executeUpdate(m);
}elseif(n==JOptionPane.NO_OPTION){
}
}
}
//con.close();
}catch(SQLExceptione){
System.out.println(e);
}
图7用户管理流程图
5.2增加学生信息模块
(1)对学生信息进行增加:
if(ee.getSource()==button1){
newchuangkou();
frame.dispose();
Strings1,s2,s3,s4,s5,m6,m7,insert1,recode,name,date,number;
intm1,m2,math,english,wangye,gaili,s6,s7,s8,s9;
s1=input1.getText();
s2=input2.getText();
s3=input3.getText();
s4=input4.getText();
s5=input5.getText();
m6=input5.getText();
m7=input5.getText();
number=s1;
name=s2;
date=s3;
m1=Integer.parseInt(s4);
math=m1;
m2=Integer.parseInt(s5);
english=m2;
s7=Integer.parseInt(m6);
wangye=s7;
s8=Integer.parseInt(m7);
gaili=s8;
s6=math+english+wangye+gaili;
s9=(math+english+wangye+gaili)/4;
intn=JOptionPane.showConfirmDialog(null,"
是否确认添加吗?
if(n==JOptionPane.YES_OPTION){
con=DriverManager.getConnection("
recode="
("
+"
+number+"
+"
+date+"
+english+"
+gaili+"
+s6+"
+s9+"
)"
insert1="
INSERTINTOchengjibiaoVALUES"
+recode;
sql.executeUpdate(insert1);
你添加了以下信息\n学号\t姓名\t年龄\tjava\t数据库\t网页设计\t概率论\t总分\t平均分\n"
show.append(number+"
\t"
+date
+s9);
show.appen
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 设计 实现