




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上第1章 开发背景及相关技术介绍1.1开发背景在高校教学活动中,教师的教学质量评价是教学质量监控的关键环节,对提高教学质量和办学效益起着至关重要的作用。因此只有建立完善的教学质量监控体系才能客观公正地评价教师教学工作,激发教师教学的质量意识,全面提高高校教师教学业务水平和教学效果。 然而传统的评教方式在评教的时效性、数据处理的直观和准确性、可操作性等方面已不能很好地满足现代学校的要求。 随着信息技术的快速发展,我们应该充分利用其优势,建立教师评价系统,使学校对教学实现实时监控,及时掌握教学过程中的问题。与传统的纸本评教的做法相比,使用系统进行评教,有
2、以下四个优点:1打破了之前评教方式的局限,可以更科学、更准确地对教师教学的工作进行客观的评价,可以降低评教打分的个人主观性、个人随意性。 2. 因为问卷设计了不同的评教指标,方便从多个不同的角度对学校评教的结果进行更客观分析,提供更科学与准确的数据,大大提高了教学评价的准确度。 3. 提升了原有纸质评教的地域局限性,若将信息网络中心端口对外开放,整个校园网甚至互联网上的所有用户都可以访问本教学评教系统。因而就可以在更广泛的地域、任意时刻都可以用自己的身份访问此系统进行评教,大大提高了教学评教的灵活性,更对于远程异地的教学工作尤显本系统的优越性。
3、;4突破了传统评教耗时、耗力的情况。应用系统,可大大减低教务人员及评价人员的消耗。使评教更加便捷、简单。1.2开发目的 随着计算机技术,网络技术,特别是信息技术的高速发展。动态交互式网页提供了人们对最新信息的需求和发布迫切需要及时性。本系统就是一个能够通过网络实现教师评教系统,能够大大减轻教工人员的工作量,提高办事效率;设计教师教学质量评教系统只是一种手段,作为一名即将毕业的计算机学生,我想 通过它使我可以更好的了解计算机的工作过程,掌握开发语言的使用方法,掌握开发各种项目的工作技能,适应迅猛发展的社会。1.3教学质量评价系统的内容教师教学质量评价系统,包括用户登陆系统、用户管理、用户信息录入
4、、教师评价、统计分析、系统帮助等基本功能实现。用户可根据需要自行设计评价及其评价项目,给出评分标准。1.4 开发技术简介1.4.1 开发语言Java简介Java是一门优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言1。Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发2。1995年6月SUN公司将Java这种革命性的编程语言引进到这个世界,且在同一年,被美国的著名杂志PC Magazine评为十大优秀科技作品之一1。之所以称Java编程语言具有革命性,是因为传统的软件往往依赖于具体的实现环境,环境一旦有所变化就
5、要对软件进行相应改动,耗时费力,而Java编写的软件能在执行码上实现兼容。1.4.2 SQLServer2005简介SQL 即Structured Query Language全称是结构化查询语言, SQL Server 2005是微软公司开发的一个大型的关系数据库系统,它为用户提供了一个安全、可靠、易管理和高端的客户/服务器平台,而且SQL语言有统一的操作规范、操作方式集合化、简单智能化、功能强大、语句简洁和简单易学等特点,便于使用者掌握和使用5。SQL具有如下的优点: (1)SQL是一种非过程化的语言,它采用一次一记录的方式,对数据提供自动导航。SQL允许用户将工作提升到高层的数据结构上,
6、可以对记录集进行操作,并非单个记录。SQL的集合特性允许SQL语句采用嵌套查询的方式,在一条SQL语句中插入另一条语句。 SQL不限定数据的存放方法, 这种特性使用户更易集中精力于要得到的结果11。(2)统一的语言SQL为许多任务提供了命令,包括: 查询数据 在表中插入、在表中修改和在表中删除记录 建立数据表、修改数据类型和删除无用数据 掌控对数据和数据对象的存取 保证数据库的一致性及完整性 (3)是所有关系性数据库的公共语言因为所有主要的关系性数据库管理系统都会支持SQL语言,用户完全可以使用SQL的技能从一个RDBMS转移到其他上。所有用SQL编写任何程序都是可以移植使用的11。1.4.3
7、 TomCat简介本系统的Web服务器选用Apache开元组织提供的TomCat,因为TomCat是一个免费的开元软件是SUN公司推荐的web服务器。它因为技术先进、性能稳定而深受Java开发者的喜爱和部分软件开发商的认可,更重要的是它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发系统常用的功能。另外,TomCat是一个轻量级服务器,在中小型系统和并发用户不是很多的情况下被普遍使用,是开发和调试JSP程序的首选7。1.5 JSP技术简介java服务器页面是由Sun Microsystems公司倡导、其他许多公司参与一起建立的一种技术标准。JSP技术有点类似ASP技术,它是在传统
8、的HTML文件中插入Java和JSP标记,形成JSP文件,后缀名是(*.jsp)。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从中分离出来6。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠6。 1.6 JSP工作原理JSP是面向服务器的,所以支持
9、不同的浏览器。当Web服务器或JSP引擎遭到JSP网页的请求时,JSP引擎会将这个请求对象发送给服务器端的相关组件,比如JavaBean组件等,之后由服务器端组件处理传过来的请求,将会从数据库或数据存储中检索相关的信息,之后服务器端组件将会响应对象的请求返回JSP引擎6。JSP引擎再将响应的对象信息传递给JSP页面,再根据JSP页面的HTML所用的格式完成对数据编排,最后Web服务器及JSP引擎再将格式化后的JSP页面及HTML格式响应给客户浏览器10。这就是目前流行网站构建中广泛采用的浏览器Web服务器后台数据库的三层架构模式。因为JSP所有的程序操作全部都是在服务器端执行,网络上传送给客户
10、端的数据仅仅是得到的响应结果。1.7系统数据库连接JDBC技术是Java DataBase Connectivity的缩写。JDBC是SUN公司提供的一种支持基本SQL语言功能通用的应用程序的接口(Application Programming Interface)。JDBC能完成下列三件事:同一个数据库建立连接;向数据库建立连接;返回数据库处理后的结果。JDBC是JAVA应用程序与数据库的沟通纽带。JDBC提供了服务功能:首先与数据库建立连接。第二将编好SQL语句传递数据库。最后从数据库获得SQL语句执行结果。数据库的连接处理:/建立JDBCODBC桥sun.jdbc.odbc.JdbcOd
11、bcDriver;/桥建立不成功时的错误处理catch(ClassNotFoundException event)/建立和数据库的连接,并发送SQL查询语句,将结果保存到rs对象中Con=建立JDBCODBC桥Sql=SQL查询语句执行查询Rs=返回结果/SQL出错处理 catch(SQLException e1)第2章 系统分析2.1需求分析(1) 用户登录:该功能提供用户的登录服务。用户设置功能只有使用正确的用户密码才能进入。如果用正确密码进入系统,则可具有对教师教学质量的评价权限。否则提示错误。(2) 用户管理:该功能是为用户管理设置的,主要功能是对用户进行添加、删除、修改等。方便用户的
12、管理。(3) 录入信息: 该功能是对数据的录入。其中包括:学生信息录入、院校信息录入、教师信息录入。使用户信息更加完善。(4) 教师评价:该功能是对教师教学质量进行系统的评价。主要功能包括:学生评价、院校(领导、同行)评价、教师自我评价等三个部分。这也是本系统最重要的组成部分之一。用户登陆界面后,可自行对教师进行评价。(5) 统计分析: 该功能是结合教师评价功能而计算出总评价。其中包括:统计结果和查询结果两项。在统计结果中,用户可对前面教师评价进行系统的评价,可以得出对教师的总评价。在查询结果中,用户可以浏览教师被评价的结果,可对该教师有个初步认识。(6) 系统功能:该功能让用户能了解本系统及
13、其使用方法。其中包括:关于、帮助、退出三部分功能。关于:阐述了系统所使用的软件开发工具。帮助:系统的介绍了各个功能模块的应用。退出:退出整个系统。2.2系统功能设计系统要求能够实现以下功能:(1) 要求学生能够进行选课。(2) 要求学生能够对教师进行教学质量评估。(3) 要求教师能够查看评教,以及对同行进行教学质量评估。(4) 要求管理员能够对学生,教师信息进行插入,删除等操作(5) 要求管理员能够对教学质量评估进行统计。2.3 系统设计思想本系统存在3种用户:学生、教师、管理员。学生和教师用管理员给定的帐号、密码登陆页面进行操作。登陆判定上首次基于数据库验证,然后把用户信息写进session
14、,然后其他页面采用session验证。系统结构上采用页面镶嵌程序和语句,工作原理如下图所示5。操作请求,运用SQL语句操作数据库返回查询结果集或操作结果SQL Server 2000用户界面数据库存储层教师教学质量评估系统操作界面图 1在系统结构中,用户界面层通过统一的接口向数据库存储层发送请求,数据库存储层收到请求处理之后把数据返回到用户界面层4。2.4 数据库分析数据库各表之间的关系图图 2数据库各表之间的关系图图3课程数据表,记录学校所开的课程。记录课程名称、课程编号、课程所属年级、学期、班级以及代课老师的编号。主键c_no,c_flag记录该课程是否是选修课(0表示正常课,1表示选修课
15、)。图4教师数据表记录教师的基本信息:姓名、编号、性别、联系方式等。其中d_no对应着院系表的主键d_no,记录教师所属院系。主键t_no。图 5学生数据表是记录学生基本信息的一张表。其中g_no是班级数据表中的主键g_no,表示该学生所属班级。主键s_no图 6专业数据表记录着专业的一些信息,包括专业名称、专业编号等。其中p_no对应着院系数据表中的p_no,表示该专业所属院系。主键d_no图 7班级数据表记录着学校班级信息。它是一张关键表,是连接院系和学生的一张表。其中d_no和p_no分别对应着院系表和专业表的主键d_no和p_no。主键g_no。图 8评价数据表是记录学生或教师对教师的
16、评价数据的一张表。其中t_no表示被评价的教师编号,t_no1表示评价教师编号,c_no表示评价的课程编号。S_no表示评价的学生编号。E_flag表示评价标识(0表示学生评价代课教师,1表示教师评价同行)。图 9院系数据表示记录院系信息的数据表。主键d_no第3 章 系统设计与实现3.1系统功能设计本系统分为学生操作界面、教师操作界面和管理员操作界面。学生界面能完成如下操作3。(1) 个人信息:通过该功能模块,学生能查看自己的信息。(2) 教学质量评价:通过该功能模块,学生对授课教师进行评教。教师界面能完成如下操作:(1) 查看我的评价:通过该功能模块,教师查看自己的评价分数。管理员界面能完
17、成如下操作:(1) 学生管理:通过该功能模块,管理员能够查看学生信息,以及对学生的添加、更新、删除。(2) 教师管理:通过该功能模块,管理员能够查看教师信息,以及对教师的添加、更新、删除。(3) 评价一级指标:通过该功能模块,管理员能够添加和管理一级指标信息。(4) 评价二级指标:通过该功能模块,管理员能够添加和管理二级指标信息。3.2用户登录流程图通过系统功能设计,画出用户登陆流程图如下:登录开始是否登录上查询相关信息结束注册是否是管理员员查询和修改相关信息图 10该版块是对于用户登陆的管理和操作,其中涉及到登陆的权限问题,当用户名为admin或教师时,可以对所有信息进行操作,包括更新,查询
18、,删除等等。普通用户只要浏览信息的权限。3.3 系统功能流程图系统的功能流程如下图:开始选择用户登录教师管理身份认证管理员教师获得用户身份查看信息评价学生学生管理指标管理查看信息图 11系统登陆实现如图:图 12图 13图 14在使用本系统时均需要登录后,才可使用,登录时会让你键入用户名和密码。用户名都是管理员分配给用户的并且具有唯一的标示性,用户不可更改,但是用户可以更改自己的密码。登录时,系统会根据你所输入的用户名和密码,给出相应的提示,若用户名及密码正确,会进入学生的主页面进行相应的操作,若用户名及密码都不正确,会提示重回登陆的主页面再次登陆。其中username和userpasswor
19、d是利用JSP中request对象的getParameter方法从表单中读取的值,同时在代码设计中将值传递给JSP中的session对象,方便在其他页面中使用。3.4 登录模块登录模块的主要功能:用户可直接进行用户类型的选择,用户类型包括:管理员、教师、学生三种。登录界面如图10所示2。1判断是否输入了正确的用户名及正确的密码,若没有输入,则返回,要求用户输入;2判断当前输入的用户名是否存在,若不存在,则返回,要求用户再次输入;3若键入的用户名存在,则读取此用户的数据,再将用户密码与键入的密码进行比较,若密码错误,则返回,要求用户再次输入;4关闭登录窗体。图 153.5 管理员实现管理设计管理
20、员功能模块的主要功能:院系管理,课程管理,人员管理。图 16图 17院系管理:1. 院系添加:功能是添加一个新的院系操作:输入院系名称输入院系的简介图 18代码实现:public int addDepartment(Department department) throws Exception StringBuffer sql=new StringBuffer();sql.append("insert into department ");sql.append("(");sql.append("d_no,d_name,d_introductio
21、n,d_ext1");sql.append(")");sql.append("values");sql.append("(?,?,?,?)");/System.out.println(sql.toString();String arr=department.getD_no(),department.getD_name(),department.getD_introduction(),"0"return ExecuteSql(sql.toString(), arr);2. 院系一览:功能是浏览学校所有院系操
22、作:单击院系一览图 19代码实现:public List<Department> queryDepartments(int pageSize, int pageNo)throws Exception List<Department> list=new ArrayList<Department>();StringBuffer sql=new StringBuffer();sql.append("select top "+pageSize+" * ");sql.append("from department wh
23、ere id not in ");sql.append("(select top "+(pageNo-1)*pageSize+" ");sql.append(" id from department order by id asc)");sql.append(" order by id asc");/desc/System.out.println(sql.toString();ResultSet rs=null;try rs=ExecuteQuerySql(sql.toString();while (rs
24、.next() Department department=new Department();department.setId(rs.getInt("id");department.setD_no(rs.getString("d_no");department.setD_name(rs.getString("d_name");department.setD_introduction(rs.getString("d_introduction");list.add(department); catch (Excepti
25、on e) throw e;finallyClose(rs);return list;3. 专业添加:功能是添加新的专业操作:选择所属院系输入专业名字输入专业介绍代码实现:public int addProfessional(Professional professional) throws Exception StringBuffer sql=new StringBuffer();sql.append("insert into professional ");sql.append("(");sql.append("p_no,p_name,p_
26、introduction,d_no,d_ext1");sql.append(")");sql.append("values");sql.append("(?,?,?,?,?)");/System.out.println(sql.toString();String arr=professional.getP_no(),professional.getP_name(),professional.getP_introduction(),professional.getD_no(),"0"return Execu
27、teSql(sql.toString(), arr);4. 专业一览:功能是浏览所有的专业操作:单击专业一览代码实现:public List<Professional> queryProfessionals(int pageSize, int pageNo)throws Exception List<Professional> list=new ArrayList<Professional>();StringBuffer sql=new StringBuffer();sql.append(" select top "+pageSize+&
28、quot; ");sql.append(" p.id,p_no,p_name,p.d_no,p_introduction,d_name ");sql.append(" from professional as p,department as d ");sql.append(" where p.d_no=d.d_no and p.id not in ");sql.append("(select top "+(pageNo-1)*pageSize+" ");sql.append("
29、; id from professional order by id asc)");sql.append(" order by id asc");/desc/select top 5 p.id,p_no,p_name,p_introduction,d_name/from professional as p,department as d /where p.d_no=d.d_no and p.id not in /(select top 10 id from professional order by id asc) order by id asc/System.o
30、ut.println(sql.toString();ResultSet rs=null;try rs=ExecuteQuerySql(sql.toString();while (rs.next() Professional professional=new Professional();professional.setId(rs.getInt("id");professional.setD_no(rs.getString("d_no");professional.setP_no(rs.getString("p_no");profess
31、ional.setD_ext1(rs.getString("d_name");professional.setP_name(rs.getString("p_name");professional.setP_introduction(rs.getString("p_introduction");list.add(professional); catch (Exception e) throw e;finallyClose(rs);return list;图 20课程管理:1.班级添加:功能是添加新的班级操作:选择所属院系所属专业所属年级
32、临时班级(是/否)输入班级名称代码实现:public int addGradeClass(GradeClass gradeClass) throws Exception StringBuffer sql=new StringBuffer();sql.append("insert into gradeclass ");sql.append("(");sql.append("g_no,g_name,g_flag,p_no,d_no,g_ext1");sql.append(")");sql.append("va
33、lues");sql.append("(?,?,?,?,?,?)");String arr=gradeClass.getG_no(),gradeClass.getG_name(),gradeClass.getG_flag()+"",gradeClass.getP_no(),gradeClass.getD_no(),gradeClass.getG_ext1();return ExecuteSql(sql.toString(), arr);2.课程添加:功能是添加新的课程操作:选择院系选择专业选择班级输入课程名选择年级学期选修(是/否)输入课时输入
34、学分输入人数选择代课老师代码实现public int addCourse(Course course) throws Exception StringBuffer sql=new StringBuffer();sql.append("insert into course ");sql.append("(");sql.append("c_no,c_name,c_grade,c_term,g_no,c_flag,c_hours,");sql.append("c_credit,c_num1,c_num2,t_no1,t_no2&q
35、uot;);sql.append(")");sql.append("values");sql.append("(?,?,?,?,?,?,?,?,?,?,?,?)");String arr=course.getC_no(),course.getC_name(),course.getC_grade(),course.getC_term(),course.getG_no(),course.getC_flag()+"",course.getC_hours()+"",course.getC_credit(
36、)+"",course.getC_num1()+"",course.getC_num2()+"",course.getT_no1(),course.getT_no2();/System.out.print(course.getG_no();return ExecuteSql(sql.toString(), arr);3.评价管理:功能是管理录入的评价操作:单击评价管理;可对评价进行查看与删除代码实现:public int addEvaluation(Evaluation evaluation) throws Exception Str
37、ingBuffer sql=new StringBuffer();sql.append("insert into evaluation ");sql.append("(");sql.append("e_date,s_no,t_no,t_no1,e_flag,c_no,evaluation1,");sql.append("evaluation2,evaluation3,evaluation4,evaluation5,evaluation6,e_content");sql.append(")");s
38、ql.append("values");sql.append("(?,?,?,?,?,?,?,?,?,?,?,?,?)");String arr=evaluation.getE_date(),evaluation.getS_no(),evaluation.getT_no(),evaluation.getT_no1(),evaluation.getE_flag()+"",evaluation.getC_no(),evaluation.getEvaluation1()+"",evaluation.getEvaluati
39、on2()+"",evaluation.getEvaluation3()+"",evaluation.getEvaluation4()+"",evaluation.getEvaluation5()+"",evaluation.getEvaluation6()+"",evaluation.getE_content();return ExecuteSql(sql.toString(), arr);/return ExecuteSqlList(list);图 21人员管理:1.教师添加:功能是添加新的
40、教师操作:输入教师姓名选择院系性别联系电话联系地址选择职称代码实现:public int addTeacher(Teacher teacher) throws Exception Log.Start(this.getClass().getName()+".addTeacher"); StringBuffer sql=new StringBuffer();sql.append("insert into teacher ");sql.append("(");sql.append("t_name,t_no,t_password,t
41、_sex,t_phone,t_address,g_no1,");sql.append("g_no2,g_no3,d_no,t_title,t_level,t_ext1");sql.append(")");sql.append("values");sql.append("(?,?,?,?,?,?,?,?,?,?,?,?,?)");System.out.println(sql.toString();String arr=teacher.getT_name(),teacher.getT_no(),teacher
42、.getT_password(),teacher.getT_sex(),teacher.getT_phone(),teacher.getT_address(),teacher.getG_no1(),teacher.getG_no2(),teacher.getG_no3(),teacher.getD_no(),teacher.getT_title(),teacher.getT_level(),teacher.getT_ext1();Log.End(this.getClass().getName()+".addTeacher"); return ExecuteSql(sql.t
43、oString(), arr);2.教师一览:功能是浏览所有的教师操作:单击教师一览;对教师进行删除操作代码实现:public List<Teacher> queryTeachers(int pageSize, int pageNo)throws Exception List<Teacher> list=new ArrayList<Teacher>();StringBuffer sql=new StringBuffer();sql.append(" select top "+pageSize+" ");sql.appe
44、nd(" t.id,t_no,t_name,t.d_no,d_name ");sql.append(" from teacher as t,department as d ");sql.append(" where t.d_no=d.d_no and t.id not in ");sql.append("(select top "+(pageNo-1)*pageSize+" ");sql.append(" id from teacher order by id asc)");
45、sql.append(" order by id asc");/desc/select top 5 p.id,p_no,p_name,p_introduction,d_name/from professional as p,department as d /where p.d_no=d.d_no and p.id not in /(select top 10 id from professional order by id asc) order by id ascSystem.out.println(sql.toString();ResultSet rs=null;try
46、rs=ExecuteQuerySql(sql.toString();while (rs.next() Teacher teacher=new Teacher();teacher.setId(rs.getInt("id");teacher.setD_no(rs.getString("d_no");teacher.setT_no(rs.getString("t_no");teacher.setT_name(rs.getString("t_name");teacher.setT_ext1(rs.getString(&qu
47、ot;d_name");list.add(teacher); catch (Exception e) throw e;finallyClose(rs);return list;3.学生添加:功能是添加新的学生操作:选择院系选择专业选择班级输入名字输入学号选择性别输入联系号码输入联系地址代码实现:public int addStudent(Student student) throws Exception Log.Start(this.getClass().getName()+".addStudent"); StringBuffer sql=new StringBu
48、ffer();sql.append("insert into student ");sql.append("(");sql.append("s_name,s_no,s_password,s_sex,s_phone,s_address,g_no");sql.append("");sql.append(")");sql.append("values");sql.append("(?,?,?,?,?,?,?)");String arr=student.getS_
49、name(),student.getS_no(),student.getS_password(),student.getS_sex(),student.getS_phone(),student.getS_address(),student.getG_no();Log.End(this.getClass().getName()+".addStudent"); return ExecuteSql(sql.toString(), arr);4.学生一览:浏览所有的学生操作:单击学生一览;可对学生进行删除操作代码实现:public int queryStudentCount() t
50、hrows Exception String sql="select count(*) from student where 1=1"int count=0;ResultSet rs=null;try rs=ExecuteQuerySql(sql);if (rs.next() count=rs.getInt(1); catch (Exception e) throw e;finallyClose(rs);return count;第4章 系统的测试4.1 程序调试 在项目开发的过程中存在大量的代码和程序,存在一些错误是必然的。对于语句的语法错误,在程序部署的时候会自动提示,
51、再次请求立即修正,因此,这类错误通常比较容易找到。但是其他类错误在程序运行时由于错误的操作或者对某些数据的计算公式的业务逻辑错误引起的错误结果。这种错误隐蔽性比较强,有可能会出现,有可能又不出现,所以,对这一类动态发生的错误的检查可谓是非常耗时的10。4.2 程序的测试4.2.1 测试地位的重要性和目的(1)测试地位的重要性软件的测试在软件生命周期中所占据的地位很重要,所以在传统的瀑布模型中,软件测试仅仅处在运行维护阶段之前,是软件产品完成且交给用户使用之前保证软件运行质量的必要手段。现在,软件工程界已经趋向于一种新的观点,认为软件生命周期每一阶段中都必须包含软件测试,检验本阶段的工作成果接近
52、预期目标,尽早的发现错误及以修正错误,若不在早期开发阶段进行软件测试,错误的延时将扩散导致最后软件成品测试的严重困难。 (2)测试的目的 如果测试的目的是为了尽可能多地查找出成品错误,测试就应该直接的针对此成品软件比较复杂的部分或是之前出错比较多的位置7。 软件测试目标是找到软件错误并执行程序全部过程; 测试目的是为证明程序是否错,并不是证明程序一定没有错误; 一个好的测试用例目的在于是否发现目前为止未发现的程序错误; 一个成功的好的测试是为了找到至今并未发现的程序的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 第一,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者找到当前所使用的软件过程的缺陷,更加方便改进8。与此同时,这种分析能帮助工程师设计出更有针对性地检测方法,改进测试有效性。第二,即使是没有发现错误的测试也是有价值的,完整的有效的测试是评定测试质量的一种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆除门框合同协议书
- 购房补充合同协议书
- 阀门销售合同协议书
- 开店合资合同协议书
- 回购合同协议书范本
- 承包安装合同协议书
- 协议书等于合同吗
- 品牌解约合同协议书
- 维修结算合同协议书
- 质量责任协议书合同
- 《新能源材料与器件》教学课件-04电化学能源材料与器件
- 2022年同等学力人员申请硕士学位日语水平统一考试真题
- 游泳池设备操作培训课件
- 城轨道交通人因事故分析及评价研究
- T∕CADERM 2002-2018 胸痛中心(基层版)建设与评估标准
- ZYWL-4000型履带式钻机
- 脑梗死标准病历、病程记录、出院记录模板
- 50MPa路面抗折混凝土配合比
- 油阀座加工工艺与夹具设计说明
- 护士压力与情绪管理PPT课件
- 刘鸿文材料力学习题集(全且附有标准答案)
评论
0/150
提交评论