结束语与参考文献

四. 结束语

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

它是一个复杂工程,需要参与者了解迁移前后的技术栈知识,掌握或者至少善于分析与理解遗留系统。我们需要审慎地做出技术决策,通过识别迁移过程的风险来驱动整个迁移过程。在决定迁移选择的技术时,要根据这些识别出来的风险对这些候选技术做充分的预研,获得可供参考的度量矩阵。我们还可以引入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 条评论
登录 后参与评论

相关文章

来自专栏吉浦迅科技

AMD FirePro GPU的DirectGMA 功能

利用Direct Graphic Memory Access(DirectGMA)有效地在AMD FirePro GPU卡之间交换数据 在视觉计算领...

28011

不应面向对象地针对业务行为建立模型!

在过去的几年中,我看到许多项目将几乎任何类型的业务需求都喜欢建立与需求原因无关的技术对象模型(后面可能简称对象模型)。在很多情况下,针对技术对象建立业务需求模型...

1282
来自专栏SDNLAB

对OpenFlow下的一种网络安全应用模型(OFX)的思考

最近有时间学习了一篇发表在NSDI’16的叫做 ”Enabling Practical Software-defined Networking Security...

3367
来自专栏智能计算时代

[ 数据架构 ]MIKE2.0方法 : 一种信息开发的开源方法

以下显示的是信息成熟度(IM)QuickScan的示例输出。 IM QuickScan用作评估企业级组织中数据治理级别的第一步。

711
来自专栏AI科技大本营的专栏

Python爱好者周知:Scikit-Learn中文文档正式发布

整理 | 费棋 近日,Scikit-Learn 中文文档已由开源组织 ApacheCN 完成校对。该中文文档依然包含了 Scikit-Learn 基本功能的六大...

2616
来自专栏MyBlog

软件测试方法课程笔记(1)

举某些例子, 软件测试方法有黑盒测试, 白盒测试 按阶段来区分的话有单元测试, 集成测试, 系统测试 按目的来分有性能测试等

692
来自专栏数据科学与人工智能

【ETL技能】白话数据仓库 ETL 搭建全过程

经过多年来企业信息化建设,大部分都拥有了自己的财务,OA,CRM 等软件。这些系统都有自己的独立数据库,记录着企业运行情况某个方面的数据。但是单独看这些系统的报...

3239
来自专栏SDNLAB

SDN最新研究进展

自SDN出现以来,关于SDN的研究一直没有停止,只是不同的阶段关于SDN的研究的重点不同。比如最开始的时候,探讨最多的是SDN的可行性,以及如何将SDN应用到对...

3156
来自专栏人工智能头条

大数据改变世界,Spark改变大数据——中国Spark技术峰会见闻

1933
来自专栏desperate633

计算机网络基本要素和结构什么是计算机网络计算机网络的要素计算机网络的服务计算机网络的协议计算机网络的结构

那么,计算机网络中主机数量极其大,而且有的主机很远,如果要每个主机互相直接连接的话,不现实。 所以 通过交换网络互连主机,不同的主机分别跟交换网络相连

391

扫码关注云+社区