架構(gòu)設計及應用全解課件_第1頁
架構(gòu)設計及應用全解課件_第2頁
架構(gòu)設計及應用全解課件_第3頁
架構(gòu)設計及應用全解課件_第4頁
架構(gòu)設計及應用全解課件_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

架構(gòu)設計作者:毛國紅議程?

架構(gòu)的定義架構(gòu)風格?

架構(gòu)視圖?

架構(gòu)開發(fā)模式?

構(gòu)架設計方法什么是軟件架構(gòu)自從軟件系統(tǒng)首次被分成許多模塊,模塊之間有相互作用,組合起來有整體的屬性,就具有了體系結(jié)構(gòu)解決復雜問題的對策核心思想任何作為復合整體的系統(tǒng)都有架構(gòu)分而治之關(guān)注大局、把握整體架構(gòu)的定義架構(gòu)的定義從系統(tǒng)的構(gòu)造或?qū)ο到y(tǒng)設計的決策方面進行定義學院派定義

IEEE610.12-1990軟件工程標準詞匯中是這樣定義架構(gòu)的:架構(gòu)是以組件、組件之間的關(guān)系、組件與環(huán)境之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織結(jié)構(gòu),以及指導上述內(nèi)容設計與演化的原理(Principle)。SEI(美國卡內(nèi)基梅隆大學軟件研究所)的定義某個軟件或計算機系統(tǒng)的軟件架構(gòu)是該系統(tǒng)的一個或多個結(jié)構(gòu),每個結(jié)構(gòu)均由軟件元素、這些元素的外部可見屬性、這些元素之間的關(guān)大師對架構(gòu)的定義構(gòu)造派Garlan和Shaw的定義Shaw

的定義軟件系統(tǒng)的架構(gòu)將系統(tǒng)描述為計算組件及組件之間的交互(The

architectureofa

software

system

defines

that

system

interms

of

computational

componentsandinteractions

among

those

components.)。這里的計算組件包括我們所說的模塊、子系統(tǒng)、類等不同粒度的承擔計算任務的軟件單元。架構(gòu)包括組件(Component)、連接件(Connector)和約束(Constrain)三大要素。組件可以是一組代碼(例如程序模塊),也可以是獨立的程序(例如數(shù)據(jù)庫服務器)。連接件可以是過程調(diào)用、管道和消息等,用于表示組件之間的相互關(guān)系?!凹s束”一般為組件連接時的條件。Perry和Wolf的定義Perry和Wolf提出:軟件架構(gòu)是一組具有特定形式的架構(gòu)元素,這些元素分為三類:負責完成數(shù)據(jù)加工的處理元素(ProcessingElements)、作為被加工信息的數(shù)據(jù)元素(DataElements)及用于把架構(gòu)的不同部分組合在一起的連接元素(Connecting

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

Woods是這樣認為的:軟件架構(gòu)是一系列設計決策,如果作了不正確的決策,你的項目可能最終會被取消(Software

architectureis

the

set

of

design

decisions

which,ifmade

incorrectly,may

cause

your

projectto

be

cancelled.)Booch、Rumbaugh和Jacobson的定義(RUP)架構(gòu)是一系列重要決策的集合,這些決策與以下內(nèi)容有關(guān):軟件的組織,構(gòu)成系統(tǒng)的結(jié)構(gòu)元素及其接口的選擇,這些元素在相互協(xié)作中明確表現(xiàn)出的行為,這些結(jié)構(gòu)元素和行為元素進一步組合所構(gòu)成的更大規(guī)模的子系統(tǒng),以及指導這一組織——包括這些元素及其接口、它們的協(xié)作和它們的組合——架構(gòu)風格。總結(jié)?

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

SERVICE風格SOA

面向服務架構(gòu)其它風格MVS、虛擬機、管道過濾器、數(shù)據(jù)流、倉庫等其它風格。分層系統(tǒng)?

分層設計的要點每一層為上層服務,并作為下一層的客戶。內(nèi)部層只對相鄰層可見。層與層之間的接口通過決定層間如何交互的協(xié)議來定義拓撲約束。?

分層設計的優(yōu)點支持基于抽象程度遞增的系統(tǒng)設計。支持功能增強,每次功能改變最多影響上下兩層。支持重用,只要提供的服務接口不變,同一層不同實現(xiàn)可方便的替換。?

分層設計的不足效率和系統(tǒng)性能很難找到一個合適的、正確的層次抽象方法。層之間需要定義標準的接口,不同的功能實現(xiàn)依賴與不同的層,不能做到構(gòu)件獨立。分層系統(tǒng)舉例

應用層VOD點

STOCK播

股票BROWSER界面業(yè)務層SI解析

搜索節(jié)目管理數(shù)據(jù)存儲系統(tǒng)抽象層os封裝

平臺驅(qū)動封

啟動及初始裝

化驅(qū)動及OS層STOS20\OS21平臺st

LINUX

平臺bbroadcom平臺客戶/服務器風格兩層C/S構(gòu)架特點應用功能分為客戶端應用程序和數(shù)據(jù)庫服務器(負責數(shù)據(jù)管理),兩者之間通過網(wǎng)絡進行交互。優(yōu)點實現(xiàn)了應用程序和數(shù)據(jù)管理的分離??梢蚤_發(fā)多樣的應用程序,不必對每一個新的應用程序開發(fā)獨立的數(shù)據(jù)管理程序。實現(xiàn)分布式計算,系統(tǒng)擴展方便。缺點客戶端程序風格不一,不利于推廣和維護、移植性差。開發(fā)復雜、成本高??蛻魴C負荷太重,性能變壞。3安全性差??蛻?服務器風格三層C/S架構(gòu)風格特點三層C/S架構(gòu)把整個應用邏輯獨立出來,放在應用服務器上,整個應用程序分為客戶端的表示層、應用功能層、數(shù)據(jù)層(3

tier)。中間件的提出一類構(gòu)件,位于基于客戶/服務器的操作系統(tǒng)與應用程序之間,管理計算資源以及負責客戶機和服務器或者服務器之間的通信,屏蔽多樣的硬件和網(wǎng)絡,實現(xiàn)應用程序各個部分的互聯(lián)和無操作。三層C/S優(yōu)點邏輯結(jié)構(gòu)清晰。可維護、可擴展性強、具有良好的可升級性和開放性。安全性強。缺點通信效率要求高。三層C/SB/S

風格一種特殊的C/S風格,表示層有瀏覽器實現(xiàn),實現(xiàn)了表示層開發(fā)的通用性,客戶端的零維護。具體結(jié)構(gòu)為:瀏覽器/WEB

服務器/數(shù)據(jù)庫服務器。是未來的趨勢B/S架構(gòu)提供了異種機、異種網(wǎng)、異種應用服務的聯(lián)機、聯(lián)網(wǎng)、統(tǒng)一服務的最現(xiàn)實的開放性基礎(chǔ)。B/S

模型C/S、B/S架構(gòu)的使用機頂盒軟件可以把應用程序分為獨立的表示層、應用邏輯層、數(shù)據(jù)接收層,每一層各司其職,

提高軟件架構(gòu)的邏輯清晰度。C/S

、B/S應用三層邏輯界面應用邏輯數(shù)據(jù)接收和保存C2風格特點通過構(gòu)件構(gòu)建軟件,形成構(gòu)件軟件開發(fā)模型。構(gòu)件之間只能通過連接件進行異步消息進行通信。連接件可以連接任意數(shù)目的構(gòu)件和其它連接件。構(gòu)件相對獨立,每個構(gòu)件完成一定的應用功能。容易重用、靈活擴展性強缺點調(diào)試復雜C2風格構(gòu)件構(gòu)件構(gòu)件連接件連接件連接件C2風格的使用GUI的設計把每一個控件獨立化,之間不存在相互調(diào)用關(guān)系控件之間通過消息進行通信。公共對象請求代理構(gòu)架(CORBA)目的建立一種機制,使分布式對象可以透明的通信,建立一個異質(zhì)的分布式計算環(huán)境。特點提供了基于面向?qū)ο蠹夹g(shù)的軟件構(gòu)件構(gòu)造技術(shù)。分布式對象的通信都通過一個公共的對象請求代理中心(中間件)實現(xiàn)同步通信,語言無關(guān)的標準的接口調(diào)用,ORB還通過服務管理對象、創(chuàng)建對象,實現(xiàn)對象的互操作。提供軟總線機制,任何語言開發(fā)的符合接口規(guī)范的對象均能夠集成到系統(tǒng)中。公共對象請求代理構(gòu)架(CORBA)優(yōu)點平臺、語言無關(guān)性,通過提供的語言無關(guān)的對象對外的接口對對象進行調(diào)用。分布、異構(gòu)環(huán)境下實現(xiàn)對象的可重用、可移植和互操作。實現(xiàn)客戶與服務對象的完全分開,實現(xiàn)細節(jié)和位置透明。缺點規(guī)范復雜SOA

面向服務架構(gòu)面向服務的架構(gòu)是一個組件模型,它將應用程序的不同功能單元----服務(service),通過服務間定義良好的接口和契約(contract)聯(lián)系起來。它可以根據(jù)需求通過網(wǎng)絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用。包含三種角色:服務提供者、服務請求者、服務代理者。特點1一種粗粒度、松耦合、位置透明的服務架構(gòu)。服務之間通過簡單、精確定義的接口(服務契約)進行通訊,不涉及底層編程接口和通訊模型。服務是自治的(Autonomous)、無狀態(tài)(stateless)功能實體。SOA

面向服務架構(gòu)優(yōu)點編碼靈活性、系統(tǒng)集成方便。容易維護,得益于采用開放標準及服務之間的松耦合特性。服務訪問方便,方便支持多種客戶類型。開發(fā)和部署上的更高的伸縮性、靈活性和更高的可用性。WEB

SERVICE

架構(gòu)風格即internet

上部署的應用服務和模塊化應用,webservice使通過internet完成軟件、服務、客戶、供應商、商業(yè)流程的互操作、交換和協(xié)作成為可能,

web

service

架構(gòu)是SOA架構(gòu)的一種具體實現(xiàn)方式。特點模塊的大粒度封裝,應用軟件或模塊都以一種web服務的形式進行封裝并對外發(fā)布,每一個webservice

都實現(xiàn)了一定的計算功能,實現(xiàn)了信息、行為、數(shù)據(jù)表現(xiàn)和業(yè)務流程的封裝,軟件成為一種服務。松耦合,通過internet進行相互調(diào)用和互操作。以xml、soap、WSDL、UDDI等技術(shù)為基礎(chǔ),實現(xiàn)服務的動態(tài)描述、發(fā)現(xiàn)、動態(tài)綁定和調(diào)用,實現(xiàn)業(yè)務流程的靈活修改和動態(tài)裝配。WEB

SERVICE

模型服務請求者服務提供者綁定服務注冊中心查找如何使用SOA及WEB

SERVICE在我們的機頂盒軟件設計中,建立軟件即服務的思想,把軟件實現(xiàn)成提供一定服務功能的黑盒子,并且服務功能的接口以標準開放的形式發(fā)布或提供,使用者只要讀取到該接口就可以知道服務的功能和位置,并與之交互或調(diào)用。MVC

架構(gòu)

視圖(GUI,頁面)控制器(事件處理)模型(業(yè)務邏輯)三 軟件架構(gòu)視圖軟件架構(gòu)視圖就是對軟件架構(gòu)的表示和建模。?

對架構(gòu)的不同角度的建模。l

結(jié)構(gòu)模型、動態(tài)模型、過程模型、功能模型。l

4+1

視圖4+1

視圖經(jīng)典的4+1視圖邏輯視圖開發(fā)視圖進程視圖物理視圖場景其它多視圖邏輯視圖功能模型,描述系統(tǒng)的功能需求,即系統(tǒng)提供提供給最終用戶的服務。在面向?qū)ο蠹夹g(shù)中,可以使用對象模型、類圖

來描述邏輯視圖,標識類與類之間的相互關(guān)系。機頂盒軟件可以按功能模塊來描述邏輯視圖。邏輯視圖

NVODEPG節(jié)目搜索SI解析結(jié)果CACHE管理SI接收開發(fā)視圖軟件模塊的組織和管理。開發(fā)視圖側(cè)重軟件開發(fā)需求,如軟件的重用、擴展性、通用性、可移植性、模塊的獨立性等需求。開發(fā)視圖風格通常采用層次結(jié)構(gòu)風格。機頂盒開發(fā)視圖機頂盒開發(fā)視圖應用業(yè)務邏輯平臺抽象層驅(qū)動VOD瀏覽器股票CAEPGSI解析節(jié)目搜索FLASHDEMUXE2PDEMODSMARTFLASHPTIVIDAVAUDav播放進程視圖系統(tǒng)的運行特性關(guān)注非功能性需求,如性能和可用性等質(zhì)量屬性、容錯性。機頂盒軟件可以用進程視圖描述關(guān)鍵進程或線程的執(zhí)行情況以及之間的通信。進程視圖

搜索任務SI

接收切換換臺PIPE接收EIT事件解析BOOK任務股票LOADER檢測物理視圖軟件到硬件的映射考慮系統(tǒng)性能、規(guī)模以及可靠性。小的獨立的嵌入式系統(tǒng)可以沒有物理視圖,或者只有FLASH規(guī)劃。物理視圖場景系統(tǒng)活動的抽象通過場景把四個視圖有機聯(lián)系。通過構(gòu)建場景可以幫助分析構(gòu)架的構(gòu)件之間的相互關(guān)系(內(nèi)外場景),也可以通過場景來驗證特定視圖是否滿足需求。場景視圖數(shù)據(jù)視圖數(shù)據(jù)庫系統(tǒng)開發(fā)需要E/R

實體關(guān)系圖數(shù)據(jù)分布的七種策略大集中分區(qū)獨立模式子集復制重組不相容四架構(gòu)開發(fā)過程模型議程兩種開發(fā)流程概念架構(gòu)開發(fā)過程細化架構(gòu)開發(fā)過程架構(gòu)開發(fā)范式基于架構(gòu)的軟件開發(fā)模型需求分析概念架構(gòu)細化架構(gòu)構(gòu)架文檔化構(gòu)架復審構(gòu)架實現(xiàn)構(gòu)架演化統(tǒng)一開發(fā)過程(RUP)用例驅(qū)動用例驅(qū)動系統(tǒng)架構(gòu),系統(tǒng)架構(gòu)反過來影響用例的選擇。以基本架構(gòu)為中心基于關(guān)鍵功能和高風險的用例進行架構(gòu)設計迭代式和增量迭代與一組用例相關(guān),迭代涉及最為重要的風險。概念架構(gòu)概念架構(gòu)是大型系統(tǒng)成敗的關(guān)鍵重大需求塑造概念架構(gòu),概念架構(gòu)針對重大需求、特色需求、高風險需求給出高層次的解決方案和決策概念結(jié)構(gòu)設計過程過程需求結(jié)構(gòu)化。分析約束影響,約束構(gòu)成系統(tǒng)的上下文。確定關(guān)鍵質(zhì)量,質(zhì)量是系統(tǒng)完善的動力。確定關(guān)鍵功能,功能是發(fā)現(xiàn)職責的依據(jù)?;陉P(guān)鍵功能進行用例開發(fā)。系統(tǒng)切分、高層分割。利用目標場景決策表考慮非功能需求。得到概念架構(gòu)模式。需求結(jié)構(gòu)化約束影響確定關(guān)鍵質(zhì)量確定關(guān)鍵功能核心功能業(yè)務層的接口要反映這些功能,如NVOD、EPG等。必須實現(xiàn)的功能來自客戶方的要求。如排序方式。覆蓋了系統(tǒng)架構(gòu)的一些方面。數(shù)據(jù)格式的改變,造成數(shù)據(jù)的不兼容,必須實現(xiàn)數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論