1、 计算机科学与技术学院 课 程 设 计 报 告课程名称: 数据库系统原理 专 业: 计算机科学与技术 班 级:2010级 计算机1004班 学 号: 201013137123 姓 名: 柳海飞 指导老师: 39关键字:数据库 设计;学生管理系统目录一、绪论2二、需求分析31.系统需求31.1功能需求31.2、性能需求31.3、可靠性、可用性需求31.4、将来可能添加的需求42.数据字典42.1、实体信息42.2、实体联系信息6三、概要设计71.学生管理系统功能模块图72.学生管理系统E-R图83表结构及关系9四、系统各功能详解91.登陆界面介绍92.注册账号介绍103.密码重置介绍134.管理
2、员用户功能介绍165.教师用户功能介绍226.学生用户功能介绍29五经典代码35六实验心得体会36实验日期:2012-2-24(参考资料:数据库系统概论、java语言程序设计与开发。)数据库设计与应用开发 学生管理系统一、绪论为适应信息化的高速发展,数据库系统的应用无处不在,而现代生活中,数据的管理,以及应用系统开发尤为重要。学生管理系统的应用为学校教学,教师办公,学生信息管理提供了应用平台,为现代化教学提供了信息技术的支持,从而将信息的应用技术融入到校园管理。数据库的开发,系统的建立,以及应用程序和相应的操作平台,在现代教育管理中展现了极大的优越性,并极大地改善了校园管理。相信数据库系统的使
3、用将会为广大师生以及教务人员的工作学习提供相应的便利之处。而本系统为教师实现了学生信息搜索、成绩管理、课务查询,以及留言收发等功能操作,对于学生可以查询成绩、选修课程,收发留言。教师与学生通过相互留言可以达到信息反馈以及沟通交流,为教师教学,学生学习提供了更好的辅助。同时密码的重置,以及学生注册,管理员对学生信息的注销、注销都有实现。系统界面采用中国水墨画的装饰布局,既有强烈的中国色彩,又有简洁之美,符合教师、学生用户的身份与艺术欣赏。使整个系统有一个和谐的感觉。二、需求分析1.系统需求1.1功能需求 某学校要实现学生信息的无纸化系统管理,该系统主要有以下功能:学生成绩管理、学生选课、班级信息
4、动态管理。 学生成绩管理:允许相应权限用户对学生的成绩进行查询、修改等操作,辅助教师对学生成绩的管理; 学生选课:为学生选课提供信息平台,和无纸化管理,允许学生选课,修改已选课程; 学生与教师的信息交流:为学生与教师的信息交流提供平台,方便了教师的教学,也可增进师生间的友谊。 教师课务查询:为教师日常课务的查询提供便利,减轻教师的工作负担。1.2、性能需求 实现信息的自动化管理,便于无纸化办公,减轻教师的工作量,实现成绩查询的方便性、随时性,同时为学生选课提供平台服务,也为班级管理提供方便,减少学生干部的工作负担。1.3、可靠性、可用性需求 i.系统应当有较高的可用性,操作简单,便于用户使用;
5、 ii.系统应要有较高的可靠性,这样可以有效地的保障系统的运行,而保障其可用性;系统数据的可靠性,可靠地信息可以为学校教学,班级管理提供有效保障;这样便于学校对学生信息的统一管理。1.4、将来可能添加的需求进一步改善系统的要求可能有:提供学生信息的统计以及各类报表的打印 ;实现网络远程登录,对学生各类信息的查询,及信息的修改,和班级内的动态;实现学校教师与学生,学生与学生的多级对话交流,即信息的系统内的多级反馈。实现网络功能,让教师与学生随时随地都可以查到教务信息和课程信息,以便通过移动平台实现教师与学生沟通。 2.数据字典 2.1、实体信息 学院表字段名数据类型长度可否为空学院编号Varch
6、ar6否(主键)学院名称Varchar12院长编号Varchar6否学院地点Varchar8院办电话Varchar11 学生表字段名数据类型长度可否为空学号Varchar6否(主键)学生姓名Varchar8性别Char2否(“男”或“女”)出生日期Date所在班级Varchar8否专业Varchar10籍贯Varchar8宿舍号Varchar6职务Varchar6密码Varchar6否备注Varchar20 班级表字段名数据类型长度可否为空班级编号Varchar6否(主键)班级名称Varchar8所属院系Varchar6否人数Int备注Varchar20 留言表字段名数据类型长度可否为空留言编
7、号Varchar6否(主键)留言发布者Varchar6否留言对象Varchar6否内容Varchar100否发布日期Date否 课程表字段名数据类型长度可否为空课程编号Varchar6否(主键)课程名称Varchar10课程类型Varchar4学时Int字段名数据类型长度可否为空开课周次Varchar6学分Int 选修表字段名数据类型长度可否为空学号Varchar6否(主键)课程编号Varchar6成绩Int(取值0100) 教师表字段名数据类型长度可否为空教师编号Varchar6否(主键)教师姓名Varchar8性别Varchar2否(“男”或“女”)年龄Int学历Varchar6电话Var
8、char11住址Varchar10密码Varchar6否备注Varchar20否(“管理员”或其他) 上课表字段名数据类型长度可否为空课程编号Varchar6否(主键)教师编号Varchar6上课班级Varchar6时间Varchar6地点Varchar4否 2.2、实体联系信息学院(学院编号,学院名称,院长编号,学院地点,院办电话)学生(学号,学生姓名,性别,出生日期,所在班级,专业,籍贯,宿舍号,职务,密码,备注)班级(班级编号,班级名称,所属院系,人数,备注)留言(留言编号,留言发布者,留言对象,内容,发布日期)课程(课程编号,课程名称,课程类型,学时,开课周次,学分)选修(学号,课程编
9、号,成绩)教师(教师编号,教师姓名,性别,年龄,学历,电话,住址,密码,备注)上课(课程编号,教师编号,上课班级,时间,地点)三、概要设计1.学生管理系统功能模块图2.学生管理系统E-R图3表结构及关系(注:表中使用黑体加粗的为主属性,使用数据库为Access2003)四、 系统各功能详解1.登陆界面介绍运行程序,首先弹出登录提示框;点击“确定”,显示登陆界面:系统默认的用户类型为学生,登陆界面上有三种类型用户登录,以及注册账号,和密码重置两个操作。2.注册账号介绍由登陆界面,点击“注册账号”,进入账号注册,系统弹出提示框;单击“确定”,进入注册申请,(本系统采用的注册方式:由于本系统针对的用
10、户有局限性,并不是完全开放的系统,所以采用申请注册,即要申请账号者向系统管理员发出申请,管理员由申请内容验证申请者身份,若验证通过,则给申请者注册相应账号,反之则拒绝其申请。) 如果,我们在申请内容写下:李岩,男,转学生,计算机学院,10级, QQ:1111。点击“发送申请”。会弹出确认框,然后单击“是”,单击“确定”,会弹出确认框,确认用户是否再发送一条申请。单击“否”,此时“发送申请”会变得不可用,再点击“返回登录界面”来返回到登录界面。3.密码重置介绍由登陆界面点击“密码重置”进入到密码重置界面,此时会弹出选择框,让用户选择密码重置的方式,一是用户想修改密码,二是用户忘记密码想找回密码。
11、A.首先单击“是”,进入到密码重置(修改),如果,我们输入账号201002,初始密码:666666,换成新密码123456;单击“确认”,会弹出提示框,提示我们选择用户类型。选择用户类型:学生,单击“确认”,此时会弹出密码确认框,我们输入新密码:123456,点击 “确定”;此时会弹出提示框,提示密码修改成功。B.若我们在进入到密码重置界面时,单击“否”,则会进入到密码找回界面,此时我们输入刚才修改的账号密码,账号:201002,选择类型:学生;单击“找回密码”,则会进入身份验证环节,此时会弹出一系列的提问框,若以上三个问题完全答对,则会弹出提示框,提示密码成功找回,并显示密码。若答错其中任何
12、一个问题,则会弹出提示框:单击“确定”,系统自动退出。(注:以上功能教师同样适用)4.管理员用户功能介绍由登陆界面,输入管理员账号:10001,及密码:888888,选择类型:管理员,点击“登录”;若账号或密码错误,或则用户类型未选择,则会弹出错误提示框;该错误提示框若出现三次,则系统将自动退出。如果正确输入。则会进入到管理员界面,A先进入到“收发留言”,查看申请账号注册的留言,点击“收发留言”;会进入到留言收发界面:此时会弹出选择框,让用户选择是进行“查看留言”还是进行“写留言”操作。我们先选择“查看留言”,单击“确定”:留言可以进行删除操作,若有多条留言也可以进行翻页阅读。如果我们进入“写
13、留言界面”,就可以给任何一个注册过的学生发送留言,如:点击“发送留言”,此时会弹出确认框:若留言是要发送到此人,则单击“是”,单击“否”,重新输入学号;单击“是”时则会弹出提示框,提示留言发送成功!单击“确定”,然后选择确认框(是否再发送一条留言?)的“否”,再点击“返回菜单”返回到管理员界面。B.点击“信息管理”,进入到学生信息修改,可“注销学生”,也可“注册学生”,我们先来注册刚才的申请者:李岩单击“提交注册”,此时由于学号:201002已存在,则会弹出提示框!若我们将学号改为:201021;此时会注册成功!单击提示框(学生注册成功!)的“是”和确认框(是否继续进行学生注册?)的“否”;再
14、返回到菜单,进入信息管理的“学生注销”;首先查询要注销的学生,查询有两种:一学号查询,二姓名查询;我们用学号查询示范:输入学号,我们用模糊查询法,输入:2010;点击“开始查询”,则会查询到21名学号前缀为2010的,然后翻页找到刚才注册的学生:李岩,将其删除。此时系统会弹出提示:单击“是”(上页),弹出提示框,显示该学生信息已删除!单击“确定”。点击确认框(是否继续删除?)的“否”,再返回到菜单!我们再演示一下姓名查询的方式!在选择框里选择“姓名查询”单击确定!在姓名里输入:柳;点击“开始查询”,此时我们会看到系统搜索到两名姓柳的学生:此处的删除操作与学号查询删除的操作相同,就不再演示!单击
15、“返回菜单”,单击“返回登录”或“退出系统”。5.教师用户功能介绍此时我们再以账号:10001,密码:888888(注:该教师有双重权限,一是以管理员的身份(上已演示),二是以教师身份)A.先进入到“学生信息”界面。查询学生信息!查询方式与前面查询删除相似!分为“学号查询”和“姓名查询”,以学号查询为例,姓名查询方式相同!选择选择框(选择你所需要的查询方式:)的“学号查询”,输入学号(可模糊查询):2;单击“开始查询”;在查询结束点击“上页”时,会弹出:同样在查看到最后一页时,再单击“下页”时,则会:在未到达最后一页时,点击翻页查看信息,也可向前翻页:查看完后,单击“返回菜单”,返回到菜单界面
16、!B.点击“成绩管理”进入到成绩管理界面:教师可查看学生成绩,也可修改学生成绩;将鼠标移到相应的学生行,若我们要将学号为201004(杨慧)学生的高等数学成绩修改为100;单击“杨慧”这一行!会弹出输入框:若我们输入10.8;则会弹出;同样输入120,也会弹出:单击“确定”,再重新输入100;会弹出:单击“是”,修改完成!单击“返回菜单”返回到教师菜单!C.点击“课程安排”进入到课务查询界面,该界面可让教师查询到这一周的所有课程安排!并可以统计到要教授的课程的门数!查询完毕后,单击“返回菜单”返回到教师菜单界面!D.点击“收发留言”可以进入到,教师的留言查阅,删除和书写,该方式与前面的管理员方
17、式相同!此处进一步介绍!选择所需操作,查看留言或是写留言!我们删除这条留言!点击“删除留言”。此时会弹出提示框:单击“确定”,可以看到留言重新加载!此时留言数量减少了一条,原来那条留言已经不见了。单击“返回菜单”返回到教师菜单界面!写留言功能与发送申请相仿,故不再介绍!返回教师菜单界面后,单击“退出系统”就可以退出学生管理系统!6.学生用户功能介绍由登陆界面,输入学号:201001,密码:666666,选择用户类型为:学生,点击“登录”,就成功进入到学生菜单界面;A.首先点击“成绩查询”,进入到成绩查询界面!会弹出提示框:点击“确定”就可以看到成绩列表!这里可以看到科目的成绩,以及选修的门数,
18、其中成绩为空的是学生刚选修的科目,还未考试,故成绩为空!查看成绩完成后,单击“返回菜单”返回到学生菜单界面!B.单击“学生选课”可进入到学生自主选课的界面! 单击提示框的“确定”就可查阅到目前选修的课程列表。查阅完课表可点击“选修课程”,进行自主选修课程操作,此时会弹出可选修的课程的列表选择框(如下左图), 我们选择“广告设计与艺术”这门课程,点击“确定”,此时会弹出提示框(如上右图)!这时会系统提醒你选课成功!并加载新的课程列表;若我们重复选择了一门课程时,系统则会提示:在选课完成后,我们单击“返回菜单”则可返回到学生菜单界面。C点击“收发留言”可以进入到,留言的查看,删除,和书写发送操作,
19、此处与教师的收发留言功能相同!此处简单介绍!学生可收到来至教师与管理员的留言。上面看到的就是我们以管理员的身份发送的留言。进行完了留言的查阅,删除和书写发送,返回到学生菜单界面,单击“退出系统”来退出整个学生管理系统!(整个系统的介绍到此!系统界面编程语言:java,使用到的软件:photoshop,myeclipse;数据库软件:access2003)五经典代码 SimpleDateFormat systime=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);time.setText(systime.format(new Date();/读取系统时间显示
20、JPasswordField pwd = new JPasswordField(); /初始化密码框Object message = 请再次输入新密码:, pwd; int res = JOptionPane.showConfirmDialog(null, message, 请输入密码:, JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); /密码确认框,以确认用户的新密码 if(student.getState()type=student;table=学生;column=学号;if(teacher.getState()ty
21、pe=teacher;table=教师;column=教师编号;if(administrator.getState()type=administrator;table=教师;column=教师编号;/确认用户类型try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);String url=jdbc:odbc:SMSdb;Connection con=DriverManager.getConnection(url);Statement getpass=con.createStatement(); String sql=select 密码 from +tab
22、le+ where +column+=+no+;if(type.equals(administrator)sql=select 密码 from +table+ where +column+=+no+ and 备注=管理员;ResultSet passresult=getpass.executeQuery(sql);while(passresult.next()password=passresult.getString(1);/连接数据库读取用户密码con.close();/断开连接 catch (ClassNotFoundException e1) e1.printStackTrace();
23、catch (SQLException e2) e2.printStackTrace(); ImageIcon ima=new ImageIcon(Toolkit.getDefaultToolkit().getImage(E:MyEclipesMyProjectFiles学生管理系统srcSMS-T.message.jpg), imabout=new ImageIcon(Toolkit.getDefaultToolkit().getImage(E:MyEclipesMyProjectFiles学生管理系统srcSMS-introduce.jpg); /图片路径bigtitle.setIcon(
24、ima);about.setIcon(imabout);/为标签添加图片六实验心得体会通过本次学生管理系统的开发设计,我深刻体会到开发一个完整的数据库系统需要足够的细心与耐心,数据库系统设计的关键是用户的需求分析。并体会到:1. 数据库系统的开发要结合实际问题,并建立在实际的基础上解决问题。整个系统要注意的各方面的细节问题,考虑到用户的需求;2. 在开发整个系统要根据需要实际的需要选取合适的开发工具,如编程工具、数据库管理系统,都要结合实际情况进行选取;3. 数据库在细节设计方面要考虑到用户的各种操作情况,并在软件中就各种情况进行相应的处理,并要在相应出加以提醒以至于用户能更方便的使用该软件。
25、通过本次开发,感觉锻炼了自己的编程能力和自我学习的能力还在另一方面锻炼了自己的耐性与细心,对自己以后的学习和生活是一个不错的体验,也为自己以后开发其他的软件打下了基础,积累了经验。计算机科学与技术学院课程设计成绩单课程名称:数据库系统原理 指导教师: 姓名柳海飞性别男学号201013137123班级计算机1004综合成绩成绩等级程序运行情况(占总成绩20%)能正确运行 基本能正确运行 能运行但结果不完善(20分) (15分) (10分)程序功能的完善程度(占总成绩10%)完善 基本完善 不完善(10分) (8分) (5分)程序结构的合理性(占总成绩10%)合理 基本合理 不太合理(10分) (8分) (5分)对问题的答辩情况(占总成绩40%)概念正确有创新 能正确回答所有问题 基本能正确回答(40分) (35分) (30分)部分问题回答概念不清晰(20分)学生的工作态度与独立工作能力(占总成绩10%)工作态度认真能独立完成任务 工作态度认真但独立性较差(10分) (8分)工作态度基本认真但缺乏独立性(5分)设计报告的规范性(占总成绩10%)符合规范 基本符合规范 规范性较差(10分) (8分) (5分)优秀:90分100分 良好:80分89分 中等:7079分 及格:6069分 不及格0分59分 武汉科技大学计算机科学与技术学院制表