模块管理常规功能自定义系统的设计与实现
视频讲解在线观看:视频讲解链接 http://i.youku.com/jfok1972
所有功能演示程序下载:http://download.csdn.net/detail/jfok/7495861
一、设计思想的来源
在我的20多年的编程生涯中所编制的管理型软件里,主要功能都是数据列表展示、录入修改删除、处理、输出、查询、图表这几大块。从最初的foxbase,foxpro开始,后来使用过c++,delphi,到现在的java+js都使用过很长的时间,做过的管理型应用有20多个。经过这么多年的开发、总结,几次改版重构后,现在用extjs4+spring mvc+hibernate+sqlserver的架构开发出一套可以由前台配置的中小型管理系统。
本人一直是在一个小公司里单打独斗,与外界的交流也不多,不清楚其他公司的先进架构,只是根据我自己的开发经验设计这套系统的各个方面。经过几个版本的演化之后现在的版本我认为已经可以满足我自己开发中小型管理系统的需求。
设计此软件的原因,相信各位程序员都有这样的心情,同样的东西不想再做第二次。一个模块你设计了一个界面,列表、增、删、查、改,搜索、导航、导入导出、打印、图表、附件、权限设计等功能,第二个模块如果你还要全部重新弄,恐怕是没这个心情了。如果有几十个模块,那一个个做更是会让人崩溃的事情了。
二、设计的最终目标
最终的设计目标就是在新增一个模块的时候只要有二步就可以了:
- 在数据库中建好表及设置好关联关系;
- 建立此模块的hibernate java Bean的文件;
三、可以自己设置的项目
可以在前台浏览器里可进行的配置项有:
(一)用户权限
• 用户对模块的CRUD、其他操作、审核、审批、附件操作等的权限(操作范围)。
• 用户对模块记录的可视权限(记录可视范围,可以限定在任何模块之上,自动延升到子模块中)。
• 用户对字段的可视权限(字段可视范围)。
• 用户对字段的可修改权限(可限定用户只能修改某些特定字段的内容)。
(二)系统菜单的设置
• 菜单组的设置。
• 菜单条的设置。
菜单可以展示为传统条状菜单和树状菜单。
(三)模块的设置
• 新建模块的导入及模块的基本信息的设置。
• 模块字段的定义。
• 模块间上下层次关系的定义。(ManyToOne,OneToOne,OneToMany)。
• 模块Grid列表显示的设计(可多方案,自动包含了Excel导出方案)。
• 模块列表导航信息的设计(重点)。
• 模块Form的设计(可多方案)。
• 模块Detail显示的设计(可多方案)。
• 模块图表方案。
• 模块记录的勾稽关系设置。
• 模块单条和多条Excel导入的设计。
• 模块单条和多条Excel导出的设计。
• 单条记录直接打印的设计。
• 模块附加操作功能的设计。
(四)其他
• 用户偏好设置(每个用户可以有自己的编好设置,尚未设计好)。
• Grid字段顺序及宽度的随时修改。
(五)综合查询
综合查询查询得到的数据,完全根据用户的权限来进行控制。
• 任意选择具有关联的表的各个字段;
• 可以选择一个模块作为基准模块;
• 各个模块的条件组合设置;
• 分组设置;
• 报表导出;
• 图表分析;
• 查询方案可保存和分类
在以后我会陆续写出文章或加入视频文件讲解。