架构感悟 10- 解决业务问题是软件系统的使命
软件=解决特定领域的问题
任何的软件系统都是为了解决特定领域的业务问题。不论是传统软件还是互联网系统,每个软件系统都是为了解决一个特定的领域问题.如 QQ、微信、百度地图和高德地图,还有企业级别的MRP,ERP.
业务的总是纷繁复杂
这个世界上唯一不变的就是变化
很多的软件总是在不停的满足业务需求的不停变化。为此软件工程领域也提出了很多工程方法,如传统的瀑布流软件工程,敏捷开发等等。
到了代码层面,软件工程师们也提出各种方法论,如面向对象语言的三大特性,面向对象的设计原则,面向对象语言的设计模式,都是为了应对业务带来的.
DDD(领域驱动设计)的思想更是应对业务的抽象,业务变化能与代码保持同步变化,统一领域语言为业务人员和开发人员等系统干系人提供一个领域内的沟通载体。
CRUD不复杂,但是业务的交织才复杂
很多人看不起做业务系统开发的,的确业务系统的技术不是关键,关键的是业务方案,能够解决业务的实际问题。
重构系统,先重构业务
MRP 还是ERP 对传统业务进入电脑(电子化)一定要做BRP,否则线下业务在人为操作过程中随意性太大,只有从抽象的角度,把业务流程合理化后,才能让软件系统更好的处理问题。
软件系统的特定是把固定的流程跑快,而不是随意的流程快速处理。
版权声明: 本文为 InfoQ 作者【旭东(Frank)】的原创文章。
原文链接:【http://xie.infoq.cn/article/4d921b99bf319eea03e7b926d】。文章转载请联系作者。
评论