26 | 系统集成:为什么最容易出问题的是系统集成?
臧萌
你好,我是臧萌。在上一节中我们聊了软件系统架构师。软件架构师完成了最核心的系统,但是这还远远没完。如果你想让这个系统真的运转起来,那还需要系统集成。而且在我看来,系统集成很多时候所占的时间和精力,远比系统核心要多。
那到底什么是系统集成呢?系统集成,简单来说,就是要对接、落地,验证,看到真正的成果。
吃上一道新菜,过程远比你想的复杂
我们拿饭店来打个比方。假设我们现在运营着一个连锁饭店,中心厨房会为每个连锁饭店配送半成品的菜品。现在我们要推出一款叫“三菌笋片烩鸡丁”的新菜品。对于新菜品来说,一开始我们要先构思,然后去小范围地验证这个菜品。如果在这个小范围内得到一致好评,那第一步就算完事了。
这时候,如果用软件系统研发的进度做对比的话,菜品研发部分,就是完成了系统架构和关键模块的编写,也就是完成了核心系统的开发。请大家试吃就是搞出一个演示给大家看,结果就是大家看着核心系统的演示,都觉得功能很棒,翘首期待能早日用上。
这是决定这个系统特色的一步,也是最有创造性的一步。但得到了大家的认可,这能算成功了吗?远远没有。这只能算是迈出了通向成功的第一步,距离成功,还差着系统集成这关键的一步呢。
回到我们的例子。我们的目的是为连锁饭店推出一道新的菜品。我们需要给连锁饭店的食客们安全快速地呈上这道新菜,才能算成功。而一个菜能在厨房做出来,和一个菜能一年能在所有饭店长期保持稳定水准,是完全两个概念,难度也是两个级别。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
系统集成是软件开发中至关重要的环节,类比于推出新菜品,需要考虑原材料供应、价格波动、保鲜运输等问题。在软件系统集成中,内部集成需要统一架构设计,避免细节和接口不统一带来的问题;而外部系统集成则需要避免假设,尽早确定细节,以免对系统造成严重影响。系统集成是对系统功能发挥的一次大考验,需要谨慎处理各种可能出现的问题。 在系统集成中,配置和数据是常见问题。配置繁琐且容易出错,建议通过输出log形式进行问题定位。对于数据,用户输入的数据需要全面检查,而数据交换也可能伴随着格式转换等操作,需要在系统交互的边界记录详细的log,方便排查问题。 系统集成之所以麻烦漫长,原因在于需要给出最终被认可的成果,同时可能出现各种之前未想到的问题。系统集成是一个需要付出代价的过程,需要克服想当然、对需求的理解偏差、经验的欠缺等问题。架构师在设计阶段可以减少问题,降低难度,因此能够越少地付出代价,越能代表自身综合能力的提升。 系统集成是任何系统都逃不过的大考,读者可以分享自己的系统集成经历和实践经验,与他人交流讨论。 总之,系统集成是软件开发中不可或缺的环节,需要认真对待各种可能出现的问题,同时不断积累经验,提升自身综合能力。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《职场求生攻略》,新⼈⾸单¥59
《职场求生攻略》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- 南湾小猪一位前辈曾分享过做system integration的经验是”Never trust a client!”换句话说,就是对传入进来的数据要多验证。
作者回复: deideidei
2020-07-1625 - Middleware和外部第三方对接,千万记录好log ,否则都是泪
作者回复: 0假设,外部数据一个字节都不要信
2020-07-155 - Sdylan现在模式:内部系统-接入模块-外围系统。涉及到防火墙是否开通、如何对接接入模块以及外围系统要做啥。对接外部系统,真的要把上送的参数、返回的结果打印出来。毕竟接入模块不一定是自己团队的,他负责转发而已。
作者回复: 没log,出了问题就是一脸懵逼。 而系统集成一定会出问题的(手动狗头)
2020-07-154 - Geek_3b1096低估集成所需的时间
作者回复: 如果不知道需要多久就把开发的时间 x 2,如果乐观一点就 x 1。
2020-07-151 - 行与修集成是偷不得懒的,项目排计划也是。当我听到组里人说做完了,心想是去验证的时候了。
作者回复: 哈哈,是这么个意思🤝
2020-07-16
收起评论