問答題
軟件的逆向工程是一個恢復(fù)設(shè)計的過程,從現(xiàn)有的程序中抽取數(shù)據(jù)、體系結(jié)構(gòu)和過程的設(shè)計信息。逆向工程的完備性可以用在某一個抽象層次上提供信息的詳細(xì)程度來描述,在大多數(shù)情況下,抽象層次越高,完備性就越低。下列可以通過逆向工程恢復(fù)的制品中,完備性最低的是()。
答案:
A.過程的設(shè)計模型
B.程序和數(shù)據(jù)結(jié)構(gòu)
C.對象模型、數(shù)據(jù)和控制流
D.UML狀態(tài)圖和部署圖
正確答案:D
答案解析:軟件的逆向工程是一個設(shè)計恢復(fù)的過程,從現(xiàn)有的程序中抽取數(shù)據(jù)、體系結(jié)構(gòu)和過程的設(shè)計信息。逆向工程的完備性是指在某一個抽象層次上提供信息的詳細(xì)程度,在大多數(shù)情況下,抽象層次越高,完備性就越低。逆向過程和實現(xiàn)該過程的工具的抽象層次是指可從源代碼中抽取出來的設(shè)計信息的精密程度。理想情況下,抽象程度應(yīng)該盡可能高。逆向工程過程應(yīng)該能夠?qū)С鲞^程的設(shè)計模型(一種底層的抽象);程序和數(shù)據(jù)結(jié)構(gòu)信息(稍高層次的抽象);對象模型、數(shù)據(jù)和控制流模型(相對高層的抽象);UML圖,狀態(tài)及部署圖(高層抽象)。隨著抽象層次增高,完備性就會降低。因此本題應(yīng)該選擇D。