首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 繽紛校園 英語學習 | ||
2010考研 | 自學考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院 | ||
四六級 | 商務英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福 | ||
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點英、法、德、日、韓語 | 在職申碩英語 | ||
在職攻碩英語 | 成人英語三級 | ||
等級考試 | 水平考試 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 | ||
公務員 | 報關員 | 報檢員 | 外銷員 | 司法考試 | 導游考試 | 教師資格 | 國際商務師 | 跟單員 | ||
單證員 | 物流師 | 價格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師 | ||
期貨從業(yè)資格 | 社會工作者 | ||
會計職稱 | 注會CPA | 經濟師 | 統(tǒng)計師 | 注冊稅務師 | 評估師 | 精算師 | 高會 | ACCA | 審計師 | ||
法律顧問 | 會計證 | ||
一級建造師 | 二級建造師 | 造價師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結構師 | 建筑師 | 安全評價師 | ||
房地產估價師 | 土地估價師 | 設備監(jiān)理師 | 巖土工程師 | 質量資格 | 房地產經紀人 | 造價員 | ||
投資項目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價 | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師 | ||
公路造價工程師 | 招標師 | ||
執(zhí)業(yè)護士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格 |
8、 業(yè)務流程的可調整性
應當考慮客戶業(yè)務流程可能出現的變化,所以在系統(tǒng)構架設計時要盡量排除業(yè)務流程的制約,即把流程中的各項業(yè)務結點工作作為獨立的對象,設計成獨立的模塊或組件,充分考慮他們與其他各種業(yè)務對象模塊或組件的接口,在流程之間通過業(yè)務對象模塊的相互調用實現各種業(yè)務,這樣,在業(yè)務流程發(fā)生有限的變化時(每個業(yè)務模塊本身的業(yè)務邏輯沒有變的情況下),就能夠比較方便地修改系統(tǒng)程序模塊或組件間的調用關系而實現新的需求。如果這種調用關系被設計成存儲在配置庫的數據字典里,則連程序代碼都不用修改,只需修改數據字典里的模塊或組件調用規(guī)則即可。
9、 業(yè)務信息的可調整性
應當考慮客戶業(yè)務信息可能出現的變化,所以在系統(tǒng)構架設計時必須盡可能減少因為業(yè)務信息的調整對于代碼模塊的影響范圍。
10、 使用方便性
使用方便性是不須提及的必然的需求,而使用方便性與系統(tǒng)構架是密切相關的。WinCE(1.0)的失敗和后來改進版本的成功就說明了這個問題。WinCE(1.0)有太多層次的視窗和菜單,而用戶則更喜歡簡單的界面和快捷的操作。失敗了應當及時糾正,但最好不要等到失敗了再來糾正,這樣會浪費巨大的財力物力,所以在系統(tǒng)構架階段最好能將需要考慮的因素都考慮到。當然使用方便性必須與系統(tǒng)安全性協調平衡統(tǒng)一,使用方便性也必須與業(yè)務流程的可調整性和業(yè)務信息的可調整性協調平衡統(tǒng)一!皾M足用戶的需求,便于用戶使用,同時又使得操作流程盡可能簡單。這就是設計之本!
11、構架樣式的一致性
軟件系統(tǒng)的構架樣式有些類似于建筑樣式(如中國式、哥特式、希臘復古式)。軟件構架樣式可分為數據流構架樣式、調用返回構架樣式、獨立組件構架樣式、以數據為中心的構架樣式和虛擬機構架樣式,每一種樣式還可以分為若干子樣式。構架樣式的一致性并不是要求一個軟件系統(tǒng)只能采用一種樣式,就像建筑樣式可以是中西結合的,軟件系統(tǒng)也可以有異質構架樣式(分為局部異質、層次異質、并行異質),即多種樣式的綜合,但這樣的綜合應該考慮其某些方面的一致性和協調性。每一種樣式都有其使用的時機,應當根據系統(tǒng)最強調的質量屬性來選擇。
四、源代碼的組織結構方面的考慮:
1、 開發(fā)可管理性
便于人員分工(模塊獨立性、開發(fā)工作的負載均衡、進度安排優(yōu)化、預防人員流動對開發(fā)的影響:一個好的構架同時應有助于減少項目組的壓力和緊張,提高軟件開發(fā)效率)、利于配置管理、大小的合理性、適度復雜性;
1)便于人員分工-模塊獨立性、層次性
模塊獨立性、層次性是為了保證項目開發(fā)成員工作之間的相對獨立性,模塊聯結方式應該是縱向而不是橫向, 模塊之間應該是樹狀結構而不是網狀結構或交叉結構,這樣就可以把開發(fā)人員之間的通信、模塊開發(fā)制約關系減到最少。同時模塊獨立性也比較利于配置管理工作的進行,F在有越來越多的的軟件開發(fā)是在異地進行,一個開發(fā)組的成員可能在不同城市甚至在不同國家,因此便于異地開發(fā)的人員分工與配置管理的源代碼組織結構是非常必要的。
2)便于人員分工-開發(fā)工作的負載均衡
不僅僅是開發(fā)出來的軟件系統(tǒng)需要負載均衡,在開發(fā)過程中開發(fā)小組各成員之間工作任務的負載均衡也是非重要的。所謂工作任務的負載均衡就是通過合理的任務劃分按照開發(fā)人員特點進行分配任務,盡量讓項目組中的每個人每段時間都有用武之地。這就需要在構架設計時應當充分考慮項目組手頭的人力資源,在實現客戶需求的基礎上實現開發(fā)工作的負載均衡,以提高整體開發(fā)效率。
3)便于人員分工-進度安排優(yōu)化;
進度安排優(yōu)化的前提是模塊獨立性并搞清楚模塊開發(fā)的先后制約關系。利用工作分解結構對所有程序編碼工作進行分解,得到每一項工作的輸入、輸出、所需資源、持續(xù)時間、前期應完成的工作、完成后可以進行的工作。然后預估各模塊需要時間,分析各模塊的并行與串行(順序制約),繪制出網絡圖,找出影響整體進度的關鍵模塊,算出關鍵路徑,最后對網絡圖進行調整,以使進度安排最優(yōu)化。
有個家喻戶曉的智力題叫烤肉片策略:約翰遜家戶外有一個可以同時烤兩塊肉片的烤肉架,烤每塊肉片的每一面需要10分鐘,現要烤三塊肉片給饑腸轆轆急不可耐的一家三口。問題是怎樣才能在最短的時間內烤完三片肉。一般的做法花20分鐘先烤完前兩片,再花20分鐘烤完第三片。有一種更好的方法可以節(jié)省10分鐘,大家想想。
4)便于人員分工-預防員工人員流動對開發(fā)的影響
人員流動在軟件行業(yè)是司空見慣的事情,已經是一個常見的風險。作為對這一風險的有效的防范對策之一,可以在構架設計中考慮到并預防員工人員流動對開發(fā)的影響。主要的思路還是在模塊的獨立性上(追求高內聚低耦合),組件化是目前流行的趨勢。