(02)权限系统数据库总体规划
2008-06-23 22:30 通用C#系统架构 阅读(7675) 评论(4) 编辑 收藏 举报
以下以 Microsoft SQL Server 2005 为例,
系统通用的权限部分,以Base_开头,以后开发项目时,可以把这些数据直接导入,然后适当修改权限配置就可以了,
否则,每次开发软件,都从零开始设置演示数据,那也是很烦恼的事情,这些没多大知识含量的东西,做多了,大家
都不原意,而且也不打乐意认真测试。
软件产品的价值在于能重复利用,当然系统架构、权限模块、测试数据,演示数据也能不断完善不断优化,那是件很
爽歪歪的事情。特别是在开发稍微大型软件项目时,那些组织机构、职员信息也是工作量蛮大的。
图片中下面部分是 应用程序数据部分,例如是一个设备管理系统,以Equipment_开头的。
我们公司有几千个员工,可能会有几十个管理系统,到底有几套,我也不清楚,其实维护管理
这么多系统,也是个头痛的事情,若把每个员工的数据,都输入到这么多管理系统里,头都大了,
若能建立一个核心的数据中心,那其它管理系统,都从这个系统读取组织架构、判断权限,
那真的是太理想了,我们退一步,这些系统的后台管理都是同样的,那使用的人也很方便,用
一个系统可以管理几十个软件的后台管理,培训这些维护人员也简单了,系统出了问题解决起来
也容易了。
若数据需要导入到另一个系统,那也比较简单一些,只输入一个系统,然后其它系统用数据同步
功能,导入到其它系统就可以了。
若我们N多公司开发的N多管理系统=N*N,后台数据库结构若大致一致,那集成这些软件系统,
就比较可行了,可以减少一些没必要的麻烦,集中精力集成业务模块就可以了,若有1000个软
件公司都不用开发这些模块了,都能安心开发自己的业务功能,那也减少了很多没必要的重复
测试、维护、优化成本。
刚学写编写软件的开发人员,只要认真学习这部分的代码是怎么写的、软件是怎么架构的、数据
库是怎么个设计原理、权限等都如何配置使用、页面程序是如何跟权限、工作流等结合的,那应
该让软件公司也省很多培训麻烦、带入门的麻烦。
若几个公司有合作关系,或者外包关系,那也省了这部分的设计及沟通了,兼容性理论上会好很
多。
说这些,虽然都是马后炮了,但是我感觉对这些有兴趣的人很少,或者这些不是什么严重问题,
有比比这更需要解决的问题更多。当你公司的人员少,上的管理系统较少时,还算好,人多了,
上的管理系统多了,也真让领导、管理员、操作人员头痛啊。虽然理论上Windows AD等解决
了以上问题,但是又有多少开发人员,对AD非常了解,能深入了解AD的权限体系,然后把自己
的权限体系在AD上开发好,公司里都在用AD的应该不是很多,可能有些跑题,大家别丢砖头啊。
我开发软件整整8年了,白天开发晚上开发,工作的时候开发、休息的时候开发,疑惑时还跟牛人
沟通学习,今年才感觉把权限真的吃透了,没有疑惑了,彻底明朗了,就算你是非常聪明的,我
想至少也需要8个月自己能悟透吧,若我能提供比较完善的思路,那可能你用1个月就彻底明白权
限管理的所有细节了。
我希望跟我能力差不多的菜鸟多看看,权限如何设计应用。
当然更欢迎在这方面有深入造诣的人,多指点我们。
系统通用的权限部分,以Base_开头,以后开发项目时,可以把这些数据直接导入,然后适当修改权限配置就可以了,
否则,每次开发软件,都从零开始设置演示数据,那也是很烦恼的事情,这些没多大知识含量的东西,做多了,大家
都不原意,而且也不打乐意认真测试。
软件产品的价值在于能重复利用,当然系统架构、权限模块、测试数据,演示数据也能不断完善不断优化,那是件很
爽歪歪的事情。特别是在开发稍微大型软件项目时,那些组织机构、职员信息也是工作量蛮大的。
图片中下面部分是 应用程序数据部分,例如是一个设备管理系统,以Equipment_开头的。
我们公司有几千个员工,可能会有几十个管理系统,到底有几套,我也不清楚,其实维护管理
这么多系统,也是个头痛的事情,若把每个员工的数据,都输入到这么多管理系统里,头都大了,
若能建立一个核心的数据中心,那其它管理系统,都从这个系统读取组织架构、判断权限,
那真的是太理想了,我们退一步,这些系统的后台管理都是同样的,那使用的人也很方便,用
一个系统可以管理几十个软件的后台管理,培训这些维护人员也简单了,系统出了问题解决起来
也容易了。
若数据需要导入到另一个系统,那也比较简单一些,只输入一个系统,然后其它系统用数据同步
功能,导入到其它系统就可以了。
若我们N多公司开发的N多管理系统=N*N,后台数据库结构若大致一致,那集成这些软件系统,
就比较可行了,可以减少一些没必要的麻烦,集中精力集成业务模块就可以了,若有1000个软
件公司都不用开发这些模块了,都能安心开发自己的业务功能,那也减少了很多没必要的重复
测试、维护、优化成本。
刚学写编写软件的开发人员,只要认真学习这部分的代码是怎么写的、软件是怎么架构的、数据
库是怎么个设计原理、权限等都如何配置使用、页面程序是如何跟权限、工作流等结合的,那应
该让软件公司也省很多培训麻烦、带入门的麻烦。
若几个公司有合作关系,或者外包关系,那也省了这部分的设计及沟通了,兼容性理论上会好很
多。
说这些,虽然都是马后炮了,但是我感觉对这些有兴趣的人很少,或者这些不是什么严重问题,
有比比这更需要解决的问题更多。当你公司的人员少,上的管理系统较少时,还算好,人多了,
上的管理系统多了,也真让领导、管理员、操作人员头痛啊。虽然理论上Windows AD等解决
了以上问题,但是又有多少开发人员,对AD非常了解,能深入了解AD的权限体系,然后把自己
的权限体系在AD上开发好,公司里都在用AD的应该不是很多,可能有些跑题,大家别丢砖头啊。
我开发软件整整8年了,白天开发晚上开发,工作的时候开发、休息的时候开发,疑惑时还跟牛人
沟通学习,今年才感觉把权限真的吃透了,没有疑惑了,彻底明朗了,就算你是非常聪明的,我
想至少也需要8个月自己能悟透吧,若我能提供比较完善的思路,那可能你用1个月就彻底明白权
限管理的所有细节了。
我希望跟我能力差不多的菜鸟多看看,权限如何设计应用。
当然更欢迎在这方面有深入造诣的人,多指点我们。
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。