架構的概念
架構的概念從我個人理解講,分為廣義的架構和狹義的架構,或者稱其為重架構和輕架構。
廣義的架構(重架構)包括了
團隊架構 ---- 人力資源 項目經理,技術經理,分析師,顧問,設計師等.好的人力架構分配降低規避因為人的因素帶來的風險.
周期架構 ---- 時間資源 計劃 迭代
業務架構 --- 主要是指高層用例和業務框架,比如 業務層 -- 業務分析(指導)層---決策支持
技術架構 --- 應用程序(j2ee .net),網絡安全,數據庫,負載平衡等
團隊架構和周期架構可以合并為資源架構。
狹義架構(輕架構)主要是指
技術架構和業務架構
建立架構的目的和原則
建立一套成熟的架構,可以保證產品的質量,縮減開發進度,減小開發成本,減少資源浪費。從CMM的角度理解,架構的確立和發展應該是持續改進的,而不是一成不變的。在軟件工程方法不斷發展改進、各種先進的管理思想領域模型的發展、各種新的技術的發展的推動和影響下。我們的架構應該也是發展的。為了可以使我們的架構的生命周期盡可能的長,我們的架構設計應該是超前和可以順利的迭代的。并且架構必須是符合業界規范的。
綜上所述,建立的架構的目的是
保證產品的質量
縮減開發進度
減少資源浪費
減少開發成本
形成自己的核心技術
建立架構的原則是
符合oo思想
具有超前性
具有擴展性
下面對上面的概述進行詳細的解釋和分析
保證產品的質量:從資源角度分析,這里人力和時間就占了軟件工程3個要素(人力,進度,質量)的兩大,正是這兩方面的合理運用從而在戰略上保證了產品的質量。從業務架構上講,高層用例的確定保證產品的方向走的正確,這樣保證了產品的總體質量不出偏差。從技術架構上講,因為規范了很多編碼,使編碼出錯率大大降低,從而保證了產品的質量。
縮減了開發進度:確立了技術架構后,技術架構會附帶一些快速開發工具,可以縮減開發進度。業務架構可以借用原來一些業務模式
減少資源浪費:曾經因為一個公司不同的項目因為架構的不同,浪費了大量的資源。
減少開發成本:縮減了開發進度,減少資源浪費,保證了產品質量,開發成本自然減少了
形成了自己的技術庫:將過去的積累在以后的發展創新中發揮到最大作用,是非常好的事情。架構綜述
對于資源架構來講,除了儲備了自己的知識庫和項目管理者豐富的經驗之外,很難抽取出客觀上的模型,因為對于不同的項目,資源方面的管理主觀性太強。所以這方面目前所要作的就是形成儲備知識庫。
業務架構方面抽取模型用例,形成業務模型庫。體現方式是以用例圖和相關描述的方式。+
技術架構圖的描述
一套架構,多套組合實現。對于項目比較小,不用ejb的項目推薦使用組合架構1;對于使用ejb的分布式項目和大型項目,考慮負載平衡和集群技術,建立使用組合架構2;對于使用ejb部署,但是對于持久層沒有嚴格限制的,推薦使用組合架構3。
對于其中的好多技術細節,在這篇文檔中不體現。在各自的專門技術文章中將詳細的描述。包括struts,jsf,jsp,html,hibernate ,ejb,userdao等。
附帶的快速開發工具
ActionForm(值對象)的生成工具 有成熟的工具,支持oracle,sqlserver數據庫
Javabean 的生成工具 有成熟的工具,支持sql server數據庫
展現層代碼生成工具(struts) 考慮中
展現層代碼生成工具(jsf) 考慮中
Hiberante的代碼生成工具 除了hibernate提供的外,Eclipse提供了強大工具,建議使用
Ejb2.0(sessionbean框架和cmp的代碼) jbuilder 完全夠用
Ejb3.0(sessionbean框架和cmp的代碼) 等待jbuilder的支持
附帶的工具類
1, 唯一主鍵生成器
2, 字符集的轉換(iso8894 gbk gb2312)
3, 文件處理類(創建,刪除,保存,下載等)
4, Xml封裝類 推薦在dom4j上擴展
5, 數據類型轉換類
6, 日期處理類
7, 樹形菜單處理類
8, 分頁處理類
9, 數據庫處理類
10, 頁面展現內容轉換 如將”轉換為"
11, Jsp Tag類,日期等