通用权限管理系统设计篇(三)——概要设计说明书

在前两篇文章中,不少朋友对我的设计提出了异议,认为过于复杂,当然在实际的各种系统的权限管理模块中,并不像这里设计得那么复杂,我以前所做的系统中, 由只有用户和权限的,有只有用户、权限和角色的,还有一个系统用到了用户、权限、角色、组概念,这个系统是我在思考以前所做系统的权限管理部分中找到的一 些共性而想到的一个设计方案,当然还会有不少设计不到位的地方,在设计开发过程中会慢慢改进,这个系统权当学习只用,各位朋友的好的建议我都会考虑到设计 中,感谢各位朋友的支持。
今天抽时间整了一份概念设计出来,还有一些地方尚未考虑清楚,贴出1.0版,希望各位朋友提出宝贵建议。
大家也可以点击此处 《通用权限管理概要设计说明书》自行下载,这是1.0版本,有些地方可能还会进行部分修改,有兴趣的朋友请关注我的blog。

1. 引言

1.1 编写目的

本文档对通用权限管理系统的总体设计、接口设计、界面总体设计、数据结构设计、系统出错处理设计以及系统安全数据进行了说明。

1.2 背景

a、软件系统的名称:通用权限管理系统;

b、任务提出者、开发者:谢星星;

c、J2EEweb系统中需要使用权限管理的系统。

1.3 术语

本系统:通用权限管理系统;

SSH:英文全称是Secure Shell

1.4 预期读者与阅读建议

预期读者

阅读重点

开发人员

总体设计、接口设计、数据结构设计、界面总体设计、系统出错处理设计

设计人员

总体设计、接口设计、数据结构设计、系统安全设计

1.5 参考资料

《通用权限管理系统需求规格说明书》

《通用权限管理系统数据库设计说明书》

2. 总体设计

2.1 设计目标

权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统的权限进行设计,以满足不同系统用户的需求,将会浪费我们不少宝贵时间,所以花时间来设计一个相对通用的权限系统是很有意义的。

本系统的设计目标是对应用系统的所有资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮控件等进行权限的操控。

2.2 运行环境

操作系统:Windows系统操作系统和Linux系列操作系统。

2.3 网络结构

通用权限管理系统可采用Java Swing实现,可以在桌面应用和Web应用系统中进行调用。如果需要要适应所有开发语言,可以将其API发布到WEB Service上。暂时用Java Swing实现。

2.4 总体设计思路和处理流程

在说明总体设计思路前,我们先说明本系统的相关概念:

1. 权限资源

系统的所有权限信息。权限具有上下级关系,是一个树状的结构。下面来看一个例子

系统管理

用户管理

查看用户

新增用户

修改用户

删除用户

对于上面的每个权限,又存在两种情况,一个是只是可访问,另一种是可授权,例如对于“查看用户”这个权限,如果用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人。

2. 用户

应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。他的权限集是自身具有的权限、所属的各角色具有的权限、所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。

3. 角色

为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如系统管理员、管理员、用户、访客等角色。角色具有上下级关系,可以形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。父级角色的用户、父级角色的组同理可推。

4.

为 了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际情况中,我们知道,组也可以具有自己的角色信息、 权限信息。这让我想到我们的QQ用户群,一个群可以有多个用户,一个用户也可以加入多个群。每个群具有自己的权限信息。例如查看群共享。也可以具有 自己的角色信息,例如普通群、高级群等。

针对如上提出的四种对象,我们可以整理得出它们之间的关系图,如下所示:


总体设计思路是将系统分为组权限管理、角色权限管理、用户权限管理、组织管理和操作日志管理五部分。

其中组权限管理包括包含用户、所属角色、组权限资源和组总权限资源四部分,某个组的权限信息可用公式表示:组权限 = 所属角色的权限合集 + 组自身的权限。

角色权限管理包括包含用户、包含组和角色权限三部分,某个角色的权限的计算公式为:角色权限 = 角色自身权限。

用户权限管理包括所属角色、所属组、用户权限、用户总权限资源和组织管理五部分。某个用户总的权限信息存在如下计算公式:用户权限 = 所属角色权限合集 + 所属组权限合集 + 用户自身权限。

组织管理即对用户所属的组织进行管理,组织以树形结构展示,组织管理具有组织的增、删、改、查功能。

操作日志管理用于管理本系统的操作日志。

注意:因为组和角色都具有上下级关系,所以下级的组或角色的权限只能在自己的直属上级的权限中选择,下级的组或者角色的总的权限都不能大于直属上级的总权限。

2.5 模块结构设计

本系统的具有的功能模块结构如下图所示:

2.6 尚未解决的问题

无。

3. 接口设计(暂略)

3.1 用户接口(暂略)

3.2 外部接口(暂略)

3.3 内部接口(暂略)

4. 界面总体设计

本节将阐述用户界面的实现,在此之前对页面元素做如下约定:

序号

页面元素

约定

1

按钮

未选中时:[按钮名称]

选中时:[按钮名称]

2

单选框

○ 选项

3

复选框

□ 选项

4

下拉框

[选项,…,] ▽

5

文本框

|________|

6

TextArea

|…………|

7

页签

未选中时:选项名称

选中时:选项名称

8

未选中链接

链接文字

9

选中链接

链接文字

10

说明信息

说明信息

4.1 组权限管理

4.1.1包含用户

组信息

组1

组11

组12

组…

组2

组21

组22

组…

所选择组:组1

[包含用户] [所属角色] [组权限] [总权限]

[修改]

用户名 姓名 手机号 最近登录时间登录次数

阿蜜果谢星星136666666662007-10-8 66

sterning xxx 135555555552007-10-8 10

……

当用户选择“修改”按钮时,弹出用户列表,操作人可以通过勾选或取消勾选来修改该组所包含的用户。

4.1.2所属角色

组信息

组1

组11

组12

组…

组2

组21

组22

组…

所选择组:组1

[包含用户] [所属角色] [组权限] [总权限]

[修改]

角色ID 角色名称 角色描述

1 访客 --

2 初级用户 --

当用户选择“修改”按钮时,弹出角色树形结构,操作人可以通过勾选或取消勾选来修改该组所属的角色。

4.1.3组权限

组信息

组1

组11

组12

组…

组2

组21

组22

组…

所选择组:组1

[包含用户] [所属角色] [组权限] [总权限]


[保存] [取消]

4.1.4总权限

组信息

组1

组11

组12

组…

组2

组21

组22

组…

所选择组:组1

[包含用户] [所属角色] [组权限] [总权限]


[保存] [取消]

通过对已具有的权限取消勾选,或为某权限添加勾选,来修改组的权限信息,点击“保存”按钮保存修改信息。

4.1.5组管理

在下图中,选中组1的时候,右键点击可弹出组的操作列表,包括添加、删除和修改按钮,从而完成在该组下添加子组,删除该组以及修改该组的功能。

组信息

组1

组11

组12

组…

组2

组21

组22

组…

所选择组:组1

[包含用户] [所属角色] [组权限] [总权限]

[修改]

用户名 姓名 手机号 最近登录时间登录次数

阿蜜果谢星星136666666662007-10-8 66

sterning xxx 135555555552007-10-8 10

……

4.2 角色权限管理

4.2.1包含用户

角色信息

角色1

角色11

角色12

角色…

角色2

角色21

角色22

角色…

所选择角色:角色1

[包含用户] [包含组] [角色权限]

[修改]

用户名 姓名 手机号 最近登录时间登录次数

阿蜜果谢星星136666666662007-10-8 66

sterning xxx 135555555552007-10-8 10

……

当用户选择“修改”按钮时,弹出用户列表,操作人可以通过勾选或取消勾选来修改该角色所包含的用户。

4.2.2包含组

角色信息

角色1

角色11

角色12

角色…

角色2

角色21

角色22

角色…

所选择角色:角色1

[包含用户] [包含组] [角色权限]

[修改]

组ID 组名称 组描述

1xxx1--

2 xxx2 --

……

当用户选择“修改”按钮时,弹出用户列表,操作人可以通过勾选或取消勾选来修改该角色所包含的组。

4.2.3角色权限

角色信息

角色1

角色11

角色12

角色…

角色2

角色21

角色22

角色…

所选择角色:角色1

[包含用户] [包含组] [角色权限]


[保存] [取消]

通过对已具有的权限取消勾选,或为某权限添加勾选,来修改角色的权限信息,点击“保存”按钮保存修改信息。

4.2.4管理角色

在下图中,选中组1的时候,右键点击可弹出组的操作列表,包括添加、删除和修改按钮,从而完成在该组下添加子组,删除该组以及修改该组的功能。

角色信息

角色1

角色11

角色12

角色…

角色2

角色21

角色22

角色…

所选择角色:角色1

[包含用户] [包含组] [角色权限]

[修改]

用户名 姓名 手机号 最近登录时间登录次数

阿蜜果谢星星136666666662007-10-8 66

sterning xxx 135555555552007-10-8 10

……

4.3 用户权限管理

4.3.1所属角色

用户权限信息

xx公司

广州分公司

阿蜜果

肖xx

yy…

北京分公司

zz1

zz2

zz3…

所选择用户:阿蜜果

[所属角色] [所属组] [用户权限] [总权限]

[修改]

角色ID 角色名称 角色描述

1 访客 --

2 初级用户 --

当用户选择“修改”按钮时,弹出角色树形结构,操作人可以通过勾选或取消勾选来修改该用户所属的角色。

4.3.2所属组

用户信息

xx公司

广州分公司

阿蜜果

肖xx

yy…

北京分公司

zz1

zz2

zz3…

所选择用户:阿蜜果

[所属角色] [所属组] [用户权限] [总权限]

[修改]

组ID 组名称 组描述

1 组1 --

2 组2 --

当用户选择“修改”按钮时,弹出组的树形结构,操作人可以通过勾选或取消勾选来修改该用户所属的组。

4.3.3用户权限

用户信息

xx公司

广州分公司

阿蜜果

肖xx

yy…

北京分公司

zz1

zz2

zz3…

所选择用户:阿蜜果

[所属角色] [所属组] [用户权限] [总权限]


[保存] [取消]

通过对已具有的权限取消勾选,或为某权限添加勾选,来修改用户的权限信息,点击“保存”按钮保存修改信息。

4.3.4总权限

用户信息

xx公司

广州分公司

阿蜜果

肖xx

yy…

北京分公司

zz1

zz2

zz3…

第1章 通用权限管理组件简介 7 1.1 软件开发现状分析 7 1.2 功能定位、建设目标 7 1.3 目标用户群体 9 1.4 系统优点 11 1.5 系统架构大局观 12 1.6 物理结构图 13 1.7 逻辑结构图 14 1.8 系统运行环境配置 15 1.9 安装程序、数据库设计、数据库文件 15 1.10 相关程序文档结构说明 16 1.11 软件安装、配置、运行方法 17 第2章 登录后台管理系统 21 2.1请用“登录”不要“登陆” 21 2.2系统登录 22 第3章 用户(账户)管理 23 3.1申请用户(账户) 25 3.2用户(账户)审核 27 3.3用户(账户)管理 29 第4章 组织机构(部门)管理 33 4.1大型业务系统 34 4.2中小型业务系统 35 4.3微型的业务系统 36 4.4内外部组织机构 37 第5章 角色(用户组)管理 38 第6章 职员(员工)管理 42 6.1职员(员工)管理 42 6.2职员(员工)的排序顺序 43 6.3职员(员工)与用户(账户)的关系 44 6.4职员(员工)导出数据 45 6.5职员(员工)离职处理 47 第7章 内部通讯录 48 7.1 我的联系方式 49 7.2 内部通讯录 50 第8章 即时通讯 51 8.1 发送消息 51 8.2 即时通讯 53 第9章 数据字典(选项)管理 55 9.1 数据字典(选项)管理 56 9.2 数据字典(选项)明细管理 58 第10章 系统日志管理 59 10.1 用户(账户)访问情况 60 10.2 按用户(账户)查询 61 10.3 按模块(菜单)查询 62 10.4 按日期查询 63 第11章 模块(菜单)管理 64 第12章 操作权限项管理 67 第13章 用户权限管理 71 第14章 序号(流水号)管理 72 第15章 系统异常情况记录 74 第16章 关于本软件 76 第17章 修改密码 77 第18章 重新登录 79 第19章 退出系统 81 第20章 参数服务 82 第21章 多系统权限集中配置管理 83 第22章 C/S组件模式运行用例 85 第23章 B/S组件模式运行用例 88 第24章 多语言支持 89 第25章 代码生成器 94 第26章 典型业务案例应用 96 26.1 文档管理 96 26.2 名片管理 98 第27章 开发登录功能过程分析 100 27.1系统登录功能的分工 100 27.1.1 市场营销人员 100 27.1.2 决策老板 100 27.1.3 项目经理 100 27.1.4 系统架构师 100 27.1.5 美工设计人员 100 27.1.6 程序员 100 27.1.7 质量保障员 100 27.1.8 测试人员 100 27.1.9 文档管理员 100 27.1.10 客户经理 100 27.1.11 实施工程师 100 27.2注意事项建议 104 27.2.1 分工明确原则 104 27.2.2 沟通效率问题 104 27.2.3 决策效率问题 104 27.2.4 工作量问题 104 27.2.5 产品质量问题 104 27.2.6 人员变动问题 104 27.2.7 绩效考核问题 104 27.2.8 工作成果问题 104 27.3通过实现登录窗体的反思 105 第28章 客户经常需要的开发技能 107 28.1 打印功能 107 28.2 编号产生功能 107 28.3 查询功能 107 28.4 大数据量快速分页功能 107 28.5 能快速便捷输入数据功能 107 28.6 模块(菜单)可以灵活配置 107 28.7 数据导入导出功能 107 28.8 图标统计 107 28.9 第方接口程序 107 28.10 程序需要经得起折腾 107 28.11 导入原有系统的数据 107 28.12 数据导入导出功能 107 28.13 漂亮的界面 107 第29章 产品报价、技术支持、售后服务 108 29.1 产品及服务报价 108 29.2 联系方式、售后服务、错误反馈 109
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值