基于JSP的学生选课系统的设计与实现.doc
廊坊师范学院本科毕业论文 学 号: 姓 名: 李永兴年 级: 2009级 专 业: 计算机科学与技术 论文题目: 基于JSP的学生选课系统的设计与实现 指导教师: 万里威 廊坊师范学院本科生毕业论文(设计)论文题目:基于JSP的学生选课系统的设计与实现论文摘要:目前,运用先进的信息管理系统及软件平台对信息进行科学化和网络化管理己经成为高校信息管理系统的发展趋势,先进的信息管理手段极大提高了信息管理过程的效率和质量。学生选课过程是高校信息管理的一个重要环节,传统的学生选课过程往往采用人工方式进行管理,管理方法落后、效率低、质量差,对学生选课过程进行信息化管理势在必行。本系统主要是针对本院系学生进行公共课选修所开发的一款系统,主要采用的是MVC三层架构和JSP+Servlet+JavaBean技术。本系统的开发严格遵循软件工程的开发过程。在开发过程中首先进行需求分析,确定了其主要的业务流程和信息交互的内容,然后又结合了学校对选课过程的管理标准和要求对系统进行功能设计和数据库设计,最后用Java语言编码实现。关键词: JSP;Servlet;Javabean; MVC Title:Design and implementation of student course selection system based on JSPAbstract:At present, the use of advanced information management system and software platform to conduct scientific information and network management has become the trend of the development of information management system, advanced information management tools can greatly improve efficiency and quality in the process of information management. Student course selection process is an important link in university information management; traditional student selection process often uses artificial management way and backward management methods, which leads to low efficiency and poor quality. Using information management way for student selection process is imperative. This system is mainly aimed at the college students of public elective course, and it uses the three layers of the MVC architecture and JSP+Servlet+Javabean technology. The development process of this system strictly follows the software engineering. In the process of developing the requirement analysis is carried firstly, which determines the main business process and information communication interactive content, and then makes the functional design and the database design of the system combined with the school on the course of process management standards and requirements of, finally using Java language code.Keywords:JSP;Servlet;Javabean; MVC目 录第1章 绪论11.1 系统开发背景及意义11.2 研究论文内容1 1.2.1即时通信原理1 1.2.2swing技术21.3 可行性分析21.3.1 技术可行性21.3.2 经济可行性21.3.2 硬件可行性2第2章 需求分析22.1系统基本功能分析3 2.2 系统的非功能性需求72.2.1 正确性要求72.2.2 健壮性要求72.2.3 精度要求72.2.4易用性要求72.2.5 安全性要求72.2.6 时间特性要求8第3章 系统设计83.1系统总体设计原则83.2系统设计思想83.2.1 c/s设计模式介绍83.3数据库设计93.3.1 数据库表设计93.4系统类设计10第4章 系统实现124.1系统开发技术介绍124.2系统开发工具介绍134.3系统主要功能的实现13 4.3.1注册功能的实现13 4.3.2登录功能的实现14 4.3.3聊天功能的实现15 4.3.4密码修改的实现17 4.3.5用户管理的实现18第5章 软件测试与分析195.1系统测试的目的及意义195.2软件测试的常用方法205.3 测试环境205.4 测试总结20第6章 结束语21参考文献22致谢23第1章 绪论1. 1 系统开发背景及意义计算机的出现给人类社会带来了第三次工业革命,计算机和计算机网络已经深入到了各行各业、各个领域。21世纪是一个信息化的时代,现代计算机技术的发展,为各行各业的发展创造了一个全新的时代背景,人们的生活、工作已经越来越离不开计算机技术的运用。当前的管理信息系统已经发展为集成了计算机网络技术、通信技术、信息处理技术,对信进行收集、传递、存储及加工处理,用于辅助决策进行事务管理的一种人机交互的智能化计算机系统。在学校中,信息管理系统已经涉及到教育教学的各个方面,从学生教师管理到考试安排、成绩统计等,都通过信息管理系统来高效地运作。同时,学校管理中的学生选课过程也提出了相应的要求。为了满足学生选课管理的要求,需要设计与制作一个学生选课系统。传统的学生选课过程往往采用人工方式进行管理,管理方法落后、效率低、质量差,而基于计算机技术的学生选课系统实现了对整个学生选课过程的系统化、规范化、无纸化管理。学生选课系统对用户而言操作起来简便快捷,能减轻学生、教师的劳动强度,提高工作效率与管理水平,具有很大的使用价值。1. 2研究现状现在很多学校仍然采用手工方式管理学生选课过程,随着学校学生人数的增加和新课程的不断开设,必然会造成工作效率低、错误增加等严重问题。有些高校已经意识到自己学生选课管理过程中存在的问题,并且开始着手设计与开发现代化的学生选课系统;个别高校的学生选课系统已经开始投入运行,并受到全体学生和老师的一致好评。由于学校与学校之间对学生选课环节的具体管理标准和要求不同,设计与开发针对本校的学生选课系统仍旧势在必行。1. 3可行性分析可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功2。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。下面将分别从技术、经济、社会三个方面对网络教学平台的建设进行分析和研究。1. 3. 1技术可行性 技术可行性:系统采用Java语言进行开发,主要使用MVC三层结构进行系统架构,采用JSP+Servlet+Javabean技术实现。JSP页面主要实现视图层;Servlet实现控制器部分,负责进行流程控制;Javabean实现模型部分,主要负责封装数据及实现业务逻辑。整个系统层次划分清晰、明确。现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。 学生选课系统的开发在技术上可行。1. 3. 2经济可行性传统学生选课过程主要采用手工方式进行管理,管理效率低、质量差、错误多,需要耗费大量的人力、物力。各大高校具有信息化的处理设施,并且拥有支持本系统的应用平台,因此无需再投入资金购买其他设施。系统的开发基于本人对程序开发的实践学习而来,学校无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。学生选课系统的开发在经济上可行。1. 3. 3社会可行性本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。(1)法律因素本系统是根据学生选课的实际情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。(2)用户使用可行性本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。、由以上分析可知,本系统具有社会可行性。第2章 需求分析2.1 学生选课系统介绍学生选课管理工作是学校教务管理系统中一个非常重要的环节,它负责安排整个学校学生和教师的上课情况。高效、现代化的学生选课管理可以提高学校教务管理的效率,降低人力、物力的投入,减少选课过程中发生的错误。学生选课系统是一个面向学校教务管理人员、任课教师和学生,可以为他们提供高效、现代化、科学的选课管理过程,是现代高校进行选课管理必不可少的办公软件。学生选课系统采用B/S模式开发。2. 2系统的功能性需求通过对学生选课系统进行需求分析,可以确定学生选课系统主要有三类用户:系统管理员、教师和学生。每类用户实现的功能各不相同,下面分别针对每类用户介绍系统的功能。系统管理员通过本系统可以实现密码修改功能、系统管理功能、课程管理功能、老师管理功能、课表管理功能、学生管理功能、登录功能。管理员的系统用例图如下图所示。图2-1管理员用例图学生通过本系统可以查看个人信息、在线选课、查看课表、登录系统。学生用例图如下图所示。图2-2学生用例图教师通过本系统可以查看个人信息、登录系统、查看课表。教师用例图如下图所示。图2-3教师用例图通过对系统功能的进一步分析,可以得到各个用例的详细描述。由于系统用例过多,现选取登录系统、在线选课、查看课表等几个系统主要用例进行详细描述。如下表所示。表2-1用例描述表用例名称用例描述登录系统Ø 用例说明:用户对登录系统功能的使用Ø 前置条件:系统运行正常Ø 基本事件流: 1用户发出使用系统请求2系统显示登录页3用户输入用户名和密码4系统进行用户验证5系统显示用户登录后首页Ø 次要事件流: 4.1.1 用户输入的用户名或密码不正确 4.1.2系统给出相应提示 4.1.3 返回基本事件流2Ø 后置条件:系统准备处理下一个用户请求在线选课Ø 用例说明:学生实现在线选课功能Ø 前置条件:学生已成功登录系统且系统运行正常Ø 基本事件流:1. 学生向系统发出选课请求2. 系统向学生显示选课列表3. 学生选择相应课程4. 系统对能否选课进行判断5. 系统向用户显示选课成功Ø 次要事件流: 4.1.1 当前课程不可重复选择 4.1.2 系统给出提示 4.1.3 返回基本事件流2后置条件:无查看课表Ø 用例说明:用户实现查看课表功能Ø 前置条件:用户成功登陆系统Ø 基本事件流:1. 用户向系统发出 查看课表请求2. 系统检索当前课表3. 系统向用户显示课表Ø 次要事件流: 2.1.1 当前系统中无课表信息 2.1.2 系统向用户无课表信息 2.1.3 返回基本事件流1Ø 后置条件:无密码修改Ø 用例说明:管理员实现修改密码功能Ø 前置条件:管理员成功登录系统Ø 基本事件流:1. 管理员向系统发出修改密码请求2. 系统提示管理员输入原密码和新密码3. 管理员输入原密码和新密码4. 系统验证管理员输入是否为空5. 系统验证原密码是否正确6. 系统处理管理员修改密码请求7. 系统向管理员显示密码修改成功的消息Ø 次要事件流: 4.1.1管理员输入的原密码和新密码中至少存在一项为空 4.1.2 系统提示管理员新密码或原密码为空 4.1.3 返回基本事件流2 5.1.1 管理员输入的原密码不正确 5.1.2 系统提示管理员原密码不正确 5.1.3 返回基本事件流2Ø 后置条件:密码修改成功添加课表Ø 用例描述:管理员实现添加课表功能Ø 前置条件:管理员成功登录系统Ø 基本事件流:1. 管理员向系统发出添加课表请求2. 系统向管理员显示添加课表界面3. 管理员向系统发出添加课程请求4. 系统显示当前课添加课程5. 管理员添加课程6. 管理员添加上课时间、节次、上课教室7. 管理员添加任课教师8. 管理员发出添加完成请求9. 系统处理请求10. 课表添加完成Ø 次要事件流: 4.1.1 系统中不存在课程信息 4.1.2系统给出系统中不存在课程信息的提示 4.1.3 返回基本流1 7.1.1 系统中不存在任课教师信息 7.1.2 系统给出不存在任课教师信息的提示 7.1.1 返回基本流1 9.1.1 管理员添加课表与原有课表冲突 9.1.2 系统给出课表与原有课表冲突的提示信息 9.1.3 返回基本流1Ø 后置条件:表2-1用例描述表2.3系统的非功能性需求2.3.1 正确性要求系统能够正确地将用户分为系统管理员、教师和学生三类,并能够分类处理每类用户的请求。系统应能够准确获取外部信息以及用户操作,并进行正确的数据处理,最后将结果存入数据库中。学生在线选课过程中,要求系统对学生的重复选课选课做出正确判断并给出相应提示信息。2.3.2 健壮性要求该系统部署后,在硬件条件和支持软件条件没有发生变化的情况下,能够一直保持运行状态,直到系统被升级或替代。本系统出现的错误多为数据库错误,应经常对数据库进行备份,必要时能够采取数据库恢复措施,解决系统出现的问题,保证系统正常运行。2.3.3 精度要求系统处理的主要信息为学生、管理员、教师三类用户的个人信息以及涉及到选课的课程信息和课表信息,对数据精度无特殊要求。2.3.4 易用性要求界面要求清晰醒目、布局合理、功能明确。对各个功能辅以已让使用者容易接收的图标,并用色彩的区别加以提示,是使用者能够快速、准确的掌握正确使用该系统的方法和技巧。对电脑使用熟练的用户适应操作方法所需时间不超过半个小时,知道电脑基本操作的用户经过简单培训,一小时就可以熟练掌握软件的使用方法。2.3.5 安全性要求本系统不影响其他软件的正常运行,而且不会被人故意修改或植入恶意程序。不会造成内存泄露,数据丢失等问题。应能够保证用户数据和账号的安全。 2.3.6 时间特性要求对于信息查询操作,考虑到网络数据传输速度的影响,系统应在5秒之内给出结果。对于其他操作,系统应在3秒内给出处理结果。第3章 系统设计3.1系统总体设计原则本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。其主要设计原则有:简单性:在实现系统的功能的同时,尽量让系统界面简洁清晰、操作简单易懂,这对于一个系统来说是非常重要的。针对性:本系统设计是针对高校学生选课的需求定向开发设计,所以具有专业突出性和很强的针对性。实用性:要求本系统能够满足高校学生选课管理的需要,因此具有良好的实用性。一致性:页面整体设计风格以及命名规则的一致性:整体框架和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。3.2系统设计思想3.2.1 MVC设计模式介绍MVC架构模式是模型(Model)、视图(View)和控制器(Controller)3个英文单词的首字母组合。MVC模式是目前用的比较多的一种设计模式。MVC包括三类对象:Model是应用对象,View是在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。MVC应用程序设计结构有助于将应用分割成若干逻辑部件,是程序设计变得更加容易。模型(Model):“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。视图(View):视图代表用户交互界面,用来组织模型中的内容,从模型中获得数据并指定这些数据如何表现。当模型变化时,视图负责维持数据表现的一致性。视图同时将用户请求告知控制器。一个应用程序可能有很多不同的视图,MVC设计模式对视图的处理仅限于视图上数据的采集和处理以及用户请求,而不包括在视图上的业务流程的处理。业务流程交予模型处理。控制器(Controller):控制器的工作就是根据用户的输入,控制用户界面数据显示和更新模型对象状态。控制器定义了应用程序的行为:负责对来自视图的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个属兔作为对用户请求的的应答。通常一组相关功能集对应一个控制器。MVC模式内部模型、视图和控制器三者之间的关系如下图所示。图3-1 MVC之间的关系图3.3.2 设计思想本系统采用MVC设计模式进行设计,分别详细设计MVC中的模型、视图和控制器部分。系统采用面向对象的设计方法,用实体类实现MVC中的模型部分,主要负责数据的封装和业务逻辑的实现;用边界类实现MVC中的视图部分,边界类即系统中负责数据显示的页面;用控制类实现MVC中的控制器部分,负责处理系统的业务流程。3.3数据库设计数据库设计是系统设计中非常重要的一个环节。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。3.3.1数据库表设计(1)管理员信息表(t_admin)管理员信息表主要用于系统管理员的信息,主要字段包括:管理员编号、登陆账号、登陆密码。表4-1 管理员信息表(t_admin)字段名数据类型字段描述长度约束userIdInt管理员编号4主键userNamevarchar登陆账号50userPwvarchar登陆密码50(2)课程信息表(t_kecheng)课程信息表主要存储管理员发布的课程信息,主要字段包括:课程编号、课程号、课程名称、课时。表4-2课程信息表(t_kecheng)字段名数据类型字段描述长度约束idint课程编号4bianhaovarchar课程号50主键minchengvarchar课程名称5000keshivarchar课时4(3)学生信息表(t_xuesheng)学生表主要存储学生的基本信息,主要字段包括:学生编号、学号、姓名、性别、年龄、班级、登录帐号、登录密码等。表4-3学生信息表(t_xuesheng)字段名数据类型字段描述长度约束idint学生编号4xuehaovarchar学号50主键xingmingvarchar姓名50xingbievarchar性别50nianlingint年龄4banjivarchar班级50loginnamevarchar登录帐号50loginpwvarchar登陆密码50(4)老师信息表(t_laoshi)老师信息表主要存储老师的基本信息,主要字段包括:教师编号、教师号、姓名、性别、年龄、登录帐号、登录密码等。表4-4老师信息表(t_laoshi)字段名数据类型字段描述长度约束idint教师编号10bianhaovarchar教师号50主键xingmingvarchar姓名50xingbievarchar性别50nianlingint年龄50zhichengvarchar职称50loginnamevarchar登录账号50loginpwvarchar登陆密码50(5)课表信息表(t_kebiao)老师信息表主要存储课表的基本信息,主要字段包括:课表编号、课程id、上课时间、节次、上课教室、老师id。表4-5课表信息表(t_kebiao)字段名数据类型字段描述长度约束idint课表编号10kecheng_idint课程id4主键外键shijianvarchar上课时间50主键jiecivarchar节次50jiaoshivarchar上课教室50laoshi_idint老师id4主键外键(6)学生选课信息表(t_xuesheng_xuanke)老师信息表主要存储学生选课的基本信息,主要字段包括:编号、学生id、课表id等。表4-6学生选课信息表(t_xuesheng_xuanke)字段名数据类型字段描述长度约束idint编号4xuesheng_idint学生id4主键外键kebiao_idint课表id4主键外键3.4系统详细设计系统详细设计主要采用MVC模式进行设计,按照面向对象的方式抽象出系统中的实体类、控制类和边界类。3.4.1 系统包设计按照MVC设计模式进行系统设计,为了使系统的层次结构和功能划分更清楚,将系统中的实现不同功能的类放入不同的包中进行组织。本系统共设置四个包,其中model包中存放实体类;service包中存放控制类;servlet包中存放系统中所有角色都会用到的公共行为类,如登录系统;util包中存放系统中所有类都会用到的一些底层方法,util包中的类把系统中所有类都会用到的底层方法封装起来供其他类调用。系统包图如下图所示。 图3-2 系统包图3.4.2 实体类设计实体类主要负责存储数据,按照面向对象的设计方式,将数据库中的每一张表映射成一个实体类。实体类类图如下图所示。图33实体类类图3.4.3 控制类设计控制类主要负责流程控制,通常为一组相关功能设置一个控制类。控制类类图如下图所示。图34控制类类图3.4.4 边界类设计边界类对应MVC架构中的视图部分,代表用户交互界面,用来组织模型中的内容,从模型中获得数据并指定这些数据如何表现。在此处边界类指JSP页面,通常用户的每个功能都应一个页面,也可将各类用户的公共功能对应成一个页面,例如登录页面。系统页面设计如下表所示。表4-7边界类设计表用户登录页面登录用户:学生、管理员、教师。用户填写用户名、密码和用户角色,登录成功则显示相应的主界面,登录失败则返回。管理员主页管理员成功登录系统后显示管理员主页,本页显示管理员可以实现的各种功能。管理员修改密码页面管理员填写原密码和新密码,若原密码正确则将原密码修改为新密码系统管理页面管理员可以管理系统中的所有管理员,可以添加新管理员和删除现有的管理员课程管理页面管理员可以查看现有课程,删除现有课程课程添加页面管理员可以添加新课程老师管理页面管理员可以删除系统中登记的教师,查看系统中登记的教师老师录入页面管理员可以添加教师课表管理页面管理员可以查看系统中的课表信息,删除课表课表添加页面管理员可以向系统中添加新课表学生管理页面管理员可以查看系统中的学生信息,删除学生信息学生添加页面管理员可以向系统中添加学生查看个人信息页面教师和学生登录成功后可以查看个人信息教师查看课表页面教师可以查看自己的课表学生选课页面学生可以查看系统中的登记的课程并选课学生查看已选课程页面学生可以查看已选课程3.4.5 底层方法类设计按照面向对象的设计方法,在设计过程中进行类的抽象。将系统中所有类都会用到公共功能单独封装起来做成单独的类,在底层为其他类提供接口。考虑到Web应用程序是针对数据库编程,系统不可避免地还会用到与数据库相关的一些功能,例如建立数据库连接、执行SQL语句并返回结果集以及对数据库数据和网页数据编码方式的转换。为此单独建立一个数据库方法类,将建立数据库连接、执行SQL语句并返回结果集的功能封装到数据库类中;单独建立一个编码方式转换方法类,封装编码转换的功能。第4章 系统实现4.1系统开发技术介绍结合本系统开发的特点,我采用 Microsoft SQL Server 2000 做后台数据库管理系统,同时我又选择了功能强大的Java语言作为开发工具,利用软件工程的思想和方法,总体上先采用结构化生命周期法进行系统分析与设计,然后采用快速原型法来实现本系统。本系统采用java语言,是因为Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。 它具有简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等特性。Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。系统采用Microsoft SQL Server 2000 做后台数据库管理系统则是因为SQL Server 2000可信任度非常高,使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。同时它是高效智能的,使得公司可以降低开发和管理他们的数据基础设施的时间和成本,并且提供了一个全面的平台,可以在用户需要的时候给他发送信息。4.2系统开发工具介绍开发过程中,主要要用到的开发工具(如表1-1所示)。表4-1 开发工具简介表工具名称工具介绍eclipse是一个十分优秀的用于开发Java,支持J2EE开发,eclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。Tomcat一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,利用它响应对HTML、JSP 页面的访问请求。Dreamweaver唯一提供Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。SQL Server2000一种稳定的数据库管理系统,适合大型项目开发。 IE浏览器IE浏览器是微软开发的浏览器,功能强大,稳定性强,适用范围广。Photoshop集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件,用于一些前台界面,文档中所需图片的处理。4.3基于MVC结构的系统结构的实现系统主要采用jsp+javabean+servlet技术实现。jsp页面实现抽象的边界类,即MVC架构中的视图部分;javabean实现设计中抽象出的实体类,即MVC架构中的模型部分;servlet实现设计中抽象出的控制类,即MVC架构中的控制器部分。实体类对应数据库中的表,数据中的每张表映射成一个实体类,数据库中表的字段映射成实体类的变量,再为变量添加相应的set和get方法即可。控制类主要采用Servlet技术实现,是MVC架构中的控制器部分,主要负责流程控制。通常为针对一个实体的一组相关操作设置一个控制类。由于系统中控制类较多,仅列举管理员控制类admin_servlet进行说明。管理员控制类实现对管理员实体的一组相关操作,管理控制类主要实现添加管理员操作、删除管理员操作、管理管理员操作。本系统中的边界类即JSP页面,采用JSP技术实现即可。采用jsp+javabean+servlet技术,基于MVC架构的系统实现如图4-1所示。图4-1基于MVC的系统实现图4.4系统主要功能的实现(1) 用户登录功能的实现学生、教师管理员三类用户共用一个登录界面。用户进入登录界面后,输入用户名、密码和用户角色,然后点击登录进行系统验证,如果输入正确则提示登录成功并跳转到相应角色对应的首页。图4-2 用户登录界面图4-3 用户登录序列图(2) 管理员添加课程功能的实现管理员进入管理员主页后点击添加课程,系统显示添加课程界面,管理员输入课程编号、课程名车和节次信息,如果新添加课程与现有课程无冲突则提示添加成功。图4-4管理员添加课程界面图4-5管理员添加课程序列图(3) 管理员删除课程功能的实现管理员进入管理员主页后点击管理课程进入课程管理主页,管理员点击删除课程,如果课程删除成功系统会给出提示。图4-6理员添加课程界面图4-7理员添加课程序列图(4) 管理员修改密码功能的实现管理员输入原密码和新密码后点击修改按钮,系统处理管理员的修改请求,若修改成功则给出修改成功的信息提示,如果原密码不正确则会给出原密码不正确的提示。图4-8理员修改密码界面图4-9理员修改密码序列图(5) 学生在线选课功能的实现学生进入学生主页后,点击进入选课界面,系统显示课程列表,学生点击选课,如果没有重复选课则会提示选课成功,如果重复选课则会提示重复选课。图4-10在线选课界面界面图4-11生在线选课序列图(6) 教师查看课表功能的实现教师进入教师主页后,点击进入课表浏览页,系统跳转到课表浏览页并显示当前课表信息。图4-12师查看课表界面图4-13师查看课表序列图第5章 软件测试与分析测试是开发时期最后一个阶段,是保证软件质量的重要手段。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。5.1系统测试的目的及意义软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。5.2软件测试的常用方法程序测试的主要方法分为两大类,白盒测试和黑盒测试。白盒测试:一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。黑盒测试:也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用。5.3 测试环境处理器:Inter(R) Core (TM) 2 Duo T6750内存:2GB硬盘:250GB操作系统:Windows7旗舰版数据库:SQL Server 2000服务器:tomcat6.0浏览器:Google chrome5.4 测试总结通过对系统的全面测试,所有测试条目都已经通过,实现了基本要求,系统可以正常运行。第6章 结束语本文在分析管理流程的基础上,用JSP和Sql Server2000设计并实现了学生选课。通过系统调试结果显示,本系统基本完成了功能需求,界面美观友好,操作方便。但由于时间仓促加上缺乏系统开发经验,系统在设计过程中不可避免地遇到了各种各样的问题,如:第一,有些数据输入时没有及时的进行数据格式校验,不能保证数据绝对正确性。第二,由于时间关系,系统功能实现不够完善,使用不是很方便。当然系统中还存在很多的不足,与目前各大高校应用的学生选课系统相比还有很大的差距,还有许多需要改进的地方。参考文献1 陈雷,尚冰,杨光等.教师教学档案信息管理系统的设计研究.辽宁中医学院学报(第五卷第4期),2