JAVA论文成绩管理系统课程设计Word文件下载.docx
《JAVA论文成绩管理系统课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《JAVA论文成绩管理系统课程设计Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统;
TheDesignAndRealizationOftheeducationaladministrationmanagementsystemBasedOnJAVA
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平台
操作系统:
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+"
'
;
//得到记录;
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);
switch(right)
case0:
mainFrame.jMenuItem4.setVisible(false);
mainFrame.jMenuItem6.setVisible(false);
mainFrame.jMenuItem1.setVisible(false);
mainFrame.jMenuItem3.setVisible(false);
break;
case1:
default:
mainFrame.setTitle("
学生成绩管理系统"
else{
密码错误,请重输!
Password_Text.setText("
catch(Exceptionex){
用户名或密码错误1!
Name_Text.setText("
conn.closeConn();
//关闭数据库连接
}catch(Exceptionex){
用户名或密码错误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){
Stringsql="
select*frombase_info"
queryDataSet1.close();
//将SQL语句传给queryDataSet1执行。
queryDataSet1.setQuery(newQueryDescriptor(database1,sql,null,true,
Load.ALL));
queryDataSet1.open();
//将queryDataSet1打开
queryDataSet1.refresh();
//刷新queryDataSet1
}//endtry
Sorry!
暂时没有学生信息记录"
}//endcatch
}//endif
if(state==2){
Stringsql1="
select*fromclass_info"
queryDataSet