




免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东理工大学计算机学院 javajava程序设计程序设计大作业大作业 题目:题目: java学生管理系统学生管理系统 班 级 姓 名 学 号 2011 年 12 月 6 日 2 目目 录录 摘 要 3 第一章 设计简介及设计方案4 1.1 系统功能分析4 1.2 系统功能模块设计4 1.3 数据库功能分析4 1.4 数据库需求分析5 第二章 详细设计6 2.1 数据库设计6 2.2 详细编程8 第三章 设计结果及分析 12 3.1 设计结果 12 3.2 设计结果分析 19 总 结17 参考文献 17 3 摘摘 要要 随着计算机技术的飞速发展,当今社会正快速向信息化社会前进。而如 今学校的规模不断扩大,学生数量急剧加,有关学生的各种信息量也成倍增 长,面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的 效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询, 从而减少管理方面的工用量。此次设计我们使用 java 编程,实现了学生信息 管理系统的过程。本系统采用 sun 公司的 j2sdk1.4.2_04 和 sql server 2000 数据库管理系统作为开发工具,通过对学生信息管理系统进行可行性分 析、需求分析和设计逐步将一个学生信息管理系统的开发过程呈现出来。系 统可以对学校的所有专业信息和课程信息进行管理,可以对学生的基本信息 和成绩进行管理,最后本系统能对专业信息、课程信息、学生基本信息和成 绩信息进行查询。 关键词:数据库;java;sql server 2000;查询 4 第一章第一章 设计简介及设计方案设计简介及设计方案 1.11.1 系统功能分析系统功能分析 系统开发的总体任务是实现学生信息关系的系统化、规范化和自动化。 系统功能分析是在系统开发的总体任务的基础上完成的。本设计中学生 信息管理系统需要完成的功能主要有: 有关学籍等信息的输入,包括学生基本信息、所在班级、所学课程和 成绩等。 学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等。 学生信息的修改。 学校基本课程信息的输入和查询。 基本课程信息的修改。 学生课程的设置和修改。 学生成绩信息的输入,修改,查询,统计。 1.21.2 系统功能模块设计系统功能模块设计 对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如 图2-1所示的系统功能模块图。 图2-1 系统功能模块图 5 1.31.3 数据库功能分析数据库功能分析 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的 好坏将直接对应用系统的效率以用实现的效果产生影响。合理的数据库结构 设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据 库结构也将有利于程序的实现。 设计数据库时应该首先充分了解用户各个方面的需求,包括现有的以及 将来可能增加的需求。 1.41.4 数据库需求分析数据库需求分析 用户的需求具体体现在各种信息的提供、保存、更新、和查询,这就要 求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构 以及数处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。 针对一般学生信息管理系统的需求,能过对学生学习过程的内容和数据 流程分析,设计如面所示的数据项和数据结构: 学生基本信息:包括的数据项有:学生学号、学生姓名、性别、班级号、 籍贯、入校日期、专业名、学院名、生日等。 课程基本信息:包括的数据项有:课程号、课程名称、授课老师、上课 教室、课程类别、上课时间等。 学生成绩信息:包括的数据项有:学生学号、课程编号、考试分数等。 6 第二章第二章 详细设计详细设计 2.12.1 数据库设计数据库设计 本实验采用 sql server 2000 数据库系统。 2.1.12.1.1 数据库概念结构设计数据库概念结构设计 首先设计出能够满足用户需求的各种实体,以及它们之间的关系,为后 面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的 作用形成数据的流动。 本实例根据上面的设计规划出的实体有:学生实体、课程实体。各个实 体之间关系 e-r 图如图 3-1 所示。 学生 学号 姓名 性别 民族 入校日期 专业 名 学院 生日 选 课 课程 成绩 课程号 课程名 授课老师 上课教师课程类别 上课时间 籍贯 图 3-1 实体之间关系 e-r 图 7 2.1.22.1.2 数据库概念结构设计数据库概念结构设计 现在需要将上面的数据库概念结构转化为 sql server 2000 数据库系统 所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体 之间关系的基础上,开成数据库中的表格以及各个表格之间的关系。学生信 息管理系统数据库中各个表格的设计结果如下面的几个表格所示。 1. 学生基本信息表 student,如表 3-1。 表 3-1 学生基本信息表 student 列名数据类型可否为空说明 snumint(4)not null 学号(主键) snamenvarchar(50)null 学生姓名 ssexnvarchar(10)null 性别 sethnicnvarchar(50)null 民族 shomenvarchar(50)null 籍贯 syearnvarchar(50)null 入学时间 smajornvarchar(50)null 专业名 scollegenvarchar(50)null 学院名 sbirthnvarchar(50)null 出生日期 2. 课程基本信息表 course,如表 3-2。 表 3-2 课程基本信息表 course 列名数据类型可否为空说明 cnumint(4)not null 课程号(主键) cnamenvarchar(50)null 课程名 cteachernvarchar(50)null 授课老师 cplacenvarchar(50)null 上课地点 ctypenvarchar(50)null 课程类别 ctimenvarchar(50)null 上课时间 3 学生成绩信息表 sc,如表 3-3。 表 3-3 学生成绩信息表 sc 列名数据类型可否为空说明 snumint(4)not null 学号 cnumint(4)not null 课程号 8 gradenumeric(5)null 成绩 2.22.2 详细编程详细编程 2.2.1 学生信息管理模块 1.添加学生信息。此部分实现了对学生信息的增加功能, public class addstuinfo extends stuinfo stubean getsnum = new stubean(); public addstuinfo() this.settitle(“添加学生信息“); this.setresizable(false); snum.seteditable(false); snum.settext(“+getsnum.getstuid(); 2.删除学生信息。此部分实现了对学生信息的删除。在删除前先查询出需要 删除的学生的基本信息,在进行删除。 public class delstuinfo extends stuinfo string snum_str = “; public delstuinfo() this.settitle(“删除学生信息“); this.setresizable(false); snum.seteditable(false); snum.settext(“请查询学号“); sname.seteditable(false); ssex.seteditable(false); ssethnic.seteditable(false); sbirth.seteditable(false); syear.seteditable(false); smajor.seteditable(false); scollege.seteditable(false); shome.seteditable(false); /设置运行时窗口的位置 dimension screensize = toolkit.getdefaulttoolkit().getscreensize(); this.setlocation(screensize.width - 400) / 2, (screensize.height - 300) / 2 + 45); 9 3.修改学生信息。此部分实现了对学生信息的修改。在修改时先查询出要修 改的学生的基本信息,然后在进行需要的改动并保存。 public class editstuinfo extends stuinfo string snum_str = “; public editstuinfo() this.settitle(“修改学生信息“); this.setresizable(false); snum.seteditable(false); snum.settext(“请查询学号“); sname.seteditable(false); ssex.seteditable(false); ssethnic.seteditable(false); sbirth.seteditable(false); syear.seteditable(false); smajor.seteditable(false); scollege.seteditable(false); shome.seteditable(false); /设置运行时窗口的位置 dimension screensize = toolkit.getdefaulttoolkit().getscreensize(); this.setlocation(screensize.width - 400) / 2, (screensize.height - 300) / 2 + 45); 2.2.2 课程信息管理模块 1.增加课程信息。此部分实现了对课程信息的增加。 public class addcourseinfo extends courseinfo crsbean getcnum = new crsbean(); public addcourseinfo() this.settitle(“添加课程信息“); this.setresizable(false); cnum.seteditable(false); cnum.settext(“+getcnum.getcrsid(); cname.seteditable(true); cteacher.seteditable(true); ctype.seteditable(true); ctime.seteditable(true); cplace.seteditable(true); 10 /设置运行位置,使对话框居中 dimension screensize = toolkit.getdefaulttoolkit().getscreensize(); this.setlocation( (int) (screensize.width - 400) / 2 , (int) (screensize.height - 300) / 2 +45); 2.删除课程信息。此部分实现了对课程信息的删除。在删除时先查询出需要 删除的课程基本信息,在进行删除。 public class delcourseinfo extends courseinfo string cnum_str = “; public delcourseinfo() this.settitle(“删除课程信息“); this.setresizable(false); cnum.seteditable(false); cnum.settext(“请查询课程号“); cname.seteditable(false); cteacher.seteditable(false); ctype.seteditable(false); ctime.seteditable(false); cplace.seteditable(false); /设置运行位置,使对话框居中 dimension screensize = toolkit.getdefaulttoolkit().getscreensize(); this.setlocation( (int) (screensize.width - 400) / 2 , (int) (screensize.height - 300) / 2 +45); 3.修改课程信息。此部分实现了对课程信息的修改。在修改时先查询出需要 修改课程的信息,在进行相应的修改。 public class editcourseinfo extends courseinfo string cnum_str = “; public editcourseinfo() this.settitle(“修改课程信息“); this.setresizable(false); cnum.seteditable(false); cnum.settext(“请查询课程号“); cname.seteditable(false); cteacher.seteditable(false); ctype.seteditable(false); ctime.seteditable(false); 11 cplace.seteditable(false); /设置运行位置,使对话框居中 2.2.3 成绩管理模块 1.成绩的增加。 public class addgradeinfo extends gradeinfo implements actionlistener public addgradeinfo() this.settitle(“添加成绩信息“); this.setresizable(false); /设置运行位置,使对话框居中 2.成绩的修改。 public class editgradeinfo extends gradeinfo implements actionlistener public editgradeinfo() this.settitle(“修改成绩信息“); this.setresizable(false); /设置运行位置,使对话框居中 2.2.4 查询模块 该模块实现了对学生信息的分类查询,可以通过学号、姓名、性别、学 院、专业分别查询相应的学生信;另外还实现了课程信息的分类查询,可以 通过课程课程名称和课程教师分别查询相应的课程信息。最后还实现了对成 绩的查询。 2.2.5 数据库连接 /连接数据库的类 public class database private statement stmt=null; resultset rs=null; private connection conn=null; string sql; string strurl=“jdbc:odbc:tls“; 12 public database() 第三章第三章 设计结果及分析设计结果及分析 3.1 设计结果 本系统实现了对学生的基本信息和成绩的管理,还可以对学校的所有课程 进行管理,最后本系统还实现了对课程信息、学生基本信息和成绩信息的查 询。系统主界面如图: 图 4-1 系统主界面 3.1.13.1.1 学生信息的管理学生信息的管理 1. 增加学生信息。 13 图 4-2 添加学生信息 2. 查询学生信息。 按学号查询,如图 4-3 和 4-4; 图 4-3 学号查询 图 4-4 学生信息查询 此外,此系统还实现了按姓名、性别、学院、专业的查询。 3. 删除学生信息。先查询出要删除的学生的信息,在点击删除,如图 4-5 所 示。 14 图 4-5 删除学生信息 3.1.2 课程信息的管理 1. 添加课程信息。这里的课程编码是按顺序自动生成的,只要输入相应的信 息,点击增加即可添加新的课程信息。如图 4-6。 图 4-6 添加课程信息 2. 修改课程信息。先查询出需要修改的的课程的信息,然后修改相应的需要 修改的地方,点击修改即可完成修改。如图 4-7。 15 图 4-7 修改课程信息 3. 删除课程信息。先点击查询,输入相应的课程号,查询出需要删除的课程 信息,确认之后点击删除即可完成删除。如图 4-8。 图 4-8 删除课程信息 3.1.3 成绩管理 1. 学生选课。一个学生需要首先进行选课才能有成绩,所以首先要进行选课, 如图 4-9。 16 图 4-9 学生选修 2. 增加成绩。本系统可以方便的写入学生的成绩,以便统计与查询。如图 4-10。 图 4-10 增加成绩 3. 修改成绩。有时候输入成绩可能出错,或者
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 超年龄用工合同范本
- 2025年考研396经济类综合真题及答案
- 美容公益活动策划方案(3篇)
- 南丰小学的数学试卷
- 手写租房合同范本甲方
- 下部构造施工方案(3篇)
- 出院用车揽活合同范本
- 海外投资风险的应急预案
- 哪个网站小学数学试卷
- 购买骑楼商铺合同范本
- 心胸外科麻醉管理
- 医工交叉培养提升医疗人才的综合能力
- 《鸿蒙HarmonyOS应用开发基础》课件 第1-3章 初识鸿蒙、ArkTS(上)、ArkTS(下)
- 以诺书999中英对照
- 2025年医院血透室人员培训计划
- 《消防员心理素质培养》课件
- 中学师德师风建设专题培训
- (2025)辅警招聘考试题题库及答案
- 公安机关办理行政案件程序规定课件
- 退伍军人贫困申请书
- 九年级全一册英语单词默写表(人教版)
评论
0/150
提交评论