zoukankan      html  css  js  c++  java
  • 快速开发平台如何让开发周期变成原来的十分之一,有图有真相!告别码农的机会!告别公司亏损时代!

         管理软件自从计算机面世以来,就一直帮助着人们管理好自己的企业或者个人业务,多年以来,管理软件一直存在bs,cs之争,其实大家并不需要太去纠结到底他们两个谁能替代谁,毋庸置疑互联网各方面的速度的提升,的确让很多bs应用得以低成本就能实现,但是我觉得,未来如果管理软件来说,他们应该是各分天下,不可能彼此取代谁,只会相互交叉,看什么应用,采用什么架构,就好比我们的行业软件物业管理软件,手机端,网页端,不同功能模块根据市场实际情况选择什么架构,但是他们都没有离开一个管理软件的本质,无非是数据的增删改查。

         所以有时候开发一个管理软件的难度往往是对这个软件本身业务流数据流是否分析到位,然后有稳定的框架,让你不再纠结底层细节,这很多时候为企业是可以大大缩短开发周期的,我们从极致业务基础平台框架给大家分析下,极致业务基础平台是如何为大家提高开发效率,是传统开发周期的1/10不到。

        1.划分功能模块,做任何业务系统之前,肯定是划分好功能模块和相应的界面组,如下:

       

       可以看到我们一个开发库可以同时进行多套业务系统开发,就好比我们公司自己目前所有系统都在一个开发库,这样非常方便后面的发布,以及功能复用,可以这么说你时间做的越久,你手中积累的不同行业项目越多,这时候可以在日后资源整合的时候就大大显示出框架优势了,比如客户先购买了你的客户关系管理,后面想要买你的工资,你的进销存,你很简单利用极致的升级包制作工具做一个升级包即可,而且不会影响到客户原有客户关系中的数据,您要做的仅仅是重新分配下权限就行了。我有遇到客户看中了我的crm,但是进销存已经上了别人的了,这个时候想要两个都有,这个时候因为我已经有进销存了,所以我只要给他一个升级包就行了,而对方的虽然有进销存,但是不和crm在一个开发库,只希望单独给他们进销存,这样和他原有crm就很难对接(对接成本也很高,价格客户别人也没有办法接受),而且客户要两个系统来回切换也是很痛苦的,所以后面直接用我们的进销存替换了他们,这个相信大家在做项目的时候体会是非常深的。

        2先从数据库表设计角度来看,在极致框架中我们称之为实体设计,传统开发是在传统数据库下面创建,只有字段名称,字段类型等普通数据库字段,而极致平台实体设计却在传统数据库设计的基础上,还有中文描述,可见,不允许重复,设置级联删除等高级功能,还有支持数据授权字段授权层次结构是否预设数据等高级属性,   比如有中文描述,我们甚至不用写什么技术文档,或者有新人来了,一看实体就能知道每一个字段的含义,比传统开发人员做项目交接啊,时间久了要来改业务逻辑,实施人员做报表啊看看相关表结构就行了,不需要再去问开发每一个字段意思了,省很多事情。如下:

       

    而且极致框架,我们可以自己定义表的基类,比如销售,采购,仓库单据父表都有很多公共的部分,子表也是很多公共的部分,这样我们就可以定义一个基类,ERP单据父类,这样也大大缩短建表时间,提高效率,而且为以后做报表,写sql语句会缩短很多时间,因为基类的东西大家都一样。上面的销售订单我们就继承的是ERP单据父类。把组织机构,制单时间,往来单位,部门,日期等公共字段就建表的时候建立在基类中,而且下次我们修改基类,就会自动更新所有继承类。还有数据授权,有这个东西,我们就可以开发多组织架构集中式应用就非常有优势了,比如上面这个销售订单,因为我们组织机构实体已经支持了数据授权,所以销售订单也自然拥有了数据授权的特性,这样,假设我们开发的是一个集团式应用,北上广深都有公司,那么希望他们每个公司都数据彼此独立,这个时候我们只要给北京的人北京组织机构的数据权限,他们就只能看到北京的销售订单,而看不到其他地方的销售订单了。而且平台本身提供了很多基类,这样不同实体类型选择不同基类大大提高效率。此外缓存模式中本地缓存概念,有些资料不是经常变化的可以设置成本地缓存,这样系统第一次加载的时候会下载到客户端本地,这样以后每次获取都是从客户端获取,大大降低数据库互联网访问流量,从而提高运行效率。字段授权,如果数据授权是针对行记录的话,字段授权就是针对列记录,我们可以方便的控制某一个记录的某些列对特定用户进行隐藏不显示,不允许修改的功能.而且我们设计父子表,甚至父子孙表都非常简单。直接在相关实体的点中状态下增加子实体或者孙实体就可以了!

      2从界面设计角度,设计了实体后,我们的界面是自动生成的,只要我们新建界面的时候选择该实体就行了。

     

    这样界面就自动生成了。而且我们可以直接在设计阶段只考虑当前界面的权限组分配一个功能权限就好,这样实施的时候客户想怎么分配权限都行,从功能数据权限字段权限,这个自动分配的权限是自带就有增删改查权限在了,界面上自动和相关按钮绑定了!

    有了界面后,我们增删改查都不需要写一行代码,你说省多少时间,还有表格控件的高级属性比如表头过滤,单元格融合,设置固定列,列合计汇总。针对特有业务逻辑我们还可以继续扩展,比如菜单按钮增加些个性的。保存前检查,加载界面初始化,单元格之间事件联动,单据之间传递,下推,选单,我们都有提供相应示例代码,同等写代码一样的功能,用框架又可以省去3/4的代码量,而且因为后台扩展是纯面向对象编程,初级程序员也可以按着自己业务逻辑实现特有功能。而且我们的单据界面还可以由客户添加他们的自定义字段,这些都是运行时候客户自己可以做的,我们的物业系统几千家大大小小的客户,而我们的开发库至今也只有一个版本,可以想象,如果没有很多个性化客户可以自己做的话,怎么能满足他们每家的个性化的地方呢?

    3有了单据界面,我们接着做一个查询的一览表界面,也很简单,设计界面的时候同样选择这个实体,分配相应的权限组给他,然后可以快速初始化表格要显示哪些内容。

    同样一览表也可以菜单扩展,自定义数据源,比如做一些个性化数据源(让普通业务员进来只能看自己的,重载sql数据源where部分),做一些多子表,服务端计算公式,设置不同行颜色,平台框架都有相关示例效果代码,您拿过去仅仅改改数据源就行了。

    还有基于一览表我们可以定义各种过滤条件并设置成为预警方案发布成新的界面组,详情可以参考前面过滤引擎的介绍篇。还可以设置显示列,隐藏列,毕竟不同人进来希望看到的东西甚至排列顺序都可能不一样。

    设置显示列隐藏列。

    这些传统开发又要写多少代码! 

    4.工作流,很多传统行业软件都没有工作流概念,为啥工作流很重要,因为毕竟任何业务系统都是人与人之间参与进来并在人与人之间相互流转的,如果有了工作流,单据都是可以按照每个企业自定的流程进行流转,对提高企业工作效率那是效果相当显著的,极致的工作流详情可以参考前面的博客,我们的工作流是可以在运行时候自定义的,也就是说企业哪怕每天变一个流程我们的实施也可以快速为他们调整。这工作放在实施上了大大节省开发人员,也相当于为企业大大节省开发成本,毕竟拿我们公司来说3个实施的工资才够一个开发的。我们框架任何单据都可以让他支持工作流,只需开发的时候,添加工作流服务定义就行了。

    可以看到我们工作流服务还可以为某个节点设置操作函数,这样大大提高工作流的灵活性。

    5 套打

    企业经常要做的是单据套打,如果用了系统后,你不能还叫别人打印还单据在excel重新画,我们的套打引擎就很简单了,而且可以客户运行时候自定义套打模板,而且还可以做到只有审核了的单据才可以打印。下面是各种套打效果:

    多子表的套打

    固定行的套打

    我们的套打还可以引出pdf,帮助企业真正做到无纸化办公。这些传统开发又要写多少代码!各种套打技巧还可以参考以前的博客。

    5作为boss最喜欢的报表,我们也非常简单有相应的数据员提供,报表就是考验你sql功底没有多少其他窍门,如下:

    1分组汇总报表:

    2图表

    以上示例正式客户都有示例,自己研究透了,还有什么复杂报表不能做呢!平台开发只要会数据源构建就行了!

    6 美工,一个软件基本的美工是必不可少的,很多程序员美工还是很弱的,说的严重点,基本没审美观点,但是用极致平台,就没有这方面担心,美工图片可以在设置界面showboth后,可以在中间进行随意排布,增加箭头,让系统更有整体性。不同图片索引号代表不同图片,非常方便。

    美工是软件的一个敲门砖,现在客户已经不仅仅局限于功能了,能两全其美才最好,很多老旧的系统,也该换换了!

    7.打包

    做好这些就该给客户打包发布了,我们框架是一次开发同时具有单机局域互联网三个版本,开发时候我们只需要设置哪些功能该放在服务器端组件就行了,哪些放在客户端就ok了,打包分三个步骤,第一:构建数据模板,根据客户想要的模块,创建一个新的数据模板,以后升级都是针对这个模板进行升级就行了!

    通过添加子系统可以为具体某一个客户添加一个这个客户需要的子系统模板。发布的模板分演示库和模板数据库两种,模板数据库是给正式客户用的,里面是一个干干净净的数据库,演示数据库是给客户测试用的,里面带有一些开发过程中录入的测试数据。

    还可以去极致化,所有log信息都存放在ConfigData.xml中

    9.升级

    任何系统都每天都可能在做更新,我们升级包制作工具做了后,所有客户端都是智能感应的,大大降低升级维护成本。升级包制作工具如下:

    10.实施

    运行后,我们很多数据导入工具,可以大大缩短实施周期。

    选择数据源,选择要导入的表,选择字段对应关系就可以了。还可以保存方案

    以上是极致平台整体的一个开发大致流程,基本上是传统开发十分之一的周期,做软件有了成本优势你的产品才有优势,目前很多软件公司现状是,公司没有好产品,赚不到钱,雇不到好人才,做不出好产品这样一个死循环中,谁能率先改变,谁必能赢得市场。

    另外一点心得和大家分享下,尤其是做程序员的你,就要认真看看,眼下国内很多程序员在使用别人平台上还有一些比较错误的观点,我觉得有必要做下以下理性分析:

         1.平台必须开源,否则不用,这种观点的人我感觉有点杞人忧天了,很多.net程序员一直不是用微软平台的吗,微软照样没有提供底层源码,那为何国内还是诞生了很多比较牛逼的软件公司,基于微软。net平台开发出很多非常成熟的应用框架呢,这种技术一定是要用自己的才是好的观念本无可厚非,但是个人感觉得量力而行,如果自己没有这个技术,或者投入研发的成本太高,那又何必投入呢,如果什么技术都要自己一个字一个字的敲出来,那大家都去重新开发操作系统好了!而且国内哪家软件公司,敢打包票说自己从来没有用第三方技术的。

         2.引进了外部公司平台,那我还在公司地位可有保障,这是大多数程序员的一个顾虑,引进了别人的框架,会束缚自己才华的发挥,这又大错特错了,世界上任何快速开发框架,只要他本身是够灵活的,没有封装死,提供了相关端口可以扩展,那就不会束缚您的手脚,相反只会更加助您自己一臂之力,您可以把重心偏在应用设计层面,毕竟一个软件的核心是在于这个行业的业务逻辑,这才是值钱的部分,其他的增删改查,工作流,套打,报表,框架已经封装好了,又有何妨,这只会帮助你大大降低软件开发周期,提高公司工作效率,产品灵活了,自然竞争优势就明显了,公司效益肯定也会更好,自自然然的老板赚到钱了,员工的待遇才会往上走!

        3.有平台引进来了又学会了,下次换工作,别的公司不一定用的上,学会了不是浪费了吗!这种观念的人也不在少数,但是退一步回来,为何要老想着是换工作了,诚然中国的程序员的的确确大多数是靠跳槽涨薪水的,但是为何不退一步想想,靠写代码能写一辈子吗,中国的程序员大多数是有生命周期的,能搞10年的,基本不错了,过了这个黄金周期,你还拼的过年青人吗,技术更新换代这么快,什么都要重新学,什么都是重新洗牌,你为何不想想以后我学会了平台,我可以自己出来开个公司,买一个框架,把人力成本降低到最低价,因为平台别人会持续更新,你只负责基于平台应用开发就好了,把技术难题留给专业平台软件公司,合作共赢这不是更完美吗!

        以上仅仅代表个人的一点灼见,算是这些年的销售经验的一点总结,目前中国的大多数程序猿还是缺少老板的眼光和见识,可能平台会触及一部分人利益,尤其会触及公司以前的老鸟们,所以他们反对声音尤其很大,技术股东除外,但是最后和我们合作的boss还是赚到钱了,相反那些反对最强烈的,很多都干了没多久就跳到更高的地方去了。

        

    极致平台开发十大特点:

    1. 一个数据库下可以同时进行N套业务系统开发,开发出来的产品可以根据您客户的需要按模块界面组发布,客户想要啥模块就可以给啥模块。而且一个数据库下开发所有功能,当客户需要从你的人力资源增加客户关系管理模块的时候,你只要做个升级包就可以了。解决企业多个业务系统信息孤岛问题。
    2. 智能升级功能,当客户从A模块增加B模块的时候,您只需要做一个升级包即可,给客户升级后,客户原来录入的数据不会有影响,而且所有客户端都是智能感应智能升级,大大节省您的部署成本。
    3. 工作流套打报表均可以运行时候自定义,比如费用报销单,您100家客户就有一百种费用报销的流程,套打的格式,用我们平台您只需要设计好这个费用报销单,至于哪个客户走什么流程,完全可以让客户自己去定义,而不需要像传统开发那样,提前在开发中设置好,100个客户就维护100套代码。套打也是如此。
    4. 支持数据授权,当您开发多组织架构的系统的时候,我们只要业务单据引用组织机构即可,然后组织机构支持数据授权,这样就可以不需要编写任何一行代码就可以做到,组织与组织之间数据彼此隔离,我想给哪个用户看哪个组织的数据只要给这个用户这个组织的数据权限即可。
    5. 支持字段授权,对于一些表的核心字段对用户进行屏蔽直接利用我们平台的字段授权功能即可,比如职员薪酬字段进行字段授权,让有的用户在看职员信息的时候,自动隐藏薪酬的数据。这也是无需编写任何一行代码。
    6. 单据界面自动生成,我们开发的时候只要设计好实体,也就是传统开发所说的表结构即可,还可以设置哪些字段是必录,可见,不允许重复,在界面生成的时候,会自动生成一个界面,而且这个界面的增删改查是无需写一行代码的,您只要对您特有业务逻辑编码即可,相对传统开发,你代码量可以节省2/3,开发周期缩短2/3
    7.一次开发同时具有单机局域互联网三个版本,客户想要单机就给单机想要互联网版就给互联网版。 

    8.强大的公式引擎,让您可以灵活设计计算类的项目,比如工资,预算。

    9.包含强大的各种控件,比如文本控件支持F8调用,编码名称自动带出。Grid控件支持表头过滤,单元格融合,固定列,表格列,表格行各种公式汇总,复合表头,表格宽度可以自己随意调整,而且关闭后会自动记录之前的宽度。还支持表格列随意调整顺序。

    10.平台内置很多基础功能,比如权限管理,用户角色管理,还有实施的一些导入导出工具都能帮助客户大大提高一个项目验收进度。

     

    官网:www.jeez.com.cn
    平台介绍:www.jeez.com.cn/jbf  
    平台下载地址:http://www.jeez.com.cn/upfiles/jbfsetuppro.rar

    (下载即可有3个月免费试用)
    联系电话:13826519021 18988763421 QQ:180315586  420977542 (加我注明极致软件即可)

    平台销售经理:李先生 

    将互联网时代的管理软件做到极致!
    ==================================================================

  • 相关阅读:
    Attach Files to Objects 将文件附加到对象
    Provide Several View Variants for End-Users 为最终用户提供多个视图变体
    Audit Object Changes 审核对象更改
    Toggle the WinForms Ribbon Interface 切换 WinForms 功能区界面
    Change Style of Navigation Items 更改导航项的样式
    Apply Grouping to List View Data 将分组应用于列表视图数据
    Choose the WinForms UI Type 选择 WinForms UI 类型
    Filter List Views 筛选器列表视图
    Make a List View Editable 使列表视图可编辑
    Add a Preview to a List View将预览添加到列表视图
  • 原文地址:https://www.cnblogs.com/Jeez_JBF/p/ERP24.html
Copyright © 2011-2022 走看看