版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022-2-201第五章 軟件體系結(jié)構(gòu)建模5.1 軟件體系結(jié)構(gòu)建模概述5.2 “41”視圖模型5.3 軟件體系結(jié)構(gòu)的核心模型5.4 軟件體系結(jié)構(gòu)的生命周期5.5 軟件體系結(jié)構(gòu)設(shè)計(jì)2022-2-2025.1 軟件體系結(jié)構(gòu)建模概述根據(jù)側(cè)重點(diǎn)不同,可分為5種:1、結(jié)構(gòu)模型以體系結(jié)構(gòu)的構(gòu)件、連接件和其他概念來(lái)刻畫(huà)結(jié)以體系結(jié)構(gòu)的構(gòu)件、連接件和其他概念來(lái)刻畫(huà)結(jié)構(gòu),并力圖通過(guò)結(jié)構(gòu)來(lái)反映系統(tǒng)的重要語(yǔ)義內(nèi)容,構(gòu),并力圖通過(guò)結(jié)構(gòu)來(lái)反映系統(tǒng)的重要語(yǔ)義內(nèi)容,包括系統(tǒng)的配置、約束、隱含的假設(shè)條件、風(fēng)格、包括系統(tǒng)的配置、約束、隱含的假設(shè)條件、風(fēng)格、性質(zhì)。研究核心是體系結(jié)構(gòu)描述語(yǔ)言性質(zhì)。研究核心是體系結(jié)構(gòu)描述語(yǔ)言(ADL
2、);2、框架模型側(cè)重于整體結(jié)構(gòu),側(cè)重于整體結(jié)構(gòu),以一些特殊的問(wèn)題為目標(biāo)建立以一些特殊的問(wèn)題為目標(biāo)建立只針對(duì)和適應(yīng)該問(wèn)題的結(jié)構(gòu);只針對(duì)和適應(yīng)該問(wèn)題的結(jié)構(gòu);2022-2-2033、動(dòng)態(tài)模型結(jié)構(gòu)或框架模型的補(bǔ)充,研究系統(tǒng)的結(jié)構(gòu)或框架模型的補(bǔ)充,研究系統(tǒng)的 大顆粒大顆粒 的的行為性質(zhì)。例如,描述系統(tǒng)的重新配置或演化。行為性質(zhì)。例如,描述系統(tǒng)的重新配置或演化。4、過(guò)程模型過(guò)程模型研究構(gòu)造系統(tǒng)的步驟和過(guò)程,其結(jié)構(gòu)是過(guò)程模型研究構(gòu)造系統(tǒng)的步驟和過(guò)程,其結(jié)構(gòu)是遵循某些過(guò)程腳本的結(jié)果。遵循某些過(guò)程腳本的結(jié)果。5、功能模型將體系結(jié)構(gòu)視為由一組功能構(gòu)件按層次組成,下將體系結(jié)構(gòu)視為由一組功能構(gòu)件按層次組成,下層向上層
3、提供服務(wù)。一種特殊的框架模型。層向上層提供服務(wù)。一種特殊的框架模型。2022-2-2045.2 “41”視圖模型Rational公司的公司的Kruchten在在1995年提出年提出“41”視圖模型:Philippe Kruchten. Philippe Kruchten. Architectural BlueprintsThe 4+1 view model of architecture, IEEE IEEE Software, 1995, 12(6)Software, 1995, 12(6): 4250.: 4250. ABSTRACT:The 4 + 1 View Model descri
4、bes software architecture using five concurrent views, each of which addresses a specific set of concerns: The logical view describes the designs object model, the process view describes the designs concurrency and synchronization aspects; 2022-2-205不同視圖從不同的不同視圖從不同的側(cè)面描述系統(tǒng);使得不同需求的描述系統(tǒng);使得不同需求的人員能夠得到他們
5、對(duì)于軟件體系結(jié)構(gòu)想要了解的東能夠得到他們對(duì)于軟件體系結(jié)構(gòu)想要了解的東西。西。邏輯視圖(Logic View);進(jìn)程視圖(Process View);物理視圖(Physical View) or 部署視圖(Deployment View);開(kāi)發(fā)視圖(Development View) or 實(shí)現(xiàn)視圖(Implementation View);場(chǎng)景視圖(Scenarios) or 用例視圖(Use Case View);2022-2-2062022-2-2075.2.1 邏輯視圖邏輯視圖面向?qū)ο蟮姆纸饷嫦驅(qū)ο蟮姆纸饷嫦蛎嫦蜃罱K用戶;支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的支持系統(tǒng)的功能需求,即系
6、統(tǒng)提供給最終用戶的服務(wù);服務(wù);從問(wèn)題域出發(fā),采用面向?qū)ο蟮姆椒?,按照抽象從?wèn)題域出發(fā),采用面向?qū)ο蟮姆椒?,按照抽象、封裝、繼承的原則,進(jìn)行分解,得到代表著系、封裝、繼承的原則,進(jìn)行分解,得到代表著系統(tǒng)的關(guān)鍵抽象表示的集合;統(tǒng)的關(guān)鍵抽象表示的集合;描述方法:描述方法:Rational Rose支持的支持的Booch標(biāo)記法。標(biāo)記法。2022-2-2082022-2-2092022-2-20105.2.2 開(kāi)發(fā)視圖開(kāi)發(fā)視圖子系統(tǒng)分解子系統(tǒng)分解又稱(chēng)為又稱(chēng)為模塊視圖(Module View),面向,面向編程人員;主要側(cè)重于軟件模塊的組織和管理,關(guān)注的是在軟件開(kāi)發(fā)主要側(cè)重于軟件模塊的組織和管理,關(guān)注的是在
7、軟件開(kāi)發(fā)環(huán)境中軟件模塊的實(shí)際組織;環(huán)境中軟件模塊的實(shí)際組織;開(kāi)發(fā)視圖通過(guò)系統(tǒng)輸入輸出關(guān)系的模型圖和子系統(tǒng)圖來(lái)描開(kāi)發(fā)視圖通過(guò)系統(tǒng)輸入輸出關(guān)系的模型圖和子系統(tǒng)圖來(lái)描述;述;采用分層風(fēng)格采用分層風(fēng)格(46層層),每一層有明確的定義,只能依賴,每一層有明確的定義,只能依賴于本層或其下層的子系統(tǒng);于本層或其下層的子系統(tǒng);描述方法:描述方法:Rational Rose支持的支持的Booch標(biāo)記法。標(biāo)記法。2022-2-20115 5.2.3 進(jìn)程視圖進(jìn)程視圖面向面向系統(tǒng)集成人員;考慮是的一些非功能性的需求,側(cè)重于系統(tǒng)的運(yùn)行考慮是的一些非功能性的需求,側(cè)重于系統(tǒng)的運(yùn)行特性,主要是關(guān)注一些非功能性的需求,例如
8、系統(tǒng)特性,主要是關(guān)注一些非功能性的需求,例如系統(tǒng)的性能和可用性。的性能和可用性。進(jìn)程視圖可以描述成多層抽象,每級(jí)分別關(guān)注不同進(jìn)程視圖可以描述成多層抽象,每級(jí)分別關(guān)注不同的方面。的方面。2022-2-20125.2.4 物理視圖物理視圖從軟件到硬件的映射從軟件到硬件的映射面向面向系統(tǒng)工程人員;物理視圖主要考慮如何把軟件映射到硬件上,它通物理視圖主要考慮如何把軟件映射到硬件上,它通??紤]到系統(tǒng)性能、規(guī)模、可靠性等;??紤]到系統(tǒng)性能、規(guī)模、可靠性等;解決系統(tǒng)拓?fù)浣Y(jié)構(gòu)、系統(tǒng)安裝、通信等問(wèn)題;解決系統(tǒng)拓?fù)浣Y(jié)構(gòu)、系統(tǒng)安裝、通信等問(wèn)題;考慮的是非功能性的系統(tǒng)需求,如系統(tǒng)的可用性、考慮的是非功能性的系統(tǒng)需求,
9、如系統(tǒng)的可用性、可靠性可靠性(容錯(cuò)性容錯(cuò)性)、性能、性能(信息吞吐量信息吞吐量)和可擴(kuò)展性。和可擴(kuò)展性。2022-2-20135 5.2.5 場(chǎng)景視圖場(chǎng)景視圖匯總匯總重要系統(tǒng)活動(dòng)的抽象,它使重要系統(tǒng)活動(dòng)的抽象,它使4個(gè)視圖有機(jī)聯(lián)系起來(lái)個(gè)視圖有機(jī)聯(lián)系起來(lái),從某種意義上說(shuō)場(chǎng)景是最重要的需求抽象;,從某種意義上說(shuō)場(chǎng)景是最重要的需求抽象;邏輯視圖和和開(kāi)發(fā)視圖描述系統(tǒng)的描述系統(tǒng)的靜態(tài)結(jié)構(gòu),而結(jié)構(gòu),而進(jìn)程視圖和和物理視圖描述系統(tǒng)的描述系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)。結(jié)構(gòu)。2022-2-20142022-2-2015知識(shí)庫(kù)系統(tǒng)管理應(yīng)用場(chǎng)景 2022-2-2016知識(shí)庫(kù)系統(tǒng)服務(wù)體系場(chǎng)景 2022-2-20175.2.5 模型
10、描述模型描述可視化的建模工具ROSEROSEROSE是是Rational Rational 公司開(kāi)發(fā)的一種公司開(kāi)發(fā)的一種CASECASE工具;工具;用用UMLUML語(yǔ)言支持軟件開(kāi)發(fā)的大部分過(guò)程的建模,語(yǔ)言支持軟件開(kāi)發(fā)的大部分過(guò)程的建模,描述軟件各部分,為軟件建立一個(gè)面向?qū)ο蟮拿枋鲕浖鞑糠?,為軟件建立一個(gè)面向?qū)ο蟮哪P停P停?可自動(dòng)生成應(yīng)用系統(tǒng)需要的部分源代碼可自動(dòng)生成應(yīng)用系統(tǒng)需要的部分源代碼;系統(tǒng)具有面向?qū)ο蟮闹T多優(yōu)點(diǎn)系統(tǒng)具有面向?qū)ο蟮闹T多優(yōu)點(diǎn)( (如模型穩(wěn)定性、如模型穩(wěn)定性、重用性,等等重用性,等等) ),降低軟件維護(hù)和升級(jí)的成本。,降低軟件維護(hù)和升級(jí)的成本。2022-2-2018ROS
11、E的視圖用例視圖;用例視圖;邏輯視圖;邏輯視圖;構(gòu)件視圖;構(gòu)件視圖;部署視圖;部署視圖;2022-2-2019ROSE的標(biāo)記方法BoochBooch標(biāo)記法;標(biāo)記法;面向?qū)ο蠼<夹g(shù)面向?qū)ο蠼<夹g(shù)( OMT: ( OMT: Object Modeling TechniqueObject Modeling Technique) );統(tǒng)一過(guò)程方法統(tǒng)一過(guò)程方法(Unified (Unified Process)Process);2022-2-20202022-2-20212022-2-20222022-2-20235.3 軟件體系結(jié)構(gòu)的核心模型軟件體系結(jié)構(gòu)的核心模型體系結(jié)構(gòu)的核心模型由五種元素組成:
12、體系結(jié)構(gòu)的核心模型由五種元素組成:構(gòu)件、連接件、配置、端口和角色;構(gòu)件是具有某種功能的可重用的軟件單元,表示了是具有某種功能的可重用的軟件單元,表示了系統(tǒng)中主要的計(jì)算元素和數(shù)據(jù)存儲(chǔ),分為復(fù)合構(gòu)件系統(tǒng)中主要的計(jì)算元素和數(shù)據(jù)存儲(chǔ),分為復(fù)合構(gòu)件和原子原件;和原子原件;連接件表示了構(gòu)件之間的交互,如管道、過(guò)程調(diào)用表示了構(gòu)件之間的交互,如管道、過(guò)程調(diào)用、事件廣播,復(fù)雜的通信協(xié)議、事件廣播,復(fù)雜的通信協(xié)議、SQL連接,等等;連接,等等;配置表示了構(gòu)件和連接件的表示了構(gòu)件和連接件的拓?fù)溥壿嫼秃图s束。2022-2-20242022-2-20255.4 軟件體系結(jié)構(gòu)的生命周期軟件體系結(jié)構(gòu)的生命周期傳統(tǒng)的軟件開(kāi)發(fā)
13、過(guò)程可以劃分為從傳統(tǒng)的軟件開(kāi)發(fā)過(guò)程可以劃分為從概念直到直到實(shí)現(xiàn)的若干階段,包括的若干階段,包括問(wèn)題定義、需求分析、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)及及軟件測(cè)試;軟件體系結(jié)構(gòu)的建立應(yīng)位于軟件體系結(jié)構(gòu)的建立應(yīng)位于需求分析之后,之后,軟件設(shè)計(jì)之前;之前;軟件體系結(jié)構(gòu)在系統(tǒng)開(kāi)發(fā)的全過(guò)程中起著基礎(chǔ)的軟件體系結(jié)構(gòu)在系統(tǒng)開(kāi)發(fā)的全過(guò)程中起著基礎(chǔ)的作用,是設(shè)計(jì)的起點(diǎn)和依據(jù),也是系統(tǒng)裝配和維作用,是設(shè)計(jì)的起點(diǎn)和依據(jù),也是系統(tǒng)裝配和維護(hù)的指南。護(hù)的指南。2022-2-2026軟件系統(tǒng)實(shí)現(xiàn)各個(gè)階段:1、需求分析階段任務(wù):根據(jù)需求,決定系統(tǒng)功能;任務(wù):根據(jù)需求,決定系統(tǒng)功能;特點(diǎn):一個(gè)抽象思維、邏輯推理的過(guò)程;特點(diǎn):一個(gè)抽象思維、邏
14、輯推理的過(guò)程;過(guò)程:需求獲取、生成類(lèi)圖、對(duì)類(lèi)分組、把過(guò)程:需求獲取、生成類(lèi)圖、對(duì)類(lèi)分組、把類(lèi)打包成構(gòu)件,需求評(píng)審;類(lèi)打包成構(gòu)件,需求評(píng)審;結(jié)果:軟件規(guī)格說(shuō)明。結(jié)果:軟件規(guī)格說(shuō)明。2022-2-20272、建立軟件體系結(jié)構(gòu)階段特點(diǎn):從結(jié)構(gòu)的角度對(duì)整個(gè)系統(tǒng)進(jìn)行分析;特點(diǎn):從結(jié)構(gòu)的角度對(duì)整個(gè)系統(tǒng)進(jìn)行分析;任務(wù)和過(guò)程:選擇體系結(jié)構(gòu)風(fēng)格、將構(gòu)件映射到體系任務(wù)和過(guò)程:選擇體系結(jié)構(gòu)風(fēng)格、將構(gòu)件映射到體系結(jié)構(gòu)中,選擇恰當(dāng)?shù)臉?gòu)件、構(gòu)件間的相互作用關(guān)系、結(jié)構(gòu)中,選擇恰當(dāng)?shù)臉?gòu)件、構(gòu)件間的相互作用關(guān)系、以及對(duì)它們的約束;以及對(duì)它們的約束;結(jié)果:形成一個(gè)系統(tǒng)框架,為設(shè)計(jì)奠定基礎(chǔ)。結(jié)果:形成一個(gè)系統(tǒng)框架,為設(shè)計(jì)奠定基礎(chǔ)。
15、3、設(shè)計(jì)階段對(duì)系統(tǒng)進(jìn)行模塊化,決定描述各個(gè)構(gòu)件間的詳細(xì)接口對(duì)系統(tǒng)進(jìn)行模塊化,決定描述各個(gè)構(gòu)件間的詳細(xì)接口、算法和數(shù)據(jù)結(jié)構(gòu)的選定;、算法和數(shù)據(jù)結(jié)構(gòu)的選定;獨(dú)立于系統(tǒng)開(kāi)發(fā)的外部人員對(duì)體系結(jié)構(gòu)進(jìn)行評(píng)審。獨(dú)立于系統(tǒng)開(kāi)發(fā)的外部人員對(duì)體系結(jié)構(gòu)進(jìn)行評(píng)審。2022-2-20284、實(shí)現(xiàn)階段將設(shè)計(jì)階段的算法和數(shù)據(jù)結(jié)構(gòu)用程序語(yǔ)言表將設(shè)計(jì)階段的算法和數(shù)據(jù)結(jié)構(gòu)用程序語(yǔ)言表示,滿足設(shè)計(jì)體系結(jié)構(gòu)和需求分析的要求;示,滿足設(shè)計(jì)體系結(jié)構(gòu)和需求分析的要求;每個(gè)構(gòu)件必須滿足軟件體系結(jié)構(gòu)中說(shuō)明的對(duì)每個(gè)構(gòu)件必須滿足軟件體系結(jié)構(gòu)中說(shuō)明的對(duì)其他構(gòu)件的責(zé)任;其他構(gòu)件的責(zé)任;通過(guò)組裝支持工具把構(gòu)件的實(shí)現(xiàn)體組裝起來(lái)通過(guò)組裝支持工具把構(gòu)件的實(shí)現(xiàn)
16、體組裝起來(lái),完成整個(gè)系統(tǒng)的連接與合成。,完成整個(gè)系統(tǒng)的連接與合成。5、測(cè)試階段單個(gè)構(gòu)件的功能性測(cè)試和整個(gè)系統(tǒng)的功能和單個(gè)構(gòu)件的功能性測(cè)試和整個(gè)系統(tǒng)的功能和性能測(cè)試。性能測(cè)試。2022-2-2029軟件體系結(jié)構(gòu)的生命周期階段:1、軟件體系結(jié)構(gòu)的非形式化描述、軟件體系結(jié)構(gòu)的非形式化描述2、軟件體系結(jié)構(gòu)的規(guī)范描述和分析、軟件體系結(jié)構(gòu)的規(guī)范描述和分析3、軟件體系結(jié)構(gòu)的求精及其驗(yàn)證、軟件體系結(jié)構(gòu)的求精及其驗(yàn)證4、軟件體系結(jié)構(gòu)的實(shí)施、軟件體系結(jié)構(gòu)的實(shí)施5、軟件體系結(jié)構(gòu)的演化和擴(kuò)展、軟件體系結(jié)構(gòu)的演化和擴(kuò)展6、軟件體系結(jié)構(gòu)的提供、評(píng)價(jià)和度量、軟件體系結(jié)構(gòu)的提供、評(píng)價(jià)和度量7、軟件體系結(jié)構(gòu)的終結(jié)、軟件體系結(jié)構(gòu)
17、的終結(jié)2022-2-2030軟件體系結(jié)構(gòu)的生命周期模型軟件體系結(jié)構(gòu)的生命周期模型2022-2-20315.5 軟件體系結(jié)構(gòu)設(shè)計(jì)軟件體系結(jié)構(gòu)設(shè)計(jì) 體系結(jié)構(gòu)的設(shè)計(jì)應(yīng)支持對(duì)體系結(jié)構(gòu)的設(shè)計(jì)應(yīng)支持對(duì)軟件質(zhì)量的需求,如的需求,如健壯性、適應(yīng)性、可重用性和可維護(hù)性,等等。體系結(jié)健壯性、適應(yīng)性、可重用性和可維護(hù)性,等等。體系結(jié)構(gòu)決定了早期的設(shè)計(jì)決定,體現(xiàn)了系統(tǒng)的全局結(jié)構(gòu)、對(duì)構(gòu)決定了早期的設(shè)計(jì)決定,體現(xiàn)了系統(tǒng)的全局結(jié)構(gòu)、對(duì)整個(gè)系統(tǒng)的質(zhì)量有著決定性的影響。整個(gè)系統(tǒng)的質(zhì)量有著決定性的影響。5.5.1 體系結(jié)構(gòu)設(shè)計(jì)方法的元模型元模型是對(duì)各種體系結(jié)構(gòu)設(shè)計(jì)模型的抽象;是對(duì)各種體系結(jié)構(gòu)設(shè)計(jì)模型的抽象;元模型是各種設(shè)計(jì)方法的
18、抽象,用于比較和分析是各種設(shè)計(jì)方法的抽象,用于比較和分析各種體系結(jié)構(gòu)設(shè)計(jì)方法;各種體系結(jié)構(gòu)設(shè)計(jì)方法;2022-2-2032領(lǐng)域知識(shí):解決某一問(wèn)題所應(yīng)用的知識(shí)的范圍,包括問(wèn)解決某一問(wèn)題所應(yīng)用的知識(shí)的范圍,包括問(wèn)題領(lǐng)域知識(shí)、商業(yè)領(lǐng)域知識(shí)、解決方案領(lǐng)域知識(shí)、通用題領(lǐng)域知識(shí)、商業(yè)領(lǐng)域知識(shí)、解決方案領(lǐng)域知識(shí)、通用知識(shí),等等;知識(shí),等等;需求規(guī)格說(shuō)明:表示規(guī)格說(shuō)明,描述了所要開(kāi)發(fā)的體系表示規(guī)格說(shuō)明,描述了所要開(kāi)發(fā)的體系結(jié)構(gòu)的系統(tǒng)需求;結(jié)構(gòu)的系統(tǒng)需求;解決方案抽象:定義了體系結(jié)構(gòu)中子結(jié)構(gòu)的概念表示;定義了體系結(jié)構(gòu)中子結(jié)構(gòu)的概念表示;體系結(jié)構(gòu)描述:定義了軟件體系結(jié)構(gòu)的規(guī)格說(shuō)明。定義了軟件體系結(jié)構(gòu)的規(guī)格說(shuō)明。2
19、022-2-20335 5.5.2 體系結(jié)構(gòu)設(shè)計(jì)方法體系結(jié)構(gòu)設(shè)計(jì)方法 1、工件驅(qū)動(dòng)的體系結(jié)構(gòu)設(shè)計(jì)從方法的工件描述中提取體系結(jié)構(gòu)描述;從方法的工件描述中提取體系結(jié)構(gòu)描述;如,面向?qū)ο蠼<夹g(shù)如,面向?qū)ο蠼<夹g(shù)OMT (Object-Oriented OMT (Object-Oriented Modeling Techniques)Modeling Techniques)、面向?qū)ο蠓治鲈O(shè)計(jì)方法、面向?qū)ο蠓治鲈O(shè)計(jì)方法OAD OAD (Object-Oriented Analysis and Design)(Object-Oriented Analysis and Design);問(wèn)題:文本形式的系
20、統(tǒng)需求不精確;子系統(tǒng)語(yǔ)義簡(jiǎn)單,問(wèn)題:文本形式的系統(tǒng)需求不精確;子系統(tǒng)語(yǔ)義簡(jiǎn)單,難以形成體系結(jié)構(gòu)構(gòu)件。難以形成體系結(jié)構(gòu)構(gòu)件。2022-2-20342、用例驅(qū)動(dòng)的體系結(jié)構(gòu)設(shè)計(jì)從用例導(dǎo)出體系結(jié)構(gòu)抽象;一個(gè)用例是指系統(tǒng)進(jìn)行的一個(gè)活動(dòng)序列,從用例導(dǎo)出體系結(jié)構(gòu)抽象;一個(gè)用例是指系統(tǒng)進(jìn)行的一個(gè)活動(dòng)序列,它為參與者提供一些結(jié)果值;參與者通過(guò)用例使用系統(tǒng);它為參與者提供一些結(jié)果值;參與者通過(guò)用例使用系統(tǒng);用例模型作為系統(tǒng)預(yù)期功能及其環(huán)境的模型,在客戶和開(kāi)發(fā)者之間起用例模型作為系統(tǒng)預(yù)期功能及其環(huán)境的模型,在客戶和開(kāi)發(fā)者之間起到合約的作用;到合約的作用;統(tǒng)一過(guò)程統(tǒng)一過(guò)程(Unified Process)(Unifi
21、ed Process)使用用例驅(qū)動(dòng)的體系結(jié)構(gòu)設(shè)計(jì)方法;使用用例驅(qū)動(dòng)的體系結(jié)構(gòu)設(shè)計(jì)方法;問(wèn)題:難以把握域模型和商業(yè)模型的細(xì)節(jié);包的語(yǔ)義簡(jiǎn)單,難以形成問(wèn)題:難以把握域模型和商業(yè)模型的細(xì)節(jié);包的語(yǔ)義簡(jiǎn)單,難以形成體系結(jié)構(gòu)構(gòu)件。體系結(jié)構(gòu)構(gòu)件。2022-2-20353、領(lǐng)域驅(qū)動(dòng)的體系結(jié)構(gòu)設(shè)計(jì)從領(lǐng)域模型導(dǎo)出體系結(jié)構(gòu)抽象;從領(lǐng)域模型導(dǎo)出體系結(jié)構(gòu)抽象;領(lǐng)域模型可有不同的表示方法:如類(lèi)、實(shí)體領(lǐng)域模型可有不同的表示方法:如類(lèi)、實(shí)體關(guān)系圖、框架、語(yǔ)義網(wǎng)絡(luò)、規(guī)則,等等;關(guān)系圖、框架、語(yǔ)義網(wǎng)絡(luò)、規(guī)則,等等;問(wèn)題:?jiǎn)栴}領(lǐng)域分析在導(dǎo)出體系結(jié)構(gòu)抽象方問(wèn)題:?jiǎn)栴}領(lǐng)域分析在導(dǎo)出體系結(jié)構(gòu)抽象方面效果較差,領(lǐng)域分析不足以驅(qū)動(dòng)體系結(jié)構(gòu)
22、面效果較差,領(lǐng)域分析不足以驅(qū)動(dòng)體系結(jié)構(gòu)設(shè)計(jì)過(guò)程。設(shè)計(jì)過(guò)程。2022-2-2036特定領(lǐng)域的軟件體系結(jié)構(gòu)設(shè)計(jì)特定領(lǐng)域的軟件體系結(jié)構(gòu)設(shè)計(jì)DSSA (Domain DSSA (Domain Specific Software Architecture)Specific Software Architecture);從領(lǐng)域分析階;從領(lǐng)域分析階段開(kāi)始,面向一組有共同問(wèn)題和功能的應(yīng)用程序。段開(kāi)始,面向一組有共同問(wèn)題和功能的應(yīng)用程序。參考需求包括功能需求、非功能需求、設(shè)計(jì)需求、實(shí)參考需求包括功能需求、非功能需求、設(shè)計(jì)需求、實(shí)現(xiàn)需求;現(xiàn)需求;參考體系結(jié)構(gòu)是用于一個(gè)應(yīng)用系統(tǒng)族的體系結(jié)構(gòu),應(yīng)參考體系結(jié)構(gòu)是用于一個(gè)
23、應(yīng)用系統(tǒng)族的體系結(jié)構(gòu),應(yīng)用體系結(jié)構(gòu)是用于一個(gè)單一應(yīng)用系統(tǒng)的體系結(jié)構(gòu)。用體系結(jié)構(gòu)是用于一個(gè)單一應(yīng)用系統(tǒng)的體系結(jié)構(gòu)。2022-2-20374、模式驅(qū)動(dòng)的體系結(jié)構(gòu)設(shè)計(jì)軟件設(shè)計(jì)模式的目的在于編制一套可重用的基本原則,軟件設(shè)計(jì)模式的目的在于編制一套可重用的基本原則,用于開(kāi)發(fā)高質(zhì)量的軟件系統(tǒng);用于開(kāi)發(fā)高質(zhì)量的軟件系統(tǒng);意圖:表示使用模式的基本原則;表示使用模式的基本原則;上下文:表示問(wèn)題的產(chǎn)生環(huán)境;表示問(wèn)題的產(chǎn)生環(huán)境;問(wèn)題:表示上下文環(huán)境中經(jīng)常出現(xiàn)的問(wèn)題;表示上下文環(huán)境中經(jīng)常出現(xiàn)的問(wèn)題;解決方案:以元素及其關(guān)系的抽象描述的形式來(lái)以元素及其關(guān)系的抽象描述的形式來(lái)表示對(duì)問(wèn)題的解決方案。表示對(duì)問(wèn)題的解決方案。2
24、022-2-20385.5.3 軟件體系結(jié)構(gòu)設(shè)計(jì)基本原理軟件體系結(jié)構(gòu)設(shè)計(jì)基本原理一些最重要的支撐軟件體系結(jié)構(gòu)的原則:一些最重要的支撐軟件體系結(jié)構(gòu)的原則:抽象抽象 AbstractionAbstraction封裝封裝 EncapsulationEncapsulation信息隱藏信息隱藏 Information HidingInformation Hiding模塊化模塊化 ModularizationModularization注意點(diǎn)分離注意點(diǎn)分離 Separation of ConcernsSeparation of Concerns內(nèi)聚與耦合內(nèi)聚與耦合 CohesionCohesion and
25、 Coupling and Coupling 充分性、完備性與原子性充分性、完備性與原子性 Sufficiency, Completeness & Sufficiency, Completeness & PrimitivenessPrimitiveness策略與實(shí)現(xiàn)的分離策略與實(shí)現(xiàn)的分離 Separation of Policy & ImplementationSeparation of Policy & Implementation界面與實(shí)現(xiàn)的分離界面與實(shí)現(xiàn)的分離 Separation of Interface & Separation of Interface & Implementati
26、onImplementation分治分治 Divide-and-ConquerDivide-and-Conquer層次化層次化 LayeringLayering2022-2-2039用語(yǔ)言支撐開(kāi)發(fā) 需求描述語(yǔ)言需求描述語(yǔ)言 構(gòu)件描述語(yǔ)言構(gòu)件描述語(yǔ)言 模式描述語(yǔ)言模式描述語(yǔ)言 框架描述語(yǔ)言框架描述語(yǔ)言 構(gòu)件編程語(yǔ)言構(gòu)件編程語(yǔ)言 過(guò)程控制和系統(tǒng)集成語(yǔ)言過(guò)程控制和系統(tǒng)集成語(yǔ)言2022-2-2040系統(tǒng)開(kāi)發(fā)的集成平臺(tái) 各種支撐語(yǔ)言、制作構(gòu)件。各種支撐語(yǔ)言、制作構(gòu)件。 制作界面和制作界面和 I/OI/O。 構(gòu)件管理和查詢。構(gòu)件管理和查詢。 實(shí)例生成和系統(tǒng)集成。實(shí)例生成和系統(tǒng)集成。2022-2-2041模
27、型表示方式模型表示方式模型分為四個(gè)部分描述:模型分為四個(gè)部分描述: 1. 1. 組織組織 描述系統(tǒng)的組織機(jī)構(gòu),有那些崗位及上下級(jí)關(guān)系;描述系統(tǒng)的組織機(jī)構(gòu),有那些崗位及上下級(jí)關(guān)系; 2. 2. 角色的責(zé)職功能角色的責(zé)職功能 描述各崗位上的責(zé)職,用描述各崗位上的責(zé)職,用IPOIPO方式描述方式描述- - -即輸入、處理和輸出:即輸入、處理和輸出: 3. 3. 數(shù)據(jù)數(shù)據(jù) 各單據(jù)、文檔等;各單據(jù)、文檔等; 4. 4. 過(guò)程過(guò)程( (活動(dòng)活動(dòng)) ) 處理各事務(wù)的流程,實(shí)際上這部分是冗佘信處理各事務(wù)的流程,實(shí)際上這部分是冗佘信息,可作一致性和完備性檢查用。息,可作一致性和完備性檢查用。仿真客觀世界形成客觀
28、系統(tǒng)。2022-2-2042組織組織 客觀系統(tǒng)設(shè)置那些崗位,以及這些崗位之間的關(guān)系,客觀系統(tǒng)設(shè)置那些崗位,以及這些崗位之間的關(guān)系,即客觀系統(tǒng)中的體系結(jié)構(gòu),而通常這是一種層次結(jié)構(gòu)即客觀系統(tǒng)中的體系結(jié)構(gòu),而通常這是一種層次結(jié)構(gòu),如:,如: 總經(jīng)理下級(jí)有秘書(shū)和若干個(gè)副經(jīng)理,它們又分管若干總經(jīng)理下級(jí)有秘書(shū)和若干個(gè)副經(jīng)理,它們又分管若干部門(mén),每個(gè)部門(mén)中有一負(fù)責(zé)人,并設(shè)立若干崗位,他部門(mén),每個(gè)部門(mén)中有一負(fù)責(zé)人,并設(shè)立若干崗位,他們之間有上下級(jí)關(guān)系,每個(gè)崗位又稱(chēng)為角色。們之間有上下級(jí)關(guān)系,每個(gè)崗位又稱(chēng)為角色。2022-2-2043角色角色 每個(gè)角色要給以名稱(chēng),即標(biāo)志符。角色是要執(zhí)行一列每個(gè)角色要給以名稱(chēng),即
29、標(biāo)志符。角色是要執(zhí)行一列動(dòng)作的。同時(shí)要給文檔或文件進(jìn)行記錄。動(dòng)作的。同時(shí)要給文檔或文件進(jìn)行記錄。 角色是系統(tǒng)中承擔(dān)動(dòng)作的人員、組織、設(shè)備。角色是系統(tǒng)中承擔(dān)動(dòng)作的人員、組織、設(shè)備。 角色是作為獨(dú)立成份看待。大角色,有自己的文檔,角色是作為獨(dú)立成份看待。大角色,有自己的文檔,與對(duì)外聯(lián)系關(guān)系。但他又可以分成若干小角色,大角與對(duì)外聯(lián)系關(guān)系。但他又可以分成若干小角色,大角色的引入是為建立層次的分解,小角色是真正系統(tǒng)中色的引入是為建立層次的分解,小角色是真正系統(tǒng)中有實(shí)質(zhì)性的作用。有實(shí)質(zhì)性的作用。2022-2-2044 角色必須與系統(tǒng)的目標(biāo)有關(guān),如銀行中的警衛(wèi)員與銀角色必須與系統(tǒng)的目標(biāo)有關(guān),如銀行中的警衛(wèi)員
30、與銀行付款系統(tǒng)無(wú)直接關(guān)健,不能作角色。行付款系統(tǒng)無(wú)直接關(guān)健,不能作角色。 角色是客觀系統(tǒng)中概念,不是軟件系統(tǒng)中概念,也不角色是客觀系統(tǒng)中概念,不是軟件系統(tǒng)中概念,也不是現(xiàn)實(shí)系統(tǒng)中概念。是現(xiàn)實(shí)系統(tǒng)中概念。 角色又分為二種,主角和配角,主角是系統(tǒng)主要完成角色又分為二種,主角和配角,主角是系統(tǒng)主要完成某些功能而執(zhí)行一系列動(dòng)作,配角僅是起到觸發(fā)系統(tǒng)某些功能而執(zhí)行一系列動(dòng)作,配角僅是起到觸發(fā)系統(tǒng)工作的。工作的。2022-2-2045角色的各種活動(dòng)的動(dòng)作序列角色的各種活動(dòng)的動(dòng)作序列 每個(gè)崗位上要負(fù)責(zé)幾件事,做每個(gè)事稱(chēng)為活動(dòng),每個(gè)每個(gè)崗位上要負(fù)責(zé)幾件事,做每個(gè)事稱(chēng)為活動(dòng),每個(gè)活動(dòng)是通過(guò)一系列動(dòng)作完成。每個(gè)動(dòng)
31、作將如何記錄文活動(dòng)是通過(guò)一系列動(dòng)作完成。每個(gè)動(dòng)作將如何記錄文檔,何時(shí)與其他角色進(jìn)行聯(lián)系。角色間的聯(lián)系是一種檔,何時(shí)與其他角色進(jìn)行聯(lián)系。角色間的聯(lián)系是一種通信聯(lián)系,要給出聯(lián)系的方式,如請(qǐng)求其他角色給以通信聯(lián)系,要給出聯(lián)系的方式,如請(qǐng)求其他角色給以服務(wù),即一種同步通信?;蛲ㄖ渌巧寻l(fā)生了某服務(wù),即一種同步通信?;蛲ㄖ渌巧寻l(fā)生了某事件,即異步通信。事件,即異步通信。2022-2-2046 主角需完成某些活動(dòng),而配角沒(méi)有活動(dòng),而只向某主主角需完成某些活動(dòng),而配角沒(méi)有活動(dòng),而只向某主角發(fā)送一個(gè)事件,配角之間的聯(lián)系對(duì)客觀系統(tǒng)是無(wú)意角發(fā)送一個(gè)事件,配角之間的聯(lián)系對(duì)客觀系統(tǒng)是無(wú)意義的,而主角與主角間
32、存在著緊密的聯(lián)系。一個(gè)主角義的,而主角與主角間存在著緊密的聯(lián)系。一個(gè)主角可以有承擔(dān)多個(gè)活動(dòng),如收發(fā)人員承擔(dān)收信、發(fā)信、可以有承擔(dān)多個(gè)活動(dòng),如收發(fā)人員承擔(dān)收信、發(fā)信、訂閱雜志、接待訪問(wèn)者,如外事人員,可承擔(dān)外事活訂閱雜志、接待訪問(wèn)者,如外事人員,可承擔(dān)外事活動(dòng),代辦出國(guó)手續(xù)等,動(dòng),代辦出國(guó)手續(xù)等,2022-2-2047 這些動(dòng)作是要順序執(zhí)行,有些動(dòng)作可以并行執(zhí)行或重這些動(dòng)作是要順序執(zhí)行,有些動(dòng)作可以并行執(zhí)行或重復(fù)執(zhí)行,分別要給出標(biāo)志用圖形描述較為直觀。每個(gè)復(fù)執(zhí)行,分別要給出標(biāo)志用圖形描述較為直觀。每個(gè)動(dòng)作通常是動(dòng)作又分為二種動(dòng)作通常是動(dòng)作又分為二種, ,通信及通信及IPOIPO,IPOIPO即:
33、即: 對(duì)文檔的輸入、處理、輸出操作;對(duì)文檔的輸入、處理、輸出操作; 通信可以是發(fā)送或接受某個(gè)服務(wù)或事件。通信可以是發(fā)送或接受某個(gè)服務(wù)或事件。2022-2-2048ARISARIS角色法需求建模角色法需求建模 該方法是面向企業(yè)領(lǐng)導(dǎo)的企業(yè)功能模型,它不僅是為該方法是面向企業(yè)領(lǐng)導(dǎo)的企業(yè)功能模型,它不僅是為軟件開(kāi)發(fā)用,也可用于企業(yè)診斷和改革用,現(xiàn)已有幾軟件開(kāi)發(fā)用,也可用于企業(yè)診斷和改革用,現(xiàn)已有幾百類(lèi)企業(yè)的參考模型銷(xiāo)售模型,每個(gè)約五萬(wàn)美元以上百類(lèi)企業(yè)的參考模型銷(xiāo)售模型,每個(gè)約五萬(wàn)美元以上。已成為國(guó)際上名牌產(chǎn)品。已成為國(guó)際上名牌產(chǎn)品。 用于開(kāi)發(fā)時(shí),需要依此建立邏輯模型用于開(kāi)發(fā)時(shí),需要依此建立邏輯模型。基于業(yè)務(wù)過(guò)程的基于業(yè)務(wù)過(guò)程的ARIS ARIS 方法方法ARIS體系結(jié)構(gòu)2022-2-2050ARIS - ARIS - 業(yè)務(wù)過(guò)程管理業(yè)務(wù)過(guò)程管理build - time - configurationIV. 過(guò)程應(yīng)用III. 過(guò)程流I. 過(guò)程設(shè)計(jì)業(yè)務(wù)過(guò)程重組參考模型II. 過(guò)程管理對(duì)象庫(kù)標(biāo)準(zhǔn)軟件internetJava 的程序數(shù)據(jù)庫(kù)仿真質(zhì)量管理建模分析導(dǎo)航模塊 Inte
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科普移植后常見(jiàn)癥狀臨床處理及術(shù)后生活
- 網(wǎng)站市級(jí)站長(zhǎng)協(xié)議
- 《烹飪營(yíng)養(yǎng)與食品安全》課件 消化和吸收
- 一建市政實(shí)務(wù)真題單選題100道及答案解析
- 2024八年級(jí)數(shù)學(xué)上冊(cè)第三章位置與坐標(biāo)2平面直角坐標(biāo)系第1課時(shí)平面直角坐標(biāo)系習(xí)題課件新版北師大版
- 《中餐面點(diǎn)基礎(chǔ)》多媒體課件(第一學(xué)期)
- 2024年山東客運(yùn)從業(yè)資格證急救考試試題教程及答案
- 2024年湖北客運(yùn)資格證考試內(nèi)容
- 2024年江蘇道路旅客運(yùn)輸駕駛員繼續(xù)教育試題
- 2024年九江道路旅客運(yùn)輸從業(yè)資格證模擬試題
- 《三字經(jīng)》全文拼音版
- 商務(wù)英語(yǔ)教學(xué)課件:Unit 4 At a Meeting
- 最新地鐵隧道襯砌背后回填注漿方案
- 城市變化之路(PPT課件)
- 量子力學(xué)自學(xué)輔導(dǎo)與參考答案
- 艾滋病初篩實(shí)驗(yàn)室SOP文件
- 華師大九年級(jí)上數(shù)學(xué)半期試題
- 最新個(gè)人簡(jiǎn)歷模板(推薦)
- 《建筑基坑支護(hù)技術(shù)規(guī)程》JGJ120-2012
- 監(jiān)控質(zhì)量保證及承諾書(shū)
- 奮斗在巴西的何氏一家
評(píng)論
0/150
提交評(píng)論