安防之家讯:1.基于Struts和Hibernate的考勤管理系统的设计
随着教育部对在校大学生出勤的相关规定出台,各大专院校加大了对学生考勤的管理力度,但大部份都采用手工处理的方法,工作量大且效率低。本系统能够实现网上对学生考勤信息进行添加、删除、修改、查询和统计功能,管理人员能及时了解学生出勤情况和某课班级某课程的出勤情况。在开发的过程中,使用PowerDesigner作为CASE工具,采用对Hibernate和Struts提供良好支持的Myeclipse6.0作为系统的开发环境,数据库采用MYSQL5.0,WEB服务器采用jakartaTomcm6.0并安装了JDK6.0。
1.1数据库层的设计
PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计。DataArchitect模块是Powerdesigner的核心工具,它采用二级数据建模方式,即概念级和物理级。在概念级,概念数据模型(CDM)代表业务信息需求,不考虑在数据库上的物理实现,通过它可以绘制系统的实体联系图(E.R图),即系统的静态特征;在物理级,物理数据模型(PDM)指定了物理实现的目标RDBMS的特征等细节。它可以生成数据库脚本,通过选择ODBC方式则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象。它与其它设计软件相配合使用可以缩短开发时间和使系统设计更优化。
在本系统的设计过程中,我们利用PowerDesigner来完成系统数据库概念设计和MYSQL数据库表的工作。首先,在PowerDesigner中设计系统的概念层次的数据模型,通过它的CDM功能创建实体关系图来描述系统的数据组织结构。通过它的“检查模型”功能,校验概念数据模型中实体、实体属性、实体标识和实体间关系等是否存在问题。接着,选择MYSQL作为系统的目标数据库,生成在MYSQL上实现的数据库的物理数据模型(PDM):最后,通过“产生数据库”功能,并选择ODBC方式连接到指定的数据库,从而直接产生MYSQL上的数据库表以及其他数据库对象。
1.2持久化层的设计
数据持久层基于Hibernate架构,采用了DAO设计模式和抽象工厂设计模式。下面以学生类(Student)为例进行说明。首先,把学生信息封装为VO(ValueObject)。VO是一组值对象,只包含了一些属性和getter/setter方法的POJO(PlanOldJavaBean)。然后,采用DAO设计模式和抽象工厂设计模式,完成DAO工厂和Hibernate数据库操作的具体实现。最后,利用Hibernate的配置文件完成从应用程序到数据库的映射。
在Myeclipse开发环境中,首先配置数据库服务器的连接,然后利用Myeclipse的Hibernate的逆向工程,可以自动完成持久化层的设计任务。例如对学生表(student)进行逆向工程,将会自动生成Student.iava、AbstractStudent.iava、StudentDAO.iava、Student.hbm.xml等文件。其中,AbstractStudent.iava就是一个封装了Student信息的VO。StudentDAO.java采用DAO模式封闭了数据库操作。
在hibemate.cfg.xml配置文件中,定义了符合SQLServer规范的dialect方言,连接池访问数据库的URL资源定位地址以及数据库名称kq,数据库连接驱动程序,Hibernate管理事务、是否显示SQL语句。在mapping映射文件配置部分,定义了教师表(Teacher)、学生表(Student1、考勤表(Attendance)等对应的映射文件等。在该层的设计中,VO的信息封装体现了面向对象设计编程思想;DAO的设计模式和抽象工厂模式减弱了上层调用和具体实现之间的耦合;Hibemate配置实现了数据库高移植性,只需要改变Hibemate配置文件,不用修改程序设计就可以完成不同数据库之间的更换。
1.3业务逻辑层设计
业务逻辑层包含了供客户端程序调用的业务逻辑规则,以帮助客户端完成业务操作。该层采用业务代理、DAO和抽象工厂设计模式使用业务代理、DAO和抽象工厂设计模式,可以使业务逻辑更加灵活,如果具体业务发生变化,在表示层和数据持久化层改变很小就可以完成改变,这种设计能够增强系统的可维护性和灵活性。
1.4表示层设计
首先,建立用于用户输入和浏览的JSP视图页面和封装用户表单信息的ActionForm。接着,搭建用户请求和业务逻辑之间的桥梁——Action组件,该组件负责把用户信息和具体的业务逻辑处理联系在一起。
最后,通过Struts配置连接ActionForm和Action,完成一个业务设计。该层设计中,采用页面设计和表示层业务逻辑分离,提高了应用程序的可维护性。
安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/