项目提测之前,都需要「集成」这个过程。除非你的项目只有单独的一部分,就像《生活大爆炸》里 Howard 的机械臂?,宅男是不需要机器人的其它部分的?。
为何要探讨集成
现实是大家的项目都会有集成,要么是前后端联调过程中执行了,要么上司催赶提交结果时候执行。这个过程无需研究“如何集成”也能执行,毕竟各门技术相当成熟的今天,Web 的分离联调、单片机的 OTA 嵌入、安卓的插件下载、后端的协议对接,都有对应的文档和规范,老老实实按时(我知道你们都有拖延症?)完成就好了。
那为何要探讨集成?
那是因为,集成是组织者干的活,是技术主管大牛们煞费苦心为你打造的流程,目的就是让码农在统一的规范、接口下对接。当你需要制定规范文档、一个人负责一个项目或者成为管理者的时候,集成就是你需要考虑的事情了。甚至是组织一个年会节目?,集成的智慧都能帮到你。
集成方案
策略上可以分成 2 种:
- 一次性集成。即各个部分的开发工作全部完成后,再一起对接。类似于远古软件开发方案的「瀑布式开发」,最后集成的时候无疑会出现“Bug 大爆发”,风险极高。
- 增量式集成。即完成系统的核心部分的基础版本后,其它功能部分在完成基础版本后也一点一点地集成过去,再慢慢完善。类似于现代软件开发方案的「敏捷开发」,进度可控、接口问题发现早。
无疑我们会选择增量式集成策略。
集成方向
一般集成方向分成 3 种:
- 自上而下集成。先开发核心,再开发业务功能,最后开发接口。纵向的风险控制是做到了,但是模块之间的横向风险没有。
- 自下而上集成。同上,方向相反。
- 三文治集成。横向纵向对接同时进行。项目各个部分的难度分布并不均匀,这种开发方式还能探测难度,避免最后才发现缺陷或者不足。
举个例子
开发某个嵌入 App 的 weex 「家电控制」项目时,主管先把系统分成核心(控制全部模块)、子系统(每种家电一个模块)、底层接口(控制家电的底层接口),让一个人负责核心,三个人负责子系统,一个人负责底层接口。
- 开发基础核心,直到够接入子系统。
- 基于核心,子系统开始开发。同时底层接口根据家电功能开始开发。
- 子系统要求核心和接口提供功能,底层要求子系统和家电提供功能。横向之间也能相互要求提供功能。整个系统的开发相互依赖。
总结
集成就是把系统的各个独立部分集合在一起,使之能够协调通信的过程。为了控制风险,一般采用「增量式」方案,进行「三文治集成」,能够降低风险,对项目进行良好把控。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。