jsp学生信息管理系统sqlserver论文_第1页
jsp学生信息管理系统sqlserver论文_第2页
jsp学生信息管理系统sqlserver论文_第3页
jsp学生信息管理系统sqlserver论文_第4页
jsp学生信息管理系统sqlserver论文_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第27页共39页毕业设计说明书毕业设计题目院(系)专业班级学生姓名性别指导教师职称摘

要:

随着21世纪的到来,人们更深刻的感受到了计算机在生活和工作中作用的重要,越来越多的职业需要具有计算机的应用技能。掌握计算机是职业的需要,社会的需要,更是事业发展的需要。今天,计算机技术不但广泛地应用在办公自动化中,还全面渗透到各行各业。所有与计算机相关的职业都要求工作者有很强的计算机操作技能,做到运用自如,熟练而且深入的掌握软件的应用。随着计算机技术的飞速发展,今后,计算机作为一种崭新的生产力,将在信息社会即新技术革命中发挥越来越重要的作用,并进一步推动人类社会更快的向前发展。本系统是由JSP开发工具编写的。由SQL2000作为后台数据库进行管理维护。本文主要讲述了利用JSP来开发一套学生信息管理系统的设计方法。该系统采用多个模块,实现了学生信息管理、院系信息管理、学籍变动管理、教育经历管理、信息查询等功能。关键词:学生信息管理系统计算机JSPAbstract:Alongwiththe21stcentury'sarrival,thepeoplemoreprofoundfeelingcomputerinhaslivedimportantwhichandintheworkaffects,Moreandmoreoccupationsneedtohavecomputer'sapplicationskill.Grjspsthecomputeristheprofessionalneed,society'sneed,istheenterpriseneedtodevelop.Today,notonlythecomputertechnologywidelyappliesintheofficeautomation,butalsoseepsthevarioustradesandoccupationscomprehensively.Allrequeststheworkerwiththecomputerrelatedoccupationtohavetheverystrongcomputeroperationskill,achieveshandlesskillfully,skilledandthoroughgrjspssoftware'sapplication.Alongwithcomputertechnology'sswiftdevelopment,fromnowon,thecomputerwilltakeonekindofbrand-newproductiveforces,willplaymoreandmorevitalroleintheinformationsocietynamelynewtechnologicalrevolution,andwillfurtherpromoteahumansocietyquickerdevelopmentforward.ThissystemisbytheJSPdevelopmentkitcompilation.2000carryonthemanagementmaintenancebySQLSEVER2000asthebackstagedatabase.Thisarticlemainlynarrateddevelopsasetofstudentinformationmanagementsystem'sdesignmethodusingJSP.Thissystemusesmanymodules,hasrealizedthestudentinformationmanagement,thecourtyardisfunctionsandsooninformationmanagement,schoolregisterchangemanagement,educationexperiencemanagement,informationinquiry.KeywordStudentinformationmanagementsystemComputerJSP目录1绪论11.1系统及需求分析11.1.1系统需求11.1.2可行性分析21.2系统的功能简介31.2.1添加权限管理模块31.2.2学生信息管理模块31.2.3院系信息管理模块31.2.4学籍变动管理模块31.3系统开发的目标32.系统分析32.1JSP运行环境42.1.1相关软件介绍42.1.2JSP环境的配置方案42.2开发软件的介绍62.2.1DreamweaverMX2004的简介62.2.2DreamweaverMX2004的特点62.3业务流程分析82.4数据存储分析:实体联系图103.系统设计113.1简要分析113.1.1系统方案确定113.1.2软件结构设计113.2数据库设计123.2.1本系统中所涉及到的主要实体共有九个数据表123.2.2各表的物理结构134.系统的实现154.1系统登陆界面154.2系统主界面174.3用户管理模块174.4学生注册管理模块185、程序调试185.1程序调试分析185.2程序的测试185.2.1测试的重要性及目的185.2.2系统测试205.2.3测试的主要内容206.全文总结23致谢23参考文献24附录241.绪论随着时代的发展,信息的作用和能力大幅度提高,传递速度也加快。在21世纪,人类将步入知识经济时代,知识经济时代是科技发展日新月异和知识、信息呈爆炸膨胀的时代。有所谓信息威胁之说,这是指人类面临的要处理的信息量大到难以处理的地步,以至造成混乱的结果。计算机的出现解决了这个问题,由于计算机迅速、准确为信息收集、加工、使用、查询提供可能。学生信息管理系统是一款面向各大、中专院校开发的学生管理软件。它能实现基本的系统维护、数据录入、资料查询等功能,可以满足大、中专院校对学生档案、学籍及院系信息等进行管理的需要。本设计方案是为学生信息管理系统开发而编写的,主要是为了提高学校的管理效率。它包括了系统可行性研究,系统模块设计,模块的具体流程设计,一些需要进一步讨论或者研究的问题,需要的资料与硬件,数据表的定义等1.1系统及需求分析1.1.1系统需求随着社会发展,我国各高校每年都在扩招,学生人数每日剧增,以前的管理手段已不能适应时代的发展,因为它浪费了了许多的人力和物力,在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替。我国每所高校的学生人都较多,学校要管理每个学生的信息很困难,通过建立数据库对学生信息进行管理具有重要的意义,帮助广大教师和学校提高工作效率。学生管理系统是学校信息决策和管理的重要的组成部分,是一种典型的信息管理系统。操作系统选择目前常用的Windowsxp。系统性质为MIS(管理信息系统)或财务软件。栏目包括学生基本信息、院系信息、学籍管理、教育经历管理、信息查询、设置用户权限,可实现修改、添加、删除等基本功能。系统界面力求简洁、易用,在标准化的基础上考虑界面的美观和新颖。1.1.2可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。学生管理中总是面对大量的信息如学生个人信息,学生选课,学生查询成绩,学生过级情况等。因此需要信息进行及时管理,及时了解各个环节中信息的变更,力求提高管理效率。本系统力求使系统功能简洁明了,但功能齐全且易于操作。系统具有效率高、成本低、质量高、功能强等特点,建立一个学生信息管理的数据库比较容易,经济费用开支不大。1.2系统的功能简介本系统主要可以实现以下的管理功能:学生信息管理、院系信息管理、学籍变动管理、教育经历管理、信息查询管理、添加权限管理等等。通过本管理系统能够对学生基本信息进行修改,添加,查询,删除的操作,从而进一步提高学校办学效益和现代化水平,实现学生信息管理工作流程的系统化、规范化和自动化。系统建设目标的技术可行性开发语言:JSP系统软件:WindowsXPDBMS:SQLSever2000就整个系统的技术构成上来看,它属于一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、编辑等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。为用户提供的服务本系统的学生用户主要功能是此系统上的信息查看与查询,为了保障数据库的安全性,特设置一个登录界面,使学生只能进入到学生信息服务的界面。对学生来说,不能修改信息,这样可以保障别人的隐私权,这样在一定程度上做到管理信息的安全性;另外针对工作人员使其进入管理员操作的界面,主要是帮助学校进行学生信息的管理、统计及维护,管理员根据实际情况来浏览、查询、添加、删除、修改、统计学生的基本信息从而保障一切工作顺利进行。1.2该模块的主要任务是添加用户、设置用户权限等功能。1.2该模块的功能是实现对全校学生信息的添加、修改、查询,使学校更好的管理学生的信息。1.2该模块的主要功能是实现对学生的院系信息的管理工作。1.2该模块对每个学生的学籍、考试成绩、专业、获奖状况、违纪状况进行管理。1.3系统开发的目标出于本系统是学校学生管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。2.系统分析JSP运行环境及相关开发软件简介2.1JSP运行环境2.1.1相关软件介绍JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。2.1.2JSP环境的配置方案在做本系统时,本人使用的是J2SDK+Tomcat的配置,因为对于初学者,这是一个比较容易实现的方案。具体步骤如下:[1]安装J2SDK第一步:执行j2sdk-1_4_2_03-windows-i586-p.exe,按照向导安装到想要安装的目录,如D:\J2SDK1.4.2。第二步:设定J2SDK1.4.2_03从【开始】→【设置】→【控制面板】→【系统】→【高级】→【环境变量】→【系统变量】,然后到【新建】。JAVA_HOME=C:\j2sdk1.4.2_03PATH=%JAVA_HOME%\binCLASSPATH=C:\j2sdk1.4.2_03\lib\tools.jar;lib\dt.jar;注意1.CLASSPATH的设定中,分号(;)用来分开两路径,切勿任意空格;2.CLASSPATH的设定中,分号的最后还有一个点“.”。补充不论Windows2000或WindowsXP皆可依上述方法设定。第三步:测试J2SDK。撰写一个HelloWorld.java程序,放置在C:\HelloWorld.java中。HelloWorld.javapublicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld");}}打开命令提示符,在D:\下输入javacHelloWorld.java,然后再输入javaHelloWorld,执行HelloWorld程序,假若顺利成功,则会显示“HelloWorld”。成功安装J2SDK1.4.2_03之后,紧接下来安装Tomcat5.0.16。[2]安装Tomcat5.0.1本网站使用的Tomcat版本为5.0.16,它是由JavaSoft和Apache开发团队共同提出合作计划(ApacheJakartaProject)下的产品。Tomcat能支持Servlet2.4和JSP2.0并且是免费使用。第一步:执行jakarta-tomcat-5.0.16.exe,按照向导将Tomcat装到想要安装的目录,如:D:\Tomcat5.0。第二步:配置Tomcat的环境变量,仍然是在系统环境变量中设置Tomcat_Home=D:\Tomcat5.0Classpath=D:\Tomcat\webapps\ROOT\WEB-INF\classes第五步:测试Tomcat。打开浏览器,如IE,输入http://localhost:8080,假若Tomcat安装成功,则会看到Tomcat的欢迎界面。2.2开发软件的介绍2.2.1DreamweaverMX2004的简介对于创建专业Web站点而言,世界上最好的方法现在莫过于最简单的建立功能强大的Internet应用程序的方法。您可以在单一环境下工作,从而快速创建、建立和管理Web站点和Internet应用程序。获取Dreamweaver®的可视布局工具、Dreamweaver®UltraDev™的快速Web应用程序功能以及HomeSite®的代码编辑支持,所有这些都可以在Dreamweaver®MX这一完整的集成解决方案中完成。2.2.2DreamweaverMX2004的特点[1]卓越的可视环境--简单易用使用macromedia的可视化开发环境,你只需通过简单的拖拉技术(Drag&Drop),将"Objects"窗口中的对象拖到"Documentwindow"中即可。[2]所见即所得的强大功能

没有一个Web编辑软件能像Dreamweaver一样,具有所见即所得的功能,你可以在"Properties"(属性)窗体中调整参数,即刻在"Documentwindow"窗体中看到它的改变,如果你按下"F12",Dreamweaver会自动生成HTML文件格式,供欲览,以便开发人员进一步调整。[3]方便快速的文本编排

与"Word"相似,具有强大的文本编辑能力,你可以在"Layer"、"Table"、"Frame"或直接在"Documentwindow"窗体中输入文字,通过快捷的右键,选择例如"Font"(字体)类的选项进行编辑,也可以利用"Text"菜单进行更为细致的排版编辑。[4]专业的HTML编辑--RoundtripHTML

Dreamweaver与现存的网页有着极好的兼容性,不会更改任何其他编辑器生成的页面。这将大幅度降低由于HTML源代码的变更而给设计者带来的困惑。[5]高质量的HTML生成方式

由Dreamweaver生成的HTML源代码保持了很好的可读性。代码结构基本上同手工生成的代码相同,这使得设计者可以轻易掌握代码全局并加以修改。[6]实时的HTML控制设计者可以在可视化或者文本这两种方式下进行页面的设计,并且可以实时的监控HTML源代码。当设计者对代码作出任何改动时,结果将立刻显示出来。[7]与流行的文本HTML代码编辑器之间的协调工作

Dreamweaver可以与目前流行的HTML代码编辑器(如BBEdit、HomeSite等)全面协调工作。已经习惯于使用这些纯文本编辑器的设计者将在不改变他们原有工作习惯的基础上,充分享受到Dreamweaver带来更多功能。设计者可以使用文本编辑器直接编辑HTML,同时使用Dreamweaver生成较为复杂的动画、表格、Frame、JavaScript等。(Dreamweaver分别为Windows用户以及Macintosh用户提供了完全版的HomeSite及BBEdit这两个目前最流行的代码编辑器)。[8]强大的DHTML支持

动态HTML是4.0浏览器支持的新功能,将在未来广泛应用于网络。这项技术可以增强页面的交互性、提高下载速度、使页面更美观更易于设计且富有动感。Dreamweaver对DHTML完全支持,并提供了与之相关联的四大功能。而其它的可视化网页编辑工具几乎不提供或只小部分提供动态HTML的制作。[9]重复元素库

在Dreamweaver中定义的一个站点内,设计者可以将重复使用的内容(例如Header、Footer等)独立定义。这样设计者在需要这些内容的地方只需做一个简单的插入就可以了。而且当元素库中定义的内容被修改后,整个站点中设计同样内容的地方将统一发生变化而无需再逐一修改。[10]基于目标浏览器的检测

目前浏览器更新换代很快,从2.0到4.0层出不穷。同时又有IE和Netscape两大阵营竞争。设计者制作出的网页必须面向功能不同的浏览器并保持其正确性。这是一项比较困难的工作。而Dreamweaver不仅在设计时可以基于不同的目标浏览器进行不同的设计,而且在页面制作完毕后,Dreamweaver可以基于目标浏览器对页面进行检测并给出报告。在报告中将显示出被检测页面的兼容性以及在不同浏览器中页面的区别,同时还将指出页面中HTML的句法错误。[11]FTP

在Dreamweaver中包含了一个界面极为友好的FTP工具。通过它,设计者可以非常方便的将设计的单一页面或者一个站点上传至服务器。同时,设计者还可以非常方便的将已经上传至服务器的文件下载以供参考和修改。在文件传输的过程中,Dreamweaver将记录下整个过程以供错误分析。[12]文件锁定这是一种专为合作开发环境设置的档案机制。可以通过标记和取出机制设置只读或可编写属性来进行文档的保护。通过这种方法可以防止不必要的数据丢失,增强了安全性。2.3业务流程分析实体间关系E-R图如下:管理员管理员学生学生信息管理员实体图:管理员管理员管理员ID管理员名称登陆密码身份学生实体图:学生学生学生ID学生名称登陆密码身份学生信息实体图:学生信息学生信息性别班级入学时间备注电子邮箱学生名称学生ID专业功能模块图如下:学生管理系统学生管理系统管理员学生信息修改信息删除信息查询信息查看信息添加信息查看信息修改数据:管理员对学生信息进行修改删除数据:管理员对某些学生信息(如毕业生等)进行删除查看信息:管理员查看学生的基本情况添加数据:管理员在数据库中添加新生的信息查看信息:查看自己或者其他学生的信息查询信息:根据具体情况查询所需要的信息系统网页框架结构分析与设计本系统包括三个表,Table:liuyan->记录学生信息数据 Table:users->管理员用户管理表Table:student-user->学生用户管理表七个文件,index.jsp: 学生信息的显示页面post.jsp: 学生信息的追加,修改页面search.jsp:学生信息的查询页面admin_login:系统的管理页面(修改,删除处理入口)student_login:学生登陆系统页面delete.jsp: 学生信息的删除页面logout.jsp:退出系统style.css: 样式文件conn.inc: 公共数据库连接message.mdb:学生信息的数据库文件readme.txt: 本说明文件2.4数据存储分析:实体联系图1、数据模型设计。首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。2、再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语课二者共有的。这个E-R图可画成下图。教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。其E-R图,如下所示。

教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。下图为数据模型图。3系统设计3.1简要分析3.通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、学生交费管理、课程管理、成绩管理、系统管理等功能。3.本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。3.2数据库设计数据库采用了Microsoft推出的SQLSever2000数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由于SQLSever2000具有显著的简易性和有效性,大量的桌面数据库系统都采用SQLSever2000作为后台数据库。使用SQLSever2000的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQLSEVER2000Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。3.2allkecheng表:{课程名称,教材}cj表:{学号,学期,类型,}class表:{年级,班级,教室,年制,专业,备注}classkecheng表:{年级,专业,年制,学期,}jf表:{学号,学期,日期,操作员}kaoshileixing表:{类型}use表:{username,password,admin,readonly,qx1,qx2,qx3,qx4}xj表:{学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间,备注}suefei表:{年级,专业,年制,学期,学费}3.allkecheng表:字段名称类型宽度小数位课程名称文本20

教材文本30

Cj表:字段名称类型宽度小数位学号文本10

类型文本16

课程名称文本20

分数单精度型数字

自动

Class表:字段名称类型宽度小数位年级文本16

班级文本20

年制文本8

专业文本16

备注备注

Classkecheng表:字段名称类型宽度小数位年级文本16

专业文本12

年制文本8

学期文本50

Jf表:字段名称类型宽度小数位学期文本50

日期日期/时间

操作员文本10

Kaosileixing表:字段名称类型宽度小数位类型文本10

Use表:字段名称类型宽度小数位username文本20

password文本20

Admin文本2

Readonly文本2

Qx1文本2

Qx2文本2

Qx3文本2

Qx4文本2

xj表:字段名称类型宽度小数位学号文本9

姓名文本8

班级文本10

入学时间日期/时间

备注备注

xuefei表:字段名称类型宽度小数位年级文本16

专业文本50

年制文本20

学期文本40

4.系统的实现4.1系统登陆界面:本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USE表中,本系统根据不同的用户而设置了不同的权限,可以用909;909为用户名和密码来登陆本系统。 }数据库实体表1 }数据库实体表2

数据库实体表34.2系统主界面:本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有6个功能菜单和19个子菜单(功能模块),从而实现了本系统从班级管理、档案管理、缴费管理、课程管理、成绩管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。4.3用户管理模块:本模块是本系统的安全性设置模块,根据学校不同部门以及不同使用人员对本系统的要求和需要,从而实行了分级管理,对用户的权限和类别进行了分类管理。5、程序调试5.1程序调试分析在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。5.2程序的测试5.2.1测试的重要性及目的1.测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:(1)认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;(2)以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;(3)测试工作枯燥无味,不能引起人们的兴趣;(4)测试工作是艰苦而细致的工作;(5)对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。2.测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。在谈到软件测试时,许多人都引用GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中的观点:(1)软件测试是为了发现错误而执行程序的过程;(2)测试是为了证明程序有错,而不是证明程序无错误;(3)一个好的测试用例是在于它能发现至今未发现的错误;(4)一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。5.2.2系统测试与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:(1)模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误。(2)子系统测试这个步骤着重测试模块的接口。(3)系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。(4)验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误。5.2.3测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。(1)单元测试单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。身份认证时候要保证在以下输入情况时候系统能够健康运行:(1)输入用户ID时候键入非法字符,如:•#¥%……等(2)在操作员编码框输入非数字字符,如abc,!•#¥《》(3)输入的用户ID,或者操作员编码不存在。(4)输入的用户ID,或者操作员编码与密码不相符合。(5)输入的用户ID,操作员编码不能登陆本模块。(6)输入的信息超过规定字符长度(7)输入的信息有一项为空。查询信息时候(1)查询条件键入时有非法字符,如:#$%^等。(2)输入不存在的查询条件。(3)输入查询条件超过规定字符长度。(4)输入查询条件一项为空。(2)集成测试集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。(3)确认测试确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。(4)系统测试软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。单独对系统的测试主要从以下几方面入手:(1)功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。(2)强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。(3)安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。6.全文总结在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在学生管理系统中的应用不是很多,但是未来的发展方向,在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本学生管理系统是一套学校在日常管理中必不可少的管理软件,通过开发这个系统,我掌握了的项本过程,了解了的基本知识巩固了我对jsp的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。根据方案,大部分问题均已解决,也已基本实现了预期的目标和功能,但由于方案不成熟,时间紧迫,人力,物力方面的原因,此系统还是有许多地方需要进一步的完善和提高,因而,我们的系统不可避免的有一些不足之处,希望老师们给予批评指正。在本次课程设计中困难遇到不少,比如数据库的连接,全局参数的传递等。在这次系统开发的过程中,我深深体会到了做一个系统,首先进行需求分析的重要性,了解了一个系统的制作,从功能分析到功能模块分析、与其他系统的关系,再到数据库设计、数据库结构实现及各功能模块的创建都需要从整体上考虑设计。这些都有待以后进一步改进。通过实践对于我以后的学习将会带来很大的帮助!这次的毕业设计开发,主要有以下几点收获:1.对原型化的系统开发方法有了一定的了解。渐增式的原型化开发方法与面向对象的程序设计的结合不但能在系统开发初期让用户了解系统的概貌,而且能使系统开发模块化,提高开发效率,减少出错。对于后期的系统维护也提供了很大的帮助。2.通过实践,提高了系统分析的能力,对数据流图、数据字典、系统流程图等系统设计工具的使用有了更深刻的认识。为以后的工作、学习的进一步提高打下了坚实的基础。3.在可视化环境中使用SQLSEVER2000查询语言配合进行数据库操作的能力有了较大的提高。在学习数据原理课程时就学习过SQLSEVER2000查询语言,但掌握的东西很肤浅,更不知道如何应用,通过这次独立地系统开发,用JSP配合SQLSEVER2000进行数据库操作,在这方面有了更深刻的认识。致谢在本次毕业设计过程中,得到了指导老师的指导与支持。在此特别感谢XX老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我们小组顺利完成这次毕业设计起到了关键性的作用。另外和我同组同学大家始终团结协作,努力拼搏,增强了我的团队意识,并且我们接下了深厚的友谊,我们自始至终在一种愉快的气氛中学习工作。此次毕业设计对提高我的编程技术、协调团队成员的关系等方面都由许多益处。在此我一并向他表示感谢。我还要感谢我的母校——XXXXXXX大学,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。转眼间,大学生活即将结束,回首过去四年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。管理信息系统专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。

21世纪已经到来了,在新的世纪里,人们自然对未来有许多美好的愿望和设想。现代科学技术的飞速发展,改变了世界,也改变了世界的生活。作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富现代科学知识、能够独立解决面临任务、有创新意识的新型人才。参考文献[1]孙卫琴,李洪成.《Tomcat与JavaWeb开发技术详解》.电子工业出版社,2003年6月:1-205[2]BruceEckel.《Java编程思想》.机械工业出版社,2003年10月:1-378[3]FLANAGAN.《Java技术手册》.中国电力出版社,2002年6月:1-465[4]孙一林,彭波.《Java数据库编程实例》.清华大学出版社,2002年8月:30-210[5]LEEANNEPHILLIPS.《巧学活用HTML4》.电子工业出版社,2004年8月:1-319[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300[7]耿祥义,张跃平.《JSP实用教程》.清华大学出版社,2003年5月1日:1-354[8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460[10]Brown等.《JSP编程指南(第二版)》.电子工业出版社,2003年3月:1-268[11]清宏计算机工作室.《JSP编程技巧》.机械工业出版社,2004年5月:1-410[12]朱红,司光亚.《JSPWeb编程指南》.电子工业出版社,2001年9月:34-307[13]赛奎春.《JSP工程应用与项目实践》.机械工业出版社,2002年8月:23-294附录源代码:packagecom.bean;importjava.SQLSever2000.ResultSet;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Calendar;importjava.util.List;importcom.util.Constant;importcom.util.DBO;publicclassCaiWu{ privateListlist; privateResultSetrs; privateStringdate=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(Calendar.getInstance().getTime()); //增加分类 publicintaddFenLei(Stringfenlei){ StringSQLSever2000="insertintoclassname(flmc,addtime)values('"+fenlei+"','"+date+"')"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(SQLSever2000); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } } //修改分类 publicintupFenLei(intid,Stringfenlei){ StringSQLSever2000="updateclassnamesetflmc='"+fenlei+"'whereid='"+id+"'"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(SQLSever2000); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } } //删除分类 publicintdelFenLei(intid){ StringSQLSever2000="deletefromclassnamewhereid='"+id+"'"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(SQLSever2000); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } } //所有分类 publicListgetAllFenLei(){ StringSQLSever2000="select*fromclassnameorderbyiddesc"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(SQLSever2000); while(rs.next()){ Listlist2=newArrayList(); list2.add(rs.getString(1)); list2.add(rs.getString(2)); list2.add(rs.getString(3)); list.add(list2); } returnlist; }catch(Exceptione){ e.printStackTrace(); returnnull; }finally{ dbo.close(); } } //增加输入 publicintaddCaiWu(Stringfenlei,Stringxingzhi,Stringshuoming,Stringshuliang,Stringremark){ StringSQLSever2000="insertintoinmoney(fenlei,xingzhi,shuoming,shuliang,remark,addtime)"+ "values('"+fenlei+"','"+xingzhi+"','"+shuoming+"','"+shuliang+"','"+remark+"','"+date+"')"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(SQLSever2000); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } }// 修改输入 publicintupCaiWu(intid,Stringfenlei,Stringxingzhi,Stringshuoming,Stringshuliang,Stringremark){ StringSQLSever2000="updateinmoneysetfenlei='"+fenlei+"',xingzhi='"+xingzhi+"',shuoming='"+shuoming+"',shuliang='"+shuliang+"',remark='"+remark+"'whereid='"+id+"'"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(SQLSever2000); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } }// 删除输入 publicintdelCaiWu(intid){ StringSQLSever2000="deletefrominmoneywhereid='"+id+"'"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(SQLSever2000); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } }// 所有输入 publicListgetAllCaiWu(){ StringSQLSever2000="select*frominmoneyorderbyiddesc"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(SQLSever2000); while(rs.next()){ Listlist2=newArrayList(); list2.add(rs.getString(1)); list2.add(rs.getString(2)); list2.add(rs.getString(3)); list2.add(rs.getString(4)); list2.add(rs.getString(5)); list2.add(rs.getString(6)); list2.add(rs.getString(7)); list.add(list2); } returnlist; }catch(Exceptione){ e.printStackTrace(); returnnull; }finally{ dbo.close(); } }// 单个输入 publicListgetOneCaiWu(intid){ StringSQLSever2000="select*frominmoneywhereid='"+id+"'"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(SQLSever2000); while(rs.next()){ list.add(rs.getString(1)); list.add(rs.getString(2)); list.add(rs.getString(3)); list.add(rs.getString(4)); list.add(rs.getString(5)); list.add(rs.getString(6)); } returnlist; }catch(Exceptione){ e.printStackTrace(); returnnull; }finally{ dbo.close(); } } publicintchuShiHua(){ StringSQLSever2000="deletefrominmoney"; StringSQLSever20002="deletefromclassname"; StringSQLSever20003="deletefromadminlog"; DBOdbo=newDBO(); dbo.open(); try{ dbo.executeUpdate(SQLSever2000); dbo.executeUpdate(SQLSever20002); dbo.executeUpdate(SQLSever20003); returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); return0; }finally{ dbo.close(); } }// 所有输入 publicListgetAllCaiWu1(Stringxingzhi){ StringSQLSever2000="select*frominmoneywherexingzhi='"+xingzhi+"'orderbyiddesc"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(SQLSever2000); while(rs.next()){ Listlist2=newArrayList(); list2.add(rs.getString(1)); list2.add(rs.getString(2)); list2.add(rs.getString(3)); list2.add(rs.getString(4)); list2.add(rs.getString(5)); list2.add(rs.getString(6)); list2.add(rs.getString(7)); list.add(list2); } returnlist; }catch(Exceptione){ e.printStackTrace(); returnnull; }finally{ dbo.close(); } } publicListgetAllCaiWu2(Stringks,Stringjs){ StringSQLSever2000="select*frominmoneywhereaddtime>'"+ks+"00:00:01'andaddtime<'"+js+"23:59:59'orderbyiddesc"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(SQLSever2000); while(rs.next()){ Listlist2=newArrayList(); list2.add(rs.getString(1)); list2.add(rs.getString(2)); list2.add(rs.getString(3)); list2.add(rs.getString(4)); list2.add(rs.getString(5)); list2.add(rs.getString(6)); list2.add(rs.getString(7)); list.add(list2); } returnlist; }catch(Exceptione){ e.printStackTrace(); returnnull; }finally{ dbo.close(); } } publicListgetAllCaiWu3(Stringjs){ StringSQLSever2000="select*frominmoneywhereaddtime<'"+js+"23:59:59'orderbyiddesc"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(SQLSever2000); while(rs.next()){ Listlist2=newArrayList(); list2.add(rs.getString(1)); list2.add(rs.getString(2)); list2.add(rs.getString(3)); list2.add(rs.getString(4)); list2.add(rs.getString(5)); list2.add(rs.getString(6)); list2.add(rs.getString(7)); list.add(list2); } returnlist; }catch(Exceptione){ e.printStackTrace(); returnnull; }finally{ dbo.close(); } } publicListgetAllCaiWu4(Stringks){ StringSQLSever2000="select*frominmoneywhereaddtime>'"+ks+"00:00:01'orderbyiddesc"; DBOdbo=newDBO(); list=newArrayList(); dbo.open(); try{ rs=dbo.executeQuery(SQLSever2000); while(rs.next()){ Listlist2=newArrayList(); list2.add(rs.getString(1)); list2.add(rs.getString(2)); list2.add(rs.getString(3)); list2.add(rs.getString(4)); list2.add(rs.getString(5)); list2.add(rs.getString(6)); list2.add(rs.getString(7)); list.add(list2); } returnlist; }catch(Exceptione){ e.printStackTrace(); returnnull; }finally{ dbo.close(); } } publicListgetAllCaiWu5(Stringks,Stringjs,Stringxingzhi){ StringSQLSever2000="s

温馨提示

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

评论

0/150

提交评论