详细设计写些啥
什么是詳細(xì)設(shè)計(jì)
詳細(xì)設(shè)計(jì)是相對(duì)概要設(shè)計(jì)而言的,是瀑布開(kāi)發(fā)流程的一個(gè)重要環(huán)節(jié),在概要設(shè)計(jì)的高層設(shè)計(jì)的基礎(chǔ)上,從邏輯上實(shí)現(xiàn)了每一模塊的功能,是編碼階段的主要參考資料,是從高層到低層、逐步精化思想的具體實(shí)現(xiàn)。
詳細(xì)設(shè)計(jì)文檔的內(nèi)容包括各個(gè)模塊的算法設(shè)計(jì),?接口設(shè)計(jì),?數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),交互設(shè)計(jì)等。必須寫(xiě)清楚各個(gè)模塊/接口/公共對(duì)象的定義,列明各個(gè)模塊程序的各種執(zhí)行條件與期望的運(yùn)行效果,還要正確處理各種可能的異 常。
?
為什么要做詳細(xì)設(shè)計(jì)
在開(kāi)發(fā)過(guò)程中,由需求及設(shè)計(jì)不正確、不完整所導(dǎo)致的問(wèn)題是項(xiàng)目進(jìn)度拖延、失敗的一個(gè)主要因素,而軟件系統(tǒng)的一個(gè) 重要特性就是需求和設(shè)計(jì)的不斷構(gòu)建和改進(jìn),在寫(xiě)詳細(xì)設(shè)計(jì)文檔過(guò)程中,?詳細(xì)設(shè)計(jì)實(shí)際上是對(duì)系統(tǒng)的一次邏輯構(gòu)建,可以有效驗(yàn)證需求的完整性及正確性。
如果不寫(xiě)詳細(xì)設(shè)計(jì)文檔,一般就從概設(shè)直接進(jìn)入編碼階段,這時(shí)開(kāi)發(fā)人員所能參考的資料就是需求規(guī)格說(shuō)明書(shū)及頁(yè)面原 型、數(shù)據(jù)庫(kù)設(shè)計(jì)等,不能直接進(jìn)行開(kāi)發(fā),需要進(jìn)行信息的溝通,把頁(yè)面原型不能體現(xiàn)的設(shè)計(jì)講清楚,這樣既容易遺忘,也容易發(fā)生問(wèn)題,詳細(xì)設(shè)計(jì)文檔可以作為需求 人員、總體設(shè)計(jì)人員與開(kāi)發(fā)人員的溝通工具,把靜態(tài)頁(yè)面無(wú)法體現(xiàn)的設(shè)計(jì)體現(xiàn)出來(lái),包含整體設(shè)計(jì)對(duì)模塊設(shè)計(jì)的規(guī)范,體現(xiàn)對(duì)設(shè)計(jì)上的一些決策,例如選用的算法, 對(duì)一些關(guān)鍵問(wèn)題的設(shè)計(jì)考慮等等,使開(kāi)發(fā)人員能快速進(jìn)入開(kāi)發(fā),提高溝通效率,減少溝通問(wèn)題。??
???對(duì)于系統(tǒng)功能 的調(diào)整,后期的維護(hù),詳設(shè)文檔提供了模塊設(shè)計(jì)上的考慮、決策,包括模塊與整體設(shè)計(jì)的關(guān)系、模塊所引用的數(shù)據(jù)庫(kù)設(shè)計(jì)、重要操作的處理流程、重要的業(yè)務(wù)規(guī)則實(shí) 現(xiàn)設(shè)計(jì)等等信息,提供了對(duì)模塊設(shè)計(jì)的概述性信息,闡明了模塊設(shè)計(jì)上的決策,配合代碼注釋,可以相對(duì)輕松讀懂原有設(shè)計(jì)。
?
應(yīng)該如何寫(xiě)詳細(xì)設(shè)計(jì)文檔
詳細(xì)設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)每個(gè)模塊的實(shí)現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu)。詳細(xì)設(shè)計(jì)的目標(biāo)有兩個(gè):實(shí)現(xiàn)模塊功能的算法要邏輯上正確和算法描述要簡(jiǎn)明易懂。?傳?統(tǒng)軟件開(kāi)發(fā)方法的詳細(xì)設(shè)計(jì)主要是用結(jié)構(gòu)化程序設(shè)計(jì)法。詳細(xì)設(shè)計(jì)的表示工具有圖形工具和語(yǔ)言工具。圖形工具有程序流程圖、PAD(Problem Analysis Diagram)圖、NS(由?Nassi和?Shneidermen開(kāi)發(fā),簡(jiǎn)稱(chēng)?NS)圖。語(yǔ)言工具有偽碼和?PDL(Program Design Language)等。
主要任務(wù):
?1.為每個(gè)模塊確定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過(guò)程,寫(xiě)出模塊的詳細(xì)過(guò)程性描述;
2.確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu);
?3.確定模?塊接口的細(xì)節(jié),包括對(duì)系統(tǒng)外部的接口和用戶(hù)界面,對(duì)系統(tǒng)內(nèi)部其它模塊的接口,以及模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)。?在詳細(xì)設(shè)計(jì)結(jié)束時(shí),應(yīng)該把上述結(jié)果寫(xiě)入詳細(xì)設(shè)計(jì)說(shuō)明書(shū),并且通過(guò)復(fù)審形成正式文檔。交付給下一階段(編碼階段)的工作依據(jù)。
?4.要為每一個(gè)模塊設(shè)計(jì)出一組測(cè)試用例,以便在編碼階段對(duì)模塊代碼(即程序)進(jìn)行預(yù)定的測(cè)試,模塊的測(cè)試用例是軟件測(cè)試計(jì)劃的重要組成部分,通常應(yīng)包括輸入數(shù)據(jù),期?望輸出等內(nèi)容。
詳細(xì)設(shè)計(jì)的工具:
?1.圖形工具。利用圖形工具可以把過(guò)程的細(xì)節(jié)用圖形描述出來(lái)。
2.表格工具可以用一張表來(lái)描述過(guò)程的細(xì)節(jié),在這張表中列出了各種可能的操作和相應(yīng)的條件。
3.語(yǔ)言工具用某種高級(jí)語(yǔ)言(稱(chēng)之為偽碼)來(lái)描述過(guò)程的細(xì)節(jié)。
< <詳細(xì)設(shè)計(jì)說(shuō)明書(shū)> >?規(guī)范?
1???引言?
1.1???編寫(xiě)目的:闡明編寫(xiě)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)的目的,指明讀者對(duì)象。?
1.2???項(xiàng)目背景:應(yīng)包括項(xiàng)目的來(lái)源和主管部門(mén)等。?
1.3???定義:列出本文檔中所用到的專(zhuān)門(mén)術(shù)語(yǔ)的定義和縮寫(xiě)詞的愿意。?
1.4???參考資料:?
●???列出有關(guān)資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源?
●項(xiàng)目經(jīng)核準(zhǔn)的計(jì)劃任務(wù)書(shū)、合同或上級(jí)機(jī)關(guān)的批文;項(xiàng)目開(kāi)發(fā)計(jì)劃;需求規(guī)格說(shuō)明書(shū);概要設(shè)計(jì)說(shuō)明書(shū);測(cè)試計(jì)劃(初稿);用戶(hù)操作手冊(cè)?
●???文檔所引用的資料、軟件開(kāi)發(fā)的標(biāo)準(zhǔn)或規(guī)范。?
2???總體設(shè)計(jì)?
2.1???需求概述?
2.2???軟件結(jié)構(gòu):如給出軟件系統(tǒng)的結(jié)構(gòu)圖。?
3???程序描述?
3.1???逐個(gè)模塊給出以下說(shuō)明:?
●???功能?
●???性能?
●???輸入項(xiàng)目?
●???輸出項(xiàng)目?
3.2???算法:模塊所選用的算法。?
3.3???程序邏輯:詳細(xì)描述模塊實(shí)現(xiàn)的算法,可采用:標(biāo)準(zhǔn)流程圖;PDL語(yǔ)言;N-S圖;判定表等描述算法的圖表。?
3.4???接口?
●???存儲(chǔ)分配?
●???限制條件?
3.5測(cè)試要點(diǎn):給出測(cè)試模塊的主要測(cè)試要求
總結(jié)
- 上一篇: 烟花仓库智能管理-RFID仓库管理解决方
- 下一篇: 国培-甘肃定西市新任职校长培训班莅临湖南