软件再造
软件重组是对系统的检查和更改,以将其重组为新的形式。将再工程原理应用于软件开发过程时,称为软件再工程。它对软件成本、质量、对客户的服务和交付速度产生积极影响。在软件再工程中,我们正在改进软件以使其更加高效和有效。
软件再工程的需要:软件再工程是软件开发和产品质量增强的经济过程。这个过程使我们能够识别部署资源的无用消耗和限制开发过程的约束,从而使开发过程变得更容易和具有成本效益(时间、财务、直接优势、优化代码、间接收益等) .) 和可维护的。软件再造是必要的:
a)提高生产力:软件再造通过优化代码和数据库来提高生产力,从而加快处理速度。
b)流程连续性:在测试或开发软件时,旧软件产品的功能仍然可以使用。
c)改进机会:同时在软件再造的过程中,不仅软件的质量、特性和功能,而且你的技能也得到了提炼,新的想法在你的脑海中浮现。这使开发人员的头脑习惯于捕捉新的机会,从而可以开发出越来越多的新功能。
d)降低风险:开发人员不是从头开始开发软件产品,也不是从开始阶段开发产品,而是从现有阶段开发产品,以增强利益相关者或其用户关注的某些特定功能。这种做法减少了错误失误的机会。
e)节省时间:正如我们上面所说,产品是从现有阶段而不是开始阶段开发的,因此在软件工程中消耗的时间更少。
f)优化:此过程通过尽可能一致的优化优化系统特性、功能并降低产品的复杂性。
重新设计成本因素:
- 要重新设计的软件的质量。
- 该工具支持工程的可用性。
- 所需的数据转换程度。
- 重新设计专家人员的可用性。
软件再工程活动:
1.库存分析:
每个软件组织都应该有一份所有应用程序的清单。
- 清单只不过是一个电子表格模型,其中包含提供每个活动应用程序的详细描述的信息。
- 通过根据业务关键性、寿命、当前可维护性和其他本地重要标准对这些信息进行排序,就会出现重新设计的候选对象。
- 然后可以将资源分配给候选应用程序以进行重新设计工作。
2.文件重构:
系统的文档要么解释它是如何运行的,要么解释它是如何使用的。
- 必须更新文档。
- 可能不需要完整记录申请。
- 该系统是关键业务系统,必须完全重新记录。
3.逆向工程:
逆向工程是一个设计恢复的过程。逆向工程工具从现有程序中提取数据、架构和程序设计信息。
4.代码重构:
- 为了完成代码重构,使用重构工具分析源代码。记录违反结构化编程结构的行为,然后重构代码。
- 对生成的重组代码进行审查和测试,以确保没有引入异常。
5、数据重构:
- 数据重组始于逆向工程活动。
- 剖析了当前的数据架构,并定义了必要的数据模型。
- 识别数据对象和属性,并审查现有数据结构的质量。
6.正向工程:
正向工程也称为改造或回收,不仅用于从现有软件中恢复设计信息,而且使用这些信息来改变或重构现有系统,以提高其整体质量。