Skip to content

Latest commit

 

History

History
32 lines (28 loc) · 2.05 KB

README_cn.md

File metadata and controls

32 lines (28 loc) · 2.05 KB

背景

以快速实施为目的,能通过工具快速完成业务方需求,并在运行过程中逐步演化的系统。 目前面对复杂业务流程,传统软件开发按以下三种方式进行 目前的开发策略有以下三种, Database First、Code First、API First

  • Database First 先构建表,也称之为模型;然后通过模版,生成相关的代码;大部分的接口,然后通过语言的继承/实现来书写业务逻辑。 当模型修改,通常需要迁移数据,修改代码
  • Code First 先构建数据结构,然后通过编程的映射能力,自动创建表 当结构修改,通常需要迁移数据,修改代码
  • API First 面向业务优先定义接口,使得各方可以通过协议契约来实现业务;用于微服务架构下的解耦; 这需要很高的业务理解与设计能力,必须保证需求的相对稳定性; 而具体编码阶段,通常配合以上两种策略进行配合,柔和了以上两种策略的复杂性。

以上几种策略,都需要开发者参与其中;一个公司,通常开发者、测试者、运维者、实施者是独立的组织,这就导致,面对外部的需求变更,往往需要 以上几个角色的岗位好好配合,比较考验组织能力,当往往事与愿违,因为沟通的代价高、知识的传递具有隐秘性,这方面往往无法取得高收益。

主要过程

  1. 理解业务流程,并从中收集相关实体信息
  2. 整理并构建实体信息,并构建实体关系;实体与关系保持独立
  3. 以实体与实体关系推导业务流程,并验证保证实体、实体关系、业务流程的正确性;
  4. 必要情况下与用户一体体验并反馈;
  5. 不断迭代1-4,梳理的过程不必拘泥于顺序关系
  6. 直到业务过程稳定,达到相关交付要求,提供给业务方使用。

设计精要

  1. 以实体名为系统唯一标识
  2. 实体的属性组可以有多个,至少包含一个主要属性组
  3. 实体属性不包含实体记录间的关系,所有关系以外部表的形式进行定义