JAVA论文成绩管理系统毕业设计.docx
- 文档编号:11329344
- 上传时间:2023-02-27
- 格式:DOCX
- 页数:28
- 大小:147.04KB
JAVA论文成绩管理系统毕业设计.docx
《JAVA论文成绩管理系统毕业设计.docx》由会员分享,可在线阅读,更多相关《JAVA论文成绩管理系统毕业设计.docx(28页珍藏版)》请在冰豆网上搜索。
JAVA论文成绩管理系统毕业设计
湖南农业大学
课程设计论文
基于JAVA的学生成绩管理系统的设计与实现
学生姓名:
学号:
年级专业:
指导老师:
学院:
目录
摘要2
前言4
1需求分析4
1.1功能需求分析4
1.2性能需求分析5
1.3数据库需求分析――数据流图5
1.4数据结构分析――数据流图6
2概要结构设计9
2.1系统功能结构设计9
2.2数据库概念结构设计10
3逻辑结构设计10
4详细设计及功能实现11
4.1模块设计与实现11
5总结21
参考文献21
致谢21
基于Java的学生成绩管理系统的设计与实现
作者:
周亚平
指导老师:
陈义明
(湖南农业大学科学技术师范学院2004级计算机科学与技术专业教育班,长沙410128)
摘要:
随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。
提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于Java与SQLserver数据库技术建立一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。
关键词:
Java;需求分析;概要设计;学生成绩管理系统;
TheDesignAndRealizationOftheeducationaladministrationmanagementsystemBasedOnJAVA
Author:
Zhouyapping
Tutor:
Chenyiming
(SchoolofInformationSciencetechniquenormalschool,HunanAgriculturalUniversity,Changsha,410128)
Abstract:
Flytechnicallyalongwiththecalculatortodevelopsoonandthehighereducationsystemreformofcontinuouslythorough,traditionaleducationmanagementthemethod,meansandworkefficiencieshavealreadycan'tadaptthenewdevelopmentdemand,can'tcompletetheteachingmanagementworknicely.Themainpaththatraisestheeducationaladministrationmanagementlevelisathoughtthatrenewsthegovernor,strengthenningthescienceunderstandingtomanagetheactivity.AccordingtotheJAVAbuildupthatsystemofaneducationaladministrationofhighschoolmanagementsystem'spursuestudieswiththedatabasetechniquetolivingtoprovidedthesearch,modify,save,increasetherecordandselectelectivecoursesetc.withteacherfunction,thefunctionrelativelyfallswell-found,cansatisfytherequestbetweenstudentandteacherbasically.
Keyword:
JAVA;Theneedanalysis;Theessentiadesign;Database;Detaileddesign
前言
学生成绩管理工作是高校教育工作的一项重要内容。
教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织、协调、指挥并指导各用户活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。
学生成绩管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。
学生成绩工作关系到高校教学秩序的稳定。
随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。
提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
同时,运用先进的信息技术,开发高校综合成绩管理信息系统,是深化教务体制改革的有利措施。
JAVA以GUI的编程方式、面向对象的程序设计、众多的GUI组件和强大的数据库应用开发支持,在竞争激励的开发工具市场中越来越羸得程序设计者的青睐。
JAVA是Windows系统下的可视化集成开发工具,提供了强大的可视化组件功能,使程序员能够快速、高效地开发出Windows系统下的应用程序,特别是在数据库和网络方面,JAVA与其它开发工具相比更是胜出一筹。
可视化主要是指开发图形用户界面,而只需调用GUI组件即可。
1需求分析
1.1功能需求分析
该学生成绩管理系统具备三方面的功能:
一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行一些基础查询(学生信息查询、班级信息查询、课程信息查询)、成绩管理(成绩查询、计算平均分)重新登陆系统;一方面老师进入该系统则比学生多一些权限:
成绩输入、成绩查询。
具体功能的详细描述如下
1.1.1选择[学生基本维护]菜单命令,即可进入[学生基本维护]功能窗体,在其中输入学生的相关信息,如果需要添加或修改学生信息,则单击相应的按纽,输入新信息后单击[添加]就可以了。
需要删除一条信息,则只要选择这条信息再点击[删除]。
在搜索条件中输入相关的条件,单击[查询]就可查找信息。
1.1.2选择[学生信息查询]菜单命令,即可进入[学生信息查询]功能窗体,在其中的下拉列表中选择你要看的信息,则在下面的表格中显示你要的信息。
1.1.3选择[成绩管理][添加成绩]菜单命令,即可进入[添加成绩]功能窗体,此功能权限只有管理员和教师。
1.1.4选择[成绩管理][输入成绩]菜单命令,即可进入[输入成绩]功能窗体,
此功能权限只有管理员和教师。
1.1.5选择[成绩管理][修改成绩]界面,此功能规管理员所有。
1.1.6选择[成绩管理][查询成绩]界面此界面对学生也是可见的,它的权限规所有用户所有。
1.1.7选择[登陆][重新登陆]则会返回登陆界面,为用户提供方便。
1.1.8选择[退出]将退出整个系统。
1.2性能需求分析
时间特性要求:
在软件方面,响应时间有点慢,因为是用JBuilder做的,它占用内存比较大,更新处理时间比较快而且迅速。
安全性:
设立口令号和密码验证方式,防止非法用户登录进行操作。
也就是用户只有管理员、学生和教师才能进入这个系统,用户凭口令号和密码进入此系统,系统会自动判断用户是那种类型,分别拥有不同的权限。
1.3数据库需求分析――数据流图
在教务系统中功能模块主要牵涉到的信息包括:
是学生信息(base_info)、班级信息(class_info)、课程信息(class_info)、成绩表(chengjibiao)、选课表(xuankebiao)、登陆表(stu)。
学生信息:
包含学号(id)、姓名(name)、班级(class)、性别(sex)、地址(address)
课程信息:
包括课程编号(course_id)、课程名称(coursename)、教师(teacher)
选课表:
编号(select_id)课程名称(coursename)、课程编号(course_id)、学号(xh)、
姓名(name)、成绩(result)、教师(teacher)
成绩表:
编号(number)、学号(id)、课程名称(coursename)、成绩(result)、教师(teacher)
班级信息:
班级编号(bjbh)、学号(id)、姓名(name)班级名称(bjmc)、班主任(bzr)。
登陆表:
口令号(id)、密码(password)、权限(rightlimit)。
数据库
返回信息
账号信息2开发环境与工具介绍
前端客户端我用的是MacromediaDreamweaver8来编写JSP文件。
中间业务逻辑层的JavaBeans用的是JBuilderXEnterpriseX版。
数据库的编写是采用MYSQL数据库。
2.1开发环境
由于我用的是JBuilderXEnterprise版开发的这个系统,这个开发软件功能十
分强大,所以自然对开发环境要求相对来说比较高。
1.对系统硬件的要求:
最小512MRAM,推荐786MBRAM。
2.对系统平台的要求:
Windows平台
CPU:
IntelPentiumIII及以上兼容系列500MHz以上。
操作系统:
MicrosoftWindows2000(SP4)、WindowXP或者WindowsServer2003。
Linux平台
CPU:
IntelPentiumIII及以上兼容系列500MHz以上。
操作系统:
SunJavaDesktopSystemRelease2或者RedHatEnterpriseLinux3.0
2.2运行环境:
硬件:
适用于数据吞吐量较大的不同服务器;
软件:
服务器端:
WINDOWSXP+MySQL
用户端:
WindowXP+IE
登陆信息
操作
登录
根据以上划分的具体数据信息,得到数据流图如1.1所示:
寻找信息
错误信息
1.1数据库需求分析——数据流图
1.4数据结构分析——数据流图
1.4.1数据结构:
学生信息={组成:
{学号(id)、姓名(name)、班级(class)、性别(sex)、地址(address)}}
课程信息={组成:
{编号(course_id)、课程名称(coursename)、教师(teacher)}}
选课信息={组成:
{编号(select_id)课程名称(coursename)、课程编号(course_id)、学号(xh)、姓名(name)、成绩(result)、教师(teacher)}}
成绩表包括={组成:
编号(number)、学号(id)、课程名称(coursename)、成绩(result)、教师(teacher)}}
课程信息包括={组成:
课程编号(course_id)、课程名称(coursename)、教师(teacher)}}
班级信息={组成:
班级编号(bjbh)、年级(nj)、班级名称(bjmc)、人数(rs)、班主任(bzr)}}
登陆表={组成:
口令号(id)、密码(password)、权限(rightlimit)}
1.4.2数据流:
1.4.2.1对图1.1中所涉及的数据流描述如下:
1)数据流名:
口令号
说明:
根据这个口令号定位到用户管理数据库,以便进行身份验证。
数据流来源:
登陆界面输入的口令号和密码。
数据流去向:
其中用户口令信息将存在于整个操作过程中,防止非法登陆。
数据流组成:
口令号(文本);密码(文本)
2)数据流名:
寻找信息
说明:
根据用户在学生信息维护的时候所填写的信息。
数据流来源:
学生信息维护界面学生输入包含学号、班级编号、名称等。
数据流去向:
学号将存在整个操作,其它的存入数据库。
数据流组成:
学号(文本);姓名(文本)等
3)数据流名:
寻找信息
说明:
根据用户在成绩管理的时候所填写的信息。
数据流来源:
成绩输入、修改、添加等界面用户输入包含课程编号、课程名称、成绩、教师。
数据流去向:
学号、班级编号、课程编号将存在整个操作,其它的存入数据库。
数据流组成:
课程编号(文本)、课程名称(文本)、教师(文本)等。
4)数据流名:
返回信息
说明:
根据用户在学生信息维护的时候所填写的信息存入了数据库之后。
数据流来源:
由学生信息维护界面学生输入的包含学号、姓名、性别等存入数据库的。
数据流去向:
学生信息维护界面。
数据流组成:
学号(文本)、姓名(文本)、班级名称(文本)、性别(文本)等。
5)数据流名:
返回信息
说明:
根据用户在成绩管理的时候所填写的信息存入数据库后。
数据流来源:
由成绩管理输入的包含班级名称、教师、课程名、成绩存入数据库的。
数据流去向:
成绩管理的各子界面。
数据流组成:
班级编号(文本);班级名称(文本);教师(文本)等;
1.4.2.2对图1.1中所涉及的处理过程描述如下:
1)处理过程名:
登陆
输入数据流:
口令号、密码
输出数据流:
不符合输入条件的错误信息
处理过程逻辑:
用IF条件进行判断。
2)处理过程名:
班级信息维护
输入数据流:
班级编号、班级名称、教师等
输出数据流:
班级编号、班级名称等,其中班级编号将存在整个操作。
处理过程号:
班级编号,其中班级编号将存在整个操作。
3)处理过程名:
学生信息维护
输入数据流:
学号、姓名、班级编号、性别等。
输出数据流:
学号、姓名、班级编号、性别等。
其中学号将存在整个操作。
4)处理过程名:
课程查询
输入数据流:
学号、姓名
输出数据流:
学号、班级名称、课程名称、上课时间节、上课时间天、上课地点、其中课程编号将存在整个操作。
5)处理过程名:
成绩输入
输入数据流:
课程编号、课程名称
输出数据流:
编号、学号、课程名称、成绩、其中编号和学号将存在整个操作。
2概要结构设计
2.1系统功能结构设计
2.1.1模块的功能设计
根据需求分析阶段得到的功能需求,管理员、学生和教师用户通过输入口令号和密码进下该系统后,可以进行一些学生基础信息查询(学生信息查询、班级信息查询、课程信息查询)、学生信息维护、成绩管理(成绩查询、计算平均分)重新登陆系统、退出。
模块功能大概可以分为如下4个方面:
这几个模块学生基础维护、成绩管理、登陆、退出。
其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。
成绩管理包括成绩查询、添加成绩、成绩输入等。
综上所述,得到客户端功能模块图如下2.1所示。
图2.1客户模块系统功能模块图
成绩修改
成绩添加
成绩查询
学生信息查询
学生信息维护
学生基本信息
退出
登陆
退出
老师登陆
成绩管理
成绩输入
重新登陆
2.2数据库概念结构设计
根据需求分析阶段得到的数据字典以及数据流图,由以上分析可以得到系统中出现的实体有:
学生信息实体、课程信息实体、班级信息实体、成绩表实体等等。
可以画出对应的E-R图如下:
得到总E-R图2.2如下:
m1
n1
111
n
1n
3逻辑结构设计
根据上面概念结构设计阶段得到的E-R图,下一步应该将它转化为关系模型。
可以得到对应的关系模式为:
Base_info(id、name、class、sex、address)
Class_info(class_id、classname、teacher、id)
xuankebiao(number、id、coursenameteacher、class_id、classname、result)
chengjibiao(number、id、name、course、result)
course_info(number、course-id、coursenamedates、teacher、jieshu、address)
stu(id、password、rights)
4详细设计及功能实现
4.1用户登录模块设计与实现
设计思路:
为了检验登录用户是否是一个合法用户,当用户输入用户名和密码后,需要查询数据库以便验证该用户是否为非法用户。
同时通过用户输入的口令号就可知道用户是管理员、学生,还是教师,他们的权限不同。
实现功能:
用户可以从登陆界面进入到教务管理系统界面,然后进行一些操作。
图4.1为系统运行时的截图:
图4.1用户登录模块的系统截图
该模块的核心代码如下:
判断用户是否合法和用户权限。
publicvoidjButton1_actionPerformed(ActionEvente){
Stringusername=Name_Text.getText().trim();
Stringpassword=Password_Text.getText().trim();
if(username.equals("")||password.equals(""))
{
JOptionPane.showMessageDialog(null,"用户名或密码不能为空!
");
}else{
try{
//建立数据库连接对象
Jdbcconnconn=newJdbcconn();
//连接数据库
conn.OpenConn("student","sa","yaya");
StringstrSQL="select*fromstuwhereid='"+username+"'";
try{
//得到记录;
ResultSetrs=conn.getResults(strSQL);
rs.first();
StringPassWord=rs.getString("password").toString().trim();//得到数据库中对应用户名的密码
intright=rs.getInt("rightlimit");
rs.close();
if(password.equals(PassWord)){
JOptionPane.showMessageDialog(null,"成功登陆!
");
dispose();
chaxunchengjicxcj=newchaxunchengji();
cxcj.username=username;
Main_FramemainFrame=newMain_Frame();
mainFrame.users=username;
mainFrame.setVisible(true);
DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();
DimensionframeSize=mainFrame.getSize();
if(frameSize.height>screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width>screenSize.width){
frameSize.width=screenSize.width;
}
mainFrame.setLocation((screenSize.width-frameSize.width)/2,
(screenSize.height-frameSize.height)/2);
mainFrame.users=username;
switch(right)
{
case0:
mainFrame.jMenuItem4.setVisible(false);
mainFrame.jMenuItem6.setVisible(false);
mainFrame.jMenuItem1.setVisible(false);
mainFrame.jMenuItem3.setVisible(false);
break;
case1:
mainFrame.jMenuItem3.setVisible(false);
mainFrame.jMenuItem6.setVisible(false);
break;
default:
mainFrame.setTitle("学生成绩管理系统");
break;
}
}
else{
JOptionPane.showMessageDialog(null,"密码错误,请重输!
");
Password_Text.setText("");
}
}
catch(Exceptionex){
JOptionPane.showMessageDialog(null,"用户名或密码错误1!
");
Name_Text.setText("");
Password_Text.setText("");
}
conn.closeConn();//关闭数据库连接
}catch(Exceptionex){
JOptionPane.showMessageDialog(null,"用户名或密码错误2!
!
");
System.out.print(ex.getMessage());
}//firsttrycatch
}//secondtrycatch
}//endelse
}//endmethod
图4.2学生信息维护模块的系统截图
图4.3学生基本信息查询模块的系统截图
该模块的核心代码:
publicstaticvoidmain(String[]args){
banjixinxibanjixinxi=newbanjixinxi();
}
publicvoidjComboBox1_actionPerformed(ActionEvente){
intstate=jComboBox1.getSelectedIndex();
if(state==1){
try{
Stringsql="select*frombase_info";
queryDataSet1.close();
//将SQL语句传给queryDataSet1执行。
queryDataSet1.setQuery(newQueryDescriptor(database1,sql,null,true,
Load.ALL));
queryDataSet1.open();//将queryDataSet1打开
queryDataSet1.refresh();//刷新queryDataSet1
}//endtry
catch(Exceptionex){
JOption
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 论文 成绩管理系统 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)