﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-攀达搏海-随笔分类-项目管理</title><link>http://www.blogjava.net/yinpan/category/48060.html</link><description>Java,Flex</description><language>zh-cn</language><lastBuildDate>Fri, 11 Sep 2015 02:20:51 GMT</lastBuildDate><pubDate>Fri, 11 Sep 2015 02:20:51 GMT</pubDate><ttl>60</ttl><item><title>powerDesigner错误</title><link>http://www.blogjava.net/yinpan/archive/2015/09/08/427203.html</link><dc:creator>yinpan</dc:creator><author>yinpan</author><pubDate>Tue, 08 Sep 2015 14:52:00 GMT</pubDate><guid>http://www.blogjava.net/yinpan/archive/2015/09/08/427203.html</guid><wfw:comment>http://www.blogjava.net/yinpan/comments/427203.html</wfw:comment><comments>http://www.blogjava.net/yinpan/archive/2015/09/08/427203.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yinpan/comments/commentRss/427203.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yinpan/services/trackbacks/427203.html</trackback:ping><description><![CDATA[<div>powerDesigner错误： &nbsp;[MySQL][MyODBC &nbsp; 05.00.0000][MySQL] &nbsp; 1146 &nbsp; Table &nbsp;&nbsp;</div><div></div><div>'sys.sysuserperms' &nbsp; doesn't &nbsp; exist &nbsp;&nbsp;</div><div>SQLSTATE &nbsp; = &nbsp; HY000 &nbsp;&nbsp;</div><div>新建model的时候要选定和数据库类型相同的dbms：如MySQL5.0.</div><div></div><div></div><div>PowerDesigner中code不随name改变解决方法&nbsp;</div><div>1、选择Tools-&gt;GeneralOptions...菜单，出现General Options对话框。&nbsp;</div><div>2、从Category中选择Dialog项。&nbsp;</div><div>3、取消右边框内的 &nbsp;&#8220;Name to Code mirroring&#8221;复选框。</div><div></div><img src ="http://www.blogjava.net/yinpan/aggbug/427203.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yinpan/" target="_blank">yinpan</a> 2015-09-08 22:52 <a href="http://www.blogjava.net/yinpan/archive/2015/09/08/427203.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>位运算符的实际应用</title><link>http://www.blogjava.net/yinpan/archive/2014/05/23/414014.html</link><dc:creator>yinpan</dc:creator><author>yinpan</author><pubDate>Fri, 23 May 2014 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/yinpan/archive/2014/05/23/414014.html</guid><wfw:comment>http://www.blogjava.net/yinpan/comments/414014.html</wfw:comment><comments>http://www.blogjava.net/yinpan/archive/2014/05/23/414014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yinpan/comments/commentRss/414014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yinpan/services/trackbacks/414014.html</trackback:ping><description><![CDATA[<p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">~按位求补符</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">^异或位运算符</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">&amp;且位运算符</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">|&nbsp;或位运算符</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">&lt;&lt;左移运算符</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">	</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">&gt;&gt;右移运算符</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">&amp;且运算符可以应用在权限管理系统中，权限系统中，Role为角色，Module为模块，Permission为权限，设各权限值分别如下（2倍等比递增的关系）</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">列表/查看&nbsp;=&nbsp;2</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">新增&nbsp;=&nbsp;4</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">修改&nbsp;=&nbsp;8</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">删除&nbsp;=&nbsp;16</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">此时的Permission等于上述四种操作权限所拥有的权限之和，比如某个Role+Module拥有查看、新增、修改、删除的权限，则其Permission=2+4+8+16=30</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">下面进行权限判断，判断某个Role+Module所对应的Permission是否包括上述四种操作权限每一个，解决问题关键使用&amp;运算符，比如：</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">判断是否包含查看的权限值，就用if((Permission&amp;2)==2)</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">判断是否包含新增的权限值，就用if((Permission&amp;4)==4)</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">判断是否包含修改的权限值，就用if((Permission&amp;8)==8)</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">判断是否包含删除的权限值，就用if((Permission&amp;16)==16)</span></p><p style="margin-bottom:0pt; margin-top:0pt; ">&nbsp;</p><p style="margin-bottom:0pt; margin-top:0pt; ">&nbsp;</p><img src ="http://www.blogjava.net/yinpan/aggbug/414014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yinpan/" target="_blank">yinpan</a> 2014-05-23 11:45 <a href="http://www.blogjava.net/yinpan/archive/2014/05/23/414014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>系统管理模块的分析与设计</title><link>http://www.blogjava.net/yinpan/archive/2011/03/15/346317.html</link><dc:creator>yinpan</dc:creator><author>yinpan</author><pubDate>Tue, 15 Mar 2011 07:55:00 GMT</pubDate><guid>http://www.blogjava.net/yinpan/archive/2011/03/15/346317.html</guid><wfw:comment>http://www.blogjava.net/yinpan/comments/346317.html</wfw:comment><comments>http://www.blogjava.net/yinpan/archive/2011/03/15/346317.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yinpan/comments/commentRss/346317.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yinpan/services/trackbacks/346317.html</trackback:ping><description><![CDATA[每个系统都必有一个系统管理模块，系统管理模块主要管理该系统的用户、操作、角色等功能，相当于是权限管理。还有其他的比如日志管理等功能在此就不去考虑了，在此里我主要介绍用户管理、操作管理、角色管理的分析与设计。管理软件，无非就是些增删改查的操作，涉及具体的业务再具体分析，用户管理分为添加用户、删除用户、编辑用户、查看用户，操作管理分为添加操作、删除操作、编辑操作、查看操作，角色管理分为添加角色、删除角色、编辑角色、查看角色。然后权限管理就是角色权限的配置以及用户角色的关联，即配置角色可执行的操作以及配置用户所属的角色。<br />
介绍下数据库的设计，以MySQL5.0数据库为例，如图1所示：<br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/yinpan/SystemManager.png" border="0" /><br />
图1<br />
<br />
对于操作表，每条操作记录会有一个编码字段，该字段需要跟各模块开发人员沟通，确定字段的命名。根据个人理解，操作表里的数据应该是事先定义好，在数据库初始化时然后插入记录。而后台用户与角色信息、角色信息与操作是多对多关联的关系。就是说一个用户可有多个角色(比如说在学校教务系统里面一个用户即是教师、也是博士研究生、也还可能是系统管理员)、一个角色可以被多个人所有(不可能存在就你一个人是教师这种情况)、一个角色有多个操作(各种数据的增删改查)、一个操作被多个角色所拥有。一个用户可同时配置多个角色，当然也可以配置一个角色。如果配置多个角色，就要考虑到他们之间操作冲突，有的角色有的操作权限在其他的角色里没有，目前考虑的解决方案是取用户角色们操作的并集，及操作的最大化。 
<img src ="http://www.blogjava.net/yinpan/aggbug/346317.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yinpan/" target="_blank">yinpan</a> 2011-03-15 15:55 <a href="http://www.blogjava.net/yinpan/archive/2011/03/15/346317.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>