

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录摘要1前言21需求分析31.1功能需求分析31.2性能需求分析41.3数据库需求分析数据流图41.4数据结构分析数据流图42概要结构设计72.1系统功能结构设计72.2数据库概念结构设计73逻辑结构设计84详细设计及功能实现84.1模块设计与实现85总结16参考文献16致谢错误!未定义书签。基于Java的学生成绩管理系统的设计与实现摘 要: 随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、 手段以及工作效率已不能适应新的发展需要,无法很好地完成教案管理工作。提高教案管 理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于Java 与 SQLserver
2、 数据库技术建立一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、 修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。关键词:Java;需求分析;概要设计;学生成绩管理系统;TheDesignAndRealization Oftheeducational administrationmanagement systemBased On JAVAAuthor: Zhou yappingTutor: Chen yiming( School of InformationScience technique normal school,Hunan AgriculturalU
3、niversity,Changsha, 410128 )Abstract:Fly technically along with the calculator to develop soon and the highereducation system reform of continuously thorough, traditional education managementthe method, means and work efficiencies have already cant adapt the newdevelopment demand, cant complete the
4、teaching management work nicely.The mainpath that raises the educational administration management level is a thought thatrenews the governor, strengthenning the science understanding to manage theactivity.According to the JAVA build up that system of an educational administration ofhigh school mana
5、gement systems pursue studies with the database technique toliving to provided the search, modify, save, increase the record and select electivecourses etc. with teacher function, the function relatively falls well-found, can satisfythe request between student and teacher basically.Keyword:JAVA。The
6、need analysis。The essentiadesign。Database。Detailed design.、八、一前言学生成绩管理工作是高校教育工作的一项重要内容。教务管理工作是指学 校管理人员按照一定教育方针,运用先进的管理手段,组织 、协调 、指挥并指 导各用户活动,以便高效率、高质量地完成各项教案任务,完成国家所制定的 教育目标。学生成绩管理工作是学校教案工作的中枢,是保证高校教案机制正 常运转的枢纽,它是一工程的性、计划性、适用性、创造性和科学性很强的工 作。学生成绩工作关系到高校教案秩序的稳定。随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管 理方法、手段以
7、及工作效率已不能适应新的发展需要,无法很好地完成教案管 理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动 的科学认识。同时,运用先进的信息技术,开发高校综合成绩管理信息系统, 是深化教务体制改革的有利措施。JAVA以GUI的编程方式、面向对象的程序设计、众多的GUI组件和强大 的数据库应用开发支持,在竞争激励的开发工具市场中越来越羸得程序设计者 的青睐。JAVA是Windows系统下的可视化集成开发工具,提供了强大的可视 化组件功能,使程序员能够快速、高效地开发出Windows系统下的应用程序, 特别是在数据库和网络方面,JAVA与其它开发工具相比更是胜出一筹。可视化 主要
8、是指开发图形用户界面,而只需调用GUI组件即可。1 需求分析1.1 功能需求分析该学生成绩管理系统具备三方面的功能:一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行一些基础查询(学生信息查询、班级信息查询、课程信息查询)、成绩管理(成绩查询、计算平均分)重新登陆系统;一 方面老师进入该系统则比学生多一些权限:成绩输入、成绩查询。 具体功能的详细描述如下1.1.1选择学生基本维护菜单命令,即可进入学生基本维护功能窗体,在其 中输入学生的相关信息,如果需要添加或修改学生信息,则单击相应的按纽, 输入新信息后单击添加就可以了。需要删除一条信息,则只要选择这条信息 再点击删除。在搜索条件
9、中输入相关的条件,单击查询就可查找信息。1.1.2选择学生信息查询菜单命令,即可进入学生信息查询功能窗体,在其中 的下拉列表中选择你要看的信息,则在下面的表格中显示你要的信息。1.1.3选择成绩管理 添加成绩菜单命令,即可进入添加成绩功能窗体,此 功能权限只有管理员和教师。1.1.4选择成绩管理 输入成绩菜单命令,即可进入输入成绩功能窗体,此功能权限只有管理员和教师。1.1.5选择成绩管理 修改成绩界面,此功能规管理员所有。1.1.6选择成绩管理 查询成绩界面此界面对学生也是可见的,它的权限规所有用户所有。1.1.7选择登陆 重新登陆则会返回登陆界面,为用户提供方便。1.1.8选择退出将退出整
10、个系统。1.2 性能需求分析时间特性要求:在软件方面,响应时间有点慢,因为是用JBuilder做的,它占用内存比较大,更新处理时间比较快而且迅速。安全性:设立口令号和密码验证方式,防止非法用户登录进行操作。也就 是用户只有管理员、学生和教师才能进入这个系统,用户凭口令号和密码进入 此系统,系统会自动判断用户是那种类型,分别拥有不同的权限。1.3 数据库需求分析一一数据流图在教务系统中功能模块主要牵涉到的信息包括:是学生信息(basenfo)、班级信息(classnfo)、课程信息(classnfo)、成绩表(chengjibiao)、选课表(xuankebiao)、登陆表(stu)。学生信息:
11、包含学号(id)、姓名(name)、班级(class)性别(sex)、地址(address)课程信息:包括课程编号(course_id)、课程名称(coursename)教师(teache) 选课表:编号(select_id)课程名称(coursename)课程编号(course_id)、学号(xh)、姓名(name卜卜成绩(result)、教师(teache)成绩表:编号(number)、学号(id)、课程名称(coursename)成绩(result)、教师(teachei)班级信息:班级编号(bjbh)、学号(id)、姓名(name)班级名称(bjmc)、班主任(bzr)。登陆表:口令号
12、(id)、密码(password)权限(rightlimit)01.11.4 数据结构分析一一数据流图1.4.1 数据结构:学生信息=组成:学号(id)、姓名(name)、班级(class卜卜性别(sex)、地址根据以上划分的具体数据信息,得到数据流图如所示数据库(address)课程信息=组成:编号(course_id卜卜课程名称(coursename)教师(teache)选课信息=组成:编号(select_id)课程名称(coursename)、课程编号(course_id)、学号(xh)、姓名(name)、成绩(result)、教师(teacher)成绩表包括=组成:编号(number)
13、、学号(id)、课程名称(coursename)成绩(result)、教师(teache)课程信息包括=组成:课程编号(course_id)、课程名称(coursename)教师(teacher)班级信息=组成:班级编号(bjbh)、年级(nj)、班级名称(bjmc)、人数(rs)、班主 任(bzr)登陆表=组成:口令号(id)、密码(password)、权限(rightlimit)1.4.2 数据流: 对图 1.1 中所涉及的数据流描述如下:1)数据流名:口令号 说明:根据这个口令号定位到用户管理数据库,以便进行身份验证。数据流来源:数据流去向:登陆界面输入的口令号和密码。其中
14、用户口令信息将存在于整个操作过程中,防止非法登陆数据流组成: 口令号(文本);密码(文本)2)数据流名:寻找信息说明:根据用户在学生信息维护的时候所填写的信息。数据流来源:数据流去向:学生信息维护界面学生输入包含学号、班级编号、名称等。学号将存在整个操作,其它的存入数据库。数据流组成: 学号(文本);姓名(文本)等3)数据流名:寻找信息 说明:根据用户在成绩管理的时候所填写的信息。数据流来源:成绩输入、修改、添加等界面用户输入包含课程编号、课程 名称、成绩、教师。数据流去向: 学号、班级编号、课程编号将存在整个操作,其它的存入数据库。数据流组成: 课程编号(文本)、课程名称(文本)、教师(文本
15、)等。4)数据流名: 返回信息 说明: 根据用户在学生信息维护的时候所填写的信息存入了数据库之后。数据流来源:由学生信息维护界面学生输入的包含学号、姓名、性别等存 入数据库的。数据流去向:学生信息维护界面。数据流组成:学号(文本)、姓名(文本)、班级名称(文本)、性别(文本)等。5)数据流名:返回信息 说明:根据用户在成绩管理的时候所填写的信息存入数据库后。数据流来源:由成绩管理输入的包含班级名称、教师、课程名、成绩存入 数据库的。数据流去向:成绩管理的各子界面。 数据流组成:班级编号(文本);班级名称(文本);教师(文本)等; 对图 1.1 中所涉及的处理过程描述如下:1)处理
16、过程名:登陆 输入数据流:口令号、密码 输出数据流:不符合输入条件的错误信息 处理过程逻辑:用IF条件进行判断。2)处理过程名:班级信息维护 输入数据流:班级编号、班级名称、教师等 输出数据流:班级编号、班级名称等 ,其中班级编号将存在整个操作。 处理过程号:班级编号,其中班级编号将存在整个操作。3)处理过程名:学生信息维护 输入数据流:学号、姓名、班级编号、性别等。 输出数据流:学号、姓名、班级编号、性别等。其中学号将存在整个操 作。4)处理过程名:课程查询 输入数据流:学号、姓名 输出数据流:学号、班级名称、课程名称、上课时间节、上课时间天、上 课地点、其中课程编号将存在整个操作。5)处理
17、过程名:成绩输入输入数据流:课程编号、课程名称输出数据流:编号、学号、课程名称、成绩、其中编号和学号将存在整个操作。2 概要结构设计2.1 系统功能结构设计2.1.1 模块的功能设计根据需求分析阶段得到的功能需求,管理员、学生和教师用户通过输入口令号 和密码进下该系统后,可以进行一些学生基础信息查询(学生信息查询、班级 信息查询、课程信息查询)、学生信息维护、成绩管理(成绩查询、计算平均 分)重新登陆系统、退出。模块功能大概可以分为如下4个方面:这几个模块学生基础维护、成绩管 理、登陆、退出。其中基础维护还要包括学生信息维护、班级信息维护、课程 信息维护。成绩管理包括成绩查询、添加成绩、成绩输
18、入等。综上所述,得到客户端功能模块图如下2.1所示。老师登陆2.2 数据库概念结构设计根据需求分析阶段得到的数据字典以及数据流图,由以上分析可以得到系统中 出现的实体生一可以画出对应的E-R图如下:本得到息等。有:学生信息实体、课程信息实体、班级信息登 陆、E-R图2.2如下:实体、成Class info表出实图 2.1 客户模块系统功能模块图;n/、course infoxua nkebiaostu3 逻辑结构设计根据上面概念结构设计阶段得到的E-R图,下一步应该将它转化为关系模型。可以得到对应的关系模式为:Basenfo(id、name class、sex、address)Classnfo
19、(class id class name teacher;id)xua nkebiao(number、id、course name teacher class_id class name result)chengjibiao(number、id、name course result)course_i nfo(number、course-id、course name dates teacher;jieshu、address stu(id、password rights)4 详细设计及功能实现4.1 用户登录模块设计与实现设计思路:为了检验登录用户是否是一个合法用户,当用户输入用户名和 密码后,需
20、要查询数据库以便验证该用户是否为非法用户。同时通过用户输入 的口令号就可知道用户是管理员、学生,还是教师,他们的权限不同。实现功能:用户可以从登陆界面进入到教务管理系统界面,然后进行一些 操作。图4.1为系统运行时的截图:图 4.1 用户登录模块的系统截图该模块的核心代码如下:判断用户是否合法和用户权限。public void jButt on 1_actio nPerformed(Actio nEve nt e) Stri ng user name=Name_Text.getText().trim(。Stri ng password=Password_Text.getText().trim(
21、。if(username.equals()|password.equals()JOptionPane.showMessageDialog(null,用户名或密码不能为空!)。elsetry /建立数据库连接对象Jdbcconn conn = new Jdbcconn(。)/连接数据库conn.OpenConn(student, sa, yaya)。String strSQL = select * from stu where id= + username + 。try /得到记录;ResultSet rs = conn.getResults(strSQL。)rs.first()。String
22、PassWord = rs.getString(password).toString().trim()。/得到数据库中 对应用户名的密码int right = rs.getInt(rightlimit)。rs.close()。if (password.equals(PassWord) JOptionPane.showMessageDialog(null,成功登陆!)。dispose()。chaxunchengji cxcj = new chaxunchengji()。cxcj.user name = user nameMain_Frame mainFrame = new Main_Frame(
23、。)mainF rame.users = user name mainFrame.setVisible(true)。Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(。)Dimension frameSize = mainFrame.getSize(。) if (frameSize.height screenSize.height) frameSize.height = scree nSize.heightif (frameSize.width screenSize.width) frameSize.width =
24、 screenSize.width。mainFrame.setLocation( (screenSize.width - frameSize.width) / 2,(screenSize.height - frameSize.height) / 2。)mainF rame.users = user nam。switch(right)case 0:mainFrame.jMenuItem4.setVisible(false)。mainFrame.jMenuItem6.setVisible(false)。mainFrame.jMenuItem1.setVisible(false)。mainFrame
25、.jMenuItem3.setVisible(false)。break。case 1:mainFrame.jMenuItem3.setVisible(false)。mainFrame.jMenuItem6.setVisible(false)。break。default:mainFrame.setTitle(学生成绩管理系统)。break。else JOptionPane.showMessageDialog(null,密码错误,请重输!)。Password_Text.setText()catch (Exception ex) JOptionPane.showMessageDialog(null,
26、用户名或密码错误1!)。Name_Text.setText()。Password_Text.setText(。)conn.closeConn()。/关闭数据库连接 catch (Exception ex) JOptionPane.showMessageDialog(null,用户名或密码错误2!)。System.out.print(ex.getMessage()。)/first try catch /second try catch/end else/end method图 4.2 学生信息维护模块的系统截图图 4.3 学生基本信息查询模块的系统截图该模块的核心代码:public static
27、 void main(String args) I I I /banjixinxi banjixinxi = new banjixinxi()。public void jComboBox1_actionPerformed(ActionEvent e) int state = jComboBox1.getSelectedIndex(。)if (state = 1) try String sql = select * from base_info。queryDataSet1.close(。)/将SQL语句传给queryDataSetl执行。queryDataSet1.setQuery(new Qu
28、eryDescriptor(database1, sql, null, true,Load.ALL)。queryDataSet1.open(。) /将queryDataSet1打开queryDataSet1.refresh(。) /刷新queryDataSet1 /end trycatch (Exception ex) JOptionPane.showMessageDialog(nuII, Sorry暂时没有学生信息记录)。 /end catch /end ifelse if (state = 2) try String sql1 = select * from class_info。quer
29、yDataSet1.close(。)/将SQL语句传给queryDataSet1执行。queryDataSet1.setQuery(new QueryDescriptor(database1, sql1, null, true,Load.ALL)。queryDataSet1.open()将queryDataSet1打开queryDataSet1.refresh(。) /刷新queryDataSet1 /end trycatch (Exception ex) JOptionPane.showMessageDialog(null, Sorry暂时没有班级信息记录)。 /end catch /end
30、 if of elseelse tryString sql2=select * from xuankebiao。queryDataSet1.close(。)/将SQL语句传给queryDataSet1执行。queryDataSet1.setQuery(new QueryDescriptor(database1, sql2, null,true,Load.ALL)。queryDataSet1.open()将queryDataSet1打开queryDataSet1.refresh(。) /刷新queryDataSet1/end trycatch(Exception ex) JOptionPane.
31、showMessageDialog(nuII, Sorry暂时没有课程信息记录)。/end catch/end else of else/end else成绩输入界面的核心代码图:4.4成绩输入模块的系统截图public void jButton1_actionPerformed(ActionEvent e) String Field1 = jTextField1.getText().trim()。String Field2 = jTextField2.getText().trim()。String Field3 = jTextField3.getText().trim()。String Fi
32、eld4 = jTextField4.getText().trim()。String Field5 = jTextField5.getText().trim()。if (Field1.equals() & Field2.equals() & Field3.equals() & Field4.equals()& Field5.equals() JOptionPane.showMessageDialog(null, 请在下面的框内填写出正确的内容)。else try Jdbcconn conn = new Jdbcconn(。) /连接数据库conn.OpenCon
33、n(student, sa,yaya)。String strSQL =insert into chengjibiao (id,name,course,result,teacher) values ( +Field1 + , + Field2 + , + Field3 + , + Field4 + , +Field5 + )。conn.executeUpdate(strSQL。)JOptionPane.showMessageDialog(null,成绩输入成功)。/System.out.println(name)。catch (Exception ex) System.out.println(e
34、x.getMessage()。)JOptionPane.showMessageDialog(null,数据库没有链接成功,数据没有输入 成功!)。 /end catch /end if图 4.6 修改成绩模块的系统截图核心代码:public void jButton1_actionPerformed(ActionEvent e) String Field1 = jTextField1.getText().trim()。String Field2 = jTextField2.getText().trim()。if (Field1.equals() & Field2.equals() tr
35、y JOptionPane.showMessageDialog(null,请输入查询条件!)。catch (Exception ex) System.out.println(ex.getMessage()。) /end ifelse try String sql = select * from xuankebiao where id= + Field1 + or course_name= + Field2 + 。queryDataSet1.close(。)/将SQL语句传给queryDataSetl执行。queryDataSet1.setQuery(new QueryDescriptor(da
36、tabase1, sql, null, true,Load.ALL)。queryDataSetl.open() /将queryDataSetl打开queryDataSet1.refresh(。) /刷新queryDataSet1 /end try查找要修改成绩的学生信息*catch (Exception ex) JOptionPane.showMessageDialog(null,Sorry!没有你要的信息,请检查你输 入的信息!)。 /end catch /end else*public void jButton2_actionPerformed(ActionEvent e) String Field1 = jdbTextField1.getText().trim()。String Field2 =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025公司项目部负责人安全培训考试试题(下载)
- 2025年承包商入厂安全培训考试试题及完整答案【各地真题】
- 2025年项目部安全培训考试试题答案典型题
- 【部编版】四年级语文下册第20课《我们家的男子汉》精美课件
- 【部编版】四年级语文下册第10课《绿》精美课件
- 2025职场攻略:求职过程中如何识破并规避“陷阱”合同的综合指导
- 2025公寓租赁合同样本
- 2025热水供应合同
- 2025版权转让合同样本参考
- 2025网站开发合同范本参考
- 儿童呼吸机基本使用
- 手术替代治疗方案
- 建筑工程项目管理绩效评价指标体系
- T-CNPPA 3025-2023 药包材质量协议管理指南
- 美洲印第安文明的发展与衰落-玛雅、阿兹特克与印加
- 家庭教育讲座活动流程
- 大学《思想道德与法治》期末考试复习题库(含答案)
- 麦肯锡入职培训第一课在线阅读
- 省级课题结题报告范本
- 什么叫干槽症课件
- 电缆敷设劳务分包合同(通用)
评论
0/150
提交评论