在軟件生存周期中,將某種形式表示的軟件轉換成更高抽象形式表示的軟件的活動屬于()。
A、逆向工程B
解析
答案選B
通常產品設計過程是一個從設計到產品的過程,即設計人員首先在大腦中構思產品的外形、性能和大致的 技術參數等,然后在詳細設計階段完成各類數據模型,最終將這個模型轉入到研發流程中,完成產品的整 個設計研發周期。這就是“正向設計”過程。 而逆向工程,又名反向工程( Reverse Engineering - RE),則是一個從產品到設計的過程,就是根據已經 存在的產品,反向推出產品設計數據(包括各類設計圖或數據模型)的過程。早期的船舶工業中常用的船 體放樣設計就是逆向工程的很好實例。 在軟件開發行業,基于某個軟件,以反匯編閱讀源碼的方式去推斷其數據結構、體系結構和程序設計信息 成為軟件逆向工程技術關注的主要對象。軟件逆向技術的目的是用來研究和學習先進的技術,特別是當手 里沒有合適的文檔資料,而又很需要實現某個軟件的功能的時候。因此很多軟件開發組織為了壟斷技術, 在軟件安裝之前,要求用戶同意不去逆向研究。 根據黃柏素、梅宏組織翻譯, Roger S.Pressman編著的《軟件工程—實踐者的研究方法》第 4 版的陳述: 逆向工程抽象層次應該盡可能高,即逆向工程過程應該能夠導出過程的設計表示 (一種低層的抽象 );程序 和數據結構信息 (稍高一點層次的抽象 );數據和控制流模型 (一種相對高層的抽象 );以及實體—關系模型 (一 種高層抽象 )。隨著抽象層次增高,軟件工程師獲得更有助于理解程序的信息。
軟件重構修改源代碼和 /或數據以使得它適應未來的變化。 通常,重構并不修改整體的程序體系結構, 它趨 向于關注個體模塊的設計細節以及定義在模塊中的局部數據結構。如果重構擴展到模塊邊界之外并涉及軟 件體系結構,則重構變成了正向設計過程。 代碼重構的目標是生成可提供相同功能的設計,但是該設計比原程序有更高的質量