體系結(jié)構(gòu)第章認(rèn)識(shí)體系結(jié)構(gòu)_第1頁(yè)
體系結(jié)構(gòu)第章認(rèn)識(shí)體系結(jié)構(gòu)_第2頁(yè)
體系結(jié)構(gòu)第章認(rèn)識(shí)體系結(jié)構(gòu)_第3頁(yè)
體系結(jié)構(gòu)第章認(rèn)識(shí)體系結(jié)構(gòu)_第4頁(yè)
體系結(jié)構(gòu)第章認(rèn)識(shí)體系結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、關(guān)于體系結(jié)構(gòu)第章認(rèn)識(shí)體系結(jié)構(gòu)第一張,PPT共八十六頁(yè),創(chuàng)作于2022年6月第1章 軟件體系結(jié)構(gòu)概論從軟件危機(jī)談起 軟件成本日益增長(zhǎng) 開(kāi)發(fā)進(jìn)度難以控制 軟件質(zhì)量差 軟件維護(hù)困難第二張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件成本日益增長(zhǎng) 20世紀(jì)50年代,軟件成本在整個(gè)計(jì)算機(jī)系統(tǒng)成本中所占的比例為10%-20%。到20世紀(jì)60年代中期,軟件成本在計(jì)算機(jī)系統(tǒng)中所占的比例已經(jīng)增長(zhǎng)到50%左右。 而且,該數(shù)字還在不斷地遞增,下面是一組來(lái)自美國(guó)空軍計(jì)算機(jī)系統(tǒng)的數(shù)據(jù):1955年,軟件費(fèi)用約占總費(fèi)用的18%,1970年達(dá)到60%,1975年達(dá)到72%,1980年達(dá)到80%,1985年達(dá)到85%左右。第三張

2、,PPT共八十六頁(yè),創(chuàng)作于2022年6月開(kāi)發(fā)進(jìn)度難以控制 由于軟件是邏輯、智力產(chǎn)品,軟件的開(kāi)發(fā)需建立龐大的邏輯體系,這是與其他產(chǎn)品的生產(chǎn)不一樣的。 在軟件開(kāi)發(fā)過(guò)程中,用戶需求變化等各種意想不到的情況層出不窮,令軟件開(kāi)發(fā)過(guò)程很難保證按預(yù)定的計(jì)劃實(shí)現(xiàn),給項(xiàng)目計(jì)劃和論證工作帶來(lái)了很大的困難。 盲目增加軟件開(kāi)發(fā)人員并不能成比例地提高軟件開(kāi)發(fā)能力。相反,隨著人員數(shù)量的增加,人員的組織、協(xié)調(diào)、通信、培訓(xùn)和管理等方面的問(wèn)題將更為嚴(yán)重。第四張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件質(zhì)量差 軟件項(xiàng)目即使能按預(yù)定日期完成,結(jié)果卻不盡人意。1965年至1970年,美國(guó)范登堡基地發(fā)射火箭多次失敗,絕大部分故障是由

3、應(yīng)用程序錯(cuò)誤造成的。 在“軟件作坊”里,由于缺乏工程化思想的指導(dǎo),程序員幾乎總是習(xí)慣性地以自己的想法去代替用戶對(duì)軟件的需求,軟件設(shè)計(jì)帶有隨意性,很多功能只是程序員的“一廂情愿”而已,這是造成軟件不能令人滿意的重要因素。第五張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件維護(hù)困難 由于在軟件設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,沒(méi)有嚴(yán)格遵循軟件開(kāi)發(fā)標(biāo)準(zhǔn),各種隨意性很大,沒(méi)有完整的真實(shí)反映系統(tǒng)狀況的記錄文檔,給軟件維護(hù)造成了巨大的困難。 特別是在軟件使用過(guò)程中,原來(lái)的開(kāi)發(fā)人員可能因各種原因已經(jīng)離開(kāi)原來(lái)的開(kāi)發(fā)組織,使得軟件幾乎不可維護(hù)。 有資料表明,工業(yè)界為維護(hù)軟件支付的費(fèi)用占全部硬件和軟件費(fèi)用的40%-75%。 第六張

4、,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件危機(jī)的原因 用戶需求不明確 缺乏正確的理論指導(dǎo)軟件規(guī)模越來(lái)越大軟件復(fù)雜度越來(lái)越高第七張,PPT共八十六頁(yè),創(chuàng)作于2022年6月用戶需求不明確 在軟件開(kāi)發(fā)完成之前,用戶不清楚軟件的具體需求;用戶對(duì)軟件需求的描述不精確,可能有遺漏、有二義性、甚至有錯(cuò)誤; 在軟件開(kāi)發(fā)過(guò)程中,用戶還提出修改軟件功能、界面、支撐環(huán)境等方面的要求;開(kāi)發(fā)人員對(duì)用戶需求的理解與用戶本來(lái)愿望有差異。 第八張,PPT共八十六頁(yè),創(chuàng)作于2022年6月缺乏正確的理論指導(dǎo) 缺乏有力的方法學(xué)和工具方面的支持。由于軟件不同于大多數(shù)其他工業(yè)產(chǎn)品,其開(kāi)發(fā)過(guò)程是復(fù)雜的邏輯思維過(guò)程,其產(chǎn)品極大程度地依賴

5、于開(kāi)發(fā)人員高度的智力投入。由于過(guò)分地依靠程序設(shè)計(jì)人員在軟件開(kāi)發(fā)過(guò)程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個(gè)性化,也是發(fā)生軟件危機(jī)的一個(gè)重要原因。 第九張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件規(guī)模越來(lái)越大 隨著軟件應(yīng)用范圍的增廣,軟件規(guī)模愈來(lái)愈大。大型軟件項(xiàng)目需要組織一定的人力共同完成,而多數(shù)管理人員缺乏開(kāi)發(fā)大型軟件系統(tǒng)的經(jīng)驗(yàn),而多數(shù)軟件開(kāi)發(fā)人員又缺乏管理方面的經(jīng)驗(yàn)。各類人員的信息交流不及時(shí)、不準(zhǔn)確、有時(shí)還會(huì)產(chǎn)生誤解。 軟件項(xiàng)目開(kāi)發(fā)人員不能有效地、獨(dú)立自主地處理大型軟件的全部關(guān)系和各個(gè)分支,因此容易產(chǎn)生疏漏和錯(cuò)誤。 第十張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件復(fù)雜度越來(lái)越高 軟件不僅僅是在

6、規(guī)模上快速地發(fā)展擴(kuò)大,而且其復(fù)雜性也急劇地增加。軟件產(chǎn)品的特殊性和人類智力的局限性,導(dǎo)致人們無(wú)力處理“復(fù)雜問(wèn)題”。 所謂“復(fù)雜問(wèn)題”的概念是相對(duì)的,一旦人們采用先進(jìn)的組織形式、開(kāi)發(fā)方法和工具提高了軟件開(kāi)發(fā)效率和能力,新的、更大的、更復(fù)雜的問(wèn)題又?jǐn)[在人們的面前。 第十一張,PPT共八十六頁(yè),創(chuàng)作于2022年6月如何克服軟件危機(jī) 人們面臨的不光是技術(shù)問(wèn)題,更重要的是管理問(wèn)題。管理不善必然導(dǎo)致失敗 。 要提高軟件開(kāi)發(fā)效率,提高軟件產(chǎn)品質(zhì)量,必須采用工程化的開(kāi)發(fā)方法與工業(yè)化的生產(chǎn)技術(shù)。 在技術(shù)上,應(yīng)該采用基于重用的軟件生產(chǎn)技術(shù);在管理上,應(yīng)該采用多維的工程管理模式。第十二張,PPT共八十六頁(yè),創(chuàng)作于2

7、022年6月“建筑體系結(jié)構(gòu)”第十三張,PPT共八十六頁(yè),創(chuàng)作于2022年6月前言體系結(jié)構(gòu)簡(jiǎn)稱架構(gòu)或構(gòu)架。 構(gòu):本義架木造屋,引申為構(gòu)造 構(gòu)架:建筑的結(jié)構(gòu) 結(jié):用繩、線、皮條等綰成的疙瘩;關(guān)鍵點(diǎn);被聯(lián)結(jié)狀態(tài) 結(jié)構(gòu):組成整體的各部分的搭配和安排對(duì)住房的功能需求:能夠居住。 對(duì)住房的質(zhì)量需求: 安全性:能避免地震、臺(tái)風(fēng)、暴雨等各種自然災(zāi)害。 居住者在建筑內(nèi)的健康性,舒適性。 美觀性:有親和感,社會(huì)文化的體現(xiàn)。不同住房具有相同的功能,但其架構(gòu)不同,所滿足的居住質(zhì)量也不相同。第十四張,PPT共八十六頁(yè),創(chuàng)作于2022年6月人類最早的居住方式:巢居和穴居炎熱或高海拔地區(qū)的穴居方式,可獲得相對(duì)穩(wěn)定的室內(nèi)熱環(huán)

8、境,頂部的天窗既可采光又可排煙。第十五張,PPT共八十六頁(yè),創(chuàng)作于2022年6月愛(ài)斯基摩雪屋的外觀和室內(nèi)布置 用干雪沏成,厚度500的墻體可以提供較好的保溫性能。當(dāng)室外平均溫度30時(shí)可維持室內(nèi)溫度5以上。第十六張,PPT共八十六頁(yè),創(chuàng)作于2022年6月大陸氣候的中國(guó)民居土窯洞借助土壤大熱慣性,達(dá)到冬暖夏涼的目的。第十七張,PPT共八十六頁(yè),創(chuàng)作于2022年6月利用太陽(yáng)高度角的特點(diǎn),僅在北方出現(xiàn)。四合院建筑冬季有效地利用了太陽(yáng)能采暖和抵御北風(fēng)侵襲,屋頂設(shè)計(jì)避免了夏季室內(nèi)過(guò)熱。中國(guó)四合院:座北朝南的典范第十八張,PPT共八十六頁(yè),創(chuàng)作于2022年6月濕熱地區(qū)的中國(guó)民居云南干闌竹樓:防雨,防濕和防熱

9、。第十九張,PPT共八十六頁(yè),創(chuàng)作于2022年6月地球環(huán)境還可持續(xù)發(fā)展嗎? 遍布全球的玻璃和鋼筋盒子建筑空調(diào)的普及使人們不再關(guān)心建筑的冷暖,但高能耗又使環(huán)境受到影響。第二十張,PPT共八十六頁(yè),創(chuàng)作于2022年6月為什么研究軟件架構(gòu)? 思想有多遠(yuǎn),我們就能走多遠(yuǎn) 高度決定思路,思路決定出路 系統(tǒng)的建立是為了滿足組織的需求(包括功能和質(zhì)量),質(zhì)量需求決定了系統(tǒng)必須達(dá)到的特征, 包括性能, 可靠性, 互操作性以及生命周期等。隨著軟件系統(tǒng)的日益復(fù)雜,涉眾對(duì)軟件的要求已不局限于功能上的滿足,而是更加注重質(zhì)量。 很少有人注意到組織(開(kāi)發(fā)組織、客戶等)在系統(tǒng)設(shè)計(jì)和系統(tǒng)成敗上扮演的角色。 系統(tǒng)的質(zhì)量特征受到

10、軟件架構(gòu)的限制,或者說(shuō)構(gòu)架設(shè)計(jì)的選擇受到要達(dá)到的質(zhì)量特征的影響。 第二十一張,PPT共八十六頁(yè),創(chuàng)作于2022年6月本課程的目的:對(duì)軟件體系結(jié)構(gòu)的產(chǎn)生、演化做通俗介紹,減少對(duì)軟件體系結(jié)構(gòu)認(rèn)識(shí)的神秘感,對(duì)軟件體系結(jié)構(gòu)設(shè)計(jì)提供實(shí)用的指導(dǎo)。第二十二張,PPT共八十六頁(yè),創(chuàng)作于2022年6月第1部分: 軟件構(gòu)架的基礎(chǔ)第2部分: 構(gòu)架的創(chuàng)建第3部分: 構(gòu)架的分析與評(píng)審第二十三張,PPT共八十六頁(yè),創(chuàng)作于2022年6月課程形式理論課、專題課、作業(yè)成績(jī)?cè)u(píng)定作業(yè)、考勤、考試作業(yè) +考勤 30%、考試 70%第二十四張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件架構(gòu)的概念控制處理(CP)特征損失模型回聲模型噪音

11、模型第二十五張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件架構(gòu)在一定的設(shè)計(jì)原則基礎(chǔ)上,從不同角度對(duì)組成系統(tǒng)的各部分進(jìn)行搭配和安排,形成系統(tǒng)的多個(gè)結(jié)構(gòu)而組成架構(gòu),它包括該系統(tǒng)的各個(gè)組件、組件的外部可見(jiàn)屬性及相互關(guān)系。外部可見(jiàn)屬性指其它組件可對(duì)該組件所做的假設(shè),如該組件提供的服務(wù)、具備的性能特征、錯(cuò)誤處理、共享資源的使用。為什么設(shè)計(jì)原則是架構(gòu)的一部分? 做事先做人 很多人不懂或不遵守走路的規(guī)則,結(jié)果丟掉性命 很多人不遵守開(kāi)車的規(guī)則,結(jié)果造成嚴(yán)重交通事故 同樣,不遵循架構(gòu)設(shè)計(jì)的原則,架構(gòu)也容易失敗。軟件架構(gòu)的定義第二十六張,PPT共八十六頁(yè),創(chuàng)作于2022年6月架構(gòu)定義可以從下面六個(gè)方面來(lái)理解:架構(gòu)

12、應(yīng)建立在一定的設(shè)計(jì)原則之上,否則很容易失敗。系統(tǒng)可能由多個(gè)結(jié)構(gòu)組成,其中任何一個(gè)結(jié)構(gòu)都不能與構(gòu)架等同。每個(gè)軟件系統(tǒng)都有自己的架構(gòu)。軟件架構(gòu)決定了各個(gè)組件。只要某個(gè)組件的行為可以從其它組件的角度觀察到或區(qū)別開(kāi),這樣的行為就是軟件架構(gòu)的內(nèi)容。軟件架構(gòu)是抽象的,它不考慮實(shí)現(xiàn)、算法和數(shù)據(jù)表示的細(xì)節(jié),而集中研究“黑盒”組件的行為和交互,是設(shè)計(jì)第一步。第二十七張,PPT共八十六頁(yè),創(chuàng)作于2022年6月其它觀點(diǎn)觀點(diǎn)1 軟件架構(gòu)是高層次的設(shè)計(jì)觀點(diǎn)2 軟件架構(gòu)是軟件系統(tǒng)的總體結(jié)構(gòu)觀點(diǎn)3 IEEE的定義:軟件架構(gòu)是一個(gè)程序或系統(tǒng)的組件結(jié)構(gòu)、組件之間的相互聯(lián)系及支配組件設(shè)計(jì)和進(jìn)化的指導(dǎo)原則觀點(diǎn)4 Perry和Wo1

13、f提出:軟件架構(gòu)是具有一定形式的結(jié)構(gòu)化元素,包括處理元素、數(shù)據(jù)元素和連接元素。處理元素負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)元素是被加工的信息,連接元素把架構(gòu)的不同部分組合連接起來(lái)。第二十八張,PPT共八十六頁(yè),創(chuàng)作于2022年6月觀點(diǎn)5 Mary Shaw和David Garlan認(rèn)為軟件體系結(jié)構(gòu)是軟件設(shè)計(jì)過(guò)程中的一個(gè)層次,這一層次超越計(jì)算過(guò)程中的算法設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)。體系結(jié)構(gòu)問(wèn)題包括總體組織和全局控制、通訊協(xié)議、同步、數(shù)據(jù)存取,給設(shè)計(jì)元素分配特定功能,設(shè)計(jì)元素的組織,規(guī)模和性能,在各設(shè)計(jì)方案間進(jìn)行選擇等。軟件體系結(jié)構(gòu)處理算法與數(shù)據(jù)結(jié)構(gòu)之上關(guān)于整體系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和描述方面的一些問(wèn)題,如全局組織和全局控制結(jié)

14、構(gòu)、關(guān)于通訊、同步與數(shù)據(jù)存取的協(xié)議,設(shè)計(jì)構(gòu)件功能定義,物理分布與合成,設(shè)計(jì)方案的選擇、評(píng)估與實(shí)現(xiàn)等。 觀點(diǎn)6 Kruchten指出,軟件體系結(jié)構(gòu)有四個(gè)角度,它們從不同方面對(duì)系統(tǒng)進(jìn)行描述:概念角度描述系統(tǒng)的主要構(gòu)件及它們之間的關(guān)系;模塊角度包含功能分解與層次結(jié)構(gòu);運(yùn)行角度描述了一個(gè)系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu);代碼角度描述了各種代碼和庫(kù)函數(shù)在開(kāi)發(fā)環(huán)境中的組織。 第二十九張,PPT共八十六頁(yè),創(chuàng)作于2022年6月這些角度形成了一個(gè)“4+1”的視角模型。“4+1”模型從5個(gè)不同的視角包括邏輯視角、過(guò)程視角、物理視角、開(kāi)發(fā)視角和場(chǎng)景視角來(lái)描述軟件體系結(jié)構(gòu)。每一個(gè)視角只關(guān)心系統(tǒng)的一個(gè)側(cè)面,5個(gè)視角結(jié)合在一起才能夠反映

15、系統(tǒng)的軟件體系結(jié)構(gòu)的全部?jī)?nèi)容?!?+1”模型如圖所示:第三十張,PPT共八十六頁(yè),創(chuàng)作于2022年6月觀點(diǎn)7 Hayes Roth則認(rèn)為軟件架構(gòu)是一個(gè)抽象的系統(tǒng)規(guī)范,主要包括用其行為來(lái)描述的功能構(gòu)件和構(gòu)件之間的相互連接、接口和關(guān)系 。 觀點(diǎn)8 Barry Boehm提出,軟件架構(gòu)包括系統(tǒng)構(gòu)件,互聯(lián)及約束的集合;系統(tǒng)需求說(shuō)明的集合;一個(gè)基本原理用以說(shuō)明這一構(gòu)件,互聯(lián)和約束能夠滿足系統(tǒng)需求。觀點(diǎn)9 軟件架構(gòu)為軟件系統(tǒng)提供了一個(gè)結(jié)構(gòu)、行為和屬性的高級(jí)抽象,由構(gòu)成系統(tǒng)的元素的描述、這些元素的相互作用、指導(dǎo)元素集成的模式以及這些模式的約束組成。軟件架構(gòu)不僅指定了系統(tǒng)的組織結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu),并且顯示了系統(tǒng)需

16、求和構(gòu)成系統(tǒng)的元素之間的對(duì)應(yīng)關(guān)系,提供了一些設(shè)計(jì)決策的基本原理。第三十一張,PPT共八十六頁(yè),創(chuàng)作于2022年6月設(shè)計(jì)僅是系統(tǒng)功能需求分析的產(chǎn)物?功能需求設(shè)計(jì)系統(tǒng)開(kāi)發(fā)?否也!2009年1月3號(hào)廣州火車站16萬(wàn)張票同時(shí)出閘致系統(tǒng)癱瘓。 911中是世界貿(mào)易大廈的倒塌。2007年1月18日,招商證券的客戶發(fā)現(xiàn),在公司進(jìn)行網(wǎng)絡(luò)交易時(shí),公司網(wǎng)站竟然無(wú)法登陸。一部分客戶轉(zhuǎn)向電話服務(wù)尋求幫助,卻發(fā)現(xiàn)電話線路出現(xiàn)同樣的阻塞。行情轉(zhuǎn)瞬即逝。擁堵是由于交易量激增,原有系統(tǒng)容量不足引起的 。奧運(yùn)門票銷售系統(tǒng)的失敗軟件架構(gòu)的產(chǎn)生?第三十二張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件體系結(jié)構(gòu)研究的問(wèn)題結(jié)構(gòu)性問(wèn)題系統(tǒng)的

17、組織,由哪些組件構(gòu)成全局性的控制結(jié)構(gòu)通訊,同步或訪問(wèn)的協(xié)議將功能分配到不同的系統(tǒng)組成部分設(shè)計(jì)元素的組成系統(tǒng)的物理分布可擴(kuò)展性,性能第三十三張,PPT共八十六頁(yè),創(chuàng)作于2022年6月主要內(nèi)容包括A對(duì)系統(tǒng)組成元素的描述B這些元素相互之間的交互C系統(tǒng)組成的模式D模式的約束所以在軟件構(gòu)架中,系統(tǒng)以組件和組件之間的交互進(jìn)行定義當(dāng)前的系統(tǒng)同時(shí)可以作為更高層設(shè)計(jì)的一個(gè)系統(tǒng)組件第三十四張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件設(shè)計(jì)的層次軟件設(shè)計(jì)可以在多個(gè)不同的層次,在每一層我們都會(huì)發(fā)現(xiàn)相應(yīng)的組件以及由這些組件組成更大的組件的組合機(jī)制.二進(jìn)制執(zhí)行文件層 位模式代碼層 編程語(yǔ)言的原語(yǔ),操作符; 記錄,數(shù)組,過(guò)

18、程;構(gòu)架層 模塊第三十五張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件體系結(jié)構(gòu)的意義 體系結(jié)構(gòu)是風(fēng)險(xiǎn)承擔(dān)者進(jìn)行交流的手段 軟件體系結(jié)構(gòu)代表了系統(tǒng)的公共的高層次的抽象。這樣,系統(tǒng)的大部分有關(guān)人員(即使不是全部)能把它作為建立一個(gè)互相理解的基礎(chǔ),形成統(tǒng)一認(rèn)識(shí),互相交流。 體系結(jié)構(gòu)提供了一種共同語(yǔ)言來(lái)表達(dá)各種關(guān)注和協(xié)商,進(jìn)而對(duì)大型復(fù)雜系統(tǒng)能進(jìn)行理智的管理。這對(duì)項(xiàng)目最終的質(zhì)量和使用有極大的影響。 第三十六張,PPT共八十六頁(yè),創(chuàng)作于2022年6月體系結(jié)構(gòu)是早期設(shè)計(jì)決策的體現(xiàn) 軟件體系結(jié)構(gòu)明確了對(duì)系統(tǒng)實(shí)現(xiàn)的約束條件軟件體系結(jié)構(gòu)決定了開(kāi)發(fā)和維護(hù)組織的組織結(jié)構(gòu)軟件體系結(jié)構(gòu)制約著系統(tǒng)的質(zhì)量屬性通過(guò)研究軟件體系

19、結(jié)構(gòu)可能預(yù)測(cè)軟件的質(zhì)量軟件體系結(jié)構(gòu)使推理和控制更改更簡(jiǎn)單軟件體系結(jié)構(gòu)有助于循序漸進(jìn)的原型設(shè)計(jì)軟件體系結(jié)構(gòu)可以作為培訓(xùn)的基礎(chǔ)第三十七張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件體系結(jié)構(gòu)是可傳遞和可重用的模型 軟件體系結(jié)構(gòu)級(jí)的重用意味著體系結(jié)構(gòu)的決策能在具有相似需求的多個(gè)系統(tǒng)中發(fā)生影響,這比代碼級(jí)的重用要有更大的好處。 第三十八張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件體系結(jié)構(gòu)的發(fā)展史 “無(wú)體系結(jié)構(gòu)”設(shè)計(jì)階段萌芽階段以匯編語(yǔ)言進(jìn)行小規(guī)模應(yīng)用程序開(kāi)發(fā)為特征以描述系統(tǒng)的高層抽象結(jié)構(gòu)為中心,不關(guān)心具體的建模細(xì)節(jié),劃分了體系結(jié)構(gòu)模型與傳統(tǒng)軟件結(jié)構(gòu)的界限,該階段以Kruchten提出的“4+1”模型為

20、標(biāo)志出現(xiàn)了從不同側(cè)面描述系統(tǒng)的結(jié)構(gòu)模型,以UML為典型代表。出現(xiàn)了程序結(jié)構(gòu)設(shè)計(jì)主題,以控制流圖和數(shù)據(jù)流圖構(gòu)成軟件結(jié)構(gòu)為特征高級(jí)階段初期階段第三十九張,PPT共八十六頁(yè),創(chuàng)作于2022年6月Perry和Wolf認(rèn)為未來(lái)的年代是研究軟件體系結(jié)構(gòu)的時(shí)代 第四十張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀 軟件體系結(jié)構(gòu)描述語(yǔ)言體系結(jié)構(gòu)描述構(gòu)造與表示體系結(jié)構(gòu)分析、設(shè)計(jì)與驗(yàn)證體系結(jié)構(gòu)發(fā)現(xiàn)、演化與重用基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)方法特定領(lǐng)域的體系結(jié)構(gòu)框架軟件體系結(jié)構(gòu)支持工具軟件產(chǎn)品線體系結(jié)構(gòu)建立評(píng)價(jià)軟件體系結(jié)構(gòu)的方法第四十一張,PPT共八十六頁(yè),創(chuàng)作于2022年6月我們的目標(biāo)在軟件開(kāi)發(fā)過(guò)程中使

21、用軟件體系結(jié)構(gòu)成為系統(tǒng)架構(gòu)師第四十二張,PPT共八十六頁(yè),創(chuàng)作于2022年6月系統(tǒng)架構(gòu)師系統(tǒng)架構(gòu)師負(fù)責(zé)設(shè)計(jì)系統(tǒng)整體架構(gòu),從需求到設(shè)計(jì)的每個(gè)細(xì)節(jié)都要考慮到,把握整個(gè)項(xiàng)目,使設(shè)計(jì)的項(xiàng)目盡量效率高,開(kāi)發(fā)容易,維護(hù)方便,升級(jí)簡(jiǎn)單等。 系統(tǒng)構(gòu)架師是近幾年來(lái)在國(guó)內(nèi)外迅速成長(zhǎng)并發(fā)展良好的一個(gè)職位。比爾 蓋茨 (首席軟件架構(gòu)師);丁磊 (首席架構(gòu)師 )第四十三張,PPT共八十六頁(yè),創(chuàng)作于2022年6月系統(tǒng)架構(gòu)師的職責(zé) l、領(lǐng)導(dǎo)與協(xié)調(diào)整個(gè)項(xiàng)目中的技術(shù)活動(dòng)(分析、設(shè)計(jì)和實(shí)施等) 2、推動(dòng)主要的技術(shù)決策,并最終表達(dá)為軟件構(gòu)架 3、確定和文檔化系統(tǒng)的相對(duì)構(gòu)架而言意義重大的方面,包括系統(tǒng)的需求、設(shè)計(jì)、實(shí)施和部署等“視圖

22、” 4、確定設(shè)計(jì)元素的分組以及這些主要分組之間的接口 5、為技術(shù)決策提供規(guī)則,平衡各類涉眾的不同關(guān)注點(diǎn),化解技術(shù)風(fēng)險(xiǎn),并保證相關(guān)決定被有效的傳達(dá)和貫徹 6、理解、評(píng)價(jià)并接收系統(tǒng)需求 7、評(píng)價(jià)和確認(rèn)軟件架構(gòu)的實(shí)現(xiàn)第四十四張,PPT共八十六頁(yè),創(chuàng)作于2022年6月某集團(tuán)公司要開(kāi)發(fā)一個(gè)網(wǎng)絡(luò)財(cái)務(wù)程序,使各地員工能在互聯(lián)網(wǎng)絡(luò)上進(jìn)行財(cái)務(wù)處理和報(bào)銷。在設(shè)計(jì)該財(cái)務(wù)程序的體系結(jié)構(gòu)時(shí),項(xiàng)目組產(chǎn)生了分歧:張工程師認(rèn)為應(yīng)該采用客戶機(jī)/服務(wù)器(C/S)結(jié)構(gòu)。各分公司財(cái)務(wù)部要安裝一個(gè)軟件客戶端,通過(guò)這個(gè)客戶端連接到總公司財(cái)務(wù)部主機(jī)。如果員工在外地出差,需要報(bào)銷帳務(wù)的,也需要安裝這個(gè)客戶端才能進(jìn)行。李工程師認(rèn)為應(yīng)該采用瀏覽

23、器/服務(wù)器(BS)結(jié)構(gòu),各分公司及出差員工直接通過(guò)Windows操作系統(tǒng)自帶的IE瀏覽器就可以連接到總公司的財(cái)務(wù)部主機(jī)。第四十五張,PPT共八十六頁(yè),創(chuàng)作于2022年6月架構(gòu)受系統(tǒng)風(fēng)險(xiǎn)承擔(dān)者的影響風(fēng)險(xiǎn)承擔(dān)者對(duì)構(gòu)建軟件系統(tǒng)感興趣的人或組織,包括合同中的客戶、系統(tǒng)最終用戶、開(kāi)發(fā)人員、開(kāi)發(fā)組織、系統(tǒng)維護(hù)人員等,他們所關(guān)注的問(wèn)題各不相同,但都要求系統(tǒng)在他們所關(guān)注的方面提供保證或優(yōu)化。事物有主要矛盾和次要矛盾之分。開(kāi)發(fā)系統(tǒng)時(shí),首先要確定其軟件構(gòu)架。借助于構(gòu)架,設(shè)計(jì)師可以分析眾多風(fēng)險(xiǎn)承擔(dān)者所提出的各種要求的優(yōu)先級(jí),并將這些要求轉(zhuǎn)化為系統(tǒng)的各個(gè)特性,再針對(duì)它們?cè)谙到y(tǒng)結(jié)構(gòu)上做折衷,從而得到和諧的架構(gòu)。 第四十

24、六張,PPT共八十六頁(yè),創(chuàng)作于2022年6月 開(kāi)發(fā)組織所關(guān)心的問(wèn)題不同于客戶,它對(duì)軟件構(gòu)架的影響分為3類: 直接影響 如希望向產(chǎn)品線發(fā)展 長(zhǎng)遠(yuǎn)影響 如行業(yè)布局 組織結(jié)構(gòu)的影響 如軟件外包 開(kāi)發(fā)團(tuán)隊(duì)的經(jīng)驗(yàn)對(duì)設(shè)計(jì)師的影響第四十七張,PPT共八十六頁(yè),創(chuàng)作于2022年6月架構(gòu)受設(shè)計(jì)師的素質(zhì)和經(jīng)驗(yàn)的影響 1 熟悉.NET的設(shè)計(jì)師在設(shè)計(jì)時(shí)會(huì)考慮.NET的框架和技術(shù)。 2 熟悉J2EE的設(shè)計(jì)師在設(shè)計(jì)時(shí)會(huì)考慮J2EE的框架和技術(shù)。 3 設(shè)計(jì)師具有數(shù)據(jù)庫(kù)方向的背景,系統(tǒng)會(huì)被認(rèn)為是數(shù)據(jù)庫(kù)的應(yīng)用。 4 設(shè)計(jì)師具有網(wǎng)絡(luò)安全的背景,系統(tǒng)的安全會(huì)被放在很突出的位置。第四十八張,PPT共八十六頁(yè),創(chuàng)作于2022年6月構(gòu)架

25、受技術(shù)環(huán)境的影響 現(xiàn)在B/S樣式很流行,設(shè)計(jì)師在設(shè)計(jì)時(shí)往往首先考慮系統(tǒng)能否在互聯(lián)網(wǎng)環(huán)境下運(yùn)行。第四十九張,PPT共八十六頁(yè),創(chuàng)作于2022年6月需求(質(zhì)量屬性)設(shè)計(jì)師(小組)構(gòu)架系統(tǒng)客戶和最終用戶開(kāi)發(fā)組織技術(shù)環(huán)境設(shè)計(jì)師的經(jīng)驗(yàn)、溝通能力架構(gòu)所受的影響第五十張,PPT共八十六頁(yè),創(chuàng)作于2022年6月需求(質(zhì)量屬性)設(shè)計(jì)師(小組)構(gòu)架系統(tǒng)客戶和最終用戶開(kāi)發(fā)組織技術(shù)環(huán)境設(shè)計(jì)師的經(jīng)驗(yàn) 軟件的架構(gòu)不是靜止的第五十一張,PPT共八十六頁(yè),創(chuàng)作于2022年6月軟件在開(kāi)發(fā)過(guò)程中或交付使用后,都可能會(huì)發(fā)生修改,這些修改往往涉及到架構(gòu)的變更。因此軟件版本的演進(jìn)也是軟件架構(gòu)的演進(jìn)。 軟件架構(gòu)影響設(shè)計(jì)師的經(jīng)驗(yàn)。軟件架構(gòu)

26、影響開(kāi)發(fā)組織的內(nèi)部結(jié)構(gòu)和經(jīng)營(yíng)目標(biāo)。軟件架構(gòu)可能會(huì)影響客戶對(duì)下個(gè)系統(tǒng)的需求有些系統(tǒng)甚至?xí)绊懖?shí)際改變軟件工程的發(fā)展,以及開(kāi)發(fā)人員學(xué)習(xí)和實(shí)踐的技術(shù)環(huán)境,如互聯(lián)網(wǎng)、嵌入式、手機(jī)等。第五十二張,PPT共八十六頁(yè),創(chuàng)作于2022年6月架構(gòu)商業(yè)周期架構(gòu)是軟件開(kāi)發(fā)的必經(jīng)之路和必要手段,它受到來(lái)自客戶和開(kāi)發(fā)組織的影響,也受到設(shè)計(jì)師的素質(zhì)和經(jīng)驗(yàn)以及技術(shù)環(huán)境的影響;反過(guò)來(lái),構(gòu)架也影響著被開(kāi)發(fā)的系統(tǒng),對(duì)客戶、開(kāi)發(fā)組織、構(gòu)架和技術(shù)環(huán)境也都有影響,還影響著客戶及其開(kāi)發(fā)組織的未來(lái)目標(biāo)。圍繞著構(gòu)架的這些影響和反饋循環(huán)構(gòu)成構(gòu)架商業(yè)周期。事物是靜止的,也是運(yùn)動(dòng)、發(fā)展和變化的,軟件架構(gòu)也不例外。軟件的架構(gòu)是運(yùn)動(dòng)、發(fā)展和變化的。

27、第五十三張,PPT共八十六頁(yè),創(chuàng)作于2022年6月構(gòu)件與軟件重用 構(gòu)件模型及實(shí)現(xiàn) 構(gòu)件是指語(yǔ)義完整、語(yǔ)法正確和有可重用價(jià)值的單位軟件,是軟件重用過(guò)程中可以明確辨識(shí)的系統(tǒng);結(jié)構(gòu)上,它是語(yǔ)義描述、通訊接口和實(shí)現(xiàn)代碼的復(fù)合體。第五十四張,PPT共八十六頁(yè),創(chuàng)作于2022年6月在大多數(shù)工程學(xué)科中,系統(tǒng)是通過(guò)組合現(xiàn)有構(gòu)件進(jìn)行設(shè)計(jì)的,這些構(gòu)件已經(jīng)在其它系統(tǒng)上使用過(guò)。軟件工程一直以來(lái)注重于原始開(kāi)發(fā),現(xiàn)在已經(jīng)認(rèn)識(shí)到要更快、更低成本的獲得更好的軟件,我們需要采取一種基于系統(tǒng)化軟件復(fù)用(systematic software reuse)的設(shè)計(jì)過(guò)程。第五十五張,PPT共八十六頁(yè),創(chuàng)作于2022年6月在軟件演化的過(guò)

28、程中,重復(fù)使用的行為可能發(fā)生在三個(gè)維上:1.時(shí)間維:使用以前的軟件版本作為新版本的基礎(chǔ),加入新功能,適應(yīng)新需求,即軟件維護(hù)。2.平臺(tái)維:以某平臺(tái)上的軟件為基礎(chǔ),修改其和運(yùn)行平臺(tái)相關(guān)的部分,使其運(yùn)行于新平臺(tái),即軟件移植。3.應(yīng)用維:將某軟件(或其中構(gòu)件)用于其他應(yīng)用系統(tǒng)中,新系統(tǒng)具有不同功能和用途,即真正的軟件復(fù)用。第五十六張,PPT共八十六頁(yè),創(chuàng)作于2022年6月促進(jìn)從手工作坊式的軟件開(kāi)發(fā)向工業(yè)化開(kāi)發(fā)發(fā)展:核心的就是軟件構(gòu)件技術(shù)。工業(yè)化的軟件生產(chǎn),應(yīng)該有一個(gè)工業(yè)化的軟件生產(chǎn)線,軟件生產(chǎn)應(yīng)該做成什么樣,應(yīng)該有不同的車間,有的車間專門是做構(gòu)架的,就是框架。有的車間做構(gòu)件,零件。第五十七張,PPT共

29、八十六頁(yè),創(chuàng)作于2022年6月復(fù)用的好處增強(qiáng)可靠性(Increased reliability)復(fù)用構(gòu)件在工作系統(tǒng)上試用過(guò),應(yīng)該比新軟件更可靠。失誤已經(jīng)在初始使用中暴露和解決,復(fù)用軟件的失效數(shù)目應(yīng)比較低。減少過(guò)程風(fēng)險(xiǎn)(Reduced process risk)有現(xiàn)成的軟件,成本比重新開(kāi)發(fā)低。同時(shí)降低了項(xiàng)目成本估算的不確定性。在大型系統(tǒng)中,如果子系統(tǒng)是復(fù)用的,效果最明顯。符合標(biāo)準(zhǔn)(Standards compliance)有些象用戶界面這樣的標(biāo)準(zhǔn),就可以制成一組可復(fù)用的標(biāo)準(zhǔn)構(gòu)件。例如,如果把用戶界面中的菜單(Menu)做成可復(fù)用的構(gòu)件,并讓所有的應(yīng)用都采用相同的菜單格式展現(xiàn)給用戶。使用這樣的標(biāo)準(zhǔn)

30、用戶界面就使系統(tǒng)的可信度得到改善,因?yàn)橛脩粼谙嗨频慕缑嫦赂蝗菀壮鲥e(cuò)。加速開(kāi)發(fā)(Accelerated development)盡快地把一個(gè)系統(tǒng)投入市場(chǎng)有時(shí)候比它的總開(kāi)發(fā)成本更重要。因?yàn)闇p少了開(kāi)發(fā)和確認(rèn)的時(shí)間,復(fù)用軟件能夠加速系統(tǒng)生產(chǎn)。第五十八張,PPT共八十六頁(yè),創(chuàng)作于2022年6月構(gòu)件模型的三個(gè)主要流派 OMG(Object Management Group,對(duì)象管理集團(tuán))的CORBA(Common Object Request Broker Architecture,通用對(duì)象請(qǐng)求代理結(jié)構(gòu))Sun的EJB(Enterprise Java Bean)Microsoft的DCOM(Distri

31、buted Component Object Model,分布式構(gòu)件對(duì)象模型)。 第五十九張,PPT共八十六頁(yè),創(chuàng)作于2022年6月“九五”期間,青鳥(niǎo)工程研究軟件的工業(yè)化生產(chǎn)技術(shù),開(kāi)發(fā)軟件工業(yè)化生產(chǎn)系統(tǒng) 青鳥(niǎo)軟件生產(chǎn)線系統(tǒng),即基于構(gòu)件構(gòu)架模式的軟件開(kāi)發(fā)技術(shù)及系統(tǒng),為軟件開(kāi)發(fā)提供整體解決方案,推行軟件工業(yè)化生產(chǎn)模式,促進(jìn)軟件產(chǎn)業(yè)規(guī)模的形成。第六十張,PPT共八十六頁(yè),創(chuàng)作于2022年6月第六十一張,PPT共八十六頁(yè),創(chuàng)作于2022年6月青鳥(niǎo)構(gòu)件模型 第六十二張,PPT共八十六頁(yè),創(chuàng)作于2022年6月構(gòu)件獲取從現(xiàn)有構(gòu)件中獲得符合要求的構(gòu)件,直接使用或作適應(yīng)性修改,得到可重用的構(gòu)件; 通過(guò)遺留工程,

32、將具有潛在重用價(jià)值的構(gòu)件提取出來(lái),得到可重用的構(gòu)件; 從市場(chǎng)上購(gòu)買現(xiàn)成的商業(yè)構(gòu)件,即COTS(Commercial Off-The-Shell)構(gòu)件; 開(kāi)發(fā)新的符合要求的構(gòu)件。 第六十三張,PPT共八十六頁(yè),創(chuàng)作于2022年6月第六十四張,PPT共八十六頁(yè),創(chuàng)作于2022年6月構(gòu)件管理構(gòu)件描述 構(gòu)件分類與組織人員及權(quán)限管理第六十五張,PPT共八十六頁(yè),創(chuàng)作于2022年6月構(gòu)件描述 構(gòu)件模型是對(duì)構(gòu)件本質(zhì)的抽象描述,主要是為構(gòu)件的制作與構(gòu)件的重用提供依據(jù);從管理角度出發(fā),也需要對(duì)構(gòu)件進(jìn)行描述,例如:實(shí)現(xiàn)方式、實(shí)現(xiàn)體、注釋、生產(chǎn)者、生產(chǎn)日期、大小、價(jià)格、版本和關(guān)聯(lián)構(gòu)件等信息,它們與構(gòu)件模型共同組成了對(duì)構(gòu)件的完整描述。第六十六張,PPT共八十六頁(yè),創(chuàng)作于2022年6月第六十七張,PPT共八十六頁(yè),創(chuàng)作于2022年6月構(gòu)件分類與組織 關(guān)鍵字分類法 刻面分類法 超文本組織方法 第六十八張,PPT共八十六頁(yè),創(chuàng)作于2022年6月關(guān)鍵字分類法第六十九張,PPT共八十六頁(yè),創(chuàng)作于2022年6月刻面分類法使用環(huán)境應(yīng)用領(lǐng)域功能層次表示方法第七十張,PPT共八十六頁(yè),創(chuàng)作于2022年6月第七十一張,PPT共八十六頁(yè),創(chuàng)作于2022年6月第七十二張,PPT共八十六頁(yè),創(chuàng)作于2022年6月超文本組織法第七十三張,PPT共八十六頁(yè),創(chuàng)作于2022年6月第七十四張,PPT共八十六頁(yè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論