《2022年本科学生综合性实验报告.docx》由会员分享,可在线阅读,更多相关《2022年本科学生综合性实验报告.docx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科同学综合性试验报告课程名称: Java 开发技术工程名称:同学成果经管系统同学姓名学号指导老师开课学期2021 至 2021 学年 第 一 学期完成时间 2021 年 1 月 3 日目录摘要 11 工程讨论开发的背景及意义11.1 本课题设计学术价值、理论意义和实践意义11.2 本课题设计拟讨论的主要问题21.3 重点和难点 21.4 讨论方法、预期效益 21.5 本工程创新点和特色 22 需求分析 32.1开发背景32.2工程目标32.3运行环境32.4 任务说明书 43 技术路线及关键技术 63.1 系统总体功能图 63.2 同学成果经管系统的功能模块简介:93.3 系统运用的主要技术
2、:223.4 数据库设计 233.5 连接数据库 264 测试报告及系统评判274.1 系统简介: 274.2 系统特色及缺点:285 系统使用说明285.1 用户操作指南: 286 个人感受及收成 29 7 大作业归纳总结 30感谢 308 参考文献: 30摘要人类已进入 21 世纪 , 科学技术突飞猛进, 经济学问和信息产业初见端倪, 特殊是信息技术和网络技术的讯速进展和广泛应用, 对社会的政治 , 经济 , 军事 , 文化等领域产生越来越深刻. 同学成果经管系统是一个训练单位不行缺少的部分,它的内容对于学校的决策者和经管者来说都至关重要; 本次大作业的同学成果经管系统是用java编程+S
3、QL server 2000数据库+SQL查询语言实现的 . 重点介绍了同学成果经管系统的实现过程: 包括系统需求分析、功能设计、数据库设计、系统实现、系统测试和调试等;关键字:成果经管统计信息经管数据库1 工程讨论开发的背景及意义1.1 本课题设计学术价值、理论意义和实践意义现在的社会学问经济在世界经济进展的位置越来越高,国家综合国力和国际竞争才能越 来越取决于训练进展, 科学技术和学问创新的水平,训练在经济和社会进展过程中将出现出 越来越突出的重要作用; 同学成果经管系统是一个训练单位不行缺少的部分,它的内容对于学校的决策者和经管者来说都至关重要,所以同学成果经管系统应当能够为用户供应充分
4、的信息和快捷的查询手段; 但是有些学校仍是使用传统人工的方式经管同学成果,填写各种表格,这种经管方式存在着很多缺点,如:效率低,保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找,更新和保护都带来了不少的困难;在此次大作业中,我综合java 编程、 SQL数据库和 SQL查询语言来实现一个简洁的同学成果经管系统;1.2 本课题设计拟讨论的主要问题一个完整的同学经管系统包括四个功能模板:(1) 基本信息经管:包括对同学、老师、课程、成果信息进行查找、删除、修改和添加;(2) 课表查询:同学和老师都可以对自身的课表进行查询;(3) 统计功能:对同学单科成果、总成果、全部同学成果的平均分进
5、行统计,并作出相应的排名;(4) 图形界面,将同学单科成果用柱形图表示出来,清楚简洁地表示出成果的分布情形;1.3 重点和难点( 1)界面要求美观,需娴熟把握利用java 语言来布局;( 2)数据库多个表联系,利用视图或者储备过程,需娴熟把握数据库的操作;( 3)模糊查找和精确查找,在界面上要求两者兼容,数据库上要求联系紧密;( 4)统计功能,单科和总成果要求进行统计;( 5)图形界面, 系统主界面加入背景图片以及成果统计时以不同颜色的柱形图形象表达;1.4 讨论方法、预期效益本次课程设计属于很普遍的应用讨论类,我只是在大家做的基础上加上我自己的的想法以及设计; 同时结合我们现在同学的成果情形
6、来进行设计;我采纳的方法是理论分析结合实际 来进行讨论的, 通过学习体会来建立模型,在此基础上对同学成果经管系统进行设计;这个系统将在 12 月下旬设计终止,界面美观,使用便利,功能较全的一个原型系统;此系统可以应用于落后的乡村的中学校教案经管;1.5 本工程创新点和特色( 1)本系统采纳java 和数据库结合的方式开发,可以对大量的数据进行储备和操作;( 2)本系统使用 java开发,具有跨平台特性;( 3)本系统功能俱全,具有同学、老师、课程的信息经管和多条件的成果查询和课程查询,成果统计和利用柱形图反应成果分布;( 4)系统具有安全性,用户只能通过用户名和密码拜访;同时设定三种用户:经管
7、员、同学、老师;不同的用户权限不同;2 需求分析2.1 开发背景当今时代是飞速进展的信息时代,在各行各业中离不开信息处理,这正是运算机被广泛应用于信息经管系统的环境;运算机的最大好处在于利用它能够进行信息经管.使用运算机进行信息掌握,不仅提高了工作效率,而且大大的提高了其安全性.特殊对于复杂的信息经管,运算机能够充分发挥它的优越性.;经管信息系统是进行信息的采集、储备、加工、保护和使用的系统,它是随着经管科学和技术科学的进展而形成的;同学成果经管系统是一个训练单位不行缺少的部分,它的内容对于学校的决策者和经管者来说都至关重要,所以同学成果经管系统应当能够为用户供应充足的信息和快捷的查询手段,对
8、同学来说可以轻松的查阅自己在校的成果,个人信息和课表查询等,但是始终以来在落后的乡村一些中学校人们都是靠传统人工的方式经管同学成果,这种经管方式存在着很多缺点,如:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和保护都带来了不少的困难;随着科学技术的不断提高, 运算机科学日渐成熟, 其强大的功能已为人们深刻熟悉, 它已进入人类社会的各个领域并发挥着越来越重要的作用, 作为运算机应用的一部分, 使用运算机对同学成果信息进行经管 ,有着手工经管所无法比拟的优点,例如:检索快速、查找方便、牢靠性高、储备量大、保密性好、寿命长、成本低等;这些优点能够极大地提高同学成果经管的效
9、率,也是企业的科学化,正规化经管,与世界接轨的重要条件;因此,开发这样的一套成果经管系统成为很有必要的事情;同学成果经管系统供应了比较全面的同学成果经管经管功能, 便利系统经管员对同学成果等信息的添加、修改、删除、查询、统计等操作;2.2 工程目标(1) 经管员能够实现对整个同学信息的添加、修改、删除、查询等操作;(2) 经管员能够实现对整个老师信息的添加、修改、删除、查询等操作;(3) 经管员能够实现对整个课程信息的添加、修改、删除、查询等操作;(4) 同学、老师、经管员对整个成果的查询;(5) 老师、同学查询课表;(6) 系统对成果具有统计运算的功能,将成果情形用柱形图形象地表现出来,并对
10、成果进行排名,包括单科和总成果;(7) 不同的角色不同的权限;2.3 运行环境同学成果对运行环境没有很高的要求,而且可以跨平台运行, 包括现有的 linux 和 uniux等操作系统;但是让同学成果经管系统反应操作更快,我举荐用户使用如下的配置: 正确配置: CPU2GHz内存512M硬盘80GWindows XP/linux/uniuxJDK1.6.0 , Java 程序开发环境Eclipse /MyEclipse , SQL sever 20002.4 任务说明书任务概述:通过在网上看一些同学成果经管系统的源代码,构想自己系统该有的功能框架; 将自己的构想和网上的进行对比,将自己的系统不断
11、地完善;一下是此次大作业的工程进度支配表:表 2.4-工程进度表阶段任务时间方案完成工作实际完成情形阶段一:2021 年11 月20 日接到大作业任务后,通过网上查阅地资料,结合分析选题阶段2021 年11 月30 日对 供 选 题 目 进 行 分自身目前所学的学问,并且析,并通过查询资料结合了老师的相关看法,最及相关信息,结合我终个人挑选了同学成果经管们所学习的学问及的系统;该系统是桌面应用系详细情形,挑选相应统,结合数据库和java 来完的题目并且确定工作成;技术方案;阶段二:2021年12 月 1 日摸索程序的大体方向个人经过一番摸索,确定程程序编写及调试阶段2021年12 月 9 日及
12、主题思路,确定程序大体的思路及程序包含的序 所 包 含 的 相 关 功功能,即为教案单位供应一能,同时完成对程序个能对同学成果统计与经流程、模块以及相关管,同学信息,老师信息,类的设计;授课信息经管的系统;然后画出了程序主体的流程图,将系统分成三个大模块模块;( 1)成果信息( 2)成果统计( 3)基本信息经管阶段二:程序编写及调试阶段2021 年 12 月 10 日2021 年 12 月 15 日在前期设定的流程图和系统模块化的基础上,完成程序全部的详细部分代码的编写及各种相关功能的实经过一段的时间的编写,建立好数据库,同时完成了程序各个详细部分的实现,完成了三个模块及其他布局函数的编写,详
13、细如下:现;( 1)Manage_student.java 实现同学信息的添加、删除、查询、修改功能;( 2) Manage_course.java 实现课程信息的添加、删除、查询、修改功能;( 3)Manage_teacher.java 实现老师信息的添加、删除、查询、修改功能;( 4)Manage_teach 实现授课的添加、删除、查询、修改功能;( 5)SignalCount.java 实现分数的运算( 6)SignalCount.java 实现分数的运算( 7)Photo.java 实现分数的分布图,将数据以柱形图的形式表示出来;( 8)DataManager.java 实现数据库的连
14、接;阶段三:2021年 12 月 16 日完成了整个程序的编使用所预备的数据库中不同程序编写及调试阶段2021年 12 月 21 日写工作之后,将数据的数据对程序进行测试,并库中的数据对我们的且对得出的结果进行分析,程 序 进 行 完 善 的 测最终得出测试结果没有错误试,确保程序的精确的结论;确定程序没有错误,性;整个程序的详细情形与个人最初的目标相吻合;阶段三:报告撰写阶段阶段三:报告撰写阶段2021 年 12 月 22 日2021 年 12 月 27 日2021 年 12 月 28 日2021 年 12 月 31 日完成大作业报告中的需求分析及程序分析部分的填写;完成大作业报告技术路线及
15、测试报告部分的填写;基于在第一阶段所作的工作并结合收集的相关资料,我们用了很短的时间完成这一部分的填写;基于在其次阶段所作的工 作,对整个程序经过细致的分析最终对其进行规律的归类,完成了技术路线这一部分的填写;再对前期所作的测试的结果进行分析、 汇总、归纳总结,完成了测试部分的填写;由于程序需要添加很多注释,再加上程序的内容较多以及对前期测试结果阶段三:程序完善阶段2021年 1月 1 日 2021 年 1 月 3 日完善程序代码以及试验报告的整理,使得这一部分花费了相对较长的时间由于前阶段代码显现了肯定的错误,对其进行修改,并取得胜利;3 技术路线及关键技术3.1 系统总体功能图(1)系统结
16、构图同学成果经管系统经学老管员生师学教课成课查查查查查查生师程绩程询询询询询询信信信信授成个成成教成息息息息课绩人绩绩师绩经经经经经课统课统管管管管管表计表计图 3.1-系统归纳总结构图( 2)系统流程图:在系统设计中,将用户分成三种权限,不同权限的用户,就拜访的内容不同、掌握的信息也不同,系统结构图如图3.1,系统流程图如图3.2;开头挑选用户登录输入用户名密码Y正确操作退出终止图 3.2-系统流程图(3)在系统结构图中,我们可以看到经管员对同学、课程、成果、老师的基本信息有增删改除的功能,以下是详细功能模块结构图:同学信息经管学学学学生生生生信信信信息息息息添修查删加改询除图 3.3-同学
17、信息经管模块教教教教师师师师信信信信息息息息添修查删加改询除课课课课程程程程信信信信息息息息添修查删加改询除成成成成成绩绩绩绩绩信信信信统息添息修息查息删计加改询除老师信息经管图 3.4-老师信息经管模块课程信息经管图 3.5-课程信息经管模块成果信息经管图 3.6-成果信息经管模块3.2 同学成果经管系统的功能模块简介:( 1)基本信息经管(以同学为例)ifobj=tianjia/添加Sno = tf_xuehao.getText.trim;Sname =tf_xingming.getText.trim;sex = tf_xingbie.getText.trim;age1 =Integer.
18、parseInt tf_nianling.getText.trim;tel_no = tf_dianhua .getText.trim;classno = tf_banhao .getText.trim;addr = tf_dizhi .getText.trim;if Sno .length=0|Sname .length=0|sex .length=0|age1 =0|Sno . length=0|tel_no.length=0|addr.length=0|classno.length=0JOptionPane.showMessageDialog this, 请添加完整信息! , 提示信息
19、,JOptionPane.QUESTION_MESSAGE ;elsetryps =con .prepareStatementinsert into student values.,.,.,.,.,.,. ;ps .setString1,Sno ;ps .setString2,Sname ;ps .setString3,sex ;ps .setString4,classno ;ps .setString5,addr ;ps .setInt6,age1 ;ps .setString7,tel_no ;JOptionPane.showMessageDialog this, 确定添加吗? , 提示信
20、息 ,JOptionPane.QUESTION_MESSAGE ;tf_xuehao.setText ;tf_xingming.setText ;tf_xingbie.setText ;tf_nianling.setText ;tf_dianhua.setText ;tf_dizhi.setText ;tf_banhao.setText ;rs =ps .executeQuery;catchSQLException sqlJOptionPane.showMessageDialog this, 添加胜利! , 提示信息 ,JOptionPane.QUESTION_MESSAGE ;ifobj=x
21、iugai/修改String no=shuru.getText.trim;Sno = tf_xuehao.getText.trim;Sname =tf_xingming.getText.trim;sex = tf_xingbie.getText.trim;age1 =Integer.parseInt tf_nianling.getText.trim;tel_no= tf_dianhua.getText.trim;addr= tf_dizhi.getText.trim;classno= tf_banhao.getText.trim;tryps =con .prepareStatementupda
22、te student set Sno=.,Sname=.,sex=.,classno=.,addr=.,age=.,tel_no=. where Sno=. ;ps .setString1,Sno ;ps .setString2,Sname ;ps .setString3,sex ;ps .setString4,classno ;ps .setString5,addr ;ps .setInt6,age1 ;ps .setString7,tel_no ;ps .setString8,no;JOptionPane.showMessageDialog this, 确定修改吗? , 提示信息 ,JOp
23、tionPane.QUESTION_MESSAGE ;tf_xuehao.setText ;tf_xingming.setText ;tf_xingbie.setText ;tf_banhao.setText ;tf_dizhi.setText ;tf_nianling.setText ;tf_dianhua.setText ;JOptionPane.showMessageDialog this, 修改胜利 ., 提示信息 ,JOptionPane.INFORMATION_MESSAGE ;rs =ps .executeQuery;rs .next;catchSQLException sqlJ
24、OptionPane.showMessageDialogComponentnull,sql.getMessage, 提示信息 ,JOptionPane.QUESTION_MESSAGE ;ifobj=shanchu/删除tryString no=shuru.getText.trim;ps =con .prepareStatementdelete from student where Sno=. ;ps .setString1,no;JOptionPane.showMessageDialog this, 确定删除吗? , 提示信息 ,JOptionPane.QUESTION_MESSAGE ;t
25、f_xuehao.setText ;tf_nianling.setText ;tf_xingming.setText ;tf_dianhua.setText ;tf_dizhi.setText ;tf_xingbie.setText ;tf_banhao.setText ;rs =ps .executeQuery;JOptionPane.showMessageDialog this, 删除胜利! , 提示信息 ,JOptionPane.INFORMATION_MESSAGE ;catchSQLException sqlexsqlex.getMessage;ifobj=qingkong/清空sh
26、uru.setText ;tf_xuehao.setText ;tf_nianling.setText ;tf_xingming.setText ;tf_dianhua.setText ;tf_dizhi.setText ;tf_xingbie.setText ;tf_banhao.setText ;主要功能:添加、删除、修改、查询同学基本信息;实现目的:对于每个新的学年都有大量的同学入录, 对同学信息的添加是必不行少的; 同时, 在经管员的日常工作过程中, 难免不显现错误; 所以对其信息修改功能也是必不行少的, 删除就是在同学开除学籍时可以使用;同时课程、老师、成果信息和同学信息操作是相同的
27、;(2)成果统计:/统计各科平均分publicString SubjectAvgString subjectString s =null;floatt = 0;this.Connect;ifsubject.equals 运算机网络 s =select avggrade from transcript where Cno=003125;tryst=this.Connect.prepareStatements;rs=st .executeQuery;while rs .nextt =rs .getFloat1; catchException ee.printStackTrace;ifsubject
28、.equals 数据库系统原理 s =select avggrade from transcript where Cno=003126;tryst=this.Connect.prepareStatements;rs=st .executeQuery;while rs .nextt =rs .getFloat1; catchException e e.printStackTrace;ifsubject.equals 多媒体技术基础 s =select avggrade from transcript where Cno=003127;tryst=this.Connect.prepareState
29、ments;rs=st .executeQuery;while rs .nextt =rs .getFloat1; catchException e e.printStackTrace;ifsubject.equals 概率论与数理统计 s =select avggrade from transcript where Cno=003128;tryst=this.Connect.prepareStatements;rs=st .executeQuery;while rs .nextt =rs .getFloat1; catchException ee.printStackTrace;return
30、Float.toStringt;/总分平均分统计publicString allAvgfloatsum = 0;intcount = 0;/st = this.Connect.prepareStatementsql;String s =select sumgrade as total from transcript;System.out .printlns=+s ;tryst=this.Connect.prepareStatements;rs=st .executeQuery;System.out .printlnrs=+ rs ;if rs .nextsum =rs .getFloattot
31、al ;System.out .printlnsum=+sum ;rs=null;st=thiss =select sumgrade from transcript where Cno=001325.Connect.prepareStatements;rs=st .executeQuery;if rs.nextrs=null;sum =sum +rs .getFloat1;s =select sumgrade from transcript where Cno=001326;st=this.Connect.prepareStatements;rs=st .executeQueryif rs.n
32、ext;rs=null;sum =sum +rs .getFloat1;s =select sumgrade from transcript where Cno=001328;st=this.Connect.prepareStatements;rs=st .executeQuery;if rs .nextrs=null;sum =sum +rs .getFloat1;s =select countdistinct Sno from transcript;strs=this.Connect.prepareStatements;st .executeQuery;if rs .nextcount =
33、rs .getInt1; catchException ee.printStackTrace;ifcount = 0 return0;elsesum = sum/count;returnFloat.toStringsum;/获得各科的分数段人数publicintgethighString subject,intgrade/总的人数intnum = 0;String s =null;this.Connect;ifsubject.equals 运算机网络 ifgrade = 60s =select countsno from transcript a,course b where grade 60
34、 and a.Cno=b.Cno and Cname=运算机网络 ;ifgrade = 70s =select countsno from transcript a,course b wheregrade =60 and a.Cno=b.Cno and Cname=运算机网络 ;ifgrade = 80s =select countsno from transcript a,course b wheregrade =70 and a.Cno=b.Cno and Cname=运算机网络 ;ifgrade = 90s =select countsno from transcript a,cours
35、e b wheregrade =80 and a.Cno=b.Cno and Cname=运算机网络 ;ifgrade = 100s =select countsno from transcript a,course b wheregrade =90 and a.Cno=b.Cno and Cname=运算机网络 ;tryst=this.Connect.prepareStatements;rs=st .executeQuery;while rs .nextnum=rs .getInt1; catchException e e.printStackTrace;ifsubject.equals 数
36、据库系统原理 ifgrade = 60s =select countsno from transcript a,course b where grade 60 and a.Cno=b.Cno and Cname=数据库系统原理 ;ifgrade = 70s =select countsno from transcript a,course b wheregrade =60 and a.Cno=b.Cno and Cname=数据库系统原理 ;ifgrade = 80s =select countsno from transcript a,course b wheregrade =70 and
37、a.Cno=b.Cno and Cname=数据库系统原理 ;ifgrade = 90s =select countsno from transcript a,course b wheregrade =80 and a.Cno=b.Cno and Cname=数据库系统原理;ifgrade = 100s =select countsno from transcript a,course b wheregrade =90 and a.Cno=b.Cno and Cname=数据库系统原理 ;tryst=this.Connect.prepareStatements;rs=st .executeQuery;while rs .