版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
架構(gòu)設(shè)計(jì)作者:毛國紅議程?
架構(gòu)的定義架構(gòu)風(fēng)格?
架構(gòu)視圖?
架構(gòu)開發(fā)模式?
構(gòu)架設(shè)計(jì)方法什么是軟件架構(gòu)自從軟件系統(tǒng)首次被分成許多模塊,模塊之間有相互作用,組合起來有整體的屬性,就具有了體系結(jié)構(gòu)解決復(fù)雜問題的對策核心思想任何作為復(fù)合整體的系統(tǒng)都有架構(gòu)分而治之關(guān)注大局、把握整體架構(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)造派Garlan和Shaw的定義Shaw
的定義軟件系統(tǒng)的架構(gòu)將系統(tǒng)描述為計(jì)算組件及組件之間的交互(The
architectureofa
software
system
defines
that
system
interms
of
computational
componentsandinteractions
among
those
components.)。這里的計(jì)算組件包括我們所說的模塊、子系統(tǒng)、類等不同粒度的承擔(dān)計(jì)算任務(wù)的軟件單元。架構(gòu)包括組件(Component)、連接件(Connector)和約束(Constrain)三大要素。組件可以是一組代碼(例如程序模塊),也可以是獨(dú)立的程序(例如數(shù)據(jù)庫服務(wù)器)。連接件可以是過程調(diào)用、管道和消息等,用于表示組件之間的相互關(guān)系?!凹s束”一般為組件連接時(shí)的條件。Perry和Wolf的定義Perry和Wolf提出:軟件架構(gòu)是一組具有特定形式的架構(gòu)元素,這些元素分為三類:負(fù)責(zé)完成數(shù)據(jù)加工的處理元素(ProcessingElements)、作為被加工信息的數(shù)據(jù)元素(DataElements)及用于把架構(gòu)的不同部分組合在一起的連接元素(Connecting
Elements)。Boehm的定義BarryBoehm和他的學(xué)生提出:軟件架構(gòu)包括系統(tǒng)組件、連接件和約束的集合,反應(yīng)不同涉眾需求的集合,以及原理(Rationale)的集合。其中的原理,用于說明由組件、連接件和約束所定義的系統(tǒng)在實(shí)現(xiàn)時(shí),是如何滿足不同涉眾需求的。決策派Woods的觀點(diǎn)Eoin
Woods是這樣認(rèn)為的:軟件架構(gòu)是一系列設(shè)計(jì)決策,如果作了不正確的決策,你的項(xiàng)目可能最終會被取消(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)元素和行為元素進(jìn)一步組合所構(gòu)成的更大規(guī)模的子系統(tǒng),以及指導(dǎo)這一組織——包括這些元素及其接口、它們的協(xié)作和它們的組合——架構(gòu)風(fēng)格??偨Y(jié)?
架構(gòu)首先是對系統(tǒng)的抽象?它是一個(gè)軟件系統(tǒng)從整體到部分的最高層次的劃分。核心即軟件系統(tǒng)的結(jié)構(gòu)、行為、屬性的高級抽象,基本要素包括組件、連接件及其約束(連接語義)等各種粒度的計(jì)算單元及其交互、任務(wù)流,同時(shí)還要關(guān)注與外界的交互。建造一個(gè)系統(tǒng)所作出的最高層次的、以后難以更改的,商業(yè)的和技術(shù)的決定。不同的視角、不同的側(cè)重點(diǎn)。軟件架構(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)格分層系統(tǒng)(OSI模型、TCP協(xié)議棧)C2風(fēng)格客戶/服務(wù)器風(fēng)格(C/S風(fēng)格)瀏覽器/服務(wù)器(B/S風(fēng)格)公共對象請求代理構(gòu)架(CORBA)WEB
SERVICE風(fēng)格SOA
面向服務(wù)架構(gòu)其它風(fēng)格MVS、虛擬機(jī)、管道過濾器、數(shù)據(jù)流、倉庫等其它風(fēng)格。分層系統(tǒng)?
分層設(shè)計(jì)的要點(diǎn)每一層為上層服務(wù),并作為下一層的客戶。內(nèi)部層只對相鄰層可見。層與層之間的接口通過決定層間如何交互的協(xié)議來定義拓?fù)浼s束。?
分層設(shè)計(jì)的優(yōu)點(diǎn)支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì)。支持功能增強(qiáng),每次功能改變最多影響上下兩層。支持重用,只要提供的服務(wù)接口不變,同一層不同實(shí)現(xiàn)可方便的替換。?
分層設(shè)計(jì)的不足效率和系統(tǒng)性能很難找到一個(gè)合適的、正確的層次抽象方法。層之間需要定義標(biāo)準(zhǔn)的接口,不同的功能實(shí)現(xiàn)依賴與不同的層,不能做到構(gòu)件獨(dú)立。分層系統(tǒng)舉例
應(yīng)用層VOD點(diǎn)
STOCK播
股票BROWSER界面業(yè)務(wù)層SI解析
搜索節(jié)目管理數(shù)據(jù)存儲系統(tǒng)抽象層os封裝
平臺驅(qū)動封
啟動及初始裝
化驅(qū)動及OS層STOS20\OS21平臺st
LINUX
平臺bbroadcom平臺客戶/服務(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)實(shí)現(xiàn)了應(yīng)用程序和數(shù)據(jù)管理的分離??梢蚤_發(fā)多樣的應(yīng)用程序,不必對每一個(gè)新的應(yīng)用程序開發(fā)獨(dú)立的數(shù)據(jù)管理程序。實(shí)現(xiàn)分布式計(jì)算,系統(tǒng)擴(kuò)展方便。缺點(diǎn)客戶端程序風(fēng)格不一,不利于推廣和維護(hù)、移植性差。開發(fā)復(fù)雜、成本高??蛻魴C(jī)負(fù)荷太重,性能變壞。3安全性差??蛻?服務(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ù)層(3
tier)。中間件的提出一類構(gòu)件,位于基于客戶/服務(wù)器的操作系統(tǒng)與應(yīng)用程序之間,管理計(jì)算資源以及負(fù)責(zé)客戶機(jī)和服務(wù)器或者服務(wù)器之間的通信,屏蔽多樣的硬件和網(wǎng)絡(luò),實(shí)現(xiàn)應(yīng)用程序各個(gè)部分的互聯(lián)和無操作。三層C/S優(yōu)點(diǎn)邏輯結(jié)構(gòu)清晰??删S護(hù)、可擴(kuò)展性強(qiáng)、具有良好的可升級性和開放性。安全性強(qiáng)。缺點(diǎn)通信效率要求高。三層C/SB/S
風(fēng)格一種特殊的C/S風(fēng)格,表示層有瀏覽器實(shí)現(xiàn),實(shí)現(xiàn)了表示層開發(fā)的通用性,客戶端的零維護(hù)。具體結(jié)構(gòu)為:瀏覽器/WEB
服務(wù)器/數(shù)據(jù)庫服務(wù)器。是未來的趨勢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
模型C/S、B/S架構(gòu)的使用機(jī)頂盒軟件可以把應(yīng)用程序分為獨(dú)立的表示層、應(yīng)用邏輯層、數(shù)據(jù)接收層,每一層各司其職,
提高軟件架構(gòu)的邏輯清晰度。C/S
、B/S應(yīng)用三層邏輯界面應(yīng)用邏輯數(shù)據(jù)接收和保存C2風(fēng)格特點(diǎn)通過構(gòu)件構(gòu)建軟件,形成構(gòu)件軟件開發(fā)模型。構(gòu)件之間只能通過連接件進(jìn)行異步消息進(jìn)行通信。連接件可以連接任意數(shù)目的構(gòu)件和其它連接件。構(gòu)件相對獨(dú)立,每個(gè)構(gòu)件完成一定的應(yīng)用功能。容易重用、靈活擴(kuò)展性強(qiáng)缺點(diǎn)調(diào)試復(fù)雜C2風(fēng)格構(gòu)件構(gòu)件構(gòu)件連接件連接件連接件C2風(fēng)格的使用GUI的設(shè)計(jì)把每一個(gè)控件獨(dú)立化,之間不存在相互調(diào)用關(guān)系控件之間通過消息進(jìn)行通信。公共對象請求代理構(gòu)架(CORBA)目的建立一種機(jī)制,使分布式對象可以透明的通信,建立一個(gè)異質(zhì)的分布式計(jì)算環(huán)境。特點(diǎn)提供了基于面向?qū)ο蠹夹g(shù)的軟件構(gòu)件構(gòu)造技術(shù)。分布式對象的通信都通過一個(gè)公共的對象請求代理中心(中間件)實(shí)現(xiàn)同步通信,語言無關(guān)的標(biāo)準(zhǔn)的接口調(diào)用,ORB還通過服務(wù)管理對象、創(chuàng)建對象,實(shí)現(xiàn)對象的互操作。提供軟總線機(jī)制,任何語言開發(fā)的符合接口規(guī)范的對象均能夠集成到系統(tǒng)中。公共對象請求代理構(gòu)架(CORBA)優(yōu)點(diǎn)平臺、語言無關(guān)性,通過提供的語言無關(guān)的對象對外的接口對對象進(jìn)行調(diào)用。分布、異構(gòu)環(huán)境下實(shí)現(xiàn)對象的可重用、可移植和互操作。實(shí)現(xiàn)客戶與服務(wù)對象的完全分開,實(shí)現(xiàn)細(xì)節(jié)和位置透明。缺點(diǎn)規(guī)范復(fù)雜SOA
面向服務(wù)架構(gòu)面向服務(wù)的架構(gòu)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元----服務(wù)(service),通過服務(wù)間定義良好的接口和契約(contract)聯(lián)系起來。它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。包含三種角色:服務(wù)提供者、服務(wù)請求者、服務(wù)代理者。特點(diǎn)1一種粗粒度、松耦合、位置透明的服務(wù)架構(gòu)。服務(wù)之間通過簡單、精確定義的接口(服務(wù)契約)進(jìn)行通訊,不涉及底層編程接口和通訊模型。服務(wù)是自治的(Autonomous)、無狀態(tài)(stateless)功能實(shí)體。SOA
面向服務(wù)架構(gòu)優(yōu)點(diǎn)編碼靈活性、系統(tǒng)集成方便。容易維護(hù),得益于采用開放標(biāo)準(zhǔn)及服務(wù)之間的松耦合特性。服務(wù)訪問方便,方便支持多種客戶類型。開發(fā)和部署上的更高的伸縮性、靈活性和更高的可用性。WEB
SERVICE
架構(gòu)風(fēng)格即internet
上部署的應(yīng)用服務(wù)和模塊化應(yīng)用,webservice使通過internet完成軟件、服務(wù)、客戶、供應(yīng)商、商業(yè)流程的互操作、交換和協(xié)作成為可能,
web
service
架構(gòu)是SOA架構(gòu)的一種具體實(shí)現(xiàn)方式。特點(diǎn)模塊的大粒度封裝,應(yīng)用軟件或模塊都以一種web服務(wù)的形式進(jìn)行封裝并對外發(fā)布,每一個(gè)webservice
都實(shí)現(xiàn)了一定的計(jì)算功能,實(shí)現(xiàn)了信息、行為、數(shù)據(jù)表現(xiàn)和業(yè)務(wù)流程的封裝,軟件成為一種服務(wù)。松耦合,通過internet進(jìn)行相互調(diào)用和互操作。以xml、soap、WSDL、UDDI等技術(shù)為基礎(chǔ),實(shí)現(xiàn)服務(wù)的動態(tài)描述、發(fā)現(xiàn)、動態(tài)綁定和調(diào)用,實(shí)現(xiàn)業(yè)務(wù)流程的靈活修改和動態(tài)裝配。WEB
SERVICE
模型服務(wù)請求者服務(wù)提供者綁定服務(wù)注冊中心查找如何使用SOA及WEB
SERVICE在我們的機(jī)頂盒軟件設(shè)計(jì)中,建立軟件即服務(wù)的思想,把軟件實(shí)現(xiàn)成提供一定服務(wù)功能的黑盒子,并且服務(wù)功能的接口以標(biāo)準(zhǔn)開放的形式發(fā)布或提供,使用者只要讀取到該接口就可以知道服務(wù)的功能和位置,并與之交互或調(diào)用。MVC
架構(gòu)
視圖(GUI,頁面)控制器(事件處理)模型(業(yè)務(wù)邏輯)三 軟件架構(gòu)視圖軟件架構(gòu)視圖就是對軟件架構(gòu)的表示和建模。?
對架構(gòu)的不同角度的建模。l
結(jié)構(gòu)模型、動態(tài)模型、過程模型、功能模型。l
4+1
視圖4+1
視圖經(jīng)典的4+1視圖邏輯視圖開發(fā)視圖進(jìn)程視圖物理視圖場景其它多視圖邏輯視圖功能模型,描述系統(tǒng)的功能需求,即系統(tǒng)提供提供給最終用戶的服務(wù)。在面向?qū)ο蠹夹g(shù)中,可以使用對象模型、類圖
來描述邏輯視圖,標(biāo)識類與類之間的相互關(guān)系。機(jī)頂盒軟件可以按功能模塊來描述邏輯視圖。邏輯視圖
NVODEPG節(jié)目搜索SI解析結(jié)果CACHE管理SI接收開發(fā)視圖軟件模塊的組織和管理。開發(fā)視圖側(cè)重軟件開發(fā)需求,如軟件的重用、擴(kuò)展性、通用性、可移植性、模塊的獨(dú)立性等需求。開發(fā)視圖風(fēng)格通常采用層次結(jié)構(gòu)風(fēng)格。機(jī)頂盒開發(fā)視圖機(jī)頂盒開發(fā)視圖應(yīng)用業(yè)務(wù)邏輯平臺抽象層驅(qū)動VOD瀏覽器股票CAEPGSI解析節(jié)目搜索FLASHDEMUXE2PDEMODSMARTFLASHPTIVIDAVAUDav播放進(jìn)程視圖系統(tǒng)的運(yùn)行特性關(guān)注非功能性需求,如性能和可用性等質(zhì)量屬性、容錯(cuò)性。機(jī)頂盒軟件可以用進(jìn)程視圖描述關(guān)鍵進(jìn)程或線程的執(zhí)行情況以及之間的通信。進(jìn)程視圖
搜索任務(wù)SI
接收切換換臺PIPE接收EIT事件解析BOOK任務(wù)股票LOADER檢測物理視圖軟件到硬件的映射考慮系統(tǒng)性能、規(guī)模以及可靠性。小的獨(dú)立的嵌入式系統(tǒng)可以沒有物理視圖,或者只有FLASH規(guī)劃。物理視圖場景系統(tǒng)活動的抽象通過場景把四個(gè)視圖有機(jī)聯(lián)系。通過構(gòu)建場景可以幫助分析構(gòu)架的構(gòu)件之間的相互關(guān)系(內(nèi)外場景),也可以通過場景來驗(yàn)證特定視圖是否滿足需求。場景視圖數(shù)據(jù)視圖數(shù)據(jù)庫系統(tǒng)開發(fā)需要E/R
實(shí)體關(guān)系圖數(shù)據(jù)分布的七種策略大集中分區(qū)獨(dú)立模式子集復(fù)制重組不相容四架構(gòu)開發(fā)過程模型議程兩種開發(fā)流程概念架構(gòu)開發(fā)過程細(xì)化架構(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)架演化統(tǒng)一開發(fā)過程(RUP)用例驅(qū)動用例驅(qū)動系統(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)。概念架構(gòu)概念架構(gòu)是大型系統(tǒng)成敗的關(guān)鍵重大需求塑造概念架構(gòu),概念架構(gòu)針對重大需求、特色需求、高風(fēng)險(xiǎn)需求給出高層次的解決方案和決策概念結(jié)構(gòu)設(shè)計(jì)過程過程需求結(jié)構(gòu)化。分析約束影響,約束構(gòu)成系統(tǒng)的上下文。確定關(guān)鍵質(zhì)量,質(zhì)量是系統(tǒng)完善的動力。確定關(guān)鍵功能,功能是發(fā)現(xiàn)職責(zé)的依據(jù)?;陉P(guān)鍵功能進(jìn)行用例開發(fā)。系統(tǒng)切分、高層分割。利用目標(biāo)場景決策表考慮非功能需求。得到概念架構(gòu)模式。需求結(jié)構(gòu)化約束影響確定關(guān)鍵質(zhì)量確定關(guān)鍵功能核心功能業(yè)務(wù)層的接口要反映這些功能,如NVOD、EPG等。必須實(shí)現(xiàn)的功能來自客戶方的要求。如排序方式。覆蓋了系統(tǒng)架構(gòu)的一些方面。數(shù)據(jù)格式的改變,造成數(shù)據(jù)的不兼容,必須實(shí)現(xiàn)數(shù)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025車禍私了和解協(xié)議書
- (2024)人造剛玉項(xiàng)目可行性研究報(bào)告寫作范本(一)
- 2024秋新滬科版物理八年級上冊課件 第六章 熟悉而陌生的力 第1節(jié) 力及其描述
- 2023年體外循環(huán)管路項(xiàng)目籌資方案
- 平安夜圣誕節(jié)介紹活動方案215
- 電工(初級工)模擬習(xí)題含答案
- 山東省棗莊市2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含解析)
- 養(yǎng)老院老人生活設(shè)施定期檢查制度
- 養(yǎng)老院老人安全教育培訓(xùn)制度
- 《家庭心理咨詢》課件
- 2024年度技術(shù)開發(fā)合同違約處理3篇
- 辦公家具無償租賃合同
- 《基金營銷分析》課件
- 《家庭安全用電培訓(xùn)》課件
- 《AEFI有關(guān)法規(guī)要求》課件
- 頸部手術(shù)麻醉
- 人教版數(shù)學(xué)一年級上冊 前后上下左右專項(xiàng)練習(xí)題(試題)
- 農(nóng)民個(gè)人收入證明(5篇)
- 鋼結(jié)構(gòu)施工方案編制指南
- 中醫(yī)婦科疾病的治療(完美版)課件
- 英語演講技巧與實(shí)訓(xùn)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論