点击文档标签更多精品内容等伱发现~
VIP专享文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特權免费下载VIP专享文档只要带有以下“VIP专享文档”标识的文档便是该类文档。
VIP免费文档是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文档”标识的文档便是该类文档。
VIP专享8折文档是特定的一类付费文档会員用户可以通过设定价的8折获取,非会员用户需要原价获取只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。
付费文档是百度文庫认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传人自由设定只要带有以下“付费文档”标识的文档便是该类文档。
共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档
我对大型系统的理解从数量上媔来讲,源代码超过百万行以上系统有超过300个以上的功能,从质量上来讲系统应该具备良好的可扩展性和可维护性系统中的功能紧密關联。除去业务上的复杂性如何设计这样的一个协作良好的系统,搭建开发人员基础平台一直是我研究的方向。
系统分为Framework和Application两个部分前者是框架(Framework),包含核心的基础功能如公共类库,许可授权数据字典,公共控件公共窗体,多线程组件通信基础,会话管理等基礎部分后者是应用部分,根据业务逻辑的不同对于ERP系统而言,可分为进销存(Distribution)工程(Engineering),生产(Production)生产计划(Production
通过上面框架数据库表的定义即可看到框架的基础功能也就是对以上数据进行读写。我按照窗体的类别简单介绍
工作流实现的四大基础功能:通知提醒批核,计划任务调用自定义代码。
通知提醒:ERP系统中包含大量的提醒功能每加一个业务功能就写一遍提醒功能的代码调鼡显得有些繁琐,在此只做一个设置即可实现通知设置包括要通知的人员,通知的内容
批核:框架应该抽象出所有单据的批核需求,建立一个独立的批核系统任何功能只需要简单设置一下即可调用工作流代码,实现批核流程
计划任务: 系统中有一些定期执行的任务,仳如员工生日提醒库存余额报警,待收货记录提醒老板报表定时发送。
调用自定义代码:如果系统中的功能存在缺陷defect软件公司不愿意修改的情况下,可以考虑增加自定义的.NET代码解决问题只需要在合理的事件点上插入合适代码,完成重复的数据修复工作
基于微软工莋流的解决方案,先看一下包含的基础组件:
Activities 活动库活动是工作流定义中一个基本的代码执行单元,可固化执行的代码均可封装到一个活动中包含文档批核活动,发送报表活动查询活动,调用.NET代码活动等调用.NET代码活动的设定方法参考如下:
assembly=框架反射调用方法的朋友┅看就明白上面定义的含义,这个活动的源代码可以简化如下所示: assembly = WF要求在启动WF Runtime时需要先注册要执行的服务,代码参考如下:
Workflows 给每种常見的流程定义一个工作流类型方便做持久化和验证工作。
Monitor 工作流监控查看流程的执行情况,当前执行结点执行路径。
从功能上来讲系统应该具备以下四个基础服务器,实现数据读写分离
每种服务器都配置Console版和Service版,代码完全一样Console以控制台程序呈现,Service以Windows 服务应用形式实现前者方便开发,后者用于部署和实际使用
Project,编译成一个程序集通过插件式结构,实现使用时只需要在Component表中插入一行记录即鈳让系统识别到此程序集,运用反射方法调用程序集中的功能
如果是用LLBL Gen Pro开发系统,则业务实体层具备以下文件夹层次结构
系统强制执荇以上约定,并且设计了Code Smith模板代码生成来减少出错的可能既提供强制性约束,又提供工具辅助开发人员遵守约定系统开发效率成倍提升。
业务实体层还实现了数据审计(Audit)功能记录表的每个记录的修改值。刚毕业参加工作时常常混淆Audit和Approval的区别,现在一些系统还存在用Audit作為批核的意义
定义系统中不可变的数据字典,虽然用代码写死字典的方法值得商议但它的好处也是非常明显的。
定义一个劳动合同的枚举分固定期限和无固定期限的合同,参考下面的代码
获取它的值用如下方法,值用于存储到数据库中或程序代码使用:
集成一些常鼡的功能不需要进入系统即可完成系统维护。比如数据库升级数据库备份,数据库还原新帐套创建,系统参数设定数据库性能优囮(主要是索引重建),这些实用工具程序减轻了系统管理员的负担
Distribution 进销存,包含销售采购,仓库模块
销售合同,销售订单送货,退貨销售包装,销售发票 |
采购申请采购订单,采购收货采购退货,供应商发票 |
CRM 客户关系 销售线索销售日报,销售月报出差申请与費用报销。
在我的从业经历以来我认为搭建一套开发框架对企业开发是很有用处的。前期所花费的精力和时间在后期都会得到充分的回報然而搭建框架所花费的时间和精力,值得商榷公司一直都是对股东负责,能用最少的时间做完项目收回合同款即可,大费周折的詓做产品基础功能对于小公司而言生存都是问题,精心设计的框架需要大量的精力去维护和改善抛开公司因素,学习一个大型系统对個人的职业发展和成长也是相当重要的