2014年軟考系統(tǒng)架構(gòu)設計師復習題(三)

字號:

點擊查看>>計算機軟考題庫大全
    架構(gòu)設計的重用
    重用(Reuse)是在軟件工程實踐中獲得高效率、高質(zhì)量產(chǎn)品和系統(tǒng)開發(fā)的一種基本手段和主要途徑,通過有組織的、系統(tǒng)和有效的重用,我們往往可以獲得 10倍率以上的效率提升。而一個優(yōu)秀的、有長久生命力的軟件架構(gòu)(比方主流的一些框架軟件),其本身或其組件被重用的次數(shù)越多,其體現(xiàn)的價值也就越大。
    軟件重用有各種不同的范圍、層次、粒度和類型,從函數(shù)重用、類重用、構(gòu)件/組件重用、庫(API)重用,到框架重用、架構(gòu)重用、模式重用,再到軟件設計知識、思想的重用等等,重用的效能和效果各有不同。
    軟件工程經(jīng)過幾十年的發(fā)展,已經(jīng)積累了大量的軟件架構(gòu)模式和設計模式,它們記載、蘊藏了大量成熟、已經(jīng)驗證的軟件設計知識、思想和經(jīng)驗。我們平時對各種基礎(chǔ)平臺、主流框架和API的應用和調(diào)用,本身就是一種最為普遍的重用形式。而一個優(yōu)秀、成熟的軟件研發(fā)組織,必然會在日常開發(fā)中注意收集各種軟件設計知識和經(jīng)驗,建立和維護基于架構(gòu)模式和設計模式等內(nèi)容的軟件重用知識庫,積極主動和頻繁地運用各種軟件模式來解決實際工程問題。
    框架(Framework)是一類具有高可重用度的軟件,針對某一類應用或領(lǐng)域,它們具有非常靈活的、高度可擴展的軟件架構(gòu)。那么,如何才能設計出可重用的軟件架構(gòu)或其組件?借助于OOA、OOD等抽象分析和設計技術(shù)是一種重要的方法。人們在實踐中發(fā)現(xiàn),往往越抽象的東西,其適應面也就越廣,可重用度也就越高;相反,越具體的東西,其適應面也就越窄,可重用度也就越低。重用,意味著充分利用現(xiàn)成、既有的東西、成果來解決新問題或重復的問題,以“不變”應“ 萬變”.在軟件架構(gòu)設計中,應該主動地區(qū)分軟件架構(gòu)中的“不變”與“可變”之處,系統(tǒng)地管理好這些穩(wěn)定點和變化點以適應未來的變化,這也是提高軟件架構(gòu)重用度、獲得高質(zhì)量框架設計的一種重要方法。
    架構(gòu)設計的權(quán)衡
    與其它所有工程行業(yè)一樣,軟件工程本質(zhì)上也是一門講究權(quán)衡的科學和藝術(shù)。軟件架構(gòu)設計的最難之處往往在于如何在各種相互競爭、矛盾的制約條件之下,作出巧妙的權(quán)衡。軟件架構(gòu)設計的權(quán)衡水平,也是最能體現(xiàn)軟件架構(gòu)師的設計經(jīng)驗、能力和技巧的地方。
    在軟件開發(fā)和軟件架構(gòu)的設計過程中,從選擇平臺,到選擇語言,選擇框架,選擇設計模式,選擇工具…等等,我們無時不刻都需要權(quán)衡,對各種候選項作出合理評判。在架構(gòu)師帶領(lǐng)下,軟件研發(fā)團隊往往還需要對近期目標與遠期目標、質(zhì)量與速度和效率、質(zhì)量與成本、功能與性能、靈活性與復雜性…等等許多彼此矛盾的設計選項、因素和約束進行細致、小心和理性的權(quán)衡。
    理性權(quán)衡意味著科學決策。進行有效的架構(gòu)設計權(quán)衡,離不開科學的方法,也就是如何運用定量分析和定性分析相結(jié)合的方法、因果邏輯和根源分析等等技術(shù),找到最終的甜點(Sweet Spot)。許多時候,能否在很短的時間內(nèi)作出迅速、果斷而正確的科學權(quán)衡與取舍決策,構(gòu)成了一個軟件研發(fā)團隊核心競爭能力的一部分。