軟件架構(gòu)師之架構(gòu)過程概要
軟件架構(gòu)是軟件系統(tǒng)一個(gè)高層次的結(jié)構(gòu)體現(xiàn),顯示了系統(tǒng)分解后組件的布局和組件之間的關(guān)系。好的架構(gòu)描述應(yīng)該包含架構(gòu)的多個(gè)視角,組件的設(shè)計(jì)和擴(kuò)展描述,以及為滿足功能性需求和非功能性需求的設(shè)計(jì)原則。
一般說,軟件架構(gòu)分為5個(gè)步驟,
1.建立架構(gòu)的任務(wù)并且形成架構(gòu)團(tuán)隊(duì)。
2.建立并且文檔化架構(gòu)需求。
3.設(shè)計(jì)架構(gòu)
4.驗(yàn)證架構(gòu)是否達(dá)到需求
5.發(fā)布架構(gòu)到開發(fā)團(tuán)隊(duì)
然后我們細(xì)說這五步驟
第一,架構(gòu)是需要有目標(biāo)的,一般是為了滿足長期的業(yè)務(wù)需求。然后去制定任務(wù)并且明確里程碑。讓架構(gòu)組的每個(gè)人都明確架構(gòu)的目標(biāo)以及任務(wù)的進(jìn)行和任務(wù)之間的關(guān)系。總體架構(gòu)設(shè)想這個(gè)時(shí)候需要出來了。關(guān)鍵組件設(shè)想也應(yīng)該有了。
第二,這個(gè)時(shí)候就需要按照目標(biāo)去分開整理架構(gòu)的需求了。開始可能是很多的需求索引,每個(gè)索引就是一兩句話的表達(dá)。對于索引要給出簡單的描述。索引評審之后需要細(xì)化需求,是一個(gè)更為詳細(xì)的需求整理,除了文字描述,還可以配置圖形等。然后要做的就是建立use case去覆蓋這些需求。
第三,設(shè)計(jì)架構(gòu)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)階段。概要設(shè)計(jì)需要給出一個(gè)比較輪廓性的設(shè)計(jì)說明,能夠比較簡要的通過這些設(shè)計(jì)元素去闡述use case,在總體上把故事講完整。然后評審,進(jìn)入詳細(xì)設(shè)計(jì)階段,細(xì)化的設(shè)計(jì)更為完整和貼近實(shí)現(xiàn)。同樣需要一個(gè)說故事的過程,把use case通過詳細(xì)設(shè)計(jì)的元素說的更為生動和形象。然后去實(shí)現(xiàn)和整合。
第四,驗(yàn)證的過程是測試的一個(gè)過程,在需求階段會確立很多測試計(jì)劃和用例。對需求進(jìn)行一個(gè)掃蕩,看實(shí)現(xiàn)是否到達(dá)了承諾。
第五,不斷測試并且反饋修改之后,穩(wěn)定版本就可以發(fā)布到開發(fā)團(tuán)隊(duì)了。
個(gè)人觀點(diǎn),請大家多討論。
架構(gòu)的設(shè)計(jì)部分
1。更應(yīng)該側(cè)重組建的分解以及組件之間的接口關(guān)系。比一般的軟件設(shè)計(jì)過程,更突出組件的接口特性和使用描述。組件的功能列表,生命周期,并發(fā)情況說明,通訊消息格式等。
2。架構(gòu)中的組件是有統(tǒng)一的架構(gòu)思想和原則。組件是要被約束的。
3。組件需要提供事例代碼,典型應(yīng)用場景,異常以及測試說明。
4。組件有時(shí)候是要映射到物理視圖中的進(jìn)程。
5。側(cè)重架構(gòu)系統(tǒng)的動態(tài)特性,組件之間的協(xié)作關(guān)系。
msn:gdq123@hotmail.com
posted on 2006-06-01 11:34 人要有夢想 閱讀(2700) 評論(5) 編輯 收藏 所屬分類: software architecture