資源描述:
《醫(yī)院物資系統(tǒng)功能詳細(xì)設(shè)計(jì)資料》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、關(guān)于功能詳細(xì)設(shè)計(jì)的討論1令狐沖問:我感覺自己找不到太準(zhǔn)確的衡量標(biāo)準(zhǔn),我寫到什么程度算深淺適中,我不知道如何下手,好像有些東西不在寫代碼之前想不出來,有現(xiàn)成的模板嗎?風(fēng)清揚(yáng)答:我們也想找個(gè)模板,可是網(wǎng)上的都是站著不腰疼,都是什么CMM,ISO9000寫個(gè)故事,比如你去客戶那調(diào)查完了,你模擬一下客戶的工作過程,然后寫下來,不就成了?不過可不要寫成客戶以后怎么使用你的軟件的過程,比如按一個(gè)按鈕然后….。寫成流水帳也沒關(guān)系,你看看你會(huì)有什么感覺。往往是正式做而真不知道該怎么做了,在自己閑暇時(shí)卻偏偏做好了,你說怪不怪?然后交給其他同事閱讀,看他是否理解,把他的想法再填加到你的文檔中,你的文檔才會(huì)
2、一點(diǎn)一點(diǎn)完善和趨于合理,羅馬不是一天建成的,想集中一段時(shí)間搞一個(gè)完善的東西是不可能的,事物是迭代進(jìn)步的。把事情你覺得說清楚了,別人看了也覺得清楚了,并且可以按照你的思路復(fù)述一遍,這就可以了。如果還是不太明確你想做的事,搭一個(gè)小程序,按你的現(xiàn)有描述實(shí)現(xiàn)一個(gè)簡(jiǎn)單的例子,在過程中想想有哪些你寫的代碼卻沒有描述,或者代碼與你的描述兩張皮,然后再試著修改文檔。如果還是不清楚,如果你做過代碼維護(hù)工作,你想你在維護(hù)別人的代碼的時(shí)候最需要看到什么,這樣你就會(huì)知道你寫些什么在寫文檔時(shí)沒必要我們想破腦子把所有的情況都想到都寫下來,那不可能,我們大家都憎恨這種不現(xiàn)實(shí)的東西。設(shè)計(jì)時(shí)描述不清楚的就不要描述,咱們
3、干嗎非要固定不可能固定的東西呢?但是有沒有一種方法,什么是可以描述清楚的,什么是不可描述清楚的呢?2令狐沖問:為什么要寫呀,未來變化多端,你非要固定下來按這樣去做,這是軟件工程早就證明了的一種死辦法,我們應(yīng)該寫了客戶有什么問題,我們?cè)趺唇鉀Q的記錄下來,具體怎么實(shí)現(xiàn),就由程序員決定,開發(fā)完了再寫詳細(xì)設(shè)計(jì)文檔,這樣的文檔才是真正的設(shè)計(jì)文檔。風(fēng)清揚(yáng)答:》開發(fā)文檔就是把你的開發(fā)過程包括你的開發(fā)思想和各種問題的解決方法都記錄下來,這是我們的需求分析文檔》只是告訴要實(shí)現(xiàn)什么功能,這是我們的功能概要描述呀》程序員就記錄在開發(fā)文檔里面這是我們的功能詳細(xì)描述和數(shù)據(jù)流詳細(xì)描述》但以前我都是先寫程序再寫開發(fā)
4、文檔,程序沒出來以前只有一份設(shè)計(jì)文檔先寫程序再寫開發(fā)文檔,是為了以后人員的維護(hù),來理解現(xiàn)在這個(gè)軟件是怎么回事。我們的這個(gè)詳細(xì)設(shè)計(jì)文檔也就是說清楚每個(gè)功能的大致流程,流程中涉及到的一些異常業(yè)務(wù),業(yè)務(wù)中的術(shù)語,讓我們?cè)诰幋a前好知道我們做出來的這個(gè)東西大致是什么樣,而不是我們就試著寫吧,遇到問題再說。那樣就不是商業(yè)的軟件開發(fā)。商業(yè)的軟件開發(fā)必須對(duì)進(jìn)度,風(fēng)險(xiǎn),成本有相當(dāng)?shù)念A(yù)測(cè)。當(dāng)然我們寫完詳細(xì)設(shè)計(jì)文檔也不是什么問題都沒了,我們也會(huì)在遇到問題時(shí)商討,但至少我們對(duì)我們要干的事的輕重緩急有一個(gè)大致的預(yù)測(cè)。我們寫的也不是培訓(xùn)文檔。培訓(xùn)文檔是對(duì)照一個(gè)軟件,有什么DBGRID,有什么下拉框,先點(diǎn)什么按鈕。
5、如果你的詳細(xì)設(shè)計(jì)文檔寫成了這樣,就出了問題。不是詳細(xì)設(shè)計(jì)的大思路錯(cuò)了,就是你的功能概要設(shè)計(jì)劃分的太細(xì)了3令狐沖問:那我們?cè)搶懶┦裁次臋n,我們可忙著呢,別費(fèi)了好大勁,寫出來也沒人看,沒人檢查,格式也不知道,各有各的寫法,最后不了了之。風(fēng)清揚(yáng)答:我們不是為了文檔漂亮,給客戶看,給老板看,那樣是出不來好產(chǎn)品的,我們的文檔給我們是給我們?cè)诰幋a期自己看的,看你對(duì)業(yè)務(wù)的了解是否用文字可以描寫清楚,如果能用文字描述清楚,你們寫代碼我們也就不擔(dān)心了。就是怕:我們不知道你們理解不理解,你們自己也不知道是不是理解了,于是大家就開始瞎做吧,做到哪算哪,好壞也不是我一個(gè)人的錯(cuò)。如果造成那樣的后果,我們現(xiàn)在所做
6、也就沒有什么意義了反正就是不要讓我們?cè)谧雒恳粋€(gè)工程時(shí)都思考我該怎么寫,以告戒其他同志正確的思考方向,不要重復(fù)思考別人思考過的問題;并且整理出一份你希望的詳細(xì)功能描述文檔的格式,以有個(gè)草案讓我們逐步改進(jìn)它使它合理所以我們準(zhǔn)備寫這幾個(gè)文檔:需求文檔模塊進(jìn)度文檔為了估計(jì)最后的出品日期和每個(gè)模塊的工作量功能概要文檔為了在編碼期制定每周工作計(jì)劃,編制每個(gè)功能的詳細(xì)設(shè)計(jì)和數(shù)據(jù)流設(shè)計(jì)表結(jié)構(gòu)文檔功能詳細(xì)文檔數(shù)據(jù)流文檔是為了我們做這個(gè)功能需要什么數(shù)據(jù)傳進(jìn)我的函數(shù),我應(yīng)該修改什么字段,修改成什么值我們功能詳細(xì)文檔在文檔體系的位置:數(shù)據(jù)模型是根據(jù)這份文檔建立起來的,所以不是數(shù)據(jù)結(jié)構(gòu)文檔,更不會(huì)是數(shù)據(jù)流設(shè)計(jì)我
7、們的功能概要說明是說我要有做一張新單,修改一張單,查詢一張單子,并沒有說我怎么做新單,所以不是功能概要設(shè)計(jì)4令狐沖問:那我們寫功能詳細(xì)描述的指導(dǎo)原則呢,我們總不能面面俱到吧風(fēng)清揚(yáng)答:我們只描述關(guān)鍵的操作步驟,如果特性比較簡(jiǎn)單就不要寫,我們能少做就少做,不要為了寫文檔而寫文檔,這是我一直擔(dān)心的,我們已經(jīng)犯了很多這樣的錯(cuò)了功能詳細(xì)描述文檔和將要做的軟件一點(diǎn)關(guān)系都沒有,也和數(shù)據(jù)表結(jié)構(gòu)沒關(guān)系,就是用戶在現(xiàn)實(shí)工作中科學(xué)的操作過程。在寫作過程中我們也可以模