一个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,具备相似的工具条操作界面.通过设计可复用的基类,子类只需要继承基类窗体即可完成单据功能的程序设计.先看标准的销 ...
随机推荐
- zoj2977Strange Billboard (国家压缩+罗列)
Strange Billboard Time Limit: 2 Seconds Memory Limit: 65536 KB The marketing and public-relations de ...
- HTTP必知必会(转)
HTTP协议作为网络传输的基本协议,有着广泛的应用.HTTP协议的完整内容很多,但是其核心知识却又简单精炼.学习者应该掌握其基本结构,并且能够举一反三.这篇文章所列的,就是在实际开发中必须知道必须掌握 ...
- Lucene40PostingWriter
控制freq和prox这两个文件的输出,比较简单. 默认skip interval这是16,max skip level这是10. 由源或使用可见VInt编码(而不是速度的传奇PForDelta). ...
- Ajax.BeginForm的异步提交数据 简介
Html.BeginForm与Ajax.BeginForm都是MVC架构中的表单元素,它们从字面上可以看到区别,即Html.BeginForm是普通的表单提交,而Ajax.BeginForm是支持异步 ...
- android 实现真正意义上的服务及源代码下载
android APP后台服务和长期server长期互动,保证实时数据,这个小项目主要实施app退出后仍然能够执行服务. 使用该系统的Intent.ACTION_TIME_TICK现,这个系统的广播每 ...
- IBM BigInsights 3.0.0.2 集群环境搭建
1. 改动hosts文件和永久主机名 由于BigInsights 3.0版本号不像之前的版本号能够直接用IP来添加节点,因此我们须要更改每台server的hosts文件和主机名: vim/etc/ho ...
- 使用C语言编写windows服务一般框架
原文:使用C语言编写windows服务一般框架 编写windows服务和编写windows应用程序一样,有一些回调函数必须填写且向windows 服务管理器(service manager)进行注册, ...
- Thrift实现C#通讯服务程序
Thrift初探:简单实现C#通讯服务程序 好久没有写文章了,由于换工作了,所以一直没有时间来写博.今天抽个空练练手下~最近接触了下Thrift,网上也有很多文章对于Thrift做了说明: ...
- [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)
原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日 ...
- 原生JS的DOM节点操作
DOM(Document Object Model/文档对象模型)是针对HTML和XML文档的一个API.DOM节点树:在文档中出现的空格.回车.标签.注释.文本.doctype.标签等都属于DOM节 ...