第1章 通用权限管理组件简介
2010-05-11 14:01 通用C#系统架构 阅读(12289) 评论(11) 编辑 收藏 举报本软件模块的严谨设计定位、精心编码实现、不断维护推广、持续优化改进主要是为了做一个可以高度重复利用辛苦的劳动成果,并有偿提供给所需的人们,另想成为国人值得骄傲的知名软件功能模块,可供国内管理类开发人员在日常工作中进行灵活二次开发利用的模块,开发管理类软件的必备工具之一,同事本软件的系统架构可供广大业余兴趣爱好者模仿。
希望本系统模块能达到为提高管理类软件系统的整体质量、提高模块与模块之间的兼容性、提高高质量代码的重复利用、劳动成果重复利用的;做一个架构合理、质量过硬的软件系统。
我们有错就修改,每天努力一点点,提高一点点,坚持不懈,不断努力每一天。
1.1 软件开发现状分析
新员工没人带,老员工忙着救项目、就算是有空老员工也有疲倦的时候,也有不愿意带人的,也有不愿意把 简单的东西反反复复教人的,一年又一年,一批又一批人换来换去,很有可能也懒的带。
有些人喜欢与别人交流,但是大部分IT软件开发人员习惯了与计算机沟通,很可能有些不适应与人沟通交流,或者忙着解决他在技术上遇到的难题等。
1.2 功能定位、建设目标
一) 实现简易的单点登录功能,用户只要记住一对用户名密码就可以:
随着信息化项目、数字化项目越来越多的被研发实施,我们需要记住的用户名密码变得越来越多,随着公司业务规模的扩展、公司的发展壮大或者本身是一个大型的集团公司,内部前后实施的信息化系统会越来越多,这时我们也需要记忆越来越多的用户名密码,而且后台的管理越来越变得复杂、甚至是变成累赘。
二) 多个管理系统可以用统一的一套后台管理工具进行管理就可以:
管理人员、开发人员、测试人员、实施人员,反复要开发N多个大同小异的后台管理工具、开发、测试、修改错误、改进功能,没完没了,全国各地N多的公司,N多的开发人员,在这个没多大价值的事情上浪费了N多的精力,实施维护人员还要安装、实施、学习、维护N多个大同小异的后台管理工具,花费毕竟多的维护成本、学习成本。
三) 建立信息化数字化项目的数据中心,提高基础数据的重复利用率:
随着同一个公司内部实施的信息化系统数量的增加、遇到了将同样的基础数据录入到N多个管理系统中的问题、设想一下,将一个用户信息录入到10-20个系统里,有一个基础数据有变化,需要同步在N多个相应的系统里进行修正,也是一个很复杂又毫无意义的、毫无创新的重复工作量。
四) 提高同一个公司内开发的多个软件项目的兼容性、可维护性:
有规模的软件公司内部大多是按项目组进行管理开展日常开发工作;但是由于沟通能力、沟通技巧、沟通效率、项目时间紧等等各种复杂的原因,最终会导致各个项目组之间的分工、沟通、交流不充分,各个项目组之间开发出来的管理系统都不能互相兼容,功能模块都存在重复建设、分工不明确、职责不明确等现状。
五) 努力实现各软件公司研发的功能模块的可集成性:
同一个大型客户,往往前后会购买多个软件公司生产的功能模块、信息管理系统,但是这些公司之间的功能模块往往也会存在不兼容的问题,数据重复录入,基础信息无法共享的问题,管理维护这些多个提供商提供的产品、功能模块,也带来了繁杂的后期维护、功能集成方面的后患。
六) 成为广大软件开发爱好者开发管理类软件的基础组件之一,提高生产力:
专业软件公司的信息化系统,往往是多个人维护了多年,不仅仅是功能复杂、关联繁杂,这时若遇到开发一个小型的软件项目或者一个简单的软件项目,往往我们没有能力在短时间内干净利落的弄好,就像俗话讲的麻雀虽小五脏俱全。
本系统提供一个与任何业务系统毫无关系的、功能定位明确的轻量级的快速开发平台。
本系统有严谨的数据库设计文档、有比较完善的配套参考资料、功能讲解,同时有偿提供全部的源码、注释及配套工具、说明文档。
七) 成为管理类软件开发爱好者的入门者学习提高的标准教程:
本系统是符合严格的分层原则、设计模式、数据库设计规范、编码精良,思路严谨的解决多种数据库兼容性问题的小型软件项目。
同时本系统又是日后开发管理系统的基础的必要组成部分,将来可以派上用处的可能性很大,值得学习,值得长期维护。
编码简单易懂,方便初学者学习入门。
编码简单易懂,方便后期的维护改进。
1.3 目标用户群体
一)政府机构、集团公司:
可以大型软件项目中的统一的组织机构、员工、客户、岗位角色分配、工作流程定义、权限分配的集中规划、配置、日常管理工具;可以成为整个组织内的统一的信息化建设的基础数据的建设、管理、维护的工具;基础数据中心的管理维护工具,同时可以成为建设简单高效的单点登录系统的核心组成部分。
可以成为众多信息化技术服务提供商的新开发软件项目的规范要求、整体约束的依据及配套工具、应用系统开发的标准参考模型;达到整个组织内部使用的软件产品、软件项目有一定的标准规范、能满足基础信息的共享,管理工具统一化的要求,杜绝相同数据的重复录入、重复管理,提高工作效率。
二)中小型软件开发公司、技术咨询公司:
可以成为统一的、稳定的、标准的、功能完善的后台配置权限管理工具,降低多个软件项目及多个项目组的开发成本、维护成本、项目实施成本,项目管理成本,可以显著提高工作效率,节省开发周期及开发费用投入,减少相应的测试维护改进功能的时间成本,同时可以减少由于开发人员变动带来的项目风险。
同时也可以成为新手的基础参考模型、分层理念、多数据库支持的参考模型、编码规范要求、异常处理、C\S和B\S系统的兼容性设计的参考。
最大程度避免重复开发,原地踏步,反复原地踏步,杜绝每个开发人员、每个开发项目组,都搞一套不兼容的权限管理体系、不兼容的基础用户数据等等,使得公司内部的产品、项目、功能模块之间有更高的兼容性。
三)培训教程、大学课外教程、新员工入职培训材料:
本项目设计严谨、简单易读、编码规范、功能实用,可以作为IT培训机构的基础培训内容,同时本项目有一定的通用性及规范性案例的价值,可以作为新员工入职前的基础培训内容之一、编码规范的参考、数据库设计、分层设计、单一职责原则、设计模式等等的入门参考级教程。
能达到节省培训成本,节约在培训方面的投入,有一个统一规范的入职前培训教材,可以减少由于新员工的培训导致对开发中的软件项目的进度、进展的负面影响等。
四)管理类软件开发爱好者:
本项目设计思路严谨、简单易读、编码规范、功能实用,并且是开发管理类软件的基础性的管理工具,有一定的通用性及规范性方面的参考价值,同时可以作为快速开发中小型软件项目的基础,可以通过模仿、复用等显著缩短项目开发周期,达到快速见效的目的。
此工具经过多年的不断改进维护,经过了多个软件项目的实战考验,能满足不同规模软件项目的灵活配置、灵活管理、快速开发、快速实施的要求,是个不错的应急管理工具;同时有成熟完善的组织机构管理、用户管理、角色管理、模块菜单管理、权限配置分配管理的设计严谨、运行稳定的功能模块。
1.4 系统优点
一)经过多年的实践不断优化、精心维护、运行稳定、功能完善:
能经得起不同实施策略下客户的折腾,能满足各种情况下客户的复杂需求。
二)编码实现简单易懂、符合设计模式等理念:
上手快,见效快、方便维护,能控制软件项目后期维护风险。
三)有严谨的分层理念、完全符合主流的SOA理念架构:
程序可以采用不同的实施策略、架构需求,方便维护、方便扩展。
四)符合RBAC的权限理念、同时也能满足国内小型软件项目的灵活性需求:
不仅符合国际通用标准,又能满足国内的小型软件项目的灵活设置需求。
五)不仅支持多数据库也支持多种开发语言、多语言界面:
支持B/S、C/S系统,支持Java语言开发项目,SQLServer、Oracle数据库等。
六)提供全部的设计文档、源码实现、配套说明文档:
相关设计文档、配套资料可以在不同软件项目中反复使用,提高工作效率。
七)完全支持最终用户的个性化2次开发实际需求:
提供完善的接口函数调用说明、开放接口、开放源码、开放数据库结构设计。
1.5 系统架构大局观
1.6 物理结构图
1.7 逻辑结构图
1.8 系统运行环境配置
一)管理端:
本系统以微软的C#.NET编程语言开发设计,所以需要在微软的网站下下载最新的.NET Framework运行环境,管理程序需要运行在Windows操作系统上。
下载微软的.NET Framework运行环境请连接下面的网址http://msdn.microsoft.com/zh-cn/netframework/aa569263.aspx
二)后台数据库:
本系统支持多种数据库系统,例如SQLServer、Oracle、MySql,可以按用户的使用习惯,任意选择其中一种数据库系统。
目前我们提供 SQLServer 版本的用例数据库,其他版本的数据库需要用户自己通过导入导出,脚本语言的方式进行处理。
1.9 安装程序、数据库设计、数据库文件
在淘宝网店地址 http://shop59297253.taobao.com/ 上购买相应的功能软件、服务后,请添加技术支持QQ:2520 – 56973,索取相应的程序源码、设计文档等等。
1.10 相关程序文档结构说明
图1-10-1 文档结构图
01. DotNet.Utilities:我的通用类库部分,经常用的类都封装在这里,不断完善,不断积累,非常好用。
02. DotNet.DbUtilities:数据库访问部分,这里能实现多种数据库的访问,而且实现了换数据库彻底不改代码的能力。
03. DotNet.Model:模型定义部分,主要是我系统都处理那些模型,说俗点儿就是哪些类。
04. DotNet.Business:商业逻辑部分,这里主要是编写核心的商业逻辑,玩法,这个积累是很重要的。
05. DotNet.IService:服务接口定义部分,这里主要声明,我有那些服务方法,都提供什么接口。
06. DotNet.Service:服务实现部分:这里就是SOA体系的服务程序部分,对外提供的服务,都通过调用这里实现。
07. DotNet.RemotingServer:远程服务部分:主要是实现了Remoting的服务器端部分。
08. DotNet.WindowsService:Windows服务部分:主要是以Windows的服务的方式实现具体服务。
09. DotNet.WebService:Web服务部分:主要是以Web服务的形式,把自己的服务进行实现。
10. DotNet.WebService.Client: Web服务的客户端调用部分:主要是实现WebService的调用实现部分。
11. DotNet.Utilities:传统的C\S项目部分,通用组件,采用这些组件快速提高开发效率。
12. DotNet.WinForms:传统的C\S项目部分,每个子程序可以单独运行,也可以变成母程序的模块。
13. DotNet.WinForm:传统的C\S项目部分的主程序部分。
14. DotNet.Web:传统的B\S项目部分。
15. DotNet.Example:标准例子程序部分:方便别人学习我的系统架构,可以快速入门,有简短的样例代码。
16. DotNet.WCFHost: WCF服务器端用例程序。
17. DotNet.WCFClient:WCF客户端调用用例程序。
1.11 软件安装、配置、运行方法
一)软件安装:
由于本系统都是针对软件技术开发人事的,所以没有做成安装包的方式发行,而是提供源码 + 二次开发调用的API,动态连接库等方式进行了发行,不需要安装软件,只要把数据库附加上去,进行配置就可以顺利运行程序。
二)配置:
源码文件的文档目录结构如下图,主项目为 DotNet.WinForm, 请在解决方案中将DotNet.WinForm项目设置为启动项目。
图1-11-1 配置文件
配置文件的为Config.xml,设置配置项为UserCenterConnection,单机版参考配置为如下。
<add key="UserCenterConnection" value="Data Source=JIRIGALA-PC\SQLEXPRESS;Initial Catalog=UserCenter;Integrated Security=SSPI;" />
配置文件中附有其他类型数据库的连接串的参考配置。
三)运行方法:
在 Microsoft Visual Studio 开发环境中编译此解决方案源码,编译后的结果如下图
图1-11-2 主程序
双击可执行主程序DotNet.WinForm.exe;若数据库连接配置正确,会出现如下登录界面,如下图。
图1-11-3 登录界面
默认情况下,超级管理员的密码为空,点击登录进入后台管理软件。正确登录后会在操作系统的任务栏右下角区域会出现小太阳的图标,如图1-2其中黄色小圆图标即为后台管理程序。
鼠标右键单击黄色小图标,出现软件主菜单,根据需求选择自己需要的功能,如用户(账户)管理功能等等。如图下图。
图1-11-4右键系统菜单
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 如何控制用户显示的菜单权限
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 在页面中的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 数据集权限的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级管理
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级授权
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 数据集权限