1、成 都 信 息 工 程 学 院学 位 论 文SMART 系统系统功能管理模块设计与开发SMART 系统系统功能管理模块设计与开发摘 要SMART 系统是一个在语言上采用跨平台的 JAVA 技术、在框架架构上采用流行的 MVC 架构、在业务架构中采用 Spring 的 IOC 思想和 ORM 技术的一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试与评估以及教师对学生在线考试信息的管理和维护。本文设计的系统管理功能模块采用了多用户多角色管理机制,确保不同的用户登录系统后能够操作属于自己权限范围内的功能。系统功能管理模块主要由用户管理子模块、角色管理子模块、角色设置管理子模块、权限管理
2、子模块、系统菜单管理子模块、日志管理子模块和用户登录验证子模块构成。通过对系统功能的各种设置,实现对系统各级用户的角色设置和角色分配,限制和记录各级用户在系统中的对信息的功能操作,体现了系统权限设置的灵活性、数据操作的安全性。关键词: 用户;角色;权限;多用户多角色管理SMART SystemThe Design and Development of Function Management ModuleAbstractSMART System is a new intelligent information management system of on-line examine. It us
3、es the JAVA technology in language, uses the MVC in framework, and uses the IOC antilogy of Spring and ORM technology in its operation framework. The system mainly implements the on-line examination and evaluation of students, and the teachers management and maintenance of students examination infor
4、mation on-line as well. The system uses multiplex users and roles management mechanism. After the users log on, they can use the functions they owned. The management function module of system includes users management, role management, role setup management, right management, system menu management,
5、 log management and the validation of the users logon management. Through these configuration of system functions, the system carries out the role intercalation and distribution of the all users, restricts and records the information of all users how they used in the system. These can make the syste
6、m right configuration flexible, and the data operations security.Key words: the users; the role; right; multiplex users and roles management目 录论文总页数:36 页1 引 言 .11.1 背景 .11.2 目的 .11.3 意义 .11.4 系统开发的主要技术 .11.5 系统开发环境 .22 系统功能需求和总体设计 .32.1 B/S 构架 .32.2 系统流程框架设计 .32.3 系统功能需求分析与设计 .72.3.1 登录验证 .72.3.2 用户
7、管理 .82.3.3 角色管理 .92.3.4 角色设置管理 .92.3.5 权限设置管理 .102.3.6 日志管理 .112.3.7 菜单权限控制 .123 数据库设计与构架 .123.1 数据库设计 .123.2 数据库表设计 .133.2.1 用户表 .133.2.2 用户控制表 .153.2.3 角色表 .153.2.4 用户角色表 .163.2.5 任务表 .163.2.6 角色任务表 .173.2.7 日志表 .173.2.8 模块表 .173.2.9 公共 CODE 表 .183.2.10 试卷日志记录表 .193.3 数据库数据字典 .194 系统模块实现 .194.1 登录
8、验证 .194.1.1 登录流程图 .194.1.2 代码实现 .204.2 用户管理 .224.2.1 用户界面 .224.2.2 代码实现 .224.3 角色管理 .234.3.1 用户界面 .234.3.2 代码实现 .244.4 角色设置管理 .244.4.1 用户界面和流程图 .244.4.2 代码实现 .254.5 权限设置管理 .264.5.1 用户界面和流程图 .264.5.2 代码实现 .264.6 日志管理 .274.6.1 用户界面 .274.6.2 代码实现 .284.7 菜单权限控制 .284.7.1 用户界面和流程图 .284.7.2 代码实现 .295 结果测试、
9、性能分析 .305.1 单元测试 .305.2 系统功能测试 .305.2.1 系统菜单权限功能测试 .305.2.2 系统功能权限测试 .31结 论 .33参考文献 .34致 谢 .35声 明 .36第 1 页 共 36 页1 引 言1.1 背景随着高新技术的迅猛发展,信息技术广泛应用,将传统的教育产业信息化成为可能。但是目前学校与社会上的各种考试大都采用传统的考试方式,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试
10、方式已经不能适应现代考试的需要。所以拥有一套实用、完善、高效的在线考试评估系统越来越显的重要,能够将通过权限控制,将不同教师和学生登录后能够看到不同的功能界面,这样能更好的方便学校对教学质量的管理,降低成本,提高效率。1.2 目的通过对用户权限的控制,让不同的用户登录系统后能够看到不同的功能,以提高用户对管理对象的方便性和高效性。1.3 意义系统功能管理模块是现在管理系统软件中很重要的一环,很多国内较出名的软件厂商都设计了较完善的也具有自己特色的系统功能管理模块(权限管理模块),但对于很多没那么规范的软件商,他们经常是接到系统,就设计一套系统功能管理模块,每套都不同,有的甚至不够重视,随便写上
11、一段,哪里都拷过去用;有的也曾费尽心机,但结果总不能令自己满意。其实仔细想一下,每套软件的系统功能管理模块(权限管理模块)虽然各不相同,但其实所需实现的系统管理功能都是差不多的。权限管理是管理软件中可代码重用性最高的一个模块,也是重复开发率最高的一个模块。做一个最通用的系统功能管理模块(权限管理模块) ,支持尽可能多的数据库后台,尽最大可能方便软件开发人员的二次开发和最终用户使用,当然,还要保证权限管理技术的先进性,即注重灵活性的安全性。 1.4 系统开发的主要技术此系统采用了流行的 J2EE 技术,具体包括了Spring、Hibernate、Struts、Jsp、Ajax、数据库连接池等技术
12、。以下是对所开发系统所采用的技术的说明,为系统提供一定的技术支持。 J2EEJ2EE 平台是用于在分布式企业环境中开发、部署和执行应用程序的体系结构。分布式应用程序需要系统级服务,如事务管理、安全性、客户端连接池数据库访问。第 2 页 共 36 页 Spring Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 HibernateHibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心
13、所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序实用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。 StrutsStruts 就是在 JSP Model2 的基础实现了 MVC 设计模式的 WEB Framework。基于 Struts 构架的 WEB 应用程序基本上符合 JSP Model2 的设计标准,可以说是 MVC 设计模式的一种变化类型。 AjaxAJAX 全称为“Asynchr
14、onous 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,采用的开发语言是 JAV
15、A,在数据库设计方面使用的是 ERStudio 工具,在版本控制方面使用 CVS 控制。 eclipseEclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。它只是一个框架和一组服务,用于通过插件组件构建开发环境,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。Eclipse 的目标不仅当作 Java IDE 来使用,只要给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 tomcatTomcat 是一个免费的开源的 Serlvet 容器,它是
16、 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache,Sun 和其它一些公司及个人共同开发而成。第 3 页 共 36 页2 系统功能需求和总体设计2.1 B/S 构架随着 Internet 的发展,采用 Browser/Server 模式的系统主要利用 Internet 技术和产品来构筑内部的 Internet 网络,即所谓的 Intranet 网络,B/S 模式已经成为了企业信息系统建设的首选。B/S 模式使用方便,客户端统一采用浏览器,不限制客户平台,可以方便的和其他业务系统连接。其三层 3-tier 结构(图 2-1 B/S 三层结构),大大减缓了客户端载荷,
17、减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。它能有效地保护数据平台和管理访问权限,服务器数据也很安全。SMART 在线考试系统是为处在不同地点的不同用户提供网上数据操作服务的。使用 B/S 模式是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理用户的访问权限,服务器数据也更安全。特别是在采用 JAVA 这样的跨平台语言开发后,B/S 构架管理软件更方便、快捷、高效。图 2-1 B/S 三层结构2.2 系统流程框架设计SMART 系统系统功能管理设计与开发主要是对系统中的功能模块进行权限控制和管理。本系统主要设计
18、到三个对象,用户、角色、任务(系统中的功能模块)。其中用户主要有两种类型教师用户、学生用户。我们将系统中的任务分配给各个角色对象,然后将用户加入这些角色对象里面,从而来控制用户在系统的权限。该系统主要由登录验证、用户管理、角色管理、角色设置管理、权限设置管理、日志管理、菜单权限控制 7 个模块构成。系统的总体设计框架如图 2-2:第 4 页 共 36 页图 2-2 系统总体设计框架流程图 登录验证模块:登录验证主要是包括对用户信息的合法信息验证和对合法用户的权限加载,这个模块作为系统其它模块功能的前提。流程设计图如:图 2-3 登录验证模块流程图第 5 页 共 36 页 加载功能模块:加载功能
19、模块也就是菜单权限管理模块,只有一个合法用户第一登录成功后或者是用户刷新 session 的时候,系统才会加载该部分。系统加载这部分要根据登录用户的权限范围来加载用户相应的系统功能。其功能模块流程图如图 2-4:图 2-4 加载功能模块流程图 用户管理模块:该模块管理的对象主要是用户对象,当前系统中包含两种用户对象教师用户和学生用户。该模块要实现的功能包括新增用户、更新用户、删除用户、用户密码修改、用户激活、用户搜索、学生用户升学调整。用户管理模块功能框架图如图:图 2-5 用户管理模块功能图 角色管理和用户角色管理模块:其中角色管理模块主要负责对角色的管理和维护,包含对角色增加、角色更新、角色删除、角色搜索功能,他为用户角色管理提供管理对象之一(如图2-7);用户角色管理对象主要是对用户和角色用户之间建立一种联系关系,并