国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

系統(tǒng)架構(gòu)設(shè)計師 7:系統(tǒng)架構(gòu)設(shè)計

這篇具有很好參考價值的文章主要介紹了系統(tǒng)架構(gòu)設(shè)計師 7:系統(tǒng)架構(gòu)設(shè)計。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、軟件架構(gòu)

軟件架構(gòu)(Software Architecture, SA)并非可運(yùn)行軟件,確切地說,它是一種表達(dá),使軟件工程師能夠:

1. 分析設(shè)計在滿足所規(guī)定的需求方面的有效性;

2. 在設(shè)計變更相對容易的階段,考慮體系結(jié)構(gòu)可能的選擇方案;

3. 降低與軟件構(gòu)造相關(guān)聯(lián)的風(fēng)險。

軟件架構(gòu)設(shè)計的生命周期包括:

1. 需求分析階段。

2. 設(shè)計階段。

3. 實現(xiàn)階段。

4. 構(gòu)件組裝階段。

5. 部署階段。

6. 后開發(fā)階段。

二、基于架構(gòu)的軟件開發(fā)方法

基于體系結(jié)構(gòu)的軟件設(shè)計(Architecture-Base Software Design, ABSD)方法是由構(gòu)成體系結(jié)構(gòu)的商業(yè)、質(zhì)量和功能需求的組合驅(qū)動的。ABSD方法有三個基礎(chǔ):

1. 功能的分解。

? ? 使用已有的基于模塊的內(nèi)聚和耦合技術(shù)。

2. 通過選擇體系結(jié)構(gòu)風(fēng)格來實現(xiàn)質(zhì)量和商業(yè)需求。

3. 軟件模板的使用。

1 基于體系結(jié)構(gòu)的開發(fā)模型

傳統(tǒng)的軟件開發(fā)過程可以劃分為:

1. 問題定義。

2. 需求分析。

3. 軟件設(shè)計。

4. 軟件實現(xiàn)。

5. 軟件測試。

ABSD模型把整個基于體系結(jié)構(gòu)的軟件過程劃分為以下六個子過程:

1. 需求。

2. 設(shè)計。

3. 文檔化。

4. 復(fù)審。

5. 實現(xiàn)。

6. 演化。

1.1 體系結(jié)構(gòu)需求

體系結(jié)構(gòu)需求過程主要是獲取用戶需求,標(biāo)識系統(tǒng)中所要用到的構(gòu)件。

如果以前有類似的系統(tǒng)體系結(jié)構(gòu)的需求,我們可以從需求庫中取出,加以利用和修改,以節(jié)省需求獲取的時間,減少重復(fù)勞動,提高開發(fā)效率。

1. 需求獲取。

? ? 一般來自系統(tǒng)的質(zhì)量目標(biāo)、系統(tǒng)的商業(yè)目標(biāo)、系統(tǒng)開發(fā)人員的商業(yè)目標(biāo)。

2. 標(biāo)識構(gòu)件。

? ? 又可分為三步:生成類圖、對類進(jìn)行分組、把類打包成構(gòu)件。

3. 架構(gòu)需求評審。

? ? 所獲取的需求是否真實地反映了用戶的要求,類的分組是否合理,構(gòu)件合并是否合理等。

1.2 體系結(jié)構(gòu)設(shè)計

1. 提出軟件體系結(jié)構(gòu)模型。

? ? 在建立體系結(jié)構(gòu)的初期,選擇一個合適的體系結(jié)構(gòu)風(fēng)格是首要的。

2. 把已標(biāo)識的構(gòu)件映射到軟件體系結(jié)構(gòu)中。

? ? 產(chǎn)生一個中間結(jié)構(gòu)。

3. 分析構(gòu)件之間的相互作用。

4. 產(chǎn)生軟件體系結(jié)構(gòu)。

? ? 對中間結(jié)構(gòu)進(jìn)行精化。

5. 設(shè)計評審。

1.3 體系結(jié)構(gòu)文檔化

體系結(jié)構(gòu)文檔化過程的主要輸出結(jié)果是兩個文檔:

1. 體系結(jié)構(gòu)規(guī)格說明。

2. 測試體系結(jié)構(gòu)需求的質(zhì)量設(shè)計說明書。

1.4 體系結(jié)構(gòu)復(fù)審

體系結(jié)構(gòu)能否滿足要求、質(zhì)量需求是否在設(shè)計中得到體現(xiàn)、層次是否清晰、構(gòu)件的劃分是否合理、文檔表達(dá)是否明確、構(gòu)件的設(shè)計是否滿足功能與性能的要求等。

1.5 體系結(jié)構(gòu)實現(xiàn)

所謂“實現(xiàn)”就是要用實體來顯示出一個軟件體系結(jié)構(gòu),即要符合體系結(jié)構(gòu)所描述的結(jié)構(gòu)性設(shè)計決策,分割成規(guī)定的構(gòu)件,按規(guī)定方式互相交互。

體系結(jié)構(gòu)的實現(xiàn)過程分為以下階段:

1. 復(fù)審后的文檔化的體系結(jié)構(gòu)。

2. 分析與設(shè)計。

3. 構(gòu)件實現(xiàn)。

4. 構(gòu)件組裝。

5. 系統(tǒng)測試。

1.6 體系結(jié)構(gòu)的演化

體系結(jié)構(gòu)演化是使用系統(tǒng)演化步驟去修改應(yīng)用,以滿足新的需求。主要包括以下六個步驟:

1. 需求變化歸類。

2. 制訂體系結(jié)構(gòu)演化計劃。

3. 修改、增加或刪除構(gòu)件。

4. 更新構(gòu)件的相互作用。

5. 構(gòu)件組裝與測試。

6. 技術(shù)評審。

三、軟件架構(gòu)風(fēng)格

1 數(shù)據(jù)流體系結(jié)構(gòu)風(fēng)格

1.1 批處理體系結(jié)構(gòu)風(fēng)格

在批處理風(fēng)格的軟件體系結(jié)構(gòu)中,每個處理步驟是一個單獨的程序,每一步必須在前一步結(jié)束后才能開始,并且數(shù)據(jù)必須是完整的,以整體的方式傳遞。

1. 基本構(gòu)件:獨立的應(yīng)用程序。

2. 連接件:某種類型的媒介。

1.2 管道-過濾器體系結(jié)構(gòu)風(fēng)格

當(dāng)數(shù)據(jù)源源不斷地產(chǎn)生,系統(tǒng)就需要對這些數(shù)據(jù)進(jìn)行若干處理(分析、計算、轉(zhuǎn)換等)?,F(xiàn)有的解決方案是把系統(tǒng)分解成幾個序貫的處理步驟,這些處理步驟之間通過數(shù)據(jù)流連接,一個步驟的輸出是另一個步驟的輸入。每個處理步驟由一個過濾器(Filter)實現(xiàn),處理步驟之間的數(shù)據(jù)傳輸由管道(Pipe)負(fù)責(zé)。

1. 基本構(gòu)件:過濾器。

? ? 每個處理步驟都有一組輸入和輸出。過濾器從管道中讀取輸入的數(shù)據(jù)流,經(jīng)過內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流并寫入管道中。

2. 連接件:數(shù)據(jù)流傳輸管道。

? ? 將一個過濾器的輸出傳到另一過濾器的輸入。

2 調(diào)用/返回體系結(jié)構(gòu)風(fēng)格

利用調(diào)用-返回實際上是一種分而治之的策略,其主要思想是將一個復(fù)雜的大系統(tǒng)分解為若干子系統(tǒng),以便降低復(fù)雜度,并且增加可修改性。程序從其執(zhí)行起點開始執(zhí)行該構(gòu)件的代碼,程序執(zhí)行結(jié)束,將控制返回給程序調(diào)用構(gòu)件。

2.1 主程序/子程序風(fēng)格

主程序/子程序風(fēng)格一般采用單線程控制,把問題劃分為若干處理步驟。

1. 構(gòu)件:主程序和子程序。

? ? 子程序通??珊铣蔀槟K。

2. 連接件:過程調(diào)用。

? ? 調(diào)用關(guān)系具有層次性,其語義邏輯表現(xiàn)為子程序的正確性取決于它調(diào)用的子程序的正確性。

2.2 面向?qū)ο篌w系結(jié)構(gòu)風(fēng)格

目前軟件界已普遍轉(zhuǎn)向使用面向?qū)ο笙到y(tǒng)。這種風(fēng)格建立數(shù)據(jù)抽象和面向?qū)ο蠡A(chǔ)上,數(shù)據(jù)的表示方法和它們的相應(yīng)操作封裝在一個抽象數(shù)據(jù)類型或?qū)ο笾小?/p>

1. 構(gòu)件:對象,或者說是抽象數(shù)據(jù)類型的實例。

2. 連接件:對象之間的交互。

2.3 層次型體系結(jié)構(gòu)風(fēng)格

層次系統(tǒng)組成一個層次結(jié)構(gòu),每一層為上層提供服務(wù),并作為下層的客戶。

在一些層次系統(tǒng)中,除了一些精心挑選的輸出函數(shù)外,內(nèi)部的層接口只對相鄰的層可見。

1. 構(gòu)件:在層上實現(xiàn)了虛擬機(jī)。

2. 連接件:由通過決定層間如何交互的協(xié)議來定義。

? ? 拓?fù)浼s束包括對相鄰層間交互的約束。

2.4 客戶端/服務(wù)器體系結(jié)構(gòu)風(fēng)格

C/S(客戶端/服務(wù)器)軟件體系結(jié)構(gòu)是基于資源不對等,且為實現(xiàn)共享而提出的。

兩層C/S體系結(jié)構(gòu)有三個主要組成部分:

1. 數(shù)據(jù)庫服務(wù)器。

? ? 負(fù)責(zé)數(shù)據(jù)管理。

2. 客戶應(yīng)用程序。

? ? 完成與用戶的交互任務(wù)。

3. 網(wǎng)絡(luò)。

三層C/S結(jié)構(gòu)是在兩層C/S結(jié)構(gòu)的基礎(chǔ)上增加了一個應(yīng)用服務(wù)器。整個應(yīng)用邏輯駐留在應(yīng)用服務(wù)器上,只有表示層存在于客戶機(jī)上。應(yīng)用功能分為:

1. 表示層。

? ? 應(yīng)用的用戶接口部分,通常使用圖形用戶界面。

2. 功能層。

? ? 應(yīng)用的主體,實現(xiàn)具體的業(yè)務(wù)處理邏輯。

3. 數(shù)據(jù)層。

? ? 數(shù)據(jù)庫管理系統(tǒng)。

3 以數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格

3.1 倉庫體系結(jié)構(gòu)風(fēng)格

倉庫是存儲和維護(hù)數(shù)據(jù)的中心場所。

1. 構(gòu)件:中央數(shù)據(jù)結(jié)構(gòu)以及一組對中央數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的獨立構(gòu)件。

2. 連接件:倉庫與獨立構(gòu)件之間的交互。

3.2 黑板體系結(jié)構(gòu)風(fēng)格

黑板系統(tǒng)是一種問題求解模型,是組織推理步驟、控制狀態(tài)數(shù)據(jù)和問題求解之領(lǐng)域知識的概念框架。

4 虛擬機(jī)體系結(jié)構(gòu)風(fēng)格

虛擬機(jī)體系結(jié)構(gòu)風(fēng)格的基本思想是人為構(gòu)建一個運(yùn)行環(huán)境,在這個環(huán)境之上,可以解析與運(yùn)行自定義的一些語言,這樣來增加架構(gòu)的靈活性。

4.1 解釋器體系結(jié)構(gòu)風(fēng)格

一個解釋器通常包括完成解釋工作的解釋引擎,一個包含將被注釋代碼的存儲區(qū),一個記錄解釋引擎當(dāng)前工作狀態(tài)的數(shù)據(jù)結(jié)構(gòu),以及一個記錄源代碼被解釋執(zhí)行進(jìn)度的數(shù)據(jù)結(jié)構(gòu)。

具有解釋器風(fēng)格的軟件中含有一個虛擬機(jī),可以仿真硬件的執(zhí)行過程和一些關(guān)鍵應(yīng)用。

解釋器通常被用來建立一種虛擬機(jī)以彌合程序語義與硬件語義之間的差異。其缺點是執(zhí)行效率較低。

4.2 規(guī)則系統(tǒng)體系結(jié)構(gòu)風(fēng)格

基于規(guī)則的系統(tǒng)包括規(guī)則集、規(guī)則解釋器、規(guī)則/數(shù)據(jù)選擇器及工作內(nèi)存。

5 獨立構(gòu)件體系結(jié)構(gòu)風(fēng)格

獨立構(gòu)件風(fēng)格主要強(qiáng)調(diào)系統(tǒng)中的每個構(gòu)件都是相對獨立的個體,它們之間不直接通信,以降低耦合度,提升靈活性。

5.1 進(jìn)程通信體系結(jié)構(gòu)風(fēng)格

1. 構(gòu)件:通常是命名過程。

2. 連接件:消息傳遞。

? ? 可以是點到點、異步或同步方式及遠(yuǎn)程過程調(diào)用等。

5.2 事件系統(tǒng)體系結(jié)構(gòu)風(fēng)格

事件系統(tǒng)風(fēng)格基于事件的隱式調(diào)用風(fēng)格的思想是構(gòu)件不直接調(diào)用一個過程,而是觸發(fā)或廣播一個或多個事件。

系統(tǒng)中的其他構(gòu)件中的過程在一個或多個事件中注冊,當(dāng)一個事件被觸發(fā),系統(tǒng)自動調(diào)用在這個事件中注冊的所有過程,這樣,一個事件的觸發(fā)就導(dǎo)致了另一模塊中的過程的調(diào)用。

基于事件的隱式調(diào)用風(fēng)格的主要特點是事件的觸發(fā)者并不知道哪些構(gòu)件會被這些事件影響。這使得不能假定構(gòu)件的處理順序,甚至不知道哪些過程會被調(diào)用,因此,許多隱式調(diào)用的系統(tǒng)也包含顯式調(diào)用作為構(gòu)件交互的補(bǔ)充形式。

四、軟件架構(gòu)復(fù)用

1 軟件產(chǎn)品線、核心資產(chǎn)庫、軟件復(fù)用

軟件產(chǎn)品線是指一組軟件密集型系統(tǒng),它們共享一個公共的、可管理的特性集,滿足某個特定市場或任務(wù)的具體需要,是以規(guī)定的方式用公共的核心資產(chǎn)集成開發(fā)出來的。即圍繞核心資產(chǎn)庫進(jìn)行管理、復(fù)用、集成新的系統(tǒng)。

核心資產(chǎn)庫包括軟件架構(gòu)及可剪裁的元素,更廣泛地,它還包括設(shè)計方案及其文檔、用戶手冊、項目管理的歷史記錄、軟件測試計劃和測試用例。

軟件復(fù)用是指系統(tǒng)化的軟件開發(fā)過程:開發(fā)一組基本的軟件構(gòu)造模塊,以覆蓋不同的需求/體系結(jié)構(gòu)之間的相似性,從而提高系統(tǒng)開發(fā)的效率、質(zhì)量和性能。軟件架構(gòu)復(fù)用的分類包括:

1. 機(jī)會復(fù)用。

? ? 指開發(fā)過程中,只要發(fā)現(xiàn)有可用的資產(chǎn),就對其進(jìn)行復(fù)用。

2. 系統(tǒng)復(fù)用。

? ? 指在開發(fā)之前,就要進(jìn)行規(guī)劃,以決定哪些需要復(fù)用。

2 軟件架構(gòu)復(fù)用的對象

以下通通能復(fù)用(程序人的事情能叫抄嗎?):

1. 需求。

2. 架構(gòu)設(shè)計。

3. 元素。

4. 建模與分析。

5. 測試。

6. 項目規(guī)劃。

7. 過程、方法和工具。

8. 人員。

9. 樣本系統(tǒng)。

10. 缺陷消除。

3 軟件架構(gòu)復(fù)用的基本過程

1. 構(gòu)造/獲取可復(fù)用的軟件資產(chǎn)。

2. 管理可復(fù)用資產(chǎn)。

3. 使用可復(fù)用資產(chǎn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-518185.html

到了這里,關(guān)于系統(tǒng)架構(gòu)設(shè)計師 7:系統(tǒng)架構(gòu)設(shè)計的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包