軟體架構恢復

维基百科,自由的百科全书

軟體架構恢復是一種從软件系統程式或原始碼中提取軟體架構的方法。提取軟體架構的流程包括將許多的程式實體(例如檔案、類別、函數等)轉換為子系統,其轉換的準則可能是和應用程式有關的,也可能和應用程式無關。從舊有系統英语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.