版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)Software Architecture課程的內(nèi)容軟件體系結(jié)構(gòu)概論軟件體系結(jié)構(gòu)建模軟件體系結(jié)構(gòu)風(fēng)格特定領(lǐng)域的軟件體系結(jié)構(gòu)Web服務(wù)體系結(jié)構(gòu)軟件演化技術(shù)軟件產(chǎn)品線軟件體系結(jié)構(gòu)評(píng)估云計(jì)算體系結(jié)構(gòu)課程的安排理論:42學(xué)時(shí)實(shí)驗(yàn):6學(xué)時(shí)學(xué)分:2.5學(xué)分與其他課程的關(guān)系前導(dǎo)課:軟件工程過(guò)程、系統(tǒng)分析與設(shè)計(jì) 后續(xù)課:輕量級(jí)J2EE框架Spring、基于MVC的Web開(kāi)發(fā)、.NET客戶(hù)端框架技術(shù) 課程的目標(biāo)通過(guò)本課程的學(xué)習(xí),應(yīng)達(dá)到知識(shí)和技能兩方面的目標(biāo):知識(shí)方面:牢固掌握軟件體系結(jié)構(gòu)的基本概念、方法和原理,并能夠靈活地運(yùn)用這些基本知識(shí)解決軟件設(shè)計(jì)問(wèn)題,技能方面:在各種軟件設(shè)計(jì)中應(yīng)用多
2、種設(shè)計(jì)模式、框架和體系結(jié)構(gòu);使用不同的中間件技術(shù)設(shè)計(jì)并實(shí)現(xiàn)軟件。 參考書(shū)張友生等,軟件體系結(jié)構(gòu),清華大學(xué)出版社齊治昌等,軟件設(shè)計(jì)與體系結(jié)構(gòu) ,高等教育出版社第一章 軟件體系結(jié)構(gòu)概論1.1 軟件危機(jī)1.2 軟件復(fù)用1.3 軟件構(gòu)件的組織與檢索1.4 軟件構(gòu)件化1.5 軟件體系結(jié)構(gòu)1.1 軟件危機(jī)計(jì)算機(jī)系統(tǒng)p適當(dāng)?shù)亟M織在一起的一系列系統(tǒng)元素的集合,這些系統(tǒng)元素互相配合、相互協(xié)作,通過(guò)對(duì)信息的處理而完成預(yù)先定義的目標(biāo)。計(jì)算機(jī)系統(tǒng)元素計(jì)算機(jī)軟件:程序+數(shù)據(jù)結(jié)構(gòu)+文檔計(jì)算機(jī)硬件:提供計(jì)算能力的設(shè)備+外設(shè)人 員:硬、軟件的用戶(hù)和操作者數(shù) 據(jù) 庫(kù):大型的有組織的數(shù)據(jù)集合文 檔:系統(tǒng)的描述信息過(guò) 程:一系列的
3、步驟1.1 軟件危機(jī)軟件危機(jī)p軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。1.1 軟件危機(jī)軟件危機(jī)的具體表現(xiàn)p對(duì)開(kāi)發(fā)成本和開(kāi)發(fā)進(jìn)度難以進(jìn)行準(zhǔn)確地估計(jì)p用戶(hù)對(duì)軟件產(chǎn)品不滿(mǎn)意p軟件產(chǎn)品的質(zhì)量難以保證p軟件產(chǎn)品維護(hù)非常困難p軟件產(chǎn)品沒(méi)有適當(dāng)?shù)奈臋n資料p軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升p軟件開(kāi)發(fā)效率的提高遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用快速普及的趨勢(shì)1.1軟件危機(jī)軟件危機(jī)的成因p硬件生產(chǎn)效率的快速提高p軟件產(chǎn)品生產(chǎn)效率較低p軟件供需失衡p用戶(hù)需求不明確p整個(gè)軟件開(kāi)發(fā)過(guò)程缺乏正確的理論指導(dǎo)p軟件產(chǎn)品的規(guī)模越來(lái)越大p軟件產(chǎn)品開(kāi)發(fā)的復(fù)雜度越來(lái)越高1.1軟件危機(jī)克服軟件危機(jī)p人們面臨的
4、不光是技術(shù)問(wèn)題,更重要的是管理問(wèn)題。管理不善必然導(dǎo)致失敗 。p要提高軟件開(kāi)發(fā)效率,提高軟件產(chǎn)品質(zhì)量,必須采用工程化的開(kāi)發(fā)方法與工業(yè)化的生產(chǎn)技術(shù)。p在技術(shù)上,應(yīng)該采用基于重用的軟件生產(chǎn)技術(shù);在管理上,應(yīng)該采用多維的工程管理模式。1.1軟件危機(jī)軟件工程p概括地說(shuō),軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。p采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。1.1軟件危機(jī)軟件工程三要素p方法:為軟件開(kāi)發(fā)提供了“如何做”的技術(shù),是完成軟件工程項(xiàng)目的技術(shù)手段p工具:人類(lèi)
5、在開(kāi)發(fā)軟件的活動(dòng)中智力和體力的擴(kuò)展和延伸,為軟件工程方法提供自動(dòng)或半自動(dòng)的軟件支持環(huán)境p過(guò)程:將方法和工具綜合起來(lái)以達(dá)到合理、及時(shí)地進(jìn)行軟件開(kāi)發(fā)的目的1.2軟件復(fù)用軟件復(fù)用是指利用現(xiàn)有的軟件資源來(lái)開(kāi)發(fā)新應(yīng)用系統(tǒng)的過(guò)程軟件復(fù)用包括三個(gè)相關(guān)的基本過(guò)程: 軟件對(duì)象的開(kāi)發(fā)、軟件對(duì)象的理解和軟件對(duì)象的復(fù)用從已有的應(yīng)用系統(tǒng)中抽取可復(fù)用軟件成分的過(guò)程,經(jīng)常被稱(chēng)為“重用再工程(Reuse Re-engineering)”過(guò)程1.2軟件復(fù)用逆工程(Reverse-engineering)是在軟件維護(hù)過(guò)程中,對(duì)當(dāng)前的軟件系統(tǒng)進(jìn)行理解,識(shí)別部件和部件之間關(guān)系的過(guò)程再工程(Re-engineering)是在軟件維護(hù)過(guò)
6、程中,為了改善系統(tǒng)的性能,使其適應(yīng)硬件和應(yīng)用環(huán)境不斷變化的需求,對(duì)原有系統(tǒng)進(jìn)行再加工的過(guò)程1.2軟件復(fù)用軟件重用再工程可以被劃分為五個(gè)階段:p在侯選階段,對(duì)程序源代碼進(jìn)行分析,根據(jù)功能和代碼的內(nèi)聚性,生成若干軟件部件集合p在選擇階段,將軟件部件集合和收集活動(dòng)組織在一起,通過(guò)適當(dāng)?shù)慕雕詈稀⒃俟こ毯鸵话慊幚?,產(chǎn)生一組可復(fù)用軟件對(duì)象p在資格說(shuō)明階段,對(duì)每一個(gè)可復(fù)用軟件對(duì)象進(jìn)行詳細(xì)地描述,給出模塊功能和界面說(shuō)明書(shū)1.2軟件復(fù)用軟件重用再工程可以被劃分為五個(gè)階段:p在分類(lèi)和存儲(chǔ)階段,按照分類(lèi)標(biāo)準(zhǔn)對(duì)復(fù)用軟件對(duì)象及其相關(guān)說(shuō)明書(shū)進(jìn)行分類(lèi)組織,目的是確定中心倉(cāng)庫(kù)(Repository),并將生成的可復(fù)用軟件對(duì)
7、象及其說(shuō)明書(shū)存入其中p在查找和檢索階段,建立用戶(hù)界面使之與中心倉(cāng)庫(kù)進(jìn)行交互,目的是使查找用戶(hù)所需求的可復(fù)用軟件對(duì)象的步驟盡可能簡(jiǎn)化1.2軟件復(fù)用軟件復(fù)用技術(shù)自誕生之日起,其發(fā)展經(jīng)歷了以下幾個(gè)階段:p1968-1978年,萌芽和潛伏期,1968年首次提出了軟件復(fù)用的概念p1979-1983年,再發(fā)現(xiàn)期p1983-1994年,發(fā)展期p1994年至今,成熟期1.2軟件復(fù)用軟件復(fù)用的實(shí)現(xiàn)技術(shù):p代碼復(fù)用可分為目標(biāo)代碼復(fù)用和源代碼復(fù)用p設(shè)計(jì)復(fù)用比源程序復(fù)用的級(jí)別更高p分析復(fù)用要比設(shè)計(jì)復(fù)用的級(jí)別更高p測(cè)試復(fù)用主要包括測(cè)試用例復(fù)用和測(cè)試過(guò)程復(fù)用1.2軟件復(fù)用軟件復(fù)用的實(shí)現(xiàn)技術(shù)包括組裝和生成兩種類(lèi)型:p在組裝
8、技術(shù)中,軟件構(gòu)件是復(fù)用的基石p在生成技術(shù)中,由程序生成器完成對(duì)軟件結(jié)構(gòu)模式的復(fù)用1.2軟件復(fù)用影響軟件復(fù)用的相關(guān)因素:p軟件構(gòu)件技術(shù)是軟件復(fù)用的核心與基礎(chǔ),從集中式的小粒度組件向分布式的大粒度組件發(fā)展,從用于界面制作的窗口組件向完成邏輯功能的業(yè)務(wù)組件發(fā)展p領(lǐng)域工程是為一組相似或相近的應(yīng)用工程建立基本能力和必備基礎(chǔ)的過(guò)程,它覆蓋了建立可復(fù)用軟件構(gòu)件的所有活動(dòng)p軟件再工程是一個(gè)過(guò)程,它將逆向工程、重用和正向工程組合起來(lái),對(duì)現(xiàn)存的系統(tǒng)進(jìn)行重新構(gòu)造以獲取新的應(yīng)用系統(tǒng)1.2軟件復(fù)用影響軟件復(fù)用的相關(guān)因素:p開(kāi)放系統(tǒng)技術(shù)是在系統(tǒng)的開(kāi)發(fā)過(guò)程中使用接口的標(biāo)準(zhǔn),同時(shí)使用了符合接口標(biāo)準(zhǔn)的相關(guān)實(shí)現(xiàn)技術(shù)pCASE技術(shù)
9、與軟件復(fù)用密切相關(guān),其主要研究?jī)?nèi)容包括:在面向復(fù)用的軟件開(kāi)發(fā)過(guò)程中,抽取、描述、分類(lèi)和存儲(chǔ)可復(fù)用的構(gòu)件p非技術(shù)因素包括:機(jī)構(gòu)組織、管理方法、開(kāi)發(fā)人員的知識(shí)更新、知識(shí)產(chǎn)權(quán)等1.2軟件復(fù)用軟件復(fù)用的意義p增加軟件系統(tǒng)的可靠性p降低了軟件開(kāi)發(fā)過(guò)程中的風(fēng)險(xiǎn)p加快項(xiàng)目開(kāi)發(fā)的速度p軟件復(fù)用促進(jìn)了標(biāo)準(zhǔn)的推廣p專(zhuān)家知識(shí)的有效利用1.3軟件構(gòu)件的組織與檢索只有當(dāng)構(gòu)件要達(dá)到一定的規(guī)模時(shí),才能有效地支持軟件復(fù)用,然而獲取大量的構(gòu)件需要有較高的投入和長(zhǎng)期的積累當(dāng)構(gòu)件達(dá)到較大的規(guī)模時(shí),使用者要想從中找到一個(gè)自己需要的構(gòu)件,并判斷其是否與自己的需求相符,卻不是一件輕而易舉的事情合理的構(gòu)件分類(lèi)體系是構(gòu)件庫(kù)有效構(gòu)造、存儲(chǔ)、管
10、理及檢索的基礎(chǔ),其最終目的對(duì)獲取的信息進(jìn)行正確地分類(lèi)組織1.3軟件構(gòu)件的組織與檢索構(gòu)件的分類(lèi)p枚舉分類(lèi)方法能夠?qū)⒛硞€(gè)領(lǐng)域劃分為若干個(gè)不相交的子領(lǐng)域,并依次構(gòu)成層次結(jié)構(gòu)p層次分類(lèi)方法的本質(zhì)是構(gòu)建類(lèi)的層次關(guān)系,首先把所有的構(gòu)件劃分為一些大類(lèi),再對(duì)每一個(gè)大類(lèi)進(jìn)行細(xì)化形成層次較低的小類(lèi),不斷地重復(fù)劃分過(guò)程,直到層次關(guān)系的最低層是構(gòu)件為止1.3軟件構(gòu)件的組織與檢索構(gòu)件的分類(lèi)p在關(guān)鍵詞分類(lèi)方法中,每個(gè)構(gòu)件以一組與之相關(guān)的關(guān)鍵詞編目,使用主題來(lái)描述構(gòu)件,主題詞多為短語(yǔ),每個(gè)主題下可有多個(gè)描述子,多為單詞,查詢(xún)者使用關(guān)鍵詞來(lái)描述所需要的構(gòu)件,通過(guò)關(guān)鍵詞與主題詞相匹配的手段來(lái)尋找目標(biāo)構(gòu)件p在屬性/值分類(lèi)方法中,
11、為所有構(gòu)件定義了一組屬性,每個(gè)構(gòu)件都使用一組屬性/值來(lái)進(jìn)行描述1.3軟件構(gòu)件的組織與檢索構(gòu)件的分類(lèi)p在刻面分類(lèi)方法中,將術(shù)語(yǔ)置于一定的語(yǔ)境中,從反映本質(zhì)特性的視角去精確描述構(gòu)件,管理者使刻面與術(shù)語(yǔ)相互對(duì)應(yīng),在構(gòu)件之間建立起一種復(fù)雜的關(guān)聯(lián)關(guān)系p本體包含了語(yǔ)義信息,使用本體來(lái)描述構(gòu)件,可以讓計(jì)算機(jī)知道我們所描述的詞匯的含義,在本體描述的基礎(chǔ)上,可以對(duì)構(gòu)件庫(kù)進(jìn)行語(yǔ)義檢索,檢索出含義上相匹配的構(gòu)件1.3軟件構(gòu)件的組織與檢索構(gòu)件的分類(lèi)p基于知識(shí)的構(gòu)件檢索技術(shù),基本原理是:根據(jù)用戶(hù)提出的要求,生成系統(tǒng)內(nèi)部的提問(wèn)形式,啟動(dòng)推理機(jī)獲取用戶(hù)所需要的構(gòu)件,并以用戶(hù)易讀的形式來(lái)顯示p基于神經(jīng)網(wǎng)絡(luò)的構(gòu)件檢索技術(shù),以神
12、經(jīng)網(wǎng)絡(luò)為基礎(chǔ),依據(jù)構(gòu)件功能的相似程度來(lái)構(gòu)造構(gòu)件庫(kù),功能相似的構(gòu)件將被放在相鄰的位置上,構(gòu)件之間的相似度將由地理位置的遠(yuǎn)近來(lái)決定1.3軟件構(gòu)件的組織與檢索軟件構(gòu)件的檢索與匹配p根據(jù)某一查詢(xún)要求得到的可復(fù)用構(gòu)件往往不止一個(gè)p從構(gòu)件庫(kù)中選擇適當(dāng)?shù)臉?gòu)件來(lái)適應(yīng)新系統(tǒng)的需求并進(jìn)行組裝,這些都離不開(kāi)構(gòu)件的檢索與匹配技術(shù)1.3軟件構(gòu)件的組織與檢索基于人工智能的檢索算法p基于行為采樣的構(gòu)件檢索技術(shù),利用軟件構(gòu)件的執(zhí)行能力來(lái)檢索構(gòu)件p基于知識(shí)的構(gòu)件檢索技術(shù),基本原理是:根據(jù)用戶(hù)提出的要求,生成系統(tǒng)內(nèi)部的提問(wèn)形式,啟動(dòng)推理機(jī)獲取用戶(hù)所需要的構(gòu)件,并以用戶(hù)易讀的形式來(lái)顯示p基于神經(jīng)網(wǎng)絡(luò)的構(gòu)件檢索技術(shù),以神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)
13、,依據(jù)構(gòu)件功能的相似程度來(lái)檢索構(gòu)件1.3軟件構(gòu)件的組織與檢索超文本檢索方法強(qiáng)調(diào)構(gòu)件之間的相互關(guān)系,在元模型中,存儲(chǔ)了構(gòu)件之間的非線性關(guān)聯(lián)關(guān)系,軟件開(kāi)發(fā)人員可以利用支持超文本鏈接的瀏覽器來(lái)檢索構(gòu)件1.3軟件構(gòu)件的組織與檢索圖書(shū)館科學(xué)和信息科學(xué)中的檢索方法主要包括關(guān)鍵字檢索和自由文本檢索p關(guān)鍵字檢索是一種受控的檢索方式,在一個(gè)領(lǐng)域中預(yù)先定義好很多關(guān)鍵字,根據(jù)這些關(guān)鍵字為構(gòu)件建立索引p自由文本檢索又被稱(chēng)為全文檢索,是一種非受控的檢索方式,在用戶(hù)輸入待查字符串之后,檢索工具將對(duì)構(gòu)件庫(kù)中每個(gè)構(gòu)件說(shuō)明進(jìn)行全文匹配1.3軟件構(gòu)件的組織與檢索基于本體的構(gòu)件搜索:p在概念詞典的幫助下,自然語(yǔ)言查詢(xún)語(yǔ)句將被分割為
14、多個(gè)有意義的單詞,將這些單詞映射為本體中的概念,包括類(lèi)、關(guān)系和實(shí)例,概念詞典記錄了詞匯與概念之間的對(duì)應(yīng)關(guān)系p根據(jù)本體庫(kù)的知識(shí)框架確立刻面和術(shù)語(yǔ),建立檢索樹(shù),若檢索樹(shù)中存在著不一致的地方,則提示用戶(hù)修改查詢(xún)請(qǐng)求p根據(jù)檢索樹(shù)的刻面、術(shù)語(yǔ)以及本體庫(kù)中的語(yǔ)義關(guān)系,利用推理規(guī)則找出其隱含語(yǔ)義 p對(duì)構(gòu)件進(jìn)行語(yǔ)義匹配,將匹配的相關(guān)構(gòu)件返回1.4軟件構(gòu)件化軟件構(gòu)件化和集成化的目標(biāo)是:由不同廠商來(lái)提供構(gòu)件,使用不同語(yǔ)言來(lái)開(kāi)發(fā)構(gòu)件,在不同硬件平臺(tái)上去實(shí)現(xiàn)構(gòu)件,以方便系統(tǒng)的動(dòng)態(tài)集成1.4軟件構(gòu)件化軟件構(gòu)件p構(gòu)件模型是關(guān)于可重用軟件構(gòu)件和構(gòu)件之間進(jìn)行相互通信的一組標(biāo)準(zhǔn)的描述p構(gòu)件模型的最重要貢獻(xiàn)是把應(yīng)用開(kāi)發(fā)和系統(tǒng)部署
15、分割開(kāi)來(lái)1.4軟件構(gòu)件化軟件構(gòu)件p構(gòu)件所能提供的服務(wù)是通過(guò)接口來(lái)聲明的,接口完全獨(dú)立于具體的實(shí)現(xiàn)細(xì)節(jié)1.4軟件構(gòu)件化軟件構(gòu)件p接口是服務(wù)的抽象描述,對(duì)構(gòu)件的理解和復(fù)用都是通過(guò)接口來(lái)實(shí)現(xiàn)的p接口是構(gòu)件服務(wù)契約化的規(guī)范,也是構(gòu)件與外界交互的唯一通道,構(gòu)件之間的組合實(shí)質(zhì)上是通過(guò)接口來(lái)實(shí)現(xiàn)的p主流的構(gòu)件模型包括:美國(guó)OMG(Object Management Group對(duì)象管理組織)的CORBA技術(shù)、SUN公司的JavaBeans/EJB以及微軟公司的DCOM/COM/COM+1.4軟件構(gòu)件化軟件構(gòu)件p基于構(gòu)件的軟件開(kāi)發(fā)過(guò)程如下所示:1.4軟件構(gòu)件化構(gòu)件獲取p構(gòu)件獲取主要分為兩個(gè)階段,即構(gòu)件發(fā)現(xiàn)階段和
16、構(gòu)件評(píng)估階段p在發(fā)現(xiàn)階段,將會(huì)對(duì)構(gòu)件的屬性如功能、接口、調(diào)用方法、可靠性、可用性及可擴(kuò)展性等進(jìn)行明確化p在評(píng)估階段,使用多種成熟的評(píng)估方法對(duì)獲取的軟件構(gòu)件進(jìn)行評(píng)估1.4軟件構(gòu)件化構(gòu)件獲取主要有以下四種方式:p從構(gòu)件庫(kù)中,按照適合新系統(tǒng)的原則選取,并作適應(yīng)性修改以獲得可重用的構(gòu)件p根據(jù)新功能模塊進(jìn)行自行開(kāi)發(fā),以獲取新構(gòu)件p對(duì)遺留系統(tǒng)進(jìn)行功能分析,將具有潛在應(yīng)用價(jià)值的模塊提取出來(lái),使其接口進(jìn)行標(biāo)準(zhǔn)化以獲得可重用性構(gòu)件p通過(guò)商業(yè)方式購(gòu)買(mǎi)合適的構(gòu)件,利用互聯(lián)網(wǎng)資源進(jìn)行共享或免費(fèi)獲取1.4軟件構(gòu)件化基于構(gòu)件的軟件開(kāi)發(fā)p將用戶(hù)需求分解為一系列的子功能構(gòu)件,在開(kāi)發(fā)過(guò)程中不必重新設(shè)計(jì)這些基本功能模塊,只需從現(xiàn)
17、有構(gòu)件庫(kù)中尋找合適的構(gòu)件來(lái)組裝應(yīng)用系統(tǒng)p基于構(gòu)件的軟件開(kāi)發(fā)的基本目標(biāo)是以組裝的方式來(lái)生成新應(yīng)用系統(tǒng),組裝是以那些形式上獨(dú)立的構(gòu)件服務(wù)為基礎(chǔ)來(lái)進(jìn)行的p基于構(gòu)件的軟件開(kāi)發(fā)技術(shù)應(yīng)該具備以下要素:由構(gòu)件組裝的應(yīng)用程序、獨(dú)立服務(wù)、公共構(gòu)件基礎(chǔ)設(shè)施以及通用服務(wù)1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)可以定義為:在設(shè)計(jì)構(gòu)成上,軟件系統(tǒng)可供選擇的形態(tài)框架(Framework),是一種為特定領(lǐng)域應(yīng)用提供可擴(kuò)展模板的架構(gòu)實(shí)例,描述了整個(gè)設(shè)計(jì)過(guò)程、指明了協(xié)作對(duì)象之間的依賴(lài)關(guān)系、明確了責(zé)任分配和控制流程,表現(xiàn)為一組抽象類(lèi)以及其實(shí)例之間的協(xié)作方法,為構(gòu)件復(fù)用提供上下文關(guān)系1.5軟件體系結(jié)構(gòu)體系結(jié)構(gòu)也稱(chēng)為架構(gòu)(Architectu
18、re),描述了軟件系統(tǒng)的系統(tǒng)組織方式,包括構(gòu)成系統(tǒng)的構(gòu)件接口、行為模式、協(xié)作關(guān)系以及對(duì)這些問(wèn)題的決策等信息體系結(jié)構(gòu)不僅涉及到結(jié)構(gòu)與行為,而且還涉及到系統(tǒng)的使用、功能、性能、適應(yīng)性、重用性、可理解性、經(jīng)濟(jì)性和技術(shù)約束的權(quán)衡軟件體系結(jié)構(gòu)是軟件的總體框架,好比在建造房屋時(shí),一開(kāi)始就要規(guī)定是歐式建筑風(fēng)格,還是中式建筑風(fēng)格1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的定義:pBooch、Rumbaughh和Jacobson認(rèn)為軟件體系結(jié)構(gòu)決定了以下內(nèi)容:系統(tǒng)整體結(jié)構(gòu)的組織方式,構(gòu)成系統(tǒng)的模型元素及其接口的選擇,以及由這些模型元素之間的協(xié)作所描述的系統(tǒng)行為pMary Shaw和David Garlan認(rèn)為軟件體系結(jié)構(gòu)是
19、設(shè)計(jì)過(guò)程的一個(gè)層次,超越了算法設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的定義:pDewayne Perry和Alex Wo1f的定義是:軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,包括處理組件、數(shù)據(jù)組件和連接組件pBass、Ctements和Kazman認(rèn)為:程序或軟件的體系結(jié)構(gòu)包括一組軟件組件、軟件組件的外部可見(jiàn)特性及其之間的相互關(guān)系pBarry Boehm認(rèn)為軟件體系結(jié)構(gòu)是一個(gè)包括系統(tǒng)構(gòu)件、連接件和約束的集合,是一個(gè)反映不同人員需求的集合,是一個(gè)證明系統(tǒng)在實(shí)現(xiàn)后能夠滿(mǎn)足需求的理論集合1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的定義:pSoni、Nord和Hofmeister指出軟件體系結(jié)構(gòu)至少應(yīng)該
20、包括以下四個(gè)不同的實(shí)例化結(jié)構(gòu):概念體系結(jié)構(gòu)、模塊連接體系結(jié)構(gòu)、執(zhí)行體系結(jié)構(gòu)和代碼結(jié)構(gòu),這些結(jié)構(gòu)從不同方面對(duì)系統(tǒng)進(jìn)行了描述pDavid Garlan和Dewayne Perry認(rèn)為軟件體系結(jié)構(gòu)是程序或系統(tǒng)中組件的結(jié)構(gòu)、組件之間的相互關(guān)系、設(shè)計(jì)的基本原則以及隨時(shí)間進(jìn)化的指導(dǎo)方針pHayes-Roth認(rèn)為軟件體系結(jié)構(gòu)是由功能構(gòu)件組成的抽象系統(tǒng)說(shuō)明,該說(shuō)明對(duì)功能構(gòu)件的行為、界面和構(gòu)件之間的相互作用進(jìn)行了詳細(xì)地描述1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的定義:p本書(shū)的定義,軟件體系結(jié)構(gòu)主要包括構(gòu)件、連接件和配置約束三個(gè)部分,構(gòu)件是可預(yù)制和可重用的軟件部件,是組成體系結(jié)構(gòu)的基本計(jì)算單元或數(shù)據(jù)存貯單元,連接件是可預(yù)
21、制和可重用的軟件部件,是構(gòu)件之間的連接單元,配置約束用來(lái)描述構(gòu)件和連接件之間的關(guān)聯(lián)關(guān)系1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的作用p在需求階段、設(shè)計(jì)階段、實(shí)現(xiàn)階段、部署階段和后開(kāi)發(fā)階段,軟件體系結(jié)構(gòu)始終扮演著中介角色,是整個(gè)軟件系統(tǒng)的一幅開(kāi)發(fā)草圖1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的作用p需求階段的軟件體系結(jié)構(gòu),包括兩方面研究工作:一是在較高抽象層次上,用軟件體系結(jié)構(gòu)的概念和描述手段來(lái)刻畫(huà)問(wèn)題空間的軟件需求,二是探討如何將軟件需求規(guī)約自動(dòng)或半自動(dòng)地轉(zhuǎn)變?yōu)檐浖w系結(jié)構(gòu)模型p設(shè)計(jì)階段的軟件體系結(jié)構(gòu),研究?jī)?nèi)容主要包括:軟件體系結(jié)構(gòu)描述、軟件體系結(jié)構(gòu)設(shè)計(jì)、軟件體系結(jié)構(gòu)分析、以及對(duì)軟件體系結(jié)構(gòu)設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)與復(fù)用等1
22、.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的作用p實(shí)現(xiàn)階段的軟件體系結(jié)構(gòu),研究?jī)?nèi)容主要包括:基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)支持,軟件體系結(jié)構(gòu)向?qū)崿F(xiàn)的過(guò)渡途徑和基于軟件體系結(jié)構(gòu)的測(cè)試技術(shù)p部署階段的軟件體系結(jié)構(gòu),軟件體系結(jié)構(gòu)視圖可以充分地描述部署階段的軟硬件配置,可以記錄軟件部署的經(jīng)驗(yàn),以便在下次部署時(shí)復(fù)用已有的經(jīng)驗(yàn),利用軟件體系結(jié)構(gòu)模型可以分析部署方案的質(zhì)量屬性,從而選擇合理的部署方案1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的作用p后開(kāi)發(fā)階段的軟件體系結(jié)構(gòu),主要涉及軟件體系結(jié)構(gòu)的維護(hù)、演化和復(fù)用等問(wèn)題,包括:動(dòng)態(tài)軟件體系結(jié)構(gòu)、軟件體系結(jié)構(gòu)的恢復(fù)以及軟件體系結(jié)構(gòu)的重建p項(xiàng)目開(kāi)發(fā)很少?gòu)念^開(kāi)始,許多軟件開(kāi)發(fā)任務(wù)是對(duì)已有的遺留系統(tǒng)進(jìn)行升級(jí)、增強(qiáng)或移植來(lái)完成的,軟件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建醫(yī)科大學(xué)孟超肝膽醫(yī)院(福建醫(yī)科大學(xué)吳孟超紀(jì)念醫(yī)院)招聘編外工作人員6人備考題庫(kù)含答案詳解
- 2026重慶醫(yī)科大學(xué)附屬康復(fù)醫(yī)院大渡口康復(fù)醫(yī)學(xué)科護(hù)理、醫(yī)保辦人員招聘2人備考題庫(kù)及答案詳解(易錯(cuò)題)
- 2025年湖南理工學(xué)院南湖學(xué)院馬克思主義基本原理概論期末考試模擬題含答案解析(奪冠)
- 2025年西安培華學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(奪冠)
- 2025年珠海藝術(shù)職業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題含答案解析(必刷)
- 2025年鄭州信息科技職業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(奪冠)
- 2025年鉛山縣幼兒園教師招教考試備考題庫(kù)帶答案解析(必刷)
- 2025年長(zhǎng)沙衛(wèi)生職業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題及答案解析(必刷)
- 2025年長(zhǎng)白朝鮮族自治縣招教考試備考題庫(kù)及答案解析(必刷)
- 2025年陜西青年職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)帶答案解析
- 2025~2026學(xué)年山東省菏澤市牡丹區(qū)第二十一初級(jí)中學(xué)八年級(jí)上學(xué)期期中歷史試卷
- 2026國(guó)家統(tǒng)計(jì)局儀征調(diào)查隊(duì)招聘輔助調(diào)查員1人(江蘇)考試參考試題及答案解析
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)脫硫市場(chǎng)運(yùn)行態(tài)勢(shì)及行業(yè)發(fā)展前景預(yù)測(cè)報(bào)告
- 水利工程施工質(zhì)量檢測(cè)方案
- 2025年北京高中合格考政治(第一次)試題和答案
- 卵巢類(lèi)癌診治中國(guó)專(zhuān)家共識(shí)(2025年版)
- 中國(guó)農(nóng)業(yè)科學(xué)院2026年度第一批統(tǒng)一公開(kāi)招聘筆試考試參考試題及答案解析
- 飼料運(yùn)輸合同范本
- 臨床護(hù)理教學(xué)中的人文關(guān)懷
- DB6109∕T 317-2025 庫(kù)區(qū)消落帶桑樹(shù)生態(tài)修復(fù)技術(shù)規(guī)程
- 靜設(shè)備作業(yè)指導(dǎo)書(shū)
評(píng)論
0/150
提交評(píng)論