淘宝店地址:http://jirigala.taobao.com QQ:2520 56973 MSN:Jirigala_bao@hotmail.com
Spiga

3天搞定的小型B/S内部管理类软件定制开发项目【软件开发实战10步骤详解】

2010-10-07 21:39 by MVP-通用权限管理, 23776 visits, 收藏, 编辑

 

 

   十一休假,杭州西湖边逛了一圈只能用人山人海来形容,浙大紫金港校区也逛了一圈风景如画,建设得真不错很棒,假期就去了这2个地方,然后在家里陪老婆、看孩子、洗尿布、打了几局星际争霸,在网上接了一个B/S架构的内部管理类定制软件、淘宝上收了600元辛苦费后就开始行动了、现在把整个开发过程讲解分享如下文。

 

客户需求

   一个简单的项目管理信息的,添加、删除、编辑、查询等功能的实现,把大的框架做好就可以,细节他会自己完善好,想想也很简单的一样,本以为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开发框架后,才好进行大规模生产、大量招聘人员做开发工作,若这些都没有,招聘来一大堆开发人员,那很可能局面就乱套了,大家就容易乱来了。

 

    ProjectManager.cs手工编写的商业逻辑代码如下:

代码
//------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2010 , Jirisoft , Ltd .
//------------------------------------------------------------

using System;
using System.Data;
using System.Data.Common;
using System.Collections.Generic;

namespace Project
{
    
using DotNet.DbUtilities;
    
using DotNet.Manager;
    
using DotNet.Utilities;
    
using DotNet.Business;

    
/// <summary>
    
/// ProjectManager
    
/// 项目跟进表
    
///
    
/// 修改纪录
    
///
    
///        2010-09-28 版本:1.0 JiRiGaLa 创建主键。
    
///
    
/// 版本:1.0
    
///
    
/// <author>
    
///        <name>JiRiGaLa</name>
    
///        <date>2010-09-28</date>
    
/// </author>
    
/// </summary>
    public partial class ProjectManager : BaseManager, IBaseManager
    {
        
public DataTable Search(string userId, string searchValue)
        {
            
// 一、这里是开始进行动态SQL语句拼接,字段名、表明都进行了常量定义,表名字段名发生变化时,很容易就知道程序哪里都调用了这些。
            string sqlQuery = string.Empty;
            sqlQuery 
= " SELECT * "
                    
+ " FROM " + this.CurrentTableName
                    
+ " WHERE " + ProjectTable.FieldDeleteMark + " =  0 ";

            
// 二、我们认为 userId 这个查询条件是安全,不是人为输入的参数,所以直接进行了SQL语句拼接
            if (!String.IsNullOrEmpty(userId))
            {
                sqlQuery 
+= " AND " + ProjectTable.FieldCreateUserId + " = '" + userId + "'";
            }

            
// 三、这里是进行参数化的准备,因为是多个不确定的查询参数,所以用了List。
            List<DbParameter> dbParameters = new List<DbParameter>();

            
// 四、这里看查询条件是否为空
            searchValue = searchValue.Trim();
            
if (!String.IsNullOrEmpty(searchValue))
            {
                
// 五、这里是进行支持多种数据库的参数化查询
                sqlQuery += " AND (" + ProjectTable.FieldKeHuMingCheng + " LIKE " + DbHelper.GetParameter(ProjectTable.FieldKeHuMingCheng);
                sqlQuery 
+= " OR " + ProjectTable.FieldKeHuXiangMuMingCheng + " LIKE " + DbHelper.GetParameter(ProjectTable.FieldKeHuXiangMuMingCheng);
                sqlQuery 
+= " OR " + ProjectTable.FieldCreateUserRealname + " LIKE " + DbHelper.GetParameter(ProjectTable.FieldCreateUserRealname);
                sqlQuery 
+= " OR " + ProjectTable.FieldDescription + " LIKE " + DbHelper.GetParameter(ProjectTable.FieldDescription) + ")";

                
// 六、这里是判断,用户是否已经输入了%
                if (searchValue.IndexOf("%"< 0)
                {
                    searchValue 
= "%" + searchValue + "%";
                }

                
// 七、这里生成支持多数据库的参数
                dbParameters.Add(DbHelper.MakeInParam(ProjectTable.FieldKeHuMingCheng, searchValue));
                dbParameters.Add(DbHelper.MakeInParam(ProjectTable.FieldKeHuXiangMuMingCheng, searchValue));
                dbParameters.Add(DbHelper.MakeInParam(ProjectTable.FieldCreateUserRealname, searchValue));
                dbParameters.Add(DbHelper.MakeInParam(ProjectTable.FieldDescription, searchValue));
            }
            sqlQuery 
+= " ORDER BY " + ProjectTable.FieldSortCode + " DESC ";

            
// 八、这里是将List转换为数组,进行数据库查询
            return DbHelper.Fill(sqlQuery, dbParameters.ToArray());
        }
        
        
/// <summary>
        
/// 更新(带有修改记录功能)
        
/// </summary>
        
/// <param name="projectEntity">实体</param>
        
/// <param name="changeLog">修改记录</param>
        
/// <returns>影响行数</returns>
        public int Update(ProjectEntity projectEntity, bool changeLog)
        {
            
// 若不需要修改记录
            if (!changeLog)
            {
                
return this.UpdateEntity(projectEntity);
            }

            String changeMessage 
= String.Empty;

            
// 获取原来的数据
            ProjectEntity oldProjectEntity = this.GetEntity((int)projectEntity.Id);
            
if (oldProjectEntity.KeHuXiangMuMingCheng != projectEntity.KeHuXiangMuMingCheng)
            {
                changeMessage 
+= "客户项目名称被修改为:" + projectEntity.KeHuXiangMuMingCheng + " 原值:" + oldProjectEntity.KeHuXiangMuMingCheng + "<br>";
            }
            
if (oldProjectEntity.KeHuMingCheng != projectEntity.KeHuMingCheng)
            {
                changeMessage 
+= "客户名称被修改为:" + projectEntity.KeHuMingCheng + " 原值:" + oldProjectEntity.KeHuMingCheng + "<br>";
            }

            
if (oldProjectEntity.KaiGaiRiQi != projectEntity.KaiGaiRiQi)
            {
                
// changeMessage += "开改模日期被修改为:" + ((DateTime)projectEntity.KaiGaiRiQi).ToString(BaseSystemInfo.DateFormat) + " 原值:" + ((DateTime)oldProjectEntity.KaiGaiRiQi).ToString(BaseSystemInfo.DateFormat) + "<br>";
            }

            
if (!String.IsNullOrEmpty(changeMessage))
            {
                BaseCommentManager commentManager 
= new BaseCommentManager(this.DbHelper, this.UserInfo);
                commentManager.Add(
"工程管理", projectEntity.Id.ToString(), projectEntity.KeHuXiangMuMingCheng, changeMessage, false, String.Empty, falsethis.UserInfo.IPAddress);
            }

            
return this.UpdateEntity(projectEntity);
        }
    }
}

 

 

 

将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
Add your comment

144 条回复

    评论共2页: 上一页 1 2 
  1. #45楼 月夜 思量      2010-10-08 13:06
    不错 学习 膜拜
     回复 引用 查看   
  2. #46楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 13:31
    下次再遇到类似的事情,那就1天就可以足够搞定了,哈哈

    引用henry:
    如果变成一天,楼主就能大大搞高了自己的日工作回报...600/天
    不过能自己做的东西能产生效益还是不错,起码比没有产生效益好.

     回复 引用 查看   
  3. #47楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 13:31
    这个客户是开发人员,基本上不用售后服务了。

    引用有点低:
    引用吉日嘎拉 不仅权限管理:
    4:一天能净赚200元,而且还是休息时间,钱还是先付,还不用开发票,知足长乐,天天有200元可以赚,我也蛮开心了。

    你的工资也不止200一天啊。何况以后还可能要维护

     回复 引用 查看   
  4. #48楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 13:33
    暂时可以理解为,能抓老鼠就是好猫,毕竟功能达到了,客户就肯付款了。

    引用个人知识管理:
    看到这段代码,总有说不出的话:

    sqlQuery += " AND (" + ProjectTable.FieldKeHuMingCheng + " LIKE " + DbHelper.GetParameter(ProjectTable.FieldKeHuMingCheng);

     回复 引用 查看   
  5. #49楼 Rioyang      2010-10-08 13:55
    一看标题便知就是 吉日嘎拉“大牛”的”大作“
     回复 引用 查看   
  6. #50楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 14:02
    @Rioyang

    说实话,标题是为了让别人能搜到,能被搜索引擎啥的搜到,才起了这个么长的
     回复 引用 查看   
  7. #51楼 Sum_yang      2010-10-08 14:40
    强大,
    非常赞同博主的观点,小项目更锻炼人的,还有就是积累,

    大单不好接,有时候小单的收入更可观呢

     回复 引用 查看   
  8. #52楼 沉默暴风      2010-10-08 14:41
    不错 同在杭州 顶一下 有单子合作合作哇
     回复 引用 查看   
  9. #53楼 总想拥有自己的天空      2010-10-08 14:43
    界面不错,如果可以分享那就好了
     回复 引用 查看   
  10. #54楼 Clingingboy      2010-10-08 14:44
    以后我们都不写代码,我们生成代码:)
     回复 引用 查看   
  11. #55楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 14:50
    @Sum_yang

    虽然钱少,但是赚得安心,辛苦几下就可以竣工了,大单子要痛苦1年甚至要痛苦2年才可以,钱也没那么好赚的。
     回复 引用 查看   
  12. #56楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 14:51
    @沉默暴风

    有好的项目时,的确需要合作的,否则消化不了大订单了,特别是上百万级的大单子来了,需要很多人手帮忙才可以。
     回复 引用 查看   
  13. #57楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 14:51
    @总想拥有自己的天空
    分享是可以的,只是无法免费分享而已啦。
     回复 引用 查看   
  14. #58楼 FLY FREE      2010-10-08 15:19
    一个人只能做好那么很少的几件事情..
     回复 引用 查看   
  15. #59楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 15:39
    @FLY FREE
    所以一直坚持这个管理类软件的方向了,呵呵
     回复 引用 查看   
  16. #60楼 Veiller      2010-10-08 15:53
    吉日大叔工作效率真高啊,3天就搞好了
     回复 引用 查看   
  17. #61楼 送海      2010-10-08 15:58
    这个就不用写吧!
     回复 引用 查看   
  18. #62楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 16:05
    @送海
    哪个?不用写?
     回复 引用 查看   
  19. #63楼 aixuexi      2010-10-08 16:35
    我看见题目 就猜到作者了
    哈哈哈哈 我太NB了
     回复 引用 查看   
  20. #64楼 苏飞      2010-10-08 16:38
    值得顶一下的文章
     回复 引用 查看   
  21. #65楼 王一一      2010-10-08 16:44
    鄙人不才,用两天搞了个800元的网站。 也是得益于自己的一个完善框架。
    这方面是和吉日老实学的。 顶起吉日!
     回复 引用 查看   
  22. #66楼 王一一      2010-10-08 16:45
    就是个三级菜单让我很不爽!
     回复 引用 查看   
  23. #67楼 玩转.NET      2010-10-08 16:55
    吉日嘎拉老师,我想请教一下,你这个页面样式,布局是怎么很快搞定的!看上去也很专业。
     回复 引用 查看   
  24. #68楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 16:56
    @玩转.NET
    找高人,然后从高人手里拿过来,自己是不可能设计不出这么漂亮的。
     回复 引用 查看   
  25. #69楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 16:57
    当系统有很多模块后,无法逃脱三级菜单的命运,当功能模块超级多了三级菜单还是很好用的。

    引用王一一:就是个三级菜单让我很不爽!

     回复 引用 查看   
  26. #70楼 玩转.NET      2010-10-08 17:03
    @吉日嘎拉 不仅权限管理
    从别人的手里弄,应该有一套这样成熟的框架吧!
     回复 引用 查看   
  27. #71楼 玩转.NET      2010-10-08 17:05
    还有就是你找别人弄,人家收费么?
     回复 引用 查看   
  28. #72楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 17:21
    @玩转.NET

    哪里有那么多免费的事情啊,设计一个页面大概是400-800元的设计费。
     回复 引用 查看   
  29. #73楼 草珊瑚      2010-10-08 17:35
    原来是临安的,昨天刚从临安回来
     回复 引用 查看   
  30. #74楼 greg_echo      2010-10-08 17:42
    哎,中国的父母一切都为了孩子,吉日大哥也是个慈父呀。啥时候我也能熬到吉日大哥这步呀...
     回复 引用 查看   
  31. #75楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-08 18:00
    @greg_echo
    年纪大了,自然就到了,哈哈
     回复 引用 查看   
  32. #76楼 kydcbt      2010-10-08 18:05
    很不错,个人能做到这样已经很不错了。
    老是用的,通用组件和权限系统是啥系统啊,我也学习一下。我也是初级入门人。你这里有些东西我还看不懂,

    343362882@qq.com 。谢过 。
     回复 引用 查看   
  33. #77楼 dear coco[未注册用户]2010-10-08 22:27
    项目经理给我安排工时,这个项目大概也就3天吧,包括测试,看来我还得努力啊:-)
     回复 引用   
  34. #78楼 hehe+ajax[未注册用户]2010-10-08 22:54
    感谢园子里面的哥们姐妹们,我每天都看你们的博客!看了有很多的感悟!感觉对自己有很多帮助!再一次感谢你们!
     回复 引用   
  35. #79楼 通心菜      2010-10-09 10:29
    支持~
     回复 引用 查看   
  36. #80楼 升斗小民      2010-10-09 12:05
    其实这功能吉日一天就搞出来了,后面两天是沟通细节。
    对于初学者,开始只会拉拉控件,去搜索代码。一点一点拼凑,拿到这个管理组件的源代码后大部分的功能和界面都可以直接借用。

    对于卖得太低。卖600是低了,但是对于一个购买过500元权限管理组件的回头客来说,所需要的就是这么一个实际项目中的应用。我就是这个初学C#3个月的菜鸟,有了大量的视频,文章,说明书,及CS,BS的小样例。还是因为太笨而无法使用它来开发自己的小系统。我不是最终用户,全部自己维护。

    对于要求开源的:这样成熟的东西开发花了很多精力,收费也是合理的,主要是对于我这样的初学者,花点钱买套系统,加上高手的讲解,能大大提高软件开发能力。学习上能得到回报的付出都是值得的。
     回复 引用 查看   
  37. #81楼 升斗小民      2010-10-09 12:11
    @二叉树
    登陆页面要到管理组件里的一些类,通过DotNet.Utilities组件的方法,去访问DotNet.DbUtilities这个数据访问组件,再根据不同的数据库访问方法去访问最终数据库。
    这个是分层系统,要这个登录页面的源码也没用,里面使用的方法都是调用组件。
     回复 引用 查看   
  38. #82楼 升斗小民      2010-10-09 12:19
    有了稳定的B/S开发框架后,才好进行大规模生产、大量招聘人员做开发工作,若这些都没有,招聘来一大堆开发人员,那很可能局面就乱套了,大家就容易乱来了。
    -----------------------
    顶这段话,我们告诉就是招来开发人员,却没有稳定的框架,各搞各的,也没有培训。结果谁也接手不了对方开发的程序,前面的开发人员走了,后面的人来维护又得重新开发系统,而且没有设计文档,又用使用以前的数据库,N台服务器,几百数据库,挨个的去寻找那么几张数据表。
     回复 引用 查看   
  39. #83楼 飞无痕落无声      2010-10-09 16:12
    哥表示很无语
     回复 引用 查看   
  40. #84楼 魔术游客      2010-10-09 16:54
    路过 学习
     回复 引用 查看   
  41. #85楼 阿超-      2010-10-10 10:30
    我只对楼主那个什么画流程图的软件感兴趣。叫什么?
     回复 引用 查看   
  42. #86楼 二叉树      2010-10-11 11:30
    引用升斗小民:
    @二叉树
    登陆页面要到管理组件里的一些类,通过DotNet.Utilities组件的方法,去访问DotNet.DbUtilities这个数据访问组件,再根据不同的数据库访问方法去访问最终数据库。
    这个是分层系统,要这个登录页面的源码也没用,里面使用的方法都是调用组件。

    吉日的马甲?
     回复 引用 查看   
  43. #87楼 小☆兵      2010-10-11 11:40
    做最好的,要开源比较好。开源吗。
     回复 引用 查看   
  44. #88楼 longjiang      2010-10-11 13:34
    图是用什么画的哦
     回复 引用 查看   
  45. #89楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-11 14:55
    @longjiang
    word2007 画的
     回复 引用 查看   
  46. #90楼 wantme      2010-10-11 17:32
    博主:

    如果请你设计一个医院系统产品的主页,界面简洁,有产品新闻,产品介绍,典型客户,技术支持,技术支持可以采取论坛的方式,请问搞这样的,你报价多少钱.

     回复 引用 查看   
  47. #91楼[楼主] 吉日嘎拉 不仅权限管理      2010-10-11 17:48
    @wantme

    一般是一个页面800元或者1000元的设计费
     回复 引用 查看   
  48. #92楼 鹅毛山人      2010-10-12 12:51
    发现个共性问题
    录入测试数据时,吉日兄也和我一样喜欢 asdf ...@ ##.
    :)
     回复 引用 查看   
  49. #93楼[楼主] 吉日嘎拉 不仅权通用权限      2010-10-12 13:20
    @鹅毛山人

    这个毕竟不是100万的项目,没办法,哈哈。
     回复 引用 查看   
  50. #94楼 show_show      2010-10-12 13:40
    对 前提是一定要有一套自己熟悉的框架
    再结合代码生成器(可以自己写一个适合自己框架的)

    很快的

    如果是网吧 就慢点。。因为涉及到页面设计的问题
     回复 引用 查看   
  51. #95楼 亚力[未注册用户]2010-10-12 15:43
    十一7天也做了个广告公司从接单到计划广告播放的管理系统。白天带4岁半的小朋友去玩,晚上开夜车,大概也三天时间吧。这是老板朋友的项目,他自己的公司搞硬件,我搞软件,现在不收一分钱,若成功,应该不下1W。故共勉。
     回复 引用   
  52. #96楼 沉默暴风      2010-10-13 10:51
    呵 目前我主要整信息化方面开发 对erp还比较熟悉 有机会合作!
     回复 引用 查看   
  53. #97楼[楼主] 吉日嘎拉 不仅权通用权限      2010-10-15 23:18
    @沉默暴风
    收到你的信息很高兴,我们多沟通交流啊。
     回复 引用 查看   
  54. #98楼 YangLei's      2010-10-18 11:41
    淘宝打广告 !呵呵……
     回复 引用 查看   
  55. #99楼 K#      2010-10-18 11:47
    KeHuMingCheng原来是客户名称的意思
     回复 引用 查看   
  56. #100楼 小华啊      2010-11-30 15:24
    有了稳定的B/S开发框架后,才好进行大规模生产、大量招聘人员做开发工作,若这些都没有,招聘来一大堆开发人员,那很可能局面就乱套了,大家就容易乱来了。
     回复 引用 查看   
  57. #101楼 MagicBoy110      2011-01-05 00:47
    顶一个
     回复 引用 查看   
  58. #102楼 johnsir      2011-01-29 22:13
    软件开发不仅仅一堆数字、代码。
     回复 引用 查看   
  59. #103楼 离落落      2011-02-08 21:32
    开阔眼界了
     回复 引用 查看   
  60. #104楼 know@more      2011-02-13 17:15
    不错,力挺,相信博主会有很大的发展和成就!
     回复 引用 查看   
  61. #105楼 dpol      2011-02-17 15:45
    做这样的项目是没必要从头开始的。不够成本的。找个以前的老项目改改就行了。
     回复 引用 查看   
  62. #106楼 中国医疗保险[未注册用户]2011-03-02 16:51
    来向博主学习了。细细品味每篇文章,写的真好!
     回复 引用   
  63. #107楼 小路 < Coder      2011-03-14 12:57
    我现在每天在公司干的都是这种事...只不过,您的报价未免也...
     回复 引用 查看   
  64. #108楼 iSun      2011-03-24 22:22
    只看了博主的两篇文章,就决定将博主当成我的偶像以及奋斗目标了!
    对博主的什么通用权限系统很感兴趣!!!
    对博主的运作方式和赚钱途径很感冒,希望了解更多!
     回复 引用 查看   
  65. #109楼[楼主] C#.NET通用权限管理系统组件      2011-03-25 13:46
    @iSun
    谢谢支持。
     回复 引用 查看   
  66. #110楼 James-yu      2011-04-09 10:54
    项目应该就应该按项目正规去做,大家都这样3天搞定,那破坏的是整个生态链,如果大家都愿意600做3天完成一个项目(平均一个工作日200,还不如好点的民工),就不要抱怨软件不赚钱了 :D
     回复 引用 查看   
  67. #111楼 无待      2011-04-13 00:58
    佩服佩服,吉日大哥现在是离职专门经营自己的组件了吧?看你写的认真,回复也认真呢。
    希望以后能与你合作,价格肯定不会是600的,太伤人了。
     回复 引用 查看   
  68. #112楼 傻瓜程序员      2011-04-17 18:32
    我们一定要团结起来!不要让行情乱了套.
     回复 引用 查看   
  69. #113楼 在路上。。。      2011-04-23 13:21
    适当的自恋是自信
    多了就成自负了
    不要那个权限组件就开始不知道天高地厚了
     回复 引用 查看   
  70. #114楼 深蓝色的云      2011-05-06 13:52
    能感觉楼主是一个对生活很看得开的人啊
    我对于生活的理解是:生活就是用来享受的,与其天天去抱怨一些东西,还不如去体验那些别人看起来不是很重要的东西,只要自己开心就好...
     回复 引用 查看   
  71. #115楼 游网的鱼      2011-05-11 15:48
    不错,刚接触。这个项目代码是否出售?
     回复 引用 查看   
  72. #116楼[楼主] C#.NET通用权限管理系统组件      2011-05-11 18:55
    是在出售的,可以加我QQ:252056973
    HTTP://jirigala.taobao.cmom 上购买。
    引用游网的鱼:不错,刚接触。这个项目代码是否出售?

     回复 引用 查看   
  73. #117楼 shuiniu[未注册用户]2011-05-13 12:31
    @
    市场价格 就被你们这帮货 搞低了。。。。杯具
     回复 引用   
  74. #118楼 imfunny      2011-06-02 11:01
    这个还三天 真汗。
     回复 引用 查看   
  75. #119楼 我不是高手      2011-07-19 17:59
    引用吉日嘎拉 不仅权限管理:
    @Rioyang

    说实话,标题是为了让别人能搜到,能被搜索引擎啥的搜到,才起了这个么长的


    吉日兄用心良苦。晚上回去照顾下你的生意!!!
     回复 引用 查看   
  76. #120楼 jslthg      2011-08-11 12:48
    高手
     回复 引用 查看   
  77. #121楼 喝醉的咖啡      2011-08-20 23:51
    呵呵,看到业务代码又是把持久层和业务层混在一起的例子。

    这两天安排技术团队设计一个通用的权限管理业务层——很早以前安排过,但因为没有CodeReview,结果自然无法做到真正通用,于是这次我得参与下,虽然很久没有接触具体技术了。
    无意中看到楼主的通用权限,被吸引进来看看。
    看下来感慨颇多:
    1.还是老话:这个行业真的太...(不知道怎么说好,折磨人吧)了;
    2.楼主的经历是很多同业者的经历,尤其6-10年后;
    3.楼主的技术功底比较扎实,可惜眼界被局限在所知部分太多
    4.这类东西要通用,重点在“抽象”
    5.看设计,重点在大体框架。设计思路对不对,只要挑一些代码看看就知道了。解决问题的思路不对,框架搭的就不对,细节代码写再好也难免有限了。

    具体到通用账户和权限这部分,推荐 Asp.net 自带的 MembershipProvider——昨晚为了给技术团队一个具体的指导,专门看了下。看完后觉得不必从头来做,因为思路是一致的,而且可以基于微软已经做了的基础工作开展并适当扩展即可。等有空时,我再亲自带技术团队的兄弟,来做一个基于它增强的通用版本,顺带就当作是团队实训了。

    PS,多说一点,也许能给你一点点参考。
    从企业常用的应用开发的角度来考虑,要思考以下几个问题:
    1. 是帮助开发者的通用框架,还是解决企业MIS快速搭建、可扩展、可维护、可伸缩的通用框架?——后者还得考虑多MIS之间的集成,这可不是SSO这么简单的;
    2. “框架”和“类库”、“工具”的区别和关系是什么?究竟要“框架”还是“类库”,或者加上工具?
    3. 这一类东东的通用模式又是什么?除了权限系统以外呢?它们之间的共同点呢?——往这个方向去,那才是真正的面向某个开发领域(而非业务领域)的框架;
    针对解决面向企业MIS以及MISes平台搭建具体来两个例子:
    1.多个MIS都需要账户管理和权限认证——如果把它们集中起来管理,那么权限部分的通用性怎么提炼?这里的抽象关系如何设计?
    2.多个MIS系统与通用的这个账户和权限系统之间的关系是什么?如何确保安全性?除了账户和权限之外,各系统之间的数据使用和交换怎么处理?又如何确保安全性?——这一问题延展开去呢?
    就这两个问题,给你提个建议:微软和IBM都有个类似的产品,分别叫做ActiveDirectory和Directory,它在企业级架构中的作用就包含了你在做的事情。对这类问题感兴趣,推荐几个微软的产品研究下:AD、Exchange Server、BizTalk、SharePoint、还有工作流——我自己一直没时间去看,可能就头两个稍微了解些,但对于它们各自在企业架构体系中是什么样的角色、解决什么样的问题比较敏感。
     回复 引用 查看   
  78. #122楼 Yarkin      2011-09-19 13:08
    @喝醉的咖啡
    基本上的企业都是基于AD/LDAP进行用户身份管理吧,而且往往企业内的系统管理员也都希望所有的系统利用AD/LDAP进行用户管理,不再另外单独各自系统管理一份用户信息。这样可以减少同步离职人员,新进人员的用户导入同步工作了.
    BTW:我想问问吉日兄,您的这个通用模块是否能够支持多个系统的权限管理?各种架构(C/S,B/S)的系统。是否支持系统1->模块->class->method级别呢?
     回复 引用 查看   
  79. #123楼 uoweuroeurweo[未注册用户]2011-09-23 09:13
    我不是黑你的 ,

    1. 首先你的数据库设计从pdm开始 ,那完全不叫设计 ,和直接的数据中建表没有区别 。 体现不出什么设计能力

    2. 对表的设计也极其不合理 ,全用max, 在实际项目中这绝对会认识是菜鸟的逻辑, 也是一种不负责任额设计

    对楼主能力不是太认可 ,不过对会吹牛的程序员虽然不是很任何,但是还是对这个吹牛的能力很羡慕的
     回复 引用   
  80. #124楼 置身珠海,学习与奋斗      2011-10-31 14:28
    呵呵,我的C/S框架也可以做到。
     回复 引用 查看   
  81. #125楼 火鸟yxbbbs      2011-11-09 17:49
    @C#.NET通用权限管理系统组件
    楼主这么可以把刚给别人做过的软件拿出来公然叫卖?给别人做的项目你是没有所有权的。。。。。。。。。。。。。。。。。。。。。
     回复 引用 查看   
  82. #126楼 大华科技      2011-11-09 20:29
    厉害,佩服。
     回复 引用 查看   
  83. #127楼 小鸡哥      2011-11-10 17:48
    不明白 怎么那么多人说吉日不好呢
    谁给解释下
     回复 引用 查看   
  84. #128楼 有一点难      2011-11-11 00:57
    @小鸡哥

    是妒忌,哈哈,自己不行,靠说别人,来抬高自己,这就是原因,哈哈。
     回复 引用 查看   
  85. #129楼 wgscd      2011-11-11 16:50
    只会写程序 不会卖大钱,程序员 悲哀。 除非的纯粹的爱好编程,不然变现才是王道!
     回复 引用 查看   
  86. #130楼 wgscd      2011-11-11 16:51
    吉日 楼主能否告诉我下你这写说明图 示例图是 什么软件画的啊。。最漂亮啊!
     回复 引用 查看   
  87. #131楼[楼主] C#通用快速开发平台      2011-11-12 13:51
    你自己说自己技术很强,马上会有100个人来出说,你不好,你不好就是表明他们比你强.你不信写个文章上首页,大夸你自己有多少厉害.

    引用小鸡哥:
    不明白 怎么那么多人说吉日不好呢
    谁给解释下
     回复 引用 查看   
  88. #132楼 yu jin      2011-11-13 21:30
    @升斗小民
    谢谢你的意见,在我心里埋下一颗种子!
     回复 引用 查看   
  89. #133楼 粗野之人 村夫      2011-11-21 09:28
    @wgscd
    同问,这个软件是啥子嘛?说一下啦~~不要小气哦~~
     回复 引用 查看   
  90. #134楼 长春二手家具回收[未注册用户]2011-11-25 20:05
    这么多方法,哪一个更实用呢
     回复 引用   
  91. #135楼 陈猛猛      2011-11-28 16:49
    我还是觉得项目不应该变成流水线的生产品,我只做自己想做的项目,跳得我都烦了。
     回复 引用 查看   
  92. #136楼 一夜寒江      2011-12-17 20:46
    不错,这个不错。软件本身就是提高生产效率的。
     回复 引用 查看   
  93. #137楼 The Game      2011-12-23 17:05
    你怎么还不从博客园滚
     回复 引用 查看   
  94. #138楼[楼主] 吉日嘎拉(杭州)      2011-12-24 10:19
    应该是你滚,还是我滚,呵呵
    引用The Game:你怎么还不从博客园滚
     回复 引用 查看   
  95. #139楼 可乐不加班1981      2012-01-05 01:44
    学习 吉日嘎拉 的优点
    但是吉日有些NB
    可是吉日有NB的权力
     回复 引用 查看   
  96. #140楼 感谢有你      2012-01-07 16:52
    确实让人耳目一新哦。。。。
     回复 引用 查看   
  97. #141楼 IT农民!      2012-01-12 17:33
    你好,我刚接触系统管理开发不到一年。对于你在文中提到的 积累自己的稳定的B/S空框架,我应该如何取整理。能不能告诉你这方面的经验。
     回复 引用 查看   
  98. #142楼 有一点难      2012-01-13 18:48
    @IT农民!
    直接购买源代码就可以了。
    少走弯路。
     回复 引用 查看   
  99. #143楼 有一点难      2012-01-13 18:49
    引用C#.NET通用权限管理系统组件:
    是在出售的,可以加我QQ:252056973
    HTTP://jirigala.taobao.cmom 上购买。
    引用游网的鱼:不错,刚接触。这个项目代码是否出售?



    淘宝地址为:http://jirigala.taobao.com
     回复 引用 查看   
  100. #144楼 Kylinhe      2012-01-19 23:50
    引用EricZhang(T2噬菌体):
    很不错的东西。
    这个IT界就应该这样,即应该有专注于技术的人,也应该有商人。前者推动生产力发展,后者将研究成果转化为价值,缺一不可。
    我觉得既不能强迫每一个人都去研究技术,也不能强迫每一个人都必须会挣钱,更没有必要互相鄙视。这两者做的工作没有高低贵贱之分,都在为IT发展做贡献。


    所见略同~~
     回复 引用 查看   
  101. 评论共2页: 上一页 1 2 
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1845275 W1DMLBqKN50=


C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权