軟件體系結(jié)構(gòu)第一章課件_第1頁
軟件體系結(jié)構(gòu)第一章課件_第2頁
軟件體系結(jié)構(gòu)第一章課件_第3頁
軟件體系結(jié)構(gòu)第一章課件_第4頁
軟件體系結(jié)構(gòu)第一章課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、軟件體系結(jié)構(gòu)Software Architecture教師:王凱東副教授,碩士導師(歡迎同學報考或報送研究生)Email:wkvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.羽跨擾碴完驗驗畔墑咸汰衷摯拄泊昆穩(wěn)栗罕揍羌銥赫形栓烽看麻羽轄簾陀軟件體系結(jié)構(gòu)第一章EX8cCore Material(教材及參考書)軟件體系結(jié)構(gòu)(第二版),張友生,北京:清華大學出版社,2006.軟件體系結(jié)構(gòu)原理、方法與實踐,張友生,北

2、京:清華大學出版社,2009.Mary Shaw, David Garlan 著軟件體系結(jié)構(gòu),北京 : 清華大學出版社,2007.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.筷捌拒顧摟疑狠黃奈庚敗收周叭酷蝗瓶脹破搐焰季餞梅排銷晝溺詞鈴阮茶軟件體系結(jié)構(gòu)第一章EX8cCore Material(教材及參考書)Bass L, Clements P, Kazman R, Software Architecture in Practic

3、e, 2nd Edition, Addison Wesley, 2003.(軟件構(gòu)架實踐,第二版,清華大學出版社)Shaw M, Garlan D, Software Architecture Perspectives on an emerging discipline, Prentice Hall, 1996.(軟件體系結(jié)構(gòu)一門初露端倪學科的展望,清華大學出版社)Stephen T.Albin, The Art of Software Architecture Design Methods and Techniques,2003. (軟件體系結(jié)構(gòu)的藝術,機械工業(yè)出版社)Eckel, B, T

4、hinking in Patterns, MindView, /Books/TIPatternsEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.纖寅隧勛景島劑各店搖粵另諧精峙立蘇鵬吩佩胚慶確陵敢窮枝疑哎迪洛餌軟件體系結(jié)構(gòu)第一章EX8c說明初步確定本課程的考核方法如下平時+作業(yè) 10%20%考試 90%80%TA 輔導時間 :每周五第5、6、7、8節(jié)課,在B603 605附近教師休息室。每周四下午5、6信遠樓I-209教師休息室。E

5、valuation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.同晴欣拓弓路屋剛沃由腺槽太迎昆侯內(nèi)參梳罪稀瓊?cè)谑卵淄鯊┒U扁綸煩軟件體系結(jié)構(gòu)第一章EX8c課 程 內(nèi) 容 軟件體系結(jié)構(gòu)概論 軟件體系結(jié)構(gòu)建模 軟件體系結(jié)構(gòu)風格 軟件體系結(jié)構(gòu)描述 動態(tài)軟件體系結(jié)構(gòu) Web服務體系結(jié)構(gòu) 基于體系結(jié)構(gòu)的軟件開發(fā) 軟件體系結(jié)構(gòu)的分析與測試 軟件體系結(jié)構(gòu)評估 軟件產(chǎn)品線體系結(jié)構(gòu)Evaluation only.Created with Aspose.Slides

6、for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.臆彤清鴛恰孰案暴烈活濟祖流淚苫漣信拯乙濰訴堿材淀怔壺濟有生踢嫉瀾軟件體系結(jié)構(gòu)第一章EX8c 產(chǎn)生背景 -軟件的產(chǎn)生和發(fā)展的歷史Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.葡棕滬各尾遞舶抬餡外斃閹檬謹歇刑哈鶴老聶屠董阜廖館逾洛駭裳叼徒侈軟件體系結(jié)構(gòu)第一章EX8c第一臺計算機誕生機器指令編程(0和1組成)

7、Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.酷困原始瞅肘姐構(gòu)梆什釜孜筒陣具渡寡斡涯謙漬榮現(xiàn)往或陽腎梁縮戒戈勻軟件體系結(jié)構(gòu)第一章EX8c回到過去!大眾機械學雜志 1949將來的電腦將只有1000個電子管但是卻有1.5噸重。我想在整個世界,我們只能賣出5臺電腦。Thomas J. WatsonIBM董事會主席 1943沒有必要每個人在家里都有一臺電腦。Ken OlsonDEC總裁 1977Evaluation only.Creat

8、ed with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.桃罵這淋赫杠門童慢竅壓鋅參養(yǎng)癟猿什癰傣自鏈顴添轄恫旱啡撬汰屯倚喬軟件體系結(jié)構(gòu)第一章EX8c計算機語言的產(chǎn)生1952年MIT開始使用匯編語言1954年IBM公司開發(fā)了Fortran語言1960年,計算機權威刊物CACM上發(fā)表了“關于算法語言Algol60的報告”1971,瑞士的Njklaus Wirth 在 Algol的基礎上開始開發(fā)Pascal語言同年,美國的貝爾實驗室的Dennis Ritche開發(fā)出 C 語言各種面向?qū)ο?/p>

9、的高級語言各種高級語言的誕生使得人們有可能編制出越來越復雜的軟件系統(tǒng)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.盛紙夢痹注糙懾裙逃務輕案鞘劈兌貼鵲棱淹嗅點拱軍旋奈慰玩懸奏苔乍刻軟件體系結(jié)構(gòu)第一章EX8c軟件危機軟件的規(guī)模越來越龐大復雜度越來越高交付時間相對短產(chǎn)生軟件危機Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyrigh

10、t 2004-2011 Aspose Pty Ltd.滑叭鑒藍通挑榴于稍鑼紋蛤浪誰午艇奸曳峙首燦沁傍漠血燎卿唆原膀夠命軟件體系結(jié)構(gòu)第一章EX8c軟件危機美國IBM公司在1963年至1966年開發(fā)的IBM360機的操作系統(tǒng)。這一項目花了5000人一年的工作量,最多時有1000人投入開發(fā)工作,寫出了近100萬行源程序。.據(jù)統(tǒng)計,這個操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個程序錯誤而修正的結(jié)果。.這個項目的負責人F. D. Brooks事后總結(jié)了他在組織開發(fā)過程中的沉痛教訓時說:“.正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深,最后無法逃脫滅頂?shù)臑碾y。.程序設計工作正像

11、這樣一個泥潭,.一批批程序員被迫在泥潭中拼命掙扎,.誰也沒有料到問題竟會陷入這樣的困境.”。IBM360操作系統(tǒng)的歷史教訓成為軟件開發(fā)項目的典型事例為人們所記取。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.睫凄蹤煞音榷杏彝照嫁嚼侖除金卷疥槽濟攫凍虜陪賜襯揮鍺組傘伏恰檢姚軟件體系結(jié)構(gòu)第一章EX8c軟件危機軟件危機的表現(xiàn): 軟件成本日益增長 開發(fā)進度難以控制 軟件質(zhì)量差 軟件維護困難Evaluation only.Created

12、with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.彭恫肝川開府翔泌御騎余蟹摯放汞愚紀都減鵝鯉惑刃溉謬疵工夫傍鉻誨遜軟件體系結(jié)構(gòu)第一章EX8c軟件危機的主要表現(xiàn)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.岡鋅遣肌翔潰盔商磋庸慚闌喚荒撕尼挨搔梭丫霜俏券簍葷嫌炎楓翟奔峪叫軟件體系結(jié)構(gòu)第一章EX8c軟件危機的主要表現(xiàn) 軟

13、件成本日益增長20世紀50年代,軟件成本在整個計算機系統(tǒng)成本中所占的比例為10%-20%。到20世紀60年代中期,軟件成本在計算機系統(tǒng)中所占的比例已經(jīng)增長到50%左右。 而且,該數(shù)字還在不斷的遞增,下面是一組來自美國空軍計算機系統(tǒng)的數(shù)據(jù):1955年,軟件費用約占總費用的18%,1970年達到60%,1975年達到72%,1980年達到80%,1985年達到85%左右。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.哄奧恢戲兆軀征虱

14、汛櫥命咽淫援言犁唯劊憚襄衷裙狀系吁籮移盎幼昧奢磕軟件體系結(jié)構(gòu)第一章EX8c軟件危機的主要表現(xiàn)開發(fā)進度難以控制在軟件開發(fā)過程中,用戶需求變化等各種意想不到的情況層出不窮,令軟件開發(fā)過程很難保證按預定的計劃實現(xiàn),給項目計劃和論證工作帶來了很大的困難。盲目增加軟件開發(fā)人員并不能成比例的提高軟件開發(fā)能力。相反,隨著人員數(shù)量的增加,人員的組織、協(xié)調(diào)、通信、培訓和管理等方面的問題將更為嚴重。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.訛佛

15、髓走懶助咀凜躲葫沖用產(chǎn)罷傷忱抖窗兵默早貉璃躍叼兒克皇疹湘紊滁軟件體系結(jié)構(gòu)第一章EX8c軟件危機的主要表現(xiàn)軟件質(zhì)量差 由于缺乏工程化思想的指導,程序員幾乎總是習慣性的以自己的想法去代替用戶對軟件的需求,軟件設計帶有隨意性,很多功能只是程序員的一廂情愿而已,這是造成軟件令人不滿意的重要因素。 軟件項目即使能按預定日期完成,結(jié)果卻不盡人意。1965年至1970年,美國范登堡基地發(fā)射火箭多次失敗,絕大部分故障是由應用程序錯誤造成的。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004

16、-2011 Aspose Pty Ltd.痕襲潞確翻崩履浴扁陵寒這者復蛾疚式詭宏瘍郭胃龍子蚤苔凹誰霜疙睬城軟件體系結(jié)構(gòu)第一章EX8c軟件危機的主要表現(xiàn)軟件維護困難由于在軟件設計和開發(fā)過程中,沒有嚴格遵循軟件開發(fā)標準,各種隨意性很大,沒有完整的真實反映系統(tǒng)狀況的記錄文檔,給軟件維護造成了巨大的困難。特別是在軟件使用過程中,原來的開發(fā)人員可能因各種原因已經(jīng)離開原來的開發(fā)組織,使得軟件幾乎不可維護。有資料表明,工業(yè)界為維護軟件支付的費用占全部硬件和軟件費用的40-75%Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Pro

17、file .Copyright 2004-2011 Aspose Pty Ltd.斡石旦透抑爬酷狐宿寄步媚全侗疲酗伊敏活另碧肥吐妄訊登淬酵不疲罩損軟件體系結(jié)構(gòu)第一章EX8c人員構(gòu)成: 微軟產(chǎn)品組實例Windows 2000 Team開發(fā)人員900測試人員1800程序經(jīng)理450文檔人員100本地化人員110內(nèi)部IT50市場人員100培訓人員115技術支持人員 600技術傳播人員 1120合計5345 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose

18、Pty Ltd.武盲改筍肝節(jié)觸煞景嚼悠彤阿選呵油下摔愉鮮蘋粉懼勁示書咐致卓安凄慶軟件體系結(jié)構(gòu)第一章EX8c軟件危機軟件危機的原因 ? 用戶需求不明確 缺乏正確的理論指導 軟件規(guī)模越來越大 軟件復雜度越來越高Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.銳宴矩巨曠腺斧位暑鈞為菏讕庇素芋膛把在搔鍘靠帕扼擎佩價斃擾濺棚株軟件體系結(jié)構(gòu)第一章EX8c軟件危機的原因 用戶需求不明確 在軟件開發(fā)完成之前,用戶不清楚軟件的具體需求; 用戶對軟件

19、需求的描述不精確,可能有遺漏、有二義性、甚至有錯誤; 在軟件開發(fā)過程中,用戶還提出修改軟件功能、界面、支撐環(huán)境等方面的要求; 開發(fā)人員對用戶需求的理解與用戶本來愿望有差異。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.昨灶掣兢芳扮跳應棟助舶屁叫匝賀墨辟杰晾峽拘疲燃相沒幽英惋卷秘今嗚軟件體系結(jié)構(gòu)第一章EX8c軟件危機的原因 缺乏正確的理論指導 缺乏有力的方法學和工具方面的支持。由于軟件不同于大多數(shù)其他工業(yè)產(chǎn)品,其開發(fā)過程是復雜的

20、邏輯思維過程,其產(chǎn)品極大程度地依賴于開發(fā)人員高度的智力投入。由于過分地依靠程序設計人員在軟件開發(fā)過程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個性化,也是發(fā)生軟件危機的一個重要原因。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.蕭太槍阮扣欽紉樓潭餅誰工蟻慧頁孜望逛青扯師案簾割繳椰噓虞蔬公坐植軟件體系結(jié)構(gòu)第一章EX8c軟件危機的原因 軟件規(guī)模越來越大 隨著軟件應用范圍的增廣,軟件規(guī)模愈來愈大。大型軟件項目需要組織一定的人力共同完成,而多數(shù)

21、管理人員缺乏開發(fā)大型軟件系統(tǒng)的經(jīng)驗,而多數(shù)軟件開發(fā)人員又缺乏管理方面的經(jīng)驗。各類人員的信息交流不及時、不準確、有時還會產(chǎn)生誤解。 軟件項目開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關系和各個分支,因此容易產(chǎn)生疏漏和錯誤。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.騷修昏隴奠架諜肉核蝗簡他操讒嚨橫稠讓菊咆鉆鄭鹿倪燦巖淘誼狂輕艘缺軟件體系結(jié)構(gòu)第一章EX8c軟件危機的原因 軟件復雜度越來越高 軟件不僅僅是在規(guī)模上快速地發(fā)展擴

22、大,而且其復雜性也急劇地增加。軟件產(chǎn)品的特殊性和人類智力的局限性,導致人們無力處理“復雜問題”。 所謂“復雜問題”的概念是相對的,一旦人們采用先進的組織形式、開發(fā)方法和工具提高了軟件開發(fā)效率和能力,新的、更大的、更復雜的問題又擺在人們的面前。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.跑啪糠姐遭料輿秒稱姻靛仔疹淄竹鈾閨蔑壇伙番取茨愉眷羌殊鱉傘菊桂挺軟件體系結(jié)構(gòu)第一章EX8c軟件危機如何克服軟件危機?Evaluation on

23、ly.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.旋邯憤摻矗蹋袋樂蘸蛋賀嫌無蜂彥橇吭脯搓賠彎份住踢慶賽套洗稿揭侶材軟件體系結(jié)構(gòu)第一章EX8cEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.撩芍謂爐褪獵喇畦盅擔躥呻犧耘隆姑熟汾經(jīng)踴剿腹蹈笑噸棄梗侯宛噓晶嚏軟件體系結(jié)構(gòu)第一章EX8cWhat is S

24、oftware Engineering?Software engineering is the activities and tasks that creates a software product. There are five main areas, these are:AnalysisDesignDevelopment (To most engineers, this is the most important)TestingMaintenanceEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile

25、 .Copyright 2004-2011 Aspose Pty Ltd.撫淤助款瑞訴磕氏夫隔梁弟琶友極院甕抱敬吹鋒腳截諒肪切秧踐展滄攙難軟件體系結(jié)構(gòu)第一章EX8c軟件工程(教材定義) 軟件工程是用工程、科學和數(shù)學的原則與方法來研制、維護計算機軟件的有關技術和管理方法。軟件工程包括三個要素:軟件工程方法軟件工程工具軟件工程的過程Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.漲憎階諜巍提甄機找件那六丟但兌都鬼饅搜擺汾宛篡妝知捎蒲紫

26、作蔚粒迅軟件體系結(jié)構(gòu)第一章EX8c軟件工程軟件開發(fā)模型:瀑布模型演化模型螺旋模型增量模型噴泉模型智能模型Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.亞顱宦荷你婿俗言代鄲盂彎樣浙戊棟撾走厄于械癟栓啞檔聰雨徑隨悸樂抒軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的產(chǎn)生和發(fā)展Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 20

27、04-2011 Aspose Pty Ltd.呸擋乾糠燦慣求扮吃樸訴積撮吧樸犯趴譏轍孝羊亮柒伸陶候礙綁警岔代艘軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的產(chǎn)生和發(fā)展起初,人們把軟件設計重點放在數(shù)據(jù)結(jié)構(gòu)和算法上。隨著軟件系統(tǒng)規(guī)模越來越大、越來越復雜,整個系統(tǒng)的結(jié)構(gòu)和規(guī)格說明顯得越來越重要。 對于大規(guī)模的復雜軟件系統(tǒng)來說,對總體的系統(tǒng)結(jié)構(gòu)設計和規(guī)格說明比起對計算的算法和數(shù)據(jù)結(jié)構(gòu)的選擇已經(jīng)變得明顯重要的多。對軟件體系結(jié)構(gòu)的系統(tǒng)地、深入地研究將會成為提高軟件生產(chǎn)率和解決軟件維護問題的新的最有希望的途徑。Evaluation only.Created with Aspose.Slides for .NET

28、3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.近島泣猩陀添鍋遼檔獺豢骨簧歲恰賊扶爸頗瑰皖低鏈墑謄唆灌埂灣脂跡彥軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的產(chǎn)生、興起和發(fā)展事實上,軟件總是有體系結(jié)構(gòu)的,不存在沒有體系結(jié)構(gòu)的軟件。軟件體系結(jié)構(gòu)雖脫胎于軟件工程,但其形成同時借鑒了計算機體系結(jié)構(gòu)和網(wǎng)絡體系結(jié)構(gòu)中很多寶貴的思想和方法,最近幾年軟件體系結(jié)構(gòu)研究已完全獨立于軟件工程的研究,成為計算機科學的一個最新的研究方向和獨立學科分支。Evaluation only.Created with Aspose.Slides for .NET 3.5

29、Client Profile .Copyright 2004-2011 Aspose Pty Ltd.阮煽則溢鑄核烽磚戲闡跡裳省佯垃齡著奄瓶釀硒愿漓宣萬澗煮鐳冬述雹金軟件體系結(jié)構(gòu)第一章EX8cWhat is Software ArchitectureEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.樸麻漳耐痰放雌瞅敷秤廈濰案了授需千梭餞泵津炬刷瞄半坍皂膊瘟梧乍歇軟件體系結(jié)構(gòu)第一章EX8c對房子進行建模Evaluation only.

30、Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.可肖痰漠彥拂挨籠無硫余驗把逮郝梁哺焦桿岔鶴疾犬跺躁曰聲鎬扦俺騁椅軟件體系結(jié)構(gòu)第一章EX8cWhat is Software Architecture 目前關于軟件體系結(jié)構(gòu)的定義有六十多種,有的定義從構(gòu)造的角度來審視軟件體系結(jié)構(gòu),有的側(cè)重于從體系結(jié)構(gòu)風格、模式和規(guī)則角度來考慮。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile

31、.Copyright 2004-2011 Aspose Pty Ltd.薦詣吮尉芹薔據(jù)刁僥澄廬澀壁什餾替添魚呵辯百耍錦菌盈憶屢卑葷臺淖愉軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的定義 Dewayne Perry和A1exander Wo1f 軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。 處理構(gòu)件負責對數(shù)據(jù)進行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組合連接起來。 這一定義注重區(qū)分處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件,這一方法在其他的定義和方法中基本上得到保持。 Evaluation only.Created with Aspose.Slide

32、s for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.擇日紊區(qū)嬌埋鄰襲恒換剝豢襄烈他股廳次渾匪器楷圓踢種徐毀索蘋危哀鼓軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的定義 Mary Shaw和David Garlan 軟件體系結(jié)構(gòu)是軟件設計過程中的一個層次,這一層次超越計算過程中的算法設計和數(shù)據(jù)結(jié)構(gòu)設計。 體系結(jié)構(gòu)問題包括總體組織和全局控制、通訊協(xié)議、同步、數(shù)據(jù)存取,給設計元素分配特定功能,設計元素的組織,規(guī)模和性能,在各設計方案間進行選擇等。 軟件體系結(jié)構(gòu)處理算法與數(shù)據(jù)結(jié)構(gòu)之上關于整體系統(tǒng)結(jié)構(gòu)設計和描述方面的一些問題,如全

33、局組織和全局控制結(jié)構(gòu)、關于通訊、同步與數(shù)據(jù)存取的協(xié)議,設計構(gòu)件功能定義,物理分布與合成,設計方案的選擇、評估與實現(xiàn)等。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.長低眉彝釀酞勸蕾拌偏凳但懷浴鞍攣塔斌備多塘皇淤記穎胺默罐櫻方筐諒軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的定義 Kruchten 軟件體系結(jié)構(gòu)有四個角度,它們從不同方面對系統(tǒng)進行描述:概念角度描述系統(tǒng)的主要構(gòu)件及它們之間的關系;模塊角度包含功能分解與層次結(jié)構(gòu);運行角度描

34、述了一個系統(tǒng)的動態(tài)結(jié)構(gòu);代碼角度描述了各種代碼和庫函數(shù)在開發(fā)環(huán)境中的組織。 Hayes Roth 軟件體系結(jié)構(gòu)是一個抽象的系統(tǒng)規(guī)范,主要包括用其行為來描述的功能構(gòu)件和構(gòu)件之間的相互連接、接口和關系。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.糠累狄盆囚快躲灌有答檔衷文祝豺或憎避豐郝曬邵蛻貌涎荔拓副或溢乓體軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的定義 David Garlan 和 Dewne Perry 軟件體系結(jié)構(gòu)是一個程序

35、系統(tǒng)各構(gòu)件的結(jié)構(gòu)、它們之間的相互關系以及進行設計的原則和隨時間演化的指導方針。 Barry Boehm 軟件體系結(jié)構(gòu)包括一個軟件和系統(tǒng)構(gòu)件,互聯(lián)及約束的集合;一個系統(tǒng)需求說明的集合;一個基本原理用以說明這一構(gòu)件,互聯(lián)和約束能夠滿足系統(tǒng)需求。 ?Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.且遠守拇歸閣屏欣嶼乖寥到舔窘巖歇砌背藕懦暗甥糾薩毖益化槐摳年鉤俱軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的定義 Bass,Ctements 和

36、Kazman 軟件體系結(jié)構(gòu)包括一個或一組軟件構(gòu)件、軟件構(gòu)件的外部的可見特性及其相互關系。其中,“軟件外部的可見特性”是指軟件構(gòu)件提供的服務、性能、特性、錯誤處理、共享資源使用等。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.宅嫁價雄氦哦喜彰荷壕獅釁紳續(xù)頑豬養(yǎng)案苞熱談賂去來石捻咋豺檻疤畜乙軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的定義 我們的定義 軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個結(jié)構(gòu)、行為和屬性的高級抽象,由構(gòu)成系統(tǒng)的元素的描述、

37、這些元素的相互作用、指導元素集成的模式以及這些模式的約束組成。 軟件體系結(jié)構(gòu)不僅指定了系統(tǒng)的組織結(jié)構(gòu)和拓撲結(jié)構(gòu),并且顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應關系,提供了一些設計決策的基本原理。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.沖筐奪揪敘惹日縣臨賀汞與盈詐轅蕊巋孵收秉銑癌螺圭凳按然擊奄癥凸枯軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的意義 體系結(jié)構(gòu)是風險承擔者進行交流的手段 軟件體系結(jié)構(gòu)代表了系統(tǒng)的公共的高層次的抽象。這樣

38、,系統(tǒng)的大部分有關人員(即使不是全部)能把它作為建立一個互相理解的基礎,形成統(tǒng)一認識,互相交流。 體系結(jié)構(gòu)提供了一種共同語言來表達各種關注和協(xié)商,進而對大型復雜系統(tǒng)能進行理智的管理。這對項目最終的質(zhì)量和使用有極大的影響。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.歸編眶蒸萍希店蕉猿瘴蹬俯篩寶洽褂新裔戎竟沫煽煤夕烘叢薦釀迄杯羊徽軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的意義 體系結(jié)構(gòu)是早期設計決策的體現(xiàn) (1)軟件體系結(jié)構(gòu)明確了

39、對系統(tǒng)實現(xiàn)的約束條件(2)軟件體系結(jié)構(gòu)決定了開發(fā)和維護組織的組織結(jié)構(gòu)(3)軟件體系結(jié)構(gòu)制約著系統(tǒng)的質(zhì)量屬性(4)通過研究軟件體系結(jié)構(gòu)可能預測軟件的質(zhì)量(5)軟件體系結(jié)構(gòu)使推理和控制更改更簡單(6)軟件體系結(jié)構(gòu)有助于循序漸進的原型設計(7)軟件體系結(jié)構(gòu)可以作為培訓的基礎Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.補鴿轍攘硯住熙敲慢橡俞鉻選掂哦壘穴憾猖蒂甸疼招侈竭蜀菜拭笨征鎳洶軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的意義 軟件體系

40、結(jié)構(gòu)是可傳遞和可重用的模型 軟件體系結(jié)構(gòu)級的重用意味著體系結(jié)構(gòu)的決策能在具有相似需求的多個系統(tǒng)中發(fā)生影響,這比代碼級的重用要有更大的好處。 通過體系結(jié)構(gòu)的抽象可以使設計者能夠?qū)σ恍┙?jīng)過實踐證明是非常有效的體系結(jié)構(gòu)構(gòu)件進行重用,從而提高設計效率和可靠性,大大降低設計的復雜性。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.煥哆擅嘉頁態(tài)重至醞津普婆栗峰泊吵知截繳秉講最陀浪矩哎曲蹭侮哄敦凜軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的發(fā)展史

41、 Perry和Wolf認為未來的年代是研究軟件體系結(jié)構(gòu)的時代 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.匆厄鼓拔撩哪柒鼠苗刻袱恰曹言方翔溫緯坑更且嵌拎撣得股更哩寨洶鋪籍軟件體系結(jié)構(gòu)第一章EX8c軟件體系結(jié)構(gòu)的應用現(xiàn)狀 軟件體系結(jié)構(gòu)描述語言 體系結(jié)構(gòu)描述構(gòu)造與表示 體系結(jié)構(gòu)分析、設計與驗證 體系結(jié)構(gòu)發(fā)現(xiàn)、演化與重用 基于體系結(jié)構(gòu)的軟件開發(fā)方法 特定領域的體系結(jié)構(gòu)框架 軟件體系結(jié)構(gòu)支持工具 軟件產(chǎn)品線體系結(jié)構(gòu) 建立評價軟件體系結(jié)

42、構(gòu)的方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.畦卻仗檸徘余撩頗苗漓趁抨臟憾拓垃桿樞鏟顛液嶼寵燒巧惦斃渤葛還坊國軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用 構(gòu)件模型及實現(xiàn) 軟件重用是指兩次或多次不同軟件開發(fā)過程中重復使用相同或相近軟件元素的過程。軟件元素包括程序代碼、測試用例、設計文檔、設計過程、需求分析文檔和領域分析知識。 把可重用的軟件元素稱為軟件構(gòu)件,簡稱構(gòu)件??芍赜玫能浖卦酱螅赜玫念w粒度越大。 構(gòu)件的定義 構(gòu)件

43、是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明確辨識的系統(tǒng);結(jié)構(gòu)上,它是語義描述、通訊接口和實現(xiàn)代碼的復合體。構(gòu)件的使用同它的開發(fā)、生產(chǎn)無關。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.卒慢條皆如枕苗睡便山論充刻麓鼠秘兵欣殲厭醋坊乒燙懂雇滲寐隨歉連渝軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用 構(gòu)件模型及實現(xiàn) 參考模型,描述模型,實現(xiàn)模型 構(gòu)件模型的三個主要流派 OMG(Object Management

44、Group,對象管理集團)的CORBA(Common Object Request Broker Architecture,通用對象請求代理結(jié)構(gòu)) Sun的EJB(Enterprise Java Bean) Microsoft的DCOM(Distributed Component Object Model,分布式構(gòu)件對象模型)。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.渙險章崖飲敷嶺冬巍慚傘知撂手操糊慫暗茂烹惑揉挖賊峭萌材

45、澈窟刺袒緩軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用構(gòu)件獲取 (重用) 領域具有內(nèi)聚性和穩(wěn)定性特征,具有可重用性。 從現(xiàn)有構(gòu)件中獲得符合要求的構(gòu)件,直接使用或作適應性修改,得到可重用的構(gòu)件; 通過遺留工程,將具有潛在重用價值的構(gòu)件提取出來,得到可重用的構(gòu)件; 從市場上購買現(xiàn)成的商業(yè)構(gòu)件,即COTS(Commercial Off-The-Shell)構(gòu)件; 開發(fā)新的符合要求的構(gòu)件。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.痰服哮

46、少霉戈炕匡畦仲愁戰(zhàn)炬許抱嘗橇盅麗崔氧針督熒換贈尖遏惑喪達魄軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用構(gòu)件管理 構(gòu)件描述 構(gòu)件分類與組織 人員及權限管理Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.凍伐撿壘示緯迎鄲唁蔫動挑錠褂戶毗接塞答仙液積渣隘妥菲檢海媒腋審咀軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用構(gòu)件管理 構(gòu)件描述 構(gòu)件模型是對構(gòu)件本質(zhì)的抽象描述,主要是為構(gòu)件的制作與構(gòu)件的重用提供依據(jù); 從管理角度出發(fā),也需要對構(gòu)件進行描述,例

47、如:實現(xiàn)方式、實現(xiàn)體、注釋、生產(chǎn)者、生產(chǎn)日期、大小、價格、版本和關聯(lián)構(gòu)件等信息,它們與構(gòu)件模型共同組成了對構(gòu)件的完整描述。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.伍牙謀鍘詐郁憶殖缽香爺嗽回廟忠曉糟腐掂芍剎露悅墮潔氛侈騰辰纏爽逼軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用構(gòu)件管理 構(gòu)件分類與組織 關鍵字分類法 刻面分類法 超文本組織方法 Evaluation only.Created with Aspose.Slides for

48、 .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.霍莊捻才煉冊頌腎零媒椒愿鬃差茹倚錠閘俊貉瓊瘩牽咱石謬懾撥租遏胃五軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用 關鍵字分類法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.菊袍炮納聾桃處庶聳短閣胰綁鞭涯瘟迸盲媒償騷培庇征吵婦辰奈雙絨豈千軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用 刻面分類法 思想來源于圖書館學舉例: 使

49、用環(huán)境 應用領域 功能 層次 表示方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.嘎娩欺門將旬講刻宅禽端哄堯僥聳麻猛鑼駁舅填貯媚笛貪燙機隅崇以華迢軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用 超文本組織方法 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.搔黍啼冷維樟

50、眉合翌恃廷靡卿墻眷囤處餃袒玄巍睡霸弘寐慫臉粉騙箕旦晉軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用構(gòu)件管理 人員及權限管理 一般來講,構(gòu)件庫系統(tǒng)可包括五類用戶,即注冊用戶、公共用戶、構(gòu)件提交者、一般系統(tǒng)管理員和超級系統(tǒng)管理員。 不同的職責,不同的權限,互相協(xié)作,共同維護構(gòu)件庫正常運作。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.志股逐縣邊武劑模碼孝典恩毅抑阻疫淑楓鹼修屁貍撂即篩爬煥卸犢乒狀塹軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用

51、構(gòu)件重用 檢索與提取構(gòu)件 理解與評價構(gòu)件 修改構(gòu)件 構(gòu)件組裝Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.歇倉奠疼職隸慌們枯真閡靠拯訖赫柿么卓挎岔坯精娛砧旬依厚只替殺哄廄軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用構(gòu)件重用 檢索與提取構(gòu)件 基于關鍵字的檢索 刻面檢索法 超文本檢索法 其他檢索方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile

52、 .Copyright 2004-2011 Aspose Pty Ltd.錨譬喇稗乾嘎逗憐彪憚死曹衡賒呆旗棄汝革鋸創(chuàng)萎少詞晃堤嵌貪兵唁拿柒軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用構(gòu)件重用 理解與評價構(gòu)件 構(gòu)件的功能與行為 相關的領域知識 可適應性約束條件與例外情形 可以預見的修改部分及修改方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.魄洗蔬沾了滋區(qū)綜撇沮酮縛故突蹤風師欠緒憲砒杯茍仟植道謗痔誹值贊鴿軟件體系結(jié)構(gòu)第一章EX8c構(gòu)件與軟件重用構(gòu)件重用 修改構(gòu)件 理想的情形是對庫中的構(gòu)件不作修改而直接用于新的軟件項目。 但是,在大多數(shù)情況下,必須對構(gòu)件進行或多或少的修改,以適應新的需求。 為了減少構(gòu)件修改的工作量,要求開發(fā)人員盡量使構(gòu)件的功能、行為和接口設計更為抽象化、通用化和參數(shù)化。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.環(huán)蜒芥艷

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論