




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页共33页目录摘要 1Abstract 21、绪论 31.1选题背景 31.2系统及需求分析 31.2.1系统需求 31.2.2可行性分析 41.3系统的功能简介 41.4为用户提供的服务 41.4.1添加权限管理模块 51.4.2学生信息管理模块 51.4.3院系信息管理模块 51.5系统开发的目标 52、系统分析 52.1JSP技术简介 52.2JSP工作原理 62.3JSP体系结构 62.4JSP的特点 72.5系统数据库连接 82.6SQLSERVER2000数据库 122.7业务流程分析 122.8数据存储分析 153、系统设计 163.1大体设计 163.1.1系统方案确定 163.1.2软件结构设计 163.2数据库设计 163.2.1数据表 163.2.2各表的物理结构如下: 174、系统的实现 204.1系统登陆界面 204.2系统管理界面 214.3学生管理 224.4院系管理 224.5课程发布 235、程序调试 235.1程序调试分析 235.2程序的测试 235.2.1测试的重要性及目的 235.2.2系统测试 255.2.3测试的主要内容 25总结 28致谢 30参考文献 31摘要随着21世纪的到来,人们更深刻的感受到了计算机在生活和工作中作用的重要,越来越多的职业需要具有计算机的应用技能。掌握计算机是职业的需要,社会的需要,更是事业发展的需要。今天,计算机技术不但广泛地应用在办公自动化中,还全面渗透到各行各业。所有与计算机相关的职业都要求工作者有很强的计算机操作技能,做到运用自如,熟练而且深入的掌握软件的应用。随着计算机技术的飞速发展,今后,计算机作为一种崭新的生产力,将在信息社会即新技术革命中发挥越来越重要的作用,并进一步推动人类社会更快的向前发展。本系统是由JSP开发工具编写的。由SQL2000作为后台数据库进行管理维护。本文主要讲述了利用JSP来开发一套学生信息管理系统的设计方法。该系统采用多个模块,实现了学生信息管理、院系信息管理、课程信息管理、信息查询等功能。关键词:学生信息管理系统计算机JSPAbstractAlongwiththe21stcentury'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.KeywordStudentinformationmanagementsystemComputerJSP1、绪论1.1选题背景随着时代的发展,信息的作用和能力大幅度提高,传递速度也加快。在21世纪,人类将步入知识经济时代,知识经济时代是科技发展日新月异和知识、信息呈爆炸膨胀的时代。有所谓信息威胁之说,这是指人类面临的要处理的信息量大到难以处理的地步,以至造成混乱的结果。计算机的出现解决了这个问题,由于计算机迅速、准确为信息收集、加工、使用、查询提供可能。学生信息管理系统是一款面向各大、中专院校开发的学生管理软件。它能实现基本的系统维护、数据录入、资料查询等功能,可以满足大、中专院校对学生档案、学籍及院系信息等进行管理的需要。本设计方案是为学生信息管理系统开发而编写的,主要是为了提高学校的管理效率。它包括了系统可行性研究,系统模块设计,模块的具体流程设计,一些需要进一步讨论或者研究的问题,需要的资料与硬件,数据表的定义等1.2系统及需求分析1.2.1系统需求随着社会发展,我国各高校每年都在扩招,学生人数每日剧增,以前的管理手段已不能适应时代的发展,因为它浪费了了许多的人力和物力,在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替。我国每所高校的学生人都较多,学校要管理每个学生的信息很困难,通过建立数据库对学生信息进行管理具有重要的意义,帮助广大教师和学校提高工作效率。学生管理系统是学校信息决策和管理的重要的组成部分,是一种典型的信息管理系统。操作系统选择目前常用的Windowsxp。系统性质为MIS(管理信息系统)或财务软件。栏目包括学生基本信息、院系信息、学籍管理、教育经历管理、信息查询、设置用户权限,可实现修改、添加、删除等基本功能。系统界面力求简洁、易用,在标准化的基础上考虑界面的美观和新颖。1.2.2可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。学生管理中总是面对大量的信息如学生个人信息,学生选课,学生查询成绩,学生过级情况等。因此需要信息进行及时管理,及时了解各个环节中信息的变更,力求提高管理效率。本系统力求使系统功能简洁明了,但功能齐全且易于操作。系统具有效率高、成本低、质量高、功能强等特点,建立一个学生信息管理的数据库比较容易,经济费用开支不大。本系统开发语言:JSP系统软件:WindowsXPDBMS:SQLSever2000就整个系统的技术构成上来看,它属于一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、编辑等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。1.3系统的功能简介本系统主要可以实现以下的管理功能:学生信息管理、院系信息管理、学籍变动管理、教育经历管理、信息查询管理、添加权限管理等等。通过本管理系统能够对学生基本信息进行修改,添加,查询,删除的操作,从而进一步提高学校办学效益和现代化水平,实现学生信息管理工作流程的系统化、规范化和自动化。1.4为用户提供的服务本系统的学生用户主要功能是此系统上的信息查看与查询,为了保障数据库的安全性,特设置一个登录界面,使学生只能进入到学生信息服务的界面。对学生来说,不能修改信息,这样可以保障别人的隐私权,这样在一定程度上做到管理信息的安全性;另外针对工作人员使其进入老师操作的界面,主要是帮助学校进行学生信息的管理、统计及维护,老师根据实际情况来浏览、查询、添加、删除、修改、统计学生的基本信息从而保障一切工作顺利进行。1.4.1该模块的主要任务是添加用户、设置用户权限等功能。1.4.2该模块的功能是实现对全校学生信息的添加、修改、查询,使学校更好的管理学生的信息。1.4.3该模块的主要功能是实现对学生的院系信息的管理工作。1.5系统开发的目标出于本系统是学校学生管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。2、系统分析2.1JSP技术简介JSP(JavaServerPage服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。2.2JSP工作原理JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。2.3JSP体系结构JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。模式一:JSP+JavaBeans技术在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。模式二:JSP+Servlet+JavaBeans技术Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。2.4JSP的特点简化的页面生成技术。JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。与Java平台有机集成。JSP技术是Java2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和JavaAPI,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。硬件平台和服务器无关性。JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(WriteOnce,RumAnywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。功能可扩展性。如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(EnterpriseJavaBean)以及自定义的标记来扩展功能。JSP可以通过JDBC,与诸如Oracle、SQLServer这样的大型关系数据库进行连接。JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。2.5系统数据库连接JDBC技术是JavaDataBaseConnectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(ApplicationProgrammingInterface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBCAPI可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQLServer。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。简单地说,JDBC能完成下列三件事:同一个数据库建立连接;向数据库建立连接;处理数据库返回的结果。JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。很多可视化的Java开发工具,如VisualAgeForJava、VisualCafé、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBCAPI的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。数据库访问的三层结构如图5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。图5.1使用中间件的数据库访问三层结构用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。其模型如图5.2所示。图5.2JDBC的三层模型因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(JavaVirtualLMachine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet对象。数据库连接如图5.3所示:图5.3数据库的连接处理数据库的连接处理具体实现如下://建立JDBC——ODBC桥sun.jdbc.odbc.JdbcOdbcDriver;//桥建立不成功时的错误处理catch(ClassNotFoundExceptionevent){}//建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中 Con=建立JDBC——ODBC桥 Sql=SQL查询语句 执行查询 Rs=返回结果//SQL出错处理 catch(SQLExceptione1){}2.6SQLSERVER2000数据库SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出的最新版本。SQLServer特点:1.真正的客户机/服务器体系结构。2.图形化用户界面,使系统管理和数据库管理更加直观、简单。3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。2.7业务流程分析实体间关系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.8数据存储分析1、数据模型设计。首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。2、再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。3、系统设计3.1大体设计3.1.通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生信息管理、学生成绩管理、课程管理、专业管理、系统管理等功能。3.1.本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。3.2数据库设计数据库采用了Microsoft推出的SQLSever2000数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由于SQLSever2000具有显著的简易性和有效性,大量的桌面数据库系统都采用SQLSever2000作为后台数据库。使用SQLSever2000的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQLSEVER2000Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。3.2.allkecheng表:{课程名称,教材}cj表:{学号,学期,类型,}class表:{年级,班级,教室,年制,专业,备注}classkecheng表:{年级,专业,年制,学期,}jf表:{学号,学期,日期,操作员}kaoshileixing表:{类型}use表:{username,password,admin,readonly,qx1,qx2,qx3,qx4}xj表:{学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间,备注}suefei表:{年级,专业,年制,学期,学费}3.2.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表中,本系统根据不同的用户而设置了不同的权限,可以用123/123为用户名和密码来登陆本系统。}数据库实体表1 }数据库实体表2
数据库实体表34.2系统管理界面本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,从而实现了本系统从班级管理、专业管理、院系管理、课程管理、成绩管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。4.3学生管理4.4院系管理4.5课程发布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)安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。总结在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在学生管理系统中的应用不是很多,但是未来的发展方向,在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本学生管理系统是一套学校在日常管理中必不可少的管理软件,通过开发这个系统,我掌握了的项本过程,了解了的基本知识巩固了我对JSP的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。根据方案,大部分问题均已解决,也已基本实现了预期的目标和功能,但由于方案不成熟,时间紧迫,人力,物力方面的原因,此系统还是有许多地方需要进一步的完善和提高,因而,我们的系统不可避免的有一些不足之处,希望老师们给予批评指正。在本次课程设计中困难遇到不少,比如数据库的连接,全局参数的传递等。在这次系统开发的过程中,我深深体会到了做一个系统,首先进行需求分析的重要性,了解了一个系统的制作,从功能分析到功能模块分析、与其他系统的关系,再到数据库设计、数据库结构实现及各功能模块的创建都需要从整体上考虑设计。这些都有待以后进一步改进。通过实践对于我以后的学习将会带来很大的帮助!这次的毕业设计开发,主要有以下几点收获:1.对原型化的系统开发方法有了一定的了解。渐增式的原型化开发方法与面向对象的程序设计的结合不但能在系统开发初期让用户了解系统的概貌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市西城区2025年三年级数学第二学期期末监测模拟试题含解析
- 贵州黔南经济学院《批判性阅读与写作》2023-2024学年第二学期期末试卷
- 山西工商学院《课堂教学技能训练》2023-2024学年第二学期期末试卷
- 浙江纺织服装职业技术学院《插花艺术》2023-2024学年第一学期期末试卷
- 南京工业大学《建筑安装工程概预算》2023-2024学年第二学期期末试卷
- 供应链可持续性:环境与社会风险管理
- 有机蔬菜种植盒市场调查报告
- 许昌垂直车库施工方案
- 2025年黄金投资分析报告:全球流动与价格波动中的关键信号
- 超长结构厂房施工方案
- 肺结核病人的心理护理
- 2025年开封文化艺术职业学院单招职业技能测试题库含答案
- 2025年辽宁冶金职业技术学院单招职业适应性测试题库有完整答案
- 2025年安徽扬子职业技术学院单招职业适应性测试题库(各地真题)
- 2025年共青科技职业学院单招职业适应性测试题库完整版
- 烟草职业鉴定三级技能考点
- 2025年上半年潜江市城市建设发展集团招聘工作人员【52人】易考易错模拟试题(共500题)试卷后附参考答案
- 2024年江西应用工程职业学院单招职业技能测试题库标准卷
- 新媒体营销(第三版) 课件全套 林海 项目1-6 新媒体营销认知-新媒体营销数据分析
- 2023《住院患者身体约束的护理》团体标准解读PPT
- 星巴克运营管理手册
评论
0/150
提交评论