




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件體系結(jié)構(gòu)
(電子教案32學時)
蔣哲遠
電子教案2/107課程描述軟件體系結(jié)構(gòu)直接影響著軟件的質(zhì)量和成本,如何獲得一個良好的體系結(jié)構(gòu)已成為軟件開發(fā)中不可缺少的內(nèi)容。《軟件體系結(jié)構(gòu)》已成為計算機科學與技術(shù)專業(yè)(軟件工程方向)教學計劃中一門抽象性和實踐性很強的專業(yè)核心課程。該課程的開設(shè),是培養(yǎng)學生對軟件設(shè)計和開發(fā)的全局把握能力,加深學生對軟件本質(zhì)的認識,將軟件的質(zhì)量屬性在設(shè)計階段提前加以驗證和評估,有助于開發(fā)不僅能滿足用戶功能要求而且滿足用戶質(zhì)量需求的合格軟件。《軟件體系結(jié)構(gòu)》電子教案3/107課程安排理論內(nèi)容:基本原理、方法和技術(shù)形式:講授(70%理論+30%案例)、自學、討論、演示實踐內(nèi)容:將課程中所學的重要基本理論和方法用程序和文檔的形式表達出來形式:分組(建議四人為一組)、分階段編程實現(xiàn)和文檔化《軟件體系結(jié)構(gòu)》電子教案4/107課程成績計算平時作業(yè)、課堂紀律、出勤率30%隨堂開卷考試70%考查總成績=平時成績+卷面成績《軟件體系結(jié)構(gòu)》電子教案5/107推薦教材及主要參考書推薦教材:張友生編著.軟件體系結(jié)構(gòu)原理、方法與實踐(第2版).北京:清華大學出版社,2014《軟件體系結(jié)構(gòu)》電子教案6/107推薦教材及主要參考書主要參考書:周蘇等編.軟件體系結(jié)構(gòu)與設(shè)計.清華大學出版社,2013覃征等編.軟件體系結(jié)構(gòu)(第3版).清華大學出版社,2015MaryShaw,DavidGarlan.SoftwareArchitecture:PerspectivesonanEmergingDiscipline.PrenticeHall,Inc.,1996.(軟件體系結(jié)構(gòu):一門初露端倪學科的展望,科學出版社(影印版),2004.)LenBass,PaulClements,RickKazman.SoftwareArchitectureinPractice(2ndEdition).AddisonWesleyLongman,Inc.,2003.(林·巴斯,保羅·克萊門茨,瑞克·凱茲曼著,孫學濤等譯.軟件構(gòu)架實踐(第二版).清華大學出版社,2004年)《軟件體系結(jié)構(gòu)》電子教案7/107軟件體系結(jié)構(gòu)課程目錄第1章軟件體系結(jié)構(gòu)概述第2章軟件體系結(jié)構(gòu)建模第3章軟件體系結(jié)構(gòu)風格第4章軟件體系結(jié)構(gòu)描述第5章軟件體系結(jié)設(shè)計第6章文檔化體系結(jié)構(gòu)第7章軟件體系結(jié)構(gòu)評估第8章軟件產(chǎn)品線體系結(jié)構(gòu)第9章案例分析與設(shè)計《軟件體系結(jié)構(gòu)》電子教案8/107第1章軟件體系結(jié)構(gòu)概述1.1從軟件危機談起1.2構(gòu)件與軟件重用1.3體系結(jié)構(gòu)的興起和發(fā)展1.4軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀《軟件體系結(jié)構(gòu)》電子教案9/107第1章內(nèi)容摘要1.1從軟件危機談起
1.2構(gòu)件與軟件重用1.3體系結(jié)構(gòu)的興起和發(fā)展1.4過程體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀《軟件體系結(jié)構(gòu)》電子教案10/107什么是軟件軟件一般認為由三部分組成:程序:在運行時,能提供所希望的功能和性能的指令集。數(shù)據(jù)結(jié)構(gòu):使程序能夠正確運行的數(shù)據(jù)結(jié)構(gòu)。文檔:描述程序研制過程、方法及使用的文檔。1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案11/107軟件的特點抽象性:邏輯實體,可記錄,但看不到可復(fù)制性:與開發(fā)成本相比,復(fù)制成本很低無折舊受硬件制約未完全擺脫手工工藝開發(fā)費用高1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案12/107
軟件=程序+數(shù)據(jù)+文檔
須意識到:“軟件”≠編程,它有自己的生命周期(lifecycle)。大型軟件系統(tǒng)的開發(fā)與其它工程項目如建造橋梁、制造飛機、輪船等的開發(fā)是同理的。
程序=算法+數(shù)據(jù)結(jié)構(gòu)(1960’s)程序=子程序+子程序(1970’s)對象=算法+數(shù)據(jù)結(jié)構(gòu)
程序=對象+對象(1980’s)程序=組件+連接件(1990’s)1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案
程序=?13/107“軟件體系結(jié)構(gòu)”你早就知道Client/ServerThree-tierP2PDistributed……1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案14/107建筑體系結(jié)構(gòu)1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案15/107建筑體系結(jié)構(gòu)1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案16/107計算機系統(tǒng)結(jié)構(gòu)的發(fā)展
輸入設(shè)備存儲器運算器控制器輸出設(shè)備馮.諾依曼結(jié)構(gòu)圖
體系結(jié)構(gòu)的研究:表明該領(lǐng)域逐漸走向成熟1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案17/107ISO七層網(wǎng)絡(luò)模型
1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案18/107構(gòu)建一個小狗屋可以由一個人制造的需求:最小模型簡單的過程簡單的工具1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案19/107由一個團體建設(shè),并且需要更高的效率、更精確的時間限制。需求:
模型
良好定義的過程
功能強大的工具構(gòu)造一棟房屋1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案20/107構(gòu)建一個高層建筑1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案21/107早期的結(jié)構(gòu)過程
有限的理論知識1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案22/107現(xiàn)代的結(jié)構(gòu)進步
先進的原材料
先進的分析范圍萬神殿(Pantheon)的五倍范圍奇阿普斯(Cheops)金字塔的3倍高度1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案23/107房屋建模(CAD)過程
對早期成就的模仿
從失敗中學習
對其他影響因素的綜合
試驗1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案24/1071.1從軟件危機談起軟件危機的含義計算機軟件的開發(fā)和維護過程所遇到的一系列嚴重問題困擾學術(shù)界和工業(yè)界用戶對軟件開發(fā)缺乏信心軟件開發(fā)的高投入和高風險《軟件體系結(jié)構(gòu)》電子教案25/1071.1從軟件危機談起軟件危機的表現(xiàn)軟件成本日益增長開發(fā)進度難以控制軟件質(zhì)量差軟件維護困難《軟件體系結(jié)構(gòu)》電子教案26/1071.1從軟件危機談起軟件危機的表現(xiàn)軟件成本日益增長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%左右。《軟件體系結(jié)構(gòu)》電子教案27/1071.1從軟件危機談起軟件危機的表現(xiàn)開發(fā)進度難以控制由于軟件是邏輯、智力產(chǎn)品,軟件的開發(fā)需建立龐大的邏輯體系,這是與其他產(chǎn)品的生產(chǎn)不一樣的。在軟件開發(fā)過程中,用戶需求變化等各種意想不到的情況層出不窮,令軟件開發(fā)過程很難保證按預(yù)定的計劃實現(xiàn),給項目計劃和論證工作帶來了很大的困難。盲目增加軟件開發(fā)人員并不能成比例地提高軟件開發(fā)能力。相反,隨著人員數(shù)量的增加,人員的組織、協(xié)調(diào)、通信、培訓和管理等方面的問題將更為嚴重?!盾浖w系結(jié)構(gòu)》電子教案28/1071.1從軟件危機談起軟件危機的表現(xiàn)軟件質(zhì)量差軟件項目即使能按預(yù)定日期完成,結(jié)果卻不盡人意。1965年至1970年,美國范登堡基地發(fā)射火箭多次失敗,絕大部分故障是由應(yīng)用程序錯誤造成的。在“軟件作坊”里,由于缺乏工程化思想的指導,程序員幾乎總是習慣性地以自己的想法去代替用戶對軟件的需求,軟件設(shè)計帶有隨意性,很多功能只是程序員的“一廂情愿”而已,這是造成軟件不能令人滿意的重要因素。《軟件體系結(jié)構(gòu)》電子教案29/1071.1從軟件危機談起軟件危機的表現(xiàn)軟件維護困難由于在軟件設(shè)計和開發(fā)過程中,沒有嚴格遵循軟件開發(fā)標準,各種隨意性很大,沒有完整的真實反映系統(tǒng)狀況的記錄文檔,給軟件維護造成了巨大的困難。特別是在軟件使用過程中,原來的開發(fā)人員可能因各種原因已經(jīng)離開原來的開發(fā)組織,使得軟件幾乎不可維護。有資料表明,工業(yè)界為維護軟件支付的費用占全部硬件和軟件費用的40%-75%?!盾浖w系結(jié)構(gòu)》電子教案30/1071.1從軟件危機談起軟件危機的原因
用戶需求不明確缺乏正確的理論指導軟件規(guī)模越來越大軟件復(fù)雜度越來越高《軟件體系結(jié)構(gòu)》電子教案31/1071.1從軟件危機談起軟件危機的原因
用戶需求不明確在軟件開發(fā)完成之前,用戶不清楚軟件的具體需求;用戶對軟件需求的描述不精確,可能有遺漏、有二義性、甚至有錯誤;在軟件開發(fā)過程中,用戶還提出修改軟件功能、界面、支撐環(huán)境等方面的要求;開發(fā)人員對用戶需求的理解與用戶本來愿望有差異?!盾浖w系結(jié)構(gòu)》電子教案32/1071.1從軟件危機談起軟件危機的原因
缺乏正確的理論指導缺乏有力的方法學和工具方面的支持。由于軟件不同于大多數(shù)其他工業(yè)產(chǎn)品,其開發(fā)過程是復(fù)雜的邏輯思維過程,其產(chǎn)品極大程度地依賴于開發(fā)人員高度的智力投入。由于過分地依靠程序設(shè)計人員在軟件開發(fā)過程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個性化,也是發(fā)生軟件危機的一個重要原因。
《軟件體系結(jié)構(gòu)》電子教案33/1071.1從軟件危機談起軟件危機的原因
軟件規(guī)模越來越大隨著軟件應(yīng)用范圍的增廣,軟件規(guī)模愈來愈大。大型軟件項目需要組織一定的人力共同完成,而多數(shù)管理人員缺乏開發(fā)大型軟件系統(tǒng)的經(jīng)驗,而多數(shù)軟件開發(fā)人員又缺乏管理方面的經(jīng)驗。各類人員的信息交流不及時、不準確、有時還會產(chǎn)生誤解。軟件項目開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關(guān)系和各個分支,因此容易產(chǎn)生疏漏和錯誤。《軟件體系結(jié)構(gòu)》電子教案34/1071.1從軟件危機談起軟件危機的原因
軟件復(fù)雜度越來越高軟件不僅僅是在規(guī)模上快速地發(fā)展擴大,而且其復(fù)雜性也急劇地增加。軟件產(chǎn)品的特殊性和人類智力的局限性,導致人們無力處理“復(fù)雜問題”。所謂“復(fù)雜問題”的概念是相對的,一旦人們采用先進的組織形式、開發(fā)方法和工具提高了軟件開發(fā)效率和能力,新的、更大的、更復(fù)雜的問題又擺在人們的面前。
《軟件體系結(jié)構(gòu)》電子教案35/107軟件復(fù)雜性的度數(shù)更高的技術(shù)復(fù)雜性-嵌入式,實時的,分布式的,不可出錯的-定制的,空前的,可復(fù)用的-高性能的低技術(shù)復(fù)雜度-大部分是4GL,或基于組件技術(shù)的-應(yīng)用反向工程-交互性能較高管理復(fù)雜度-大范圍-合同契約性-多數(shù)人控制的-“項目”較低的管理復(fù)雜度-小范圍-非正式的-簡單的資金運作-“產(chǎn)品”防御MIS系統(tǒng)防御武器系統(tǒng)信息交換CASE工具國際空中運輸控制系統(tǒng)企業(yè)IS(IS應(yīng)用的家庭服務(wù))商業(yè)編譯器商業(yè)制表軟件IS應(yīng)用小型科學模擬大型組織/實體仿真模擬一個比較中等的項目-5-10人-10-15個月的開發(fā)周期-3-5個外部界面-一些不可知的事情&風險嵌入式車用軟件1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案36/107軟件品質(zhì)中的影響因素技術(shù)混合復(fù)雜度是我們的敵人,是我們的目標,我們要消滅它。性能吞吐量容量可用性失敗安全出錯容忍程度功能成本兼容性恢復(fù)能力20年之后的挑戰(zhàn)不是速度、成本和性能,而是復(fù)雜度的問題了。BillRaduchel,Sun微系統(tǒng)公司策略執(zhí)行總裁1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案37/1071.1從軟件危機談起如何克服軟件危機人們面臨的不光是技術(shù)問題,更重要的是管理問題。管理不善必然導致失敗。要提高軟件開發(fā)效率,提高軟件產(chǎn)品質(zhì)量,必須采用工程化的開發(fā)方法與工業(yè)化的生產(chǎn)技術(shù)。在技術(shù)上,應(yīng)該采用基于重用的軟件生產(chǎn)技術(shù);在管理上,應(yīng)該采用多維的工程管理模式。《軟件體系結(jié)構(gòu)》電子教案38/107軟件工程發(fā)展階段 軟件工程的發(fā)展已經(jīng)歷了三個重要階段:第一代軟件工程—
傳統(tǒng)的軟件工程20世紀60年代末到70年代為了克服“軟件危機”
(Softwarecrisis)提出“軟件工程”的名詞,將軟件開發(fā)納入工程化的軌道,基本形成軟件工程的概念、框架、技術(shù)和方法。稱為傳統(tǒng)的軟件工程。1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案39/107第二代軟件工程—
對象工程20世紀80年代中到90年代,面向?qū)ο蟮姆椒ㄅc技術(shù)得到發(fā)展,研究的重點轉(zhuǎn)移到面向?qū)ο蟮姆治雠c設(shè)計,演化為一種完整的軟件開發(fā)方法和系統(tǒng)的技術(shù)體系,稱為對象工程。第三代軟件工程—構(gòu)件工程(軟件復(fù)用)20世紀90起年代,基于構(gòu)件(Component)的開發(fā)方法取得重要進展,軟件系統(tǒng)的開發(fā)可通過使用現(xiàn)成的可復(fù)用構(gòu)件組裝完成,而無需從頭開始構(gòu)造,以此達到提高效率和質(zhì)量,降低成本的目的。稱為構(gòu)件工程?!盾浖w系結(jié)構(gòu)》電子教案1.1從軟件危機談起40/107軟件過程需求分析:定義程序必須做什么做什么?設(shè)計:定義每部分將是什么以及它們將如何協(xié)調(diào)如何做?實現(xiàn)(編碼):編寫代碼測試:以測試數(shù)據(jù)作為輸入來執(zhí)行應(yīng)用程序維護:修補缺陷和增強功能動手做檢驗維護《軟件體系結(jié)構(gòu)》電子教案41/107軟件過程示例——個人理財需求分析:文本“…應(yīng)用將顯示用戶銀行賬戶的收支余額…”設(shè)計:圖表和文本“…設(shè)計將包含類CheckingAccount…”實現(xiàn):源代碼和目標代碼測試:整理測試數(shù)據(jù),測試程序的執(zhí)行結(jié)果“…測試示例:存款$44.92/取款$32.00…”維護:修改設(shè)計、代碼和文本,糾錯、功能增強《軟件體系結(jié)構(gòu)》電子教案42/107軟件過程的風格瀑布過程:一個基本的軟件過程,其中需求分析、設(shè)計、編碼、測試和維護都是按順序完成的,但是各個階段有一些重疊。維護《軟件體系結(jié)構(gòu)》電子教案43/107軟件需求分析軟件需求軟件設(shè)計軟件實現(xiàn)軟件設(shè)計《軟件體系結(jié)構(gòu)》電子教案1.1從軟件危機談起44/107軟件設(shè)計的含義表達的是應(yīng)該怎樣構(gòu)造應(yīng)用程序,描述所用到的各個部分,以及如何將它們組合起來。是一套文檔,通常是各種示意圖以及對這些圖的具體含義的解釋。在此基礎(chǔ)上程序員能設(shè)計出軟件應(yīng)用程序類似于建筑物的藍圖從需求中產(chǎn)生,不包含代碼UML是設(shè)計文檔的一個非常有用的表示方法。《軟件體系結(jié)構(gòu)》電子教案45/107軟件設(shè)計的目標便于維護和升級,因而應(yīng)該是模塊化的設(shè)計應(yīng)該是便于移植的(移植比重新設(shè)計花費要小的多)設(shè)計應(yīng)該具有適用性設(shè)計過程應(yīng)該收到理性的控制IntellectualControl設(shè)計應(yīng)該表現(xiàn)出概念的完整性ConceptualIntegrity內(nèi)在結(jié)構(gòu)外在表現(xiàn)1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案46/107軟件設(shè)計中出現(xiàn)的問題設(shè)計對于需求的變化缺乏配合過程控制對于維持設(shè)計的正確性缺乏保障軟件產(chǎn)品通常缺乏概念完整性
1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案47/107針對問題提出的軟件設(shè)計思想強調(diào)信息隱藏的單元概念把系統(tǒng)的行為看作是具有關(guān)聯(lián)關(guān)系的部件間的行為作用應(yīng)用基于操作和數(shù)據(jù)封裝構(gòu)成的單元設(shè)計技術(shù)實現(xiàn)系統(tǒng)可組裝性應(yīng)用專門的機制可靠地處理并發(fā)控制和分布系統(tǒng)問題降低這類系統(tǒng)設(shè)計實施的復(fù)雜度提出基于模型的系統(tǒng)結(jié)構(gòu)和設(shè)計方法模式、框架、體系結(jié)構(gòu)風格等明確提出軟件體系結(jié)構(gòu)的設(shè)計思想
關(guān)乎復(fù)雜系統(tǒng)設(shè)計成敗和代價的關(guān)鍵設(shè)計步驟
1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案48/107SA之重要最早指出SA的重要性的是大師EdsgerDijkstra(1930-2002)
“..thelargertheproject,themoreessentialthestructuring!”(1968)
1.1從軟件危機談起《軟件體系結(jié)構(gòu)》電子教案49/107實現(xiàn)框架需求分析體系結(jié)構(gòu)詳細設(shè)計設(shè)計原則工具:UML構(gòu)件+連接件可重用類型
設(shè)計模式類+類間算法第二章第五章第四章第八章《軟件體系結(jié)構(gòu)》電子教案50/107第1章內(nèi)容摘要1.1從軟件危機談起1.2構(gòu)件與軟件重用1.3體系結(jié)構(gòu)的興起和發(fā)展1.4軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀《軟件體系結(jié)構(gòu)》電子教案51/107軟件危機軟件工程工業(yè)化生產(chǎn)軟件重用軟件構(gòu)件Component重用的核心概念和基本單元1.2構(gòu)件與軟件重用《軟件體系結(jié)構(gòu)》電子教案52/107Microsoft的MFCBorland的VCLSun的Java類庫C++的STL1968年NATO會議上Mcllroy首次提出軟件構(gòu)件的概念發(fā)表論文“Mass-ProducedSoftwareComponents”借鑒自傳統(tǒng)行業(yè)基于標準零組部件組裝的生產(chǎn)模式代碼件:可復(fù)用的程序代碼片斷子程序:程序語言、編譯器、用戶開發(fā)的過程或函數(shù)模塊、程序包:將邏輯相關(guān)的實體組成一個集合類:開發(fā)工具、用戶開發(fā)的類代碼模板:參數(shù)化數(shù)據(jù)類型,對函數(shù)或類的更高的抽象1.2構(gòu)件與軟件重用構(gòu)件概念的演化《軟件體系結(jié)構(gòu)》電子教案53/1071.2構(gòu)件與軟件重用構(gòu)件的定義構(gòu)件是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明確辨識的系統(tǒng);結(jié)構(gòu)上,它是語義描述、通訊接口和實現(xiàn)代碼的復(fù)合體。CMU/SEI的定義構(gòu)件:①是一個不透明的功能實現(xiàn);②能夠被第三方組裝;③符合一個構(gòu)件模型《軟件體系結(jié)構(gòu)》電子教案54/1071.2構(gòu)件與軟件重用構(gòu)件模型是對構(gòu)件本質(zhì)特征的抽象描述三個主要流派OMG(ObjectManagementGroup,對象管理集團)的CORBA(CommonObjectRequestBrokerArchitecture,通用對象請求代理結(jié)構(gòu))Sun的EJB(EnterpriseJavaBean)Microsoft的(DistributedComponentObjectModel,分布式構(gòu)件對象模型)《軟件體系結(jié)構(gòu)》電子教案55/1071.2構(gòu)件與軟件重用青鳥構(gòu)件模型()《軟件體系結(jié)構(gòu)》電子教案56/107構(gòu)件∷=〈構(gòu)件規(guī)約,構(gòu)件實現(xiàn)〉構(gòu)件規(guī)約∷=〈接口部分,結(jié)構(gòu)部分〉接口部分∷=〈對外提供的功能集合,對外請求的功能集合,服務(wù)集合〉服務(wù)∷=〈對外提供的功能集合,對外請求的功能集合〉結(jié)構(gòu)部分∷=〈原子構(gòu)件結(jié)構(gòu)〉|〈復(fù)合構(gòu)件結(jié)構(gòu)〉原子構(gòu)件結(jié)構(gòu)∷=〈構(gòu)件實現(xiàn)的引用〉復(fù)合構(gòu)件結(jié)構(gòu)∷=〈引用的構(gòu)件類型,實例聲明,實例連接,映射〉
一種構(gòu)件模型的描述:1.2構(gòu)件與軟件重用《軟件體系結(jié)構(gòu)》電子教案57/107示圖構(gòu)件粒度對構(gòu)件重用價值的影響使用和復(fù)用的成本效益符合需求的程度更改的靈活性構(gòu)件的粒度子程序/操作程序/類粗粒度的構(gòu)件應(yīng)用軟件包重用價值構(gòu)件的粒度1.2構(gòu)件與軟件重用《軟件體系結(jié)構(gòu)》電子教案58/1071.2構(gòu)件與軟件重用構(gòu)件獲取從現(xiàn)有構(gòu)件中獲得符合要求的構(gòu)件,直接使用或作適應(yīng)性修改,得到可重用的構(gòu)件;通過遺留工程,將具有潛在重用價值的構(gòu)件提取出來,得到可重用的構(gòu)件;從市場上購買現(xiàn)成的商業(yè)構(gòu)件,即COTS(CommercialOff-The-Shell)構(gòu)件;開發(fā)新的符合要求的構(gòu)件。《軟件體系結(jié)構(gòu)》電子教案59/1071.2構(gòu)件與軟件重用構(gòu)件管理
通過構(gòu)件庫管理系統(tǒng)(JBCM),其功能:構(gòu)件描述構(gòu)件分類與組織人員及權(quán)限管理《軟件體系結(jié)構(gòu)》電子教案60/1071.2構(gòu)件與軟件重用構(gòu)件管理構(gòu)件描述構(gòu)件模型是對構(gòu)件本質(zhì)的抽象描述,主要是為構(gòu)件的制作與構(gòu)件的重用提供依據(jù);從管理角度出發(fā),也需要對構(gòu)件進行描述,例如:實現(xiàn)方式、實現(xiàn)體、注釋、生產(chǎn)者、生產(chǎn)日期、大小、價格、版本和關(guān)聯(lián)構(gòu)件等信息,它們與構(gòu)件模型共同組成了對構(gòu)件的完整描述。《軟件體系結(jié)構(gòu)》電子教案61/1071.2構(gòu)件與軟件重用構(gòu)件管理構(gòu)件分類與組織關(guān)鍵字分類法刻面分類法超文本組織方法
《軟件體系結(jié)構(gòu)》電子教案62/1071.2構(gòu)件與軟件重用構(gòu)件管理關(guān)鍵字分類法
《軟件體系結(jié)構(gòu)》電子教案63/1071.2構(gòu)件與軟件重用構(gòu)件管理刻面分類法(青鳥構(gòu)件庫)使用環(huán)境應(yīng)用領(lǐng)域功能層次表示方法
《軟件體系結(jié)構(gòu)》電子教案64/1071.2構(gòu)件與軟件重用構(gòu)件管理超文本組織方法
《軟件體系結(jié)構(gòu)》電子教案65/1071.2構(gòu)件與軟件重用構(gòu)件管理人員及權(quán)限管理一般來講,構(gòu)件庫系統(tǒng)可包括五類用戶,即注冊用戶、公共用戶、構(gòu)件提交者、一般系統(tǒng)管理員和超級系統(tǒng)管理員。
《軟件體系結(jié)構(gòu)》電子教案66/1071.2構(gòu)件與軟件重用構(gòu)件重用檢索與提取構(gòu)件理解與評價構(gòu)件修改構(gòu)件構(gòu)件組裝《軟件體系結(jié)構(gòu)》電子教案67/1071.2構(gòu)件與軟件重用構(gòu)件重用檢索與提取構(gòu)件基于關(guān)鍵字的檢索刻面檢索法超文本檢索法其他檢索方法《軟件體系結(jié)構(gòu)》電子教案68/1071.2構(gòu)件與軟件重用構(gòu)件重用理解與評價構(gòu)件構(gòu)件的功能與行為相關(guān)的領(lǐng)域知識可適應(yīng)性約束條件與例外情形可以預(yù)見的修改部分及修改方法《軟件體系結(jié)構(gòu)》電子教案69/1071.2構(gòu)件與軟件重用構(gòu)件重用修改構(gòu)件理想的情形是對庫中的構(gòu)件不作修改而直接用于新的軟件項目。但是,在大多數(shù)情況下,必須對構(gòu)件進行或多或少的修改,以適應(yīng)新的需求。為了減少構(gòu)件修改的工作量,要求開發(fā)人員盡量使構(gòu)件的功能、行為和接口設(shè)計更為抽象化、通用化和參數(shù)化。《軟件體系結(jié)構(gòu)》電子教案70/1071.2構(gòu)件與軟件重用構(gòu)件重用構(gòu)件組裝基于功能的組裝技術(shù)基于數(shù)據(jù)的組裝技術(shù)面向?qū)ο蟮慕M裝技術(shù)《軟件體系結(jié)構(gòu)》電子教案71/1071.2構(gòu)件與軟件重用構(gòu)件重用構(gòu)件組裝基于功能的組裝技術(shù)基于功能的組裝技術(shù)采用子程序調(diào)用和參數(shù)傳遞的方式將構(gòu)件組裝起來。它要求庫中的構(gòu)件以子程序/過程/函數(shù)的形式出現(xiàn),并且接口說明必須清晰。當使用這種組裝技術(shù)進行軟件開發(fā)時,開發(fā)人員首先應(yīng)對目標軟件系統(tǒng)進行功能分解,將系統(tǒng)分解為強內(nèi)聚、松耦合的功能模塊。然后根據(jù)各模塊的功能需求提取構(gòu)件,對它進行適應(yīng)性修改后再掛接在上述功能分解框架中。《軟件體系結(jié)構(gòu)》電子教案72/1071.2構(gòu)件與軟件重用構(gòu)件重用構(gòu)件組裝基于數(shù)據(jù)的組裝技術(shù)首先根據(jù)當前軟件問題的核心數(shù)據(jù)結(jié)構(gòu)設(shè)計出一個框架,然后根據(jù)框架中各結(jié)點的需求提取構(gòu)件并進行適應(yīng)性修改,再將構(gòu)件逐個分配至框架中的適當位置。此后,構(gòu)件的組裝方式仍然是傳統(tǒng)的子程序調(diào)用與參數(shù)傳遞。這種組裝技術(shù)也要求庫中構(gòu)件以子程序形式出現(xiàn),但它所依賴的軟件設(shè)計方法不再是功能分解,而是面向數(shù)據(jù)的設(shè)計方法,例如Jackson系統(tǒng)開發(fā)方法《軟件體系結(jié)構(gòu)》電子教案73/1071.2構(gòu)件與軟件重用構(gòu)件重用構(gòu)件組裝面向?qū)ο蟮慕M裝技術(shù)構(gòu)造法在子類中引進基類的對象作為子類的成員變量,然后在子類中通過成員變量重用基類的屬性和方法。子類法將新子類直接說明為庫中基類的子類,通過繼承和修改基類的屬性與行為完成新子類的定義。《軟件體系結(jié)構(gòu)》電子教案74/107構(gòu)件庫的組織與結(jié)構(gòu):1.2構(gòu)件與軟件重用《軟件體系結(jié)構(gòu)》電子教案75/1071.2構(gòu)件與軟件重用軟件重用實例《軟件體系結(jié)構(gòu)》電子教案自學76/107第1章內(nèi)容摘要1.1從軟件危機談起1.2構(gòu)件與軟件重用1.3體系結(jié)構(gòu)的興起和發(fā)展1.4軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀《軟件體系結(jié)構(gòu)》電子教案77/1071.3體系結(jié)構(gòu)的興起和發(fā)展背景資料隨著軟件系統(tǒng)規(guī)模越來越大、越來越復(fù)雜,整個系統(tǒng)的結(jié)構(gòu)和規(guī)格說明顯得越來越重要。對于大規(guī)模的復(fù)雜軟件系統(tǒng)來說,對總體的系統(tǒng)結(jié)構(gòu)設(shè)計和規(guī)格說明比起對計算的算法和數(shù)據(jù)結(jié)構(gòu)的選擇已經(jīng)變得明顯重要得多。對軟件體系結(jié)構(gòu)的系統(tǒng)、深入的研究將會成為提高軟件生產(chǎn)率和解決軟件維護問題的新的最有希望的途徑。《軟件體系結(jié)構(gòu)》電子教案78/1071.3體系結(jié)構(gòu)的興起和發(fā)展背景資料事實上,軟件總是有體系結(jié)構(gòu)的,不存在沒有體系結(jié)構(gòu)的軟件。軟件體系結(jié)構(gòu)雖脫胎于軟件工程,但其形成同時借鑒了計算機體系結(jié)構(gòu)和網(wǎng)絡(luò)體系結(jié)構(gòu)中很多寶貴的思想和方法。軟件體系結(jié)構(gòu)研究現(xiàn)已完全獨立于軟件工程的研究,成為計算機科學的一個最新的研究方向和獨立學科分支?!盾浖w系結(jié)構(gòu)》電子教案79/107軟件體系結(jié)構(gòu)的定義
Perry&Wolf:軟件體系結(jié)構(gòu)(SA)是一個三元組:
SA={elements,form,rational}其中:元素(elements):構(gòu)成結(jié)構(gòu)的實體。分成三類:處理元素(processingelements),數(shù)據(jù)元素(dataelements),連接元素(connectingelements)。形式(form):一組專有的特性(properties)和關(guān)系(relationship)。其中特性用于限制軟件體系結(jié)構(gòu)元素的選擇,關(guān)系用于限制元素組合的拓撲結(jié)構(gòu)。準則(rational):元素組合的“生成”規(guī)則。1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案80/107軟件體系結(jié)構(gòu)的定義
Garlan&Shaw:軟件體系結(jié)構(gòu)(SA)是一個三元組:
SA={components,connectors,constrains}其中:構(gòu)件(component)可以是一組代碼,如程序的模塊;也可以是一個獨立的程序(如數(shù)據(jù)庫的SQL服務(wù)器)連接件(connector)是關(guān)系的抽象,用以表示構(gòu)件之間的相互作用。如過程調(diào)用、管道、遠程過程調(diào)用等限制(constrain):用于對構(gòu)件和連接件的語義說明1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案81/107軟件體系結(jié)構(gòu)的定義
Boehm:軟件體系結(jié)構(gòu)是一個五元組:
SA={components,connections,constraints,stakeholders'needs,rationale}軟件體系結(jié)構(gòu)的五要素為:構(gòu)件;連接件;約束;涉眾(風險承擔者)需求;能夠展示由構(gòu)件、連接件和約束所定義的系統(tǒng)在實現(xiàn)時如何滿足系統(tǒng)不同人員需求的原理。1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案82/107
軟件體系結(jié)構(gòu)的定義
IEEE610.12-1990軟件工程標準詞匯中的定義:
SA={component,connector,environment,principle};即軟件體系結(jié)構(gòu)是一個四元組,是以:
構(gòu)件,構(gòu)件之間的關(guān)系,構(gòu)件與環(huán)境之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織結(jié)構(gòu),以及指導上述內(nèi)容設(shè)計與演化的原理。1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案83/107結(jié)論:軟件體系結(jié)構(gòu)的要素,主要涉及:
*構(gòu)成成分(構(gòu)件、連接件);
*拓撲結(jié)構(gòu)(構(gòu)件和連接件構(gòu)成);
*限制;
*設(shè)計原則與指導方針。根據(jù)上述各種體系結(jié)構(gòu)的定義,可以發(fā)現(xiàn):1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案84/1071.3體系結(jié)構(gòu)的興起和發(fā)展軟件體系結(jié)構(gòu)的定義推薦的定義 軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個結(jié)構(gòu)、行為和屬性的高級抽象,由構(gòu)成系統(tǒng)的元素的描述、這些元素的相互作用、指導元素集成的模式以及這些模式的約束組成。軟件體系結(jié)構(gòu)不僅指定了系統(tǒng)的組織結(jié)構(gòu)和拓撲結(jié)構(gòu),并且顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應(yīng)關(guān)系,提供了一些設(shè)計決策的基本原理。《軟件體系結(jié)構(gòu)》電子教案85/1071.3體系結(jié)構(gòu)的興起和發(fā)展軟件體系結(jié)構(gòu)的意義體系結(jié)構(gòu)是風險承擔者進行交流的手段
軟件體系結(jié)構(gòu)代表了系統(tǒng)的公共的高層次的抽象。這樣,系統(tǒng)的大部分有關(guān)人員(即使不是全部)能把它作為建立一個互相理解的基礎(chǔ),形成統(tǒng)一認識,互相交流。體系結(jié)構(gòu)提供了一種共同語言來表達各種關(guān)注和協(xié)商,進而對大型復(fù)雜系統(tǒng)能進行理智的管理。這對項目最終的質(zhì)量和使用有極大的影響?!盾浖w系結(jié)構(gòu)》電子教案86/1071.3體系結(jié)構(gòu)的興起和發(fā)展軟件體系結(jié)構(gòu)的意義
體系結(jié)構(gòu)是早期設(shè)計決策的體現(xiàn)
(1)軟件體系結(jié)構(gòu)明確了對系統(tǒng)實現(xiàn)的約束條件 (2)軟件體系結(jié)構(gòu)決定了開發(fā)和維護組織的組織結(jié)構(gòu) (3)軟件體系結(jié)構(gòu)制約著系統(tǒng)的質(zhì)量屬性 (4)通過研究軟件體系結(jié)構(gòu)可能預(yù)測軟件的質(zhì)量 (5)軟件體系結(jié)構(gòu)使推理和控制更改更簡單 (6)軟件體系結(jié)構(gòu)有助于循序漸進的原型設(shè)計 (7)軟件體系結(jié)構(gòu)可以作為培訓的基礎(chǔ)《軟件體系結(jié)構(gòu)》電子教案87/1071.3體系結(jié)構(gòu)的興起和發(fā)展軟件體系結(jié)構(gòu)的意義
軟件體系結(jié)構(gòu)是可傳遞和可重用的模型
軟件體系結(jié)構(gòu)級的重用意味著體系結(jié)構(gòu)的決策能在具有相似需求的多個系統(tǒng)中發(fā)生影響,這比代碼級的重用要有更大的好處《軟件體系結(jié)構(gòu)》電子教案88/1071.3體系結(jié)構(gòu)的興起和發(fā)展軟件體系結(jié)構(gòu)的發(fā)展史《軟件體系結(jié)構(gòu)》電子教案“無體系結(jié)構(gòu)”設(shè)計階段萌芽階段以匯編語言進行小規(guī)模應(yīng)用程序開發(fā)為特征出現(xiàn)了從不同側(cè)面描述系統(tǒng)的結(jié)構(gòu)模型,以UML為典型代表。出現(xiàn)了程序結(jié)構(gòu)設(shè)計主題,以控制流圖和數(shù)據(jù)流圖構(gòu)成軟件結(jié)構(gòu)為特征高級階段初期階段以描述系統(tǒng)的高層抽象結(jié)構(gòu)為中心,不關(guān)心具體的建模細節(jié),劃分了體系結(jié)構(gòu)模型與傳統(tǒng)軟件結(jié)構(gòu)的界限,該階段以Kruchten提出的“4+1”模型為標志89/1071.3體系結(jié)構(gòu)的興起和發(fā)展軟件體系結(jié)構(gòu)的發(fā)展史1995年出版的IEEESoftware體系結(jié)構(gòu)???996年出版的專著《SoftwareArchitecture:PerspectivesonanEmergingDiscipline》,可以認為是SA作為軟件工程一個研究方向正式提出的標志。Perry和Wolf認為:未來的年代是研究軟件體系結(jié)構(gòu)的時代。
《軟件體系結(jié)構(gòu)》電子教案90/107軟件體系結(jié)構(gòu)的發(fā)展史很多機構(gòu)關(guān)注軟件體系結(jié)構(gòu)研究IBM-SOA體系架構(gòu)OMG-CORBA規(guī)范Mirosoft-.Net平臺SUN-JAVA平臺國際標準化組織-開放系統(tǒng)互連參考模型,NIST/ECMA參考模型…存在問題沒有統(tǒng)一的體系結(jié)構(gòu)劃分標準和設(shè)計原則缺乏形式化方法對體系結(jié)構(gòu)進行完整性和一致性分析缺乏有效的體系結(jié)構(gòu)設(shè)計工具…1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案91/1075各種術(shù)語和相關(guān)概念A(yù)rchitecture:英漢:建筑學、建筑樣式計算機詞典:一種規(guī)格說明Pattern:英漢:紙樣、式樣、模型計算機詞典:在連續(xù)的試驗和測試中,有重復(fù)性且有某種程度相似性的信息。Infrastructure英漢技術(shù):底層結(jié)構(gòu)、基礎(chǔ)結(jié)構(gòu)英漢科學:基礎(chǔ)結(jié)構(gòu)、基礎(chǔ)設(shè)施例如:NII(國家信息基礎(chǔ)設(shè)施)1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案92/107ArchitecureStyles:1992年,AlexanderL.Wolf引進了體系結(jié)構(gòu)風格MaryShaw和DavidGarlan定義為根據(jù)結(jié)構(gòu)組織模式構(gòu)成的軟件系統(tǒng)族,表達了部件和他們之間的關(guān)系。ArchitecureStyles偏重于計算機概念Garlan和Shaw對通用體系結(jié)構(gòu)風格進行如下分類:數(shù)據(jù)流風格:批處理序列、管道/過濾器等;調(diào)用/返回風格:主程序/子程序、面向?qū)ο箫L格、層次結(jié)等。獨立構(gòu)件風格:進程通訊、事件系統(tǒng)等;虛擬機風格:解釋器、基于規(guī)則的系統(tǒng)等;倉庫風格:數(shù)據(jù)庫系統(tǒng)、超文本系統(tǒng)、黑板系統(tǒng)等。近年來,出現(xiàn)了許多新的體系結(jié)構(gòu)風格,例如客戶/服務(wù)器(Client/Server)結(jié)構(gòu)、瀏覽器/服務(wù)器(Browser/Server)結(jié)構(gòu)、正交(Orthogonal)結(jié)構(gòu)、專用領(lǐng)域(DomainSpecificStyles)、MVC、微核(Microkernel)、反射(Reflection)、代理(Proxy)等。1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案93/107DesignPattern它提供一個用于細化軟件系統(tǒng)的子系統(tǒng)或構(gòu)件,或他們之間關(guān)系的圖示。它描述通信構(gòu)件的公共再現(xiàn)結(jié)構(gòu),通信構(gòu)件可以解決特定語境中的一個一般設(shè)計問題。建立在結(jié)構(gòu)化程序設(shè)計基礎(chǔ)之上,針對OOP設(shè)計的實踐和經(jīng)驗而提出的,是處理特定問題的高效和成熟的設(shè)計模板設(shè)計模式偏重于具體問題設(shè)計模式分為三個類型構(gòu)造型模式:工廠、原型模式etc.結(jié)構(gòu)型模式:適配器、門面、代理etc.行為型模式:解釋器、模版、狀態(tài)etc.SA受其啟發(fā),提出了面向模式的軟件體系結(jié)構(gòu)1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案94/107Framework:較Architecture更具體英漢:構(gòu)架、結(jié)構(gòu)或組織技術(shù)詞典:骨架、框架、構(gòu)架框架又稱為應(yīng)用框架,整體應(yīng)用性結(jié)構(gòu)的“固定”冷點FrozenSpots熱點HotSpotsFramework偏重于具體問題,所以常稱為:應(yīng)用框架從設(shè)計模式角度來看,框架為大粒度的可復(fù)用的部件從體系結(jié)構(gòu)角度來看,框架是一個領(lǐng)域體系結(jié)構(gòu)1.3體系結(jié)構(gòu)的興起和發(fā)展《軟件體系結(jié)構(gòu)》電子教案95/107第1章內(nèi)容摘要1.1從軟件危機談起1.2構(gòu)件與軟件重用1.3體系結(jié)構(gòu)的興起和發(fā)展1.4軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀
《軟件體系結(jié)構(gòu)》電子教案96/1071.4軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀目前,軟件體系結(jié)構(gòu)的研究活動主要有:軟件體系結(jié)構(gòu)描述語言體系結(jié)構(gòu)描述構(gòu)造與表示體系結(jié)構(gòu)分析、設(shè)計與驗證體系結(jié)構(gòu)發(fā)現(xiàn)、演化與重用基于體系結(jié)構(gòu)的軟件開發(fā)方法特定領(lǐng)域的體系結(jié)構(gòu)框架軟件體系結(jié)構(gòu)支持工具軟件產(chǎn)品線體系結(jié)構(gòu)建立評價軟件體系結(jié)構(gòu)的方法《軟件體系結(jié)構(gòu)》電子教案97/107體系結(jié)構(gòu)描述語言與工具ADLArchitetureDescriptionLanguage為體系結(jié)構(gòu)提供概念性框架,也提供描述的具體語法,也提供解析、顯示、編譯、分析或者仿真體系結(jié)構(gòu)描述使用的工具工具建模設(shè)計符號為體系結(jié)構(gòu)建模1.4軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀《軟件體系結(jié)構(gòu)》電子教案98/107軟件體系結(jié)構(gòu)風格及風格應(yīng)用軟件體系結(jié)構(gòu)風格是指一組設(shè)計詞典、有關(guān)詞典如何運用的限制條件、及詞典語義的假設(shè)。例如:C/S和B/S每個風格的應(yīng)用僅適合于一定的目標,而不適用于其他目標。例如1.4軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀《軟件體系結(jié)構(gòu)》電子教案99/107產(chǎn)品線與標準軟件產(chǎn)品線是一個工程問題,它由一組軟件密集型家族系統(tǒng)共享公共的、可管理的特征。軟件產(chǎn)品線體系結(jié)構(gòu)產(chǎn)品需求產(chǎn)品體系結(jié)構(gòu)產(chǎn)品線需求產(chǎn)品線體系結(jié)構(gòu)1.4軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀《軟件體系結(jié)構(gòu)》電子教案100/107體系結(jié)構(gòu)文檔化體系結(jié)構(gòu)文檔化的過程就是用一個或者多個視圖來描述一個系統(tǒng)結(jié)構(gòu)的過程。體系結(jié)構(gòu)文檔化目前還處于發(fā)展的階段,對于視圖的選擇,學術(shù)界爭論不休。DavidGarlan認為體系結(jié)構(gòu)文檔化需要以下4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 61000-2-9:2025 EN Electromagnetic compatibility (EMC) - Part 2-9: Environment - Description of HEMP environment - Radiated disturbance
- 股權(quán)投資撤銷及退出機制協(xié)議
- 車輛抵押貸款合同再融資協(xié)議范本
- 充電樁充電設(shè)施投資與股權(quán)合作合同
- 車床租賃與定制化刀具研發(fā)生產(chǎn)合同
- 特色火鍋店房屋租賃及品牌推廣合同
- 數(shù)據(jù)庫管理及應(yīng)用
- 2025年汽車維修協(xié)議
- 護理科室例會工作綱要
- 巨細胞病毒護理要點解析
- 2025屆內(nèi)蒙古鄂爾多斯市康巴什區(qū)鄂爾多斯一中高考考前模擬數(shù)學試題含解析
- 經(jīng)營高危險性體育項目游泳申請表
- 小學低年級識字教學策略研究三篇
- 在線學習新變革課件 2024-2025學年人教版(2024)初中信息技術(shù)七年級全一冊
- 膀胱癌教學課件
- 熔化焊與熱切割作業(yè)法律法規(guī)與管理規(guī)范
- 拔牙術(shù)后并發(fā)癥的護理
- 五年級語文下冊總復(fù)習:修改病段練習題及參考答案(人教版)
- 上海市2023-2024學年八年級下學期期末數(shù)學練習卷(解析版)
- 《胃癌臨床實踐指南》(2024年第一版)更新要點解讀
- 貨幣銀行學(上海對外經(jīng)貿(mào)大學)智慧樹知到期末考試答案章節(jié)答案2024年上海對外經(jīng)貿(mào)大學
評論
0/150
提交評論