学生成绩管理系统报告网络工程论文本科论文.docx
《学生成绩管理系统报告网络工程论文本科论文.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统报告网络工程论文本科论文.docx(38页珍藏版)》请在冰豆网上搜索。
![学生成绩管理系统报告网络工程论文本科论文.docx](https://file1.bdocx.com/fileroot1/2023-2/25/a8faa53d-8d77-461d-829f-b95248adf3d4/a8faa53d-8d77-461d-829f-b95248adf3d41.gif)
学生成绩管理系统报告网络工程论文本科论文
xxx学院
学生课程设计(论文)
题目:
学生信息管理系统
学生姓名:
学号:
所在院(系):
数学与计算机学院
专业:
网络工程
班级:
网络工程1班
指导教师:
职称:
讲师
2014年12月8日
xxx学院本科学生课程设计任务书
题 目
学生信息管理系统
1、课程设计的目的
使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容;使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现;把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力。
2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)
(1)用户管理:
系统分为管理员、教师及学生用户,每类用户对数据具有不同的操作权限。
(2)学生基本信息管理:
对学生的学号、姓名、性别等基本信息的录入、修改和删除。
(3)学生奖惩信息管理
(4)各类信息的查询:
按简单条件和复合条件对各类信息进行查询。
(5)学生信息的统计:
自己设计统计条件对学生信息进行统计。
3、主要参考文献
[1]张莉《SQLSEVER数据库原理及应用》
[2]萨师煊王珊著.《数据库系统概论》第三版.高等教育出版社
[3]施伯乐丁宝康汪卫.《数据库系统教程》高等教育出版社2003年第2版
[4]庄成三等.《数据库系统原理及其应用》.电子工业出版社
4、课程设计工作进度计划
第1天:
选题、完成需求分析
第2天:
数据库概念结构设计
第3天:
数据库逻辑结构设计及物理实现
第4天:
应用程序开发
第5天:
程序调试分析和结果、编写课程设计报告
指导教师(签字)
日期
年月日
教研室意见:
年月日
学生(签字):
接受任务时间:
年月日
注:
任务书由指导教师填写。
课程设计(论文)指导教师成绩评定表
题目名称
学生信息管理系统
评分项目
分值
得分
评价内涵
工作
表现
20%
01
学习态度
6
遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。
02
科学实践、调研
7
通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。
03
课题工作量
7
按期圆满完成规定的任务,工作量饱满。
能力
水平
35%
04
综合运用知识的能力
10
能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。
05
应用文献的能力
5
能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。
06
设计(实验)能力,方案的设计能力
5
能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。
07
计算及计算机应用能力
5
具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。
08
对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)
10
具有较强的数据收集、分析、处理、综合的能力。
成果
质量
45%
09
插图(或图纸)质量、篇幅、设计(论文)规范化程度
5
符合本专业相关规范或规定要求;规范化符合本文件第五条要求。
10
设计说明书(论文)质量
30
综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。
11
创新
10
对前人工作有改进或突破,或有独特见解。
成绩
指导教师评语
指导教师签名:
年 月 日
摘要
随着教育的不断普及,各个学校的学生人数也越来越多。
创痛的管理方式并不能适应时代的发展。
为了提高管理效率,减少学校开支,使用软件管理学生信息已成为必然。
本学生信息管理系统是基于JavaEE与SQLserver2008数据库技术建立的一个系统,使用了Swing、IDBC技术连接数据库、javabean等技术,该系统提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学校的需求。
关键词:
学生信息管理,SQLSERVER,JAVAEE,JavaBean
第一章绪 论
1.1设计目的
使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容;使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现;把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力。
1.2开发工具选择
本系统后台数据库采用MicrosoftSQLServer数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用sun公司的eclipse作为主要开发工具,可与SQLServer2008数据库良好链接。
1.3开发环境
系统开发平台:
eclipse
系统开发语言:
java
数据库管理软件:
SQLServer2008
1.4本报告的主要内容
本报告详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如下:
系统的需求分析、系统的总体设计、系统的概念设计、系统各模块的详细设计、系统运行与测试。
z
第二章需求分析
2.1系统需求简介
2.1.1系统目标
(1)实现用户登录
(2)根据查询条件实现学生信息的查询
(3)根据查询条件实现成绩信息的查询
(4)学生信息、课程信息、成绩信息的增加、删除、修改
(5)学生奖惩信息管理
(6)学生信息统计
2.1.2功能需求分析
本系统的功能需求分析如下:
(1)学生信息查询:
学生可以根据学号、姓名、专业进行查询.
(2)学生信息管理:
主要是用于学生信息更新、插入、删除;
(3)学生成绩录入:
用于学生成绩管理,录入学生成绩,也可以更新;
2.1.3性能需求分析
(1)登录、用户界面需求:
简洁、易懂、易用、友好的用户界面。
(2)安全保密性需求:
只有凭借用户名和密码登陆系统,才能进行信息的管理等。
第三章总体设计
3.1设计概述
根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。
把这些模块结合起来组成一个整体。
逐一实现各个功能;
3.2系统总体结构及功能模块划分
经过对系统的需求分析,学生信息管理系统主要划分为五个个部分:
用户登录,参数设置,基本信息,系统查询,系统管理五个功能模块。
如图3.2.1系统的总体结构。
图3.2.1系统的总体结构
3.3系统数据库概念结构设计
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。
3.3.1系统E-R图
系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。
如图3.3.1系统E-R图结构。
图3.3.1系统E-R图结构
3.3.2系统数据库的设计
数据表设计是非常重要的环节,主要设计表如下:
表3.3.1班级信息表(tb_classinfo)用于存储班级信息
表3.3.2考试种类表(tb_examkind)用于保存考试种类信息
表3.3.3年级信息表(tb_gradeinfo)
表3.3.4考试科目成绩表(tb_gradeinfo_sub)
表3.3.5学生信息表(tb_studentinfo)
表3.3.6科目表(tb_subject)用于保存科目信息
表3.3.7教师信息表(tb_teacher)
表3.3.8用户表(tb_user)
3.4安全保密设计
3.4.1用户登录安全性
系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入正确的用户名及密码组合后才能够对学生信息进行操作。
第四章详细设计
4.1概述
详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
4.2系统程序流程图
程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。
它可将整个程序的总体流程清楚明白的显示出来。
如图4.2.1系统总流程图结构。
图4.2.1系统总体流程图
4.3系统主要功能模块简介
4.3.1系统登录
用户凭借用户名及密码登录,成功登录后可对学生信息进行操作。
用户界面如图4.3.1用户登录界面所示。
图4.3.1用户登录界面
4.3.2参数设置模块
参数设置:
主要功能为添加年级信息、班级信息、考试科目、考试类别等系统信息。
图4.3.2程序主界面
图4.3.3详细信息窗口
4.3.3基本信息模块
基本信息:
通过程序主界面的相应记录弹出的上下文菜单可对实现学生基本信息的添加与删除如图4.34,实现教师基本信息的添加删除如图4.35,实现成绩的录入与删除如图3.46.
图4.3.4学生基本信息添加、删除
图4.3.5教师信息添加、删除窗口
图4.3.6考试成绩录入删除窗口
4.3.4系统查询模块
系统查询模块:
该模块包含三个功能块分别是:
基本信息查询,成绩信息查询,汇总查询。
基本信息查询可实现学生基本信息查询与老师基本信息查询,成绩信息查询可实现学生成绩查询,汇总查询可实现年级学生信息查询。
图4.3.7学生基本信息查询窗口
图4.3.8教师基本信息查询窗口
图4.3.8学生成绩查询窗口
4.3.5系统管理模块
系统管理模块:
该模块包含两个功能块分别是用户管理与系统退出。
用户管理实现新用户的添加与旧用户的删除功能,退出系统实现系统的退出。
图4.3.9用户的添加删除询窗口
图4.3.9系统退出提示窗口
第五章主要功能模块代码
5.1公共类代码设计(数据的增删查改)
packageappstu.util;
importjava.sql.Connection;
importjava.sql.DriverManager;
publicclassCommonaJdbc{
publicstaticConnectionconection=null;
publicCommonaJdbc(){
getCon();
}
privateConnectiongetCon(){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conection=DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;DatabaseName=DB_Student","sa","196816");
}catch(java.lang.ClassNotFoundExceptionclassnotfound){
classnotfound.printStackTrace();
}catch(java.sql.SQLExceptionsql){
newappstu.view.JF_view_error(sql.getMessage());
sql.printStackTrace();
}
returnconection;
}
}
packageappstu.util;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.Statement;
importjavax.swing.JOptionPane;
importappstu.model.Obj_classinfo;
importappstu.model.Obj_examkinds;
importappstu.model.Obj_gradeinfo;
importappstu.model.Obj_gradeinfo_sub;
importappstu.model.Obj_student;
importappstu.model.Obj_subject;
importappstu.model.Obj_teacher;
importappstu.model.Obj_user;
importappstu.view.JF_view_error;
publicclassJdbcAdapter{
privateConnectioncon=null;
privateStatementstmt=null;
privatePreparedStatementpstmt=null;
privateStringinfoStr=null;
publicbooleanBuildeDeleteTempView(StringsqlState){
booleanflag=false;
System.out.println("执行的语句为:
"+sqlState);
try{
con=CommonaJdbc.conection;
pstmt=con.prepareStatement(sqlState);
pstmt.execute();
flag=true;
}catch(java.sql.SQLExceptionsql){
flag=false;
sql.printStackTrace();
}
returnflag;
}
//真正的执行对数据库的各种操作
privatebooleanAdapterObject(StringsqlState){
booleanflag=false;
try{
con=CommonaJdbc.conection;//获取数据库连接
pstmt=con.prepareStatement(sqlState);//获取PreparedStatement实例
pstmt.execute();//执行该SQL语句
flag=true;//将标识量修改为true
JOptionPane.showMessageDialog(null,infoStr+"数据成功!
!
!
","系统提示",JOptionPane.INFORMATION_MESSAGE);//弹出相应提示对话框
}catch(java.sql.SQLExceptionsql){
flag=false;
sql.printStackTrace();
}
returnflag;//将标识量返回
}
//执行删除数据表中的数据
publicbooleanDeleteObject(StringdeleteSql){
infoStr="删除";
returnAdapterObject(deleteSql);
}
//验证数据表中是否存在数据
privatebooleanvalidateID(Stringid,Stringtname,Stringidvalue){
StringsqlStr=null;
sqlStr="selectcount(*)from"+tname+"where"+id+"='"+idvalue+"'";//定义SQL语句
try{
con=CommonaJdbc.conection;//获取数据库连接
pstmt=con.prepareStatement(sqlStr);//获取PreparedStatement实例
java.sql.ResultSetrs=null;//获取ResultSet实例
rs=pstmt.executeQuery();//执行SQL语句
if(rs.next()){
if(rs.getInt
(1)>0)//如果数据表中有值
returntrue;//返回true值
}
}catch(java.sql.SQLExceptionsql){//如果产生异常
sql.printStackTrace();//输出异常
returnfalse;//返回false值
}
returnfalse;//返回false值
}
publicbooleanInsertOrUpdateObject(Obj_gradeinfoobjgradeinfo){
StringsqlStatement=null;
if(validateID("gradeID","tb_gradeinfo",objgradeinfo.getGradeID().trim())){
sqlStatement="Updatetb_gradeinfosetgradeID='"+objgradeinfo.getGradeID()+"',gradeName='"+objgradeinfo.getGradeName()
+"'wheregradeID='"+objgradeinfo.getGradeID().trim()+"'";
infoStr="更新年级";
}else{
sqlStatement="Inserttb_gradeinfo(gradeID,gradeName)values('"+objgradeinfo.getGradeID()+"','"+objgradeinfo.getGradeName()+"')";
infoStr="添加年级";
}
System.out.println(sqlStatement);
returnAdapterObject(sqlStatement);
}
publicbooleanInsertOrUpdateObject(Obj_classinfoobjclassinfo){
StringsqlStatement=null;
if(validateID("classID","tb_classinfo",objclassinfo.getClassID())){
sqlStatement="Updatetb_classinfosetclassName='"+objclassinfo.getClassName()+"'whereclassID='"+objclassinfo.getClassID().trim()
+"'";
infoStr="更新班级";
}else{
sqlStatement="Inserttb_classinfo(classID,gradeID,className)values('"+objclassinfo.getClassID()+"','"+objclassinfo.getGradeID()+"','"
+objclassinfo.getClassName()+"')";
infoStr="添加班级";
}
System.out.println(sqlStatement);
returnAdapterObject(sqlStatement);
}
publicbooleanInsertOrUpdateObject(Obj_subjectobjsubject){
StringsqlStatement=null;
if(validateID("code","tb_subject",objsubject.getCode())){
sqlStatement="Updatetb_subjectsetcode='"+objsubject.getCode()+"',subject='"+objsubject.getSubject()+"'wherecode='"
+objsubject.getCode().trim()+"'";
infoStr="更新考试科目";
}else{
sqlStatement="Inserttb_subject(code,subject)values('"+objsubject.getCode()+"','"+objsubject.getSubject()+"')";
infoStr="添加考试科目";
}
returnAdapterObject(sqlStatement);
}
publicbooleanInsertOrUpdateObject(Obj_examkindsobjexamkinds){
StringsqlStatement=null;
if(validateID("KindID","tb_examkinds",objexamkinds.getKindID())){
sqlStatement="Updatetb_examkindssetKindID='"+objexamkinds.getKindID()+"',KindName='"+objexamkinds.getKindName()
+"'whereKindID='"+objexamkinds.getKindID().trim()+"'";
infoStr="更新考试类别";
}else{
sqlStatement="Inserttb_examkinds(KindID,KindName)values('"+objexamkinds.getKindID()+"','"+objexamkinds.getKindName()+"')";
infoStr="添加考试类别";
}
returnAdapterObject(sqlStatement);
}
publicbooleanInsertOrUpdateObject(Obj_userobjuser){
StringsqlStatement=null;
if(validateID("userid","tb_user",objuser.