軟件架構(gòu)在軟件開發(fā)中的作用

軟件架構(gòu)在軟件開發(fā)中的作用

ID:5617923

大?。?4.50 KB

頁數(shù):3頁

時間:2017-12-20

軟件架構(gòu)在軟件開發(fā)中的作用_第1頁
軟件架構(gòu)在軟件開發(fā)中的作用_第2頁
軟件架構(gòu)在軟件開發(fā)中的作用_第3頁
資源描述:

《軟件架構(gòu)在軟件開發(fā)中的作用》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、軟件架構(gòu)在軟件開發(fā)過程中的作用1、軟件架構(gòu)的定義軟件架構(gòu)(softwarearchitecture)是一系列相關(guān)的抽象模式,用于指導(dǎo)大型軟件系統(tǒng)各個方面的設(shè)計。軟件架構(gòu)是一個系統(tǒng)的草圖。軟件架構(gòu)描述的對象是直接構(gòu)成系統(tǒng)的抽象組件。各個組件之間的連接則明確和相對細(xì)致地描述組件之間的通訊。在實現(xiàn)階段,這些抽象組件被細(xì)化為實際的組件,比如具體某個類或者對象。在面向?qū)ο箢I(lǐng)域中,組件之間的連接通常用接口_(計算機(jī)科學(xué))來實現(xiàn)。2、軟件架構(gòu)的種類根據(jù)我們關(guān)注的角度不同,可以將架構(gòu)分成三種:邏輯架構(gòu)軟件系統(tǒng)中元件之間的關(guān)

2、系,比如用戶界面,數(shù)據(jù)庫,外部系統(tǒng)接口,商業(yè)邏輯元件等等。物理架構(gòu)軟件元件是怎樣放到硬件上的。比如一個分布于北京和上海的分布式系統(tǒng)的物理架構(gòu),圖中所有的元件都是物理設(shè)備,包括網(wǎng)絡(luò)分流器、代理服務(wù)器、WEB服務(wù)器、應(yīng)用服務(wù)器、報表服務(wù)器、整合服務(wù)器、存儲服務(wù)器、主機(jī)等等。系統(tǒng)架構(gòu)系統(tǒng)的非功能性特征,如可擴(kuò)展性、可靠性、強(qiáng)壯性、靈活性、性能等。系統(tǒng)架構(gòu)的設(shè)計要求架構(gòu)師具備軟件和硬件的功能和性能的過硬知識,這一工作無疑是架構(gòu)設(shè)計工作中最為困難的工作。此外,從每一個角度上看,都可以看到架構(gòu)的兩要素:元件劃分和設(shè)計決

3、定。首先,一個軟件系統(tǒng)中的元件首先是邏輯元件。這些邏輯元件如何放到硬件上,以及這些元件如何為整個系統(tǒng)的可擴(kuò)展性、可靠性、強(qiáng)壯性、靈活性、性能等做出貢獻(xiàn),是非常重要的信息。其次,進(jìn)行軟件設(shè)計需要做出的決定中,必然會包括邏輯結(jié)構(gòu)、物理結(jié)構(gòu),以及它們?nèi)绾斡绊懙较到y(tǒng)的所有非功能性特征。這些決定中會有很多是一旦作出,就很難更改的。根據(jù)作者的經(jīng)驗,一個基于數(shù)據(jù)庫的系統(tǒng)架構(gòu),有多少個數(shù)據(jù)表,就會有多少頁的架構(gòu)設(shè)計文檔。比如一個中等的數(shù)據(jù)庫應(yīng)用系統(tǒng)通常含有一百個左右的數(shù)據(jù)表,這樣的一個系統(tǒng)設(shè)計通常需要有一百頁左右的架構(gòu)設(shè)計

4、文檔。3、表現(xiàn)方法軟件架構(gòu)是通過多種架構(gòu)視圖來表示的。這些視圖本質(zhì)上是以圖形方式來摘要說明“在構(gòu)架方面具有重要意義”的模型元素。它包括:用例視圖:包括用例和場景;邏輯視圖:包括最重要的設(shè)計類、從這些設(shè)計類到包和子系統(tǒng)的組織形式,以及從這些包和子系統(tǒng)到層的組織形式。它還包括一些用例實現(xiàn);實施視圖:包括實施模型及其從模塊到包和層的組織形式的概覽。同時還描述了將邏輯視圖中的包和類向?qū)嵤┮晥D中的包和模塊分配的情況;進(jìn)程視圖:包括所涉及任務(wù)(進(jìn)程和線程)的描述,它們的交互和配置,以及將設(shè)計對象和類向任務(wù)的分配情況。只

5、有在系統(tǒng)具有很高程度的并行時,才需要該視圖;配置視圖:包括對最典型的平臺配置的各種物理節(jié)點的描述以及將任務(wù)(來自進(jìn)程視圖)向物理節(jié)點分配的情況。只有在分布式系統(tǒng)中才需要該視圖。3、具體作用軟件架構(gòu)對新產(chǎn)品開發(fā)的作用:軟件架構(gòu)是溝通現(xiàn)實世界和計算機(jī)世界的一座橋。1.上乘業(yè)務(wù)目標(biāo)。軟件架構(gòu)擔(dān)負(fù)著為完成業(yè)務(wù)目標(biāo)而進(jìn)行大局規(guī)劃的職責(zé)。2.下接技術(shù)決策。將面向業(yè)務(wù)的需求轉(zhuǎn)向面向技術(shù)的軟件架構(gòu)設(shè)計方案,為后面的技術(shù)開發(fā)工作提供切實的指導(dǎo)和限制。3.控制復(fù)雜性。基于‘分而治之’的思想,控制問題的復(fù)雜性。4.組織開發(fā)。5.

6、利用迭代開發(fā)和增量交付。6.提高質(zhì)量。軟件架構(gòu)對軟件產(chǎn)品線開發(fā)的作用1.固化核心知識。2.提供可重用資產(chǎn)。3.縮短推出產(chǎn)品周期。4.降低開發(fā)和維護(hù)總成本。5.提高產(chǎn)品質(zhì)量。6.支持批量定制。什么是軟件產(chǎn)品線架構(gòu):針對一個公司或者組織內(nèi)部一系列產(chǎn)品而設(shè)計的通用架構(gòu)。這一系列產(chǎn)品具有很多相似性,從而它們可以共享同一個架構(gòu)和部分具體實現(xiàn),提高生產(chǎn)率。軟件產(chǎn)品線架構(gòu)的特點1.必須考慮一系列明確許可的變化。2.一定要文檔化。3.必須提供‘產(chǎn)品創(chuàng)建者指南’,描述架構(gòu)的實例化過程。軟件架構(gòu)對軟件維護(hù)的作用維護(hù)工作的兩個來

7、源:Bug和需求變更。一個Bug的修復(fù)或者一個新功能的增加,往往涉及架構(gòu)中的一條‘模塊協(xié)作鏈’,因此諒解架構(gòu)將有利于維護(hù)工作;反之,不了解架構(gòu)而盲目修改程序,可能違背架構(gòu)設(shè)計的思路,使整個系統(tǒng)的架構(gòu)慢慢變得混亂,并可能引發(fā)出其他莫名其妙的Bug和問題。軟件架構(gòu)對軟件升級的作用軟件架構(gòu)對這對軟件系統(tǒng)不斷修改,也需要進(jìn)行重構(gòu),在以下兩種情況,需要進(jìn)行重構(gòu):1.架構(gòu)太混亂,以致進(jìn)行一個小的改動都會牽動全身。2.將要進(jìn)行的軟件升級力度很大,原先的架構(gòu)已不再適應(yīng)新的需求。軟件架構(gòu)重構(gòu)屬于‘再工程’的一種情況,一般會經(jīng)

8、過逆向工程、重新規(guī)劃和正向工程3個步驟。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。