积木式开发体系
“如何快速交付”的问题一直伴随着软件行业的发展。在多年的摸索和实践中,软通不断推进技术架构的演进,建立了由一套工程实施方法论、一个应用架构和一组辅助工具集共同构成的 “积木式开发体系”。该体系有效帮助软通在保证质量的前提下快速响应、快速迭代、快速交付,在提高开发效率的同时, 实现降低各方面的成本。
工程实施方法:
和传统体系相似,整个过程也由 分析 >> 设计 >> 开发 >> 测试和交付 这四个阶段构成,积木式开发体系在分析和开发两个阶段做了少量的调整,在分析阶段更注重差异分析,在开发阶段将常规的开发变成了配置开发,将约定、声明、配置提到了特殊的高度。
应用架构:
是积木式开发体系的基础,这套应用架构允许我们通过简单的声明 / 配置的方式实现,并跟其他方式开发的软件呈现出一样的外观和用户体验。这种应用架构主要包括“界面堆叠体系”和“逻辑堆叠体系”两个部分。
配套工具:
这是积木式开发体系在快速交付的重要手段,开发工具的支持是积木式开发体系落地的重要一环,是从coding到configuration 的重要手段。
界面堆叠体系:
软件界面是工程实施过程中的主要组成一部分,积木式开发体系将界面分为最终交付的 “成品”、组件化的 “零件” 及管理组件布局的 “界面装配车间” 三个部分。
逻辑堆叠体系:
逻辑是工程实施过程中另外一个重头戏,积木式开发体系在逻辑组织方式上引入事件系统形成 “逻辑流水线”,和数据访问控制、安全、缓存、消息队列及 Workflow 构成的 “基础控制模块” 共同形成逻辑堆叠体系。
事件:
将所有的业务逻辑处理都封装在一个个“事件”中。应用 AOP 的思想将所有逻辑过程都分为 “事前”、“事中”、“事后” 三个阶段,贯穿前后端。同时将逻辑分为界面相关和界面无关两层。由此形成从界面 Applet 中的点击开始到后端 Business Component 执行逻辑再到最后界面 Applet 响应的事件闭环。
代理:
将事件的 “事前”、“事中”、“事后”三个阶段又分为 11 个小的步骤,一些以硬编码的形式书写业务代码;另外一部分我们实现事件逻辑的代理,以便我们能够进行二次开发和随时应变。这11 个点为我们的逻辑验证测试提供了统一的检查点,友好地支持更细粒度的自动化测试。
声明:
以最方便的声明方式配置这些代理,便于分离产品固有逻辑和企业个性化逻辑,取得行业通用化和企业个性化之间的平衡。
“业务”方面:
统一了工程实施范式,规范了团队思维模式,建立了从行业通用模式到企业个性化的渐进式逻辑体系
“效率”方面:
统一了组件化粒度,建立了标准组件库,提高了复用性
“质量”方面:
统一了逻辑堆叠体系,编程思维和代码书写方式,提高代码质量的同时统一了用户体验,降低跨模块使用门槛,降低用户学习难度