摘要:本文為系統分析師案例分析試題,聚焦企業應用系統維護部門面臨的人員流失、文檔缺失等問題,提出采用逆向工程與重構工程解決。設置設計恢復信息級別、軟件重構類別與方法等三類問題,并給出部分答案。
案例場景
某企業經過多年的信息化建設,存在大量的應用軟件系統,為了保證這些系統的運行與維護,專門組建應用系統維護部門。該部門的主要工作是保證系統的正常運行、處理問題以及擴展這些應該系統的功能,以滿足企業業務功能的變化與擴展。
目前該部門存在人員流失、變更頻繁,文檔丟失或長期失于維護,維護成本愈來愈高等問題,具體表現為:
問題(1):隨著時間和人員的變動,程序被多人修改,往往導致程序難以理解,注釋混亂,流程復雜;
問題(2):隨著不斷修改程序和增加新的功能,模塊之間的耦合關系日益復雜,維護成本不斷增加。
這些問題導致新來的維護人員需要直接面對大量流程、結構復雜的源程序,維護困難,往往一次改動需要設計大量的軟件模塊。
為解決應用系統維護部門面對的問題,企業信息部門組織了專門的專家討論會。各位專家一致認為,逆向工程與重構工程是目前預防性維護采用的主要技術,應該采用逆向工程的技術方法,重構相關應用系統文檔,同時采用軟件重構來降低軟件代碼的復雜性,最終降低維護成本。
[問題1](8分)
軟件的逆向工程是分析已有程序,尋求比源代碼更高級的抽象表現形式。與之相關的概念包括軟件重構、設計恢復、重構工程等。請說明設計恢復中常見的恢復信息的4種級別。
[問題2](11分)
重構是對軟件內部結構的一種調整,目的是不改變軟件功能的前提下,提高其可理解性,降低其修改成本。請說明軟件重構的三個類別,并簡要說明常見的重構方法。針對題干中的問題(1)和問題(2),宜采用何種重構方法?
[問題3](6分)
軟件重構做出的修改可能導致程序運行變慢,但也更容易進行軟件的性能優化和調整,請分析原因。
參考答案:
[問題1]
(1)實現級:過程的設計模型。
(2)結構級:程序和數據結構信息。
(3)功能級:對象模型、數據和控制流模型。
(4)領域級:UML狀態圖和部署圖。
[問題2]
軟件重構的三個類別:
代碼重構、設計重構、架構重構。
常見的重構方法:
完整版試題+答案可點擊下方藍字獲取!
軟考備考資料免費領取
去領取
專注在線職業教育25年