软件工程 |再造
软件再工程是一个软件开发过程,旨在提高软件系统的可维护性。重新设计是对系统进行检查和更改,以将其重组为新的形式。这个过程包括子过程的组合,如逆向工程、正向工程、重构等。
Re-engineering is the reorganizing and modifying existing software systems to make them more maintainable.
再造的目标:
- 描述系统演进的一种具有成本效益的选择。
- 描述软件维护过程中涉及的活动。
- 区分软件和数据再工程,解释数据再工程的问题。
重新设计的步骤:
- 库存分析
- 文件重建
- 逆向工程
- 代码重构
- 数据重建
- 正向工程
图解表示:
重新设计成本因素:
- 需要重新设计的软件的质量
- 可用于重新设计的工具支持
- 所需数据转换的程度
- 重新设计的专家人员的可用性
再造的优点:
- 降低风险:由于软件已经存在,与新软件开发相比,风险较小。开发问题、人员配备问题和规范问题是新软件开发中可能出现的大量问题。
- 降低成本:重新设计的成本低于开发新软件的成本。
- 业务规则的揭示:当系统被重新设计时,嵌入在系统中的业务规则被重新发现。
- 更好地利用现有员工:现有员工的专业知识可以在重新设计期间保持并扩展以适应新技能。
重新设计的缺点:
- 重新设计范围的实际限制。
- 系统数据管理的重大架构更改或彻底重组必须手动完成。
- 重新设计的系统不太可能像使用现代软件重新设计方法开发的新系统那样可维护。