结束语与参考文献

四. 结束语

遗留系统的技术栈迁移可能是一个漫长艰苦的过程,它的难度甚至要高于新开发一个系统,这是因为我们常常会挣扎在新旧系统之间,并在不断的妥协、权衡中缓步前行。

它是一个复杂工程,需要参与者了解迁移前后的技术栈知识,掌握或者至少善于分析与理解遗留系统。我们需要审慎地做出技术决策,通过识别迁移过程的风险来驱动整个迁移过程。在决定迁移选择的技术时,要根据这些识别出来的风险对这些候选技术做充分的预研,获得可供参考的度量矩阵。我们还可以引入BDD框架来编写可运行的功能场景,以此来寻找失去的知识,同时兼得验收测试的保护网。

我们可以通过引入持续集成,建立快速反馈环,以避免迁移时做出的改动对原有系统造成破坏。同时,还必须具备技术迁移的能力。我们可以考虑引入一些最佳实践或迁移方法,例如抽象分支、影响结构图、特征草图,运用设计模式和重构手法来改善遗留代码,以利于技术的迁移。当然,团队协作、架构设计、组织管理、进度跟踪等一系列技术与管理实践同样重要,只是这些实践并非技术栈迁移所必须的,而是所有开发过程都必须经历的过程,因而本文不再赘述这些内容。

参考文献:

[1]:http://en.wikipedia.org/wiki/Legacy_system,原文为:“A legacy system is an old method, technology, computer system, or application program.”

[2]:文章How Rackspace Now Uses MapReduce And Hadoop To Query Terabytes Of Data

[3]:烟囱系统,一种反模式,http://sourcemaking.com/antipatterns/stovepipe-system。

[4]:供应商锁定,一种反模式,参见http://sourcemaking.com/antipatterns/vendor-lock-in。

[5]:Gorge Fairbanks:Just Enough Software Architecture,参见第3章Risk Driven Model

[6]:以上所述皆为BDD框架或整体工具。

[7]:Jez Humble:Make Large Scale Changes Incrementally with Branch By Abstraction

[8]:Michael Feathers:Working Effectively with Legacy Code

原文发布于微信公众号 - 逸言(YiYan_OneWord)

原文发表时间:2014-08-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据和云计算技术

大数据和云计算技术周报(第53期)

“大数据” 三个字其实是个marketing语言,从技术角度看,包含范围很广,计算、存储、网络都涉及,知识点广、学习难度高。

574
来自专栏人工智能LeadAI

进行数据挖掘的 8 个最佳开源工具

数据挖掘,又称为资料探勘、数据采矿。它是数据库知识发现(英语:Knowledge-Discovery in Databases,简称:KDD)中的一个步骤,是一...

983
来自专栏阿杜的世界

持续学习杂谈:阅读前言IT行业的知识结构最近的阅读列表阅读经验

最近在阅读Bob大叔的新书——《Clean Architecture》(需要的同学可以在公众号后台回复数字1获取),感觉字字珠玑,值得反复阅读&品味。关于系统设...

551
来自专栏ATYUN订阅号

IEEE发布最受欢迎编程语言排行榜,Python屠榜

任何试图衡量计算机语言流行度的人都必须依赖相对流行的代理测量。在IEEE的例子中,这意味着将来自多个来源的指标与47种语言进行排名。但是认识到不同的程序员有不同...

634
来自专栏PPV课数据科学社区

【工具】一张图测试你的Hadoop能力-Hadoop能力测试图谱

1.引言   看到一张图,关于Hadoop技术框架的图,基本上涉及到Hadoop当前应用的主要领域,感觉可以作为测试Hadoop开发人员当前能力和水平的比较好的...

2583
来自专栏ThoughtWorks

小数据:理论和架构 | TW洞见

今日洞见 文章作者及图片来自ThoughtWorks:熊节。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站...

3055
来自专栏顶级程序员

王咏刚:为什么 AI 工程师都要懂些架构?

作者简介 王咏刚 Google软件工程师 著名技术撰稿人和IT演说家 创新工场AI工程院副院长 AI 时代,我们总说做科研的 AI 科学家、研究员、算法工程师...

2816
来自专栏Pulsar-V

Matlab 航模挂载设计

题目 航模组决定对某款航模的挂载能力进行改造测试,希望获得最大的飞行性能评价值。航模挂载设备的体积V(单位:cm3)和重量M(单位:g)均会影响飞行性能评价值,...

3335
来自专栏CDA数据分析师

IT屌丝如何成为数据科学家?

数据科学家被《财富》杂志誉为21世纪最性感的职业,但遗憾的是大多数企业里都没有真正的数据科学家人才。根据麦肯锡报告,仅仅在美国市场,2018年大数据人才和高级分...

1839
来自专栏华章科技

经验贴:如何进行大数据入门级学习

虽然题主问的是大数据的入门,但在我看来“大数据”就是数据科学的一个高阶状态。以下内容中除个别情况,我基本上都会使用“数据科学”这个概念。数据科学并没有一个独立的...

761

扫描关注云+社区