集成是把各个分散的软件部分合并成一个统一的系统的过程。好的集成方法能带来很多好处,比如便于诊断错误,提高代码质量,更可靠的预测,更好的用户关系,更高的士气等等;而坏的集成方法可能导致最后系统无法完成。
集成的方法可分为两大类,一类是先把所有的部分都准备好,然后一起集成;另一类是增量集成,也就是先搭个架子,然后一部分一部分往上加。第一类的问题在于一下子引入了太多的耦合,关系太复杂,出了问题不好定位,搞不好根本跑不起来。因此除了对于很简单的系统,可以考虑用第一类,其他的情况用第二类方法效果都要好得多。
增量集成也有很多种方法,自顶向下集成,自底向上集成,“三明治”集成,定向冒险集成,功能定向集成,T型集成等。这些方法各有优劣,没有说哪种一定是最好的,要根据实际项目的情况去选择,或者混合运用。选择的一个关键因素就是集成的顺序。增量集成是一个部分一个部分加的,所以顺序很重要,这个顺序也会影响到开发的顺序,设计好了就可以并行以提高效率。
不管用什么样的方法,每天编译(Daily build)和冒烟测试(Smoke test)都是值得推行的。每天编译并进行冒烟测试可以更好的控制整个集成的过程。每天编译发现问题容易定位,冒烟测试保证没有重大缺陷。冒烟测试这个词是从硬件测试来的,一上电就冒烟肯定不行,移植到软件上来说就是新编译版本跑不起来,或者基本功能都不行。因此冒烟测试用例要随着集成过程不断更新。值得一提的是,不要因为系统大就不用这个方法,越大越要用,Windows2000这个五千万行代码的系统也是用这招的。
最后附上集成的checklist:

集成是将软件组件合并为一个统一系统的关键步骤,增量集成方法如每日构建和冒烟测试能够有效提高代码质量和问题定位。本文探讨了集成策略的选择,强调自顶向下、自底向上等增量方法的重要性,并强调了每日编译和冒烟测试在大型项目中的必要性。
最低0.47元/天 解锁文章
256

被折叠的 条评论
为什么被折叠?



