基于java的学生选课系统

基于java的学生选课系统

ID:844011

大小:404.54 KB

页数:26页

时间:2017-09-19

上传者:^_^
基于java的学生选课系统_第1页
基于java的学生选课系统_第2页
基于java的学生选课系统_第3页
基于java的学生选课系统_第4页
基于java的学生选课系统_第5页
资源描述:

《基于java的学生选课系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

成绩:课程设计(Java程序设计)题目基于Java的学生选课系统学院计算机与软件学院专业计算机科学与技术学号、姓名指导教师二○一四年十二月十八日基于Java的学生选课系统 摘要:课程管理系统是一个学校中不可缺少的部分。课程管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式对课程进行查询、更新、选课等,这种管理方式存在着许多缺点,如:效率低、执行速度慢。另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、成本低、效率高等。这些优点能够极大地提高学生选课系统的效率,也是企业、学校的科学化、正规化管理和与世界接轨的重要条件。因此,开发这样一套管理系统已成为有必要的事情。JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。本文中介绍了用JAVA语言实现课程管理系统的全部过程。关键词:课程管理,Java,Eclipse,SQL,JDBC 目录第一章前言11.1选课背景及意义11.2学生选课系统的发展和研究现状11.3各章节内容简介2第二章Java语言以及开发工具22.1Java的背景知识介绍22.1.1Java的起源22.1.2Java的特点22.2Java的开发工具3第三章学生选课系统的需求分析43.1学生选课系统功能分析43.2学生选课系统总体设计43.3学生选课系统数据库需求分析53.3.1用户登陆53.3.2学生登陆53.3.3数据库的构建5第四章学生选课系统的实现64.1学生选课系统程序及注释64.2系统运行环境144.3学生选课系统运行截图154.3.1登陆页面(起始页)154.3.2学生操作界面16第五章系统测试与维护195.1程序测试的目的195.2程序测试的意义195.3程序测试的原则195.4程序测试的流程20第六章总结与展望21参考文献21 第一章前言1.1选题背景及意义随着计算机技术和网络通讯技术的飞速发展,现在国内有很多大学的选课方式由传统的选择方式转变成了网上选课,学生可以在网上选择规定范围内的课程,并且可以在网上查询成绩。无需自己去老师那一门一门查,了解自己已得多少学分还需多少学分,既节省了学生的时间,又便于学校的管理。网上选课系统为同学提供了一个自由选择的平台,学生可以选修规定范围内的课程,查看已修学分总数,还可以修改个人信息。本系统也为教师提供了很大的方便,教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。本系统方便了学生的选课,同时便于管理,减少大量的人力资源。并且促进了学生的积极性,近而开发了网上选课系统。1.2学生选课系统的发展和研究现状进入21世纪以来,国内各高校都在积极推动教育体制的改革,为培养更为优秀的新世纪复合型人才做出努力。然而在80年代以前,计算机还没有在国内普及各高校学生选课都是手工完成,不仅教师的工作量大,而且学生查询和检索时也很麻烦。80年代后期,少数高校开始实行学年学分制,学生有了一定程度的选课自由。学生在学校只需要修满学分就可以毕业,并且可以根据自己的喜好选择科目。并且随着PC机的普及,有些高校已经开始应用电脑进行日常管理工作。这时,学生选课系统诞生了。但是,这些系统大多是基于DOS或者WINDOWS的单机版本,不仅界面不友好,而且功能薄弱。各科系之间的数据交流只能借助软盘为中介,费时费力。随着高校的规模扩大,教育体制改革的深化,这类系统已经不能适应管理上的要求。90年代后期以来,各高校纷纷建立自己的高速校园网:在技术上,客户机/服务器体系结构已经非常成熟,同时浏览器/服务器体系结构正在兴起,这些都为创建大型的学生选课系统创造了条件,满足了数据集中存放,管理运作分布执行的需求。中心数据库存放学生选课系统的相关数据,管理人员通过网络访问数据库进行业务管理;学生和任课教师可以通过浏览器查询相关数据。目前国内各高校均有自己的选课系统。21 1.3各章内容简介本论文在第一章介绍了学生选课系统的研究意义以及研究现状,突出本系统研究的必要性;第二章介绍Java语言和它的开发工具,以说明选择Java的好处;第三章进行学生选课系统的需求分析,以使系统的模块更加清楚;第四章介绍本系统各模块的功能以及它们的结构图,还有具体程序和注释以及运行结果截图;第五章是介绍了程序测试的目的、意义、原则、流程,以使每一步程序的功能清晰地跃然纸上;第六章对学生选课系统进行了总结以及对前景作了展望,使系统更加完美。第二章Java语言以及开发工具有了系统制作的必要性接下来是选择开发语言和工具,由于选择的Java制作,座椅本章节将对Java进行介绍以说明选择它进行学生选课系统开发的理由,并介绍几种Java的开发工具。2.1Java背景知识介绍2.1.1Java的起源1991年四月份,Sun的绿色计划开始着手于发展消费性电子产品,所使用的语言是C、C++、及Oak(为Java语言的前身),后因语言本身和市场的问题,使得消费性电子产品的发展无法达到当初预期的目标,再加上网络的兴起,绿色计划也因此而改变发展的方向,这已是1994年了。而这一次的改变,就是Java诞生的契机。而Java这个名字不是由几个单词的首字所组成,而是从许多程序设计师钟爱的热腾腾、香浓咖啡中产生灵感的。2.1.2Java的特点Sun是要Java成为一个简单(Simple)、面向对象对象的(ObjectOriented)、分布式的(Distributed)、解释的(Interpreted)、健壮的(Robust)、安全的(Secure)、结构中立的(ArchitectureNeutral)、可移植的(Portable)、高效能的(HighPerformance)、多线程的(Multithreaded)、动态的(Dynamic)的程序语言。面向对象的思想是Java语言的重要指导思想,最主要的重点是即将要用Java编写的程序,其次才是所需要的工具;最近的即插即用(PlugandPlay)亦是面向对象设计的重点。Java与C/C++最大不同点是Java有一个指针模型(PointerModel)来排除内存被覆盖(OverwritingMemory)和毁损数据(CorruptingData)的可能性。总的来说Java有以下特点:21 结构中立的(ArchitectureNeutral):一般而言,网络是由很多不同机型的机器所组合而成的,CPU和作业系统体系结构均有所不同;因此,如火如荼使一个应用程序可以在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标文件格式(ObjectFileFormat);这使得编译码得以在很多种处理器中执行。可移植的(Portable):原始资料形式的大小是被指定的,例如“float”一直是表示一个32位元IEEE754浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于系统的一部分,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。解释的(Interpreted):Java解释器能直接地在任何机器上执行Java位元码(Bytecodes),因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。高效能的(HighPerformance):Java位元码迅速地能被转换成机器码(MachineCode),从位元码转换到机器码的效能几乎与C于与C++没有分别。多线程的(Multithreaded):Java语言具有多线程的功能,这对于交互回应能力及即时执行行为是有帮助的。动态的(Dynamic):Java比C或C++语言更具有动态性,更能适应时刻在变的环境,Java不会因程序库的更新,而必须重新编译程序。正如上文所述,Java是一种成熟的语言又有其他语言所不具有的特点,所以本系统采用Java编程实现。2.2Java的开发工具现在常用的Java项目开发环境有:JBuilder、VisualAgeforJava、ForteforJava、VisualCafe、Eclipse、NetBeansIDE、JCreator+J2SDK、jdk+记事本、EditPlus+J2SDK等等。一般开发J2EE项目时都需要安装各公司的应用服务器(中间件)和相应的开发工具,在使用这些开发工具之前,我们最好能熟知这些软件的优点和缺点,以便根据实际情况选择应用。编程工具只是工具,为了方便人们工作而开发的,各有特点,本次学生选课系统我们选择了Ecilpse,下面对其进行介绍。EClipse是一种可扩展的开放源代码IDE。2010年11月,IBM公司捐出价值4000万美元的源代码组建了EClipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发\构建和调试”21 的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了EClipse平台。EClipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。EClipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的一直接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java类的描述。任何EClipse插件定义的扩展点都能够被其他插件使用,反之,任何EClipse插件也可以遵从其他插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如火如和被使用。利用EClipse,可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用EClipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于EClipse并不了解开发语言,所以无论Java语言调试器、还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。EClipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台。EClipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。这是一款非常受欢迎的Java开发工具,这国内的用户越来越多,实际上使用它Java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来比较困难。第三章学生选课系统的需求分析在选择了开发工具后将对系统进行需求分析,以确保程序的结构清晰明朗,所以本章节将对学生选课系统的功能和结构进行分析,以及数据库的构建进行简单说明。3.1学生选课系统功能分析选课系统的核心是选课功能。学生在选课以前,必须通过系统的身份验证后,然后就可以选定自己的选修课程。当然,学生也能删除选错或者误选的课程。另外,选课系统还提供了课程查看功能。3.2学生选课系统总体设计21 用户登陆课程模块学生模块删除课程查询课程编辑课程删除学生查询学生编辑学生添加课程添加学生图3-1学生选课系统总体设计图3.3学生选课系统数据库需求分析通过对学生选课系统工作内容和相关数据流程分析,根据学生选课系统的需要,以及系统功能设计的要求以及功能模块的划分,就可以设计出满足用户需求的各种实体。该系统由登陆模块、学生模块两部分组成,其功能如下。3.3.1用户登陆登陆模块包括用户名、密码的输入框,当用户名或密码输入错误时系统会报错。3.3.2学生登陆学生登陆后就可依次输入所要选的课程的课程ID、课程名、学时、学分、学期、性质,提交便可选课成功,但是如果选课人数已满,那么选课便不会成功,成功的页面会提示还剩多少人可选这门课程。3.3.3数据库的构建21 对于学生选课系统数据库,可以列出以下数据项和数据结构:学生信息:学号、姓名课程信息:课程ID、课程名、学时、学分、学期、性质第四章学生选课系统的实现在系统的功能和结构分析完后,程序可以进行编写,本章节将对程序进行介绍,然后介绍了系统的运行环境,最后展示了程序完成后的界面截图。4.1学生选课系统程序及注释publicclassStudentChooseCourseextendsJFrameimplementsActionListener{JTextFieldjtfSearch=newJTextField(11);String[]columnNames=newString[]{"课程ID","课程名","学时","学分","学期","性质"};DefaultTableModeldtmSearch=newDefaultTableModel(columnNames,27);JTablejtSearch=newJTable(dtmSearch);JScrollPanejspSearch=newJScrollPane(jtSearch);JComboBoxjcbSearch=newJComboBox();JTextFieldjtfSelectedCourse=newJTextField(10);Connectioncon=null;PreparedStatementps=null;ResultSetrs=null;privatestaticStringusrName;privatestaticStringpasswrd;//在构造方法中添加两个参数。以便在"提交"时,将学生的身份连同所选的课程,一同记录在学生选课表中。publicStudentChooseCourse(StringusrName,Stringpasswrd){createSearchCourse();21 this.usrName=usrName;this.passwrd=passwrd;}publicStringgetUsrName(){returnusrName;}publicvoidsetUsrName(StringusrName){this.usrName=usrName;}publicStringgetPasswrd(){returnpasswrd;}publicvoidsetPasswrd(Stringpasswrd){this.passwrd=passwrd;}//根据用户的时间,做出相应的反映publicvoidactionPerformed(ActionEvente){Stringstr=e.getActionCommand();//清空结果显示区中的内容,如果有的话。if("查询".trim().equals(str)){intk=1;while(k<10){for(inti=1;i<7;i++){jtSearch.setValueAt(null,k-1,i-1);}k++;}21 //调用下面的这个方法,在数据库中进行查找,并将结果显示在表格中。searchAvailableCourse();}elseif("提交".equals(str)){//processBeforeCommit()对用户选课操作进行有效性检验;//剔除无效操作:如输入无效的课程号,或已经选择了某一课程,已经选满的6学分等各种情况booleaneffect=processBeforeCommit();//如果课程存在,且该学生具有选择该课程的资格,即effect为true,进入正式提交程序(tryCommit())if(effect==true){tryCommit();}}}//对用户选课操作进行有效性检验;publicbooleanprocessBeforeCommit(){//清空原结果显示区中的内容,如果有的话。intk=1;while(k<10){for(inti=1;i<7;i++){jtSearch.setValueAt(null,k-1,i-1);}k++;}//取得用户输入的课程号StringuserInput=jtfSelectedCourse.getText().toString().trim().toLowerCase();//无效操作1:在数据库中的coursexx表中查询该课程号。如果不存在该课程,给出提示。Stringsql="selectcnofromcoursexxwherecno=?";booleanflagCourseExist=false;try{ps=con.prepareStatement(sql);21 ps.setString(1,userInput);rs=ps.executeQuery();flagCourseExist=rs.next();}catch(ExceptioneC){eC.printStackTrace();}if(!flagCourseExist){JOptionPane.showMessageDialog(null,"该课程不存在,请重新输入");returnfalse;}//判断该学生选修课已选课程的总学分是否小于6;//无效操作2:如果已有选课记录,并且总学分大于6学分,该学生不能在选了。PreparedStatementps=null;sql="selectsum(grade)"+"from(selectx.sname,x.cno,k.gradegrade"+"fromcoursexxkjoinchoicesxxx"+"onk.cno=x.cnoandx.sname=?)result";Stringgrade=null;try{ps=con.prepareStatement(sql);ps.setString(1,usrName);rs=ps.executeQuery();while(rs.next()){grade=rs.getString(1);if(grade==null){grade="0";}}}catch(Exceptionrrr){rrr.printStackTrace();}System.out.println("总学分:"+grade);21 if(Integer.parseInt(grade)>6){JOptionPane.showMessageDialog(null,"你已经选满6学分,系统将退出");this.setVisible(false);returnfalse;}//无效操作3:课程该学生已经选择了某课程,则不能再选该课程了。sql="select*fromchoicesxxwheresname=?andcno=?";booleanflag=false;try{ps=con.prepareStatement(sql);ps.setString(1,this.getUsrName());ps.setString(2,userInput);rs=ps.executeQuery();flag=rs.next();}catch(Exceptioneaa){eaa.printStackTrace();}if(flag){JOptionPane.showMessageDialog(null,"你已经选择了该课程。请另选课程");returnfalse;}//如果以上无效操作都不存在,则返回true,意为这是一个准有效操作returntrue;}//对有效的提交操作的进行处理publicvoidtryCommit(){//userInput为用户输入的课程ID.StringuserInput=jtfSelectedCourse.getText().toString().trim().toLowerCase();//ifcoursestillavailable(count0){//savestudentIdandcourseIdtostudent-coursetable.//this.getUsrName();userInputsql="insertintochoicesxxvalues(?,?)";ps=con.prepareStatement(sql);ps.setString(1,this.getUsrName());ps.setString(2,userInput);ps.executeUpdate();JOptionPane.showMessageDialog(null,"选课成功:"+this.getUsrName()+"选了"+userInput+"."+""+"还有"+RemainedCount+"人可以选该课程。");//更新课程中已选该课程的人数:即将可选该课程的人数减去1个人。sql="updateCourseXXsetselectedCount=selectedCount+1wherecno=?";ps=con.prepareStatement(sql);ps.setString(1,userInput);21 ps.executeUpdate();con.commit();//如果该课程已经没有选择名额,提示重新选课}}catch(Exceptiones){es.printStackTrace();try{con.rollback();}catch(Exceptioney){ey.printStackTrace();}}}//对用户查询课程信息,进行处理,并显示查询结果publicvoidsearchAvailableCourse(){//让程序自动选择连接的是Oracle或SqlServer.if(JDBCUtil.getConnection()!=null){System.out.println(JDBCUtil.getConnection());con=JDBCUtil.getConnection();}else{con=JDBCUtil.getConnection();}//userInput取得用户输入的信息,selectedItem取得用户选择的查询方式StringuserInput=jtfSearch.getText().toString().trim().toLowerCase();StringselectedItem=jcbSearch.getSelectedItem().toString().trim();System.out.println("Usersearch:"+userInput);System.out.println("selectedItem:"+selectedItem);Stringsql=null;//按用户查询方式,如按课程名,课程ID或学时的查询进行处理;并在表格中实现结果try{if("课程名".equals(selectedItem)){21 sql="selectcno,cname,hour,grade,term,isNeedfromCourseXXwherecname=?";ps=con.prepareStatement(sql);ps.setString(1,userInput);}elseif("课程ID".equals(selectedItem)){sql="selectcno,cname,hour,grade,term,isNeedfromCourseXXwherecno=?";ps=con.prepareStatement(sql);ps.setString(1,userInput);}elseif("学时".equals(selectedItem)){sql="selectcno,cname,hour,grade,term,isNeedfromCourseXXwherehour=?";ps=con.prepareStatement(sql);ps.setInt(1,Integer.parseInt(userInput));}elseif("学分".equals(selectedItem)){sql="selectcno,cname,hour,grade,term,isNeedfromCourseXXwheregrade=?";ps=con.prepareStatement(sql);ps.setInt(1,Integer.parseInt(userInput));}elseif("学期".equals(selectedItem)){sql="selectcno,cname,hour,grade,term,isNeedfromCourseXXwhereterm=?";ps=con.prepareStatement(sql);ps.setString(1,userInput);}System.out.println(sql);rs=ps.executeQuery();con.commit();ResultSetMetaDatameta=rs.getMetaData();intcols=meta.getColumnCount();Stringresult=null;intk=1;booleanflag=false;//将查询结果以表格的形式显示出来while(rs.next()){for(inti=1;i<=cols;i++){result=rs.getString(i);21 System.out.println(result);jtSearch.setValueAt(result,k-1,i-1);}k++;flag=true;}//如果查询结果集为空,提示用户没有该课程if(flag==false){JOptionPane.showMessageDialog(null,"该课程不存在,请重新输入");return;}}catch(Exceptionex){ex.printStackTrace();try{con.rollback();}catch(Exceptioner){er.printStackTrace();}}}//当某学生有效登录后,启动程序(将学生的登录信息也传过来,以便保存选课操作时使用)publicstaticvoidmain(String[]args){//StringusrName="xuliang";//Stringpasswrd="123";newStudentChooseCourse(usrName,passwrd);}}4.2系统运行环境由于本系统开发时用到SQL2012数据库、SQLJDBC、JDK1.7、Eclipse,故其运行需要一定的系统环境。解压下载好的JDBC至D:迅雷下载21 sqljdbc_4.0.2206.100_chssqljdbc_4.0以及SQL2012至C:Program FilesMicrosoft SQL Server。然后要配置好环境变量,在数据库里建表,然后将Java通过JDBC连接到SQL2012等。具体操作过程参见了http://www.360doc.com/content/14/0806/02/15319145_399731507.shtml、http://www.th7.cn/Program/java/201211/113769.shtml。4.3学生选课系统运行截图4.3.1登陆页面(起始页)图4-1登陆页面截图输入用户名和密码并且选择用户类型即可登陆到相应用户类型的主界面。图4-2登陆信息错误提示截图但是如果用户名或密码错误就会跳转到如上的提示界面。21 4.3.2学生操作界面图4-3带选课界面截图登陆之后学生可以看到如上的待选课界面。21 图4-4查询课程结果截图可以选择课程ID、课程名、学时、学分、学期、性质对课程进行查询,出现如上界面。21 图4-5选课过程截图依次输入所要选的课程的课程ID、课程名、学时、学分、学期、性质之后,检查确认无误之后提交。图4-6选课成功提示界面截图21 提交之后便可看到如上的选课成功的提示界面,同时还提示还有多少人可以选择这门课程。图4-7重复选课提示界面截图如果重复选择了会出现如上界面提示学生已经选择了该课程图4-8选满学分提示界面截图学生只能选择六个学分的课程,如果多于六个学分系统将出现如上的提示界面,并且自动退出。第五章系统测试与维护管理信息系统在完成研究开发、投入正常运行之后,就进入了系统测试与维护阶段。基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。一般信息系统的使用寿命短则4-5年,长则可达10年以上,在信息系统的整个使用寿命中,都将伴随着系统维护工作的进行。系统维护的目的是要保证管理信息系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。因此,系统维护的任务就是要有计划、有组织地对系统进行必要的改动,以保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。21 5.1程序测试的目的程序测试时为了发现错误而执行的过程,或者说程序测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例去运行程序,以发现错误的过程。应尽早并且不断地进行测试。测试不是在应用系统开发完之后才进行的。由于原始问题的复杂性、开发各阶段的多样性以及参加人员之间的协调等因素,使得开发各个阶段都有可能出现错误。因此,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期的输出结果。将实际输出结果与预期结果相比较就能发现测试对象是否正确。总之,程序测试就是为了发现错误进而改正错误,以最少的时间和人力系统地找出软件中潜在的错误。5.2程序测试的意义在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。5.3程序测试的原则(1)应当尽早地和不断地进行软件的测试。(2)测试用例应由输入数据和之对应的预期结果这两部分组成。(3)程序员应避免测试自己的程序。(4)在设计测试用例时,应当包含合理的输入条件和不合理的输入条件。(5)充分注意测试中的群集现象。(6)妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。21 5.4程序测试的流程测试流程如图5-1所示,本系统经过详细的测试后性能及功能方面良好,通过测试。软件配置排错测试结果分析测试结果错误改正的软件测试配置预出期错测试工具结率果数据可靠性分析预测的可靠性图5-1程序测试流程图第六章总结与展望Java的出现对于学生选课乃至教务管理乃至教务系统的发展有重大的意义,它致力于创建一个通用的平台,以简单而有效的方式构建特定的分布式服务与应用,使得开发者不需要过多的考虑如何解决对等计算的技术问题,从而专注于如何实现与完善具有良好扩展性和简装性以及经济实用的应用,这一点对于高校来说极为重要,可以使它们节省许多经费。Java自诞生以来,无论在技术研究的深度和应用的广度都有飞速的发展,目前Java的社区已经有百家以上,参与研究的人员分布于世界各地。Java的日趋成熟为开发相应的软件提供了一个通用和稳定的技术平台。由于能力有限,此学生系统实现了用户权限分治、操作分离;数据库的插入、查询、更新、删除;并且通过Servlet连接JSP同JavaBean的通信以及JavaBean对数据库的封装增加了数据库和用户访问的安全性,达到了一个基本数据库系统的要求,但是还是有很多缺陷。对于以后的发展,可以对以下几个方面进行改进;提供教师、管理员的操作、数据库的日志管理、备份和恢复。参考文献【1】www.sun.java.com.cn【2】www.programsalon.com21 【3】www.yesky.com/SoftChannel/【4】《JAVA的核心技术:面向对象编程》古新生西安交通大学出版社【5】《JAVA编程思想》BruceEckel机械工业出版社【6】《面向对象软件工程Object-OrientedSoftwareEngineering》TimothyC.LethbridgeRobertLaganiere机械工业出版社【7】《JAVA程序设计》严悍高等教育【8】http://www.360doc.com/content/14/0806/02/15319145_399731507.shtml【9】http://www.th7.cn/Program/java/201211/113769.shtml21

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭