第7章 系统规划 - 第4部分 遗留系统演化策略
🎯 7.4.2 遗留系统的演化策略
根据商业评价分值和技术水平分值的情况,将评价结果分为四种类型分布在4个象限,对处在不同象限的遗留系统采取不同的演化策略。
📊 四象限演化策略矩阵
| 商业价值 | 低技术水平 | 高技术水平 |
|---|---|---|
| 高商业价值 | 第4象限:继承策略 低技术-高价值 | 第1象限:改造策略 高技术-高价值 |
| 低商业价值 | 第3象限:淘汰策略 低技术-低价值 | 第2象限:集成策略 高技术-低价值 |
1️⃣ 改造策略(第1象限:高技术-高价值)
1) 适用情况
- 📈 遗留系统技术含量较高
- 💎 具有较高的商业价值
- 🆕 系统本身还有较大生命力(可能建成时间较短)
- ✅ 基本能够满足企业业务运作和决策支持要求
2) 实施策略
系统功能增强和数据模型改造:
graph TD
A[改造策略] --> B[系统功能增强]
A --> C[数据模型改造]
B --> D[在原有系统基础上增加新的应用要求,<br>对遗留系统本身不做改变]
C --> E[将遗留系统旧数据模型向新数据模型转化,<br>并保持数据一致性]
3)实施要点
| 改造类型 | 实施方法 | 注意事项 |
|---|---|---|
| 功能增强 | 增量式开发,在原系统基础上扩展 | 保持原系统稳定性 |
| 数据模型改造 | 数据结构转换和迁移 | 确保数据完整性和一致性 |
| 接口改进 | 改善用户界面和系统接口 | 提升用户体验 |
| 性能优化 | 优化系统性能和响应速度 | 不影响现有功能 |
2️⃣ 集成策略(第2象限:高技术-低价值)
1) 适用情况
- 📈 遗留系统技术含量较高
- 📉 商业价值较低
- 🏢 可能只完成某个部门(或子公司)的业务管理
- 🔗 多个系统各自基于不同平台,无法互联互通
- 📊 数据不一致,存在严重问题
2) 实施策略
系统集成和互联:
graph TD
A[集成策略] --> B[互连系统架构]
A --> C[从属系统模式]
A --> D[数据集成]
B --> E[建立系统间连接<br>实现信息共享]
C --> F[遗留系统作为从属系统<br>纳入整体架构]
D --> G[解决数据不一致问题<br>建立统一数据视图]
3)实施要点
| 集成维度 | 实施内容 | 技术手段 |
|---|---|---|
| 系统互连 | 建立系统间通信机制 | 中间件、API接口 |
| 数据集成 | 统一数据格式和标准 | 数据转换、ETL工具 |
| 流程集成 | 整合业务流程 | 工作流引擎 |
| 用户界面集成 | 统一用户访问入口 | 门户系统、单点登录 |
集成架构特点:
- 🏗️ 采用由互连系统构成的系统架构
- 🔗 遗留系统作为从属系统描述
- 🌐 解决系统间互联互通问题
- 📊 实现数据一致性和共享
3️⃣ 淘汰策略(第3象限:低技术-低价值)
1) 适用情况
- 🔻 遗留系统技术含量较低
- 📉 具有较低的商业价值
- 🔄 企业业务产生根本变化,系统基本不再适应需要
- 📚 遗留系统维护人员、维护文档资料都丢失
- 💰 完全淘汰开发全新系统比改造旧系统成本更合算
2) 实施策略
完全重新开发:
- 🆕 全面重新开发新系统以代替遗留系统
- ⚠️ 这是一种极端性策略
- 💸 经过评价确认淘汰比改造更经济
3) 实施要点
graph LR
A[淘汰策略实施] --> B[避免资源浪费]
A --> C[经验借鉴]
A --> D[风险控制]
B --> E["变废为宝"<br>充分利用现有资源]
C --> F[功能理解和借鉴<br>帮助新系统设计]
D --> G[降低新系统开发风险<br>避免重复错误]
⚠️ 重要提醒: 对遗留系统的完全淘汰是企业资源的根本浪费,应该善于"变废为宝",通过对遗留系统功能的理解和借鉴,帮助新系统设计,降低新系统开发风险。
4️⃣ 继承策略(第4象限:低技术-高价值)
1) 适用情况
- 🔻 遗留系统技术含量较低
- 📈 具有较高的商业价值
- ✅ 能满足企业运作的功能或性能要求
- 🏢 企业业务对该系统仍有很大依赖性
2) 实施策略
完全兼容继承:
- 🔄 新系统必须完全兼容遗留系统的功能模型和数据模型
- ⚖️ 保证业务连续性,新老系统并行运行一段时间
- 🔄 逐渐切换到新系统上运行
3) 实施要点
| 实施步骤 | 具体内容 | 关键技术 |
|---|---|---|
| 系统分析 | 对系统进行分析,得到功能模型和数据模型 | 可部分代替或验证需求分析 |
| 文档重构 | 如果维护文档不完整,解析功能和数据模型 | 使用系统重构CASE工具 |
| 代码分析 | 通过分析系统代码生成系统结构图 | 自动化工具辅助分析 |
| 并行运行 | 新老系统同时运行,确保业务不中断 | 数据同步和一致性保证 |
| 逐步切换 | 分阶段将业务从老系统迁移到新系统 | 风险控制和回退机制 |
技术挑战:
- 📚 遗留系统维护文档不完整
- 🔍 必须解析系统功能模型和数据模型
- 🛠️ 这是一项十分艰巨的任务,需要专业工具支持
🔄 演化策略选择的综合考虑
1) 决策因素对比矩阵
| 决策因素 | 淘汰策略 | 继承策略 | 改造策略 | 集成策略 |
|---|---|---|---|---|
| 技术水平 | 低 | 低 | 高 | 高 |
| 商业价值 | 低 | 高 | 高 | 低 |
| 投资规模 | 大 | 中 | 小 | 中 |
| 实施风险 | 高 | 中 | 低 | 中 |
| 实施周期 | 长 | 中 | 短 | 中 |
| 业务影响 | 大 | 小 | 小 | 中 |
2) 策略选择原则
graph TD
A[策略选择原则] --> B[具体情况具体分析]
A --> C[综合评估]
A --> D[最佳策略选择]
B --> E[系统技术条件<br>商业价值<br>组织特征]
C --> F[可以联合使用<br>几种策略]
D --> G[根据评价结果<br>选择最佳演化策略]
重要提醒:
在实际工程项目中,遇到处理遗留系统的问题时,要具体情况具体分析,选择最佳的演化策略。对遗留系统的处理恰当与否,直接关系到新系统的成败和开发效率。
📝 说明: 这是第7章系统规划详细梳理总结的第4部分A,主要涵盖了遗留系统的四种演化策略。第4部分B将完成全章总结和要点回顾。