首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 繽紛校園 英語學(xué)習(xí)
2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院
四六級 | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點(diǎn)英、、韓語 | 在職申碩英語
在職攻碩英語 | 成人英語三級
等級考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 報(bào)檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員
單證員 | 物流師 | 價格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師
期貨從業(yè)資格 | 社會工作者
會計(jì)職稱 | 注會CPA | 經(jīng)濟(jì)師 | 統(tǒng)計(jì)師 | 注冊稅務(wù)師 | 評估師 | 精算師 | 高會 | ACCA | 審計(jì)師
法律顧問 | 會計(jì)證
一級建造師 | 二級建造師 | 造價師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評價師
房地產(chǎn)估價師 | 土地估價師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價員
投資項(xiàng)目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價 | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師
公路造價工程師 | 招標(biāo)師
執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 系統(tǒng)分析師 > 正文

從建筑角度來看軟件體系結(jié)構(gòu)

    在業(yè)界,軟件體系結(jié)構(gòu)和建筑學(xué)的設(shè)計(jì)框架可以類比。如果把軟件體系結(jié)構(gòu)類比做建筑學(xué)的藍(lán)圖,那構(gòu)件就可以比作一磚一瓦,或者更大概念如:庭院,花園等。

  軟件體系結(jié)構(gòu)之所以可以獨(dú)立于軟件的數(shù)據(jù)結(jié)構(gòu)和軟件的算法,是因?yàn)闃I(yè)界把軟件的數(shù)據(jù)結(jié)構(gòu)和算法看做了燒磚的方法,或設(shè)計(jì)庭院的思想。但沒有擴(kuò)展到整個軟件系統(tǒng)。一個軟件系統(tǒng)是龐雜的。但是分治之后的東西仍然用到了最基本的軟件算法和數(shù)據(jù)結(jié)構(gòu)思想。之所以也有些人說SA可以不用,是因?yàn)樗惴ê蛿?shù)據(jù)結(jié)構(gòu)的擴(kuò)張有代替現(xiàn)在的SA的可能。

  完美的構(gòu)件是可以進(jìn)行黑箱復(fù)用的。不太完美的復(fù)用構(gòu)件就是白盒復(fù)用,要在原來代碼的基礎(chǔ)上做些必要的改動。軟件工程的思想正是體現(xiàn)在軟件流程、軟件模塊和軟件文檔的復(fù)用之上。否則也就沒有工程的說法。但是又有人提出軟件體系結(jié)構(gòu)復(fù)用的思想。這應(yīng)該被認(rèn)為是迄今為止最大粒度的復(fù)用。

  如果建筑師可以把自己以前的建筑藍(lán)圖拿來稍作修改就可以進(jìn)行多次施工,那么軟件架構(gòu)師們?yōu)槭裁床荒苣眠^去的系統(tǒng)設(shè)計(jì)方案稍作修改并實(shí)施到新的項(xiàng)目中去?但是很可惜,沒有一個企業(yè)的業(yè)務(wù)流程和另一個企業(yè)是完全相同的。所以軟件體系結(jié)構(gòu)的復(fù)用起來比建筑藍(lán)圖的復(fù)用要復(fù)雜的多。

  軟件體系結(jié)構(gòu)直接決定了軟件系統(tǒng)的運(yùn)行框架,其優(yōu)劣不但決定了軟件系統(tǒng)是否可以滿足針對此軟件的功能需求,而且還決定了這些功能需求是否能被合理、高效地實(shí)現(xiàn),即也決定了軟件系統(tǒng)基本的非功能屬性。

  [1]、每個用戶的非功能屬性多多少少的有所不同,也就決定著軟件體系結(jié)構(gòu)的復(fù)用的復(fù)雜性。

  軟件體系結(jié)構(gòu)是描述軟件單元(element)、軟件單元的屬性(property)以及這些單元之間關(guān)系(relationship)的結(jié)構(gòu)

  、這里的軟件單元應(yīng)該就是構(gòu)件。

  軟件體系結(jié)構(gòu)是構(gòu)建計(jì)算機(jī)軟件實(shí)踐的基礎(chǔ),與建筑師設(shè)定建筑項(xiàng)目的設(shè)計(jì)原則和目標(biāo),作為繪圖員畫圖的基礎(chǔ)一樣。沒有藍(lán)圖就不能構(gòu)建出雄偉的大廈。沒有好的體系結(jié)構(gòu)也就不能構(gòu)造出龐大的系統(tǒng)。但是對于小型的系統(tǒng),體系結(jié)構(gòu)的思想似乎是一種多余。對于大廈,我們應(yīng)該有建筑藍(lán)圖,但是對于建造小茅屋,似乎再畫草圖就是一種多余。軟件體系結(jié)構(gòu)表示了一個軟件系統(tǒng)的高層結(jié)構(gòu),主要特點(diǎn)有

  ◆ 軟件體系結(jié)構(gòu)是一個高層次上的抽象,它并不涉及具體的系統(tǒng)結(jié)構(gòu)(比如B/S還是C/S),也不關(guān)心具體的實(shí)現(xiàn)。

  ◆ 軟件體系結(jié)構(gòu)必須支持系統(tǒng)所要求的功能,在設(shè)計(jì)軟件體系結(jié)構(gòu)的時候,必須考慮系統(tǒng)的動態(tài)行為。

  ◆ 在設(shè)計(jì)軟件體系結(jié)構(gòu)的時候,必須考慮有現(xiàn)有系統(tǒng)的兼容性、安全性和可靠性。同時還要考慮系統(tǒng)以后的擴(kuò)展性和伸縮性。所以有時候必須在多個不同方向的目標(biāo)中進(jìn)行決策。

  、抽象的東西之所以對我們有指導(dǎo)的意義。是因?yàn)槲覀兛梢赃\(yùn)用這個抽象的東西對具體問題做具體分析。法無定法,也就是這個道理。

轉(zhuǎn)帖于:軟件水平考試_考試吧
文章搜索
從建筑角度來看軟件體系結(jié)構(gòu)網(wǎng)友評論網(wǎng)友評論
版權(quán)聲明 --------------------------------------------------------------------------------------
    如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
 gaoxiaoliang