用户及资源权限管理设计优质文档.docx
《用户及资源权限管理设计优质文档.docx》由会员分享,可在线阅读,更多相关《用户及资源权限管理设计优质文档.docx(50页珍藏版)》请在冰豆网上搜索。
用户及资源权限管理设计优质文档
通用用户管理和权限控制系统
软件设计文档
版本1.0
修订历史记录
日期
版本
说明
作者
2003/5/12
1.0
创建
JavaOA项目组
软件设计文档
1.简介
目的
本文档将从构架和详细设计两方面对通用用户管理和权限控制系统进行综合概述,其中会使用多种不同的构架视图:
用例视图、顺序图、协作图、类图、组件图等来描述系统的各个方面,以作为下步编码测试的重要依据。
本文档的读者为:
公司技术负责人、用户代表、项目经理、设计员、程序员、测试员、评审组成员。
范围
本文档将在通用用户管理和权限控制系统的设计和构建阶段适用,对它的修改将直接影响系统的编码测试和系统构建。
本文档作为通用用户管理和权限控制系统开发过程中设计阶段的输出工件,既从系统整体的架构设计的角度做决定,又包括系统的详细设计。
定义、首字母缩写词和缩略语
参考资料
资料名称
作者
译者
出版社
出版时间
书号
通用用户管理和权限控制系统项目开发计划
JavaOA2项目组
无
无
2003年4月
通用用户管理和权限控制系统需求规格说明书
JavaOA2项目组
无
无
2003年5月
概述
本文档将从十一个方面对通用用户管理和权限控制系统做出设计规定:
简介、构架表示方式、构架目标和约束、用例视图、逻辑视图、组件视图、部署视图、数据视图、交互图、质量。
2.构架表示方式
通用用户管理和权限控制系统将采用当前流行的J2EE架构体系来设计构建,系统构架采用遵
照UML标准的面向对象建模工具RATIONALROSE来表示,将从用例视图、逻辑视图、组件视图、部署视图这几个不同角度来展示系统。
用例视图:
描述系统的功能(usecases)、外部环境(actors)、usecase和actors之间的关系(usecasediagram)。
逻辑视图:
主要包括交互图(interactiondiagram)、类图(classdiagram)。
交互图又分时序图(sequencediagram)和协作图(collaborationdiagram).时序图按时间显示信息流;协作图显示对象间的关系和消息;类图显示系统的包和类,显示系统组件及其相互间关系。
在架构设计阶段,最有用的是类图,在本系统架构设计文档中,我们也只列出系统类图。
组件视图:
描述系统的实际结构,展示系统组件如何构成代码库并显示组件间的关系(依赖性关系)。
部署视图:
描述各组件在物理上的位置关系,展示系统运行时软硬件的实际部署情况。
3.构架目标和约束
根据通用用户管理和权限控制系统需求规格说明书的规定,本系统在架构方面有一定的目标和约束条件。
约束
必须基于JAVA架构体系
目标
本系统构架将实现如下目标:
●重用:
为了避免重复劳动,为了降低成本,我们希望能够在以后的开发中重用本系统的代码和设计。
●透明:
为了提高效率,我们将把实现的细节隐藏起来,仅把客户最终需求或二次开发需求的接口呈现给客户或二次开发者。
这样,具体的实现对客户和二次开发者来说就是透明的。
●延展:
由于需求的易变性。
我们需要架构具有一定的延展性,以适应未来可能的变化。
但是,延展性和稳定性,延展性和简单性都是矛盾的。
因此我们需要权衡我们的投入/产出比。
以设计出具有适当和延展性的架构。
●简明:
一个复杂的架构不论是测试还是维护都是困难的。
我们希望架构能够在满足目的的情况下尽可能的简单明了。
●高效:
作为要嵌入办公自动化系统中的重要子系统,我们的用户管理和访问控制系统的架构必须是高效的。
●安全:
安全是架构的一个很重要的方面。
4.构架机制
分析机制
[对在分析中使用到的分析机制进行阐述]
分析机制
描述
持久性机制
需要保存下来以备下次重新使用的一种机制
错误报告机制
需要对程序运行时发生的错误需要进行某种方式让用户知道的机制
安全性机制
需要用一种方法保证非授权者不能使用或查看到信息的一种机制
分析机制-设计机制-实现机制映射
分析机制
设计机制
实现机制
持久性机制
带删除标记的文件保存机制
带删除标记的Java序列化机制
数据保存机制
数据库机制
错误报告机制
窗口弹出错误信息机制
Java的错误报告机制
安全性机制
操作日志机制
系统自动记录所有操作
登录机制
登录机制
5.用例视图
视图
系统用例视图如图5.1,要说明的是考虑视图的篇幅,图中用例之间的关系都没有标明类型,它们都应该为包含关系。
图5.1
用例(usecase)
根据上节视图,本系统共12个关键用例:
组织机构管理(departmentadmin)
资源管理(resourceadmin)
角色管理(roleadmin)
权限管理(permissionadmin)
授权管理(grantresource’spermissiontorole)
用户管理(useradmin)
日志管理(logadmin)
日志查询(querylog)
登录控制(logincontrol)
访问控制(accesscontrol)
日志记录(recordlog)
口令修改(passwdchange)
操作员(actor)
本系统共两类操作员:
系统管理员和外部应用系统。
系统管理员利用系统提供的管理界面操作系统管理相关用例,主要是:
组织机构管理、资源管
理、角色管理、权限管理、授权管理、用户管理、日志管理、日志查询。
同时,系统管理员的一切行为也需要通过系统的访问控制,也就是说这些管理用例要使用访问控制相关的后台用例:
登录控制、访问控制、日志记录、口令修改。
外部应用系统通过本系统提供的统一接口调用系统的访问控制相关用例:
登录控制、访问控制、日志记录、口令修改。
6.类包图
概述
本系统可分为五个部分(如下图:
6.1):
接口、基础管理、日志记录、访问控制、底层支持。
接口:
包括为系统管理员提供的系统管理用户界面和为外部应用系统提供的调用接口。
基础管理:
包括完成系统基础的管理功能(用户管理、资源管理、角色管理、权限管理、授权管理、用户管理、日志管理、日志查询)的所有类。
日志记录:
包括完成自动日志记录功能的类。
访问控制:
包括实现统一登录验证、访问权限验证、会话管理的所有类。
底层支持:
包括实现数据库连接或其它系统连接的所有类。
图6.1
在构架方面具有重要意义的设计包
接口(interface)
系统主要包括12个接口,其中8个用户界面,四个外部调用接口:
登录页面(LoginPage)
主页(MainPage)
资源管理页面(ResourceInfoPage)
权限管理页面(PermissionInfoPage)
角色管理页面(RoleInfoPage)
角色授权页面(GrantManagePage)
用户管理页面(UserInfoPage)
日志管理页面(LogManagePage)
登录验证接口(LoginCheck)
资源访问验证接口(ResourceAccessCheck)
记录日志功能接口(RecordLog)
口令修改接口(PasswdChange)
图6.2
基础管理(BasicManage)
图6.3
组织机构类(department)
整
体
说
明
中文类名:
组织机构类
英文类名:
department
描述:
记录组织机构信息
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
机构编码
id
字符串
12位
编码规则:
机构分级,每3位一级,如001表示是一级机构;001002表示001机构下属的002机构;如此类推。
机构全称
description
字符串
50
机构简称
ShortName
字符串
20
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
组织机构管理类
整
体
说
明
中文类名:
组织机构管理类
英文类名:
DepartmentManager
描述:
实现组织机构信息的增加、修改、删除、显示、查询
一般类:
无
主动性:
YES
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
增加部门
AddDepartment
修改部门
ModifyDepartmrnt
DepartmentId
删除部门
DeleteDepartment
DepartmentId
显示部门信息
ShowDepartment
DepartmentId
Department信息表格
搜索部门信息
SeekDepartment
DepartmentId
Department对象
用户管理类(UserManager)
整
体
说
明
中文类名:
用户管理类
英文类名:
UserManager
描述:
管理用户信息,用户管理相关的所有操作都由它完成。
一般类:
无
主动性:
YES
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
口令修改
UserPasswdChange
旧口令,新口令
加密口令
UserPasswdEncrypt
口令字符串
加密串
解密口令
UserPasswdDecrypt
加密字符串
解密后的口令
找回口令
UserPasswdFind
口令提示问题、问题答案
解密后的口令
增加用户
AddUser
用户信息
修改用户信息
ModifyUserInfo
用户名、修改信息
删除用户
DeleteUser
用户名
显示用户信息
ShowUserInfo
用户名
用户登录验证
UserAuthenticate
用户名、口令
是否合法用户
包括本系统、CA系统、LDAP系统的验证
查询用户信息
SeekUserInfo
用户名
资源访问权限验证
AccessAuthenticate
用户名、资源编码、权限编码
是否有该资源的此种权限
生成用户授权视图
CreateGrantView
用户名
生成某用户完整的用户授权信息视图,仅在当前会话有效期存在
用户类(user)
整
体
说
明
中文类名:
用户类
英文类名:
user
描述:
记录用户基本信息
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
用户名
name
字符串
口令
passwd
字符串
提示问题
PasswdPromptQuestion
字符串
问题答案
PasswdQuestionResult
字符串
部门号
department
字符串
真实姓名
RealName
字符串
LDAP用户名
LDAPUserName
字符串
LDAP口令
LDAPUserPasswd
字符串
CA证书路径
CACertifyPath
字符串
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
角色管理类(RoleManager)
整
体
说
明
中文类名:
角色管理类
英文类名:
RoleManager
描述:
一般类:
无
主动性:
YES
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
增加角色
AddRole
角色信息
修改角色信息
Modifyrole
角色编码、修改信息
删除角色
DeleteRole
角色编码
显示角色信息
ShowRoleInfo
角色编码
查询角色信息
SeekRole
角色编码
角色类(role)
整
体
说
明
中文类名:
角色类
英文类名:
role
描述:
记录角色定义信息
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
角色编码
id
字符串
角色描述
description
字符串
角色名称
ShortName
字符串
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
资源管理类(ResourceManager)
整
体
说
明
中文类名:
资源管理类
英文类名:
ResourceManager
描述:
一般类:
无
主动性:
YES
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
增加资源
AddResource
资源信息
修改资源信息
ModifyResource
资源编码、修改信息
删除资源
DeleteResource
资源编码
显示资源信息
ShowResourceInfo
资源编码
查询资源信息
SeekResource
资源编码
资源类(Resource)
整
体
说
明
中文类名:
资源类
英文类名:
Resource
描述:
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
资源编码
id
字符串
编码规则:
资源分级,每3位一级,如001表示是一级资源;001002表示001资源下属的002资源;如此类推。
资源描述
description
字符串
资源名称
ShortName
字符串
资源URL
URL
字符串
由此定位资源
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
权限管理类(PermissionManager)
整
体
说
明
中文类名:
权限管理类
英文类名:
PermissionManager
描述:
一般类:
无
主动性:
YES
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
增加权限
AddPermission
权限信息
修改权限信息
ModifyPermission
权限编码、修改信息
删除权限
DeletePermission
权限编码
显示权限信息
ShowPermissionInfo
权限编码
查询权限信息
SeekPermission
权限编码
权限类(permission)
整
体
说
明
中文类名:
权限类
英文类名:
permission
描述:
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
权限编码
id
字符串
权限描述
description
字符串
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
用户组管理类
整
体
说
明
中文类名:
用户组管理类
英文类名:
GroupManager
描述:
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
添加用户组
AddGroup
删除用户组
DeleteGroup
该组成员同时删除
添加组成员
AddGroupMember
删除组成员
DeleteGroupMember
用户组类(group)
整
体
说
明
中文类名:
用户组类
英文类名:
group
描述:
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
组编码
id
字符串
组描述
description
字符串
组类型
public
布尔型
Yes/no
公共组:
yes,个人自定义组:
no
所有者
owner
字符串
公共组则无
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
授权管理类(GrantManager)
整
体
说
明
中文类名:
授权管理类
英文类名:
GrantManager
描述:
实现将资源的访问权限授予用户角色、角色授予用户或用户组的功能
一般类:
无
主动性:
YES
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
增加角色授权
AddRoleGrant
对角色的资源访问权限的管理
修改角色授权
ModifyRoleGrant
删除角色授权
DeleteRoleGrant
用户角色授予
AddUserGrant
对用户拥有的角色的管理
删除角色授予
DeleteUserGrant
用户角色类(user_role)
整
体
说
明
中文类名:
用户角色类
英文类名:
user_role
描述:
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
用户名
name
角色编码
RoleId
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
用户组成员类(UserGroupMember)
整
体
说
明
中文类名:
用户组成员类
英文类名:
UserGroupMember
描述:
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
组编码
GroupId
字符串
成员名
name
字符串
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
角色资源权限类(role_resource_permission)
整
体
说
明
中文类名:
角色资源权限类
英文类名:
role_resource_permission
描述:
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
角色编码
RoleId
字符串
资源编码
ResourceId
字符串
权限编码
PermissionId
字符串
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
访问控制(AccessControl)
图6.4
会话控制类(SessinControler)
整
体
说
明
中文类名:
会话控制类
英文类名:
SessinControler
描述:
实现按预先定义的规则对所有用户会话进行管理
一般类:
无
主动性:
YES
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
时间设置值
TimeOutValue
数字
会话过期时间
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
会话过期
TimeOut
会话过期,终止用户会话
日志记录(LogRec)
图6.5
日志类(log)
整
体
说
明
中文类名:
日志类
英文类名:
log
描述:
一般类:
无
主动性:
NO
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明
用户名
name
字符串
资源访问
AccessType
布尔
YES/NO
登录:
NO;资源访问:
YES
访问时间
Time
date
访问资源
ResourceId
字符串
登录日志则无
权限类型
PermissionId
字符串
登录日志则无
关键字
KeyWord
字符串
登录日志则无
机器地址
IP
字符串
操
作
说
明
中文名
英文名
输入参数
输出参数
说明
日志管理类(LogManager)
整
体
说
明
中文类名:
日志管理类
英文类名:
LogManager
描述:
完成日志归档、删除、恢复、查询等日志记录信息管理及自动记录操作日志的功能
一般类:
无
主动性:
YES
其它:
属
性
说
明
中文名
英文名
数据类型
数据约束
说明