《軟件體系結(jié)構(gòu)建?!方虒W(xué)課件_第1頁
《軟件體系結(jié)構(gòu)建?!方虒W(xué)課件_第2頁
《軟件體系結(jié)構(gòu)建?!方虒W(xué)課件_第3頁
《軟件體系結(jié)構(gòu)建?!方虒W(xué)課件_第4頁
《軟件體系結(jié)構(gòu)建?!方虒W(xué)課件_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件體系構(gòu)造軟件體系構(gòu)造建模鄭州大學(xué)軟件學(xué)院趙哲軟件體系構(gòu)造軟件體系構(gòu)造建模鄭州大學(xué)軟件學(xué)院趙哲1復(fù)習(xí)軟件體系構(gòu)造概論軟件危機構(gòu)件與軟件重用軟件體系構(gòu)造的興起和開展軟件體系構(gòu)造的應(yīng)用現(xiàn)狀鄭州大學(xué)軟件學(xué)院趙哲復(fù)習(xí)軟件體系構(gòu)造概論鄭州大學(xué)軟件學(xué)院趙哲2本章主要內(nèi)容軟件體系構(gòu)造建模概述4+1視圖模型鄭州大學(xué)軟件學(xué)院趙哲本章主要內(nèi)容軟件體系構(gòu)造建模概述鄭州大學(xué)軟件學(xué)院趙哲3軟件體系構(gòu)造建模概述建模modeling:建立系統(tǒng)模型的過程軟件體系構(gòu)造建模:如何對軟件體系構(gòu)造建立系統(tǒng)模型根據(jù)建模的側(cè)重點不同可將軟件體系構(gòu)造模型分為5類鄭州大學(xué)軟件學(xué)院趙哲軟件體系構(gòu)造建模概述建模modeling:建立系統(tǒng)模型的4軟件體系構(gòu)造模型的分類構(gòu)造模型(骨頭拆分)框架模型(骨骼)動態(tài)模型(時序圖、狀態(tài)圖和活動圖來,與操作時間或順序有關(guān))過程模型(步驟、過程)功能模型(層次)P31鄭州大學(xué)軟件學(xué)院趙哲軟件體系構(gòu)造模型的分類構(gòu)造模型(骨頭拆分)鄭州大學(xué)軟件學(xué)院5一點延伸架構(gòu)要涵蓋的內(nèi)容和決策太多了,超過了人腦“一蹴而就〞的能力范圍,因此采用“分而治之〞的方法從不同視角分別設(shè)計;同時,也為軟件架構(gòu)的理解、交流和歸檔提供了方便。鄭州大學(xué)軟件學(xué)院趙哲一點延伸架構(gòu)要涵蓋的內(nèi)容和決策太多了,超過了人腦“一蹴而就〞64+1視圖模型P32以上5種模型各有所長,將5種模型有機的結(jié)合在一起,形成一個完整的模型來刻畫軟件體系構(gòu)造更為適宜。鄭州大學(xué)軟件學(xué)院趙哲4+1視圖模型P32以上5種模型各有所長,將5種模型有機的74+1模型Kruchten在1995年提出了“4+1〞的視圖模型“4+1〞視圖模型從5個不同的視角包括邏輯視圖、進程視圖、物理視圖、開發(fā)視圖和場景視圖來描述軟件體系構(gòu)造每一個視圖只關(guān)心系統(tǒng)的一個側(cè)面,5個視圖結(jié)合在一起才能反映系統(tǒng)的軟件體系構(gòu)造的全部內(nèi)容。鄭州大學(xué)軟件學(xué)院趙哲4+1模型Kruchten在1995年提出了“4+1〞的視圖84+1視圖模型邏輯視圖進程視圖開發(fā)視圖物理視圖最終用戶:功能需求場景編程人員:軟件管理系統(tǒng)集成人員:性能可擴充性、吞吐量等系統(tǒng)工程人員:系統(tǒng)拓撲、安裝、通信等鄭州大學(xué)軟件學(xué)院趙哲4+1視圖模型邏輯視圖進程視圖開發(fā)視圖物理視圖最終用戶:功能94+1鄭州大學(xué)軟件學(xué)院趙哲4+1鄭州大學(xué)軟件學(xué)院趙哲10邏輯視圖邏輯視圖主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的效勞。在邏輯視圖中,系統(tǒng)分解成一系列的功能抽象可以用來進展功能分析可用作標(biāo)識在整個系統(tǒng)的各個不同局部的通用機制鄭州大學(xué)軟件學(xué)院趙哲邏輯視圖邏輯視圖主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用11邏輯視圖構(gòu)件實例繼承使用包含,聚集關(guān)聯(lián)類層次參數(shù)化類類服務(wù)類連接件鄭州大學(xué)軟件學(xué)院趙哲邏輯視圖構(gòu)件實例繼承使用包含,聚集關(guān)聯(lián)類層次參數(shù)化類類服務(wù)類12連接件關(guān)聯(lián):一個類的存在不是孤立的。與其他類以不同的方式合作,共同完成某些系統(tǒng)功能。有關(guān)某種意義的合作,要由附加在橫線之上的短語來說明。鄭州大學(xué)軟件學(xué)院趙哲連接件關(guān)聯(lián):一個類的存在不是孤立的。與其他類以不同的方式合作13連接件包含:實心圓表示整體,另一端表示局部。實心圓包含另一端。使用:空心圓表示who,另一端表示使用what。繼承:箭頭端表示基類,另一端表示子類。子類指向基類。鄭州大學(xué)軟件學(xué)院趙哲連接件包含:實心圓表示整體,另一端表示局部。實心圓包含另一端14邏輯視圖種要注意的問題保持單一的、內(nèi)聚的對象模型內(nèi)聚模塊內(nèi)部各成分的關(guān)聯(lián)程度對象模型對誰做幾個邏輯上相關(guān)的功能〔或其他方面〕放在同一個模塊中。鄭州大學(xué)軟件學(xué)院趙哲邏輯視圖種要注意的問題保持單一的、內(nèi)聚的對象模型鄭州大學(xué)軟件15ACS體系構(gòu)造邏輯視圖鄭州大學(xué)軟件學(xué)院趙哲ACS體系構(gòu)造邏輯視圖鄭州大學(xué)軟件學(xué)院趙哲16空中交通邏輯視圖鄭州大學(xué)軟件學(xué)院趙哲空中交通邏輯視圖鄭州大學(xué)軟件學(xué)院趙哲17開發(fā)視圖開發(fā)視圖DevelopmentView也稱模塊視圖ModuleView主要側(cè)重軟件模塊的組織和管理,為編程人員效勞。軟件可以通過程序庫或子程序進展組織,這樣就可以由不同的人進展開發(fā)鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖開發(fā)視圖DevelopmentView也稱模塊視圖18開發(fā)視圖開發(fā)視圖要考慮軟件內(nèi)部的需求,如軟件開發(fā)的容易性、軟件的重用和軟件的通用性,要充分考慮由于具體開發(fā)工具的不同而帶來的局限性。開發(fā)視圖通過系統(tǒng)輸入輸出關(guān)系的模型圖和子系統(tǒng)圖來描述。鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖開發(fā)視圖要考慮軟件內(nèi)部的需求,如軟件開發(fā)的容易性、軟19開發(fā)視圖鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖鄭州大學(xué)軟件學(xué)院趙哲20開發(fā)視圖在開發(fā)視圖中,最好采用4-6層子系統(tǒng),而且每個子系統(tǒng)僅僅能與同層或更低層的子系統(tǒng)通訊,這樣可以使每個層次的接口既完備又精練,防止了各個模塊之間很復(fù)雜的依賴關(guān)系。設(shè)計時要充分考慮,對于各個層次,層次越低,通用性越強,這樣,可以保證應(yīng)用程序的需求發(fā)生改變時,所做的改動最小。開發(fā)視圖所用的風(fēng)格通常是層次構(gòu)造風(fēng)格。鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖在開發(fā)視圖中,最好采用4-6層子系統(tǒng),而且每個子系統(tǒng)21開發(fā)視圖鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖鄭州大學(xué)軟件學(xué)院趙哲22進程視圖進程視圖側(cè)重于系統(tǒng)的運行特性,主要關(guān)注一些非功能性的需求。系統(tǒng)性能、可用性進程視圖強調(diào)并發(fā)性、分布性、系統(tǒng)集成性和容錯能力,以及從邏輯視圖中的主要抽象如何適合進程構(gòu)造。它也定義邏輯視圖中的各個類的操作具體是在哪一個線程中被執(zhí)行的。鄭州大學(xué)軟件學(xué)院趙哲進程視圖進程視圖側(cè)重于系統(tǒng)的運行特性,主要關(guān)注一些非功能性的23進程視圖設(shè)計:進程視圖可以描述成多層抽象,每個級別分別關(guān)注不同的方面。在最高層抽象中,進程構(gòu)造可以看作是構(gòu)成一個執(zhí)行單元的一組任務(wù)。它可看成一系列獨立的,通過邏輯網(wǎng)絡(luò)相互通信的程序。它們是分布的,通過總線或局域網(wǎng)、廣域網(wǎng)等硬件資源連接起來。鄭州大學(xué)軟件學(xué)院趙哲進程視圖設(shè)計:進程視圖可以描述成多層抽象,每個級別分別關(guān)注不24進程視圖鄭州大學(xué)軟件學(xué)院趙哲進程視圖鄭州大學(xué)軟件學(xué)院趙哲25進程視圖鄭州大學(xué)軟件學(xué)院趙哲進程視圖鄭州大學(xué)軟件學(xué)院趙哲26物理視圖物理視圖PhysicalView主要考慮如何把軟件映射到硬件上通常要考慮到系統(tǒng)性能、規(guī)模、可靠性等鄭州大學(xué)軟件學(xué)院趙哲物理視圖物理視圖PhysicalView主要考慮如何把軟件27物理視圖鄭州大學(xué)軟件學(xué)院趙哲物理視圖鄭州大學(xué)軟件學(xué)院趙哲28ACS系統(tǒng)的物理視圖鄭州大學(xué)軟件學(xué)院趙哲ACS系統(tǒng)的物理視圖鄭州大學(xué)軟件學(xué)院趙哲29場景場景Scenarios可以看做重要系統(tǒng)活動的抽象它使4個視圖有機聯(lián)系在一起。場景是最重要的需求抽象開發(fā)體系構(gòu)造時,可以幫助設(shè)計者找到體系構(gòu)造的構(gòu)件和它們之間的作用關(guān)系。場景可以用文本表示,也可以用圖形表示鄭州大學(xué)軟件學(xué)院趙哲場景場景Scenarios可以看做重要系統(tǒng)活動的抽象鄭州大學(xué)30場景圖鄭州大學(xué)軟件學(xué)院趙哲場景圖鄭州大學(xué)軟件學(xué)院趙哲314+1總匯鄭州大學(xué)軟件學(xué)院趙哲4+1總匯鄭州大學(xué)軟件學(xué)院趙哲32設(shè)計思想邏輯視圖和開發(fā)視圖為靜態(tài)構(gòu)造進程視圖和物理視圖為動態(tài)構(gòu)造管理系統(tǒng)側(cè)重邏輯視圖和開發(fā)視圖實時控制系統(tǒng)側(cè)重進程視圖和物理視圖鄭州大學(xué)軟件學(xué)院趙哲設(shè)計思想邏輯視圖和開發(fā)視圖為靜態(tài)構(gòu)造鄭州大學(xué)軟件學(xué)院趙哲33軟件過程需求分析建立體系結(jié)構(gòu)測試實現(xiàn)設(shè)計鄭州大學(xué)軟件學(xué)院趙哲軟件過程需求分析建立體系結(jié)構(gòu)測試實現(xiàn)設(shè)計鄭州大學(xué)軟34需求分析與用戶溝通由不同代表組成的小組:分析人員、客戶、設(shè)計人員、測試人員等對需求進展審查鄭州大學(xué)軟件學(xué)院趙哲需求分析與用戶溝通鄭州大學(xué)軟件學(xué)院趙哲35建立體系構(gòu)造由體系構(gòu)造設(shè)計師對整個系統(tǒng)進展分析選擇一個適宜的體系構(gòu)造風(fēng)格鄭州大學(xué)軟件學(xué)院趙哲建立體系構(gòu)造由體系構(gòu)造設(shè)計師對整個系統(tǒng)進展分析鄭州大學(xué)軟件學(xué)36設(shè)計、實現(xiàn)、測試CodingTesting鄭州大學(xué)軟件學(xué)院趙哲設(shè)計、實現(xiàn)、測試Coding鄭州大學(xué)軟件學(xué)院趙哲37軟件體系構(gòu)造軟件體系構(gòu)造建模鄭州大學(xué)軟件學(xué)院趙哲軟件體系構(gòu)造軟件體系構(gòu)造建模鄭州大學(xué)軟件學(xué)院趙哲38復(fù)習(xí)軟件體系構(gòu)造概論軟件危機構(gòu)件與軟件重用軟件體系構(gòu)造的興起和開展軟件體系構(gòu)造的應(yīng)用現(xiàn)狀鄭州大學(xué)軟件學(xué)院趙哲復(fù)習(xí)軟件體系構(gòu)造概論鄭州大學(xué)軟件學(xué)院趙哲39本章主要內(nèi)容軟件體系構(gòu)造建模概述4+1視圖模型鄭州大學(xué)軟件學(xué)院趙哲本章主要內(nèi)容軟件體系構(gòu)造建模概述鄭州大學(xué)軟件學(xué)院趙哲40軟件體系構(gòu)造建模概述建模modeling:建立系統(tǒng)模型的過程軟件體系構(gòu)造建模:如何對軟件體系構(gòu)造建立系統(tǒng)模型根據(jù)建模的側(cè)重點不同可將軟件體系構(gòu)造模型分為5類鄭州大學(xué)軟件學(xué)院趙哲軟件體系構(gòu)造建模概述建模modeling:建立系統(tǒng)模型的41軟件體系構(gòu)造模型的分類構(gòu)造模型(骨頭拆分)框架模型(骨骼)動態(tài)模型(時序圖、狀態(tài)圖和活動圖來,與操作時間或順序有關(guān))過程模型(步驟、過程)功能模型(層次)P31鄭州大學(xué)軟件學(xué)院趙哲軟件體系構(gòu)造模型的分類構(gòu)造模型(骨頭拆分)鄭州大學(xué)軟件學(xué)院42一點延伸架構(gòu)要涵蓋的內(nèi)容和決策太多了,超過了人腦“一蹴而就〞的能力范圍,因此采用“分而治之〞的方法從不同視角分別設(shè)計;同時,也為軟件架構(gòu)的理解、交流和歸檔提供了方便。鄭州大學(xué)軟件學(xué)院趙哲一點延伸架構(gòu)要涵蓋的內(nèi)容和決策太多了,超過了人腦“一蹴而就〞434+1視圖模型P32以上5種模型各有所長,將5種模型有機的結(jié)合在一起,形成一個完整的模型來刻畫軟件體系構(gòu)造更為適宜。鄭州大學(xué)軟件學(xué)院趙哲4+1視圖模型P32以上5種模型各有所長,將5種模型有機的444+1模型Kruchten在1995年提出了“4+1〞的視圖模型“4+1〞視圖模型從5個不同的視角包括邏輯視圖、進程視圖、物理視圖、開發(fā)視圖和場景視圖來描述軟件體系構(gòu)造每一個視圖只關(guān)心系統(tǒng)的一個側(cè)面,5個視圖結(jié)合在一起才能反映系統(tǒng)的軟件體系構(gòu)造的全部內(nèi)容。鄭州大學(xué)軟件學(xué)院趙哲4+1模型Kruchten在1995年提出了“4+1〞的視圖454+1視圖模型邏輯視圖進程視圖開發(fā)視圖物理視圖最終用戶:功能需求場景編程人員:軟件管理系統(tǒng)集成人員:性能可擴充性、吞吐量等系統(tǒng)工程人員:系統(tǒng)拓撲、安裝、通信等鄭州大學(xué)軟件學(xué)院趙哲4+1視圖模型邏輯視圖進程視圖開發(fā)視圖物理視圖最終用戶:功能464+1鄭州大學(xué)軟件學(xué)院趙哲4+1鄭州大學(xué)軟件學(xué)院趙哲47邏輯視圖邏輯視圖主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的效勞。在邏輯視圖中,系統(tǒng)分解成一系列的功能抽象可以用來進展功能分析可用作標(biāo)識在整個系統(tǒng)的各個不同局部的通用機制鄭州大學(xué)軟件學(xué)院趙哲邏輯視圖邏輯視圖主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用48邏輯視圖構(gòu)件實例繼承使用包含,聚集關(guān)聯(lián)類層次參數(shù)化類類服務(wù)類連接件鄭州大學(xué)軟件學(xué)院趙哲邏輯視圖構(gòu)件實例繼承使用包含,聚集關(guān)聯(lián)類層次參數(shù)化類類服務(wù)類49連接件關(guān)聯(lián):一個類的存在不是孤立的。與其他類以不同的方式合作,共同完成某些系統(tǒng)功能。有關(guān)某種意義的合作,要由附加在橫線之上的短語來說明。鄭州大學(xué)軟件學(xué)院趙哲連接件關(guān)聯(lián):一個類的存在不是孤立的。與其他類以不同的方式合作50連接件包含:實心圓表示整體,另一端表示局部。實心圓包含另一端。使用:空心圓表示who,另一端表示使用what。繼承:箭頭端表示基類,另一端表示子類。子類指向基類。鄭州大學(xué)軟件學(xué)院趙哲連接件包含:實心圓表示整體,另一端表示局部。實心圓包含另一端51邏輯視圖種要注意的問題保持單一的、內(nèi)聚的對象模型內(nèi)聚模塊內(nèi)部各成分的關(guān)聯(lián)程度對象模型對誰做幾個邏輯上相關(guān)的功能〔或其他方面〕放在同一個模塊中。鄭州大學(xué)軟件學(xué)院趙哲邏輯視圖種要注意的問題保持單一的、內(nèi)聚的對象模型鄭州大學(xué)軟件52ACS體系構(gòu)造邏輯視圖鄭州大學(xué)軟件學(xué)院趙哲ACS體系構(gòu)造邏輯視圖鄭州大學(xué)軟件學(xué)院趙哲53空中交通邏輯視圖鄭州大學(xué)軟件學(xué)院趙哲空中交通邏輯視圖鄭州大學(xué)軟件學(xué)院趙哲54開發(fā)視圖開發(fā)視圖DevelopmentView也稱模塊視圖ModuleView主要側(cè)重軟件模塊的組織和管理,為編程人員效勞。軟件可以通過程序庫或子程序進展組織,這樣就可以由不同的人進展開發(fā)鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖開發(fā)視圖DevelopmentView也稱模塊視圖55開發(fā)視圖開發(fā)視圖要考慮軟件內(nèi)部的需求,如軟件開發(fā)的容易性、軟件的重用和軟件的通用性,要充分考慮由于具體開發(fā)工具的不同而帶來的局限性。開發(fā)視圖通過系統(tǒng)輸入輸出關(guān)系的模型圖和子系統(tǒng)圖來描述。鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖開發(fā)視圖要考慮軟件內(nèi)部的需求,如軟件開發(fā)的容易性、軟56開發(fā)視圖鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖鄭州大學(xué)軟件學(xué)院趙哲57開發(fā)視圖在開發(fā)視圖中,最好采用4-6層子系統(tǒng),而且每個子系統(tǒng)僅僅能與同層或更低層的子系統(tǒng)通訊,這樣可以使每個層次的接口既完備又精練,防止了各個模塊之間很復(fù)雜的依賴關(guān)系。設(shè)計時要充分考慮,對于各個層次,層次越低,通用性越強,這樣,可以保證應(yīng)用程序的需求發(fā)生改變時,所做的改動最小。開發(fā)視圖所用的風(fēng)格通常是層次構(gòu)造風(fēng)格。鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖在開發(fā)視圖中,最好采用4-6層子系統(tǒng),而且每個子系統(tǒng)58開發(fā)視圖鄭州大學(xué)軟件學(xué)院趙哲開發(fā)視圖鄭州大學(xué)軟件學(xué)院趙哲59進程視圖進程視圖側(cè)重于系統(tǒng)的運行特性,主要關(guān)注一些非功能性的需求。系統(tǒng)性能、可用性進程視圖強調(diào)并發(fā)性、分布性、系統(tǒng)集成性和容錯能力,以及從邏輯視圖中的主要抽象如何適合進程構(gòu)造。它也定義邏輯視圖中的各個類的操作具體是在哪一個線程中被執(zhí)行的。鄭州大學(xué)軟件學(xué)院趙哲進程視圖進程視圖側(cè)重于系統(tǒng)的運行特性,主要關(guān)注一些非功能性的60進程視圖設(shè)計:進程視圖可以描述成多層抽象,每個級別分別關(guān)注不同的方面。在最高層抽象中,進程構(gòu)造可以看作是構(gòu)成一個執(zhí)行單元的一組任務(wù)。它可看成一系列獨立的,通過邏輯網(wǎng)絡(luò)相互通信的程序。它們是分布的,通過總線或局域網(wǎng)、廣域網(wǎng)等硬件資源連接起來。鄭州大學(xué)軟件學(xué)院趙哲進程視圖設(shè)計:進程視圖可以描述成多層抽象,每個級別分別關(guān)注不61進程視圖鄭州大學(xué)軟件學(xué)院趙哲進程視圖鄭州大學(xué)軟件學(xué)院趙哲62進程視圖鄭州大學(xué)軟件學(xué)院趙哲進程視圖鄭州大學(xué)軟件學(xué)院趙哲63物理視圖物理視圖PhysicalView主要考慮如何把軟件映射到硬件上通常要考慮到系統(tǒng)性能、規(guī)模、可靠性等鄭州大學(xué)軟件學(xué)院趙哲物理視圖物理視圖PhysicalView主要考慮如何把軟件64物理視圖鄭州大學(xué)軟件學(xué)院趙哲物理視圖

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論