> 文章列表 > JSPSmart系统-权限管理与日志记录模块的设计与开发(源代码+论文)

JSPSmart系统-权限管理与日志记录模块的设计与开发(源代码+论文)

JSPSmart系统-权限管理与日志记录模块的设计与开发(源代码+论文)

SMART系统是一个在语言上采用跨平台的JAVA技术、在框架架构上采用流行的MVC架构、在业务架构中采用Spring的IOC思想和ORM技术的一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试与评估以及教师对学生在线考试信息的管理和维护。本文设计的系统管理功能模块采用了多用户角色管理机制,确保不同的用户登录系统后能够操作属于自己权限范围内的功能。系统功能管理模块主要由用户管理子模块、角色管理子模块、角色设置管理子模块、权限管理子模块、系统菜单管理子模块、日志管理子模块和用户登录验证子模块构成。通过对系统功能的各种设置,实现对系统各级用户的角色设置和角色分配,限制和记录各级用户在系统中的对信息的功能操作,体现了系统权限设置的灵活性、数据操作的安全性。

  1. 引 言

1.1 背景

随着高新技术的迅猛发展,信息技术广泛应用,将传统的教育产业信息化成为可能。但是目前学校与社会上的各种考试大都采用传统的考试方式,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。所以拥有一套实用、完善、高效的在线考试评估系统越来越显的重要,能够将通过权限控制,将不同教师和学生登录后能够看到不同的功能界面,这样能更好的方便学校对教学质量的管理,降低成本,提高效率。

1.2 目的

通过对用户权限的控制,让不同的用户登录系统后能够看到不同的功能,以提高用户对管理对象的方便性和高效性。

1.3 意义

系统功能管理模块是现在管理系统软件中很重要的一环,很多国内较出名的软件厂商都设计了较完善的也具有自己特色的系统功能管理模块(权限管理模块),但对于很多没那么规范的软件商,他们经常是接到系统,就设计一套系统功能管理模块,每套都不同,有的甚至不够重视,随便写上一段,哪里都拷过去用;有的也曾费尽心机,但结果总不能令自己满意。其实仔细想一下,每套软件的系统功能管理模块(权限管理模块)虽然各不相同,但其实所需实现的系统管理功能都是差不多的。权限管理是管理软件中可代码重用性最高的一个模块,也是重复开发率最高的一个模块。做一个最通用的系统功能管理模块(权限管理模块),支持尽可能多的数据库后台,尽最大可能方便软件开发人员的二次开发和最终用户使用,当然,还要保证权限管理技术的先进性,即注重灵活性的安全性。

1.4 系统开发的主要技术

此系统采用了流行的J2EE技术,具体包括了Spring、Hibernate、Struts、Jsp、Ajax、数据库连接池等技术。以下是对所开发系统所采用的技术的说明,为系统提供一定的技术支持。

  • J2EE

J2EE平台是用于在分布式企业环境中开发、部署和执行应用程序的体系结构。分布式应用程序需要系统级服务,如事务管理、安全性、客户端连接池数据库访问。

  • Spring

Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。

  • Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

  • Struts

Struts就是在JSP Model2的基础实现了MVC设计模式的WEB Framework。基于Struts构架的WEB应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。

  • Ajax

AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax技术主要是由XHTML、CSS、DOM、JavaScript、XML、XMLHttpRequest结合的一种技术,与传统的Web开发不同,Ajax并不是以一种基于静态页面的方式来看待Web应用的。

1.5 系统开发环境

本系统开发的IDE工具是eclipse以及相关的插件(如:tomcat插件),开发服务器采用的是tomcat,在数据存储器方面采用的是Microsoft SQL Server 2000,采用的开发语言是JAVA,在数据库设计方面使用的是ERStudio工具,在版本控制方面使用CVS控制。

  • eclipse

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。它只是一个框架和一组服务,用于通过插件组件构建开发环境,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。Eclipse 的目标不仅当作 Java IDE 来使用,只要给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

  • tomcat

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。

2 系统功能需求和总体设计

2.1 B/S构架

随着Internet的发展,采用Browser/Server模式的系统主要利用Internet技术和产品来构筑内部的Internet网络,即所谓的Intranet网络,B/S模式已经成为了企业信息系统建设的首选。B/S模式使用方便,客户端统一采用浏览器,不限制客户平台,可以方便的和其他业务系统连接。其三层3-tier结构(图2-1 B/S三层结构),大大减缓了客户端载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。它能有效地保护数据平台和管理访问权限,服务器数据也很安全。

SMART在线考试系统是为处在不同地点的不同用户提供网上数据操作服务的。使用B/S模式是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理用户的访问权限,服务器数据也更安全。特别是在采用JAVA这样的跨平台语言开发后,B/S构架管理软件更方便、快捷、高效。

2.2 系统流程框架设计图2-1 B/S三层结构

《SMART系统系统功能管理设计与开发》主要是对系统中的功能模块进行权限控制和管理。本系统主要设计到三个对象,用户、角色、任务(系统中的功能模块)。其中用户主要有两种类型——教师用户、学生用户。我们将系统中的任务分配给各个角色对象,然后将用户加入这些角色对象里面,从而来控制用户在系统的权限。该系统主要由登录验证、用户管理、角色管理、角色设置管理、权限设置管理、日志管理、菜单权限控制7个模块构成。系统的总体设计框架如图2-2:

  • 登录验证模块:

登录验证主要是包括对用户信息的合法信息验证和对合法用户的权限加载,这个模块作为系统其它模块功能的前提。流程设计图如:

  • 加载功能模块:

加载功能模块也就是菜单权限管理模块,只有一个合法用户第一登录成功后或者是用户刷新session的时候,系统才会加载该部分。系统加载这部分要根据登录用户的权限范围来加载用户相应的系统功能。其功能模块流程图如图2-4:

  • 用户管理模块:

该模块管理的对象主要是用户对象,当前系统中包含两种用户对象——教师用户和学生用户。该模块要实现的功能包括新增用户、更新用户、删除用户、用户密码修改、用户激活、用户搜索、学生用户升学调整。用户管理模块功能框架图如图:

  • 角色管理和用户角色管理模块:

其中角色管理模块主要负责对角色的管理和维护,包含对角色增加、角色更新、角色删除、角色搜索功能,他为用户角色管理提供管理对象之一(如图2-7);用户角色管理对象主要是对用户和角色用户之间建立一种联系关系,并通过这种关系以及权限设置模块中的角色和任务之间的关系一起来实现用户在系统的权限管理,用户角色管理模块包括搜索和用户角色设置两个功能。

  • 权限设置模块:

权限管理模块主要管理的对象有任务对象以及角色对象,他将系统的任务功能与角色对象建立一种关系,在结合用户角色管理模块的角色和用户对象建立的用户角色关系一起完成对系统的用户功能权限管理设置。

  • 日志管理模块:

日志管理模块由两部分日志对象组成,系统日志管理(主要是指系统中表对象操作日志管理)和试卷日志管理(学生用户和教师用户对试卷的操作日志记录管理)。

2.3 系统功能需求分析与设计

通过以上系统流程设计,各模块实现了以下的功能:

2.3.1 登录验证

  1. 功能需求

用户通过输入正确的信息,通过登录验证后,用户应从数据库中获取他在系统中所具有的操作权限,以致在用户登录后能够看到其在所具有权限范围内的功能模块。

  1. 模块划分

用户登录:用户登录系统,为用户获取权限操作,并更新用户信息。

Session维护:维护用户登录系统的会话时间。

用户注销:用户登出系统,清空用户在Session中的信息,结束用户会话,并更新用户信息。

  1. 应用场景

用户进入到登录页面,需要输入相应的用户信息,登录系统后,用户才能够执行相应功能的操作;当系统修改该用户的登录信息后,则需要再次输入正确的认证信息或者从新刷新Session后才能访问到相信系统功能,同时,当用户注销系统时,也从Session中清空相应的会话信息。

未完待续...