v

您的位置:VeryCD教育计算机


《ASP.net和C#.net通用权限系统组件功能教程》[WMV]

  • 状态: 精华资源
  • 摘要:
    发行日期2010年10月26日
    对白语言普通话
    文字语言简体中文
  • 时间: 2010/10/26 08:10:28 发布 | 2011/05/02 09:51:58 更新
  • 分类: 教育  计算机 

liuzhibinl

精华资源: 1

全部资源: 2

相关: 分享到新浪微博   转播到腾讯微博   分享到开心网   分享到人人   分享到QQ空间   订阅本资源RSS更新   美味书签  subtitle
该内容尚未提供权利证明,无法提供下载。
中文名ASP.net和C#.net通用权限系统组件功能教程
资源格式WMV
发行日期2010年10月26日
地区大陆
对白语言普通话
文字语言简体中文
简介

IPB Image

新增9个文件,其中一个是数据库文件,还有一个是pdf格式的配置说明。再次感谢驴友dongshengyu网名为吉日嘎拉老师。
感谢驴友dongshengyu网名为吉日嘎拉老师提供这么高质量的视频资源,希望能够对软件开发爱好者利用C#和.net开发有所帮助和启发。
我们在上一篇文章 多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2010年完善数据设计、代码实现】

中讲述了“自由行政审批流程组件”的用法及设计参考,现在我们接着讲它的升级版本 “自动行政审批流程组件”的批流程节点定义。

周日又在家里宅了一天,见了2个朋友,其他时间都在写代码,解决了审批流程环境中的10个小问题。

上一讲中,请假单的流程步骤是由人为自由流转的,虽然自由流转有很多好处但是并没有严格的流程步骤限制,想给谁审核就怎么审核,自由审核流程组件主要存在以下2个重要的缺点:

1:流程步骤没有规范的定义,可以理解为乱来的,特别是公司规模大了,人多了,那就更容易乱套了。

2:流程没有重复利用的价值,属于公司的管理办法没能被固化、流程化,若有固定的流程可以不断优化,那公司的管理也上档次了,更规范了。

那我们为了解决以上2个问题,先来看看如何在系统里预先定义一个简易的审批流程,先把审批流程定义部分的文章整理如下:

1:首先我们用超级管理员的身份登录系统

由于超级管理员有系统的任何权限,所以也无需配置权限,就可以操作系统里的任何菜单

2:我们进入审批流程定义管理菜单,来定义我们需要的审批流程

3:审批流程,大多是按部门来组织的,例如哪个部门的哪个审批流程等,所以也有按部门进行过滤查询的功能,我们来定义具体的审批流程

我们定义好了3个流程审核步骤后,接下来应用程序里就可以按以上审核步骤进行自动流转进行审批操作了,图形化的审批流程组件会后续发布,敬请等待,下一篇文章将讲述如何实现以上预先定义好的审核流程进行自动化流转审核的详细步骤。

相应的数据库设计如下:

1:工作流定义表:定义我们总共有哪些审批流程?

2:工作流程节点定义表:定义我们的审核流程节点都有哪些?

定义好审批流程后,我们用相应的账号登录系统后,都会有什么效果?首先我们按超级管理员登录

先启动一个自由行政审批流程

假设我们按了自动审批流程控件的提交按钮

用吉日嘎拉的系统账户登录,进行第一步审核

吉日嘎拉账号登录系统后、会有自动的审核流程的即时通讯提醒信息,我们进入待审核流程页面

我们可以按红色圈起来的,自动审核流程中的通过按钮。

以此我们可以用涂志刚账号,进行第2步审核,也会即时通讯提醒信息收到,也可以进行审核,页面省略

以此我们可以用胡况明账号,进行第3步审核,也会即时通讯提醒信息收到,也可以进行审核,页面省略

最后我们可以在审核流程监控器中可以看到这个请假单的详细审核步骤的信息,一个完整的自动行政审核流程就可以顺利进行完毕了。

一个简单的项目管理信息的,添加、删除、编辑、查询等功能的实现,把大的框架做好就可以,细节他会自己完善好,想想也很简单的一样,本以为1天时间就足可以搞定了,结果足足干了3天才算竣工,由于客户也是软件开发人员,沟通起来也比较顺畅一些,否则可能不止需要3天了。

项目虽然很小,但是由于跟我的主营方向是一致的,同时也想锻炼一下做项目的成熟程度有多高、有多快,所以也没嫌弃钱多钱少,开开心心就把这个项目开始启动了。项目虽然小但五脏俱全来形容了这个活儿了。

很多必要的功能虽然在需求里没有提到,但是都是需要做好的,例如:

01:系统的登录功能、这个是必然要有的。

02:记住密码功能,而且是需要有加密功能的。

03:退出系统的功能,总需要能安全退出系统的吧。

04:用户管理功能,例如哪些用户才能登录到系统里来?

05:用户修改密码功能,停用功能,设置密码功能等。

06:用户可以访问那些菜单等?

07:用户有哪些操作权限等?

08:角色管理功能,用户角色关系功能,角色的权限功能。

09:友善的菜单导航功能。

10:没有权限的友善提示功能。

11:附件的管理、上传、下载、删除等等。

12:查询分页功能等等,虽然都没提出,但是这些功能都需要做好的。

整体开发思路

数据库分2个设计:业务数据 + 权限数据,互相不干扰,相互比较独立一些。

整个系统分3个种干系人: 开发人员 + 系统管理员 + 操作人员,他们对系统各自的期望值及操作的内容如下图。

为了快速搞定项目,毕竟项目的预算很有限,所有有些功能模块能不开发就不开发,那我们就用现成的成熟组件,通用权限管理系统,做为用户账户管理、权限管理

菜单管理的核心组件,这样可以大大的提高工作效率,可以灵活配置管理这个小型B/S项目信息管理系统了。

项目的具体开发制作步骤

步骤1:项目虽然很小,但是还是按规范的软件开发步骤比较好,我们还是本着先有设计后有开发的思路,先不急着写代码,我们先把数据库结构设计好,本系统应该只设计一个表就可以了,我们先要想好哪些数据用什么格式保存,都需要哪些字段来表示各种属性,效果图如下,我们用了数据库建模工具PowerDesigner,来设计我们的业务模型中的数据模型吧,这就是所谓的开发上的领域模型吧,其实这个设计还是蛮关键的,设计乱了后面都会乱套了。

步骤2:通过用设计好的模型,我们先手工建立相应的数据库及数据表。

步骤3:下图是已经建立好的数据的效果图,Project是业务数据库、Project表是项目信息表,后面的Base_Sequence 用于产生序列及唯一排序号、Base_Comment 用于修改记录保存功能,这些不用重复设计,直接从UserCenterV30数据中心里复制过来结构就可以了,为了在软件里显示一些数据出来,可以通过手工方式先录入一些演示数据,这样成就感会更多一些、信心也更足一些,因为很快就可以在软件里显示数据出来了。

步骤4:生成好相应的数据表后,可以用代码生成器生成一些没有多少商业逻辑的代码了,所谓的添加、删除、修改、查询的代码都不用写了,直接用代码生成器生成好就可以了,虽然这个技术不怎么先进,但是省事省心,对技术的要求也很低,生成好的代码也比较规范一些,而且还支持多种数据库,还是蛮好的,若生成好后,数据库结构有变化了,也没关系,重新生成一下就可以了,生成代码1分钟足够了,顶多是命名空间可能需要整理一些就可以了,属于是很经得起折腾的做法了。

步骤5:将生成好的代码,复制到相应的位置上,适当的修正一下命名空间什么的,因为是一个很小的项目,根本不用分层啥的,分那么多层也是多余的,其实分目录就足够可以了,若很懒惰的话目录都可以不用分了,分层其实更适合大型软件项目,小项目以见效最快为主,没必要搞个7-8个层,这里是是1个层也没分,只是分了一些目录,显得思路更清晰一些。

步骤6:代码生成器不能生成所有的代码,有些代码还是有商业逻辑的,需要人工编写,其中ProjectManager.cs 中的代码就是有具体商业逻辑的代码,这部分代码无法靠代码生成器自动生成好,需要按自己的需要进行编写的,这里有2个功能,一个是查询功能的实现、另一个是更新数据时需要有修改记录的功能,需要详细记录数据被变更的全过程,这些代码都需要人工编写好,页面上会调用这些代码。

步骤7:接下来该是规划整个系统的菜单的时候,需要好好规划一下软件的菜单,到底需要有哪些菜单,都叫什么名字?当然这一步也可以在在最后做,我们同通用权限管理组件可以灵活规划整个系统的菜单,基本上想怎么设置就怎么设置,想怎么托摘、想怎么排序都可以,规划菜单时会很爽,当然不只是开发人员用起来爽、而且系统管理员今后维护时也会很爽,系统的整个菜单都可以灵活配置权限、可以灵活更改,而不是写死的菜单,将来不依赖开发人员也可以灵活配置管理,灵活设置各种权限限制等等。

步骤8:接下来,需要把相应的添加、修改、查询、删除功能页面做出来,可以考虑到今后可能会扩展很多模块进来,所有目录规划得合理一些,说不定还要做人事管理、考勤管理、薪资管理、工作日志管理等等很多模块,其实都是大同小异而已,更多是技术是体现在细节功能及业务逻辑的深入程度上。

步骤9:菜单配置好,页面制作好后,就可以实现登录系统的页面了,当然这个也是用了现成的通用权限管理系统的登录页面,只需要制作一个登录界面,然后调用相应的登录API就可以了,自然就可以达到离职人员不能登录、没有权限的用户不能登录、停用账户不能登录,不能重复登录、限制登录的IP地址等等额外的其他功能都可以集成在里面了,开发人员也不用关心更多的细节,省心省事了。

10:登录好后,通用权限管理系统的底层API,自然会显示有权限的菜单,无权访问的菜单也不会出来了,哪个用户可以访问哪个菜单等等,都可以通过通用权限管理工具灵活配置管理,当然那个工具是给系统管理员、开发人员、实施人员使用的,并不是为了给普通业务操作员使用定位的。软件的最终运行效果就如下图了,由于是系统管理登录的所有菜单都能显示了,当然这里还需要一个成熟稳定的分页组件。

底层代码生成器生成的代码,可能只占用这个系统的代码的 1/3左右,但是编写这些代码的时间也省了,整个开发过程不是可以节省1/3了,而且是纯体力劳动而已。整个权限管理等可能需要整个系统开发的1/3左右的精力,若这部分也不用开发了,又可以节省整个软件项目开发的1/3时间。整个框架的稳定完善,也可以说是占用整个软件开发项目的1/3时间是应该的,若是2手空空开始开发的话。

那我们的项目采用了 代码生成器 + 数据库访问组件 + 通用权限组件 + 成熟的B/S开发框架 足足可以节省一个管理软件项目开发的 2/3 的开发时间,可以把精力全部放在另外的 1/3 的业务逻辑优化、界面细节优化上。

这样也大大的降低了软件项目的开发的失败风险,谁说你不会在前面的2/3时间上失败呢?未必能走到后面的1/3时间上来啊,对吧。

开发总结

目前3天内搞定一个独立的内部管理系统,而且五脏俱全的是我从业10年左右的最快记录,当然若第二次做类似的东西,可能有希望2天内可以搞定了。

经过多年的积累,手上才会有一个运行稳定、可以灵活配置的B/S开发架构,虽然看看都很简单,但是最起码不断完善几年后,才会达到铜墙铁壁的程度,我们经常会发现,开发一个小小的软件,往往1个月也开发不完,很可能是由于没有稳定的B/S开发架构导致的,这个架构也不是说技术,就是一个美观的整体效果良好的运行稳定的B/S系统吧,从头开发的B/S架构,由于需要调整很多细节环节、特别是页面、菜单的美观设计等上会耗费很多精力。

有时候界面设计良好、程序思路严谨、用户交互效果好的B/S空框架也能卖出几万元,以前不能理解,现在是彻底能体会了,稳定的B/S架构的确可以值一些钱,因为是经过精雕细刻后才能形成最后的劳动成果的。

软件的大体效果做到这里,大概花费了3天时间、接下来可能要花费的时间会更多,应该不止3天了,可能是30天,因为很多业务上的细节会耗费很多时间来调整,例如新增页面的先后输入的内容,页面输入的检查、页面的美观设计、光标的顺序优化、回车优化,输入内容的完善补充等等,查询页面的排序顺序优化、查询内容的先后顺序排版、表格中各列的宽度调整,一些提醒颜色的优化等等会有很多细节问题上还要耗费很久时间的, 做软件其实就是做细节,你需要有一个良好的B/S开发框架,否则全部自己弄,不知道什么时候才能弄好,有个良好的框架、再有良好的例子程序,整个管理系统,就是一个量的问题了,其次就是很多细节的优化上,会花费很多时间。

有良好的稳定的B/S开发框架,前期工作只用了3天,若没有这个,从头开始做,可能30天也做不完,更不会把大多精力都花费在业务逻辑的细节优化上,可能更多的精力都耗费在B/S系统架构的稳定、优化上了,那这个软件的质量就更没保障了。

有了稳定的B/S开发框架后,才好进行大规模生产、大量招聘人员做开发工作,若这些都没有,招聘来一大堆开发人员,那很可能局面就乱套了,大家就容易乱来了。

正在读取……

这里是其它用户补充的资源(我也要补充):

dongshengyu 2011/05/01 21:56:09 补充
...

该内容尚未提供权利证明,无法提供下载。

dongshengyu 2011/05/02 10:51:36 补充
...

该内容尚未提供权利证明,无法提供下载。
正在加载,请稍等...

点击查看所有318网友评论

 

(?) [公告]留口水、评论相关规则 | [活动]每日签到 轻松领取电驴经验

    小贴士:
  1. 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  3. 勿催片。请相信驴友们对分享是富有激情的,如果确有更新版本,您一定能搜索到。
  4. 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
  5. 如果您发现自己的评论不见了,请参考以上4条。