[软件管理系统类精品]学员信息管理系统的设计与实现.doc_第1页
[软件管理系统类精品]学员信息管理系统的设计与实现.doc_第2页
[软件管理系统类精品]学员信息管理系统的设计与实现.doc_第3页
[软件管理系统类精品]学员信息管理系统的设计与实现.doc_第4页
[软件管理系统类精品]学员信息管理系统的设计与实现.doc_第5页
已阅读5页,还剩71页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1.绪论随着网络不断发展基于网络平台开发的企业级管理系统越来越多的被应用到了各个企业的内部管理中,企业正逐步从传统的C/S系统向流行的B/S系统进行转变。B/S系统就是Browser/Server,即浏览器/服务器系统,是一种网络架构,基于B/S系统就是客户用浏览器接受对方服务的一种形式,比如咱们 看baidu的网页内容,就是baidu为我们提供的一种服务。C/S架构,是Client/Server的意思,就是需要安装客户端软件来实 现服务,比如网络游戏都是这种架构服务。B/S系统较C/S系统有很大的优势,它的实时性好,可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。数据一致性上B/S数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。学员综合信息管理系统是一种基于B/S架构的管理系统,它采用目前最流行的java语言编写,用到了当今先进的技术如 javaEE框架、jsp技术、Hibernate、Spring、Struts框架等来实现该系统。采用MVC框架技术提高了系统的可维护性。学员综合信息管理系统分为六大模块、咨询部、教务部、教学部、财务部、就业部、系统管理。从学员开始培训到入职公司,学员综合信息管理系统为企业培训中心提供了一整套的培训业务流程。它的主要功能是提供学员的档案管理,课程管理,成绩查询,缴费管理等。1.1 系统开发环境现在市场上开发java EE的工具很多,比如IBM公司的eclipse,sun公司的Net Beans等等。我们用多数企业都是用eclipse作为这个学员信息管理系统的开发工具,其强大的my eclipse插件不仅集成java EE的各种框架而且还集成了各种流行服务器如:Tomcat、weblogic、Jboss等,为开发者提供了良好的开发环境。页面设计采用功能强大的Dreamweaver8.0作为这个系统页面设计的主打软件,在样式上参考了企业常用样式。1.2 系统开发的背景及意义随着中国IT产业的高速发展IT人才的缺失已经成了不争的事实,就中国的教育现状来看各大学对人才的培养很难与企业的需求相适应,这就造成了大多数大学毕业生毕业之后还要经过一个阶段的企业培训实习。很多的大IT企业都有员工培训中心用来培训新员工为其他公司培训需要的人才。在培训过程当中就需要一个强大的管理系统来支持培训中心各个部门的管理工作。学员综合信息管理系统作为B/S开发的管理系统为企业培训中心提供了强大的管理功能为各个部门之间信息的通信与交流提供了强有力的支持。1.3系统开发的相关技术学员综合信息管理系统采用java语言编写,Java可谓是网络编程中的优秀语言,它用动态的交互应用软件使Web栩栩如生。它使开发人员 具有编写一次到处运行的巨大能力。而且,借助其Java API及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取得竞争优势。Java建立在简单的前提基础上,即所有微处理器都应讲同一种语言所有内部采用芯片的产品都应能一起工作,无缝而方便地共享信息。它已经改变企业和个人同Internet打交道的方式。现在,它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影响企业计算。其次,这个系统采用了企业级系统广泛使用的三个开源框架即Struts、Hibernate、Spring。这三个框架各有个的优势Struts框架具有组件的模块化、灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。Hibernate对JDBC进行了轻量级的封装,使得我们在对这个系统的开发时随心所欲的使用面向对象的编程思想来操纵数据库。Spring是一个用于构造java应用程序的轻量级框架,它负责系统的业务逻辑的管理以及很好的将各种框架整合到一起,之所以称之为轻量级是通过和EJB这种重量级框架比较得出的。这三个框架在这个系统中起着重要的作用。2.相关知识2.1 java EE平台介绍今天,越来越多的企业开发人员希望能快速开发安全可靠的、可扩展的分布式企业应用,尤其是以浏览器为前端的web应用,并借助因特网将服务尤其是电子商务扩展到全世界的范围。和过去的客户端服务器模式相比,基于浏览器服务器模式的B/S应用越来越广泛。随着企业应用规模的快速增长,越来越多的企业将Java EE平台作为企业开发的基础。短短的几年里,Java EE几乎成了企业开发的代名词。Java EE Platform, Enterprise Edition(JavaEE):它提供了一种基于组件的方法来设计,开发,组装和部署企业应用程序。Java EE 平台提供了一个多层次的分布式应用模型,一些可重用的组件,一个统一的安全模型,灵活的事务处理控制,并借助于可扩展标记语言(XML)的开放标准和协议的集成数据交换提供WEB服务支持。2.2 开源框架Struts Hibernate Spring的介绍Struts是一个基于SunJava EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。它能充分满足应用开发的需求,简单易用,敏捷迅速它把Servlet、JSP、自定义标签和信息资源(messageresources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可 以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在 Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务如果你需要还能实现你自己的 aspects.这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器 集成的强大而灵活的MVC Web框架。典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。框架通常能很 好的解决一个问题。然而,你的应用是分层的,可能每一个层都需要各自的框架。仅仅解决UI问题并不意味着你能够很好的将业务逻辑和持久性逻辑和UI 组件很好的耦合。 2.3 oracle的介绍与安装2.3.1oracle介绍Oracle数据库有好几个版本如oracle8i,oracle9i,oracle10g。企业中常用的是oracle9i数据库,所以本系统中采用的也是oracle9i数据库。Oracle9i由应用服务器组成,提供了电子商务企业所有关键的软件基础结构和开发电子商务应用所需要的所有重要功能,为电子商务应用和网站能够有效地提高运行速度、获得杰出的应用可伸缩性和可用性提供强有力的支撑,使用户能够有效地开发快速、高可用、安全可靠的电子商务应用和网站, 而不再需要考虑昂贵的软件集成和维修费用。Oracle 9i 的新特征Oracle 9i 通过提供用于电子商务环境的一系列特定功能和产品包,像Oracle 8i那样继续聚焦于Internet 。此外,Oracle 9i 添加了新特性和功能,扩大给予关键任务的基础结构的投资。2.3.2oracle 安装由于oracle安装的过程比较复杂,这里用贴图的形式说明如下:如果电脑中安装有oracle9i数据库先完全卸载oracle9i数据库,然后进入安装界面点击下一步点击下一步确定安装路径点击下一步确定数据库版本点击下一步确定数据库类型点击下一步确定数据源名称然后安装然后确定数据库管理名称和密码。数据库的配置:进入到管理界面:输入用户名和密码建立表空间建立角色配置用户角色配置用户权限使用第三方软件2.4 eclipse访问oracle的原理及JDBC简述首先在电脑上安装eclipse在这个系统的开发中用的eclipse3.2,然后安装它的一个插件Myeclipse5.0。然后确定电脑上安装了oracle数据库并且创建了一张表。在用而eclipse连接oracle数据库时用到了这样几个类 DriverManager SQLException ClassNotFoundException 还有一个Connection接口。DriverManager是java.sql包中的类,它主要用给定的数据库的用户名、密码、url来与数据库建立连接。SQLException是一个异常处理类,它继承了Exception类,用于处理数据库连接时发生的异常。ClassNotFoundException是一个异常处理类,由于我们用class.forName来加载数据库驱动,所以当数据库驱动加载失败是会抛出这个异常。Connection用存放getConnection方法返回的数据库连接实例。JDBC是Java的开发者Sun的Javasoft公司制定的Java数据库连接(JavaDataBaseConnectivity)技 术的简称,是为各种常用数据库提供无缝联接的技术。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的 作用类似。ODBC(OpenDataBaseConnectivity),称为开放式数据库互联技术,是由Microsoft公司倡导并得到业界普 遍响应的一门数据库连接技术,如果读者有使用ODBC编程的经验,就会发现JDBC与ODBC很类似。JDBC现在可以连接的数据库包括:xbase、 Oracle、Sybase、Aceess以及Paradox等。2.5 eclipse 中 tomcat的配置打开eclipse在windows菜单下点击properties从左面的树形菜单中找到myeclipse下的application servers,然后选择tomcat6.0然后制定路径点击ok即可。如下图:2.6 web服务器tomcat的安装与使用双击安装文件:安装成功后可以到tomcat的安装目录下去修改tomcat的端口号,tomcat默认的端口号为8080由于这个端口号经常与数据库的端口号冲突,我们将它修改成8088.具体过程是到tomcat安装目录下进入conf文件夹打开servers.xml文件找到8080端口号修改它即可。然后打开IE浏览器输入回车验证是不是能进入tomcat配置页。3 可行性研究3.1 可行性研究任务在最短的时间内确定这个系统在技术上、经济上、操作上是否可行。3.2 系统的可行性通过调查和对系统逻辑模型的分析,得出这个系统在技术上、经济上、操作上可行。4 学员综合信息管理系统的开发与部署4.1需求分析4.1.1整体说明学员综合信息管理系统主要分为9个模块如下: 超级管理员模块用超级管理员身份登陆完成用户管理,角色管理,个人信息维护。 系统管理员模块 系统管理员登陆后具有用户管理和个人资料维护功能。 客户咨询模块 咨询部员工登陆系统后可以对来访人员信息、来访内容信息、申请入学、咨询业绩、个人信息进行管理和维护。 班级与学员信息管理模块 教务部员工登陆系统后可以对学员基本信息、学员考勤、请假处理、班级基本信息、个人信息进行管理和维护,对欠费同学打印欠费通知单。 财务管理模块 财务部员工登陆后可以对个人信息、价目表、学费、住宿费进行管理和维护 考试管理模块 对考试成绩、考试信息、个人信息的管理和维护。 反馈信息管理模块 对反馈信息的统计,填写反馈信息。 就业管理模块 就业部员工登陆后可以对用人单位、招聘信息、面试信息、就业统计、个人信息进行管理和维护。 学员操作模块 学员登陆后可以修改个人信息,填写反馈意见,查看考试信息、收费信息、就业信息、请假信息。4.1.2具体功能1. 超级管理员模块1) 角色管理主要就是要注意:角色和菜单的关系,当你创建一个角色的时候就要相应的给他一定的菜单权限,修改和删除的时候都要连接的处理他们的关系表,让没有对应关系的从中间表中去除。2) 用户管理主要功能是为使用此系统的人创建用户名和密码,以让他们能登陆系统。3) 个人信息维护主要是修改超级管理员的信息。2. 系统管理员1) 用户管理 主要功能是为使用此系统的人(权限小于系统管理员)创建用户名和密码,以让他们能登陆系统。2) 个人信息维护主要是修改系统管理员的信息。3. 客户咨询模块1) 来访人员基本信息管理主要是对新客户信息的记录,查询客户信息:提供按“专业方向”和默认“查询全部”统计某课程咨询情况。2) 来访人员内容管理插入新内容基本信息,查询咨询内容信息:提供按“专业方向”和默认“查询全部”。3) 客户申请入学管理先查询已开班级和待开班级然后为用户指定入学班级,并向财务部门发出消息。4) 咨询人员个人业绩查询为咨询人员对个人业绩的查询功能,按照来访内容统计咨询信息。5) 个人信息维护提供咨询人员修改个人信息、创建密码和修改密码功能。4. 班级与学员管理模块1) 管理学员基本信息咨询部从客户表设定一个客户为学员时,教务人员会得到通知,点击连接察看学员表,然后相应的把他的信息补全,并在用户表中为其创建一个用户2) 班级基本信息管理并由教学根据课程及员工给其分配班主任,咨询人员查看班级信息时教务人员可以对班级表的班主任进行修改,但没有删除班级的权限.3) 学员考勤处理按照旷课、事假、病假的天数算出分数,用来让就业部门查询,考勤用来在就业时由就业部察看作为一个就业策略的标准。4) 学员请假处理当学员发送一个请假请求时,时会把信息存放到请假表中,根据请假的天数判断给班主任还是给教务,若是班主任处理其处理完也应去通知教务人员,让其在考勤表中记录,在班主任和教务的页面都会有学员请假通知按钮,有了通知就会可用,并去查找请假表,对其处理5) 发欠费通知单财务部进行统计时,查找出谁欠费,并向教务人员发放缴费通知单,并提示他。在教务人员的页面上会有一个按钮,当有通知时则可以使用,若没有就不可以使用,若没有人处理就会一直处在可用的状态,直到有人去处理,按钮才变成可用。当教务人员登录系统时,则会提示教务人员去处理,教务人员则可以连入通知单页面,告诉财务人员已有人处理,并打印出通知单,发放给学员。6) 个人信息维护点击个人信息维护会有两个功能:一个是对个人信息的修改,第二个就是对密码的修改。个人信息的内容会根据你进入时的CODE自动从员工表查找并显示出来,作为修改的参考,而密码的修改则是从用户表查找出原始的密码,并提供修改的功能5. 财务管理模块1) 个人信息维护个人信息维护操作:点击以后显示个人信息表单,其中的相应内容来自于员工信息表的查询结果,可以对内容进行修改,完成更新操作。2) 价目表管理增加价目操作:点击后出现添加页面,其中的内容持久化到价格目录表中。删除价目操作:同样操作的是价格目录表,对其中数据进行删除。修改价目操作:点击出现价目表的详细信息,其中的数据来自于价格目录表的查询结果。对数据进行修改后,持久化到数据库。价目表查询操作:操作的是价格目录表,可以给出可选的查询条件组合,暂定查询条件为单一的课程名称。3) 住宿费及学费管理新增单笔交款操作:点击出现单笔款项增加页面,在页面录入相对信息,把所填写的信息持久化到学员交费信息表中。单笔款项具体信息修改操作:操作情景,当学员交费出现欠款,学员来补齐欠款的时候,进行单笔款项的具体信息修改。首先,财务人员通过学员的月份、学号、姓名、交款状态字段不定组合进行查询,得出结果,对其中的数据进行修改,完成更新操作。操作的是学员交费信息表。发送欠款通知操作:财务管理员在月底结帐的时候,可以通过学员的交款状态进行查询,查询出所有需要发送欠款通知的学员。点击生成欠费通知单按钮,在JSP页面上显示查询结果。再点击发送欠费通知单按钮,向教务人员发送通知。操作的表是学员交费信息表。6. 反馈信息管理首先教务人员登陆系统对一级或者二级反馈标准字段进行增、删、改。学生根据自己的反馈内容填写一级标准反馈表或者二级标准反馈表。教务可以对反馈进行查询和排名。7. 考试管理模块1) 考试成绩管理登录成功并获取教学部员工菜单,对学员的考试成绩进行添加、修改、查询、删除操作2) 考试信息管理登录成功并获取教学部员工菜单,可创建学员的考试,对考试进行维护、安排。3) 个人信息管理这里主要有两个功能,对个人信息的修改,对密码的修改。8. 就业管理模块1) 用人单位主要用于给内部员工维护各单位的基本情况,对这些信息进行各种数据库操作,以便于就业部门员工查找和掌握这些用人单位的相关信息2) 招聘信息发布和维护用人单位的招聘信息,使得维护人员可以即时查看相关的招聘信息,使所有维护人员去察看发布的招聘信息。3) 面试信息发布和维护面试安排信息,通知学员具体的面试安排和需要提前做好的准备。其中,其面试具体内容只通知相关的学员,而其他的学员是不能看见的。4) 就业统计维护学员的就业情况信息,使员工们能查看各学员们的就业情况及各类和各班学生的就业情况,提供横向和纵向的比较柱状图。5) 个人信息对维护人员的信息进行修改,对维护人员的账号进行修改。9. 学员个人管理模块1) 个人信息维护 对个人基本信息的维护与修改。 对个人密码的修改。2) 反馈意见填写反馈意见表,并提交到教务处。3) 考试信息查询个人考试成绩:通过学员姓名和考试科目名称可以查询学员本人的成绩。4) 收费信息查询个人缴费信息:通过学员姓名可以查询本人缴费情况。5) 就业信息填写个人就业意向,并提交到就业部。查看面试通知单。6) 请假申请填写请假申请单,查看请假审批状态。4.2系统结构图与用例图4.2.1系统结构图4.2.2 用例图4.2.3 模块列表项目或模块名称代 码ISoftStone学员综合信息管理系统ISSTC-CIPF-20XX-4超级管理员模块ZX001系统管理员模块ZX002客户咨询模块BG001班级与学员信息管理模块BG002财务管理模块BG003考试管理模块BG004反馈信息管理模块BG005就业管理模块BG006学员操作模块JX0014.3数据库的建立与数据字典的说明数据库对于现在的Web程序开发,可以说是处于无可替代的地位,一个好的站点必须建立在有一个好的数据库结构的基础上,只有这样才能使站点开发顺利的进行,如果数据库建立的不好,很可能将来的工作开展起来非常困难,甚至会有工作失败的后果。认识到这一点后,我们小组在数据库的结构上花了大量的功夫,希望能尽力做到数据库结构清晰,数据冗余量小,不出现删除异常、插入异常和更新异常,希望所有的操作都能在现有的数据库基础上完成。经过前期的努力准备,后期的数据库使用还是很顺利的,虽然也出现了这样那样的问题,但都不是很严重。还是由于篇幅的问题,在此只介绍一个最重要的数据表用户信息表(accounts)。这张表管理着员工、学员的所有账户信息,包括账户代码、密码、用户的名称、创建的日期、账户的状态,每个员工和学员之所以能够独立的工作而在工作的内容上不和其他部门冲突使得系统在信息的管理上更加的安全都是依靠这张表。(请参见附录:1)4.4 主要模块简介4.4.1 学员个人管理模块学员登陆后可以修改个人信息,填写反馈意见,查看考试信息、收费信息、就业信息、请假信息。在进入学生管理界面时会给出如下提示:4.4.2班级与学员管理模块教务部员工登陆系统后可以对学员基本信息、学员考勤、请假处理、班级基本信息、个人信息进行管理和维护,对欠费同学打印欠费通知单。教务人员根据提示信息做相应的操作,提示信息如下:4.4.3 财务管理模块财务部员工登陆后可以对个人信息、价目表、学费、住宿费进行管理和维护。财务人员可以根据如下提示进行操作:5 关键技术5.1异常的处理异常是程序执行时遇到的任何错误情况或意外行为。异常在java程序中的使用1、异常的处理:一般方法是把程序处理代码段分散到系统代码中,在可能发生错误的地方处理错误优点:便于程序员能够条理的看到程序中异常的处理缺点:异常处理程序“搅乱”代码,程序员很难关心程序本身能否正常完成功能,而只关心了性能。2、常见异常实例包括:数组下标越界,算法溢出(超出数值表达范围),除数为零,无效参数、内存溢出异常处理功能:主要处理一些同步异常(除数为0),不宜处理一些异步事件(Disk I/O End、网络信息到达、点击鼠标、敲击键盘)这些最好使用java事件监听。使用异常处理情况:异常诊断与异常处理不在同一个位置下时使用异常处理程序(若用户一直通过键盘与程序通话,那么就不能使用处理键盘输入处理)使用异常的注意事项:1、 异常处理位置与异常发生位置必须不同(若一个程序能够处理自己的错误,那么就采用传统的错误处理方式进行局部处理)2、 要避免使用异常处理来代替错误处理,若这样就会降低程序的清晰性。3、 尽管可以使用异常处理来代替错误处理,但会降低性能4、 异常处理会占用程序的格外执行时间5、 异常处理能够提高程序的容错性6、 程序员使用JAVA标准的异常处理功能来代替他们的专用方法,可以在大型项目中提高程序的清晰性7、 异常是超类Exception继承的子类,主要如何处理“未扑获的异常”,无法预料的异常。 在以下情况下使用异常处理:1、 当方法因无法控制的原因而不能实现其功能时;2、 处理来自程序组件整体异常,这些程序组件不适宜直接处理异常3、 在大型项目中,对于每个项目都以一致的方式进行错误处理4、 在类库中出现每一个异常,都需要一个惟一错误处理,在类库中使用异常处理很合适通过对异常处理知识的学习和理解我们找出了适合这个程序的异常处理方式即自定义异常。所以在这个系统中我们使用了自定义异常,定义了两个异常类一个业务异常类Bizexception另一个是系统异常类Systemexcption这两个类都继承了Exception类。Throwable类通常包含三种信息,一个是线程创建时堆栈的快照,再一个是错误提示的字符串,最后一个是导致该错误的原因也就是case。在一个信息系统当中我们不能让异常随意抛出,而是要让每种异常都抛到指定的异常处理类中。然后,我们再对各种异常进行集中处理生成异常提示信息,向上层抛出异常提示。这样做会使用户在看到提示信息后马上就能知道是哪个部分出现了异常。在这个系统中我们用ApplicationResource来集中存放异常提示信息和其他提示信息。如下图:左面是key值右面是信息。6 总结学员综合信息管理系统依托强大的Java EE结构以及丰富的Java API,实现了客户管理、财务管理、班级与学员管理、就业管理、超级管理员管理等流程,通过使用强大的oracle数据库、Struts、Hibernate、Spring等流行技术和新概念,搭建了管理功能强大的学员综合信息管理系统,基本实现了预期的目标。在学员综合信息管理系统建设过程中,本人基本能够做到学以致用,将大学期间学习的相关知识灵活的与项目开发相结合,比如,按软件工程管理的步骤,逐步进行项目的开发,从最先的需求分析,到后来画UML图,从实际开发到最后的黑盒测试,一步一步渐进执行;按课程数据库原理学习的知识,根据需求分析和结构图,画数据库ER图,并从中提取出各个元组之间的关系,依据数据冗余和效率的平衡,确定各数据表中的属性。通过本次,提高了本人的学习能力和解决问题的能力、培养了本人的合作精神、大大丰富了本人在软件开发上的经验。由于时间短,任务重,加上本人能力有限,许多设想还未能体现,如在线考试等等,在今后工作之余,本人会尽力付之实践,使其尽善尽美。参考文献1(美)霍斯特曼(Horstmann,C.S.),(美)科奈尔(Cornell,G.)著.最新Java 2核心技术卷1:原理(原书第5版)M.机械工业出版社 20XX年1月2(美)布鲁斯 艾克尔(Bruce Eckel)Java编程思想(第四版)机械工业出版社 20XX年7月3 刘小华 张健 周慧贞 著 JSP应用开发详解 电子工业出版社 20XX年3月4Arnold Doray 著 Struts基础教程 人民邮电出版社 20XX年2月5 (美)Marty Hall, Larry Brown 著Servlet与JSP核心编程 清华大学出版社 20XX年6月6 夏昕 曹晓刚 唐勇 著 深入浅出Hibernate 电子工业出版社 20XX年9月7龙马工作室.Dreamweaver8中文版完全自学手册M.人民邮电出版社,20XX.8孙卫琴 著. M.电子工业出版社.9(美)Rob Harrop Jan Machacek著 Spring 应用开发指南 电子工业出版社10 廖雪峰 著 Spring2.0 核心技术与最佳实践 电子工业出版社 20XX年6月11 刘斌 著 精通 Java Web 整合开发 电子工业出版社20XX年11月.12 梁立新 著 项目实战精解基于Struts+Spring+Hibernate的Java应用开发 电子工业出版社20XX年11月13 冯凤娟 著 数据库原理及Oracle应用 清华大学出版社 北京交通大学出版社 20XX年3月14 JavaEye 中国最大的java技术社区 javaeye15 JavaEE 技术社区 j2eedve/16 CSDN 中国最大的IT技术门户站 /致谢在系统的建设过程中遇到过许多困难,但在李楹老师的热心帮助下,都顺利及时的得到了解决,感谢实习公司项目经理对我的帮助,感谢我们小组的其他成员,只有大家通力合作才能完成这个。感谢各位老师四年来辛苦的培养!感谢各位同窗四载的好友们!谢谢你们!最后,再次衷心地感谢李楹老师在这段期间给予的大力帮助!附录一程序包结构:附录二系统中用到的数据库表共38张表如下:Accession表Accounts表AccountsAndCustomer表AccountsAndEmployee表AccountsAndRole表AccountsAndStudent表ChangeClass表ChangeClassAndStudent表Charge表Class表ClassAndStudent表Content表Course表CourseAndSubject表Customer表CustomerAndContent表Employee表Enterprise表EnterpriseAndInvinted表Exam表ExamAndScore表FaceTest表FaceTestAndAccession表Invited表InvitedAndFaceTest表Leave表Menu表Role表RoleAndMenu表Score表Student表StudentAndTest表StudentAndLeave表StudentAndWorkTime表Subject表WorkTime表附录三部分代码:持久化层接口IbaseDaopackage .iss.isscrm.dao;import java.io.Serializable;import java.util.Collection;import java.util.List;import org.springframework.dao.DataAccessException;public interface IBaseDao /* * 根据主键获取对象 * param clazz * param id * return * throws DataAccessException */public Object getObject(Class clazz,Serializable id)throws DataAccessException;/* * 根据单一条件查询 * param hql * param paraName * param paraValue * return * throws DataAccessException */public List findByHql(String hql,String paraName,String paraValue)throws DataAccessException;/* * 根据HQL查询 * param hql * return * throws DataAccessException */public List findByhql(String hql)throws DataAccessException;/* * 获取多个对象 * param clas * return * throws DataAccessException */public List getObjectList(Class clas)throws DataAccessException; /* * 持久化一个临时对象 * param o * throws DataAccessException */public void insertObject(Object o)throws DataAccessException;/* * 持久化集合中的所有临时对象 * param list * throws DataAccessException */public void insertObjectList(Collection list)throws DataAccessException;/* * 删除一个对象 * param o * throws DataAccessException */public void deleteObject(Object o)throws DataAccessException;/* * 删除集合中的所有对象 * param list * throws DataAccessException */public void deleteObjectList(Collection list)throws DataAccessException;/* * 修改一个持久化对象 * param o * throws DataAccessException */public void updateObject(Object o)throws DataAccessException;/* * 修改集合中的所有持久化对象 * param list * throws DataAccessException */public void updateObjectList(Collection list)throws DataAccessException;/* * 根据查询条件的动态组合查询 * param exampleEntity * return * throws DataAccessException */public List findByExample(Object exampleEntity) throws DataAccessException;/* * 根据条件查询 * param hql * return * throws DataAccessException */public List findByHqlBound(String hql)throws DataAccessException;持久层实现:IbaseDaoImplpackage .iss.isscrm.dao;import java.io.Serializable;import java.util.Collection;import java.util.List;import org.springframework.dao.DataAccessException;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class IBaseDaoImpl extends HibernateDaoSupport implements IBaseDao /* * 根据单一条件查询 * param hql * param paraName * param paraValue * return * throws DataAccessException */public List findByHql(String hql, String paraName, String paraValue)throws DataAccessException return getHibernateTemplate().findByNamedParam(hql, paraName, paraValue);/* * 根据主键获取对象 * param clazz * param id * return * throws DataAccessException */public Object getObject(Class clazz, Serializable id)throws DataAccessException return getHibernateTemplate().get(clazz, id); /* * 删除一个对象 * param o * throws DataAccessException */public void deleteObject(Object o) throws DataAccessException this.getHibernateTemplate().delete(o);/* * 删除集合中的所有对象 * param list * throws DataAccessException */public void deleteObjectList(Collection list) throws DataAccessException this.getHibernateTemplate().deleteAll(list);/* * 根据HQL查询 * param hql * return * throws DataAccessException */public List findByhql(String hql) throws DataAccessException return getHibernateTemplate().find(hql);/* * 获取多个对象 * param clas * return * throws DataAccessException */public List getObjectList(Class clas) throws DataAccessException return getHibernateTemplate().loadAll(clas); /* * 持久化一个临时对象 * param o * throws DataAccessException */public void insertObject(Object o) throws DataAccessException this.getHibernateTemplate().save(o);/* * 持久化集合中的所有临时对象 * param list * throws DataAccessException */public void insertObjectList(Collection list) throws DataAccessException this.getHibernateTemplate().saveOrUpdateAll(list);/* * 修改一个持久化对象 * param o * throws DataAccessException */public void updateObject(Object o) throws DataAccessException this.getHibernateTemplate().saveOrUpdate(o);/* * 修改集合中的所有持久化对象 * param list * throws DataAccessException */public void updateObjectList(Collection list) throws DataAccessException this.getHibernateTemplate().saveOrUpdateAll(list);/* * 根据查询条件的动态组合查询 * param exampleEntity * return * throws DataAccessExce

温馨提示

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

评论

0/150

提交评论