【原創(chuàng)】架構(gòu)設(shè)計(jì)說(shuō)明書(shū)
Posted on 2005-10-04 17:49 鋒出磨礪 閱讀(1933) 評(píng)論(0) 編輯 收藏 所屬分類: java算法 、消息中間件 、web服務(wù) 、aop 、雜談架構(gòu)設(shè)計(jì)說(shuō)明書(shū)
參考文件《需求說(shuō)明書(shū)》
需要考慮的要素
1、需求的符合性:正確性、完整性;功能性需求、非功能性需求
軟件項(xiàng)目最主要的目標(biāo)是滿足客戶需求。在進(jìn)行構(gòu)架設(shè)計(jì)的時(shí)候,大家考慮更多的是使用哪個(gè)運(yùn)行平臺(tái)、編成語(yǔ)言、開(kāi)發(fā)環(huán)境、數(shù)據(jù)庫(kù)管理系統(tǒng)等問(wèn)題,對(duì)于和客戶需求相關(guān)的問(wèn)題考慮不足、不夠系統(tǒng)。如果無(wú)論怎么好的構(gòu)架都無(wú)法滿足客戶明確的某個(gè)功能性需求或非功能性需求,就應(yīng)該與客戶協(xié)調(diào)在項(xiàng)目范圍和需求規(guī)格說(shuō)明書(shū)中刪除這一需求。否則,架構(gòu)設(shè)計(jì)應(yīng)以滿足客戶所有明確需求為最基本目標(biāo),盡量滿足其隱含的需求。(客戶的非功能性需求可能包括接口、系統(tǒng)安全性、可靠性、移植性、擴(kuò)展性等等,在其他小節(jié)中細(xì)述)
一般來(lái)說(shuō),功能需求決定業(yè)務(wù)構(gòu)架、非功能需求決定技術(shù)構(gòu)架,變化案例決定構(gòu)架的范圍。需求方面的知識(shí)告訴我們,功能需求定義了軟件能夠做些什么。我們需要根據(jù)業(yè)務(wù)上的需求來(lái)設(shè)計(jì)業(yè)務(wù)構(gòu)架,以使得未來(lái)的軟件能夠滿足客戶的需要。非功能需求定義了一些性能、效率上的一些約束、規(guī)則。而我們的技術(shù)構(gòu)架要能夠滿足這些約束和規(guī)則。變化案例是對(duì)未來(lái)可能發(fā)生的變化的一個(gè)估計(jì),結(jié)合功能需求和非功能需求,我們就可以確定一個(gè)需求的范圍,進(jìn)而確定一個(gè)構(gòu)架的范圍。(此段From林星)
這里講一個(gè)前幾年因客戶某些需求錯(cuò)誤造成構(gòu)架設(shè)計(jì)問(wèn)題而引起系統(tǒng)性能和可靠性問(wèn)題的小小的例子:此系統(tǒng)的需求本身是比較簡(jiǎn)單的,就是將某城市的某業(yè)務(wù)的全部歷史檔案卡片掃描存儲(chǔ)起來(lái),以便可以按照姓名進(jìn)行查詢。需求階段客戶說(shuō)卡片大約有20萬(wàn)張,需求調(diào)研者出于對(duì)客戶的信任沒(méi)有對(duì)數(shù)據(jù)的總量進(jìn)行查證。由于是中小型數(shù)據(jù)量,并且今后數(shù)據(jù)不會(huì)增加,經(jīng)過(guò)計(jì)算20萬(wàn)張卡片總體容量之后,決定使用一種可以單機(jī)使用也可以聯(lián)網(wǎng)的中小型數(shù)據(jù)庫(kù)管理系統(tǒng)。等到系統(tǒng)完成開(kāi)始錄入數(shù)據(jù)時(shí),才發(fā)現(xiàn)數(shù)據(jù)至少有60萬(wàn),這樣使用那種中小型數(shù)據(jù)庫(kù)管理系統(tǒng)不但會(huì)造成系統(tǒng)性能的問(wèn)題,而且其可靠性是非常脆弱的,不得不對(duì)系統(tǒng)進(jìn)行重新設(shè)計(jì)。從這個(gè)小小的教訓(xùn)可以看出,需求階段不僅對(duì)客戶的功能需求要調(diào)查清楚,對(duì)于一些隱含非功能需求的一些數(shù)據(jù)也應(yīng)當(dāng)調(diào)查清楚,并作為構(gòu)架設(shè)計(jì)的依據(jù)。
對(duì)于功能需求的正確性,在構(gòu)架設(shè)計(jì)文檔中可能不好驗(yàn)證(需要人工、費(fèi)力)。對(duì)于功能需求完整性,就應(yīng)當(dāng)使用需求功能與對(duì)應(yīng)模塊對(duì)照表來(lái)跟蹤追溯。對(duì)于非功能需求正確性和完整性,可以使用需求非功能與對(duì)應(yīng)設(shè)計(jì)策略對(duì)照表來(lái)跟蹤追溯評(píng)估。
“軟件設(shè)計(jì)工作只有基于用戶需求,立足于可行的技術(shù)才有可能成功。”
2、總體性能
性能其實(shí)也是客戶需求的一部分,當(dāng)然可能是明確的,也有很多是隱含的,這里把它單獨(dú)列出來(lái)在說(shuō)明一次。性能是設(shè)計(jì)方案的重要標(biāo)準(zhǔn),性能應(yīng)考慮的不是單臺(tái)客戶端的性能,而是應(yīng)該考慮系統(tǒng)總的綜合性能;
性能設(shè)計(jì)應(yīng)從以下幾個(gè)方面考慮:內(nèi)存管理、數(shù)據(jù)庫(kù)組織和內(nèi)容、非數(shù)據(jù)庫(kù)信息、任務(wù)并行性、網(wǎng)絡(luò)多人操作、關(guān)鍵算法、與網(wǎng)絡(luò)、硬件和其他系統(tǒng)接口對(duì)性能的影響;
幾點(diǎn)提示:算法優(yōu)化及負(fù)載均衡是性能優(yōu)化的方向。經(jīng)常要調(diào)用的模塊要特別注意優(yōu)化。占用內(nèi)存較多的變量在不用時(shí)要及時(shí)清理掉。需要下載的網(wǎng)頁(yè)主題文件過(guò)大時(shí)應(yīng)當(dāng)分解為若干部分,讓用戶先把主要部分顯示出來(lái)。
3、運(yùn)行可管理性
系統(tǒng)的構(gòu)架設(shè)計(jì)應(yīng)當(dāng)為了使系統(tǒng)可以預(yù)測(cè)系統(tǒng)故障,防患于未然。現(xiàn)在的系統(tǒng)正逐步向復(fù)雜化、大型化發(fā)展,單靠一個(gè)人或幾個(gè)人來(lái)管理已顯得力不從心,況且對(duì)于某些突發(fā)事件的響應(yīng),人的反應(yīng)明顯不夠。因此通過(guò)合理的系統(tǒng)構(gòu)架規(guī)劃系統(tǒng)運(yùn)行資源,便于控制系統(tǒng)運(yùn)行、監(jiān)視系統(tǒng)狀態(tài)、進(jìn)行有效的錯(cuò)誤處理;為了實(shí)現(xiàn)上述目標(biāo),模塊間通信應(yīng)當(dāng)盡可能簡(jiǎn)單,同時(shí)建立合理詳盡的系統(tǒng)運(yùn)行日志,系統(tǒng)通過(guò)自動(dòng)審計(jì)運(yùn)行日志,了解系統(tǒng)運(yùn)行狀態(tài)、進(jìn)行有效的錯(cuò)誤處理;(運(yùn)行可管理性與可維護(hù)性不同)
4、與其他系統(tǒng)接口兼容性(解釋略)
5、與網(wǎng)絡(luò)、硬件接口兼容性及性能(解釋略)
6、系統(tǒng)安全性
隨著計(jì)算機(jī)應(yīng)用的不斷深入和擴(kuò)大,涉及的部門(mén)和信息也越來(lái)越多,其中有大量保密信息在網(wǎng)絡(luò)上傳輸,所以對(duì)系統(tǒng)安全性的考慮已經(jīng)成為系統(tǒng)設(shè)計(jì)的關(guān)鍵,需要從各個(gè)方面和角度加以考慮,來(lái)保證數(shù)據(jù)資料的絕對(duì)安全。
7、系統(tǒng)可靠性
系統(tǒng)的可靠性是現(xiàn)代信息系統(tǒng)應(yīng)具有的重要特征,由于人們?nèi)粘5墓ぷ鲗?duì)系統(tǒng)依賴程度越來(lái)越多,因此系統(tǒng)的必須可靠。系統(tǒng)構(gòu)架設(shè)計(jì)可考慮系統(tǒng)的冗余度,盡可能地避免單點(diǎn)故障。系統(tǒng)可靠性是系統(tǒng)在給定的時(shí)間間隔及給定的環(huán)境條件下,按設(shè)計(jì)要求,成功地運(yùn)行程序的概率。成功地運(yùn)行不僅要保證系統(tǒng)能正確地運(yùn)行,滿足功能需求,還要求當(dāng)系統(tǒng)出現(xiàn)意外故障時(shí)能夠盡快恢復(fù)正常運(yùn)行,數(shù)據(jù)不受破壞。
8、業(yè)務(wù)流程的可調(diào)整性
應(yīng)當(dāng)考慮客戶業(yè)務(wù)流程可能出現(xiàn)的變化,所以在系統(tǒng)構(gòu)架設(shè)計(jì)時(shí)要盡量排除業(yè)務(wù)流程的制約,即把流程中的各項(xiàng)業(yè)務(wù)結(jié)點(diǎn)工作作為獨(dú)立的對(duì)象,設(shè)計(jì)成獨(dú)立的模塊或組件,充分考慮他們與其他各種業(yè)務(wù)對(duì)象模塊或組件的接口,在流程之間通過(guò)業(yè)務(wù)對(duì)象模塊的相互調(diào)用實(shí)現(xiàn)各種業(yè)務(wù),這樣,在業(yè)務(wù)流程發(fā)生有限的變化時(shí)(每個(gè)業(yè)務(wù)模塊本身的業(yè)務(wù)邏輯沒(méi)有變的情況下),就能夠比較方便地修改系統(tǒng)程序模塊或組件間的調(diào)用關(guān)系而實(shí)現(xiàn)新的需求。如果這種調(diào)用關(guān)系被設(shè)計(jì)成存儲(chǔ)在配置庫(kù)的數(shù)據(jù)字典里,則連程序代碼都不用修改,只需修改數(shù)據(jù)字典里的模塊或組件調(diào)用規(guī)則即可。
9、業(yè)務(wù)信息的可調(diào)整性
應(yīng)當(dāng)考慮客戶業(yè)務(wù)信息可能出現(xiàn)的變化,所以在系統(tǒng)構(gòu)架設(shè)計(jì)時(shí)必須盡可能減少因?yàn)闃I(yè)務(wù)信息的調(diào)整對(duì)于代碼模塊的影響范圍。
10、使用方便性
使用方便性是不須提及的必然的需求,而使用方便性與系統(tǒng)構(gòu)架是密切相關(guān)的。WinCE(1.0)的失敗和后來(lái)改進(jìn)版本的成功就說(shuō)明了這個(gè)問(wèn)題。WinCE(1.0)有太多層次的視窗和菜單,而用戶則更喜歡簡(jiǎn)單的界面和快捷的操作。失敗了應(yīng)當(dāng)及時(shí)糾正,但最好不要等到失敗了再來(lái)糾正,這樣會(huì)浪費(fèi)巨大的財(cái)力物力,所以在系統(tǒng)構(gòu)架階段最好能將需要考慮的因素都考慮到。當(dāng)然使用方便性必須與系統(tǒng)安全性協(xié)調(diào)平衡統(tǒng)一,使用方便性也必須與業(yè)務(wù)流程的可調(diào)整性和業(yè)務(wù)信息的可調(diào)整性協(xié)調(diào)平衡統(tǒng)一。“滿足用戶的需求,便于用戶使用,同時(shí)又使得操作流程盡可能簡(jiǎn)單。這就是設(shè)計(jì)之本。”
11、構(gòu)架樣式的一致性
軟件系統(tǒng)的構(gòu)架樣式有些類似于建筑樣式(如中國(guó)式、哥特式、希臘復(fù)古式)。軟件構(gòu)架樣式可分為數(shù)據(jù)流構(gòu)架樣式、調(diào)用返回構(gòu)架樣式、獨(dú)立組件構(gòu)架樣式、以數(shù)據(jù)為中心的構(gòu)架樣式和虛擬機(jī)構(gòu)架樣式,每一種樣式還可以分為若干子樣式。構(gòu)架樣式的一致性并不是要求一個(gè)軟件系統(tǒng)只能采用一種樣式,就像建筑樣式可以是中西結(jié)合的,軟件系統(tǒng)也可以有異質(zhì)構(gòu)架樣式(分為局部異質(zhì)、層次異質(zhì)、并行異質(zhì)),即多種樣式的綜合,但這樣的綜合應(yīng)該考慮其某些方面的一致性和協(xié)調(diào)性。每一種樣式都有其使用的時(shí)機(jī),應(yīng)當(dāng)根據(jù)系統(tǒng)最強(qiáng)調(diào)的質(zhì)量屬性來(lái)選擇。
四、源代碼的組織結(jié)構(gòu)方面的考慮:
1、開(kāi)發(fā)可管理性
便于人員分工(模塊獨(dú)立性、開(kāi)發(fā)工作的負(fù)載均衡、進(jìn)度安排優(yōu)化、預(yù)防人員流動(dòng)對(duì)開(kāi)發(fā)的影響:一個(gè)好的構(gòu)架同時(shí)應(yīng)有助于減少項(xiàng)目組的壓力和緊張,提高軟件開(kāi)發(fā)效率)、利于配置管理、大小的合理性、適度復(fù)雜性;
1)便于人員分工-模塊獨(dú)立性、層次性
模塊獨(dú)立性、層次性是為了保證項(xiàng)目開(kāi)發(fā)成員工作之間的相對(duì)獨(dú)立性,模塊聯(lián)結(jié)方式應(yīng)該是縱向而不是橫向, 模塊之間應(yīng)該是樹(shù)狀結(jié)構(gòu)而不是網(wǎng)狀結(jié)構(gòu)或交叉結(jié)構(gòu),這樣就可以把開(kāi)發(fā)人員之間的通信、模塊開(kāi)發(fā)制約關(guān)系減到最少。同時(shí)模塊獨(dú)立性也比較利于配置管理工作的進(jìn)行。現(xiàn)在有越來(lái)越多的的軟件開(kāi)發(fā)是在異地進(jìn)行,一個(gè)開(kāi)發(fā)組的成員可能在不同城市甚至在不同國(guó)家,因此便于異地開(kāi)發(fā)的人員分工與配置管理的源代碼組織結(jié)構(gòu)是非常必要的。
2)便于人員分工-開(kāi)發(fā)工作的負(fù)載均衡
不僅僅是開(kāi)發(fā)出來(lái)的軟件系統(tǒng)需要負(fù)載均衡,在開(kāi)發(fā)過(guò)程中開(kāi)發(fā)小組各成員之間工作任務(wù)的負(fù)載均衡也是非重要的。所謂工作任務(wù)的負(fù)載均衡就是通過(guò)合理的任務(wù)劃分按照開(kāi)發(fā)人員特點(diǎn)進(jìn)行分配任務(wù),盡量讓項(xiàng)目組中的每個(gè)人每段時(shí)間都有用武之地。這就需要在構(gòu)架設(shè)計(jì)時(shí)應(yīng)當(dāng)充分考慮項(xiàng)目組手頭的人力資源,在實(shí)現(xiàn)客戶需求的基礎(chǔ)上實(shí)現(xiàn)開(kāi)發(fā)工作的負(fù)載均衡,以提高整體開(kāi)發(fā)效率。
3)便于人員分工-進(jìn)度安排優(yōu)化;
進(jìn)度安排優(yōu)化的前提是模塊獨(dú)立性并搞清楚模塊開(kāi)發(fā)的先后制約關(guān)系。利用工作分解結(jié)構(gòu)對(duì)所有程序編碼工作進(jìn)行分解,得到每一項(xiàng)工作的輸入、輸出、所需資源、持續(xù)時(shí)間、前期應(yīng)完成的工作、完成后可以進(jìn)行的工作。然后預(yù)估各模塊需要時(shí)間,分析各模塊的并行與串行(順序制約),繪制出網(wǎng)絡(luò)圖,找出影響整體進(jìn)度的關(guān)鍵模塊,算出關(guān)鍵路徑,最后對(duì)網(wǎng)絡(luò)圖進(jìn)行調(diào)整,以使進(jìn)度安排最優(yōu)化。
有個(gè)家喻戶曉的智力題叫烤肉片策略:約翰遜家戶外有一個(gè)可以同時(shí)烤兩塊肉片的烤肉架,烤每塊肉片的每一面需要10分鐘,現(xiàn)要烤三塊肉片給饑腸轆轆急不可耐的一家三口。問(wèn)題是怎樣才能在最短的時(shí)間內(nèi)烤完三片肉。一般的做法花20分鐘先烤完前兩片,再花20分鐘烤完第三片。有一種更好的方法可以節(jié)省10分鐘,大家想想。
4)便于人員分工-預(yù)防員工人員流動(dòng)對(duì)開(kāi)發(fā)的影響
人員流動(dòng)在軟件行業(yè)是司空見(jiàn)慣的事情,已經(jīng)是一個(gè)常見(jiàn)的風(fēng)險(xiǎn)。作為對(duì)這一風(fēng)險(xiǎn)的有效的防范對(duì)策之一,可以在構(gòu)架設(shè)計(jì)中考慮到并預(yù)防員工人員流動(dòng)對(duì)開(kāi)發(fā)的影響。主要的思路還是在模塊的獨(dú)立性上追求高內(nèi)聚低耦合),組件化是目前流行的趨勢(shì)。
5)利于配置管理(獨(dú)立性、層次性)
利于配置管理與利于人員分工有一定的聯(lián)系。除了邏輯上的模塊組件要利于人員分工外,物理上的源代碼層次結(jié)構(gòu)、目錄結(jié)構(gòu)、各模塊所處源代碼文件的部署也應(yīng)當(dāng)利于人員分工和配置管理。(盡管現(xiàn)在配置管理工具有較強(qiáng)大的功能,但一個(gè)清楚的源碼分割和模塊分割是非常有好處的)。
6)大小的合理性與適度復(fù)雜性
大小的合理性與適度復(fù)雜性可以使開(kāi)發(fā)工作的負(fù)載均衡,便于進(jìn)度的安排,也可以使系統(tǒng)在運(yùn)行時(shí)減少不必要的內(nèi)存資源浪費(fèi)。對(duì)于代碼的可閱讀性和系統(tǒng)的可維護(hù)性也有一定的好處。另外,過(guò)大的模塊常常是系統(tǒng)分解不充分,而過(guò)小的模塊有可能降低模塊的獨(dú)立性,造成系統(tǒng)接口的復(fù)雜。
2、可維護(hù)性
便于在系統(tǒng)出現(xiàn)故障時(shí)及時(shí)方便地找到產(chǎn)生故障的原因和源代碼位置,并能方便地進(jìn)行局部修改、切割;(可維護(hù)性與運(yùn)行可管理性不同)
3、可擴(kuò)充性:系統(tǒng)方案的升級(jí)、擴(kuò)容、擴(kuò)充性能
系統(tǒng)在建成后會(huì)有一段很長(zhǎng)的運(yùn)行周期,在該周期內(nèi),應(yīng)用在不斷增加,應(yīng)用的層次在不斷升級(jí),因此采用的構(gòu)架設(shè)計(jì)等方案因充分考慮升級(jí)、擴(kuò)容、擴(kuò)充的可行性和便利
4、可移植性
不同客戶端、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)管理系統(tǒng):如果潛在的客戶使用的客戶端可能使用不同的操作系統(tǒng)或?yàn)g覽器,其可移植性必須考慮客戶端程序的可移植性,或盡量不使業(yè)務(wù)邏輯放在客戶端;數(shù)據(jù)處理的業(yè)務(wù)邏輯放在數(shù)據(jù)庫(kù)管理系統(tǒng)中會(huì)有較好的性能,但如果客戶群中不能確定使用的是同一種數(shù)據(jù)庫(kù)管理系統(tǒng),則業(yè)務(wù)邏輯就不能數(shù)據(jù)庫(kù)管理系統(tǒng)中;
達(dá)到可移植性一定要注重標(biāo)準(zhǔn)化和開(kāi)放性:只有廣泛采用遵循國(guó)際標(biāo)準(zhǔn),開(kāi)發(fā)出開(kāi)放性強(qiáng)的產(chǎn)品,才可以保證各種類型的系統(tǒng)的充分互聯(lián),從而使產(chǎn)品更具有市場(chǎng)競(jìng)爭(zhēng)力,也為未來(lái)的系統(tǒng)移植和升級(jí)擴(kuò)展提供了基礎(chǔ)。
5、需求的符合性
從源代碼的組織結(jié)構(gòu)看需求的符合型主要考慮針對(duì)用戶需求可能的變化的軟件代碼及構(gòu)架的最小冗余(同時(shí)又要使得系統(tǒng)具有一定的可擴(kuò)展性)。
構(gòu)架工作應(yīng)該在需求開(kāi)發(fā)完成約80%的時(shí)候開(kāi)始進(jìn)行,不必等到需求開(kāi)發(fā)全部完成,需要項(xiàng)目經(jīng)理以具體的判斷來(lái)評(píng)估此時(shí)是否足以開(kāi)始構(gòu)建軟件構(gòu)架。
給出一致的輪廓:系統(tǒng)概述。一個(gè)系統(tǒng)構(gòu)架需要現(xiàn)有概括的描述,開(kāi)發(fā)人員才能從上千個(gè)細(xì)節(jié)甚至數(shù)十個(gè)模塊或?qū)ο箢愔薪⒁恢碌妮喞?/SPAN>
構(gòu)架的目標(biāo)應(yīng)該能夠清楚說(shuō)明系統(tǒng)概念,構(gòu)架應(yīng)盡可能簡(jiǎn)化,最好的構(gòu)架文件應(yīng)該簡(jiǎn)單、簡(jiǎn)短,清晰而不雜亂,解決方案自然。
構(gòu)架應(yīng)單先定義上層的主要子系統(tǒng),應(yīng)該描述各子系統(tǒng)的任務(wù),并提供每個(gè)子系統(tǒng)中各模塊或?qū)ο箢惖牡某醪搅斜怼?/SPAN>
構(gòu)架應(yīng)該描述不同子系統(tǒng)間相互通信的方式,而一個(gè)良好的構(gòu)架應(yīng)該將子系統(tǒng)間的通信關(guān)系降到最低。
成功構(gòu)架的一個(gè)重要特色,在于標(biāo)明最可能變更的領(lǐng)域,應(yīng)當(dāng)列出程序中最可能變更的部分,說(shuō)明構(gòu)架的其他部分如何應(yīng)變。
復(fù)用分析、外購(gòu):縮短軟件開(kāi)發(fā)周期、降低成本的有效方案未必是自行開(kāi)發(fā)軟件,可以對(duì)現(xiàn)有軟件進(jìn)行復(fù)用或進(jìn)行外購(gòu)。應(yīng)考慮其對(duì)構(gòu)架的影響。
除了系統(tǒng)組織的問(wèn)題,構(gòu)架應(yīng)重點(diǎn)考慮對(duì)于細(xì)節(jié)全面影響的設(shè)計(jì)決策,深入這些決策領(lǐng)域:外部軟件接口(兼容性、通信方式、傳遞數(shù)據(jù)結(jié)構(gòu))、用戶接口(用戶接口和系統(tǒng)層次劃分)、數(shù)據(jù)庫(kù)組織和內(nèi)容、非數(shù)據(jù)庫(kù)信息、關(guān)鍵算法、內(nèi)存管理(配置策略)、并行性、安全性、可移植性、網(wǎng)絡(luò)多人操作、錯(cuò)誤處理。
要保證需求的可追蹤性,即保證每個(gè)需求功能都有相應(yīng)模塊去實(shí)現(xiàn)。
構(gòu)架不能只依據(jù)靜態(tài)的系統(tǒng)目標(biāo)來(lái)設(shè)計(jì),也應(yīng)當(dāng)考慮動(dòng)態(tài)的開(kāi)發(fā)過(guò)程,如人力資源的情況,進(jìn)度要求的情況,開(kāi)發(fā)環(huán)境的滿足情況。構(gòu)架必須支持階段性規(guī)劃,應(yīng)該能夠提供階段性規(guī)劃中如何開(kāi)發(fā)與完成的方式。不應(yīng)該依賴無(wú)法獨(dú)立運(yùn)行的子系統(tǒng)構(gòu)架。將系統(tǒng)各部分的、依賴關(guān)系找出來(lái),形成一套開(kāi)發(fā)計(jì)劃。
系統(tǒng)概述
名詞解釋
業(yè)務(wù)構(gòu)架
模塊定義 模塊獨(dú)立性、層次性
穩(wěn)定的需求
不穩(wěn)定需求
不穩(wěn)定需求造成的后果
應(yīng)對(duì)方案
使用方便性
技術(shù)構(gòu)架
運(yùn)行平臺(tái)、接口、系統(tǒng)安全性、可靠性、移植性、擴(kuò)展性
人力組織計(jì)劃
人力資源分析
進(jìn)度安排優(yōu)化
開(kāi)發(fā)工作的負(fù)載均衡
預(yù)防員工人員流動(dòng)對(duì)開(kāi)發(fā)的影響應(yīng)對(duì)