版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java课程设计报告题目:学生信息管理系统学生姓名:学号:专业班级:同组姓名:指导教师:设计时间:指导老师意见:评定成绩:签名:日期:目录一、系统的描述 3二、系统分析与设计 41.系统总框图 42.各模块功能介绍 6三、数据库结构设计 51.建立时间信息数据库 52.数据库分析 6四、管理系统主界面设计开发 9五、系统测试 211.个人信息功能测试 222.选课信息功能测试 233.奖励信息功能测试 244职务信息功能测试 25六、小结 26七、参考文献 271.系统描述(1)系统设计的意义随着学校规模的扩大,学生人数急剧增加,需要管理的信息也成倍增加,同时,由于计算机和网络的普及,建立一个计算机管理系统,学生便可以通过网络来选课并管理自己的信息。(2)系统功能描述学生信息管理系统用模块话设计的方法,使得学生信息管理工作系统化、自动化、规范化,大大提高了学校管理学生的效率。(3)系统开发设计思想尽量采用学校现有的软硬件环境以及先进的管理系统方案,从而达到充分利用学校资源、提高系统开发水平和应用效果的目的。系统应符合学校系统管理系统的规定,满足学校对学生信息管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计的方法,既便于系统功能的组合和修改,又便于未参与系统开发的人员补充和维护。系统应具有数据库维护功能,及时根据用户的要求对数据进行添加、删除、修改、备份等要操作。2、系统分析与设计1、系统总框图根据学生信息管理的的总框架,管理信息系统的总框架如下图。学生信息信息管理的总界面由个人信息,选课信息,奖惩信息,职务信息组成。1、系统总框图学生信息管理系统学生信息管理系统基本信息奖励信息退出系统查询信息增加信息增加信息查询信息修改信息修改信息增加信息查询信息查询信息修改信息修改信息增加信息职务信息选课信息基本信息奖励信息退出系统查询信息增加信息增加信息查询信息修改信息修改信息增加信息查询信息查询信息修改信息修改信息增加信息职务信息选课信息图1学生信息管理系统框架图2、各模块功能介绍1个人基本信息管理:管理员和学生都可以登陆,管理员所实现的功能有个人信息的查询,输入,修改和删除,学生用户可以实现查询和修改的功能,但不能增加和删除学生用户。选课信息管理:管理员和学生都可以登陆,管理员所实现的功能有选课信息的查询和修改功能,学生生用户只能查询自己的选修的课程的修改和查询功能。奖励信息管理:管理员和学生都可以登陆,管理员所实现的功能有个人信息的查询,修改和删除和增加功能,学生用户只能实现查询功能。登陆系统采购员登陆登陆系统采购员登陆销售员登陆经理登陆查询、修改和增加本人信息查询商品性质订购商品查询、修改和增加本人信息增加、修改和查询订单查询商品信息查询本人的工作进度查询、修改和增加本人信息查询本人工作进度查询商品信息查询、修改和增加本人信息查询商品信息查询员工及本人的工作进度用户管理员登陆查询和修改用户信息删除用户信息管理商品信息退出系统3.数据库结构设计1.建立时间信息数据库在这个学生信息管理系统的开发中,我们选用SQLServer2000作为系统服务数据库。(1)设置数据表的的列名、数据类型等,如下图所示:数据表设计(2)设置数据表名称,如图:2.数据库分析数据库需求分析是数据库结构设计的第一个阶段,是非常重要的的一个阶段。在这个阶主要是收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后的进一步设计打下基础。在仔细分析和调查学生信息管理过程的基础上,可以得到本系统的的数据流程图,如图所示。在此次程序设计中,通过对学生信息管理的内容和数据流程的分析而设计的数据项和数据结构如下所示:(1)学生个人信息记录:学号、姓名、班级、性别、生日、联系电话、联系地址。(2)班级信息记录:班级编号、班级名称、所属院系、班主任、辅导员。(3)学生课程信息记录:记录号、学号、姓名、所选课程编号。(4)课程设置记录:课程编号、课程名、学时、学分、任课老师、上课地点。(5)学生奖励记录:记录号、学号、姓名、获奖时间、奖励名称、具体描述。(6)学生职务记录:记录号、学号、姓名、任职时间、职务名称、具体描述。学生信息管理数据流程图
有了上面的数据结构、数据项和数据流程图,就能进行数据库设计了。在对数据项和结构分析的基础上可以形成数据库中的表格以及个人信息表、学生所选课程信息表、学生奖励信息学生职务信息表。为了数据记录实例的完整,系统中包括了应用程序序中所需的一个外部数据表:学生班级信息表。总共需5个表,其结构分别如表1至表5所示。表1学生个人信息表的结构字段名字段类型可否为空说明Student-IDIntNOTNULL学生学号(关键字)Student-NameChar(10)NOTNULL学生姓名Student-ClassVarcharNOTNULL学生所在班级Student-SexVarcharNOTNULL学生性别Student-BirthdaydatetimeNULL学生生日Student-TelVarcharNULL联系电话Student-AddressvarcharNULL联系地址表2学生所选课程表字段名数据类型可否为空说明Count-IDIntNOTNULL记录号(主键字)Course-IDIntNOTNULL学生学号Course-NameChar(10)NOTNULL学生姓名Course-NoIntNOTNULL所选课程编号(外部关键字)表3学生奖励信息表字段名字段类型可否为空说明Gcheck-IDIntNOTNULL记录号(主关键字)Gcheck-NoIntNOTNULL学生学号Gcheck-NameChar(10)NOTNULL学生姓名Gcheck-TimedaratimeNOTNULL获奖时间Gcheck-TitleChar(30)NOTNULL获奖内容Gcheck-DiscChar(50)NULL获奖具体描述表4学生职务信息表字段名字段类型可否为空说明Bcheck-IDIntNOTNULL记录号(主关键字)Bcheck-NoIntNOTNULL学生学号Bcheck-NameChar(10)NOTNULL学生姓名Bcheck-TimedaratimeNOTNULL任职时间Bcheck-TitleChar(30)NOTNULL职务内容Bcheck-DiscChar(50)NULL职务具体描述表5学生班级信息表字段名字段类型可否为空说明Class-IDIntNOTNULL学校班级编号(主关键字,外部关键字student-class)Class-NameChar(10)NOTNULL班级名称Class-DepVarcharNOTNULL学生所属学院Class-TeacherVarcharNOTNULL班主任Class-AssitantdatetimeNULL辅导员至此一个完整的学生信息管理系统数据库的基本结构就创建完成了。四、管理系统主界面设计开发管理系统主界面主要包括系统管理标志、“选课信息管理”按钮、“奖励信息管理”按钮、“个人信息管理”按钮、“职务信息管理”按钮和“退出系统”按钮,在这个界面中处理的主要按钮是事件。主要代码:packagestumanage;importjavax.swing.*;importjava.awt.*;importsun.awt.image.*;importjava.awt.event.*;/***<p>Title:</p>*<p>Description:</p>*<p>Copyright:Copyright(c)2003</p>*<p>Company:</p>*@authornotattributable*@version1.0*/publicclassWelcomeFrameextendsJFrame{JPaneljPanel1=newMyPanel();ImageIconimageIcon1=newImageIcon("beautiful.jpg");BorderLayoutborderLayout1=newBorderLayout();JPaneljPanel2=newJPanel();GridBagLayoutgridBagLayout1=newGridBagLayout();JButtonjButton1=newJButton();JButtonjButton2=newJButton();JButtonjButton3=newJButton();JButtonjButton4=newJButton();JButtonjButton5=newJButton();publicWelcomeFrame(){try{jbInit();}catch(Exceptione){e.printStackTrace();}}publicstaticvoidmain(String[]args){WelcomeFramewelcomeFrame=newWelcomeFrame();welcomeFrame.pack();welcomeFrame.show();}privatevoidjbInit()throwsException{imageIcon1.setDescription("beautiful.jpg");imageIcon1.setImageObserver(this);jPanel1.setLayout(borderLayout1);jPanel1.setMinimumSize(newDimension(600,400));jPanel1.setPreferredSize(newDimension(600,420));this.setLocale(java.util.Locale.getDefault());this.setResizable(true);this.setSize(newDimension(747,396));this.setState(Frame.NORMAL);jPanel2.setBackground(UIManager.getColor("RadioButtonMenuItem.selectionBackground"));jPanel2.setForeground(Color.black);jPanel2.setMinimumSize(newDimension(100,30));jPanel2.setPreferredSize(newDimension(100,400));jPanel2.setLayout(gridBagLayout1);jButton1.setToolTipText("个人信息管理");jButton1.setText("个人信息管理");jButton1.addActionListener(newWelcomeFrame_jButton1_actionAdapter(this));jButton2.setToolTipText("选课信息管理");jButton2.setText("选课信息管理");jButton2.addActionListener(newWelcomeFrame_jButton2_actionAdapter(this));jButton3.setToolTipText("奖励信息管理");jButton3.setText("奖励信息管理");jButton3.addActionListener(newWelcomeFrame_jButton3_actionAdapter(this));jButton4.setToolTipText("职务信息管理");jButton4.setText("职务信息管理");jButton4.addActionListener(newWelcomeFrame_jButton4_actionAdapter(this));jButton5.setToolTipText("退出系统");jButton5.setText("退出系统");jButton5.addActionListener(newWelcomeFrame_jButton5_actionAdapter(this));this.getContentPane().add(jPanel1,BorderLayout.CENTER);jPanel1.add(jPanel2,BorderLayout.EAST);jPanel2.add(jButton1,newGridBagConstraints(0,0,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(0,0,0,0),0,0));jPanel2.add(jButton2,newGridBagConstraints(0,1,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(9,0,0,21),0,0));jPanel2.add(jButton3,newGridBagConstraints(0,2,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(10,0,0,10),0,0));jPanel2.add(jButton5,newGridBagConstraints(0,4,2,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(0,0,0,11),21,0));jPanel2.add(jButton4,newGridBagConstraints(0,3,1,1,0.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(9,0,13,0),12,0));}classMyPanelextendsJPanel{publicvoidpaintComponent(Graphicsg){super.paintComponent(g);imageIcon1.paintIcon(this,g,0,0);}}voidjButton4_actionPerformed(ActionEvente){MainFrame.main(null);this.hide();MainFrame.jTabbedPane1.setSelectedComponent(MainFrame.jPanel4);}voidjButton1_actionPerformed(ActionEvente){MainFrame.main(null);this.hide();}voidjButton3_actionPerformed(ActionEvente){MainFrame.main(null);this.hide();MainFrame.jTabbedPane1.setSelectedComponent(MainFrame.jPanel3);}voidjButton2_actionPerformed(ActionEvente){MainFrame.main(null);this.hide();MainFrame.jTabbedPane1.setSelectedComponent(MainFrame.jPanel2);}voidjButton5_actionPerformed(ActionEvente){System.exit(0);}}classWelcomeFrame_jButton4_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton4_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton4_actionPerformed(e);}}classWelcomeFrame_jButton1_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton1_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton1_actionPerformed(e);}}classWelcomeFrame_jButton3_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton3_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton3_actionPerformed(e);}}classWelcomeFrame_jButton2_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton2_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton2_actionPerformed(e);}}classWelcomeFrame_jButton5_actionAdapterimplementsjava.awt.event.ActionListener{WelcomeFrameadaptee;WelcomeFrame_jButton5_actionAdapter(WelcomeFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){adaptee.jButton5_actionPerformed(e);}}“奖励信息管理”按钮的处理代码如下:queryDataSet1.setColumns(newColumn[]{column1,column2,column3,column4,column5,column6});jdbTable2.setDataSet(queryDataSet1);jdbTable2.setEditable(false);column7.setCaption("学生姓名");column7.setColumnName("course_name");column7.setDataType(com.borland.dx.dataset.Variant.STRING);column7.setPrecision(50);column7.setSchemaName("dbo");column7.setTableName("student_course");column7.setWidth(10);column7.setServerColumnName("course_name");column7.setSqlType(12);jLabel14.setText("学号:");jLabel15.setText("性别:");jLabel16.setRequestFocusEnabled(true);jLabel16.setText("姓名:");jLabel17.setText("班级:");jPanel3.setLayout(borderLayout7);jPanel15.setMinimumSize(newDimension(200,100));jPanel15.setPreferredSize(newDimension(200,250));jPanel15.setLayout(borderLayout8);jPanel14.setLayout(borderLayout9);jPanel14.setMinimumSize(newDimension(300,50));jPanel14.setPreferredSize(newDimension(300,50));jPanel14.setVerifyInputWhenFocusTarget(true);jPanel13.setPreferredSize(newDimension(404,40));jPanel16.setPreferredSize(newDimension(280,10));jPanel16.setLayout(gridBagLayout1);jLabel18.setText("获奖时间:");jLabel19.setText("获奖名称:");jdbTextField1.setText("jdbTextField1");jdbTextField1.setColumnName("gcheck_time");jdbTextField1.setDataSet(qSet_jiangli);jdbTextField2.setText("jdbTextField2");jdbTextField2.setColumnName("gcheck_title");jdbTextField2.setDataSet(qSet_jiangli);jdbTextArea1.setText("jdbTextArea1");jdbTextArea1.setColumnName("gcheck_disc");jdbTextArea1.setDataSet(qSet_jiangli);jPanel17.setLayout(borderLayout10);jButton5.setText("增加");jButton6.setText("取消");jPanel18.setLayout(borderLayout11);borderLayout11.setVgap(10);jLabel20.setText("获奖内容具体描述:");jdbTextField3.setEnabled(true);五、系统测试本系统测试是根据实际的用户需求书而进行的系统测试,它主要分为以下两部分:系统功能测试和系统健壮性测试。1、功能测试鉴于本系统功能模块较多,决定采用分块的方式来进行功能测试,分别如下:学生管理系统主要是对学生信息进行管理,本程序可以分为两个类:WelcomeFrame类和MainFrame类。(1)WelcomeFrame类:完成学生信息管理系统画面的启动。画面由个人信息管理按钮、选课信息管理按钮、奖励信息管理按钮、职务信息管理系统按钮、退出按钮和一个系统标志图组成。完成界面布局后,再给这些按钮添加事件监听。有WelcomeFrame_jButton4_actionAdapter等5个内部类完成事件响应处理。图(1)图(1)(2)MainFrame类:完成各个子系统的功能。在MainFrame上放置4个JTabbedPane,用来在各个子系统之间进行切换。每一个JTabbedPane代表一个子系统。1)个人信息管理子系统。个人信息系统根据界面设计所需要的Label、JdbTextField、Button、JdbTable和JdbNavToolBar等。首先需要确定这些控件的数目,在JBuider的Design中生成它们,并添加事件监听,连接数据库后(在这里采用的是本地数据库服务器)。JdbNavToolBar用于翻页,浏览指定JdbTable中的信息。个人信息管理子系统对所有的学生的个人信息进行登记,其中包括学生的学号、姓名、性别、生日、地址、电话等,并且系统还能够修改输入错误的学生个人信息记录。个人信息管理子系统界面分为上下两部分。上半部分主要是一些信息输入框,还有两个按钮:一个是记录修改按钮,通过单击它来提交学生个人信息修改记录;一个记录取消按钮,单击它放弃错误的输入信息记录。下半部分负责显示所有学生的个人信息的记录。其界面设计如图2所示图(2)2)选课信息管理子系统。选课信息管理子系统根据界面设计所需要的Label、JdbTextField、Button、JdbNavToolBar等,并连接数据库。在本子系统中需要建立两个JdbTable、一个用来显示所有可选课程,另一个显示学生已选课程信息。JdbTable显示在数据库中满足输入信息的需要。选课信息管理子系统对学生所选的课程进行管理,包括学生的可选课程和个人已选课信息,并可以进行选课和退课操作。选课信息管理子系统界面分为左右两部分,左边负责显示学生所有可选课程的记录信息,右边显示当前这个学生已经选上的课程。有两个按钮:一个“选课”按钮,单击它可增加学生选课程信息的记录;一个“退课”按钮,单击它可去掉学生所选课程信息的记录,其界面设计如图3所示图(3)3)奖励信息管理子系统。奖励信息管理子系统根据界面设计所需要的Lable、JdbTextField、Button、JdbNavToolBar等,连接数据库,将奖励信息加入到数据库中。奖励信息管理子系统主要对所有学生的获奖信息进行登记,包括获奖时间、获奖的名称、获奖内容的具体信息,并可以取消输入错误的学生奖励信息。奖励信息管理子系统界面分为上下两部分,上半部分主要是一些信息输入框,负责显示所有学生的奖励信息的记录。还有两个按钮:一个是记录添加按钮,主要是提交学生奖励信息的记录;一个记录取消按钮,主要是放弃错误的输入信息记录。下半部分负责显示存入数据库的信息。其界面如图4。图(4)4)职务信息管理子系统。职务信息管理子系统根据界面设计所需要的Lable、JdbTextField、Button、JdbNavToolBar等,连接数据库,将职务信息加入到数据库中。职务信息管理子系统主要对所有学生的职务信息进行登记,包括任职的时间、职务的名称、职务的具体信息,并可以取消输入错误的学生奖励信息。职务信息管理子系统界面分为上下两部分,上半部分主要是一些信息输入框,负责显示所有学生的职务信息的记录。还有两个按钮:一个是记录添加按钮,主要是提交学生职务信息的记录;一个记录取消按钮,主要是放弃错误的输入信息记录。下半部分负责显示存入数据库的信息。六、总结经过为期一周到的java程序设计,感觉收获颇多。以前做的系统因为知识的有限,都只是一些小小的系统,这一次做的系统却感觉到了这个系统的强大,而且还和数据库连接起来了。说实话,老师要我们做在一周的时间内做一个这么强大的系统对我们来说有点困难,而且好多东西我们都学的不精,有的只是稍微涉猎过一点点,所幸的是老师给了我们案例,而且我们是四个人一组,我们可以,相互合作,这样我们才得以完成这次的程序设计。通过这次程序设计,我也深刻的体会到了合作的重要性,我感觉我们就是我们就是一个团体,我们都要认真对待,用心的投入才能做出一个好的系统。通过这次程序设计我也了解到了一个好的系统有对现实的生活有多大的作用,拿我们做的学生信息管理系统来说,通过这个系统,学生可以更方便的通过网络选择自己喜欢的课程,学校的老师和领导也可以更方便,更好的管理学生。通过这次程序设计我也体会到了课本上的知识只有真正的运用到现实中才真正是掌握了,不然都是纸上谈兵。不管我们学什么知识,我们都要学以致用,这样我们的知识才会丰富,我们才能得以充实。七、参考文献1、黄晓东.《Java课程设计案例精编(第二版)》[M].中国水利水电出版社,20082、李尊朝、苏军.《Java语言程序设计(第二版)》[M].中国铁道出版社,20113、钱雪忠、李京.《数据库原理(第2版)》[M].北京邮电大学出版社,2012labview课程设计拼图游戏仿真与设计目录TOC\o"1-3"\h\z\u1目的及基本要求 目的及基本要求熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现拼图游戏设计和仿真。要求最终实现模拟一个拼图游戏的过程,其一次正常游戏过程为:初始化游戏—>改变小图片位置—>评估小图片位置,当小图片处于正确的位置时输出提示语对话框。2拼图游戏设计原理拼图游戏是通过对乱序的小图片不断地位置完成拼图,它是广受欢迎的一种智力游戏,它的变化多端,难度不一,让人百玩不厌。个性化的拼图,拼凑的不仅仅是一张照片,而是一个故事,一段回忆,一缕温情。每一片的单片都有它自己的位置,就像每段回忆都有它的故事,你要将它放在专属的地方,放对了就慢慢丰富起来,放错了就无法完整。因此,通过while循环来判断小图片是否在正确的位置上,通过条件结构来完成初始化、评估、输出提示语等功能。3拼图游戏设计和仿真本次设计是在熟悉虚拟仪器的设计思想、图形化编程语言的原理、方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年保健按摩师模拟试卷及答案详解
- 2026年中国伤口创面敷料行业市场发展及投资前景预测报告
- 2026年团委及学生会换届试题题库及答案详解
- 房屋出租合同范本标准版(28篇)
- 废品物资出售合同范本
- 电器销购合同范本
- 工厂维护改造合同范本
- 2026华为OD面试题及详细答案(全流程完整版)
- 7S管理培训试题及详细参考答案
- 租赁野外炊具合同范本
- 2026年建筑施工企业机械类专职安全生产管理人员C1证考试题库
- 2026年红薯淀粉行业分析报告及未来发展趋势报告
- 绍兴市柯桥区卫生健康单位招聘事业人员笔试真题2025
- 《短歌行》2026年统编版高一语文必修上册
- T∕CCTAS 302-2026 高黏乳化沥青冷拌超薄磨耗层技术规范
- 2025-2030中国模块化负压病房平战结合模式与公共卫生体系建设
- 流行性感冒课件
- 柳琴介绍课件
- 施工企业双重预防体系建设实施指导图册(可编辑)
- 延迟容忍网络路由算法:从理论到实践的深度剖析
- 国际贸易贸易新业态新模式发展趋势与应对答辩
评论
0/150
提交评论