一个ERP系统的磕磕碰碰
历时5个月的开发,终于可以交付使用了。在这期间系统从需求分析、系统架构设计、开发、测试、运行、迭代、交付,整个忐忑波荡的一路走来,终于有时间静下心来写一篇总结跟各位博友一起探讨、学习了。如果对大家有帮助了希望大家点下支持,推荐。
业务分析
随着信息化的发展(这东西发展真快),相信大家或企业越来越意识到企业内部信息化建设的重要性和优越性,我所接手的这家客户也是。之前是用友系统的客户,由于公司业务的发展,系统无法支持公司内部业务的发展,还有,抛弃原有系统的使用,打算定制开发一套符合自己公司业务运营的系统,于是本人参加了这个项目,并带领我的团队(朋友一人,哈哈)参与了这个项目的开发。
由于一些业务信息的敏感问题,我把部分信息的用XX替换了,表示该公司的一些特定内容,当然大家做需求分析时结合自己的情况在这些项目上去追加符合自己的实际业务内容就可以了。如下图这家公司的业务分析汇总。

业务设计介绍
订单部分
对于任何企业或者公司甚至是个人都一样,大家在进行任何买卖操作时都会去创建订单,以此来确定自己的购买计划、生产计划、销售计划、、、、、、对于这些订单的情况,系统需要有一个非常明确的业务数据支持和订单业务流程支持,而满足这些数据的支持需要你与你的客户做深入的探讨和分析系统去如何设计(由于本人开发过程中是敏捷开发,基本都是code 完个界面, 然后确认完后进入下一个 code界面 ,没有系统设计,导致了表字段的不足,尤其是后面业务统计功能时,严重的缺少些冗余字段导致统计sql 过于复杂)。
对于订单的制定,相信大部分系统基本是对于一些表单的维护,订单部分就是这样了,对于订单制定完后下一步,公司会基于这些订单去做相应的预算。其实预算无非就是把若干的订单合并到一起,来支持某个产品的生产或制造。当然对于这个预算单还是复杂度会根据你的产品订单的情况来决定的。
合同部分
对于合同部分,这家公司的业务是对于审批通过的订单回去生成合同,因此大部分的订单的归属是生成合同,在这个模块中最大的坑是合同的模板问。其中模板的选择和打印如何去封装好以及满足灵活的更换,这块本人也没有太多涉猎,希望万能的博友对于打印方面有独特见解的予以帮助,合同的制定业务过程还有复杂的地方就是合同条款,对于合同条款部分会有各种的约束,如付款情况的条款、结算情况的条款、交货、验货等条款的约束对后续业务流程的影响,也是设计人员在设计过程中需要着重考虑的(否则这里会是一个大坑)。
付款部分
对于付款部分,金额的管理是这个环节最重要的部分。对于这个金额管理合同的初始金额、每一笔的付款金额、最终的结算金额、最终的付款金额都需要系统在设计时做好充分的考虑,标准系统不知道怎么去设计的,这个流水账付款(如我们系统付款申请付错问题,实际付款和申请付款出现错误时)问题,我们和业务最后考虑是在结算时把之前的错误款项对冲回来,不然系统确实挺复杂的(不知道大家有什么高见么)。
结算部分
对于结算部分,业务还是蛮简单的,只需根据合同的物料明细做物料明细的数量确认就OK了,补充发生的扣款情况(扣款明细)、汇总物料的结算总计就OK了。
总结
至此业务分析就差不多了,如果你也是在做需求分析的话希望这些对你有所帮助,当然我写的很简单,发现确实越来越懒了。如果有什么需要讨论的,如论是技术还是业务欢迎加本人 QQ群33176382
系统架构

从业务分析情况来看整个公司的业务流程是订单确认阶段----->订单执行阶段----->订单付款阶段-------->订单结算结算,在每个阶段中的数据都会有相应的审批阶段为了满足系统的运行有相应的统计功能模块,系统基础数据设置(如数据字典等),系统设置(如人员、权限、组织结构、角色等)
相信大家最关心的是代码了好了现在上码(难道大家不喜欢无码的么? O(∩_∩)O )
解决方案

对这些SOA的设计来说基本都是类似的,如果大家愿意研究更多推荐ABP,我也是研究它结合自己的开发经验这样设计的。
对了这是一家服装外贸公司的项目,如果大家需要的话可以邮箱联系qianthinkover@163.com,当然我肯定不会免费的啦。需要的话邮件里聊吧谢谢大家的阅读,对于框架里面的一些代码封装,我有时间会开源的,上一篇Excel NPOI的封装代码还没上传,还需要整理。大家见谅。
一个ERP系统的磕磕碰碰的更多相关文章
- 【MEF】构建一个WPF版的ERP系统
原文:[MEF]构建一个WPF版的ERP系统 引言 MEF是微软的一个扩展性框架,遵循某种约定将各个部件组合起来.而ERP系统的一大特点是模块化,它们两者的相性很好,用MEF构建一个ERP系统是相当合 ...
- 高性能、高可用、高扩展ERP系统架构设计
ERP之痛 曾几何时,我混迹于电商.珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP).作为一个ERP系统,系统主要功能模块无非是订单管理.商品管理.生产采购.仓库管理.物流管理.财务管理等 ...
- 分布式、服务化的ERP系统架构设计
ERP之痛 曾几何时,我混迹于电商.珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP).作为一个ERP系统,系统主要功能模块无非是订单管理.商品管理.生产采购.仓库管理.物流管理.财务管理等 ...
- ERP系统架构
分布式.服务化的ERP系统架构设计 ERP之痛 曾几何时,我混迹于电商.珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP).作为一个ERP系统,系统主要功能模块无非是订单管理.商品管理.生产 ...
- 全面具体介绍一个P2P网贷领域的ERP系统的主要功能
一般的P2P系统,至少包含PC站点的前端和后端.前端系统的功能.能够參考"P2P系统哪家强,功能事实上都一样" http://blog.csdn.net/fansunion ...
- 全面详细介绍一个P2P网贷领域的ERP系统的主要功能
一般的P2P系统,至少包括PC网站的前端和后端.前端系统的功能,可以参考"P2P系统哪家强,功能其实都一样" http://blog.csdn.net/fansunion/ ...
- 解析大型.NET ERP系统 权限模块设计与实现
权限模块是ERP系统的核心模块之一,完善的权限控制机制给系统增色不少.总结我接触过的权限模块,以享读者. 1 权限的简明定义 ERP权限管理用一句简单的话来说就是:谁 能否 做 那些 事. 文句 含义 ...
- 解析大型.NET ERP系统 单据编码功能实现
单据编码是ERP系统中必备的功能,用于生成各种单据的流水号,常常借助于日期时间等字符来生成一个唯一的单据号码.从软件的角度来说,就是为生成数据表的主键值(参考编号),从用户的角度来说,就是给业务单据制 ...
- 解析大型.NET ERP系统 单据标准(新增,修改,删除,复制,打印)功能程序设计
ERP系统的单据具备标准的功能,这里的单据可翻译为Bill,Document,Entry,具备相似的工具条操作界面.通过设计可复用的基类,子类只需要继承基类窗体即可完成单据功能的程序设计.先看标准的销 ...
随机推荐
- Angular报错记录
一 找不到Controller 出现这种错误,一般都是没有找到需要的Controller,需要仔细检查是否所需的Controller已经正确引入
- 写得好 git 提交信息
编写好 git 提交信息 提交信息 我们作出答复,更改将提交相关信息,这些信息通常被认为是重要的信息会小心留下应该离开,你为什么需要这个提交实例,提交解决任何问题. 我们需要良好的信息组织,虽然后来, ...
- 背包问题 (DP)
利用记忆化数组.记dp[i][j]为根据rec的定义,从第i个物品开始挑选总重小于j时,总价值的最大值. 递推式: dp[i][j]=0 (j<w[i]) dp[i][j] dp[i][ ...
- GPS坐标互转:WGS-84(GPS)、GCJ-02(Google地图)、BD-09(百度地图)[转]
WGS-84:是国际标准,GPS坐标(Google Earth使用.或者GPS模块)GCJ-02:中国坐标偏移标准,Google Map.高德.腾讯使用BD-09:百度坐标偏移标准,Baidu Map ...
- bigdata_Hadoop jps出现process information unavailable提示解决办法
启动Hadoop之后,使用jps命令查看当前系统的java进程情况,显示: hduser@jack:/usr/local/hadoop$ jps 18470 SecondaryNameNode 190 ...
- Hard Parse&Soft Parse
DDL每次运行将必须是难以解决. SQL 解析过程 Oracle对此SQL将进行几个步骤的处理过程: 1.语法检查(syntax check): 检查此sql的拼写是否语法. 2.语义检查(seman ...
- Linux报too many open files的解决方案
今天系统中有一台服务器出现异常,有时连简单的shell命令都无法执行,各种奇怪的报错,有的时候又可以成功执行 如: -bash: error while loading shared librarie ...
- Swift-开发 # 1.2版本迁移
{ Parallels: 可以将一个win程序拖到mac中运行. } --类似于虚拟机 遇到的几大问题: 1.自动修改无效? --忽略它的存在,坑. 2.无止境的修改,还是错? --使用替换工具-&g ...
- 【百度地图API】暑假放假回老家——城市切换功能
原文:[百度地图API]暑假放假回老家--城市切换功能 任务描述: 酸奶小妹放寒假啦,要从北京呼啦一下飞回重庆呢.现在百度地图API上不能直接切换城市,怎么办呢? 如何实现: 利用API先搜索到要去城 ...
- FPGA 异步时钟处理方
1 假设FPGA设计,包括不同的频率的时钟,它会发出涉及异步时钟. 我们需要一些方法来使时钟同步,从而保证FPGA可靠性设计. 2 在建立和保持时间所构成的有效时间窗体内,数据输入到触发器进行转换. ...