模块管理常规功能自己定义系统的设计与实现
视频解说在线观看:视频解说链接 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字段顺序及宽度的随时改动。
(五)综合查询
综合查询查询得到的数据。全然依据用户的权限来进行控制。
• 随意选择具有关联的表的各个字段。
• 能够选择一个模块作为基准模块。
• 各个模块的条件组合设置;
• 分组设置;
• 报表导出。
• 图表分析。
• 查询方案可保存和分类
在以后我会陆续写出文章或增加视频文件解说。