业务系统和一般的应用有非常大的不同,一般的应用以提供给公司/企业外的用户(消费者、普通玩家)提供服务,以完成2C的销售目的,而业务系统一般是2B或者自身消费的模式,完成的是自身业务的管理目标。所以,应用侧重服务,业务系统侧重管理。两者的不同,导致我们对项目开发中,代码的组织方式会有差别。2C应用要满足大量用户在使用时的舒适性,因此要提高项目中有关性能、用户体验、效果等方面的要求,以吸引用户付费。但业务系统则稍有差别,虽然系统的使用体验也很重要,但是不是占最重要的部分,业务系统最重要的部分,是必须保证用户看到的数据、流程等,必须与真实的业务、业务流程一致,否则会带来自身利益的损失,因此,在稳健性、安全性等方面要求更高。

什么是业务模块?

首先,什么是业务系统?在这之前,又必须回答什么是业务?业务(Business)专指商业活动,是实现企业生产到利益回收的一个环节,它的总和,构成了该企业盈利活动的整个流程。一般而言,我们所指的业务是企业商业活动中的一个部分,有的甚至小到一个环节,例如“结算”这个环节。业务系统则是辅助这些商业活动的计算机在线系统,以信息化的形式管理和决策企业的商业活动(理论上没有业务系统企业也能运转,但信息化社会没有业务系统会让企业寸步难行)。

大部分情况下,业务系统会尽可能多的囊括企业的业务环节,其目标是将企业的所有商业管理在线化,完成除必须在线下完成的实体业务之外的所有管理活动。而且,通过业务系统的数据积累,可以让企业基于已有数据进行深入决策,比只有线下管理的竞争对手高出多个维度。企业的管理者和员工使用业务系统,参与到企业的各个业务环节,参与形式各有不同,根据员工的角色来决定,比如有的员工不接触系统界面,只通过工卡完成各项流程的录入,有的员工则需要完成在线申请或审批,有的员工需要使用复杂的第三方工具完成系统录入等等。

业务模块,是以业务系统的建设者(领域专家、系统工程师等)的角度看待业务系统时,将庞大的业务系统,按照某个业务活动的边界,进行划分的某个单元。但是技术上,一般一个模块还是粒度比较大的单元。一般而言,业务模块囊括了系统关于该业务的所有内容,且和其他业务有明显的界限,理论上,可以在脱离了其他业务模块的情况下独立运行。

有了以上的认知,我们就知道,我们需要掌握企业在某个业务中,不同的参与者都是如何工作的。在该业务模块没有上线到业务系统中时,没人能明确的告诉你这个业务模块应该长什么样子,你需要走访业务的参与成员,了解他们实际是怎么工作的,然后再思考,如果要将这些工作迁移到线上,应该关注哪些方面,是用户的操作形式?是界面的友好风格?是信息的准确?但是应该注意一点,如果业务系统致使工作效率降低,那么说明设计该系统的人没有真正掌握企业商业活动的核心要点。动的核心要点。