繼上一篇文章:
!(項目管理之軟件設(shè)計上)[http://www.reibang.com/p/21d351781886]
講解了關(guān)于軟件設(shè)計的一些概念性知識猖败,這篇文章能颁,我將進(jìn)一步分享跟總結(jié)軟件設(shè)計工作的一些實用法則士鸥。
軟件設(shè)計文檔評審標(biāo)準(zhǔn)
例如下圖示例:
上圖中,檢查單變成了通用的。這時候
- 通用的檢查單是沒有用的
- 最實用的方法是:
- 列出關(guān)鍵需求點灾挨。逐一求證設(shè)計、如何考慮
- 綜合考慮以下因素,做出適當(dāng)?shù)娜∩岷推胶猓?br>
-- 工期和預(yù)算限制
-- 項目成員當(dāng)前水平和潛力
- 設(shè)計決定了軟件的工作量
- 設(shè)計文檔評審流于形式就屬于“浪費”時間获诈,不熟悉需求去評審設(shè)計文檔屬于“扯蛋”
- 在設(shè)計時間上"節(jié)省"時間,代價就是將要花費數(shù)倍甚至數(shù)十倍以上的項目工作量心褐。
軟件設(shè)計法則
1舔涎、需求驅(qū)動設(shè)計
需求驅(qū)動設(shè)計是什么呢?
- 全部需求驅(qū)動架構(gòu)設(shè)計
- 局部需求驅(qū)動模塊設(shè)計
- 業(yè)務(wù)數(shù)據(jù)驅(qū)動數(shù)據(jù)庫設(shè)計
- 業(yè)務(wù)流程逗爹、業(yè)務(wù)數(shù)據(jù)亡嫌、業(yè)務(wù)目標(biāo)驅(qū)動用戶體驗設(shè)計
2、不要誤解"簡單設(shè)計"
什么是簡單設(shè)計呢?挟冠?在敏捷開發(fā)設(shè)計或者極限開發(fā)中也有一種說法叫簡單設(shè)計于购。
就說以下兩點:
- 不要考慮太長遠(yuǎn),僅考慮當(dāng)前需求知染。
- 用最簡單直接地方法來實現(xiàn)肋僧。
上面說的簡單設(shè)計的意思其實就是指讓項目工作變得建安,而不是將設(shè)計的思考過程簡單化控淡。同時嫌吠,軟件設(shè)計是一種智力投資,多花一小時想清楚如何讓項目工作變得更簡單逸寓,會節(jié)省更多的項目時間居兆。
(ps幾個要點)
- 重視設(shè)計
2.修煉和提升
3.集體的智慧
3、做高性價比的設(shè)計
在符合項目戰(zhàn)略的情況下竹伸,用最少的工作量泥栖,來實現(xiàn)需求,這基本上就是"高性價比"的意思勋篓。
條件限制:
1.工期和預(yù)算成本吧享。
2.項目成員能力
好處
- 項目的利潤最大化
- 項目工作變得簡單化
- 高性價比設(shè)計是挑戰(zhàn)智力的工作,會讓你的工作更加愉悅以及高質(zhì)量譬嚣,成就感钢颂。
4、人人都是軟件設(shè)計師
- 架構(gòu)設(shè)計和數(shù)據(jù)庫設(shè)計往往由富有經(jīng)驗的程序員負(fù)責(zé)的拜银,其他項目成員參與學(xué)習(xí)和評審該設(shè)計殊鞭。
- 模塊設(shè)計一般由將來負(fù)責(zé)該模塊編碼的程序員負(fù)責(zé),架構(gòu)設(shè)計來評審該設(shè)計尼桶。
- 用戶體驗設(shè)計由測試工程師或?qū)嵤┕こ處熦?fù)責(zé)操灿,程序員參與。
5泵督、設(shè)計文檔應(yīng)該先己后人
這句話有點抽象趾盐,其實就是說,設(shè)計文檔必須保證對項目組當(dāng)前工作是有用的小腊,要立馬能用得上救鲤,而不是以后的要用,現(xiàn)在就寫秩冈。
6本缠、設(shè)計文檔不應(yīng)該局限word文檔
案例分析: 無聊的數(shù)據(jù)庫設(shè)計文檔。
-- 建議的做法: 直接使用uml入问,或者在數(shù)據(jù)庫設(shè)計搓茬。
-- 沖突: QA要求:不符合ISO的要求犹赖,必須寫文檔。卷仑。峻村。
直接在數(shù)據(jù)庫中設(shè)計的好處:
- 設(shè)計馬上得到驗證;
- 利用數(shù)據(jù)庫特性做很多設(shè)計上的探索锡凝,設(shè)計會做的更好
- 設(shè)計完成的同時粘昨,數(shù)據(jù)庫也建成了,節(jié)省工作量窜锯。
其實是指設(shè)計的形式可以有很多種张肾,不一定要做word,選擇什么方式對當(dāng)前工作最優(yōu)先锚扎,可以采用什么樣的方式吞瞪。
7、并不是所有的地方都需要設(shè)計文檔
這條規(guī)則直接參考上一條驾孔,有些內(nèi)容非常簡單芍秆,是不需要設(shè)計文檔的。
正常的做法:
架構(gòu)設(shè)計文檔一般必不可少翠勉。
數(shù)據(jù)庫設(shè)計文檔一般也不可缺妖啥。
并不是所有的模塊,都需要寫設(shè)計文檔:
一般在以下幾種情況需要:算法比較復(fù)雜
想法暫時不是很成熟
負(fù)責(zé)該模塊的程序員是新人对碌。
用戶體驗的設(shè)計文檔一般也不可缺荆虱。
8、"編碼即設(shè)計"是最合適的朽们,但爛代碼除外
- 好的編碼既設(shè)計
- 僅有必要的設(shè)計文檔
- 代碼中有適量的注釋
- 代碼條理清晰怀读,結(jié)構(gòu)嚴(yán)謹(jǐn)。
- 訓(xùn)練程序員良好的編程習(xí)慣
- 代碼就是設(shè)計
- 有時候程序員寫不出設(shè)計文檔骑脱,也可以直接編碼菜枷。
- Demo就是設(shè)計
- 設(shè)計邏輯復(fù)雜、算法復(fù)雜惜姐、需要技術(shù)攻關(guān),Demo才是最好和最直接的設(shè)計椿息!