架構(gòu)設(shè)計(jì)及應(yīng)用全解課件_第1頁
架構(gòu)設(shè)計(jì)及應(yīng)用全解課件_第2頁
架構(gòu)設(shè)計(jì)及應(yīng)用全解課件_第3頁
架構(gòu)設(shè)計(jì)及應(yīng)用全解課件_第4頁
架構(gòu)設(shè)計(jì)及應(yīng)用全解課件_第5頁
已閱讀5頁,還剩139頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

架構(gòu)

設(shè)計(jì)

作者:毛國紅架構(gòu)設(shè)計(jì)

作者:議程架構(gòu)的定義架構(gòu)風(fēng)格架構(gòu)視圖架構(gòu)開發(fā)模式構(gòu)架設(shè)計(jì)方法議程架構(gòu)的定義什么是軟件架構(gòu)自從軟件系統(tǒng)首次被分成許多模塊,

模塊之間有相互作用,組合起來有整體的屬性,就具有了體系結(jié)構(gòu)什么是軟件架構(gòu)自從軟件系統(tǒng)首次被分成許多模塊,解決復(fù)雜問題的對(duì)策核心思想

任何作為復(fù)合整體的系統(tǒng)都有架構(gòu)分而治之關(guān)注大局、把握整體解決復(fù)雜問題的對(duì)策核心思想任何作為復(fù)合整體的系統(tǒng)都有架構(gòu)架構(gòu)的定義架構(gòu)的定義從系統(tǒng)的構(gòu)造或?qū)ο到y(tǒng)設(shè)計(jì)的決策方面進(jìn)行定義學(xué)院派定義

IEEE610.12-1990軟件工程標(biāo)準(zhǔn)詞匯中是這樣定義架構(gòu)的:架構(gòu)是以組件、組件之間的關(guān)系、組件與環(huán)境之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織結(jié)構(gòu),以及指導(dǎo)上述內(nèi)容設(shè)計(jì)與演化的原理(Principle)。SEI(美國卡內(nèi)基梅隆大學(xué)軟件研究所)的定義

某個(gè)軟件或計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)是該系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),每個(gè)結(jié)構(gòu)均由軟件元素、這些元素的外部可見屬性、這些元素之間的關(guān)系組成架構(gòu)的定義架構(gòu)的定義從系統(tǒng)的構(gòu)造或?qū)ο到y(tǒng)設(shè)計(jì)的決策方面進(jìn)行定大師對(duì)架構(gòu)的定義構(gòu)造派Garlan和Shaw的定義

Shaw

的定義軟件系統(tǒng)的架構(gòu)將系統(tǒng)描述為計(jì)算組件及組件之間的交互(Thearchitectureofasoftwaresystemdefinesthatsystemintermsofcomputationalcomponentsandinteractionsamongthosecomponents.)。這里的計(jì)算組件包括我們所說的模塊、子系統(tǒng)、類等不同粒度的承擔(dān)計(jì)算任務(wù)的軟件單元。 架構(gòu)包括組件(Component)、連接件(Connector)和約束(Constrain)三大要素。組件可以是一組代碼(例如程序模塊),也可以是獨(dú)立的程序(例如數(shù)據(jù)庫服務(wù)器)。連接件可以是過程調(diào)用、管道和消息等,用于表示組件之間的相互關(guān)系。“約束”一般為組件連接時(shí)的條件。大師對(duì)架構(gòu)的定義構(gòu)造派

Perry和Wolf的定義

Perry和Wolf提出:軟件架構(gòu)是一組具有特定形式的架構(gòu)元素,這些元素分為三類:負(fù)責(zé)完成數(shù)據(jù)加工的處理元素(ProcessingElements)、作為被加工信息的數(shù)據(jù)元素(DataElements)及用于把架構(gòu)的不同部分組合在一起的連接元素(ConnectingElements)。Perry和Wolf的定義Boehm的定義

BarryBoehm和他的學(xué)生提出:軟件架構(gòu)包括系統(tǒng)組件、連接件和約束的集合,反應(yīng)不同涉眾需求的集合,以及原理(Rationale)的集合。其中的原理,用于說明由組件、連接件和約束所定義的系統(tǒng)在實(shí)現(xiàn)時(shí),是如何滿足不同涉眾需求的。Boehm的定義決策派Woods的觀點(diǎn)

EoinWoods是這樣認(rèn)為的:軟件架構(gòu)是一系列設(shè)計(jì)決策,如果作了不正確的決策,你的項(xiàng)目可能最終會(huì)被取消(Softwarearchitectureisthesetofdesigndecisionswhich,ifmadeincorrectly,maycauseyourprojecttobecancelled.)決策派Woods的觀點(diǎn)Booch、Rumbaugh和Jacobson的定義(RUP)架構(gòu)是一系列重要決策的集合,這些決策與以下內(nèi)容有關(guān):軟件的組織,構(gòu)成系統(tǒng)的結(jié)構(gòu)元素及其接口的選擇,這些元素在相互協(xié)作中明確表現(xiàn)出的行為,這些結(jié)構(gòu)元素和行為元素進(jìn)一步組合所構(gòu)成的更大規(guī)模的子系統(tǒng),以及指導(dǎo)這一組織——包括這些元素及其接口、它們的協(xié)作和它們的組合——架構(gòu)風(fēng)格。

Booch、Rumbaugh和Jacobson的定義(RUP總結(jié)架構(gòu)首先是對(duì)系統(tǒng)的抽象它是一個(gè)軟件系統(tǒng)從整體到部分的最高層次的劃分。

核心即軟件系統(tǒng)的結(jié)構(gòu)、行為、屬性的高級(jí)抽象,基本要素包括組件、連接件及其約束(連接語義)等各種粒度的計(jì)算單元及其交互、任務(wù)流,同時(shí)還要關(guān)注與外界的交互。建造一個(gè)系統(tǒng)所作出的最高層次的、以后難以更改的,商業(yè)的和技術(shù)的決定。不同的視角、不同的側(cè)重點(diǎn)。總結(jié)架構(gòu)首先是對(duì)系統(tǒng)的抽象軟件架構(gòu)風(fēng)格什么是軟件架構(gòu)風(fēng)格 軟件架構(gòu)風(fēng)格就是指軟件架構(gòu)的模式。什么是模式 模式是特定環(huán)境(上下文)出現(xiàn)的重復(fù)問題的解決方案。因此軟件架構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)架構(gòu)的慣用模式。軟件架構(gòu)定義了特定領(lǐng)域的計(jì)算模式,反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語義特性,定義了一組指導(dǎo)構(gòu)建系統(tǒng)的規(guī)則。軟件架構(gòu)風(fēng)格什么是軟件架構(gòu)風(fēng)格軟件架構(gòu)風(fēng)格分層系統(tǒng)(OSI模型、TCP協(xié)議棧)C2風(fēng)格客戶/服務(wù)器風(fēng)格(C/S風(fēng)格)瀏覽器/服務(wù)器(B/S風(fēng)格)公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)WEBSERVICE風(fēng)格SOA面向服務(wù)架構(gòu)其它風(fēng)格

MVS、虛擬機(jī)、管道過濾器、數(shù)據(jù)流、倉庫等其它風(fēng)格。軟件架構(gòu)風(fēng)格分層系統(tǒng)(OSI模型、TCP協(xié)議棧)分層系統(tǒng)分層設(shè)計(jì)的要點(diǎn)

1每一層為上層服務(wù),并作為下一層的客戶。

2內(nèi)部層只對(duì)相鄰層可見。

3層與層之間的接口通過決定層間如何交互的協(xié)議來定義拓?fù)浼s束。分層設(shè)計(jì)的優(yōu)點(diǎn)

1支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì)。

2支持功能增強(qiáng),每次功能改變最多影響上下兩層。

3支持重用,只要提供的服務(wù)接口不變,同一層不同實(shí)現(xiàn)可方便的替換。分層設(shè)計(jì)的不足

1效率和系統(tǒng)性能

2很難找到一個(gè)合適的、正確的層次抽象方法。

3層之間需要定義標(biāo)準(zhǔn)的接口,

4不同的功能實(shí)現(xiàn)依賴與不同的層,不能做到構(gòu)件獨(dú)立。

分層系統(tǒng)分層設(shè)計(jì)的要點(diǎn)分層系統(tǒng)舉例

應(yīng)用層業(yè)務(wù)層系統(tǒng)抽象層驅(qū)動(dòng)及OS層VOD點(diǎn)播STOCK股票BROWSER界面SI解析搜索節(jié)目管理數(shù)據(jù)存儲(chǔ)os封裝平臺(tái)驅(qū)動(dòng)封裝啟動(dòng)及初始化STOS20\OS21平臺(tái)stLINUX平臺(tái)bbroadcom平臺(tái)分層系統(tǒng)舉例應(yīng)用層業(yè)務(wù)層系統(tǒng)抽象層驅(qū)動(dòng)及OS層VOD點(diǎn)播S客戶/服務(wù)器風(fēng)格兩層C/S構(gòu)架特點(diǎn)應(yīng)用功能分為客戶端應(yīng)用程序和數(shù)據(jù)庫服務(wù)器(負(fù)責(zé)數(shù)據(jù)管理),兩者之間通過網(wǎng)絡(luò)進(jìn)行交互。優(yōu)點(diǎn)

1實(shí)現(xiàn)了應(yīng)用程序和數(shù)據(jù)管理的分離。

2可以開發(fā)多樣的應(yīng)用程序,不必對(duì)每一個(gè)新的應(yīng)用程序開發(fā)獨(dú)立的數(shù)據(jù)管理程序。

3實(shí)現(xiàn)分布式計(jì)算,系統(tǒng)擴(kuò)展方便。缺點(diǎn)

1客戶端程序風(fēng)格不一,不利于推廣和維護(hù)、移植性差。

2開發(fā)復(fù)雜、成本高。

3客戶機(jī)負(fù)荷太重,性能變壞。

3安全性差。客戶/服務(wù)器風(fēng)格兩層C/S構(gòu)架特點(diǎn)客戶/服務(wù)器風(fēng)格三層C/S架構(gòu)風(fēng)格特點(diǎn)三層C/S架構(gòu)把整個(gè)應(yīng)用邏輯獨(dú)立出來,放在應(yīng)用服務(wù)器上,整個(gè)應(yīng)用程序分為客戶端的表示層、應(yīng)用功能層、數(shù)據(jù)層(3tier)。中間件的提出 一類構(gòu)件,位于基于客戶/服務(wù)器的操作系統(tǒng)與應(yīng)用程序之間,管理計(jì)算資源以及負(fù)責(zé)客戶機(jī)和服務(wù)器或者服務(wù)器之間的通信,屏蔽多樣的硬件和網(wǎng)絡(luò),實(shí)現(xiàn)應(yīng)用程序各個(gè)部分的互聯(lián)和無操作??蛻?服務(wù)器風(fēng)格三層C/S架構(gòu)風(fēng)格特點(diǎn)

三層C/S優(yōu)點(diǎn)

1邏輯結(jié)構(gòu)清晰。

2可維護(hù)、可擴(kuò)展性強(qiáng)、具有良好的可升級(jí)性和開放性。

3安全性強(qiáng)。缺點(diǎn) 通信效率要求高。三層C/S優(yōu)

三層C/S 三層C/S B/S風(fēng)格一種特殊的C/S風(fēng)格,表示層有瀏覽器實(shí)現(xiàn),實(shí)現(xiàn)了表示層開發(fā)的通用性,客戶端的零維護(hù)。具體結(jié)構(gòu)為:瀏覽器/WEB服務(wù)器/數(shù)據(jù)庫服務(wù)器。是未來的趨勢(shì)

B/S架構(gòu)提供了異種機(jī)、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實(shí)的開放性基礎(chǔ)。 B/S風(fēng)格一種特殊的C/S風(fēng)格,表示層有瀏覽器實(shí)現(xiàn), B/S模型 B/S模型 C/S、B/S架構(gòu)的使用機(jī)頂盒軟件可以把應(yīng)用程序分為獨(dú)立的表示層、應(yīng)用邏輯層、數(shù)據(jù)接收層,每一層各司其職,提高軟件架構(gòu)的邏輯清晰度。 C/S、B/S架構(gòu)的使用機(jī)頂盒軟件可以把應(yīng)用程序分為獨(dú) C/S、B/S應(yīng)用三層邏輯界面應(yīng)用邏輯數(shù)據(jù)接收和保存 C/S、B/S應(yīng)用三層邏輯界面應(yīng)用邏輯數(shù)據(jù)接收和保存 C2風(fēng)格特點(diǎn)

1通過構(gòu)件構(gòu)建軟件,形成構(gòu)件軟件開發(fā)模型。

2構(gòu)件之間只能通過連接件進(jìn)行異步消息進(jìn)行通信。

3連接件可以連接任意數(shù)目的構(gòu)件和其它連接件。

4構(gòu)件相對(duì)獨(dú)立,每個(gè)構(gòu)件完成一定的應(yīng)用功能。

5容易重用、靈活擴(kuò)展性強(qiáng)缺點(diǎn)

1調(diào)試復(fù)雜 C2風(fēng)格特點(diǎn) C2風(fēng)格

構(gòu)件構(gòu)件構(gòu)件連接件連接件連接件 C2風(fēng)格構(gòu)件構(gòu)件構(gòu)件連接件連接件連接件C2風(fēng)格的使用GUI的設(shè)計(jì)

1把每一個(gè)控件獨(dú)立化,之間不存在相互調(diào)用關(guān)系

2控件之間通過消息進(jìn)行通信。C2風(fēng)格的使用GUI的設(shè)計(jì)公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)目的建立一種機(jī)制,使分布式對(duì)象可以透明的通信,建立一個(gè)異質(zhì)的分布式計(jì)算環(huán)境。特點(diǎn)

1提供了基于面向?qū)ο蠹夹g(shù)的軟件構(gòu)件構(gòu)造技術(shù)。

2分布式對(duì)象的通信都通過一個(gè)公共的對(duì)象請(qǐng)求代理中心(中間件)實(shí)現(xiàn)同步通信,語言無關(guān)的標(biāo)準(zhǔn)的接口調(diào)用,ORB還通過服務(wù)管理對(duì)象、創(chuàng)建對(duì)象,實(shí)現(xiàn)對(duì)象的互操作。

3提供軟總線機(jī)制,任何語言開發(fā)的符合接口規(guī)范的對(duì)象均能夠集成到系統(tǒng)中。公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)目的公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)優(yōu)點(diǎn)

1平臺(tái)、語言無關(guān)性,通過提供的語言無關(guān)的對(duì)象對(duì)外的接口對(duì)對(duì)象進(jìn)行調(diào)用。

2分布、異構(gòu)環(huán)境下實(shí)現(xiàn)對(duì)象的可重用、可移植和互操作。

3實(shí)現(xiàn)客戶與服務(wù)對(duì)象的完全分開,實(shí)現(xiàn)細(xì)節(jié)和位置透明。缺點(diǎn)

1規(guī)范復(fù)雜公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)優(yōu)點(diǎn) SOA面向服務(wù)架構(gòu)面向服務(wù)的架構(gòu)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元----服務(wù)(service),通過服務(wù)間定義良好的接口和契約(contract)聯(lián)系起來。它可以根據(jù)需求通過網(wǎng)絡(luò)對(duì)松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。包含三種角色:服務(wù)提供者、服務(wù)請(qǐng)求者、服務(wù)代理者。特點(diǎn)

1一種粗粒度、松耦合、位置透明的服務(wù)架構(gòu)。

2服務(wù)之間通過簡單、精確定義的接口(服務(wù)契約)進(jìn)行通訊,不涉及底層編程接口和通訊模型。

3服務(wù)是自治的(Autonomous)、無狀態(tài)(stateless)功能實(shí)體。 SOA面向服務(wù)架構(gòu)面向服務(wù)的架構(gòu)是一個(gè)組件模型,它將應(yīng) SOA面向服務(wù)架構(gòu)優(yōu)點(diǎn)

1

編碼靈活性、系統(tǒng)集成方便。

2容易維護(hù),得益于采用開放標(biāo)準(zhǔn)及服務(wù)之間的松耦合特性。

3服務(wù)訪問方便,方便支持多種客戶類型。

4開發(fā)和部署上的更高的伸縮性、靈活性和更高的可用性。 SOA面向服務(wù)架構(gòu)優(yōu)點(diǎn) WEBSERVICE架構(gòu)風(fēng)格即internet上部署的應(yīng)用服務(wù)和模塊化應(yīng)用,webservice使通過internet完成軟件、服務(wù)、客戶、供應(yīng)商、商業(yè)流程的互操作、交換和協(xié)作成為可能,webservice架構(gòu)是SOA架構(gòu)的一種具體實(shí)現(xiàn)方式。特點(diǎn)

1模塊的大粒度封裝,應(yīng)用軟件或模塊都以一種web服務(wù)的形式進(jìn)行封裝并對(duì)外發(fā)布,每一個(gè)webservice都實(shí)現(xiàn)了一定的計(jì)算功能,實(shí)現(xiàn)了信息、行為、數(shù)據(jù)表現(xiàn)和業(yè)務(wù)流程的封裝,軟件成為一種服務(wù)。

2松耦合,通過internet進(jìn)行相互調(diào)用和互操作。

3以xml、soap、WSDL、UDDI等技術(shù)為基礎(chǔ),實(shí)現(xiàn)服務(wù)的動(dòng)態(tài)描述、發(fā)現(xiàn)、動(dòng)態(tài)綁定和調(diào)用,實(shí)現(xiàn)業(yè)務(wù)流程的靈活修改和動(dòng)態(tài)裝配。 WEBSERVICE架構(gòu)風(fēng)格即internet上部 WEBSERVICE模型服務(wù)注冊(cè)中心服務(wù)請(qǐng)求者服務(wù)提供者綁定查找 WEBSERVICE模型服務(wù)注冊(cè)中心服務(wù)請(qǐng)求者服務(wù)提如何使用SOA及WEBSERVICE在我們的機(jī)頂盒軟件設(shè)計(jì)中,建立軟件即服務(wù)的思想,把軟件實(shí)現(xiàn)成提供一定服務(wù)功能的黑盒子,并且服務(wù)功能的接口以標(biāo)準(zhǔn)開放的形式發(fā)布或提供,使用者只要讀取到該接口就可以知道服務(wù)的功能和位置,并與之交互或調(diào)用。如何使用SOA及WEBSERVICE在我們的機(jī)頂盒軟件設(shè)計(jì) MVC架構(gòu)

視圖(GUI,頁面)控制器(事件處理)模型(業(yè)務(wù)邏輯) MVC架構(gòu)視圖(GUI,頁面)控制器(事件處理)模

三軟件架構(gòu)視圖軟件架構(gòu)視圖就是對(duì)軟件架構(gòu)的表示和建模。對(duì)架構(gòu)的不同角度的建模。 結(jié)構(gòu)模型、動(dòng)態(tài)模型、過程模型、功能模型。4+1視圖 三軟件架構(gòu)視圖軟件架構(gòu)視圖就是對(duì)軟件架構(gòu)的表示和建 4+1視圖經(jīng)典的4+1視圖邏輯視圖開發(fā)視圖進(jìn)程視圖物理視圖場景 4+1視圖經(jīng)典的4+1視圖邏輯視圖開發(fā)視圖進(jìn)程視圖物架構(gòu)設(shè)計(jì)及應(yīng)用全解課件

其它多視圖 其它多視圖

邏輯視圖功能模型,描述系統(tǒng)的功能需求,即系統(tǒng)提供提供給最終用戶的服務(wù)。在面向?qū)ο蠹夹g(shù)中,可以使用對(duì)象模型、類圖來描述邏輯視圖,標(biāo)識(shí)類與類之間的相互關(guān)系。機(jī)頂盒軟件可以按功能模塊來描述邏輯視圖。 邏輯視圖功能模型,描述系統(tǒng)的功能需求,即系統(tǒng)提供提供給

邏輯視圖

NVODEPG節(jié)目搜索SI解析結(jié)果CACHE管理SI接收 邏輯視圖NVODEPG節(jié)目搜索SI解析結(jié)果CACH

開發(fā)視圖軟件模塊的組織和管理。開發(fā)視圖側(cè)重軟件開發(fā)需求,如軟件的重用、擴(kuò)展性、通用性、可移植性、模塊的獨(dú)立性等需求。開發(fā)視圖風(fēng)格通常采用層次結(jié)構(gòu)風(fēng)格。開發(fā)視圖軟件模塊的

機(jī)頂盒開發(fā)視圖機(jī)頂盒開發(fā)視圖應(yīng)用業(yè)務(wù)邏輯平臺(tái)抽象層驅(qū)動(dòng)VOD瀏覽器股票CAEPGSI解析節(jié)目搜索FLASHDEMUXE2PDEMODSMARTFLASHPTIVIDAVAUDav播放機(jī)頂盒開發(fā)視圖機(jī)頂盒開發(fā)視圖應(yīng)用

進(jìn)程視圖系統(tǒng)的運(yùn)行特性關(guān)注非功能性需求,如性能和可用性等質(zhì)量屬性、容錯(cuò)性。機(jī)頂盒軟件可以用進(jìn)程視圖描述關(guān)鍵進(jìn)程或線程的執(zhí)行情況以及之間的通信。進(jìn)程視圖系統(tǒng)的運(yùn)

進(jìn)程視圖

搜索任務(wù)SI接收切換換臺(tái)PIPE接收EIT事件解析BOOK任務(wù)股票LOADER檢測 進(jìn)程視圖搜索任務(wù)SI接收切換換臺(tái)PIPE接收EIT

物理視圖軟件到硬件的映射考慮系統(tǒng)性能、規(guī)模以及可靠性。小的獨(dú)立的嵌入式系統(tǒng)可以沒有物理視圖,或者只有FLASH規(guī)劃。 物理視圖軟件到硬件的映射

物理視圖物理視圖

場景系統(tǒng)活動(dòng)的抽象通過場景把四個(gè)視圖有機(jī)聯(lián)系。通過構(gòu)建場景可以幫助分析構(gòu)架的構(gòu)件之間的相互關(guān)系(內(nèi)外場景),也可以通過場景來驗(yàn)證特定視圖是否滿足需求。 場景系統(tǒng)活動(dòng)的抽象

場景視圖 場景視圖

數(shù)據(jù)視圖數(shù)據(jù)庫系統(tǒng)開發(fā)需要E/R實(shí)體關(guān)系圖數(shù)據(jù)分布的七種策略

1大集中

2分區(qū)

3獨(dú)立模式

4子集

5復(fù)制

6重組

7不相容 數(shù)據(jù)視圖數(shù)據(jù)庫系統(tǒng)開發(fā)需要

四架構(gòu)開發(fā)過程模型議程兩種開發(fā)流程概念架構(gòu)開發(fā)過程細(xì)化架構(gòu)開發(fā)過程 四架構(gòu)開發(fā)過程模型議程

架構(gòu)開發(fā)范式基于架構(gòu)的軟件開發(fā)模型需求分析概念架構(gòu)細(xì)化架構(gòu)構(gòu)架文檔化構(gòu)架復(fù)審構(gòu)架實(shí)現(xiàn)構(gòu)架演化 架構(gòu)開發(fā)范式基于架構(gòu)的軟件開發(fā)模型需求分析概念架構(gòu)細(xì)化架

統(tǒng)一開發(fā)過程(RUP)用例驅(qū)動(dòng) 用例驅(qū)動(dòng)系統(tǒng)架構(gòu),系統(tǒng)架構(gòu)反過來影響用例的選擇。以基本架構(gòu)為中心 基于關(guān)鍵功能和高風(fēng)險(xiǎn)的用例進(jìn)行架構(gòu)設(shè)計(jì)迭代式和增量迭代與一組用例相關(guān),迭代涉及最為重要的風(fēng)險(xiǎn)。 統(tǒng)一開發(fā)過程(RUP)用例驅(qū)動(dòng)

概念架構(gòu)

概念架構(gòu)是大型系統(tǒng)成敗的關(guān)鍵重大需求塑造概念架構(gòu),概念架構(gòu)針對(duì)重大需求、特色需求、高風(fēng)險(xiǎn)需求給出高層次的解決方案和決策 概念架構(gòu)概念架構(gòu)是大型系統(tǒng)成敗的關(guān)鍵

概念結(jié)構(gòu)設(shè)計(jì)過程過程

1需求結(jié)構(gòu)化。

2分析約束影響,約束構(gòu)成系統(tǒng)的上下文。

3確定關(guān)鍵質(zhì)量,質(zhì)量是系統(tǒng)完善的動(dòng)力。

4確定關(guān)鍵功能,功能是發(fā)現(xiàn)職責(zé)的依據(jù)。

5基于關(guān)鍵功能進(jìn)行用例開發(fā)。

6系統(tǒng)切分、高層分割。

7利用目標(biāo)場景決策表考慮非功能需求。

8得到概念架構(gòu)模式。 概念結(jié)構(gòu)設(shè)計(jì)過程過程

需求結(jié)構(gòu)化 需求結(jié)構(gòu)化

約束影響 約束影響

確定關(guān)鍵質(zhì)量 確定關(guān)鍵質(zhì)量

確定關(guān)鍵功能核心功能業(yè)務(wù)層的接口要反映這些功能,如NVOD、EPG等。必須實(shí)現(xiàn)的功能 來自客戶方的要求。如排序方式。覆蓋了系統(tǒng)架構(gòu)的一些方面。 數(shù)據(jù)格式的改變,造成數(shù)據(jù)的不兼容,必須實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入功能。風(fēng)險(xiǎn)高的功能。 軟件升級(jí)等。 確定關(guān)鍵功能核心功能

目標(biāo)場景決策表 目標(biāo)場景決策表

細(xì)化架構(gòu)設(shè)計(jì)過程劃分子系統(tǒng),確定子系統(tǒng)職責(zé)定義子系統(tǒng)接口,明確子系統(tǒng)協(xié)作,協(xié)作決定接口。明確關(guān)鍵類或模塊,說明設(shè)計(jì)模式和邏輯思路。多視圖多角度刻畫架構(gòu)。 細(xì)化架構(gòu)設(shè)計(jì)過程劃分子系統(tǒng),確定子系統(tǒng)職責(zé)

使用架構(gòu)模式 使用架構(gòu)模式

五構(gòu)架設(shè)計(jì)技術(shù)及方法議程框架技術(shù)分層、分區(qū)、通用機(jī)制的提取迭代開發(fā):螺旋式開發(fā)設(shè)計(jì)模式重用 五構(gòu)架設(shè)計(jì)技術(shù)及方法議程

框架框架是半成品。一個(gè)框架是在一個(gè)給定的問題領(lǐng)域內(nèi),一個(gè)應(yīng)用程序的一部分設(shè)計(jì)與實(shí)現(xiàn),定義了一類應(yīng)用系統(tǒng)(或子系統(tǒng))的整體結(jié)構(gòu),并通過框架提供的擴(kuò)展機(jī)制進(jìn)行應(yīng)用擴(kuò)展??蚣苁擒浖?,架構(gòu)不是軟件,而是關(guān)于軟件如何設(shè)計(jì)的重要決策。框架是整個(gè)或部分系統(tǒng)的可重用設(shè)計(jì),是大粒度的重用,因此使得平均開發(fā)費(fèi)用降低,開發(fā)速度加快,而參數(shù)化框架使得適應(yīng)性、靈活性增強(qiáng),軟件生產(chǎn)效率和質(zhì)量也得到了提高。我們平常都是基于框架進(jìn)行軟件開發(fā)。 框架框架是半成品。

框架框架的技術(shù)特點(diǎn)

1反向控制,即好萊塢規(guī)則。

2可重用性,提供了設(shè)計(jì)和代碼的重用能力。

3擴(kuò)展性,“熱點(diǎn)(hotspot)”或"鉤子(hook)"。

4模塊化或構(gòu)件化,框架有穩(wěn)定的接口或封裝的熱點(diǎn)。 框架框架的技術(shù)特點(diǎn)

分層、分區(qū)、通用機(jī)制 分層、分區(qū)、通用機(jī)制

分離之道 分離之道

機(jī)制是設(shè)計(jì)之魂 機(jī)制是設(shè)計(jì)之魂

架構(gòu):分層+機(jī)制提取 架構(gòu):分層+機(jī)制提取

迭代設(shè)計(jì)復(fù)雜系統(tǒng)的應(yīng)對(duì)之道。 迭代設(shè)計(jì)復(fù)雜系統(tǒng)的應(yīng)對(duì)之道。

設(shè)計(jì)模式設(shè)計(jì)模式可以作為構(gòu)架的構(gòu)造快。是設(shè)計(jì)級(jí)別的重用。不斷提取和使用成功的設(shè)計(jì)模式。 設(shè)計(jì)模式設(shè)計(jì)模式可以作為構(gòu)架的構(gòu)造快。

重用重用:大粒度重用、框架重用、service重用重用:重用測試、重用設(shè)計(jì)、重用分析。 重用重用:大粒度重用、框架重用、service重用

謝謝! Q&A 謝謝!架構(gòu)

設(shè)計(jì)

作者:毛國紅架構(gòu)設(shè)計(jì)

作者:議程架構(gòu)的定義架構(gòu)風(fēng)格架構(gòu)視圖架構(gòu)開發(fā)模式構(gòu)架設(shè)計(jì)方法議程架構(gòu)的定義什么是軟件架構(gòu)自從軟件系統(tǒng)首次被分成許多模塊,

模塊之間有相互作用,組合起來有整體的屬性,就具有了體系結(jié)構(gòu)什么是軟件架構(gòu)自從軟件系統(tǒng)首次被分成許多模塊,解決復(fù)雜問題的對(duì)策核心思想

任何作為復(fù)合整體的系統(tǒng)都有架構(gòu)分而治之關(guān)注大局、把握整體解決復(fù)雜問題的對(duì)策核心思想任何作為復(fù)合整體的系統(tǒng)都有架構(gòu)架構(gòu)的定義架構(gòu)的定義從系統(tǒng)的構(gòu)造或?qū)ο到y(tǒng)設(shè)計(jì)的決策方面進(jìn)行定義學(xué)院派定義

IEEE610.12-1990軟件工程標(biāo)準(zhǔn)詞匯中是這樣定義架構(gòu)的:架構(gòu)是以組件、組件之間的關(guān)系、組件與環(huán)境之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織結(jié)構(gòu),以及指導(dǎo)上述內(nèi)容設(shè)計(jì)與演化的原理(Principle)。SEI(美國卡內(nèi)基梅隆大學(xué)軟件研究所)的定義

某個(gè)軟件或計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)是該系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),每個(gè)結(jié)構(gòu)均由軟件元素、這些元素的外部可見屬性、這些元素之間的關(guān)系組成架構(gòu)的定義架構(gòu)的定義從系統(tǒng)的構(gòu)造或?qū)ο到y(tǒng)設(shè)計(jì)的決策方面進(jìn)行定大師對(duì)架構(gòu)的定義構(gòu)造派Garlan和Shaw的定義

Shaw

的定義軟件系統(tǒng)的架構(gòu)將系統(tǒng)描述為計(jì)算組件及組件之間的交互(Thearchitectureofasoftwaresystemdefinesthatsystemintermsofcomputationalcomponentsandinteractionsamongthosecomponents.)。這里的計(jì)算組件包括我們所說的模塊、子系統(tǒng)、類等不同粒度的承擔(dān)計(jì)算任務(wù)的軟件單元。 架構(gòu)包括組件(Component)、連接件(Connector)和約束(Constrain)三大要素。組件可以是一組代碼(例如程序模塊),也可以是獨(dú)立的程序(例如數(shù)據(jù)庫服務(wù)器)。連接件可以是過程調(diào)用、管道和消息等,用于表示組件之間的相互關(guān)系?!凹s束”一般為組件連接時(shí)的條件。大師對(duì)架構(gòu)的定義構(gòu)造派

Perry和Wolf的定義

Perry和Wolf提出:軟件架構(gòu)是一組具有特定形式的架構(gòu)元素,這些元素分為三類:負(fù)責(zé)完成數(shù)據(jù)加工的處理元素(ProcessingElements)、作為被加工信息的數(shù)據(jù)元素(DataElements)及用于把架構(gòu)的不同部分組合在一起的連接元素(ConnectingElements)。Perry和Wolf的定義Boehm的定義

BarryBoehm和他的學(xué)生提出:軟件架構(gòu)包括系統(tǒng)組件、連接件和約束的集合,反應(yīng)不同涉眾需求的集合,以及原理(Rationale)的集合。其中的原理,用于說明由組件、連接件和約束所定義的系統(tǒng)在實(shí)現(xiàn)時(shí),是如何滿足不同涉眾需求的。Boehm的定義決策派Woods的觀點(diǎn)

EoinWoods是這樣認(rèn)為的:軟件架構(gòu)是一系列設(shè)計(jì)決策,如果作了不正確的決策,你的項(xiàng)目可能最終會(huì)被取消(Softwarearchitectureisthesetofdesigndecisionswhich,ifmadeincorrectly,maycauseyourprojecttobecancelled.)決策派Woods的觀點(diǎn)Booch、Rumbaugh和Jacobson的定義(RUP)架構(gòu)是一系列重要決策的集合,這些決策與以下內(nèi)容有關(guān):軟件的組織,構(gòu)成系統(tǒng)的結(jié)構(gòu)元素及其接口的選擇,這些元素在相互協(xié)作中明確表現(xiàn)出的行為,這些結(jié)構(gòu)元素和行為元素進(jìn)一步組合所構(gòu)成的更大規(guī)模的子系統(tǒng),以及指導(dǎo)這一組織——包括這些元素及其接口、它們的協(xié)作和它們的組合——架構(gòu)風(fēng)格。

Booch、Rumbaugh和Jacobson的定義(RUP總結(jié)架構(gòu)首先是對(duì)系統(tǒng)的抽象它是一個(gè)軟件系統(tǒng)從整體到部分的最高層次的劃分。

核心即軟件系統(tǒng)的結(jié)構(gòu)、行為、屬性的高級(jí)抽象,基本要素包括組件、連接件及其約束(連接語義)等各種粒度的計(jì)算單元及其交互、任務(wù)流,同時(shí)還要關(guān)注與外界的交互。建造一個(gè)系統(tǒng)所作出的最高層次的、以后難以更改的,商業(yè)的和技術(shù)的決定。不同的視角、不同的側(cè)重點(diǎn)。總結(jié)架構(gòu)首先是對(duì)系統(tǒng)的抽象軟件架構(gòu)風(fēng)格什么是軟件架構(gòu)風(fēng)格 軟件架構(gòu)風(fēng)格就是指軟件架構(gòu)的模式。什么是模式 模式是特定環(huán)境(上下文)出現(xiàn)的重復(fù)問題的解決方案。因此軟件架構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)架構(gòu)的慣用模式。軟件架構(gòu)定義了特定領(lǐng)域的計(jì)算模式,反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語義特性,定義了一組指導(dǎo)構(gòu)建系統(tǒng)的規(guī)則。軟件架構(gòu)風(fēng)格什么是軟件架構(gòu)風(fēng)格軟件架構(gòu)風(fēng)格分層系統(tǒng)(OSI模型、TCP協(xié)議棧)C2風(fēng)格客戶/服務(wù)器風(fēng)格(C/S風(fēng)格)瀏覽器/服務(wù)器(B/S風(fēng)格)公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)WEBSERVICE風(fēng)格SOA面向服務(wù)架構(gòu)其它風(fēng)格

MVS、虛擬機(jī)、管道過濾器、數(shù)據(jù)流、倉庫等其它風(fēng)格。軟件架構(gòu)風(fēng)格分層系統(tǒng)(OSI模型、TCP協(xié)議棧)分層系統(tǒng)分層設(shè)計(jì)的要點(diǎn)

1每一層為上層服務(wù),并作為下一層的客戶。

2內(nèi)部層只對(duì)相鄰層可見。

3層與層之間的接口通過決定層間如何交互的協(xié)議來定義拓?fù)浼s束。分層設(shè)計(jì)的優(yōu)點(diǎn)

1支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì)。

2支持功能增強(qiáng),每次功能改變最多影響上下兩層。

3支持重用,只要提供的服務(wù)接口不變,同一層不同實(shí)現(xiàn)可方便的替換。分層設(shè)計(jì)的不足

1效率和系統(tǒng)性能

2很難找到一個(gè)合適的、正確的層次抽象方法。

3層之間需要定義標(biāo)準(zhǔn)的接口,

4不同的功能實(shí)現(xiàn)依賴與不同的層,不能做到構(gòu)件獨(dú)立。

分層系統(tǒng)分層設(shè)計(jì)的要點(diǎn)分層系統(tǒng)舉例

應(yīng)用層業(yè)務(wù)層系統(tǒng)抽象層驅(qū)動(dòng)及OS層VOD點(diǎn)播STOCK股票BROWSER界面SI解析搜索節(jié)目管理數(shù)據(jù)存儲(chǔ)os封裝平臺(tái)驅(qū)動(dòng)封裝啟動(dòng)及初始化STOS20\OS21平臺(tái)stLINUX平臺(tái)bbroadcom平臺(tái)分層系統(tǒng)舉例應(yīng)用層業(yè)務(wù)層系統(tǒng)抽象層驅(qū)動(dòng)及OS層VOD點(diǎn)播S客戶/服務(wù)器風(fēng)格兩層C/S構(gòu)架特點(diǎn)應(yīng)用功能分為客戶端應(yīng)用程序和數(shù)據(jù)庫服務(wù)器(負(fù)責(zé)數(shù)據(jù)管理),兩者之間通過網(wǎng)絡(luò)進(jìn)行交互。優(yōu)點(diǎn)

1實(shí)現(xiàn)了應(yīng)用程序和數(shù)據(jù)管理的分離。

2可以開發(fā)多樣的應(yīng)用程序,不必對(duì)每一個(gè)新的應(yīng)用程序開發(fā)獨(dú)立的數(shù)據(jù)管理程序。

3實(shí)現(xiàn)分布式計(jì)算,系統(tǒng)擴(kuò)展方便。缺點(diǎn)

1客戶端程序風(fēng)格不一,不利于推廣和維護(hù)、移植性差。

2開發(fā)復(fù)雜、成本高。

3客戶機(jī)負(fù)荷太重,性能變壞。

3安全性差。客戶/服務(wù)器風(fēng)格兩層C/S構(gòu)架特點(diǎn)客戶/服務(wù)器風(fēng)格三層C/S架構(gòu)風(fēng)格特點(diǎn)三層C/S架構(gòu)把整個(gè)應(yīng)用邏輯獨(dú)立出來,放在應(yīng)用服務(wù)器上,整個(gè)應(yīng)用程序分為客戶端的表示層、應(yīng)用功能層、數(shù)據(jù)層(3tier)。中間件的提出 一類構(gòu)件,位于基于客戶/服務(wù)器的操作系統(tǒng)與應(yīng)用程序之間,管理計(jì)算資源以及負(fù)責(zé)客戶機(jī)和服務(wù)器或者服務(wù)器之間的通信,屏蔽多樣的硬件和網(wǎng)絡(luò),實(shí)現(xiàn)應(yīng)用程序各個(gè)部分的互聯(lián)和無操作??蛻?服務(wù)器風(fēng)格三層C/S架構(gòu)風(fēng)格特點(diǎn)

三層C/S優(yōu)點(diǎn)

1邏輯結(jié)構(gòu)清晰。

2可維護(hù)、可擴(kuò)展性強(qiáng)、具有良好的可升級(jí)性和開放性。

3安全性強(qiáng)。缺點(diǎn) 通信效率要求高。三層C/S優(yōu)

三層C/S 三層C/S B/S風(fēng)格一種特殊的C/S風(fēng)格,表示層有瀏覽器實(shí)現(xiàn),實(shí)現(xiàn)了表示層開發(fā)的通用性,客戶端的零維護(hù)。具體結(jié)構(gòu)為:瀏覽器/WEB服務(wù)器/數(shù)據(jù)庫服務(wù)器。是未來的趨勢(shì)

B/S架構(gòu)提供了異種機(jī)、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實(shí)的開放性基礎(chǔ)。 B/S風(fēng)格一種特殊的C/S風(fēng)格,表示層有瀏覽器實(shí)現(xiàn), B/S模型 B/S模型 C/S、B/S架構(gòu)的使用機(jī)頂盒軟件可以把應(yīng)用程序分為獨(dú)立的表示層、應(yīng)用邏輯層、數(shù)據(jù)接收層,每一層各司其職,提高軟件架構(gòu)的邏輯清晰度。 C/S、B/S架構(gòu)的使用機(jī)頂盒軟件可以把應(yīng)用程序分為獨(dú) C/S、B/S應(yīng)用三層邏輯界面應(yīng)用邏輯數(shù)據(jù)接收和保存 C/S、B/S應(yīng)用三層邏輯界面應(yīng)用邏輯數(shù)據(jù)接收和保存 C2風(fēng)格特點(diǎn)

1通過構(gòu)件構(gòu)建軟件,形成構(gòu)件軟件開發(fā)模型。

2構(gòu)件之間只能通過連接件進(jìn)行異步消息進(jìn)行通信。

3連接件可以連接任意數(shù)目的構(gòu)件和其它連接件。

4構(gòu)件相對(duì)獨(dú)立,每個(gè)構(gòu)件完成一定的應(yīng)用功能。

5容易重用、靈活擴(kuò)展性強(qiáng)缺點(diǎn)

1調(diào)試復(fù)雜 C2風(fēng)格特點(diǎn) C2風(fēng)格

構(gòu)件構(gòu)件構(gòu)件連接件連接件連接件 C2風(fēng)格構(gòu)件構(gòu)件構(gòu)件連接件連接件連接件C2風(fēng)格的使用GUI的設(shè)計(jì)

1把每一個(gè)控件獨(dú)立化,之間不存在相互調(diào)用關(guān)系

2控件之間通過消息進(jìn)行通信。C2風(fēng)格的使用GUI的設(shè)計(jì)公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)目的建立一種機(jī)制,使分布式對(duì)象可以透明的通信,建立一個(gè)異質(zhì)的分布式計(jì)算環(huán)境。特點(diǎn)

1提供了基于面向?qū)ο蠹夹g(shù)的軟件構(gòu)件構(gòu)造技術(shù)。

2分布式對(duì)象的通信都通過一個(gè)公共的對(duì)象請(qǐng)求代理中心(中間件)實(shí)現(xiàn)同步通信,語言無關(guān)的標(biāo)準(zhǔn)的接口調(diào)用,ORB還通過服務(wù)管理對(duì)象、創(chuàng)建對(duì)象,實(shí)現(xiàn)對(duì)象的互操作。

3提供軟總線機(jī)制,任何語言開發(fā)的符合接口規(guī)范的對(duì)象均能夠集成到系統(tǒng)中。公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)目的公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)優(yōu)點(diǎn)

1平臺(tái)、語言無關(guān)性,通過提供的語言無關(guān)的對(duì)象對(duì)外的接口對(duì)對(duì)象進(jìn)行調(diào)用。

2分布、異構(gòu)環(huán)境下實(shí)現(xiàn)對(duì)象的可重用、可移植和互操作。

3實(shí)現(xiàn)客戶與服務(wù)對(duì)象的完全分開,實(shí)現(xiàn)細(xì)節(jié)和位置透明。缺點(diǎn)

1規(guī)范復(fù)雜公共對(duì)象請(qǐng)求代理構(gòu)架(CORBA)優(yōu)點(diǎn) SOA面向服務(wù)架構(gòu)面向服務(wù)的架構(gòu)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元----服務(wù)(service),通過服務(wù)間定義良好的接口和契約(contract)聯(lián)系起來。它可以根據(jù)需求通過網(wǎng)絡(luò)對(duì)松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。包含三種角色:服務(wù)提供者、服務(wù)請(qǐng)求者、服務(wù)代理者。特點(diǎn)

1一種粗粒度、松耦合、位置透明的服務(wù)架構(gòu)。

2服務(wù)之間通過簡單、精確定義的接口(服務(wù)契約)進(jìn)行通訊,不涉及底層編程接口和通訊模型。

3服務(wù)是自治的(Autonomous)、無狀態(tài)(stateless)功能實(shí)體。 SOA面向服務(wù)架構(gòu)面向服務(wù)的架構(gòu)是一個(gè)組件模型,它將應(yīng) SOA面向服務(wù)架構(gòu)優(yōu)點(diǎn)

1

編碼靈活性、系統(tǒng)集成方便。

2容易維護(hù),得益于采用開放標(biāo)準(zhǔn)及服務(wù)之間的松耦合特性。

3服務(wù)訪問方便,方便支持多種客戶類型。

4開發(fā)和部署上的更高的伸縮性、靈活性和更高的可用性。 SOA面向服務(wù)架構(gòu)優(yōu)點(diǎn) WEBSERVICE架構(gòu)風(fēng)格即internet上部署的應(yīng)用服務(wù)和模塊化應(yīng)用,webservice使通過internet完成軟件、服務(wù)、客戶、供應(yīng)商、商業(yè)流程的互操作、交換和協(xié)作成為可能,webservice架構(gòu)是SOA架構(gòu)的一種具體實(shí)現(xiàn)方式。特點(diǎn)

1模塊的大粒度封裝,應(yīng)用軟件或模塊都以一種web服務(wù)的形式進(jìn)行封裝并對(duì)外發(fā)布,每一個(gè)webservice都實(shí)現(xiàn)了一定的計(jì)算功能,實(shí)現(xiàn)了信息、行為、數(shù)據(jù)表現(xiàn)和業(yè)務(wù)流程的封裝,軟件成為一種服務(wù)。

2松耦合,通過internet進(jìn)行相互調(diào)用和互操作。

3以xml、soap、WSDL、UDDI等技術(shù)為基礎(chǔ),實(shí)現(xiàn)服務(wù)的動(dòng)態(tài)描述、發(fā)現(xiàn)、動(dòng)態(tài)綁定和調(diào)用,實(shí)現(xiàn)業(yè)務(wù)流程的靈活修改和動(dòng)態(tài)裝配。 WEBSERVICE架構(gòu)風(fēng)格即internet上部 WEBSERVICE模型服務(wù)注冊(cè)中心服務(wù)請(qǐng)求者服務(wù)提供者綁定查找 WEBSERVICE模型服務(wù)注冊(cè)中心服務(wù)請(qǐng)求者服務(wù)提如何使用SOA及WEBSERVICE在我們的機(jī)頂盒軟件設(shè)計(jì)中,建立軟件即服務(wù)的思想,把軟件實(shí)現(xiàn)成提供一定服務(wù)功能的黑盒子,并且服務(wù)功能的接口以標(biāo)準(zhǔn)開放的形式發(fā)布或提供,使用者只要讀取到該接口就可以知道服務(wù)的功能和位置,并與之交互或調(diào)用。如何使用SOA及WEBSERVICE在我們的機(jī)頂盒軟件設(shè)計(jì) MVC架構(gòu)

視圖(GUI,頁面)控制器(事件處理)模型(業(yè)務(wù)邏輯) MVC架構(gòu)視圖(GUI,頁面)控制器(事件處理)模

三軟件架構(gòu)視圖軟件架構(gòu)視圖就是對(duì)軟件架構(gòu)的表示和建模。對(duì)架構(gòu)的不同角度的建模。 結(jié)構(gòu)模型、動(dòng)態(tài)模型、過程模型、功能模型。4+1視圖 三軟件架構(gòu)視圖軟件架構(gòu)視圖就是對(duì)軟件架構(gòu)的表示和建 4+1視圖經(jīng)典的4+1視圖邏輯視圖開發(fā)視圖進(jìn)程視圖物理視圖場景 4+1視圖經(jīng)典的4+1視圖邏輯視圖開發(fā)視圖進(jìn)程視圖物架構(gòu)設(shè)計(jì)及應(yīng)用全解課件

其它多視圖 其它多視圖

邏輯視圖功能模型,描述系統(tǒng)的功能需求,即系統(tǒng)提供提供給最終用戶的服務(wù)。在面向?qū)ο蠹夹g(shù)中,可以使用對(duì)象模型、類圖來描述邏輯視圖,標(biāo)識(shí)類與類之間的相互關(guān)系。機(jī)頂盒軟件可以按功能模塊來描述邏輯視圖。 邏輯視圖功能模型,描述系統(tǒng)的功能需求,即系統(tǒng)提供提供給

邏輯視圖

NVODEPG節(jié)目搜索SI解析結(jié)果CACHE管理SI接收 邏輯視圖NVODEPG節(jié)目搜索SI解析結(jié)果CACH

開發(fā)視圖軟件模塊的組織和管理。開發(fā)視圖側(cè)重軟件開發(fā)需求,如軟件的重用、擴(kuò)展性、通用性、可移植性、模塊的獨(dú)立性等需求。開發(fā)視圖風(fēng)格通常采用層次結(jié)構(gòu)風(fēng)格。開發(fā)視圖軟件模塊的

機(jī)頂盒開發(fā)視圖機(jī)頂盒開發(fā)視圖應(yīng)用業(yè)務(wù)邏輯平臺(tái)抽象層驅(qū)動(dòng)VOD瀏覽器股票CAEPGSI解析節(jié)目搜索FLASHDEMUXE2PDEMODSMARTFLASHPTIVIDAVAUDav播放機(jī)頂盒開發(fā)視圖機(jī)頂盒開發(fā)視圖應(yīng)用

進(jìn)程視圖系統(tǒng)的運(yùn)行特性關(guān)注非功能性需求,如性能和可用性等質(zhì)量屬性、容錯(cuò)性。機(jī)頂盒軟件可以用進(jìn)程視圖描述關(guān)鍵進(jìn)程或線程的執(zhí)行情況以及之間的通信。進(jìn)程視圖系統(tǒng)的運(yùn)

進(jìn)程視圖

搜索任務(wù)SI接收切換換臺(tái)PIPE接收EIT事件解析BOOK任務(wù)股票LOADER檢測 進(jìn)程視圖搜索任務(wù)SI接收切換換臺(tái)PIPE接收EIT

物理視圖軟件到硬件的映射考慮系統(tǒng)性能、規(guī)模以及可靠性。小的獨(dú)立的嵌入式系統(tǒng)可以沒有物理視圖,或者只有FLASH規(guī)劃。 物理視圖軟件到硬件的映射

物理視圖物理視圖

場景系統(tǒng)活動(dòng)的抽象通過場景把四個(gè)視圖有機(jī)聯(lián)系。通過構(gòu)建場景可以幫助分析構(gòu)架的構(gòu)件之間的相互關(guān)系(內(nèi)外場景),也可以通過場景來驗(yàn)證特定視圖是否滿足需求。 場景系統(tǒng)活動(dòng)的抽象

場景視圖 場景視圖

數(shù)據(jù)視圖數(shù)據(jù)庫系統(tǒng)開發(fā)需要E/R實(shí)體關(guān)系圖數(shù)據(jù)分布的七種策略

1大集中

2分區(qū)

3獨(dú)立模式

4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論