論基于場景的軟件體系結(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è)計和評估時,采用了什么評估方法,如何具體實施,最終實際效果如何。
您可能感興趣的試卷
- 2009年計算機技術(shù)與軟件專業(yè)技術(shù)資格高級系統(tǒng)架構(gòu)設(shè)計師下半年上午試卷
- 2009年計算機技術(shù)與軟件專業(yè)技術(shù)資格高級系統(tǒng)架構(gòu)設(shè)計師下半年下午試卷
- 2010年計算機技術(shù)與軟件專業(yè)技術(shù)資格高級系統(tǒng)架構(gòu)設(shè)計師下半年上午試卷
- 2011年計算機技術(shù)與軟件專業(yè)技術(shù)資格高級系統(tǒng)架構(gòu)設(shè)計師下半年上午試卷
- 2012年計算機技術(shù)與軟件專業(yè)技術(shù)資格高級系統(tǒng)架構(gòu)設(shè)計師下半年上午試卷
- 2013年計算機技術(shù)與軟件專業(yè)技術(shù)資格高級系統(tǒng)架構(gòu)設(shè)計師下半年上午試卷
- 2014年計算機技術(shù)與軟件專業(yè)技術(shù)資格高級系統(tǒng)架構(gòu)設(shè)計師下半年上午試卷
你可能感興趣的試題
最新試題
論文:論軟件三層結(jié)構(gòu)的設(shè)計目前,三層結(jié)構(gòu)或多層結(jié)構(gòu)已經(jīng)成為軟件開發(fā)的主流,采用三層結(jié)構(gòu)有很多好處,例如,能有效降低建設(shè)和維護成本,簡化管理,適應(yīng)大規(guī)模和復(fù)雜的應(yīng)用需求,可適應(yīng)不斷的變化和新的業(yè)務(wù)需求等。在三層結(jié)構(gòu)的開發(fā)中,中間件的設(shè)計占重要地位。請圍繞“軟件三層結(jié)構(gòu)的設(shè)計”論題,依次對以下3個方面進行論述。(1)概要敘述你參與分析和開發(fā)的軟件項目以及你所擔(dān)任的主要工作。(2)具體討論你是如何設(shè)計三層結(jié)構(gòu)的,詳細描述其設(shè)計過程,遇到過的問題以及解決的辦法。(3)分析你采用三層結(jié)構(gòu)所帶來的效果如何,以及有哪些還需要進一步改進的地方,如何改進?
論文:論信息系統(tǒng)的架構(gòu)設(shè)計架構(gòu)是信息系統(tǒng)的基石,對于信息系統(tǒng)項目的開發(fā)來說,一個清晰的架構(gòu)是首要的。傳統(tǒng)的開發(fā)過程可以劃分為從概念直到實現(xiàn)的若干個階段,包括問題定義、需求分析、軟件設(shè)計、軟件實現(xiàn)及軟件測試等。架構(gòu)的建立應(yīng)位于需求分析之后,軟件設(shè)計之前。請圍繞“信息系統(tǒng)的架構(gòu)設(shè)計”論題,分別從以下3個方面進行論述:(1)簡要敘述你參與分析和設(shè)計的信息系統(tǒng)(項目的背景、發(fā)起單位、目的、項目周期、交付的產(chǎn)品等),以及你在該項目中的工作。(2)結(jié)合你的項目經(jīng)歷,論述在系統(tǒng)開發(fā)中,為什么要重視架構(gòu)設(shè)計。詳細討論你是如何設(shè)計系統(tǒng)架構(gòu)的(3)你的架構(gòu)設(shè)計中還存在哪些問題?如何改進?
論文:論軟件架構(gòu)的選擇與應(yīng)用軟件架構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式(idiomatic paradigm)。對軟件架構(gòu)風(fēng)格的研究和實踐促進了對設(shè)計的重用,一些經(jīng)過實踐證實的解決方案也可以可靠地用于解決新的問題。架構(gòu)風(fēng)格的不變部分使不同的系統(tǒng)可以共享同一個實現(xiàn)代碼。只要系統(tǒng)是使用常用的、規(guī)范的方法來組織,就可使別的設(shè)計者很容易地理解系統(tǒng)的架構(gòu)。例如,如果某人把系統(tǒng)描述為C/S模式,則不必給出設(shè)計細節(jié),我們立刻就會明白系統(tǒng)是如何組織和工作的。請圍繞“軟件架構(gòu)的選擇與應(yīng)用”論題,依次對以下3個方面進行論述。(1)概要敘述你參與設(shè)計和開發(fā)的軟件項目以及你所擔(dān)任的主要工作。(2)詳細論述你是如何根據(jù)項目的實際需要設(shè)計軟件架構(gòu)的,特別是如何選擇多種不同的架構(gòu)來實現(xiàn)系統(tǒng)的。(3)分析你采用的架構(gòu)所帶來的效果,你的設(shè)計還存在哪些不足之處。
論軟件的靜態(tài)演化和動態(tài)演化及其應(yīng)用軟件演化(Software Evolution)是指軟件在其生命周期內(nèi)的更新行為和過程。演化是一系列貫穿軟件生命周期始終的活動,系統(tǒng)需求改變、功能實現(xiàn)增強、新功能加入、軟件架構(gòu)改變、軟件缺陷修復(fù)、運行環(huán)境改變均要求軟件系統(tǒng)能夠快速適應(yīng)變化,具有較強的演化能力。軟件靜態(tài)演化(Static Evolution)和動態(tài)演化(Dynamic Evolution)是目前軟件演化的兩種重要類型。請圍繞"軟件的靜態(tài)演化和動態(tài)演化及其應(yīng)用"論題,依次從以下3個方面進行論述:①概要敘述你參與管理和開發(fā)的軟件項目及你在其中所擔(dān)任的主要工作②請分別對軟件靜態(tài)演化和動態(tài)演化的特點進行論述,說明兩種軟件演化類型各自的優(yōu)缺點及其應(yīng)用場合,并舉例說明各自的常見演化技術(shù)手段③具體闡述你參與管理和開發(fā)的項目中所進行的軟件演化活動的特點、演化的類型,以及所采取的對應(yīng)演化技術(shù)手段,說明具體實施過程及實際應(yīng)用的效果。
論高可靠性系統(tǒng)中軟件容錯技術(shù)的應(yīng)用容錯技術(shù)是當(dāng)前計算機領(lǐng)域研究的熱點之一,是提高整個系統(tǒng)可靠性的有效途徑,許多重要行業(yè)(如航空、航天、電力、銀行等)對計算機系統(tǒng)提出了高可靠、高可用、高安全的要求,用于保障系統(tǒng)的連續(xù)工作,當(dāng)硬件或軟件發(fā)生故障后,計算機系統(tǒng)能快速完成故障的定位與處理,確保系統(tǒng)正常工作。對于可靠性要求高的系統(tǒng),在系統(tǒng)設(shè)計中應(yīng)充分考慮系統(tǒng)的容錯能力。通常,在硬件配置上采用了冗余備份的方法,以便在資源上保證系統(tǒng)的可靠性。在軟件設(shè)計上,主要考慮對錯誤(故障)的過濾、定位和處理,軟件的容錯算法是軟件系統(tǒng)需要解決的關(guān)鍵技術(shù),也是充分發(fā)揮硬件資源效率,提高系統(tǒng)可靠性的關(guān)鍵。請圍繞"高可靠性系統(tǒng)中軟件容錯技術(shù)的應(yīng)用"論題,依次從以下3個方面進行論述:①簡述你參與設(shè)計和開發(fā)的、與容錯相關(guān)的軟件項目及你所承擔(dān)的主要工作。②具體論述你在設(shè)計軟件時,如何考慮容錯問題,采用了哪幾種容錯技術(shù)和方法。③分析你所采用的容錯方法是否達到系統(tǒng)的可靠性和實時性要求。
論面向服務(wù)的體系結(jié)構(gòu)在系統(tǒng)集成中的應(yīng)用面向服務(wù)的體系結(jié)構(gòu)(Service Oriented Architecture,SOA)作為一種體系結(jié)構(gòu)模型,將應(yīng)用程序的不同功能單元通過一些良好定義的接口聯(lián)系起來。接口是采用中立的方式進行定義的,它獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建服務(wù)可以以一種統(tǒng)一和通用的方式進行交互。請圍繞"SOA在系統(tǒng)集成中的應(yīng)用"論題,依次從以下的3個方面進行論述:①概要敘述你參與分析與開發(fā)的系統(tǒng)集成項目,以及你在其中所擔(dān)任的主要工作。②詳細論述SOA中的關(guān)鍵技術(shù),以及你熟悉的工具和環(huán)境對SOA的支持。③通過你的切身實踐詳細論述SOA在系統(tǒng)集成中發(fā)揮的作用和優(yōu)勢。
論文:論軟件體系結(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)格組合使用的情況等,以及最終實際效果。
論基于DSSA的軟件架構(gòu)設(shè)計與應(yīng)用軟件架構(gòu)設(shè)計的一個重要課題是如何解決軟件重用問題。特定領(lǐng)域軟件架構(gòu)(Domain Specific Software Architecture,DSSA)是一種有效實現(xiàn)特定領(lǐng)域軟件重用的手段。按照Tracz的說法,DSSA就是一個特定的問題領(lǐng)域中由領(lǐng)域模刑、參考需求、參考架構(gòu)等組成的開發(fā)基礎(chǔ)架構(gòu),其目標(biāo)就是支持一個特定領(lǐng)域中多個應(yīng)用的生成。DSSA的基本活動包括領(lǐng)域分析、領(lǐng)域設(shè)計和領(lǐng)域?qū)崿F(xiàn)。領(lǐng)域分析的主要目的是獲得領(lǐng)域模型,領(lǐng)域模型描述領(lǐng)域中系統(tǒng)之間共同的需求,即領(lǐng)域需求;領(lǐng)域設(shè)計的主要目標(biāo)是獲得DSSA,DSSA描述領(lǐng)域模型中表示需求的解決方案:領(lǐng)域?qū)崿F(xiàn)的主要目標(biāo)是依據(jù)領(lǐng)域模型和DSSA開發(fā)和組織可重用信息。請圍繞"基于DSSA的軟件架構(gòu)設(shè)計與應(yīng)用"論題,依次從以下3個方面進行論述:①概要敘述你參與管理和開發(fā)的軟件項目以及你在其中所承擔(dān)的主要工作。②就你所熟悉的領(lǐng)域,請給出針對該特定領(lǐng)域,在基于DSSA的軟件設(shè)計開發(fā)中所涉及的領(lǐng)域模型、參考需求和參考架構(gòu)以及相應(yīng)的支持環(huán)境或設(shè)施。③具體闡述你參與管理和開發(fā)的項目中使用DSSA的情況,包括領(lǐng)域分析、領(lǐng)域設(shè)計和領(lǐng)域?qū)崿F(xiàn)等活動是如何具體實施的,最終實際效果如何。
論中間件技術(shù)在軟件開發(fā)中的作用隨著軟件應(yīng)用越來越復(fù)雜,軟件開發(fā)"一切從零開始"的開發(fā)模式也越來越不能滿足應(yīng)用的要求。一些著名的軟件公司推出自己的中間件產(chǎn)品,如通信中間件、數(shù)據(jù)庫中間件等為軟件開發(fā)提供有力的支持。請圍繞"中間件技術(shù)在軟件開發(fā)中的作用"這個論題,依次從以下3個方面進行論述:①概要敘述你參與分析和開發(fā)的應(yīng)用項目,以及你所擔(dān)任的主要工作。②具體討論你在軟件開發(fā)過程中選取中間件的原則和標(biāo)準(zhǔn),結(jié)合實例詳細敘述中間件技術(shù)在你的軟件開發(fā)中的作用。③假如你在一個軟件公司中能夠起到影響公司決策的作用,請你結(jié)合市場和技術(shù)因素,為你的公司設(shè)計一個有自主版權(quán)的中間件的方案,并評價你的方案。
論基于Web的數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)技術(shù)瀏覽器和HTTP協(xié)議在全球因特網(wǎng)的成功應(yīng)用,促進了企業(yè)中的B/S結(jié)構(gòu)的迅速推廣?;赪eb的數(shù)據(jù)庫應(yīng)用系統(tǒng)通常采用三層(或更多層)C/S結(jié)構(gòu),允許用于各類不同的平臺和選擇相應(yīng)的數(shù)據(jù)庫應(yīng)用環(huán)境請圍繞"基于Web的數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)技術(shù)"論題,依次從以下3個方面進行論述:①概要敘述你參與分析和開發(fā)的軟件項目,以及你所擔(dān)任的主要工作。②具體討論你在基于Web的數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)中所采用的主要技術(shù),包括開發(fā)過程中遇到的問題和所采取的措施。③分析你所采用的開發(fā)技術(shù)的具體效果。現(xiàn)在你認為應(yīng)當(dāng)做哪些方面的改進,以及如何加以改進?