iBiz软件工厂


 

  1. 前言
  2. iBiz基本原理
  3. iBiz软件工厂结构及生产过程

 

1.前言

  受限于企业软件需求还不是很旺盛,使用的软件技术相对简单,国内软件开发人员薪资相对较低。软件开发公司大多以小团队形式存在,拼的是团队程序员的个人造诣。

  软件行业一直帮助其他行业完成自动化的转型,对自身可视化和自动化的追求其实也从未止步。我们做了些简单的调查,基本上国内上了50人的团队都会维系自己的软件开发工具集,组件化以及可视化的拖拉拽界面布局,最后辅助生成部分程序代码是现阶段的主要选择。

  这种以程序开发为主,可视化建模为辅的开发模式被开发工具厂商做到极致,增加了一些类似流程引擎的工具,使得建模完成之后不需要借助程序代码,直接在引擎之上运行模型,方便了开发和后期的调整。然而,这一切也无法改变底层强大的程序基础在联系着这些引擎的事实,也就是说,仍然是一整套辅助编程工具。

   事实上,随着建模标准的发展,模型可以描述的范围越来越大,越来越被人们所接受。以模型为主,程序为辅的软件开发方式变得越来越成为可能。

 

image-20200923112954928

  当前,政府和企业信息化迅速转向云计算、大数据、移动化、人工智能。我们注意到,整个行业呈现以下特定:

  这些诉求都与当前的软件生产力形成了巨大的反差和矛盾:依赖复杂编程的传统软件研发模式难以满足用户要求,用户寻求更加开放的,云化、智能化、轻量化的研发工具服务,以便更加专注于核心业务的创新。

   “iBiz软件工厂”颠覆传统的软件生产模式,运用DSM、MDD、DevOps等先进理念在云端打造了完整的工厂化软件生产体系,能够实现低代码开发、全源码交付。平台开放可扩展、可集成,完全满足用户自主可控的要求。

2.iBiz软件工厂的基本原理

  通常,用户需求包含两个方面,业务方面功能性需求和技术方面的非功能需求,业务需求,主要包括数据、界面、流程、逻辑,这些内容与具体使用什么软件开发技术实现没有关系;而技术需求,主要包括架构、性能、安全性、编程规范等内容,这些则与具体的业务无任何关联。

  传统的软件生产模式,遵循从需求分析到设计、开发、交付这样的线性过程,最终完全依赖程序代码来对业务进行翻译,并且将技术要求和业务需求一并通过程序纠缠在一起实现,获得唯一的开发成果物,程序代码。人们致力于优化特定环节,提供辅助开发工具,提升程序开发效率,但是并不能做出实质性的改变,即开发成果物程序代码混合了技术和业务的共同实现。

  埃毕致选择颠覆线性工作模式,将传统的需求成果分离为业务需求和技术要求,并分别设计实现。其中业务需求采用业务建模的方式来实现,最终得到与技术落地实现无关的成果物——“业务模型”;而通用的技术要求则被制作成了复用性很强的“程序发布模板”,从而极大提升交付能力和管控效率。最终我们整合两类分别代表技术和业务的成果物,发布出用户需要的目标成果物。

img

 

   秉承这种业务技术分离的思想,埃毕致在云端打造了一套业务和技术彼此独立的生产线,包括:业务开发生产线专注于业务创新、技术开发生产线专注于技术革新和个性化需求响应、DevOps生产线和管理协同生产线。

image-20200923131837938

 

3.iBiz软件工厂及生产过程

   iBiz软件工厂主要分为以下执行层生产线和管理层平台,他们规范了全新的应用生产分工协作过程和管理模式,保障了交付。

img

 

  iBiz 能够实现并行分工的软件工程过程:

image-20200923114501436

 

  “业务需求”传递给业务开发车间,首先评估可复用的业务模型资源,并使用可视化的拖拽建模工具将用户需求转化为业务模型(数据模型、界面模型、逻辑模型、流程模型等)并存入模型库,方便未来的交易、交换和复用;用户选取业务模型和合适的程序发布模板并交由程序发布车间自动完成程序的发布,存入产品配置管理中心;最终交由DevOps平台自动完成编译、部署、点亮业务系统。

  “技术需求”(架构、性能、安全性、编程规范、编程语言等)传递给模板组件开发车间,首先评估可复用的目标发布模板资源,利用在线模板开发辅助工具将用户的技术要求开发、调试形成“发布模板”,并存入模板管理中心供发布目标成果物选用。

  对于“无法建模或没有必要模板化的用户需求”,提交给个性化程序定制车间处理。可以基于平台提供在线程序开发工具选取两种不同的个性化程序开发模式。一方面可以直接从产品配置管理中心下载完整的程序代码进行二次开发,然后上传回到产品配置管理中,继续通过DevOps自动完成后续的发布运行操作;也可以先完成个性程序开发,然后封装成为模型积木,再对业务模型进行组装并自动化发布程序。