产品

如何设计一套高品质的ERP系统

发文:2018-08-29 编辑:2019-12-31

有极端的两类ERP软件系统 - 一类帮助其企业客户成功,另一类牺牲其企业客户的利益而帮社会创造就业机会。

就如这些这些这些、和这则被报导的事件所示,ERP软件的品质最终将在其客户的损益表和资产负债表上面呈现。ERP软件的品质深远影响其用户的营运成本、成长动力、企业形象、研发与客服以及公关等各部门人员的士气。

ERP软件设计者必须遵守的第一条守则是:做一套简单而非复杂的软件。简单的软件能适应企业的业务,能在一般规格的硬件上面高速运转,容易维护、修改、扩充并投放在多种环境中运行;反之,一套庞大的软件,犹如恐龙:它在高档硬件上面缓慢拖行,不听指挥、拒绝被驯服,耗费大量能源。

一套高雅的ERP软件必须这样设计,以具备下列特质:

系统容易扩展、调校、维护。

这项特质与软件弹性、维护容易度同义,直接影响IT人员、系统整合人员、以及顾问的生产力。

扩增、修改、维护PostERP,只需PostgreSQL和初级会计观念这2项技能。不需要懂C++、Java、Javascript、C#、.NET、Node.js、HTML、CSS、Delphi、或与COBOL类似的专属语言。

PostERP上面开发ERP的人员,其生产力之高,举世无双:只具备前述专业技能,任何人要设计一个CRUD屏幕、报表、或业务逻辑处理器(即:PostgreSQL的function),都可以在几分钟内完成,而非数日甚至数周。技术人员和顾问前所未有的超高生产力因为能闪电回应其客户的服务请求,所以能提供其客户最高的服务品质。

伺服器软件高速运转。

随著客户数的增加以及业务逻辑的复杂度提高,ERP伺服器软件的冗长回应时间容易被诟病。运转迟缓的ERP伺服器软件浪费其使用人的宝贵时间和绩效。

信息产业有一项错误的迷思,纳就是「软件如果越庞大,则其能力越强大」。每次见到ERP软件在巨大机房里面运转,我第一个浮现的想法是:它是一套设计不良的ERP伺服器软件,它持续在过度浪费该企业的资金。

ERP伺服器软件运行速度迟缓,一些ERP厂商转而要求其客户购买高档主机以供其伺服器软件在上面运行。这种安排,错在这里:系统的速度瓶颈在软件而非硬件,所以ERP用户投资金钱在硬件上面,其实对系统的整体运行效能改善并不多。

常识指出:这些浪费内存的投资对ERP伺服器软件的运转速度少有提升效果。庞大的爆炸身躯只带来错综复杂的ERP伺服器软件运行更缓慢而已。而且,软件越复杂,则隐藏的错误也越多。

软件臭虫

越复杂的ERP伺服器软件,带来的缺点多於优点。然而,厂商却藉此反向要求用户增加费用以支付其所谓的「创意设计」!

重点疑问:为甚么一些ERP软件龟速?

答案是:因为它们在伺服器软件处理业务逻辑。这种软件无法摆脱其先天性缺陷:运行龟速而且和数据库管理系统,DBMS之间占用大量网络带宽。这种架构根本没救。它这样运作:

从客户端程序接到运行MRP的请求后,伺服器软件首先从DBMS读取资料。伺服器软件接著扫描读进来的资料。在扫描每一笔资料时,伺服器软件又再对DBMS读取更多资料记录。这样一直层层反覆深入,连锁地向DBMS读取资料。这种资料处理策略当然低效率:

  • 伺服器软件尽可能从DBMS读进大量资料,越多越好。所以它吃掉大量RAM和CPU。
  • 如果伺服器软件和DBMS不在同一部硬件主机的话,那么,企业用户就必须投资高档的网络设备以供大量资料在伺服器软件和DBMS二者之间高速往返。
  • 在伺服器软件处理资料的效率,远低於让DBMS直接处理。其理由非常简单 - 全部台面上的DBMS,尤其是PostgreSQL,都会优化其处理资料过程。DBMS就是知道如何、何时、是否该读进哪些资料,以耗费最低的CPU、RAM、和硬盘的成本。但是伺服器软件就是少有能力控制这些资源。

简单就是优良。把简单的问题复杂化,再去发明一对有的没的神奇机关,都是枉然。设计高速ERP伺服器软件的最高效策略就是把伺服器软件设计成客户端软件和DBMS二者之间的仲介。我们就是遵照这一简单原则在设计PostERP伺服器软件,所以它以无人能敌的闪电速度运行:

  1. 跑MRP、结会计帐、算薪资等业务罗辑时,PostERP全部在DBMS也就是PostgreSQL运行。
  2. 接到客户程序的请求后,PostERP伺服器软件即确认请求方的身份和权限。
  3. PostERP伺服器软件在快取搜寻所需结果。如果找到,则二话不说,直接回应此结果给客户软件。
  4. 如果PostERP伺服器软件没在快取找到答案,则向PostgreSQL转送请求。从PostgreSQL接到答案后,PostERP伺服器软件立即回覆客户端程序。

PostERP伺服器软件就是扮演这样单纯的角色,不多也不少。PostERP伺服器软件几乎不从事计算工作。其架构直接、简单,所以能在1GB RAM的VPS上面以闪电般的速度运转,瞬间回应海量客户程序的请求。

PostERP伺服器软件的简单设计也带给其用户一项大礼 - 用户的系统管理人员几乎没必要管理它。管理者通常只须负责启动PostERP伺服器软件,然后就专心去设计PostgreSQL数据库,以因应其同事的服务请求。

运转客户端软件只需要少量资源

PostERP的客户端软件有两类:

云版
於撰写本篇文章的此刻,这个版本的客户端软件只有700KB以及少数小CSS文档。它能在全部各种新款浏览器、个人电脑、苹果电脑、平板电脑、和手机上面操作。
桌面版
这个版本的客户端软件只有一个1.8MB的可运行档tc.exe,没有其他.DLL文档。使用人直接在Windows里面双击它,就开始操作ERP。

PostERP的客户端软件不必布署、无须安装,直接跑。

系统提供简单、高效率的API。

毫无疑问地,一套优质ERP软件系统有能力简单、高效率、安全地与外界交换资料。基於生产力考量,技术人员都避免和学习曲线陡峭、需要尝试错误的Windows ActiveX打交道。

只须简单调校PostERP,伺服器软件就自动提供RESTful API供诸如IoTMES等外界设施呼叫,直接对数据库的table操作CRUD

PostERP客户端软件允许被使用人调出的全部资料储存在自己手边的设备。

高雅的会计模块设计。

企业应极力避免使用这类复杂、难用的会计模块而陷入深渊。

PostERP的会计模块设计十分简单、整洁、强悍、弹性。整个、会计模块只用到7个数据库table。因为它极为简单,所以PostERP设计者非常容易从其他模块生成会计分录。

PostERP会计模块是前所未有的创新设计。它给使用人操作的单一屏幕已经包含全部分录信息。换言之,会计人员在上班期间只需在一个屏幕上面工作,无须开启多个屏幕,来回切换、翻找、或输入资料。而且,对PostERP设计人而言,设计大部分的报表时,只须读取这几个少量的数据库table即可得到这些报表:

  • 销售报表含有客户#项目#序号以及数量。
  • 采购报表含有供应商#项目#序号仓库#储位#以及数量。

Journal Screen Shot

因为PostERP模块简单,所以使用人只须运行两个业务逻辑处理器()即完成结帐工作。至於日常会计流程,PostERP即时从其他业务模块生成分录,令分录永续保持最新状况,财务最新信息随时可得,无须等到月结:

  • 存放在每一个仓库、储位、柜位的材料或商品的库存成本和数量的信息处於最新状态。
  • 销货和采购成本的信息处於最新状态。
  • 应收帐款和应付帐款信息处於最新状态。

PostERP随时提供企业经营绩效信息。使用人无须等到次月初会计结完帐。

PostERP留给极少量的日常与月结工作给会计人员。会计人员多直接收割其他部门输入的资料,无须另外处理别部门的资料。

使用人容易操作资料。
PostERP使用人只需在屏幕上任何字段指定搜寻条件即可随时自数据库调阅出筛选后的资料。然后可以前、后卷动调出来的纪录并修改或删除。调阅出来的纪录都可以下载。
客户软件的每一个屏幕外观布局完全相同。

适应ERP的操作屏幕需要时间。别种软件那些不同CRUD屏幕的五花八门位置、按钮、弹出窗...等机制令人厌烦!

因为PostERP的屏幕格局一致,外观类似,所以使用人只需适应2至3个屏幕,就可以操作整套PostERP系统。因为这个原因,所以PostERP系统很容易上手。

系统只有少量的屏幕。

PostERP使用人通常花大部分时间在单一个屏幕操作PostERP。无须开启许多屏幕,来回切换、比对、翻找屏幕与屏幕之间的资料。所以整套PostERP只有少量屏幕,其使用人能於短其内熟悉整套系统。

PostERP又是如何办到的?简单描述如下:

  • 因为一个PostERP的屏幕已经容纳充足的信息,显示给使用人、供使用人操作。Journal Screen Shot
  • 与屏幕相关的报表都直接附挂在该屏幕之下。例如销售相关报表都挂在销售屏幕供销售资料操作人员使用。
  • 与屏幕相关的业务逻辑处理器,也就是PostgreSQL function,都直接附挂在该屏幕之下。例如会计月结功能附挂在会计分录屏幕供会计人员使用。
  • 与报表类似,但是回应速度更快的相关资料速查也相同:附卦在适当的屏幕之下。

因为这个原因,所以PostERP系统很容易上手。

PostERP是一个先进的ERP开发与运行架构。

❮ 您承租云PostERP,可以取得客制服务。 用PostERP做贵组织信息系统的基石 ❯