基于组策略的用户管理平台本科毕业论文.docx_第1页
基于组策略的用户管理平台本科毕业论文.docx_第2页
基于组策略的用户管理平台本科毕业论文.docx_第3页
基于组策略的用户管理平台本科毕业论文.docx_第4页
基于组策略的用户管理平台本科毕业论文.docx_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

题目:基于组策略的用户管理平台基于组策略的用户管理平台摘要管理平台是一款基于Nice EnginFrame框架之上的,根据应用软件平台上多种用户角色的权限范围来对应用软件和数据进行访问控制的管理软件。NICE Enginframe的框架下为应用软件的门户进行用户访问控制。它以MVC为主要技术框架,作为web application运行在Tomcat服务器中。在用户登录应用软件门户时,登录页面将调用管理平台以检查用户的角色和权限,根据用户的权限决定用户能否登录和登录后所能操作的应用软件页面,从而实现整个应用软件门户的用户访问控制。用户对每个页面的访问和操作都将被记录在管理平台的系统审计表中供审计员审查。当管理员在web界面上添加或修改用户密码时,管理平台后台服务程序通过调用Shell脚本对系统的NIS、LDAP、DA等用户名服务器进行添加、修改和查询用户的操作。管理平台的缺点在于添加用户性能太差,添加用户一般需要20s左右,主要的瓶颈在于将用户添加到nis中的时候使用的shell脚本性能差,花费的时间太长。关键字:NICE Enginframe; shell; NIS (Network Information Server); LDAP(Lightweight Directory Access Protocol);DA(Active Directory)Group Policy-based user management platformSummaryManagement platform is a framework based on the Nice EnginFrame above, depending on the application software platform purview of multiple user roles to the application software and data management software for access control. NICE Enginframe the framework of application software, user access control portal. It MVC as the main technical framework as a web application running on Tomcat server.Application software portal users log in, the login page will call management platform to check the users role and permissions based on the users permissions determine whether a user can log in and log pages can operate the application software, enabling users of the entire application software portal access control. Users to access and manipulate each page will be recorded in the system audit management platform for the Auditor of the table. When an administrator in the web interface to add or modify user password management platform daemons Shell scripts by calling the system NIS, LDAP, DA and other user name server to add, modify, and query the users actions.Management platform disadvantage poor performance add users, add users generally need about 20s, the main bottleneck is to add users to nis in shell scripts to use when performance is poor, it takes too long.Keyword: NICE Enginframe; shell; NIS (Network Information Server); LDAP(Lightweight Directory Access Protocol);DA(Active Directory)目录1 绪论91.1 本课题的开发背景以及开发意义91.2 国内外研究现状91.3 本课题研究的主要内容92 开发工具以及相关的技术102.1 java、jsp语言介绍102.2 shell 语言介绍132.3 NICE Enginframe开发环境的介绍132.4 postgresql数据库132.4.1 postgresql数据库的介绍132.4.2 postgresql数据库的特点142.4.3 postgresql数据库的优点142.5 struts2 介绍152.6 调度系统的介绍163 需求分析163.1 需求的提出163.2 可行性分析173.3 功能需求173.4 系统性能需求173.5 数据流图173.6 数据字典183.7 系统用例建模193.7.1 统一建模语言UML概述194 概要设计204.1 系统概要设计204.2 系统结构的用例图215 详细设计235.1 数据库结构设计235.2 系统功能模块的设计255.3 系统主要功能流程图265.4 类图的设计275.5 顺序图设计295.6 系统权限的设计305.6.1 系统管理员权限305.6.2 安全管理员权限305.6.3 审计员权限306 系统功能模块的实现316.1 用户维护模块316.2 角色管理模块326.3 组织管理模块326.4 安全管理模块346.5 审计管理模块357 测试367.1 测试计划367.1.1 测试方案367.1.2 测试项目367.2 测试项目说明367.2.1 测试内容367.2.2 测试方法367.2.3 测试过程377.3.4 测试用例378 总结37参考文献381 绪论1.1 本课题的开发背景以及开发意义 管理平台是一款基于Nice EnginFrame框架之上的,根据应用软件平台上多种用户角色的权限范围来对应用软件和数据进行访问控制的管理软件。 我们将用户分为三种角色,(系统管理员、安全员、审计员),对于不同的用户访问web页面看到的页面不同。系统管理员:负责添加、删除、修改、添加单位、研究室等等。安全员:负责审核用户,只有审核之后的用户才能登陆我们的仿真平台。审计员:记录和查看每个用户登录、提交作业以及其他的操作1.2 国内外研究现状基于用户管理系统的产品五花八门,各种各样,其根据用户需求的不同,设计的产品不同,我们的产品是基于航天院的高性能平台提出的,使用该管理平台管理用户合理的使用高性能平台。所以该系统和OA以及其他的用户管理平台很多不同的地方,普通用户不能查看和修改个人的信息,只用系统管理有才有权限进行修改。本系统的最大特点是将用户分为四种,系统管理员、安全员、审计员、普通用户。每种用户的功能将在后面详细的讲解。1.3 本课题研究的主要内容管理平台是一款基于Nice EnginFrame框架之上的,根据应用软件平台上多种用户角色的权限范围来对应用软件和数据进行访问控制的管理软件。管理平台的主要功能有:l 允许对角色的自定义配置,并提供系统默认的三员(管理员、安全员和审计员)管理。l 提供用户维护web界面允许系统管理员添加和修改应用平台门户网站的用户。l 提供组织管理web界面允许系统管理员添加和修改用户所属的单位和部门。l 提供安全管理web界面允许安全员批量批准添加用户的请求。l 提供审计管理web界面允许审计员审查管理员和安全员的操作记录。2 开发工具以及相关的技术2.1 java、jsp语言介绍本课题中使用了JAVA作为编程语言,以下就对JAVA做一个简单的介绍:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java 编程语言的风格十分接近C、C+语言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心。Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java的特点如下:1.平台无关性 平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与 机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能, 提供于不同平台的接口的。 2.安全性 Java的编程类似C+,学习过C+的读者将很快掌握Java的精髓。Java舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。 3.面向对象 Java吸取了C+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。 4.分布式 Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。 5.健壮性 Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数组边界检测、异常出口、Byte code校验等功能。 6.解释型 我们知道C,C+等语言,都是针对CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CPU有关。Java不像C或C+,它不针对CPU芯片进行编译,而是把程序编译成称为自字节码的一种“中间代码”。字节码是很接近机器码的文件,可以在提供了java虚拟机(JVM)的任何系统上被解释执行。 7.动态 java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C+那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。 JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。2.2 shell 语言介绍Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果同Linux本身一样,Shell也有多种不同的版本。目前主要有下列版本的Shell:Bourne Shell:是贝尔实验室开发的。BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。C Shell:是SUN公司Shell的BSD版本。Z Shell:The last shell youll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性2.3 NICE Enginframe开发环境的介绍EnginFrame基本框架是基于JAVA,XML和Web Services,人性化,应用程序和数据位导向的门户网站,便于部署。目前广泛应用在高性能计算门户上,与上下游高性能相关产品的配合形成了门户应用封装、多集群调度、桌面虚拟化、远程可视化等可借鉴的解决方案。用户和管理员可以很容易的提交很控制网格的应用程序以及监控工作站、数据。2.4 postgresql数据库2.4.1 postgresql数据库的介绍Postgresql是一种关系型数据库管理系统(RDBMS)。在数据库的术语里,Postgresql是一种客户端/服务器的模式,一次Postgresql会话有以下相关进程(程序)组成。1 一个服务器进程,他管理数据库文件,接受来自客户端应用与数据库的链接,并且代表客户端在数据库上执行操作。数据库服务器程序叫做postmaster.2 那些需要执行数据库操作的用户的客户端应用,客户端应用可能本省就是多种多样的:他们可以是一个字符界面的工具,也可以是一个图形界面的应用,或者是一个通过通过访问数据库来显示网页的web服务器,或者是一个特殊的数据库管理工具,一些客户端应用时和Postgresql发布一起提供的,但绝大部分是用户开发的。和典型的客户端/服务器(c/s)一样,这些客户端很服务器可以在不同的主机上,通过网络联建通讯。Postgresql服务器可以处理来自客户端的多个并法请求,因此,他为每各请求启动(“fork”)一个新的进程。这个时候开始,客户端和新的服务器进程就不在经过最初的的postmaster进程干涉进程通信。因此,postmaster总是在运行,等待连接,而客户端和相关的服务器进程则是起起停停。2.4.2 postgresql数据库的特点1. 支持SQL。作为关系数据库,它支持SQL89标准也支持部分SQL92大部分功能。2. 有丰富的数据类型。许多数据类型是一些商业数据库都没有提供的。3. 面向对象。它包含了一些面向对象的技术,如继承和类。4. 支持大数据库,它不同于一般的桌面数据库,能够支持几乎不受限制大小的数据库,而且性能稳定。5. 方便集成web,提供一些接口方便 PHP,Perl等语言操作数据库。6. 事务处理。相对一些其他免费数据库如MySQL,他提供了事务处理,可以满足一些商业领域的数据需要。7. PostgreSQL运行速度明显低于MySQL。因为MySQL使用了线程,而PostgreSQL使用的是进程。在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。2.4.3 postgresql数据库的优点1. PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,是目前世界上支持最丰富的数据类型的数据库。2. PostgreSQL 是全功能的自由软件数据库,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。3. PostgreSQL 采用的是比较经典的 C/S (client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。4. PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。2.5 struts2 介绍Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。Struts2对Struts1进行了巨大的改进。主要表现在如下几个方面: 在Action的实现方面:Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。 线程模型方面:Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。Struts2的Action是一个请求对应一个实例。没有线程安全方面的问题。 Servlet依赖方面:Struts1的Action依赖于Servlet API,比如Action的execute方法的参数就包括request和response对象。这使程序难于测试。Struts2中的Action不再依赖于Servlet API,有利于测试,并且实现TDD。 封装请求参数:Struts1中强制使用ActionForm对象封装请求的参数。Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。 表达式语言方面:Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(Object Graph NavigationLanguage)。 绑定值到视图技术:Struts1使用标准的JSP,Struts2使用“ValueStack”技术。 类型转换:Struts1中的ActionForm基本使用String类型的属性。Struts2中使用OGNL进行转换,可以更方便的使用。 数据校验:Struts1中支持覆盖validate方法或者使用Validator框架。Struts2支持重写validate方法或者使用XWork的验证框架。 Action执行控制的对比:Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期。Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。2.6 调度系统的介绍调度系统是一个集资源监控和分布式应用调度为一体的云计算的基础架构管理中间件,利用JH Scheduler可以快速的建立起一个完整企业级应用服务平台。它可以监控、调度、管理网络上的10台到上千台不同操作系统的服务器、工作站和虚拟机,把它们作为云计算资源集中管理起来为多种类型的应用软件提供统一服务平台。调度系统的管理员:通常情况下,用户必须是JH Scheduler管理员才能执行影响其他用户的操作。每个集群都有一个主管理员,该管理员在安装调度系统时被指定。用户也可以配置集群级别的和队列级别的额外管理员。3 需求分析软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。3.1 需求的提出软件需求包括三个不同的层次:业务需求、用户需求和功能需求还包括非功能需求。业务需求反映了组织机构或客户对系统或产品高层次的目标要求。用户需求描述了用户使用产品必须要完成的任务,可以在用例模式或方案脚本中予以说明。功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。需求分析主要是为了掌握用户的实际需要而进行的,首先应从宏观角度调查、分析用户所面临的问题,也就是说,需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题。为了更安全的使用管理平台,我们根据航天院的需求我们设计了添加用户、添加单位、添加研究室、安全审核、安全审计的功能模块。利用linux中的NIS对用户进行管理。3.2 可行性分析软件可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性分析的目的不是解决问题,而是确定问题是否值的去解,是否值的开发,研究在当前的具体条件下,开发新系统是否具备必要的资源和其他条件。我们先添加单位和研究室到数据库中;然后添加用户,首先添加到数据库中,在添加到linux中的服务器中,最后添加到调度系统中。其上述功能我们可以使用java和shell实现。调研的方案方法可以通过。3.3 功能需求根据用户提出的需求,系统管理员可以添加用户、修改用户、添加单位、修改单位、添加研究室、修改研究室、修改用户的最大作业槽数。安全员可以对用户进行安全审核。审计员可以对安全员和系统管理的行为进行统计查看。系统管理员:添加用户到数据库中添加用户到NIS服务器中添加用户到调度系统中安全员:对系统管理员添加的用户进行安全审核。审计员:审计安全员和系统管理员的操作,可以定期的到处记录的数据进行存档。3.4 系统性能需求根据需求分析可以归纳系统所应要求的性能:a. 系统需要的硬件、软件支持:硬件的要求中等以上配置的工作站服务器,因为进行高性能计算的仿真计算。 b. 系统响应时间:实时。每次执行完操作都会很快的得到响应,包况数据库的操作,都会在可允许的时间内执行完。这样执行完以后在执行其他的操作就会得到相应的响应。c. 系统需要的存储容量:存储主要是在服务器端实现,中等以上配置的服务器,因为用户一般都使用NIS和Samba服务器进行管理,所以对于存储的需求有一定的要求。 3.5 数据流图数据流图是结构化分析的基本工具,它描述了信息流和数据转换,通过加工进行分解可以得到的数据流图。其整个过程反映了自顶而下进行功能分解和细化的分析过程。顶层(也称第0层)DFD称为基本系统模型,用于表示系统开发范围,以及该系统与周围环境的数据交换关系;最底层DFD代表了那些不可进一步分解的“原子加工”;中间层DFD是对上层父图的细化,对下层流图的概括,中间层次的多少由系统复杂程度决定。第一层的DFD:第二层的DFD:第三层DFD:3.6 数据字典名称:系统管理员作用:添加用户、单位、研究室组成:系统管理的信息=用户名+密码+其他的个人信息名称:安全员作用:安全审核用户组成:安全员信息=用户名+密码+其他个人信息名称:审计员作用:审计安全员和系统管理员的所有操作组成:审计员信息=用户名+密码+其他个人信息3.7 系统用例建模前面对系统的任务和需求做了说明。下面将对系统的流程和各个参与者之间的相互作用做详细的说明,将使用例图、类图、顺序图来对整个需求进行描述分析。3.7.1 统一建模语言UML概述统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML包括概念的语义,表示法和说明,提供了静态、动态、系统环境及组织结构的模型。它可被交互的可视化建模工具所支持,这些工具提供了代码生成器和报表生成器。UML标准并没有定义一种标准的开发过程,但它适用于迭代式的开发过程。它是为支持大部分现存的面向对象开发过程而设计的。UML描述了一个系统的静态结构和动态行为。UML将系统描述为一些离散的相互作用的对象并最终为外部用户提供一定的功能的模型结构。静态结构定义了系统中的重要对象的属性和操作以及这些对象之间的相互关系。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制。从不同但相互联系的角度对系统建立的模型可用于不同的目的。UML还包括可将模型分解成包的结构组件,以便于软件小组将大的系统分解成易于处理的块结构,并理解和控制各个包之间的依赖关系,在复杂的开发环境中管理模型单元。它还包括用于显示系统实现和组织运行的组件。UML不是一门程序设计语言。但可以使用代码生成器工具将UML模型转换为多种程序设计语言代码,或使用反向生成器工具将程序源代码转换为UML。UML不是一种可用于定理证明的高度形式化的语言,这样的语言有很多种,但它们通用性较差,不易理解和使用。UML是一种通用建模语言。对于一些专门领域,例如用户图形界面(GUI)设计、超大规模集成电路(VLSI)设计、基于规则的人工智能领域,使用专门的语言和工具可能会更适合些。UML是一种离散的建模语言,不适合对诸如工程和物理学领域中的连续系统建模。它是一个综合的通用建模语言,适合对诸如由计算机软件、固件或数字逻辑构成的离散系统建模。4 概要设计概要设计的主要任务是把需求分析得到的DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。4.1 系统概要设计管理平台是一款基于Nice EnginFrame框架之上的,根据应用软件平台上多种用户角色的权限范围来对应用软件和数据进行访问控制的管理软件。管理平台的主要功能有:l 允许对角色的自定义配置,并提供系统默认的三员(管理员、安全员和审计员)管理。l 提供用户维护web界面允许系统管理员添加和修改应用平台门户网站的用户。l 提供组织管理web界面允许系统管理员添加和修改用户所属的单位和部门。l 提供安全管理web界面允许安全员批量批准添加用户的请求。l 提供审计管理web界面允许审计员审查管理员和安全员的操作记录。管理平台的技术特点是:l 开放、易扩展、易于集成。l 允许用户通过web界面进行远程管理。l 集成和支持多种用户账号系统,如NIS、LDAP、AD等。l 界面友好、专业,简单易用。管理平台 的系统架构如下图:管理平台在NICE Enginframe的框架下为应用软件的门户进行用户访问控制。它以MVC为主要技术框架,作为web application运行在Tomcat服务器中。管理平台服务程序通过JDBC与外部数据库连接以存储用户角色的配置数据和用户访问的审计记录,系统默认使用Linux自带的Postgres数据库,但可以通过简单的配置支持其它关系型数据库服务器。当管理员在web界面上添加或修改用户密码时,管理平台后台服务程序通过调用Shell脚本对系统的NIS、LDAP等用户名服务器进行添加、修改和查询用户的操作。在用户登录应用软件门户时,登录页面将调用管理平台以检查用户的角色和权限,根据用户的权限决定用户能否登录和登录后所能操作的应用软件页面,从而实现整个应用软件门户的用户访问控制。用户对每个页面的访问和操作都将被记录在管理平台的系统审计表中供审计员审查。4.2 系统结构的用例图1 系统管理员的用例如下:2 安全员的用例图如下:3 审计员的用例图如下:5 详细设计5.1 数据库结构设计数据表结构如下所示:管理平台包含以下数据表:表名备注audit_management审计内容中的数据都来自audit_managementdepartment_info记录部门信息的数据表operation_type记录用户操作的动作及严重级别的表organization_info记录单位信息的数据表user_conf_info记录用户密级的数据表user_info记录用户信息的数据表user_level_info记录用户优先级的数据表user_role_info记录用户角色的数据表audit_management表结构如下:ColumnTypeidbigintuser_id character varying(20) operation_timecharacter varying(19)user_ipcharacter varying(15)operation_typeintegeroperation_detailcharacter varying(4000)vdef1character varying(50)vdef2character varying(50)vdef3character varying(50)Vdef4character varying(50)vdef5character varying(50)Vdef6integerVdef7integerVdef8integerVdef9integerVdef10integerdepartment_info 的表结构如下:ColumnTypedepartment_namecharacter varying(128)department_name_chinesecharacter varying(128)organization_namecharacter varying(128)department_mapintegerdepartment_notecharacter varying(1024)operation_type 的表结构如下:ColumnTypeoperation_typeintegeroperation_namecharacter varying(50)servity_levelintegeraudit_typecharacter varying(128)organization_info的表结构如下:ColumnTypeorganization_namecharacter varying(128)organization_name_chinesecharacter varying(128)organization_mapintegerorganization_notecharacter varying(1024)user_conf_info 的表结构如下:ColumnTypeuser_confcharacter varying(128)user_conf_cncharacter varying(128)user_conf_mapintegeruser_info 的表结构如下:ColumnTypeuser_namecharacter varying(128)user_name_cncharacter varying(128)user_passwordcharacter varying(128)user_levelcharacter varying(128)user_rolecharacter varying(128)user_orgcharacter varying(128)user_depcharacter varying(128)user_notecharacter varying(128)user_telcharacter varying(128)user_mailcharacter varying(128)user_typecharacter varying(128)user_confcharacter varying(128)user_statcharacter varying(128)user_max_jobsintegerupdate_timecharacter varying(19)countintegeruser_level_info的表结构如下:ColumnTypeuser_levelcharacter varying(128)user_level_cncharacter varying(256)user_level_mapintegeruser_role_info的表结构如下:ColumnTypeuser_rolecharacter varying(128)user_role_cncharacter varying(256)user_role_mapinteger5.2 系统功能模块的设计根据系统的功能设计我们设计了如下的功能模块图如下:5.3 系统主要功能流程图根据系统的功能模块图我们设计如下的系统流程图:5.4 类图的设计1 添加用户的类图:2 添加单位的类图:3 添加研究室的类图:4 修改用户的类5 管理员密码的类图:5 用户角色和用户类型的类图:7 审计管理的类图:8 审计过滤的类:9 连接数据库的类图:5.5 顺序图设计1 系统管理员的顺序图5.6 系统权限的设计5.6.1 系统管理员权限系统管理员可以添加单位、研究室、添加用户、以及对用户的各种修改工作。5.6.2 安全管理员权限安全管理员可以审核每个用户,只有审核的用户才能登陆高性能平台。安全管理员还可以对审计员和一般用户进行安全审计。5.6.3 审计员权限审计员可以对安全员和系统管理员的所有操作进行查看审计并存档。6 系统功能模块的实现6.1 用户维护模块该模块提供了添加用户、修改用户两个功能。主要是对新用户的添加以及用户的修改。l 添加用户在添加用户的时候需要在组织管理页面先添加好单位、研究室。在数据库中配置好用户角色(普通员工、安全员、审计员、系统管理员)。给用户设置密码的时候,密码长度不能少于10位。l 修改用户在这个页面下列出了所有的用户,能查看到每一个用户的详细信息,能修改每一个用户的详细信息,能修改每一个用户的密码,同时能删除该用户。选择操作中的下拉框的选项“详细信息”弹出一个新窗口,显示该用户的详细信息。选择操作中的下拉框的选项“修改信息”弹出一个新窗口,在新弹出的窗口中可以修改用户的名称、单位、研究室、用户类型、用户角色。选择操作中的下拉框的选项“修改密码”将弹出一个新窗口,在新弹出的窗口中可以修改用户的密码。选择操作中的下拉框的选项“删除用户”将弹出一个对话框,如果用户还处于激活状态,则不能删除,需要先将该用户注销后才能删除,如果用户处于注销状态,点击确定删除该用户。6.2 角色管理模块该模块包含用户类型和用户角色两部分。1) 用户类型web页面列出了所有级别的用户,同时可以分配的CPU数给对应的用户级别。2) 用户角色页面列出了所有角色(普通用户、安全员、审计员、系统管理员)的列表,统计了每个角色的数量。点击用户数量能查看具体的用户信息。6.3 组织管理模块该模块包含了添加单位、修改单位、添加研究室、修改研究室四个部分。l 添加组织输入的单位的中文名称不能重复,如果重复,点击“添加”按钮的时候会提示错误消息,单位插入数据库失败。l 修改单位 l 添加研究室l 修改研究室该页面主要是对研究室信息的修改及删除操作。6.4 安全管理模块该页面主要是对新增加的用户进行的安全审核,对于已经激活的用户可以进行批量注销,或者对于已经批量注销过的用户进行解冻。通过页面右上角“过滤设置”可以查看所有状态的用户的信息列表。点击右上角的过滤设置,在用户状态下拉框中选中激活的用户,点击查找,显示如下图:上图列出了所有状态处于激活的用户列表。6.5 审计管理模块该页面主要的功能是列出所有的用户操作记录,列出所有用户的操作内容,对应的用户操作的IP地址及操作时间及严重级别。点击页面右上角“过滤设置”,显示如下图: 用户可以根据不同的需要选择不同的过滤的条件,非常快捷的定位到具体的用户操作的具体内容。7 测试7.1 测试计划7.1.1 测试方案测试方案是测试阶段的关键技术问题。为了提高测试效率降低测试成本,本测试方案采用

温馨提示

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

评论

0/150

提交评论