軟件架構(gòu)的概念(★★★)
軟件架構(gòu)風(fēng)格(★★★★★)
架構(gòu)描述語(yǔ)言ADL(★★★)
特定領(lǐng)域軟件架構(gòu)(★★★)
基于架構(gòu)的軟件開(kāi)發(fā)(★★★★)
軟件質(zhì)量屬性(★★★★★)
軟件架構(gòu)評(píng)估(★★★★★)
軟件產(chǎn)品線(★★★)
構(gòu)件與中間件技術(shù)(★★★★)
Web架構(gòu)設(shè)計(jì)(★★★★★)
架構(gòu)的本質(zhì)
1、軟件架構(gòu)為軟件系統(tǒng)提供了一個(gè)結(jié)構(gòu)、行為和屬性的高級(jí)抽象。
2、軟件架構(gòu)風(fēng)格是特定應(yīng)用領(lǐng)域的慣用模式,架構(gòu)定義一個(gè)詞匯表和組約束。
架構(gòu)的作用
1、軟件架構(gòu)是項(xiàng)目干系人進(jìn)行交流的手段。
2、軟件架構(gòu)是可傳遞和可復(fù)用的模型,通過(guò)研究軟件架構(gòu)可能預(yù)測(cè)軟件的質(zhì)量。
3、軟件架構(gòu)使推理和控制的更改更加簡(jiǎn)單,有助于循序漸進(jìn)的原型設(shè)計(jì),可以作為培訓(xùn)的基礎(chǔ)。
軟件架構(gòu)的概念
以下敘述,(D)不是軟件架構(gòu)的主要作用。
A在設(shè)計(jì)變更相對(duì)容易的階段,考慮系統(tǒng)結(jié)構(gòu)的可選方案
B便于技術(shù)人員與非技術(shù)人員就軟件設(shè)計(jì)進(jìn)行交互
C展現(xiàn)軟件的結(jié)構(gòu)、屬性與內(nèi)部交互關(guān)系
D表達(dá)系統(tǒng)是否滿足用戶(hù)的功能性需求
架構(gòu)的發(fā)展歷程
架構(gòu)的"4+1"視圖
UML的“4+1”視圖
軟件架構(gòu)風(fēng)格
- 架構(gòu)風(fēng)格反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語(yǔ)義特性,并指導(dǎo)如何將各個(gè)構(gòu)件有效地組織成一個(gè)完整的系統(tǒng)。
- 架構(gòu)風(fēng)格定義了用于描述系統(tǒng)的術(shù)語(yǔ)表和一組指導(dǎo)構(gòu)建系統(tǒng)的規(guī)則。
軟件架構(gòu)風(fēng)格——數(shù)據(jù)流風(fēng)格【數(shù)據(jù)驅(qū)動(dòng)】
批處理和管道-過(guò)濾器
調(diào)用/返回風(fēng)格
調(diào)用/返回風(fēng)格之分層架構(gòu)風(fēng)格
獨(dú)立構(gòu)件風(fēng)格
其中最常見(jiàn)的子風(fēng)格是:事件驅(qū)動(dòng)系統(tǒng)【隱式調(diào)用】
構(gòu)件之間,不直接交互【松耦合】
優(yōu)點(diǎn)、缺點(diǎn)、特點(diǎn)
虛擬機(jī)風(fēng)格
JAVA虛擬機(jī)【windos版本、linux版本】
倉(cāng)庫(kù)風(fēng)格
使用了倉(cāng)庫(kù)風(fēng)格的例子:注冊(cè)表、剪切版
黑板系統(tǒng)
黑板風(fēng)格適用于解決疑難雜癥
優(yōu)缺點(diǎn)
閉環(huán)控制架構(gòu)(過(guò)程控制)
開(kāi)環(huán)控制系統(tǒng):控制器控制電視機(jī)換臺(tái)
閉環(huán)控制系統(tǒng):空調(diào)溫度自動(dòng)反饋調(diào)節(jié)【空調(diào)溫控、定速巡航】
C2風(fēng)格
C2架構(gòu)的基本規(guī)則:
- 構(gòu)件和連接件都有一個(gè)頂部和一個(gè)底部。
- 構(gòu)件的頂部要連接到連接件的底部,構(gòu)件的底部要連接到連接件的頂部,構(gòu)件之間不允許直連。
- 一個(gè)連接件可以和任意數(shù)目的其他構(gòu)件和連接件連接。
- 當(dāng)兩個(gè)連接件進(jìn)行直接連接時(shí),必須由其中一個(gè)的底部到另一個(gè)的頂部。
練習(xí)題
填空題
-
Java程序可以做到“一次編寫(xiě),到處運(yùn)行”,從架構(gòu)風(fēng)格上看符合(虛擬機(jī))風(fēng)格的特點(diǎn)。
-
在網(wǎng)絡(luò)通信中,進(jìn)行包的解析,一般先進(jìn)行包頭的分離,然后進(jìn)行報(bào)文解析及后續(xù)處理,根據(jù)這一特點(diǎn),選用(數(shù)據(jù)流)風(fēng)格最合適。
-
某公司欲開(kāi)發(fā)一個(gè)基于圖形用戶(hù)界面的集成調(diào)試器。該調(diào)試器的編輯器和變量監(jiān)視器可以設(shè)置調(diào)試斷點(diǎn)。當(dāng)調(diào)試器在斷點(diǎn)處暫停運(yùn)行時(shí),編輯程序可以自動(dòng)卷屏到斷點(diǎn),變量監(jiān)視器刷新變量數(shù)值。針對(duì)這樣的功能描述,采用(隱式調(diào)用/事件驅(qū)動(dòng))的架構(gòu)風(fēng)格最為合適。
-
某游戲公司欲開(kāi)發(fā)一個(gè)大型多人即時(shí)戰(zhàn)略游戲,游戲設(shè)計(jì)的目標(biāo)之一是能夠支持玩家自行創(chuàng)建戰(zhàn)役地圖,定義游戲?qū)ο蟮男袨楹椭g的關(guān)系。針對(duì)該目標(biāo),公司應(yīng)該采用(解釋器)架構(gòu)風(fēng)格最為合適。(四選一:管道-過(guò)濾器、隱式調(diào)用、主程序-子程序、解釋器)
-
某公司承接了一個(gè)開(kāi)發(fā)家用空調(diào)自動(dòng)調(diào)溫器的任務(wù),調(diào)溫器測(cè)量外部空氣溫度,根據(jù)設(shè)定的期望溫度控制空調(diào)的開(kāi)關(guān)。根據(jù)該需求,公司應(yīng)采用(過(guò)程控制)架構(gòu)風(fēng)格最為百色。(四選—︰解釋器、過(guò)程控制、分層、管道-過(guò)濾器)
-
某公司欲開(kāi)發(fā)一個(gè)語(yǔ)音識(shí)別系統(tǒng),語(yǔ)音識(shí)別的主要過(guò)程包括分割原始語(yǔ)音信號(hào)、識(shí)別音素、產(chǎn)生候選詞、判定語(yǔ)法片斷、提供語(yǔ)義解釋等。每個(gè)過(guò)程都需要進(jìn)行基于先驗(yàn)知識(shí)的條件判斷并進(jìn)行相應(yīng)的識(shí)別動(dòng)作。針對(duì)該系統(tǒng)的特點(diǎn),采用(黑板)架構(gòu)風(fēng)格最為合適。(四選一︰解釋器、面向?qū)ο蟆⒑诎濉㈦[式調(diào)用)
-
某公司欲開(kāi)發(fā)一個(gè)漫步者機(jī)器人,用來(lái)完成火星探測(cè)任務(wù)。機(jī)器人的控制者首先定義探測(cè)任務(wù)和任務(wù)之間的時(shí)序依賴(lài)性,機(jī)器人接受任務(wù)后,需要根據(jù)自身狀態(tài)和外界環(huán)境進(jìn)行動(dòng)態(tài)調(diào)整,最終自動(dòng)完成任務(wù)。針對(duì)這些需求,該機(jī)器人應(yīng)該采用(解釋器)架構(gòu)風(fēng)格最為合適。(四選一:解釋器、主程序-子程序、隱式調(diào)用、管道-過(guò)濾器)
機(jī)器人的控制者首先定義探測(cè)任務(wù)和任務(wù)之間的時(shí)序依賴(lài)性 解釋器
需要根據(jù)自身狀態(tài)和外界環(huán)境進(jìn)行動(dòng)態(tài)調(diào)整 過(guò)程控制、隱式調(diào)用
-
Windows操作系統(tǒng)在圖形用戶(hù)界面處理方面采用的核心架構(gòu)風(fēng)格是(隱式調(diào)用/事件驅(qū)動(dòng))風(fēng)格。
選擇題
“編譯器”是一種非常重要的基礎(chǔ)軟件,其核心功能是對(duì)源代碼形態(tài)的單個(gè)或一組源程序依次進(jìn)行預(yù)處理、詞法分析、語(yǔ)法分析、語(yǔ)義分析、代碼生成、代碼優(yōu)化等處理,最終生成目標(biāo)機(jī)器的可執(zhí)行代碼??紤]以下與編譯器相關(guān)的軟件架構(gòu)設(shè)計(jì)場(chǎng)景:傳統(tǒng)的編譯器設(shè)計(jì)中,上述處理過(guò)程都以獨(dú)立功能模塊的形式存在,程序源代碼作為一個(gè)整體,依次在不同模塊中進(jìn)行傳遞,最終完成編譯過(guò)程。針對(duì)這種設(shè)計(jì)思路,傳統(tǒng)的編譯器采用(B)架構(gòu)風(fēng)格比較合適。
隨著編譯、鏈接、調(diào)試、執(zhí)行等開(kāi)發(fā)過(guò)程的一體化趨勢(shì)發(fā)展,集成開(kāi)發(fā)環(huán)境(IDE)隨之出現(xiàn)。IDE集成了編譯器、連接器、調(diào)試器等多種工具,支持代碼的增量修改與處理,能夠?qū)崿F(xiàn)不同工具之間的信息交互,覆蓋整個(gè)軟件開(kāi)發(fā)生命周期。針對(duì)這種需求,IDE采用(C)架構(gòu)風(fēng)格比較合適。IDE強(qiáng)調(diào)交互式編程,用戶(hù)在修改程序代碼后,會(huì)同時(shí)觸發(fā)語(yǔ)法高亮顯示、語(yǔ)法錯(cuò)誤提示、程序結(jié)構(gòu)更新等多種功能的調(diào)用與結(jié)果呈現(xiàn),針對(duì)這種需求,通常采用(A)架構(gòu)風(fēng)格比較合適。
某公司已經(jīng)開(kāi)發(fā)了一款針對(duì)某種嵌入式操作系統(tǒng)專(zhuān)用編程語(yǔ)言的IDE,隨著一種新的嵌入式操作系統(tǒng)上市并迅速占領(lǐng)市場(chǎng),公司決定對(duì)IDE進(jìn)行適應(yīng)性改造,支持采用現(xiàn)有編程語(yǔ)言進(jìn)行編程,生成符合新操作系統(tǒng)要求的運(yùn)行代碼,并能夠在現(xiàn)有操作系統(tǒng)上模擬出新操作系統(tǒng)的運(yùn)行環(huán)境,以支持代碼調(diào)試工作。針對(duì)上述要求,為了使IDE能夠生成符合新操作系統(tǒng)要求的運(yùn)行代碼,采用基于(B)的架構(gòu)設(shè)計(jì)策略比較合適;為了模擬新操作系統(tǒng)的運(yùn)行環(huán)境,通常采用(D)架構(gòu)風(fēng)格比較合適。
(1)A.管道-過(guò)濾器 B.順序批處理 C.過(guò)程控制 D.獨(dú)立進(jìn)程
(2)A.規(guī)則引擎 B.解釋器 C.?dāng)?shù)據(jù)共享 D.獨(dú)立構(gòu)件
(3)A.隱式調(diào)用 B.顯式調(diào)用 C.主程序-子程序 D.層次結(jié)構(gòu)
(4)A.代理 B.適配 C.包裝 D.模擬文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-406625.html
(5)A.隱式調(diào)用 B.倉(cāng)庫(kù)結(jié)構(gòu) C.基于規(guī)則 D.虛擬機(jī)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-406625.html
到了這里,關(guān)于軟考之軟件架構(gòu)設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!