高級系統(tǒng)架構(gòu)師系統(tǒng)架構(gòu)設(shè)計論文問答題每日一練(2019.01.23)

來源:考試資料網(wǎng)
1.問答題

論文:論軟件體系結(jié)構(gòu)風(fēng)格及其應(yīng)用
軟件體系結(jié)構(gòu)設(shè)計的一個核心問題是如何有效地使用重復(fù)的體系結(jié)構(gòu)模式,即達到軟件體系結(jié)構(gòu)級的軟件重用。軟件體系結(jié)構(gòu)風(fēng)格(Software Architecture Style)是描述軟件系統(tǒng)組織方式的常用模式,在實踐中已經(jīng)被多次應(yīng)用。按照Shaw和Garlan的說法,"一種體系結(jié)構(gòu)風(fēng)格定義了構(gòu)件類型和連接件類型的詞匯表,以及它們?nèi)绾谓M合的約束條件"。體系結(jié)構(gòu)風(fēng)格通常分為數(shù)據(jù)流(Data Flow)風(fēng)格、調(diào)用/返回(Call/Return)風(fēng)格、獨立構(gòu)件(Independent Components)風(fēng)格、虛擬機(Virtual Machines)風(fēng)格和倉庫(Repositories)風(fēng)格五大類。在實際應(yīng)用中,隨著軟件系統(tǒng)規(guī)模的擴大和復(fù)雜,一個系統(tǒng)往往會同時使用多類體系結(jié)構(gòu)風(fēng)格,這些風(fēng)格可以交叉組合、彼此重疊。
請圍繞"軟件體系結(jié)構(gòu)風(fēng)格及其應(yīng)用"論題,依次從以下3個方面進行論述:
①概要敘述你參與管理和開發(fā)的軟件項目及你在其中所擔(dān)任的主要工作。
②請說明以上軟件體系結(jié)構(gòu)風(fēng)格分類中每一類有哪些經(jīng)典的軟件體系結(jié)構(gòu)設(shè)計風(fēng)格,并就其中至少三類論述其具體的軟件體系結(jié)構(gòu)風(fēng)格的構(gòu)件、連接件類型和組合約束要求等結(jié)構(gòu)特征及其應(yīng)用特點。
③具體闡述你參與管理和開發(fā)的項目中在體系結(jié)構(gòu)設(shè)計時選擇使用軟件體系結(jié)構(gòu)風(fēng)格的情況,包括選擇的依據(jù)、多個風(fēng)格組合使用的情況等,以及最終實際效果。

2.問答題

論基于場景的軟件體系結(jié)構(gòu)評估方法
大型復(fù)雜軟件系統(tǒng)開發(fā)所關(guān)注的問題之一是質(zhì)量,在軟件系統(tǒng)的早期設(shè)計階段,選擇合適的體系結(jié)構(gòu)對系統(tǒng)許多關(guān)鍵質(zhì)量屬性(如可用性、可修改性、性能、安全性、易用性等)起著決定性的影響。不恰當(dāng)?shù)能浖w系結(jié)構(gòu)將給項目開發(fā)帶來災(zāi)難。因此,盡早分析和評估一個系統(tǒng)的體系結(jié)構(gòu)非常重要。軟件體系結(jié)構(gòu)分析和評估的目的是為了識別體系結(jié)構(gòu)中潛在的風(fēng)險,驗證系統(tǒng)的質(zhì)量需求在設(shè)計中是否得到體現(xiàn),預(yù)測系統(tǒng)的質(zhì)量并幫助開發(fā)人員進行設(shè)計決策。
軟件體系結(jié)構(gòu)的評估通常是指評估參與者在評估過程中利用特定評估方法對系統(tǒng)質(zhì)量屬性進行分析與評估?;谡{(diào)查問卷或檢查表的評估和基于場景(Scenarios)的評估是目前主要的兩類評估方式。利用場景評估技術(shù)進行軟件體系結(jié)構(gòu)評估的主流方法包括SAAM(Scenario-based Architecture Analysis Method)、ATAM(Architecture Tradeoff Analysis Method)和CBAM(Cost Benefit Analysis Method)。SAAM方法最初用于比較不同的體系結(jié)構(gòu),后來用于指導(dǎo)對體系結(jié)構(gòu)的檢查,使其主要關(guān)注潛在的問題,如需求沖突,或僅從某一參與者觀點出發(fā)的不全面的系統(tǒng)設(shè)計。ATAM方法在揭示出結(jié)構(gòu)滿足特定質(zhì)量目標(biāo)的同時,也能反映出質(zhì)量目標(biāo)之間的聯(lián)系,從而權(quán)衡多個質(zhì)量目標(biāo)。CBAM方法可以看做是ATAM方法的補充,在其評估結(jié)果上對軟件體系結(jié)構(gòu)的經(jīng)濟性進行評估。
請圍繞"基于場景的軟件體系結(jié)構(gòu)評估方法"論題,依次從以下3個方面進行論述:
①概要敘述你參與管理和開發(fā)的軟件項目以及你在其中所擔(dān)任的主要工作,包括角色、工作內(nèi)容等。
②請從評估目的、評估參與者、評估活動或過程、評估結(jié)果等幾個方面對SAAM或ATAM評估方法進行分析。
③結(jié)合你參與的實際工作和項目的實際情況,具體闡述你在進行體系結(jié)構(gòu)設(shè)計和評估時,采用了什么評估方法,如何具體實施,最終實際效果如何。