系統(tǒng)架構(gòu)的定義和簡(jiǎn)介
隨著信息系統(tǒng)的規(guī)模越來(lái)越龐大和復(fù)雜,系統(tǒng)結(jié)構(gòu)的重要性也越來(lái)越受到人們的重視,設(shè)計(jì)和確定系統(tǒng)整體結(jié)構(gòu)也成為一項(xiàng)非常重要的任務(wù)。
系統(tǒng)構(gòu)架:是對(duì)已確定的需求的技術(shù)實(shí)現(xiàn)構(gòu)架、作好規(guī)劃,運(yùn)用成套、完整的工具,在規(guī)劃的步驟下去完成任務(wù)。
構(gòu)件、模式和規(guī)劃是系統(tǒng)架構(gòu)的三大要素,其中規(guī)劃是架構(gòu)的基石,也就是一個(gè)架構(gòu)中最為重要的元素。
現(xiàn)代信息系統(tǒng)架構(gòu)本質(zhì)上可以分為兩大層次:概念層次和物理層次
具體到軟件系統(tǒng)的架構(gòu),則是關(guān)于軟件系統(tǒng)結(jié)構(gòu)、行為和屬性的高級(jí)抽象,意在指導(dǎo)大型軟件系統(tǒng)各個(gè)方面的設(shè)計(jì)。軟件系統(tǒng)架構(gòu)制定了軟件系統(tǒng)的組織結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu),而且顯示了系統(tǒng)需求與構(gòu)成組件之間的對(duì)應(yīng)關(guān)系,包括設(shè)計(jì)決策的基本方法和原理??梢哉f(shuō),軟件架構(gòu)是一個(gè)系統(tǒng)的草圖,是構(gòu)建計(jì)算機(jī)軟件實(shí)踐的基礎(chǔ)。
軟件架構(gòu)設(shè)計(jì)要達(dá)到的目標(biāo):
- 可靠性(Reliable)。軟件系統(tǒng)對(duì)于用戶(hù)的商業(yè)經(jīng)營(yíng)和管理來(lái)說(shuō)極為重要,因此軟件系統(tǒng)必須非??煽?。
- 安全性(Secure)。軟件系統(tǒng)所承擔(dān)的交易的商業(yè)價(jià)值極高,系統(tǒng)的安全性非常重要。
- 伸縮性(SCAlable)。軟件必須能夠在用戶(hù)的使用率、用戶(hù)的數(shù)目增加很快的情況下,保持合理的性能。只有這樣,才能適應(yīng)用戶(hù)的市場(chǎng)擴(kuò)展得可能性。
- 可定制化(CuSTomizable)。同樣的一套軟件,可以根據(jù)客戶(hù)群的不同和市場(chǎng)需求的變化進(jìn)行調(diào)整。
- 可擴(kuò)展性(Extensible)。在新技術(shù)出現(xiàn)的時(shí)候,一個(gè)軟件系統(tǒng)應(yīng)當(dāng)允許導(dǎo)入新技術(shù),從而對(duì)現(xiàn)有系統(tǒng)進(jìn)行功能和性能的擴(kuò)展。
- 可維護(hù)性(MAIntainable)。軟件系統(tǒng)的維護(hù)包括兩方面,一是排除現(xiàn)有的錯(cuò)誤,二是將新的軟件需求反映到現(xiàn)有系統(tǒng)中去。一個(gè)易于維護(hù)的系統(tǒng)可以有效地降低技術(shù)支持的花費(fèi)。
- 客戶(hù)體驗(yàn)(Customer Experience)。軟件系統(tǒng)必須易于使用。
- 市場(chǎng)時(shí)機(jī)(Time to Market)。軟件用戶(hù)要面臨同業(yè)競(jìng)爭(zhēng),軟件提供商也要面臨同業(yè)競(jìng)爭(zhēng)。以最快的速度爭(zhēng)奪市場(chǎng)先機(jī)非常重要。
4+1架構(gòu)視圖模型:
構(gòu)架通常由許多不同的構(gòu)架視圖來(lái)表示,以圖形方式來(lái)摘要說(shuō)明“在構(gòu)架方面具有重要意義”的模型元素。其中,“4+1架構(gòu)視圖模型”是1995年由Philippe kruchen在《IEEE software》上發(fā)表的題為《The 4+1 View Model of Architecture》中提出的,目前被廣泛使用。
- 用例視圖:包括用例和場(chǎng)景,這些用例和場(chǎng)景包括在構(gòu)架方面具有重要意義的行為、類(lèi)或技術(shù)風(fēng)險(xiǎn)。它是用例模型的子集。
- 邏輯視圖:包括最重要的設(shè)計(jì)類(lèi)、從這些設(shè)計(jì)類(lèi)到包和子系統(tǒng)的組織形式,以及從這些包和子系統(tǒng)到層的組織形式。它還包括一些用例實(shí)現(xiàn)。它是設(shè)計(jì)模型的子集。
- 實(shí)施視圖:包括實(shí)施模型及其從模塊到包和層的組織形式的概覽。 同時(shí)還描述了將邏輯視圖中的包和類(lèi)向?qū)嵤┮晥D中的包和模塊分配的情況。它是實(shí)施模型的子集。
- 進(jìn)程視圖:包括所涉及任務(wù)(進(jìn)程和線程)的描述,它們的交互和配置,以及將設(shè)計(jì)對(duì)象和類(lèi)向任務(wù)的分配情況。只有在系統(tǒng)具有很高程度的并行時(shí),才需要該視圖。在 Rational Unified Process 中,它是設(shè)計(jì)模型的子集。
- 配置視圖:包括對(duì)最典型的平臺(tái)配置的各種物理節(jié)點(diǎn)的描述以及將任務(wù)(來(lái)自進(jìn)程視圖)向物理節(jié)點(diǎn)分配的情況。只有在分布式系統(tǒng)中才需要該視圖。它是部署模型的一個(gè)子集。構(gòu)架視圖記錄在軟件構(gòu)架文檔中。
可以通過(guò)構(gòu)建其他視圖來(lái)表達(dá)需要特別關(guān)注的部分,如用戶(hù)界面視圖、安全視圖、數(shù)據(jù)視圖等等。而對(duì)于簡(jiǎn)單的系統(tǒng),亦可以省略 4+1 視圖模型中的某些些視圖。

 
                         
                                
 
                                









 
                        
