JAVA中学教学信息管理系统

上传人:s**** 文档编号:70236515 上传时间:2022-04-06 格式:DOC 页数:28 大小:742KB
收藏 版权申诉 举报 下载
JAVA中学教学信息管理系统_第1页
第1页 / 共28页
JAVA中学教学信息管理系统_第2页
第2页 / 共28页
JAVA中学教学信息管理系统_第3页
第3页 / 共28页
资源描述:

《JAVA中学教学信息管理系统》由会员分享,可在线阅读,更多相关《JAVA中学教学信息管理系统(28页珍藏版)》请在装配图网上搜索。

1、. . . . 中学教学管理信息系统的开发Development of Middle SchoolEducational Management Information System目 录摘要IABSTRACTII第1章绪论11.1 开发背景与意义11.2 系统简介21.3 开发软件简介2第2章系统分析和数据库设计52.1 可行性分析52.1.1 技术可行性52.1.2 经济可行性52.1.3 社会可行性52.2 系统需求分析62.2.1 系统框架图62.2.2 数据流图62.3 数据库设计7第3章系统设计103.1 学生信息管理103.2 教师信息管理133.3 班级信息管理143.4 公告信

2、息管理163.5 上传下载管理173.6 信息管理183.7 底层数据库操作代码示例18第4章系统的配置204.1 服务器端配置204.2 程序运行辅助配置20第5章系统测试235.1 测试方案235.2 测试流程235.3 测试用例245.3.1 输入数据测试245.3.2 功能测试24结论25参考文献2624 / 28摘 要随着计算机应用技术的飞速发展,用计算机参与管理已经成为各行各业管理者的最佳选择。在教育领域,很多学校都在尝试用计算机管理取代传统的人工纸介质管理方式。因此,基于网络的教学管理信息系统对于学校管理来说意义重大。本文结合所做的“中学教学管理信息系统”,首先简单介绍系统的开发

3、背景和开发工具。然后,从理论上,技术上进行可行性分析,确定系统整体框架和功能模块,并根据系统需求对数据库进行详细设计。接着,对在此基础上所设计的系统开发方案进行详细的论述;对开发过程中所涉与到的诸多技术要点进行分析,对在系统开发中必不可少的一些框架的配置文件进行简单说明。最后通过对系统进行调试和测试,简单分析系统运行的效果,发现系统中存在的问题并改正。关键词教学管理信息系统,Jsp技术,Struts框架,Hibernate框架ABSTRACTWith the rapiddevelopment of application of computer technology, computers ma

4、nagement of businesses and managers has become the best choice. In the field of education, many schools are trying to use computer management to replace traditionallyartificial printing management. Therefore, the Web-based Teaching Information Management System has significant meaningfor school mana

5、gement.This paper introduces Middle School TeachingInformation Management System. Firstly, it elaborates thebackground and development tools ofthe system briefly. Secondly, from a theoretical and technical point, it made feasibility analysis, determined the overall framework and functional modules o

6、f the system, and made a detailed database design under the demand of the system. Then, the paper presents the development programs of the system in detail, analyzed the important techniques in the development process, and made a brief explanation to the configuration files of the essential framewor

7、k. Finally, through debugging and testing the system, it made a simple analysis about operation results, foundthe existing problems and improved them.KeywordsTeach Information Management System, JSP Technology, Struts Framework, Hibernate Framework第1章 绪论教学管理信息系统是一个学校实现管理现代化必不可少的软件设施。该系统应该具备良好的对于班级、教

8、师、学生、公告信息进行录入、维护、查询等功能的快捷操作手段。传统的人工管理方式与计算机管理相比有太多的缺陷,比如效率低,随着时间的增加将产生大量的文件堆积等,极不利于信息的查询、更新和维护。因此,开发针对中学的教学管理信息系统非常有必要,而且也很有意义。本章主要从信息技术的发展对当今社会的影响对教学管理系统开发的背景与意义做一个简单的描述,并介绍了本系统所具备的功能与其在学校日常管理中所起的作用,同时还对本系统所采用的开发环境与开发模式做了详细的介绍。1.1 开发背景与意义电子信息技术的发展,使人类文明进入一个崭新的时代。电子信息技术的推广和应用,是当今社会技术革命的潮流。在振兴经济的过程中,

9、起着有效的加速器作用,同时它也冲击着社会生活的各个角落,使人们的观念发生着深刻的变化。如何利用信息技术实现企事业单位现代化管理,是发展生产力、提高综合国力、加快我国社会主义现代化建设事业的一件大事。近年来我国计算机应用进展很快,正在跨入一个新的阶段。并且随着计算机的普与,越来越多的单位使用计算机进行信息管理,建立了基于Web方式的管理信息系统。教育的信息化是现代教育发展的必然趋势,然而当前很多学校的管理方式还停留在人力管理上,这样不仅浪费了人力资源也浪费了大量的时间并且在管理的时候难免会出现差错,这样的管理显然已经不能适应信息时代的发展。引入教学管理系统,使用计算机来对教学信息进行管理,不仅能

10、够大大提高了教学管理的效率,优化教学管理的质量,提高学校的整体管理水平,还可以节省大量的人力、物力,为学校的管理质量提供质的飞跃。为此,开发一款针对学校管理的软件,是非常必要的。1.2 系统简介教学管理信息系统是为了更好的管理学校的教学工作,为学校的教学管理提供可靠、高效的管理方式。因此该管理系统应具有的功能有:招生管理、学籍管理、教务管理、学生选课管理、事务处理、教务信息的发布以与辅助管理系统等。由于该系统规模庞大,任务繁多,再加上时间问题,本系统只选择了其中的学生,教师,班级基本信息管理部分。学生信息管理子系统必须与学生选课系统、学生成绩管理系统等协同工作,对学生从入学到毕业的所有信息进行

11、管理,包括学生的基本信息、学生的缴费信息、注册信息、学生的选课信息、学生各个学期的考试成绩、学籍的变动以与毕业资格的审查等信息进行管理。教务处理子系统主要对教职人员的基本信息、课程信息、班级信息、毕业生的毕业论文、学校的实验教学信息进行管理,同时还要进行奖学金的评定,确定获奖学生的信息,处理日常的教学事务。班级管理子系统主要对班级的基本信息的注册、修改、查看、删除,以与对学生的分班管理等。1.3 开发软件简介本系统以MyEclipse作为开发工具,采用基于MVC的Struts框架的设计模式,使系统更加的可靠、安全,同时对于数据库操作采用了Hibernate框架。Struts是一个基于Sun J

12、2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架,因而受到了众多的开发人员的青睐。MVC是一个设计模式,它强制性的把应用程序的输入、处理和输出分开,使用MVC应用程序被分成三个核心部件:模型、视图、控制器。Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关:

13、(1)模型(Model),Struts为Model部分提供了Action和ActionForm对象:所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户端表单数据。通过ActionForm组件对象实现了对View和Model之间交互的支持。Struts通常建议使用一组JavaBean表示系统的部状态。(2)视图(View),Struts应用中的View部分是通过JSP技术实现的。Stru

14、ts提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的Model部分交互,通过使用这些自定义标记创建的JSP表单,可以实现和Model部分中的ActionForm的映射,完成对用户数据的封装,同时这些自定义标记还提供了像模板定制等多种显示功能。 (3)控制器(Controller),控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中Controller功能由图中ActionServlet和ActionMapping对象构成:核心是一个Servlet类型的对象。(4)一堆用来做XML文件解析的工具包,Struts是用XML来

15、描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息(通过ApplicationResources.properties资源文件来实现)。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用E的J2EE架构中取代CMP,完成数据持久化的重任。Hiberna

16、te 从本质上来讲是一种“对象关系型数据映射”(Object Relational Mapping 简称ORM)ORM模式如图1-1所示。图1-1 ORM模式图第2章 系统分析和数据库设计任何一个系统的开发,都是建立在对系统充分分析的基础之上的。系统分析最重要的目的就是确定系统的可行性,明确系统的需求,并最终设计一个系统解决方案。本章针对中学教学管理信息系统,分别从技术可行性、经济可行性、社会可行性方面进行可行性分析,并用业务流程图和数据流图的形式对系统作了简单的需求分析,最后介绍数据库的设计情况。2.1 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在开发项目之前

17、,必须根据系统开发的时间和资源条件进行可行性研究。在确定系统可行性的基础上,分析系统的需求,然后根据需求进行数据库的设计。2.1.1 技术可行性本程序采用基于struts架构的MVC开发模式,使系统在界面逻辑和业务逻辑分离,系统结构清晰,易于维护。在视图层,采用Jsp技术,对于底层数据库操作,采用Hibernate框架。由此可知,本系统的开发在技术上没有问题。2.1.2 经济可行性本系统采用了J2EE技术,具有较好的可移植性。系统对于服务器端配置并无特殊要求,只需一台配置Tomcat和Jdk的普通计算机即可,因此系统在经济上完全可行。2.1.3 社会可行性由于本系统完全采用图形界面,操作极其简

18、单,对管理员技能和学历上的要求极低,只要识字就能完全满足对本系统的操作要求。并且只需对相关人员进行简单培训甚至可以不经过系统的培训,他们即可顺利使用本系统。2.2 系统需求分析系统需用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。系统需求分析有助于开发人员对于系统的要求有一个精准的了解,并有助于将用户需求转化为相应的功能划分定义。需求分析所要完成的基本任务是准确地定义新系统的目标,满足用户需要,回答系统必须做什么的问题。2.2.1 系统框架图系统框架图描述了本系统各个模块之间的业务关系,表现了操作顺序和数据流动的过程。对于本系统而言,需求分析的重点是准确描述出系统的工作业务流程,通

19、过采用框架图中的部分图形来对教学管理信息活动进行规化说明。下面对系统的功能模块进行分析,如图2-1所示。图2-1 系统框架图2.2.2 数据流图对于本系统而言,在对上述业务流程图进行分析的基础上,将系统所需的各种功能和彼此之间的联系自顶向下、逐层分解,即得能在逻辑上精确地描述出新系统应具有的数据加工功能、数据输入、数据输出、数据存储与数据来源和去向(外部项),如图2-2所示。图2-2 顶层数据流图根据顶层流程图我们对系统的各个功能进行细化,并结合用户需求将此系统按功能分为用户信息管理、班级信息管理、教师信息管理、学生信息管理、公告信息管理、上传下载管理等子功能。用户登录后进入相应操作界面,可依

20、据其权限选择相应的功能模块进行操作。2.3 数据库设计针对项目需求,对数据库表结构进行了设计,如图2-3所示。以上是对数据库的整体设计,下面对每个数据库表进行设计。学生信息表:主要用来存储学生的基本信息,包括:学号、民族、性别、出生日期、政治面貌、籍贯、等等。如表2-1所示。表2-1 学生基本信息表(student)序号字段名称字段描述类型1id代理主键数字2studentId学号文本3studentName文本4studentNation民族文本5studentSex性别数字6grade年级文本7studentBirth出生日期日期/时间8studentPoli政治面貌文本9studentH

21、omeTown籍贯文本10email文本11cellPhone手机文本12telephone文本13eduExperience教育经历文本14prize获奖情况文本15comment评价文本16flag删除标识数字班级信息表:主要用来存储班级管理的基本信息,包括年级、班级号、班级类型、班主任编号等等,如表2-2所示。表2-2 班级信息表(classes)序号字段名称字段描述类型1Id代理主键数字2grade年级文本3classId班级号数字4classType班级类型数字5classDirectorId班主任编号文本6classIntroduction备注文本7flag删除标识数字信息表:主要

22、用来存储系统用户的信息,包括、密码、角色、删除标识等,如表2-3所示。表2-3 信息表(user)序号字段名称字段描述类型1Id代理主键数字2userCode文本3userName文本4userPassword密码文本5userRole角色文本6flag删除标识数字公告信息表:主要用来存储发布的公告信息,包括公告标题,发布日期,作者,删除标识等,如表2-4所示。表2-4 公告信息表(article)序号字段名称字段描述类型1Id代理主键数字2articleTitle公告标题文本3articleDate发布日期日期/时间4AuthorId作者编号文本5authorName作者文本6flag删除标

23、识数字教师信息表:主要用来存储教师的基本信息,包括,编号,民族,性别,学历,出生日期,毕业学校,专业,籍贯,教育背景,工作经历等,如表2-5所示。表2-5 教师信息表(teacher)序号字段名称字段描述类型1Id代理主键数字2teacherName文本3teacherCode编号数字4teacherNation民族文本5teacherSex性别文本6degreeId学历编号数字7teacherBirth出生日期日期/时间8proCode职称序号数字9graduateSchool毕业学校文本10major专业文本11homeTown籍贯文本12email文本13cellPhone手机文本14t

24、el文本15eduExperience教育背景文本16jobExperience工作经历文本17comment备注文本18flag删除标识数字第3章 系统设计本章针对各个模块的功能实现进行说明,主要从数据的输入、业务的处理、结果的输出三个方面进行阐述。其中,班级、学生、教师是系统的不可缺少的模块,将作为重点来说明。3.1 学生信息管理该模块的主要功能是管理学生的基本信息,同时也为其他模块提供数据参考。基本信息中记录了学生的学号、性别、出生日期、民族、年级、班级、政治面貌、籍贯、手机、教育经历,以与获奖情况和其他需要特别说明的信息。在此模块中可以实现学生基本信息的注册、修改、查询、删除,详细介绍

25、如下。(1)注册学生基本信息点击学生基本信息管理的学生信息注册子菜单,转到信息注册页面。输入:在页面上输入或选择待注册学生对应的各个属性(、性别等)处理:对数据进行合法性检查,如果通过检查,则对数据进行提交。通过studentForm来获得所录入学生的基本信息,将这些信息封装在一个Student实例中,并通过studentAction来对该Student进行处理,将Student的全部信息写入数据库。操作算法如下:ActionForward studentAddDo(ActionMapping mapping, ActionForm form, ServletRequest request,

26、ServletResponse response) .StudentForm sForm=(StudentForm)form;/通过Form获得学生信息Student s=new Student();/定义Student(学生)对象s.setStudentName(sForm.getStudentName();/为s的各属性赋值.bool isAdd=sLogic.studentAdd(s);/向数据库写入该注册学生信息输出:如果操作成功,返回学生信息界面,显示所有学生信息列表。否则,返回出错界面,并给出出错原因。学生信息注册页面如图3-1所示。图3-1 学生信息注册视图(2)学生信息查询在该

27、模块中,可以实现针对多种不同条件进行的动态查询。输入:在页面上输入所了解到的学生的信息,比如学号,年级,可以是其中一个,也可以是多个,也可以是某个的一部分。处理:将这些查询条件用一个集合类HashMap的对象map存储起来,转发到studentAction中,由conditionFind进行处理。具体的查询,通过Hibernate的Criteria接口实现。算法如下:./获得所输入的查询条件request.getParameter(“studentName”);/获得输入的学生request.getParameter(“studentId”);/获得输入的学生学号./将查询条件加入到查询容器c

28、riteria.add(Expression.like(studentName,%学生参数%) . add(Expression.eq(studentId,%学生学号参数%).criteria.addOrder(Order.asc(studentId);/排序return criteria.list();/将查询结果以集合形式返回;输出:查询成功则返回一个学生信息的集合类对象list,并传送到学生信息显示界面进行显示。如果出现错误或发生异常,则返回错误页面并显示出错原因。学生信息查询如图3-2所示。图3-2 学生信息查询视图(3)学生信息的修改与删除。处理:根据学生信息显示界面中显示的学生信息

29、,对学生的信息进行更改或删除。如果删除,则根据学生纪录后边的删除超进行删除,超中含有学生记录主键,将此主键信息传递到studentAction中,根据主键对学生记录进行删除。如果修改,则根据学生记录后边的编辑超进行,超中含有学生记录主键,将主键传递到studentAction中,此时查出该主键对应的学生记录,并将该记录的信息在学生信息修改界面上显示,此时手动修改属性值,然后保存,将更新后的数据写入数据库。根据主键进行删除的主要算法如下:./获得session对象session=HibernateSessionFactory.getSession();tr=session.getTransact

30、ion();/获得事务tr.begin();/开启事务 /根据主键获得对应的Student对象Student s=( Student)session.get(Student.class, 主键值);session.delete(s);/删除Student对象tr mit();/提交事务.session.close();/关闭session输出:修改或删除成功则返回一个学生信息的集合类对象list,并传送到学生信息显示界面进行显示;如果出现错误或发生异常,则返回错误页面并显示出错原因。3.2 教师信息管理教师信息管理,主要针对教师信息的录入,修改,查看,删除等操作,具体实现如下(各项与学生信息管

31、理相似的功能不再详细介绍,参考学生信息管理):(1)教师信息的录入:输入:在教师信息注册页面手动输入或选择相应的属性值。处理:在数据通过合法性检查的情况下,进行保存。由teacherForm封装所有的页面数据,在teacherAction中,获得teacherForm中的数据,重新封装到一个teacher实例中,此时,通过Hibernate的session对象开启一个事务,将该teacher实例写入数据库,完成注册功能。输出:如果信息录入成功,返回教师信息界面,显示所有教师信息列表。否则,返回出错界面,并给出出错原因。(2)教师信息的查询:在该模块中,实现针对多种不同的条件进行动态的查询。输入

32、:在页面上输入您当时所了解到的教师的信息,比如,编号,性别,可以是其中一个或多个,也可以是某个的一部分以实现模糊查询。处理:将这些查询条件用一个集合类HashMap的对象map存储起来,转发到teacherAction中,由conditionFind进行处理。具体的查询,通过Hibernate的Criteria接口实现。输出:查询成功则返回一个教师信息的集合类对象list,并传送到教师信息显示界面进行显示;如果出现错误或发生异常,则返回错误页面并显示出错原因。(3)教师信息的修改与删除:处理:根据教师信息显示界面中显示的教师信息,对教师的信息进行更改或删除。如果删除,则根据教师纪录后边的删除超

33、进行删除,超中含有教师记录主键,将此主键信息传递到teacherAction中,根据主键对教师记录进行删除。如果修改,则根据教师记录后边的编辑超进行,超中含有教师记录主键,将主键传递到teacherAction中,此时查出该主键对应的教师记录,并将该记录的信息在教师信息修改界面上显示,此时手动修改属性值,然后保存,将更新后的数据写入数据库。输出:修改或删除成功则返回一个教师信息的集合类对象list,并传送到教师信息显示界面进行显示;如果出现错误或发生异常,则返回错误页面并显示出错原因。3.3 班级信息管理在班级管理中,要对学校的班级信息进行管理,包括对班级的注册、查询与删除、分班管理等,具体的

34、实现如下。(1)班级的注册管理员根据具体情况的需要进行班级的注册,通过classForm获取管理员所注册的班级的信息,在classAction中,将由classForm所获取的班级信息封装成一个Classes类,并将该班级的信息插入到数据库表中,完成班级的注册。其中,班级号是自动生成的,班主任的信息是从弹出的虚拟窗口里选择的,以此保证了班级关键信息的有效性,真实性,避免出现一些不必要的低级错误。班级注册页面如图3-3所示。图3-3 班级注册视图班级注册的主要算法如下。年级值的生成:private static final Calendar c=Calendar.getInstance();pr

35、ivate static int year=c.get(c.YEAR);/获得当前年份public static String getClassesOption()int k=0;StringBuffer sb=new StringBuffer();for(int i=-4;i2;i+)k=year+i;sb.append(String.format(+k+);return sb.toString();班级值根据所显示的年级动态生成/页面上年级下拉框JavaScript事件当触发上述事件时,在classesAction.classesAddDo方法中动态生成班级:String getClass

36、IdAuto(String grade) session=HibernateSessionFactory.getSession();Object obj=session.createQuery(select max(classId) from Classeswhere grade=:grade).setString(grade, grade).uniqueResult();if(obj=null)return 1;elseInteger result=(Integer)obj;result+;return result.toString();(2)班级的查询管理员可以根据需要输入相应的查询信息

37、, classAction通过一个集合类HashMap的对象map得到用户输入的查询信息,查询所有符合条件的班级信息,返回班级记录的一个集合类的对象list。然后通过request将list传到界面予以显示。(3)班级的删除管理员可以根据具体情况的需要,删除一些班级,同时该班级中所有学生的信息也要随着改变。(4)分班管理可以实现对未分班的学生分班,或者某个年级的所有学生重新分班。首先要选择年级,然后选择待分班的学生是已经有班级了还是没有分过班级的,然后选择被分配到的班级,点击保存就可以实现分班操作,并转到班级列表页面,点击某一班级即可看到该班班主任和学生。如图3-4所示。图3-4 分班管理视图

38、3.4 公告信息管理公告信息管理主要包括公告的发布、修改、查看、删除等基本的维护功能。具体实现如下。(1)公告发布输入:公告信息的发布时间以系统当时时间为准,不必手动输入。公告发布人的信息即为登录的管理员信息,也不必手动输入。唯一需要输入的信息就是公告信息的标题。处理:当数据输入完毕后,点击保存按钮。控制转到ArticleAction,此时acticleAdd(mapping,form,request,response)方法根据参数form获得页面上所有的数据,并将这些数据封装在Article的一个实例article中。然后,通过Hibernate框架的session.save(article

39、)实现对数据写入数据库的操作。输出:如果公告信息发布成功,则返回公告栏,即可看到刚刚发布的信息;否则,控制转到出错页面,并给出错误提示。(2)公告查看在公告栏里可以看到左右晃动的公告标题,点击标题即可以看到给公告的详细容。实现时根据主键查询该公告容。具体实现简单,不再详细描述。(3)公告修改与删除管理员可以对容不妥当的公告信息进行修改或者删除。输入:在公告信息维护页面,可以看到每一条公告信息记录的后边都有两个超,一个是编辑,一个是删除。其中,编辑用于修改公告信息。点击需要修改的公告记录后边的编辑即可以将记录主键传到ArticleAction。处理:在ArticleAction中根据主键查询到该

40、记录对应的Article实例article,此时控制转发,将article传到公告信息编辑页面,修改公告属性,点击保存按钮,重新提交到数据库中,即完成对该公告的信息的修改。如果是删除,只需根据主键删除即可。输出:修改或删除成功则返回一个教师信息的集合类对象list,并传送到教师信息显示界面进行显示;如果出现错误或发生异常,则返回错误页面并显示出错原因。3.5 上传下载管理上传下载管理提供文件的上传和下载,以方便学生学习之用。上传:将文件上传到硬盘。上传实现采用了org.apache mons.fileupload组件。获得文件信息算法如下。DiskFileUpload fu = new Dis

41、kFileUpload();fu.setSizeMax(10 * 1024 * 1024); / 设置最大文件尺寸,这里是4MBfu.setSizeThreshold(10 * 1024); / 设置缓冲区大小,这里是4kbfu.setRepositoryPath(tempPath); / 设置临时目录List fileItems = fu.parseRequest(request); / 得到所有的文件Iterator i = fileItems.iterator();/依次处理每一个文件:while (i.hasNext() FileItem fi = (FileItem) i.next(

42、);fi.write(new File(“服务器短路径” + 文件名);下载:下载采用了超放式文件名3.6 信息管理信息管理主要实现了的注册、启用、禁用、删除、简单的权限管理等功能。管理:如果注册者尚未登录,那么他注册的是一个普通用户权限的,只具有很少一部分的操纵功能。如果注册者已经登录,并且他是管理员,那么他可以选择注册另外一个管理员账户,也可以选择注册一个普通权限的账户。账户的注册,查询,修改,删除和其他模块的注册,查询,修改,删除实现方式类似,在这里就不再赘述。的启用和禁用则根据账户信息的一个flag标识字段来解决。比如,用0表示禁用状态,用1表示启用状态。如图3-5所示。图3-5 XX

43、信息视图3.7 底层数据库操作代码示例在本系统中,对于进行数据库操作的DAO层,采用了Hibernate框架进行处理。要应用Hibernate需要有一些配置(后边介绍)。主要代码如下。private Session session; private Transaction tr; private Query query;public boolean studentAdd(Student s) session = HibernateSessionFactory.getSession();try /获得一个事务对象tr = session.getTransaction();/开启事务tr.begi

44、n();/保存对象到数据库session.save(s);/提交事务tr mit();return true; catch (Exception e) e.printStackTrace();tr.rollback();/事务回滚return false; finally session.close();public Student getStudentById(Integer id) session = HibernateSessionFactory.getSession();try /根据主键查询Student s = (Student) session.get(Student.class

45、, id);return s; catch (Exception e) e.printStackTrace();return null; finally session.close();第4章 系统的配置本章主要介绍系统运行时的服务器端配置,并对系统运行所需要的一些关键的技术性质的配置文件也作了一个详细的说明,比如,处理乱码时应用到的过滤器配置,实现逻辑控制的Struts框架的配置,以与对底层数据库进行操作的Hibernate框架的配置等。4.1 服务器端配置要运行该系统,在服务器端必须安装有系统的运行环境MyEclipse和Tomcat与Jdk(推荐Jdk1.5与其以上版本),以与数据库Ac

46、cess。为了保证系统运行的稳定性,服务器的配置要尽可能的高。4.2 程序运行辅助配置为了使本系统能够正确、无误的运行,在本系统中还要进行一些其他的配置。(1)过滤器配置为了更好的处理汉字,在程序中不仅要导入filter包,而且在web.xml中也要配置其属性,添加过滤器配置文件如下。SetCharacterEncoding.zdfsky.util.SetCharacterEncodingencodingGBKsetCharactertrueSetCharacterEncoding/*(2)Struts配置应用Struts框架需要在web.xml里配置:actionorg.apache.str

47、uts.action.ActionServletconfig/WEB-INF/struts-config.xmldebug3detail30action*.do(3)Hibernate配置要用Hibernate框架需配置文件:!DOCTYPE hibernate-configuration PUBLIC-/Hibernate/Hibernate Configuration DTD 3.0/ENzdfjdbc:odbc:zdfskyorg.hibernate.dialect.Oracle9Dialect*sun.jdbc.odbc.JdbcOdbcDrivertrue.第5章 系统测试软件测试是

48、软件生存周期中一个独立的、关键的阶段,是保证软件质量的重要手段,也是软件质量保证的最后一个环节。根据软件的功能与结构设计出相应的测试用例,目标在于发现程序中的错误,然后可以加以改正,尽量减低系统运行的故障率,保证系统安全可靠。5.1 测试方案采用黑盒测试。根据软件所需的输入数据的格式以与完成的功能,设计一些合法或不合法的用例,特别是边界条件,检查系统是否能得到希望的输出。5.2 测试流程首先进行软件配置、测试配置、测试工具、预期结果的准备,当以上准备完毕可以进行测试。当得出测试结果后与预期结果进行测试分析;然后进行纠错改进软件并对错误率数据进行可靠性分析预测软件的可靠性。测试流程如图5-1所示

49、。图5-1 软件测试信息流程图5.3 测试用例为了有效发现程序缺陷而编写的包含测试目的、测试步骤、期望测试结果的特定集合,是为某个特殊目标而编制的一组测试输入、执行条件以与预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例可以提高软件测试的有效性,便于测试质量的度量,增强测试过程的可管理性。5.3.1 输入数据测试:2-4个汉字、0个汉字、多一个数字的字母、少一个数字、非字母数字字符、SQL语句。地址:三个汉字、20个汉字、其他非法字符。:两个数字、八个数字、含字母、其他非法字符。出生日期:格式如2004-04-12、其他格式字符串。班级编号:数字、其他非法字符。备注:输入2-

50、80个汉字、其他非法字符。5.3.2 功能测试在系统中点击班级注册菜单,出现班级注册界面,选择年级,班级编号自动实现,班主任信息由弹出对话框中选择,选择班级类型。点击保存按钮,把相应的班级信息写入数据库。在系统中点击班级信息维护菜单,显示班级信息列表,点击编辑超,则界面对相应的班级详细信息,可对班级信息进行修改,并把修改后的数据写入数据库。在系统中点击分班管理菜单,出现分班管理界面,选择年级,选择待分班学生,然后选择预分配的班级,点击保存按钮,则将分班信息写入数据库。结 论经过前段时间的不懈努力,中学教学管理信息系统已经全部完成,其功能符合中学日常管理的要求,能完成对班级、学生、教师、公告等信

51、息的各种操作。达到了使学校管理更加方便、高效、快捷的目的,一定程度上减轻了学校管理上的混乱和人力资源的浪费,提高了管理的效率。本系统是基于J2EE的WEB应用程序,在开发中采用了Struts和Hibernate这两个比较优秀的框架,使得系统的结构比较清晰,底层数据操作比较简洁。在系统开发中,作者切实地站在学校管理者的角度来考虑问题,为尽可能多地减少管理者的工作量,系统很多尽可能不让用户手动输入的地方都用程序自动实现,极方便了用户,也提高了系统数据的有效性。但是由于时间较短,开发设计进行的较为仓促,系统中存在一些不尽人意的地方将会在以后进行修改补充,以使系统更加完善。同时,在开发的过程当中,我深

52、深地认识到了自己知识的不足和能力的有限,使我有一种紧迫感,这将成为我下一步继续努力学习的动力。对于系统中存在的一些不完善之处,欢迎老师和同学批评指正。参考文献1孝祥等编著,Java就业培训教程,清华大学,2003年9月2卫勤,精通Struts:基于MVC的Java Web程序设计与开发,第2版,电子工业,2004年8月3齐治昌、谭庆平、宁洪,软件工程,第2版,高等教育,2005年7月4天河,Hibernate项目开发宝典,第1版,电子工业,2006年6月5殷庆轩等编著,Jsp2.0动态开发实例指南,第2版,机械工业,2006年8月6Y.Daniel Liang,Java语言程序设计进阶篇,第5版,机械工业,2006年8月7 (美) 亚当科恩著、冷鲲译,完美商店,教育,2003年9月8 (美)伽玛,设计模式可复用面向对象软件的基础,第1版,机械工业,2005年6月l

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!