詳細(xì)設(shè)計(jì)怎么寫(xiě)
在大多數(shù)軟件項(xiàng)目中,要末不作詳細(xì)設(shè)計(jì),要么開(kāi)發(fā)完成后再補(bǔ)詳細(xì)設(shè)計(jì)文檔,質(zhì)量也不容樂(lè)觀,文檔與系統(tǒng)往往不能同步,使詳細(xì)設(shè)計(jì)文檔完全流于形式,對(duì)工作沒(méi)有起到實(shí)際的幫助。
那到底應(yīng)不應(yīng)該寫(xiě)詳細(xì)設(shè)計(jì)文檔呢,怎么使詳細(xì)設(shè)計(jì)文檔起到他應(yīng)有的作用呢,下面就讓我們來(lái)認(rèn)識(shí)一下詳細(xì)設(shè)計(jì)及寫(xiě)詳細(xì)設(shè)計(jì)文檔的好處和問(wèn)題。 ?什么是詳細(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ì)。
?存在的問(wèn)題
要由專門的人寫(xiě),是比較麻煩的,也是很需要時(shí)間的,會(huì)對(duì)進(jìn)度造成壓力,也容易形成工作瓶頸,使設(shè)計(jì)人員負(fù)擔(dān)過(guò)重,而開(kāi)發(fā)人員無(wú)事可作。對(duì)于現(xiàn)在一般的以數(shù)據(jù)庫(kù)為中心的管理系統(tǒng)而言,這個(gè)工作始終是要作的,區(qū)別只不過(guò)是不是形成專門文檔,形成文檔可能會(huì)多花一兩周時(shí)間,但相對(duì)于規(guī)避的風(fēng)險(xiǎn)和問(wèn)題來(lái)說(shuō),也是值得的,另外由于現(xiàn)在高級(jí)語(yǔ)言的流行,所以更詳細(xì)的設(shè)計(jì)應(yīng)該直接體現(xiàn)在代碼的設(shè)計(jì)上,而文檔則只體現(xiàn)設(shè)計(jì)上的一些決策,協(xié)調(diào)整體設(shè)計(jì)與模塊設(shè)計(jì)的關(guān)系,把頁(yè)面原型所不能體現(xiàn)的設(shè)計(jì)情況文檔化,所以所花費(fèi)的時(shí)間是有限的。
設(shè)計(jì)內(nèi)容容易過(guò)細(xì),但設(shè)計(jì)階段是不能考慮特別清楚地,時(shí)間也不允許。對(duì)于這個(gè)問(wèn)題,一個(gè)對(duì)策是上邊所提到的,文檔只體現(xiàn)設(shè)計(jì)上的決策,頁(yè)面原型所不能反映的信息,詳細(xì)設(shè)計(jì)只體現(xiàn)總體設(shè)計(jì)對(duì)模塊設(shè)計(jì)的一些考慮,例如對(duì)功能的數(shù)據(jù)庫(kù)設(shè)計(jì)等等,而具體的實(shí)現(xiàn)實(shí)現(xiàn),則到代碼中再去實(shí)現(xiàn),相關(guān)的設(shè)計(jì)也僅體現(xiàn)在代碼中。
需求、設(shè)計(jì)需要不斷的被更新、構(gòu)建,則設(shè)計(jì)文檔需要不斷的重新調(diào)整,文檔的維護(hù)需要跟上,否則文檔和系統(tǒng)的同步就很難得到保障了,且造成多余的工作量。文檔的內(nèi)容易流于形勢(shì),質(zhì)量糟糕,不能成為開(kāi)發(fā)人員的參考手冊(cè),一是要建立起相關(guān)制度,如有修改,先改文檔,后作開(kāi)發(fā),從工作流程上切實(shí)保障文檔與系統(tǒng)的同步,二是要規(guī)范文檔質(zhì)量,對(duì)文檔該寫(xiě)什么,不該寫(xiě)什么,標(biāo)準(zhǔn)是什么,粒度是什么,語(yǔ)法應(yīng)該如何組織,有明確的標(biāo)準(zhǔn)和考慮,同時(shí),建立審計(jì)文檔評(píng)審、審核制度,充分保障系統(tǒng)的使用。
?應(yīng)該如何寫(xiě)詳細(xì)設(shè)計(jì)文檔
下面討論如何寫(xiě)出一個(gè)符合要求、實(shí)用的詳細(xì)設(shè)計(jì)文檔。
首先是文檔的內(nèi)容,根據(jù)項(xiàng)目和團(tuán)隊(duì)的不同,詳細(xì)設(shè)計(jì)文檔的內(nèi)容也有所不同,一般說(shuō)來(lái),粒度不宜過(guò)細(xì),不能代替開(kāi)發(fā)人員的設(shè)計(jì)和思考,但要把有關(guān)設(shè)計(jì)的決策考慮進(jìn)去,包括與其他模塊、整體設(shè)計(jì)的關(guān)系、操作的處理流程,對(duì)業(yè)務(wù)規(guī)則的設(shè)計(jì)考慮等,有一個(gè)標(biāo)準(zhǔn)為,凡是頁(yè)面原型、需求規(guī)格說(shuō)明書(shū)所不能反映的設(shè)計(jì)決策,而開(kāi)發(fā)人員又需要了解的,都要寫(xiě)入文檔。
其次是文檔所面向的讀者,主要為模塊開(kāi)發(fā)人員、后期維護(hù)人員,模塊開(kāi)發(fā)人員通過(guò)詳細(xì)設(shè)計(jì)文檔和頁(yè)面原型來(lái)了解所開(kāi)發(fā)的功能,后期維護(hù)人員通過(guò)實(shí)際系統(tǒng)、模塊代碼、詳細(xì)設(shè)計(jì)文檔來(lái)了解一個(gè)功能。
再有就是誰(shuí)來(lái)寫(xiě)文檔,因?yàn)槲臋n主要考慮的是設(shè)計(jì)上的決策,所以寫(xiě)文檔的人應(yīng)該為負(fù)責(zé)、參加設(shè)計(jì)的技術(shù)經(jīng)理、資深程序員,根據(jù)團(tuán)隊(duì)情況和項(xiàng)目規(guī)模、復(fù)雜度的不同,也有所不同。
還需要保證文檔的可讀性、準(zhǔn)確性、一致性,要建立嚴(yán)格的文檔模板及標(biāo)準(zhǔn),保證文檔的可讀性及準(zhǔn)確性,同時(shí)建立審核及設(shè)計(jì)評(píng)審制度,來(lái)保障設(shè)計(jì)及文檔的質(zhì)量,另外在工作流程中要強(qiáng)調(diào),要先設(shè)計(jì)、先寫(xiě)文檔,再進(jìn)行開(kāi)發(fā)。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。