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

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

論文:論軟件體系結(jié)構(gòu)風(fēng)格及其應(yīng)用
軟件體系結(jié)構(gòu)設(shè)計(jì)的一個核心問題是如何有效地使用重復(fù)的體系結(jié)構(gòu)模式,即達(dá)到軟件體系結(jié)構(gòu)級的軟件重用。軟件體系結(jié)構(gòu)風(fēng)格(Software Architecture Style)是描述軟件系統(tǒng)組織方式的常用模式,在實(shí)踐中已經(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)格、獨(dú)立構(gòu)件(Independent Components)風(fēng)格、虛擬機(jī)(Virtual Machines)風(fēng)格和倉庫(Repositories)風(fēng)格五大類。在實(shí)際應(yīng)用中,隨著軟件系統(tǒng)規(guī)模的擴(kuò)大和復(fù)雜,一個系統(tǒng)往往會同時使用多類體系結(jié)構(gòu)風(fēng)格,這些風(fēng)格可以交叉組合、彼此重疊。
請圍繞"軟件體系結(jié)構(gòu)風(fēng)格及其應(yīng)用"論題,依次從以下3個方面進(jìn)行論述:
①概要敘述你參與管理和開發(fā)的軟件項(xiàng)目及你在其中所擔(dān)任的主要工作。
②請說明以上軟件體系結(jié)構(gòu)風(fēng)格分類中每一類有哪些經(jīng)典的軟件體系結(jié)構(gòu)設(shè)計(jì)風(fēng)格,并就其中至少三類論述其具體的軟件體系結(jié)構(gòu)風(fēng)格的構(gòu)件、連接件類型和組合約束要求等結(jié)構(gòu)特征及其應(yīng)用特點(diǎn)。
③具體闡述你參與管理和開發(fā)的項(xiàng)目中在體系結(jié)構(gòu)設(shè)計(jì)時選擇使用軟件體系結(jié)構(gòu)風(fēng)格的情況,包括選擇的依據(jù)、多個風(fēng)格組合使用的情況等,以及最終實(shí)際效果。

2.問答題

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

3.問答題

論大規(guī)模分布式系統(tǒng)緩存設(shè)計(jì)策略
大規(guī)模分布式系統(tǒng)通常需要利用緩存技術(shù)減輕服務(wù)器負(fù)載、降低網(wǎng)絡(luò)擁塞、增強(qiáng)系統(tǒng)可擴(kuò)展性。緩存技術(shù)的基本思想是將客戶最近經(jīng)常訪問的內(nèi)容在緩存服務(wù)器中存放一個副本,當(dāng)該內(nèi)容下次被訪問時,不必建立新的數(shù)據(jù)請求,而是直接由緩存提供。良好的緩存設(shè)計(jì),是一個大規(guī)模分布式系統(tǒng)能夠正常、高效運(yùn)行的必要前提。在進(jìn)行大規(guī)模分布式系統(tǒng)開發(fā)時,必須從一開始就針對應(yīng)用需求和場景對系統(tǒng)的緩存機(jī)制進(jìn)行全面考慮,設(shè)計(jì)一個可伸縮的系統(tǒng)緩存架構(gòu)。
請圍繞"大規(guī)模分布式系統(tǒng)緩存設(shè)計(jì)策略"論題,依次從以下3個方面進(jìn)行論述:
①概要敘述你參與實(shí)施的大規(guī)模分布式系統(tǒng)開發(fā)項(xiàng)目及你所擔(dān)任的主要工作。
②從不同的用途和應(yīng)用場景考慮,請?jiān)敿?xì)闡述至少兩種常見的緩存工作模式,并說明每種工作模式的適應(yīng)場景。
③闡述你在設(shè)計(jì)大規(guī)模分布式系統(tǒng)的緩存機(jī)制時遇到了哪些問題,如何解決。