ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:178.40KB ,
资源ID:5317563      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5317563.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生信息管理系统课程设计报告57057.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生信息管理系统课程设计报告57057.docx

1、学生信息管理系统课程设计报告57057 课设名称: 学生信息管理系统 院 (系): 信息科学与工程学院 姓 名: 蒋登丽 学 号: 201410411406 年 级: 2014级 专业班级: 计算机科学与技术4班 指导教师: 黄荣兵 时 间: 2016年11月 第一部分 摘 要 3第二部分 目的背景与意义 4第三部分 需求分析 4第四部分 系统设计 44.1 结构设计 44.2 功能结构图 54.3 功能流程以及工作流描述 6第五部分 数据库的设计 65.1数据库设计 65.2数据表的设计 7第六部分 详细设计 76.1 学生管理系统主界面模块 76.2 学生信息管理模块 86.3 课程信息管

2、理模块 106.4 查询模块 11图6.5 数据库操作模块 11第七部分 课程设计心得 11第八部分 附录(部分代码) 12第一部分 摘 要该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理。 目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少,但本系统完全独立开发,力求使系统功能简洁明了,但功能齐

3、全且易于操作。学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。本文介绍了学生信息管理系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程。在开发方法上本系统利用了软件工程化的思想和方法,总体上采用结构化生命周期开发方法,具体模块实施采用了原型法和面向对象系统开发方法。并采用JAVA作为开发工具,mysql作为后台数据库。本系统具有学生管理、课程管理、成绩管理、信息查询等功能,分成四大模块,每个模块都相互联系,但不相互干扰,这符合了软件模块开发的思想。本系统完成了学生信息的增加、修改、删除、查询和选课,课程信息的增加、修改、删除

4、、查询,成绩的添加、修改、查询等功能。【关键字】:信息管理系统、模块设计、软件工程。第二部分 目的背景与意义学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其

5、强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。第三部分 需求分析学生信息管理系统的功能总结起来,共需要以下几个方面:1.学生信息管理管理所有学生的基本信息,包括增加、修改、删除等,也可以根据各种条件查询出需要的信息。2.课程信息管理管理所有课程的基本信息,包括增加、修改、删除等,也可以根据各种条件查

6、询出需要的信息。3.选课与成绩管理根据学号进行选课,登记课程的成绩,可以根据学号查询出来选课信息与成绩。第四部分 系统设计4.1 结构设计根据对系统的需求分析,本系统将分为4个模块: 学生管理:管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。 课程管理:管理课程的基本信息,包括课程信息的添加、修改和删除。 成绩管理:管理学生的选课的成绩信息,包括成绩的登记与修改。 信息查询:查询已经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息。4.2 功能结构图系统的功能结构如图1所示。图1 学生管理系统功能结构图4.3 功能流程以及工作流描述1.增加学生信息系统操作人员打

7、开学生信息添加界面,输入相关的信息(姓名、性别、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。2.修改学生信息根据学生的学号查询出该学生的相关信息,修改相关条目后保存在数据库中。3.删除学生信息根据学生的学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。4.学生选课选择学生学号与需要选择的课程,确定无误后保存,数据库中将自动添加新的选课记录。5.增加课程信息系统操作人员根据打开的课程增加界面,输入相关信息(课程名称、授课教师、课程学分、课程系数、上课地点等),在数据库中添加相关的数据。6.修改课程信息根据课程号查询出该课程的相关信息,修改条目后保存在数据库

8、中。7.删除课程信息根据课程号查询出该课程的相关信息,确认删除后,在数据库中删除该信息。8.登记成绩根据学号,以及该学生所选择的课程,进行成绩登记,为选课的同学将无法登记。9.修改成绩对已经登记的成绩信息进行修改。10.学生查询可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生信息进行查询,所有符合查询条件的学生信息将都被显示出来。11.课程查询按照课程名称和授课教师的名称对课程详细信息进行查询,所有符合查询条件的课程信息都将会被显示出来。12.成绩查询:根据学生的学号来查询该学生所有课程的成绩。第五部分 数据库的设计5.1数据库设计此系统使用的是mysql数据库,由于此

9、系统需要的数据量不是很大,所以选择比较简便的mysql数据库。此系统的数据库名称是studentsys,创建语句如下:5.2数据表的设计数据库中包含三个表,即是学生信息表(student)、课程信息表(Course)和学生选课表(SC),设计要求如表13所示。表1 学生信息表(Student)名称字段名称数据类型主键非空学号SnumVarchar(20)YesYes学生姓名SnameVarchar(10)NoNo性别SsexVarchar(2)NoNo民族SethnicVarchar(4)NoNo籍贯ShomeVarchar(20)NoNo入学年份SyearVarchar(10)NoNo专业S

10、majorVarchar(10)NoNo学院ScollegeVarchar(10)NoNo出生日期SbirthVarchar(10)NoNo学分绩点SpointVarchar(10)NoNo表2 课程信息表(Course)名称字段名称数据类型主键非空课程编码CnumVarchar(10)YesYes课程名称CnameVarchar(20)NoNo授课教师CteacherVarchar(10)NoNo上课地点CplaceVarchar(10)NoNo课程学分CpointSmallintNoNo课程系数CratioVarchar(2,2)NoNo表3 学生选课表(SC)名称字段名称数据类型主键非空

11、学号SnumVarchar(20)YesYes课程编码CnumVarchar(10)YesYes成绩GradeFloat(4,2)NoNo第六部分 详细设计 该系统由6个模块构成,包括学生管理系统主界面模块、学生信息管理模块、课程信息管理模块、成绩管理模块、信息查询模块和数据库操作模块,以下分别加以叙述:6.1 学生管理系统主界面模块 学生管理系统的主界面模块包括StuMS.java和StuMain.java两个文件。StuMS是学生管理系统的主运行类,其中有整个程序的主方法main,该文件生成了StuMain类的一个实例,从而生成了学生管理系统的主界面,如图2所示。StuMain类继承了JF

12、rame类,实现了事件监听接口,它有一个不带参数的构造函数StuMain(),用来生成StuMain实例,StuMain类将所有的功能集中到面板中,面板上的按键是按网格排布,生成按钮,通过按钮的响应函数调用其他模块的函数来实现学生管理系统的各个功能,以下是主界面的运行程序:图6.1.1 主界面运行程序6.2 学生信息管理模块 学生信息管理模块主要由StuInfo.java、AddStuInfo.java、EditStuInfo.java、DelStuInfo.java、SelectCourse.java和StuInfoSearchSnum.java这六个文件组成,每个java文件只有一个类,完

13、全实现模块化设计,StuInfo类是AddStuInfo、EditStuInfo、DelStuInfo的超类,因为这三个类生成的界面是相同的具有共同之处。SelectCourse模块是选课模块,StuInfoSearchSnum是查询模块,用于AddStuInfo、EditStuInfo、DelStuInfo调用来查询学生信息以便增加、修改和删除学生信息。 学生信息管理模块的几个界面如下:图 6.2.1 学生信息添加界面图6.2.2 学生信息修改界面 图6.2.3 学生信息删除界面 图6.2.3 学生选课界面6.3 课程信息管理模块 课程信息管理模块主要由CourseInfo.java、Add

14、CourseInfo.java、EditCourseInfo.java、DelCourseInfo.java和StuInfoSearchSnum.java这六个文件组成,每个java文件只有一个类,完全实现模块化设计,CourseInfo类是AddCourseInfo、EditCourseInfo、DelCourseInfo的超类,因为这三个类生成的界面是相同的具有共同之处。CourseInfoSearchSnum是查询模块,用于AddCourseInfo、EditCourseInfo、DelCourseInfo调用来查询课程以便增加、修改和删除课程。课程信息管理模块的几个界面如下: 图 6.

15、3.1 课程信息增加界面 图 6.3.1 课程信息修改界面 图 6.3.1 课程信息删除界面6.4 查询模块查询模块分学生信息查询、课程信息查询和成绩查询:界面如下: 图 6.4 查询模块图6.5 数据库操作模块数据库操作模块包括连接数据库和数据库操作,连接数据库在类DataBase.java中,操作数据库类分别在几个不同的类里,学生信息操作在StuBean.java,选课操作在Csbean.java中,课程操作在CrsBean.java中,代码在附录里,这里就不重复了。第七部分 课程设计心得在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,

16、时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。通过开发这个系统,我掌握了的项目基本开发过程,用到的知识巩固了我对JAVA的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。第八部分 附录(部分代码)/Database.java/import java.sql.*;import javax.nami

17、ng.spi.DirStateFactory.Result;/* * 连接数据库的类 */public class Database private Statement stmt=null; ResultSet rs=null; private Connection conn=null; String sql; String strurl=jdbc:mysql:/127.0.0.1:3306/studentsys; public Database() /* * 打开数据库连接 */ public void OpenConn()throws Exception try Class.forName

18、(com.mysql.jdbc.Driver); conn=DriverManager.getConnection(strurl,root,root); conn.setAutoCommit(false); catch(Exception e) System.err.println(OpenConn:+e.getMessage(); e.printStackTrace(); /* * 执行sql语句,返回结果集rs */ public ResultSet executeQuery(String sql) stmt = null; rs=null; try stmt=conn.createSta

19、tement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); catch(SQLException e) System.err.println(executeQuery:+e.getMessage(); e.printStackTrace(); return rs; /* * 执行sql语句 */ public int executeUpdate(String sql) stmt=null; rs=null; int k=0; try stmt=conn.crea

20、teStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); k=stmt.executeUpdate(sql); mit(); catch(SQLException e) System.err.println(executeUpdate:+e.getMessage(); e.printStackTrace(); return k; public void closeStmt() try stmt.close(); catch(SQLException e) System.err.println(close

21、Stmt:+e.getMessage(); /* * 关闭数据库连接 */ public void closeConn() try conn.close(); catch(SQLException ex) System.err.println(aq.closeConn:+ex.getMessage(); /* *转换编码 */ public static String toGBK(String str) try if(str=null) str = ; else str=new String(str.getBytes(ISO-8859-1),GBK); catch (Exception e)

22、System.out.println(e); return str; /StuBean.java/import java.util.*;import java.sql.*;import javax.swing.*;/* * 有关学生信息数据库操作的类 */public class StuBean String sql; ResultSet rs = null; String sNum; String sName; String sSex; String sBirth; String sHome; String sEthnic; String sYear; String sMajor; Stri

23、ng sCollege; String sCourse; String colName;/列名 String colValue;/列值 String colValue2;/列值 int stuId;/学生的新学号 /* * 添加学生信息 */ public void stuAdd(String Snum,String name, String sex, String birth, String home, String ethnic, String year, String major, String college) Database DB = new Database(); this.sN

24、um = Snum; this.sName = name; this.sSex = sex; this.sBirth = birth; this.sHome = home; this.sEthnic = ethnic; this.sYear = year; this.sMajor = major; this.sCollege = college; if(sName = null|sName.equals() JOptionPane.showMessageDialog(null, 请输入学生姓名, 错误, JOptionPane.ERROR_MESSAGE); return; else Stri

25、ng numS = 1; sql = insert into student(snum, sname,ssex,sbirth,shome,sethnic,syear,smajor,scollege) values (+sNum+,+sName+,+sSex+,+sBirth+,+sHome+,+sEthnic+,+sYear+,+sMajor+,+sCollege+); try DB.OpenConn(); System.out.println(ksadhfasdf); DB.executeUpdate(sql); System.out.println(ksadhfasdf); JOption

26、Pane.showMessageDialog(null,成功添加一条新的纪录!); catch(Exception e) System.out.println(e); JOptionPane.showMessageDialog(null, 保存失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt(); DB.closeConn(); /* * 修改学生信息 */ public void stuModify(String num, String name, String sex, String birth, String home, S

27、tring ethnic, String year, String major, String college) Database DB = new Database(); this.sNum = num; this.sName = name; this.sSex = sex; this.sBirth = birth; this.sHome = home; this.sEthnic = ethnic; this.sYear = year; this.sMajor = major; this.sCollege = college; if(sName = null|sName.equals() J

28、OptionPane.showMessageDialog(null, 请输入学生姓名, 错误, JOptionPane.ERROR_MESSAGE); return; else /sql = update student set sname = +sName+, ssex = +sSex+, sbirth = +sBirth+, shome = +sHome+, sethnic = +sEthnic+, syear = +sYear+, smajor = +sMajor+, scollege = +sCollege+ where snum = +Integer.parseInt(sNum)+; sql = update student set sname = +sName+, ssex = +sSex+, sbirth = +sBirth+, shome = +sHome+, sethnic = +sEthnic+, syear = +sYear+, s

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

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