(1)在開(kāi)始構(gòu)建之前,首先要滿足的一個(gè)先決條件是,對(duì)這個(gè)系統(tǒng)要解決的問(wèn)題做出清楚的陳述。問(wèn)題定義只定義了問(wèn)題是什么,而不設(shè)計(jì)任何可能的解決方案。問(wèn)題定義應(yīng)該用客戶的語(yǔ)言來(lái)寫,而且應(yīng)該從客戶的角度描述問(wèn)題。
(2)需求詳細(xì)描述軟件系統(tǒng)應(yīng)該做什么,這是達(dá)成解決方案的第一步。
?????????明確的需求有助于確保是用戶(而不是程序員)駕馭系統(tǒng)的功能。如果需求明確,用戶就可以進(jìn)行自行評(píng)審,并進(jìn)行核準(zhǔn)。否則程序員就會(huì)在編程期間自行決定需求,明確的需求面對(duì)你去猜想用戶需要的是什么。
?????????明確的需求有助于避免爭(zhēng)論。在開(kāi)始編程之前,先把系統(tǒng)的范圍確定下來(lái)。如果你和另外一個(gè)程序員對(duì)于程序應(yīng)該做什么,意見(jiàn)不一致,你們可以查看書面的需求,以解決分歧。
?????????重視需求有助于減少開(kāi)始開(kāi)發(fā)編程之后的系統(tǒng)變更情況。
?????????穩(wěn)定的需求是軟件開(kāi)發(fā)的圣杯,但是這往往是軟件開(kāi)發(fā)人員的愿望。IBM和其他公司的研究發(fā)現(xiàn),平均水平的項(xiàng)目在開(kāi)發(fā)過(guò)程中,需求會(huì)有25%的變化。在典型的項(xiàng)目中,需求變更導(dǎo)致的返工占到返工總量的75%到85%。
(3)軟件架構(gòu)是軟件設(shè)計(jì)的高層部分,適用于支撐更細(xì)節(jié)的設(shè)計(jì)的框架。架構(gòu)的質(zhì)量決定了系統(tǒng)的“概念完整性”,繼而決定了繼續(xù)的最終質(zhì)量。一個(gè)慎重考慮的架構(gòu)為“從頂層到底層維護(hù)系統(tǒng)的概念完整性”提供了必備的結(jié)構(gòu)和體系,它為程序員提供了指引——其細(xì)節(jié)程度與程序員的技能和手邊的工作相配。它將工作分為幾個(gè)部分,使多個(gè)開(kāi)發(fā)者或者開(kāi)發(fā)團(tuán)隊(duì)可以獨(dú)立工作。
?????????架構(gòu)典型的組成部分:
?????????a、程序組織??
?????????b、主要的類:80/20法則(對(duì)構(gòu)成系統(tǒng)的80%行為的20%的類進(jìn)行詳細(xì)說(shuō)明)。
?????????c、數(shù)據(jù)設(shè)計(jì)? d、業(yè)務(wù)規(guī)則? e、用戶界面設(shè)計(jì)? f、資源管理?? g、安全性???
?????????h、性能??? i、可伸縮性?? j、互用性?? k、國(guó)際化\本地化?? l、輸入輸出
?????????m、錯(cuò)誤處理?? n、容錯(cuò)性?? o、架構(gòu)的可行性? p、過(guò)度工程???
?????????q、關(guān)于“買”還是“造”的決策?? r、關(guān)于復(fù)用的決策?? s、變更策略
(4)花費(fèi)在前期準(zhǔn)備上的時(shí)間長(zhǎng)度:一個(gè)運(yùn)作良好的項(xiàng)目會(huì)在需求、架構(gòu)以及其他前期計(jì)劃方面投入10%-20%的工作量和20%-30%的工作時(shí)間,這些時(shí)間不包括詳細(xì)設(shè)計(jì)的時(shí)間,那是構(gòu)建活動(dòng)的一部分。
posted on 2007-09-18 10:05
探丫頭 閱讀(919)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
《代碼大全》讀書筆記