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

下載本文檔

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

文檔簡介

第五章軟件體系結(jié)構(gòu)建模5.1軟件體系結(jié)構(gòu)建模概述5.2“4+1”視圖模型5.3軟件體系結(jié)構(gòu)的核心模型5.4軟件體系結(jié)構(gòu)的生命周期5.5軟件體系結(jié)構(gòu)設(shè)計2023/2/61§5.1軟件體系結(jié)構(gòu)建模概述根據(jù)側(cè)重點不同,可分為5種:1、結(jié)構(gòu)模型以體系結(jié)構(gòu)的構(gòu)件、連接件和其他概念來刻畫結(jié)構(gòu),并力圖通過結(jié)構(gòu)來反映系統(tǒng)的重要語義內(nèi)容,包括系統(tǒng)的配置、約束、隱含的假設(shè)條件、風(fēng)格、性質(zhì)。研究核心是體系結(jié)構(gòu)描述語言(ADL);2、框架模型側(cè)重于整體結(jié)構(gòu),以一些特殊的問題為目標(biāo)建立只針對和適應(yīng)該問題的結(jié)構(gòu);2023/2/623、動態(tài)模型

結(jié)構(gòu)或框架模型的補充,研究系統(tǒng)的"大顆粒"的行為性質(zhì)。例如,描述系統(tǒng)的重新配置或演化。4、過程模型

過程模型研究構(gòu)造系統(tǒng)的步驟和過程,其結(jié)構(gòu)是遵循某些過程腳本的結(jié)果。5、功能模型

將體系結(jié)構(gòu)視為由一組功能構(gòu)件按層次組成,下層向上層提供服務(wù)。一種特殊的框架模型。2023/2/63不同視圖從不同的側(cè)面描述系統(tǒng);使得不同需求的人員能夠得到他們對于軟件體系結(jié)構(gòu)想要了解的東西。邏輯視圖(LogicView);進程視圖(ProcessView);物理視圖(PhysicalView)or部署視圖(DeploymentView);開發(fā)視圖(DevelopmentView)or實現(xiàn)視圖(ImplementationView);場景視圖(Scenarios)or用例視圖(UseCaseView);2023/2/652023/2/665.2.1

邏輯視圖--面向?qū)ο蟮姆纸饷嫦蜃罱K用戶;支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù);從問題域出發(fā),采用面向?qū)ο蟮姆椒?,按照抽象、封裝、繼承的原則,進行分解,得到代表著系統(tǒng)的關(guān)鍵抽象表示的集合;描述方法:RationalRose支持的Booch標(biāo)記法。2023/2/675.2.3

進程視圖面向系統(tǒng)集成人員;考慮是的一些非功能性的需求,側(cè)重于系統(tǒng)的運行特性,主要是關(guān)注一些非功能性的需求,例如系統(tǒng)的性能和可用性。進程視圖可以描述成多層抽象,每級分別關(guān)注不同的方面。2023/2/695.2.4

物理視圖--從軟件到硬件的映射面向系統(tǒng)工程人員;物理視圖主要考慮如何把軟件映射到硬件上,它通??紤]到系統(tǒng)性能、規(guī)模、可靠性等;解決系統(tǒng)拓撲結(jié)構(gòu)、系統(tǒng)安裝、通信等問題;考慮的是非功能性的系統(tǒng)需求,如系統(tǒng)的可用性、可靠性(容錯性)、性能(信息吞吐量)和可擴展性。2023/2/6105.2.5

場景視圖--匯總重要系統(tǒng)活動的抽象,它使4個視圖有機聯(lián)系起來,從某種意義上說場景是最重要的需求抽象;邏輯視圖和開發(fā)視圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),而進程視圖和物理視圖描述系統(tǒng)的動態(tài)結(jié)構(gòu)。

2023/2/611ROSE的視圖用例視圖;邏輯視圖;構(gòu)件視圖;部署視圖;2023/2/613ROSE的標(biāo)記方法Booch標(biāo)記法;面向?qū)ο蠼<夹g(shù)(OMT:ObjectModelingTechnique);統(tǒng)一過程方法(UnifiedProcess);2023/2/6142023/2/6152023/2/617§5.3軟件體系結(jié)構(gòu)的核心模型2023/2/618體系結(jié)構(gòu)的核心模型由五種元素組成:構(gòu)件、連接件、配置、端口和角色;構(gòu)件是具有某種功能的可重用的軟件單元,表示了系統(tǒng)中主要的計算元素和數(shù)據(jù)存儲,在體系結(jié)構(gòu)中,一個構(gòu)件可能小到一個過程或大到整個應(yīng)用程序,它包括了多種屬性,如接口、類型、語義、約束、演化和非功能屬性等。接口是構(gòu)件與外部世界的一組交互點。ADL中的構(gòu)件接口說明了構(gòu)件提供的那些服務(wù)(消息、操作、變量),是由一組端口組成,每個端口表示了構(gòu)件和外部環(huán)境的交互點通過不同的端口類型,一個構(gòu)件可以提供多重接口。類型是實現(xiàn)構(gòu)件重用的手段,保證了構(gòu)件能夠在體系結(jié)構(gòu)描述中的多次實例化,并且每個實例可以對應(yīng)于構(gòu)件的不同實現(xiàn)。連接件是用來建立構(gòu)件間的交互以及支配這些交互規(guī)則的體系結(jié)構(gòu)構(gòu)造模塊。與構(gòu)件不同,連接件可以不與實現(xiàn)系統(tǒng)中的編譯單元對應(yīng)。他們可以是消息路由設(shè)備實現(xiàn),也可以是共享變量、表入口、客戶服務(wù)協(xié)議、管道、過程調(diào)用、應(yīng)用程序中的SQL語句等;配置是描述體系結(jié)構(gòu)的構(gòu)件與連接件的連接圖,是提供信息來確定構(gòu)件是否正確連接、接口是否匹配,連接件構(gòu)成的通信是否正確,并說明實現(xiàn)要求行為的組合語義2023/2/619軟件系統(tǒng)實現(xiàn)各個階段:1、需求分析階段任務(wù):根據(jù)需求,決定系統(tǒng)功能;特點:一個抽象思維、邏輯推理的過程;過程:需求獲取、生成類圖、對類分組、把類打包成構(gòu)件,需求評審;結(jié)果:軟件規(guī)格說明。2023/2/6212、建立軟件體系結(jié)構(gòu)階段特點:從結(jié)構(gòu)的角度對整個系統(tǒng)進行分析;任務(wù)和過程:選擇體系結(jié)構(gòu)風(fēng)格、將構(gòu)件映射到體系結(jié)構(gòu)中,選擇恰當(dāng)?shù)臉?gòu)件、構(gòu)件間的相互作用關(guān)系、以及對它們的約束;結(jié)果:形成一個系統(tǒng)框架,為設(shè)計奠定基礎(chǔ)。3、設(shè)計階段對系統(tǒng)進行模塊化,決定描述各個構(gòu)件間的詳細接口、算法和數(shù)據(jù)結(jié)構(gòu)的選定;獨立于系統(tǒng)開發(fā)的外部人員對體系結(jié)構(gòu)進行評審。2023/2/6224、實現(xiàn)階段將設(shè)計階段的算法和數(shù)據(jù)結(jié)構(gòu)用程序語言表示,滿足設(shè)計體系結(jié)構(gòu)和需求分析的要求;每個構(gòu)件必須滿足軟件體系結(jié)構(gòu)中說明的對其他構(gòu)件的責(zé)任;通過組裝支持工具把構(gòu)件的實現(xiàn)體組裝起來,完成整個系統(tǒng)的連接與合成。5、測試階段單個構(gòu)件的功能性測試和整個系統(tǒng)的功能和性能測試。2023/2/623軟件體系結(jié)構(gòu)的生命周期模型2023/2/625§5.5

軟件體系結(jié)構(gòu)設(shè)計體系結(jié)構(gòu)的設(shè)計應(yīng)支持對軟件質(zhì)量的需求,如健壯性、適應(yīng)性、可重用性和可維護性等。體系結(jié)構(gòu)決定了早期的設(shè)計決定,體現(xiàn)了系統(tǒng)的全局結(jié)構(gòu)、對整個系統(tǒng)的質(zhì)量有著決定性的影響。5.5.1體系結(jié)構(gòu)設(shè)計方法的元模型元模型是對各種體系結(jié)構(gòu)設(shè)計模型的抽象;元模型是各種設(shè)計方法的抽象,用于比較和分析各種體系結(jié)構(gòu)設(shè)計方法;2023/2/626領(lǐng)域知識:解決某一問題所應(yīng)用的知識的范圍,包括問題領(lǐng)域知識、商業(yè)領(lǐng)域知識、解決方案領(lǐng)域知識、通用知識,等等;需求規(guī)格說明:表示規(guī)格說明,描述了所要開發(fā)的體系結(jié)構(gòu)的系統(tǒng)需求;解決方案抽象:定義了體系結(jié)構(gòu)中子結(jié)構(gòu)的概念表示;體系結(jié)構(gòu)描述:定義了軟件體系結(jié)構(gòu)的規(guī)格說明。2023/2/6272、用例驅(qū)動的體系結(jié)構(gòu)設(shè)計從用例導(dǎo)出體系結(jié)構(gòu)抽象;一個用例是指系統(tǒng)進行的一個活動序列,它為參與者提供一些結(jié)果值;參與者通過用例使用系統(tǒng);用例模型作為系統(tǒng)預(yù)期功能及其環(huán)境的模型,在客戶和開發(fā)者之間起到合約的作用;統(tǒng)一過程(UnifiedProcess)使用用例驅(qū)動的體系結(jié)構(gòu)設(shè)計方法;問題:難以把握域模型和商業(yè)模型的細節(jié);包的語義簡單,難以形成體系結(jié)構(gòu)構(gòu)件。2023/2/6293、領(lǐng)域驅(qū)動的體系結(jié)構(gòu)設(shè)計從領(lǐng)域模型導(dǎo)出體系結(jié)構(gòu)抽象;領(lǐng)域模型可有不同的表示方法:如類、實體關(guān)系圖、框架、語義網(wǎng)絡(luò)、規(guī)則,等等;問題:問題領(lǐng)域分析在導(dǎo)出體系結(jié)構(gòu)抽象方面效果較差,領(lǐng)域分析不足以驅(qū)動體系結(jié)構(gòu)設(shè)計過程。2023/2/630特定領(lǐng)域的軟件體系結(jié)構(gòu)設(shè)計DSSA(DomainSpecificSoftwareArchitecture);從領(lǐng)域分析階段開始,面向一組有共同問題和功能的應(yīng)用程序。參考需求包括功能需求、非功能需求、設(shè)計需求、實現(xiàn)需求;參考體系結(jié)構(gòu)是用于一個應(yīng)用系統(tǒng)族的體系結(jié)構(gòu),應(yīng)用體系結(jié)構(gòu)是用于一個單一應(yīng)用系統(tǒng)的體系結(jié)構(gòu)。2023/2/6314、模式驅(qū)動的體系結(jié)構(gòu)設(shè)計軟件設(shè)計模式的目的在于編制一套可重用的基本原則,用于開發(fā)高質(zhì)量的軟件系統(tǒng);意圖:表示使用模式的基本原則;上下文:表示問題的產(chǎn)生環(huán)境;問題:表示上下文環(huán)境中經(jīng)常出現(xiàn)的問題;解決方案:以元素及其關(guān)系的抽象描述的形式來表示對問題的解決方案。2023/2/6325.5.3

軟件體系結(jié)構(gòu)設(shè)計基本原理一些最重要的支撐軟件體系結(jié)構(gòu)的原則:抽象Abstraction封裝Encapsulation信息隱藏InformationHiding模塊化Modularization注意點分離SeparationofConcerns內(nèi)聚與耦合Cohesion

andCoupling充分性、完備性與原子性Sufficiency,Completeness&Primitiveness策略與實現(xiàn)的分離SeparationofPolicy&Implementation界面與實現(xiàn)的分離SeparationofInterface&Implementation分治Divide-and-Conquer層次化Layering2023/2/633用語言支撐開發(fā)需求描述語言構(gòu)件描述語言模式描述語言框架描述語言構(gòu)件編程語言過程控制和系統(tǒng)集成語言2023/2/634系統(tǒng)開發(fā)的集成平臺各種支撐語言、制作構(gòu)件。制作界面和I/O。構(gòu)件管理和查詢。實例生成和系統(tǒng)集成。2023/2/635模型表示方式模型分為四個部分描述:

1.組織描述系統(tǒng)的組織機構(gòu),有那些崗位及上下級關(guān)系;2.角色的責(zé)職功能描述各崗位上的責(zé)職,用IPO方式描述--即輸入、處理和輸出:3.數(shù)據(jù)各單據(jù)、文檔等;4.過程(活動)處理各事務(wù)的流程,實際上這部分是冗佘信息,可作一致性和完備性檢查用。仿真客觀世界形成客觀系統(tǒng)。2023/2/636組織客觀系統(tǒng)設(shè)置那些崗位,以及這些崗位之間的關(guān)系,即客觀系統(tǒng)中的體系結(jié)構(gòu),而通常這是一種層次結(jié)構(gòu),如:總經(jīng)理下級有秘書和若干個副經(jīng)理,它們又分管若干部門,每個部門中有一負責(zé)人,并設(shè)立若干崗位,他們之間有上下級關(guān)系,每個崗位又稱為角色。2023/2/637角色每個角色要給以名稱,即標(biāo)志符。角色是要執(zhí)行一列動作的。同時要給文檔或文件進行記錄。角色是系統(tǒng)中承擔(dān)動作的人員、組織、設(shè)備。角色是作為獨立成份看待。大角色,有自己的文檔,與對外聯(lián)系關(guān)系。但他又可以分成若干小角色,大角色的引入是為建立層次的分解,小角色是真正系統(tǒng)中有實質(zhì)性的作用。2023/2/638角色必須與系統(tǒng)的目標(biāo)有關(guān),如銀行中的警衛(wèi)員與銀行付款系統(tǒng)無直接關(guān)健,不能作角色。角色是客觀系統(tǒng)中概念,不是軟件系統(tǒng)中概念,也不是現(xiàn)實系統(tǒng)中概念。角色又分為二種,主角和配角,主角是系統(tǒng)主要完成某些功能而執(zhí)行一系列動作,配角僅是起到觸發(fā)系統(tǒng)工作的。2023/2/639角色的各種活動的動作序列每個崗位上要負責(zé)幾件事,做每個事稱為活動,每個活動是通過一系列動作完成。每個動作將如何記錄文檔,何時與其他角色進行聯(lián)系。角色間的聯(lián)系是一種通信聯(lián)系,要給出聯(lián)系的方式,如請求其他角色給以服務(wù),即一種同步通信?;蛲ㄖ渌巧寻l(fā)生了某事件,即異步通信。2023/2/640主角需完成某些活動,而配角沒有活動,而只向某主角發(fā)送一個事件,配角之間的聯(lián)系對客觀系統(tǒng)是無意義的,而主角與主角間存在著緊密的聯(lián)系。一個主角可以有承擔(dān)多個活動,如收發(fā)人員承擔(dān)收信、發(fā)信、訂閱雜志、接待訪問者,如外事人員,可承擔(dān)外事活動,代辦出國手續(xù)等,2023/2/641這些動作是要順序執(zhí)行,有些動作可以并行執(zhí)行或重復(fù)執(zhí)行,分別要給出標(biāo)志用圖形描述較為直觀。每個動作通常是動作又分為二種,通信及IPO:對文檔的輸入、處理、輸出操作;通信可以是發(fā)送或接受某個服務(wù)或事件。2023/2/642ARIS角色法需求建模該方法是面向企業(yè)領(lǐng)導(dǎo)的企業(yè)功能模型,它不僅是為軟件開發(fā)用,也可用于企業(yè)診斷和改革用,現(xiàn)已有幾百類企業(yè)的參考模型銷售模型,每個約五萬美元以上。已成為國際上名牌產(chǎn)品。用于開發(fā)時,需要依此建立邏輯模型。2023/2/643基于業(yè)務(wù)過程的ARIS方法ARIS體系結(jié)構(gòu)ARIS――集成信息系統(tǒng)結(jié)構(gòu)ARIS是TheArchitectureofIntegratedInformationSystems的縮寫,是由謝爾教授發(fā)展起來的一種信息集成系統(tǒng)體系結(jié)構(gòu),其目的是為了尋求一種能夠用來縮小企業(yè)與信息技術(shù)之間差距的應(yīng)用框架,提供一種能夠?qū)I(yè)務(wù)流程概念進行準(zhǔn)確描述和詳細分析的方法,這種方法為企業(yè)信息系統(tǒng)的發(fā)展提供了一個起點2023/2/645蘇東坡的《題西林壁》中描述廬山是“橫看成嶺側(cè)成峰”,其實換個角度來講,就是因為對于相同或不同的人在相同或不同的角度觀察事物,在大腦中構(gòu)建出來的模型是不一樣的。同樣對于企業(yè)而言,從不同的角度去考慮、去觀察所看到的結(jié)構(gòu)也是不一樣的。歸結(jié)到模型上,也就是同一個企業(yè)可以建出許許多多的模型,管理有管理的模型,業(yè)務(wù)有業(yè)務(wù)的模型,而信息系統(tǒng)也有它的模型,各個模型反映著企業(yè)的某個方面。當(dāng)我們對一個事物進行觀察,我們總是帶著特定的目的,而那個事物在那個目的下它只會呈現(xiàn)出一種或兩種樣子,這一種或兩種樣子傳遞了事物的部分信息,當(dāng)然如果要將一個事物完整的反映出來只靠這一兩個樣子顯然是不夠的。當(dāng)我們回到業(yè)務(wù)流程建模上來時,對一個企業(yè)的業(yè)務(wù)流程進行建模,我們顯然不可能依靠一個大的、單獨的模型來反映整個企業(yè)。我們所要做的是構(gòu)建出一系列相對較小,容易理解的,從各個特定方面反映企業(yè)業(yè)務(wù)流程的模型,然后再將它們通過某種方式結(jié)合起來形成一個完整的模型。這也是ARIS建模體系所使用的途徑。在ARIS中有各種各樣的模型,每一個模型包含有一系列的項目(對象)和連接(關(guān)系),而且在一個模型中出現(xiàn)的對象也可能同時會在其他的模型出現(xiàn)。ARIS體系結(jié)構(gòu)

2023/2/646ARIS將對象和關(guān)系通過四種視圖進行分類和組織

組織視圖:組織結(jié)構(gòu)的靜態(tài)模型。包括:層次組織結(jié)構(gòu)的人員(peoplenothuman)資源,生產(chǎn)資源(比如,設(shè)備,運輸?shù)?以及計算機、通信網(wǎng)絡(luò)結(jié)構(gòu)等。數(shù)據(jù)視圖:業(yè)務(wù)信息的靜態(tài)模型。包括:數(shù)據(jù)模型,知識結(jié)構(gòu),信息載體,技術(shù)術(shù)語和數(shù)據(jù)庫模型等。功能視圖:業(yè)務(wù)流程任務(wù)的靜態(tài)模型。包括:功能層次,業(yè)務(wù)對象,支持系統(tǒng)和應(yīng)用軟件等??刂疲I(yè)務(wù))視圖:動態(tài)模型,展示流程運轉(zhuǎn)情況,并能夠?qū)I(yè)務(wù)流程與流程相關(guān)的資源、數(shù)據(jù)以及功能等聯(lián)系起來。包括:事件驅(qū)動過程鏈、信息流、物流、通信圖、產(chǎn)品定義、價值增值圖等。2023/2/647ARIS-業(yè)務(wù)過程管理build-time-configurationIV.過程應(yīng)用III.過程流I.過程設(shè)計業(yè)務(wù)過程重組參考模型II.過程管理對象庫標(biāo)準(zhǔn)軟件internetJava的程序數(shù)據(jù)庫仿真質(zhì)量管理建模分析導(dǎo)航模塊

Internet文件夾執(zhí)行信息系統(tǒng)控制監(jiān)控進度和能力控制過程連續(xù)改善打開功能打開文檔打開數(shù)據(jù)?Scheer2023/2/648ARIS方法

我們?yōu)槭裁葱枰髽I(yè)過程模型?標(biāo)準(zhǔn)軟件的介紹建立客觀系統(tǒng)

(軟件的開發(fā))業(yè)務(wù)工程成本核算工作流系統(tǒng)的實施ISO9000質(zhì)量論證(標(biāo)準(zhǔn)軟件客戶化)模型-今天(現(xiàn)狀)-明天(目標(biāo))ARI

溫馨提示

  • 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

提交評論