jsp503高校科研项目管理系统(jsp+sqlserver)论文_第1页
jsp503高校科研项目管理系统(jsp+sqlserver)论文_第2页
jsp503高校科研项目管理系统(jsp+sqlserver)论文_第3页
jsp503高校科研项目管理系统(jsp+sqlserver)论文_第4页
jsp503高校科研项目管理系统(jsp+sqlserver)论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE摘要科研管理信息系统要实现对研究所、高校等单位科研情况的有效管理以及对科研活动的全程跟踪。该系统为科研管理人员服务,使用方便,既能实现对科研信息的高效率管理和控制,又能满足研究所的决策者对科研活动的宏观管理与决策的需要,还能够为院对研究所的评价以及研究所对人员的评价提供依据。

科研管理信息系统是一个科研院所、高校研究所等内部管理的核心部分,包括人员档案、机构设置、项目申报、科研评估、成果管理、基金管理、科技统计、成果管理、专利管理、经费管理、报表管理等多项信息管理职能。随着计算机应用水平的提高和科研管理的规范化和制度化,建立一套适用于科研院所科研管理工作管理信息系统,已经成为各大的科研院所较为迫切的需求。本设计的开发是基于B/S结构,采用JSP程序设计语言及SQLSERVER2005数据库进行开发基于Web的高校教研项目管理系统网站;论文首先阐述了基于Web的高校教研项目管理系统的开发,并对该系统进行了较详细的需求分析;然后探讨了该系统需要实现的设计方案,该系统主要包括用户登入,公告管理,科研类型管理,科研项目管理,项目评分,项目查看,资料下载,个人信息修改等功能模块,最后在测试与分析过程中,该系统表现出了运行稳定、可靠和实用等特性,具有一定的实用价值。关键词:基于Web的高校教研项目管理系统,B/S,sqlserver2005ABSTRACTEffectivemanagementofscientificresearchmanagementinformationsystemtorealizetheresearchsituationontheResearchInstitute,universitiesandotherunitsaswellasthetracksoftheresearchactivities.Thesystemforthemanagementofscientificresearchpersonnelservice,convenientuse,canrealizetheefficientmanagementandcontroltothescientificresearchinformation,andcanmeettheneedsofthedecisionmakersofresearchactivitiesonthemacromanagementanddecision-making,butalsocanprovidesthebasisfortheevaluationoftheschoolandtheevaluationofpersonnel.Scientificresearchmanagementinformationsystemisthecorepartofascientificresearchinstitutes,universitiesandotherinternalmanagement,includingpersonnelfiles,settings,projectreporting,researchevaluation,achievementsmanagement,fundmanagement,scienceandtechnologystatistics,achievementsmanagement,patentmanagement,fundmanagement,reportmanagementandmanyotherinformationmanagementfunction.Withtheimprovementofcomputerapplicationlevelandscientificresearchmanagementstandardizedandinstitutionalized,establishasetofsuitableforscientificresearchmanagementworkmanagementinformationsystem,hasbecomeamajorresearchinstitutesmoreurgentdemand.DevelopmentofthisdesignisbasedonB/Sstructure,usingJSPprogramminglanguageandSQLSERVER2005databaseforthedevelopmentofJSPteachingandresearchprojectmanagementsystembasedonWebsites;thispaperdescribesthedevelopmentofJSPteachingandresearchprojectmanagementsystembasedon,andthesystemhascarriedonthedetaileddemandanalysis;andthendiscussesthedesignschemeofthesystemneedstoachieve,thesystemincludesuserlogin,bulletinmanagement,message,usermanagement,projectapplicationandapproval,projectapproval,projectprocessmanagement,interimauditingresearchresults,suchasfunctionmodules,finally,throughtestingandanalyzing,itshowsthissystemisstable,reliableandpracticalcharacteristics,withacertaintheutilityvalue..Keywords:SummarycourtsystemWebsite,B/S,sqlserver2005

目录ABSTRACT 2第一章绪论 11.1引言 11.2研究意义 11.3主要研究内容 1第二章开发环境与相关技术 32.1JSP技术 32.1.1JAVA简介 32.1.2JAVA简介 32.1.3MVC介绍 42.2myeclipse介绍 42.3sqlserver2005数据库 42.4B/S结构介绍 5第三章需求分析及设计 53.1原始需求 53.2系统设计 63.2.1系统功能 63.2.2系统结构 73.3数据库设计 73.3.1数据库需求分析 73.3.2数据库表结构 7第四章系统实现 104.1数据库配置 104.2登入页面 104.3项目添加页面 12第五章系统测试 165.1测试目的与目标 165.2测试方法 165.3测试结论 16第六章结论 18参考文献 19致谢 20第1页共19页第一章绪论1.1引言建立一套完善的科研管理业务系统可以极大地提高管理效率,为领导的决策提供较科学的依据。一套较完善的研究院所的科研处管理信息系统应以项目管理为中心,涵盖计划、合同、成果、专利、资金、人员、设备等方面,并可关联到办公、人事、财务、设备等其它业务系统,整个系统庞大而复杂科研活动是高校的主旋律之一,高校的科研活动日益成为反映高校综合实力的重要指标。随着学校科研投入和从事科研活动的人员的不断增加,学校高校科研管理的压力也越来越大。本项目的意义就在于通过搭建一个大型的科研处管理信息系统(以下简称系统),能够快速有效的提高学校科研管理工作的高效性、科学性和透明性,并使得科研管理工作能更好的服务于全校老师,更好的为学校领导提供科研决策支持。

系统建设和实施后,将大大提高学校科研管理工作的信息化水平,全面实现学校的网络化科研管理体系。系统将会成为联系科研活动人员和科研管理人员的纽带,也将给学校整个的信息化建设带来深远而有意义的影响。1.2研究意义建设高水平的大学,校园信息系统的建设是重要的一环,是提高教学管理的质量和效益乃至建设知名的高水平的大学的关键环节。在网络和通讯日益发达的今天,人们足不出户就可以获得信息、完成工作;实现教师办公的电脑化、网络化,也是实现学校管理现代化和信息化的重要内容。所以我们院的人事、教师、学生、科研等管理系统都正在研发和设计之中

科研信息管理系统要求实现对信息学院科研情况实现有效的管理以及对科研活动的全程跟踪,并实现与校科研处管理信息系统的数据对接。该系统为院教师以及科研管理人员服务,要求使用方便,既要实现对科研活动的高效率管理和控制,又要满足研究所的决策者对科研活动的宏观管理与决策的需要,还能够为院对研究所的评价以及研究所对人员的评价提供依据。

用于开发复杂、动态和交互式的Web站点并支持强大的数据库处理能力的Web应用程序开发语言JSP已经发展的比较成熟和完善,为本系统的开发在技术上提供了支持。建立一套完善的科研管理业务系统可以极大地提高管理效率,为领导的决策提供较科学的依据。一套较完善的研究院所的科研处管理信息系统应以项目管理为中心,涵盖计划、合同、成果、专利、资金、人员、设备等方面,并可关联到办公、人事、财务、设备等其它业务系统,整个系统庞大而复杂1.3主要研究内容本文主要是设计开发一个游基于Web的高校教研项目管理系统,首先系统基于B/S结构,采用JSP编程技术和SQLSERVER2005数据库,运用MyEclipse开发工具等进行开发。首先进行需求分析,指出了需要解决的问题,需要实现的功能,该系统主要包括用户登入,公告管理,科研类型管理,科研项目管理,项目评分,项目查看,资料下载,个人信息修改等等功能模块,详细介绍了数据库的设计,编码的实施;接着是系统测试,通过测试发现了系统的一些问题,排除了的错误,发现了一些不足等;最后是对本次设计制作的小结,总结了设计过程中遇到的问题和收获。

第二章开发环境与相关技术本系统是采用JSP编程技术和SQLSERVER2005数据库,在WindowsXP操作系统环境下,采用Myeclipse开发工具以及SSH2框架进行设计与开发完成的基于B/S结构的基于Web的高校教研项目管理系统。2.1JSP技术2.1.1JAVA简介Java语言诞生于20世纪90年代的初期,最初是以智能家电的芯片语言出现的。但是很快,人们发现了它有更广阔的用武之地,由于它适用于Internet环境,引起计算机界的广泛关注,迅速发展成计算机网络编程语言。Java语言备受推崇,因其确实可称得上是新一代编程语言,具有众多优点,它简单、面向对象、可移植、与硬件无关、系统强健安全、具有很高的性能,并提供了分布性、多线程、动态性的支持。2.1.2JAVA简介JSP(JavaServerPages)是由Sun公司在java语言上开发出来的一种动态网页制作技术,JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果,使您可以将网页中的动态部分和静态的HTML相分离。⑴将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。⑵强调可重用的组件绝大多数JSP页面信赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,井使得这些组件为更多的使用者或者客户团体所使用[6]。⑶采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在生成与JSP相关的XML标识的动态内容时所需要的。标准的JSP标识能够访问和实例化JavaBeans组件、设置或者检索组件属性、下载Applet,以及执行用其他方法更难于编码和耗时的功能。⑷健壮性与安全性由于JSP页面的内置脚本语言是基于Java编程语言的,且都被编译为JavaServlet,它就具有Java技术的所有好处,包括健壮的存储管理和安全性[7]。⑸良好的移植性作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,可以使用自己所选择的服务器和工具,而且更改工具或服务器并不影响当前的使用。⑹企业级的扩展性和性能当与Java2平台,企业版(J2EE)和EnterpriseJavaBeans技术整合时,JSP页面将提供企业级的扩展性和性能,这对于虚拟企业中部署基于Web的应用是必需的。2.1.3MVC介绍MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC是一种使用MVC(ModelViewController模型-视图-控制器)设计创建Web应用程序的模式:Model(模型)表示应用程序核心(比如数据库记录列表)。View(视图)显示数据(数据库记录)。Controller(控制器)处理输入(写入数据库记录)。MVC模式同时提供了对HTML、CSS和JavaScript的完全控制。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。MVC分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。MVC分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。2.2myeclipse介绍MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2.3sqlserver2005数据库利用JSP结合数据库来开发网站使得网站更具有交互性,因为没有数据库支持的静态网页已经无法满足人们对于网络的需求了。数据库在各行各业中是必不可少的,下面就来介绍数据库方面的相关知识。SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。它的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。MicrosoftSQLServer(基于结构化查询语言的数据库服务器)是基于客户/服务器结构的数据库管理系统。用户通过使用客户系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而客户则关注信息的表示。此数据库管理系统能够存储大容量的数据,能够保证数据的安全性、维护数据的完整性,还具有自动高效的机制以及运行分布式处理等。2.4B/S结构介绍B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。第三章需求分析及设计3.1原始需求登录:管理员(第一权限,所有功能都可以用)、科研负责人(第二权限)、教务处负责人(第三权限)、科研人员(第四权限,只有下载文档和查看权限)共四种权限登录系统,要根据权限的不同,限制其使用功能。综合办公模块公告管理——教务处负责人添加和发布相关信息,并所有成员都可见,但发布信息只能是拥有教务处权限的用户。信息管理——发送和查看用户消息的部分,可以在系统中发送消息给其他各权限的用户,只要知道其用户名就可以发送。具体例子:就是站内发消息那样。科研人员模块用户添加(可以选择不同权限,管理员是最高权限,其他权限不能越权)——高级权限用户通过此部分添加下级用户,初始密码等相关信息。具体信息:姓名、密码、所属部门、所在系别、手机、邮箱、权限等信息。基本信息——被添加的用户登录后,通过这部分可以修改密码,修改和添加自己的基本信息科研项目模块科研项目包括项目申报、项目立项以及过程管理。项目申报——所有用户都可以申请教学项目,在申请项目的时候可以添加一些附件。然后教务处权限的用户查看和审核是否通过,如果通过就点同意,然后就可以在项目立项中看到,否则,就点击修改。用户就可以查看到申请的教学项目是通过,还是修改。具体填写表的信息:题目、项目负责人、附件、添加时间等标题项目立项——通过的项目这里也能看到,但是要填写项目的详细信息,然后提交,例如:项目类型、名称、、项目负责人、立项情况、申请书(附件)等。提交后就可以在过程管理中查看到,可以在这里随时更新项目的基础信息,然后显示在过程管理的项目信息中。3.2系统设计根据前面章节需求分析的情况,结合本系统所要实现的功能,具体设计方案如下。3.2.1系统功能一个典型的基于Web的高校教研项目管理系统主要功能有:1、功能说明:设计与实现一套针对高校教研管理部门的教研项目申报及评审系统,要求能实现网上申报教研项目,从专家库抽取相关领域专家组成专家组对一组教研项目进行网上评审,根据己经定制的评审方法,计算每个教研项目的综合得分并排序。2、系统组成:(1)项目申报模块:该模块主要负责项目的录入、修改、删除、附件上传及项目的信息查询,使项目管理更加便捷。(2)专家库管理模块:该模块主要的作用是负责专家信息的录入、修改、删除;专家信息的查询,对专家的信息、负责擅长的学科有个大致的分类,在对项目评判时在随机选择专家时更有针对性。(3)专家评审模块:负责项目的打分,项目得分排序。(本系统中,预先设想添加专家用户所使用的账户,专家通过登录自己的账户,对项目进行打分)(4)系统管理模块:用户注册,用户管理,角色管理,数据字典,批次管理,消息发布,系统设置,日志管理。(添加管理员用户,对系统进行管理)3.2.2系统结构图3-1系统功能模块图3.3数据库设计3.3.1数据库需求分析(1)数据表的分析。首先对系统的功能进行分析,得出系统有哪些表结构。通过分析本系统有7个表,分别是管理员表,项目表,项目打分表,公告表,登入日志表,专家表,类型表。(2)表关系的分析。本系统的表之间关系联系紧密,用户表与项目表关联,用户与日志表关联,用户与打分表关联。3.3.2数据库表结构本系统需要建立5个数据表(1)loginfo表:记录登入基本信息,如表1所示。表1日志表(loginfo)序号列名数据类型长度是否必填1idIntNotnull2unamesvarchar50Null3timesdatetimeNull(2)gg表:记录公告基本信息,如表2所示。表2公告表(gg)序号列名数据类型长度是否必填1idIntNotnull2titlesvarchar50Null3Descsvarchar50Null4TimesDatetimeNull(3)admins表:记录管理员基本信息,如表1所示。表3管理员表(admins)序号列名数据类型长度是否必填1idIntNotnull2usernamevarchar50Null3passwordvarchar50Null(4)xm表:记录项目基本信息,如表4所示。表4项目(xm)序号列名数据类型长度是否必填1idIntNotnull2titlesvarchar50Null3fzrvarchar50Null4urlvarcharNull5btimesDatetime50Null6statesInt50Null7tidInt50Null8etimesDatetime50Null9fsDouble(5)users表:记录用户基本信息,如表5所示。表5用户表(users)序号列名数据类型长度是否必填1idIntNotnull2novarchar50Null3passwordvarchar50Null4realnamevarchar50Null5telVarchar50Null6typesVarchar50Null(6)types表:记录类型基本信息,如表6所示。表6类型表(types)序号列名数据类型长度是否必填1idIntNotnull2Namesvarchar50Null(7)xmdf表:记录项目打分信息,如表7所示。表7项目打分表(xmdf)序号列名数据类型长度是否必填1idIntNotnull2uidInt50Null3xidInt4timesDatetime5fsDouble6statesInt

第四章系统实现4.1数据库配置try{ //数据库驱动 driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //数据库连接,包括地址,端口,数据库名称 url="jdbc:sqlserver://localhost:1433;database=gxjyxm"; //用户名 username="sa"; //密码 password="sa123"; //加载驱动 Class.forName(driver); //返回连接 returnDriverManager.getConnection(url,username,password); }catch(Exceptione){ e.printStackTrace(); }4.2登入页面管理员通过登入页面可以登入系统对系统进行维护。//用户名 Stringusername=request.getParameter("username"); //密码 Stringpassword=request.getParameter("password"); //获取session以便保存信息 HttpSessionsession=request.getSession(); //sql查询 Stringsql="select*fromadminswhereusername='"+username +"'andpassword='"+password+"'"; //创建数据库操作类 DBUtilutil=newDBUtil(); //获取数据库连接 Connectionconn=util.openConnection(); try{ //准备执行查询 PreparedStatementpstmt=conn.prepareStatement(sql); //执行查询返回结果 ResultSetrs=pstmt.executeQuery(); intindex=0; //如果存在结果集表示用户登入成功 while(rs.next()){ //把结果放进session里面 intid=rs.getInt("id"); session.setAttribute("id",id); session.setAttribute("name",rs.getString("username")); session.setAttribute("password",rs.getString("password")); session.setAttribute("types","1"); //插入登入日志 StringsqlAdd="insertintologinfo(unames,times)values('" +username+"',getdate())"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); index++; break; } if(index>0){ response.sendRedirect("admin/index.jsp"); }else{ System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); Stringsql2="select*fromfdywhereno='"+username +"'andpassword='"+password+"'"; PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs2=pstmt2.executeQuery(); while(rs2.next()){ intid=rs2.getInt("id"); session.setAttribute("id",id); session.setAttribute("name",rs2.getString("realname")); session.setAttribute("password",rs2.getString("password")); session.setAttribute("types","2"); StringsqlAdd="insertintologinfo(unames,times)values('" +username+"',getdate())"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); index++; break; } if(index>0){ response.sendRedirect("admin/index.jsp"); }else{ request.setAttribute("ok","ok"); request.getRequestDispatcher("login.jsp").forward(request, response); } } }catch(SQLExceptione){ e.printStackTrace(); }finally{ util.closeConn(conn); }4.3项目添加页面管理员可以对系统的项目进行添加。//文件保存位置 Stringgurl="/upfile/"; //文件保存绝对路径 Stringloadpath=this.getServletConfig().getServletContext() .getRealPath("/"); StringfullPath=loadpath+path; //创建保存文件夹 FilefullDir=newFile(fullPath); if(!fullDir.exists()){ fullDir.mkdirs(); } //创建上传类 SmartUploadsmartUpload=newSmartUpload(); //限制上传文件大小,和允许上传类型 longmaxSize=10*1024*1024;// StringallowFileExtList="jar,exe,doc,docx,txt,html,xml,xls,pdf,jpg,png,gif"; smartUpload.initialize(getServletConfig(),request,response); smartUpload.setMaxFileSize(maxSize); smartUpload.setAllowedFilesList(allowFileExtList); //附加参数信息 Stringtitles=""; Stringfzr=""; Stringtid=""; try{ //上传 smartUpload.upload(); titles=smartUpload.getRequest().getParameter("titles"); fzr=smartUpload.getRequest().getParameter("fzr"); tid=smartUpload.getRequest() .getParameter("tid"); FilesallFiles=smartUpload.getFiles(); EnumerationfileEnum=allFiles.getEnumeration(); //遍历文件进行保存 while(fileEnum.hasMoreElements()){ com.jspsmart.upload.FilesmartFile=(com.jspsmart.upload.File)fileEnum .nextElement(); if(!smartFile.isMissing()){ //获取文件名字和类型,根据日期+随机数的模式对文件进行重命名 StringfileName=smartFile.getFileName(); Stringtype=fileName.substring(fileName.lastIndexOf(".")); Randomrnd=newRandom(); intr=rnd.nextInt(100); Datedate2=newDate(); SimpleDateFormatformatter=newSimpleDateFormat( "yyyyMMddHHmmss"); StringstrDate2=formatter.format(date2); fileName=strDate2+r+type; response.setContentType("text/html;charset=gbk");// //保存文件 smartFile.saveAs(fullPath+"//"+fileName, com.jspsmart.upload.File.SAVEAS_PHYSICAL); gurl+=fileName; } break; } }catch(SmartUploadExceptione){ e.printStackTrace(); } DBUtilutil=newDBUtil(); Connectionconn=util.openConnection(); try{ //插入文件到数据库的sql Stringsql="insertintoxm(titles,url,fzr,tid,btimes,etimes,states,fs)values('" +titles +"','" +gurl +"','" +fzr +"',"+tid+",getdate(),'',0,0)"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sql); //查询项目编号 Stringsql2="select*fromxmwheretitles='"+titles+"'orderbyiddesc"; PreparedStatementpstmt=conn.prepareStatement(sql2); ResultSetrs=pstmt.executeQuery(); intxmid=0; inttypesid=0; while(rs.next()){ xmid=rs.getInt("id"); typesid=rs.getInt("tid"); break; } //查询所有专家 Stringsql3="select*fromfdy"; PreparedStatementpstmt3=conn.prepareStatement(sql3); ResultSetrs3=pstmt3.executeQuery(); List<Fdy>list=newArrayList<Fdy>(); while(rs3.next()){ Fdybean=newFdy(); bean.setId(rs3.getInt("id")); bean.setTypes(rs3.getString("types")); list.add(bean); } List<String>uidlist=newArrayList<String>(); for(inti=0;i<list.size();i++){ Fdybean=list.get(i); Stringtypes=bean.getTypes(); if(types.contains(",")){ String[]typess=types.split(","); for(intj=0;j<typess.length;j++){ Stringone=typess[j]; if(one.equals(typesid+"")){ uidlist.add(bean.getId()+""); break; } } }else{ if(types.equals(typesid+"")){ uidlist.add(bean.getId()+""); } } } //插入项目打分 for(inti=0;i<uidlist.size();i++){ Stringuid=uidlist.get(i); Stringsql6="insertintoxmdf(uid,xid,times,fs,states)values(" +uid +"," +xmid +",getdate(),0,0)"; Statementstmt6=conn.createStatement(); stmt6.executeUpdate(sql6); } }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }

第五章系统测试5.1测试目的与目标在此系统进行初步实现之后,开始进行对系统进行测试,找出系统中存在的Bug,通过测试,用提交的Bug报告来为以后软件的改进提供标准和参考,能够在以后的系统改进中找到依据。测试后的软件各模块基本功能能顺利进行,尽可能的提高软件的健壮性。5.2测试方法系统的测试有两种方法分别为黑盒测试和白盒测试。黑盒测试又称为功能测试,在程序接口进行,只检查程序功能是否能够按照规格说明书的规定正确使用,程序是否能适当地接收输入数据并发生正确的输出信息,而且要能够保持外部信息的完整性。白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。本系统开发过程进行的测试步骤如下:模块测试:也叫单元测试,目的是保证每一个模块作为一个单元能正确运行,本测试所发现的往往是编码和详细设计的错误,主要评价模块的下述五个特点:模块接口,局部数据结构,重要的执行路径,出错处理通路,影响上述各方面特性的边界条件。模块测试主要由代码审查和软件测试两部分组成。集成测试:包括系统测试和子系统测试。集成测试是组装软件的系统技术,主要目标是发现与接口有关的问题。集成测试有两种方法:非渐增式和渐增式,但比较而言,渐增式方法比较好,因为:编写的测试软件较少,开销较小;较早地发现模块间的接口错误;错误位置容易判断;测试更彻底。因此,本系统集成测试采用渐增式测试中的混合法,即对软件结构中较上层使用自顶而下的测试方法,而对软件结构中较下层,使用的是自底向上方法,两者结合,这是对模块较多时测试的一种折衷方法。验收测试:这一步是验证软件的有效性。目的是向未来的用户表明系统能够象预定的那样工作,验收测试一般使用黑盒测试法,验收测试有两种可能的结果:功能和特性与用户的要求有差距;功能和性能与用户要求一致,软件是可以接受的。这个阶段发现的问题往往和需求分析阶段的差距有关。平行运行。所谓平行运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论