给大家讲讲一个管理软件的一般架构思想。一个架构的作用:
(1) 业务程序员少写代码就能实现业务功能
(2) 有了需求来,也好定制修改
(3) 也稳定
(4) 性能也高
(5) 部署和支持也方便
(6) 安全性也高
为了实现这些目标,所以我们需要具备以下这些组件设施:
(1)登陆用户口令验证、license许可验证、盗版验证、过期失效验证、版本差异验证。
(2)主控台 用户功能树 管理主控台。
(3)表单设计器、业务实体设计器、工作流设计器、报表设计器、功能菜单设计器、多语言设计器、多皮肤设计器、查询过滤定制器。
(4) UI框架:Grid/Toob bar/Tree/TabSheet/Menubar/参照录入组件/Edit/Button/Combo之类。
(5) 单实体输入框架、主从List/Detail输入框架。
(6)运行配置参数设置、单号计数器、业务预警设置。
(7)异常框架、业务实体权限框架、业务实体存储引擎、业务实体查询引擎。
(8)报表:套打、单据报表、普通二维查询统计报表、交叉报表、图表。
(9)工作流引擎、消息引擎、自动任务引擎。
(10)企业组织结构设计工具、权限分配工具、数据导入导出工具、数据备份恢复工具、升级更新工具、错误诊断跟踪工具、性能监测工具、日志查看工具。
(11)OFFICE集成、BO集成、通信集成、邮件集成、短信集成、IM集成、搜索集成、电子商务集成、企业门户集成等等一切外围集成。
有 了这些基础,就可以在其上开发业务模块了。一般,让业务开发人员能够顺利开发业务组件并且能顺利插入这个平台去运行,还需要有Example、Docs、 IDE。这样,在IDE中,自动就能查到所能调用的公共业务类库命名空间的成员,也能有帮助文档知道如何使用,更有Example代码,几乎修改一下就能 用。于是,几乎,业务人员不需要直接使用VS之类的开发工具。如果确实做不了,平台组会扩充平台功能。如果平台也不很好的完成,就需要平台组来分解需求抽 象需求仅提供公共功能API,然后让业务人员调用API,适当使用VS工具,但都容易很多,开发的速度、质量稳定、性能都不错。
没有平台,高 手低手都混在一起,开发的功能模块有的强有的弱,有的很好扩展很好修改原代码也很好理解性能也不错质量也不错,有的代码一团浆糊BUG百出几乎无法下手修 改,整体质量无法保证。有了平台,就让能力高的开发平台,让能力低的去使用平台。毕竟,我们能招到的高手不多,而且成本高,大部分都是资质平凡的一般程序 员。如果整体成功,就需要搭配各施其职。
(1) 业务程序员少写代码就能实现业务功能
(2) 有了需求来,也好定制修改
(3) 也稳定
(4) 性能也高
(5) 部署和支持也方便
(6) 安全性也高
为了实现这些目标,所以我们需要具备以下这些组件设施:
(1)登陆用户口令验证、license许可验证、盗版验证、过期失效验证、版本差异验证。
(2)主控台 用户功能树 管理主控台。
(3)表单设计器、业务实体设计器、工作流设计器、报表设计器、功能菜单设计器、多语言设计器、多皮肤设计器、查询过滤定制器。
(4) UI框架:Grid/Toob bar/Tree/TabSheet/Menubar/参照录入组件/Edit/Button/Combo之类。
(5) 单实体输入框架、主从List/Detail输入框架。
(6)运行配置参数设置、单号计数器、业务预警设置。
(7)异常框架、业务实体权限框架、业务实体存储引擎、业务实体查询引擎。
(8)报表:套打、单据报表、普通二维查询统计报表、交叉报表、图表。
(9)工作流引擎、消息引擎、自动任务引擎。
(10)企业组织结构设计工具、权限分配工具、数据导入导出工具、数据备份恢复工具、升级更新工具、错误诊断跟踪工具、性能监测工具、日志查看工具。
(11)OFFICE集成、BO集成、通信集成、邮件集成、短信集成、IM集成、搜索集成、电子商务集成、企业门户集成等等一切外围集成。
有 了这些基础,就可以在其上开发业务模块了。一般,让业务开发人员能够顺利开发业务组件并且能顺利插入这个平台去运行,还需要有Example、Docs、 IDE。这样,在IDE中,自动就能查到所能调用的公共业务类库命名空间的成员,也能有帮助文档知道如何使用,更有Example代码,几乎修改一下就能 用。于是,几乎,业务人员不需要直接使用VS之类的开发工具。如果确实做不了,平台组会扩充平台功能。如果平台也不很好的完成,就需要平台组来分解需求抽 象需求仅提供公共功能API,然后让业务人员调用API,适当使用VS工具,但都容易很多,开发的速度、质量稳定、性能都不错。
没有平台,高 手低手都混在一起,开发的功能模块有的强有的弱,有的很好扩展很好修改原代码也很好理解性能也不错质量也不错,有的代码一团浆糊BUG百出几乎无法下手修 改,整体质量无法保证。有了平台,就让能力高的开发平台,让能力低的去使用平台。毕竟,我们能招到的高手不多,而且成本高,大部分都是资质平凡的一般程序 员。如果整体成功,就需要搭配各施其职。