概要設(shè)計和詳細(xì)設(shè)計是軟件工程中的兩個重要階段,它們之間存在明顯的區(qū)別。
一、定義與目的
1. 概要設(shè)計
定義:概要設(shè)計是一個設(shè)計師根據(jù)用戶交互過程和用戶需求來形成交互框架和視覺框架的過程,其結(jié)果往往以反映交互控件布置、界面元素分組以及界面整體板式的頁面框架圖的形式來呈現(xiàn)。
目的:將需求分析得到的系統(tǒng)擴(kuò)展用例圖轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),建立目標(biāo)系統(tǒng)的邏輯模型。
2. 詳細(xì)設(shè)計
定義:詳細(xì)設(shè)計是軟件工程中軟件開發(fā)的一個步驟,是對概要設(shè)計的一個細(xì)化,詳細(xì)設(shè)計每個模塊實現(xiàn)算法,所需的局部結(jié)構(gòu)。
目的:設(shè)計出滿足用戶需求的軟件系統(tǒng)產(chǎn)品,具體描述每個部件或模塊的實現(xiàn)方法。
二、主要任務(wù)與內(nèi)容
1. 概要設(shè)計
主要任務(wù):設(shè)計軟件結(jié)構(gòu),包括模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機(jī)界面等;設(shè)計數(shù)據(jù)結(jié)構(gòu),包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù)庫的設(shè)計。
常用描述方式:通常得到軟件結(jié)構(gòu)圖,如層次圖、HIPO圖、結(jié)構(gòu)圖等。
2. 詳細(xì)設(shè)計
主要任務(wù):設(shè)計每個模塊的實現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu),以及為數(shù)據(jù)結(jié)構(gòu)進(jìn)行物理設(shè)計(如確定數(shù)據(jù)庫的物理結(jié)構(gòu))。
常用描述方式:流程圖、N-S圖、PAD圖、偽代碼等。
三、設(shè)計階段與依據(jù)
1. 概要設(shè)計
階段:承接軟件需求,是軟件開發(fā)的早期階段。
依據(jù):主要依據(jù)軟件需求進(jìn)行設(shè)計,可以由需求分析人員或設(shè)計人員來編寫。
2. 詳細(xì)設(shè)計
階段:在概要設(shè)計之后進(jìn)行,是軟件開發(fā)的后續(xù)階段。
依據(jù):不僅依據(jù)軟件需求,更要依據(jù)概要設(shè)計的成果,可以由設(shè)計人員或?qū)崿F(xiàn)人員來編寫。
四、測試與文檔
1. 概要設(shè)計
測試:對應(yīng)于集成測試,是設(shè)計集成測試用例的主要依據(jù)。
文檔:概要設(shè)計文檔必須具備,不能裁剪,它描述了軟件的整體結(jié)構(gòu)和模塊間的關(guān)系。
2. 詳細(xì)設(shè)計
測試:對應(yīng)于單元測試,是設(shè)計單元測試用例的主要依據(jù)。
文檔:詳細(xì)設(shè)計文檔可以合并到概要設(shè)計文檔中,在敏捷開發(fā)中,甚至可以用代碼注釋及可讀性好的代碼替代詳細(xì)說明。
綜上所述,概要設(shè)計和詳細(xì)設(shè)計在軟件工程中扮演著不同的角色,具有不同的任務(wù)、內(nèi)容和依據(jù)。它們共同構(gòu)成了軟件開發(fā)過程中的重要環(huán)節(jié),為開發(fā)出高質(zhì)量的軟件產(chǎn)品提供了有力保障。