软体架构恢复

软体架构恢复是一种从软件系统程式或原始码中提取软体架构的方法。提取软体架构的流程包括将许多的程式实体(例如档案、类别、函数等)转换为子系统,其转换的准则可能是和应用程式有关的,也可能和应用程式无关。从旧有系统英语legacy system中恢复软体架构的原因是以往的程式没有架构文件,就算有,也可能已和实际实现的系统有相当的差异,

软体架构恢复也可能是为了要进行软体改造,所要求提出的程序[1]

作法

大部份软体架构恢复的作法会针对系统进行静态程序分析,若是针对物件导向系统,其中有大量的函数多型以及动态连结英语Late binding机制,就需要用动态程序分析英语dynamic program analysis来理解系统的行为、物件的交叉作用,以这些资料来重建架构。在恢复架构的过程中,会依系统动态分析的结果来决定将程式实体组合成架构元素的方式,并且考虑在使用例分析英语Use-case analysis中,出现交叉作用的模式、以及其类型(类别以及介面)[2]

相关条目

参考资料

  1. ^ Ronzon, T. Software Retrofit in High-Availability Systems: When Uptime Matters. IEEE Software. 2015, 32 (3): 11–17. doi:10.1109/MS.2016.49. 
  2. ^ Lutellier, T.; Chollak, D.; Garcia, J.; Tan, L.; Rayside, D.; Medvidovic, N.; Kroeger, R. Comparing Software Architecture Recovery Techniques Using Accurate Dependencies. 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Florence. 2015: 69–78. ISBN 978-1-4799-1934-5. doi:10.1109/ICSE.2015.136.