SA軟件產(chǎn)品線體系結(jié)構(gòu)_第1頁
SA軟件產(chǎn)品線體系結(jié)構(gòu)_第2頁
SA軟件產(chǎn)品線體系結(jié)構(gòu)_第3頁
SA軟件產(chǎn)品線體系結(jié)構(gòu)_第4頁
SA軟件產(chǎn)品線體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

SA軟件產(chǎn)品線體系結(jié)構(gòu)第1頁/共50頁2

軟件體系結(jié)構(gòu)的發(fā)展領(lǐng)域工程出現(xiàn)于20世紀(jì)80年代,可以把它看作是軟件工程在某個(gè)特定領(lǐng)域中的應(yīng)用。領(lǐng)域工程將軟件重用作為一個(gè)主要目標(biāo),它面向多個(gè)客戶的多個(gè)應(yīng)用系統(tǒng),通過挖掘相似的或相關(guān)系統(tǒng)之間的共性來提供對(duì)跨應(yīng)用的變化的支持。20世紀(jì)90年代中后期,市場驅(qū)動(dòng)的思想開始帶入領(lǐng)域工程,出現(xiàn)了以軟件產(chǎn)品線為核心的領(lǐng)域工程。

第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.1

軟件產(chǎn)品線的出現(xiàn)和發(fā)展

第2頁/共50頁3

軟件體系結(jié)構(gòu)的發(fā)展軟件產(chǎn)品線在軟件工程中的地位第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.1

軟件產(chǎn)品線的出現(xiàn)和發(fā)展

第3頁/共50頁4

軟件重用的發(fā)展自1968年Mcllroy提出軟件重用概念的原型后,人們一直在嘗試用不同的方法實(shí)現(xiàn)通過軟件模塊的組合來構(gòu)造軟件系統(tǒng)。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.1

軟件產(chǎn)品線的出現(xiàn)和發(fā)展

第4頁/共50頁5第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述

基本概念

◎?qū)⒗昧水a(chǎn)品間公共方面、預(yù)期考慮了可變性等設(shè)計(jì)的產(chǎn)品族稱為產(chǎn)品線(Weiss和Lai)?!虍a(chǎn)品線就是由在系統(tǒng)的組成元素和功能方面具有共性和個(gè)性的相似的多個(gè)系統(tǒng)組成的一個(gè)系統(tǒng)族?!蜍浖a(chǎn)品線就是在一個(gè)公共的軟件資源集合基礎(chǔ)上建立起來的,共享同一個(gè)特性集合的系統(tǒng)集合(Bass,Clements和Kazman)?!蛞粋€(gè)軟件產(chǎn)品線由一個(gè)產(chǎn)品線體系結(jié)構(gòu)、一個(gè)可重用構(gòu)件集合和一個(gè)源自共享資源的產(chǎn)品集合組成,是組織一組相關(guān)軟件產(chǎn)品開發(fā)的方式(JanBosch)。第5頁/共50頁6

基本概念

CMU/SEI的定義:“產(chǎn)品線是一個(gè)產(chǎn)品集合,這些產(chǎn)品共享一個(gè)公共的、可管理的特征集,這個(gè)特征集能滿足選定的市場或任務(wù)領(lǐng)域的特定需求。這些系統(tǒng)遵循一個(gè)預(yù)描述的方式,在公共的核心資源(coreassets)基礎(chǔ)上開發(fā)的?!?/p>

第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第6頁/共50頁7

基本概念

軟件產(chǎn)品線主要由兩部分組成:核心資源、產(chǎn)品集合。核心資源是領(lǐng)域工程的所有結(jié)果的集合,是產(chǎn)品線中產(chǎn)品構(gòu)造的基礎(chǔ)。也有組織將核心資源庫稱為“平臺(tái)”。核心資源必定包含產(chǎn)品線中所有產(chǎn)品共享的產(chǎn)品線體系結(jié)構(gòu),新設(shè)計(jì)開發(fā)的或者通過對(duì)現(xiàn)有系統(tǒng)的再工程得到的、需要在整個(gè)產(chǎn)品線中系統(tǒng)化重用的軟件構(gòu)件。產(chǎn)品線體系結(jié)構(gòu)和構(gòu)件用于軟件產(chǎn)品線中產(chǎn)品的構(gòu)建,是核心資源最重要的部分。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第7頁/共50頁8

軟件產(chǎn)品線的過程模型1、雙生命周期模型

第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第8頁/共50頁9

軟件產(chǎn)品線的過程模型2、SEI模型

第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第9頁/共50頁10

軟件產(chǎn)品線的過程模型2、SEI模型

◎循環(huán)重復(fù)是產(chǎn)品線開發(fā)過程的特征,也是核心資源開發(fā)、產(chǎn)品線開發(fā)以及核心資源和產(chǎn)品之間協(xié)作的特征;◎核心資源開發(fā)和產(chǎn)品開發(fā)沒有先后之分;◎管理活動(dòng)協(xié)調(diào)整個(gè)產(chǎn)品線開發(fā)過程的各個(gè)活動(dòng),對(duì)產(chǎn)品線的成敗負(fù)責(zé);◎核心資源開發(fā)和產(chǎn)品開發(fā)是兩個(gè)互動(dòng)的過程,三個(gè)活動(dòng)和整個(gè)產(chǎn)品線開發(fā)之間也是雙向互動(dòng)的。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第10頁/共50頁11

軟件產(chǎn)品線的過程模型3、三生命周期模型◎Fred針對(duì)大型軟件企業(yè)的軟件產(chǎn)品線開發(fā)對(duì)雙生命周期模型進(jìn)行了改進(jìn),提出了三生命周期模型;◎?yàn)橛卸鄠€(gè)產(chǎn)品線的大型企業(yè)增加企業(yè)工程流程,以便在企業(yè)范圍內(nèi)對(duì)所有資源的創(chuàng)建、設(shè)計(jì)和重用提供合理規(guī)劃。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第11頁/共50頁12

軟件產(chǎn)品線的過程模型3、三生命周期模型第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第12頁/共50頁13

軟件產(chǎn)品線的組織結(jié)構(gòu)

典型產(chǎn)品線開發(fā)組織結(jié)構(gòu)第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第13頁/共50頁14

SEI產(chǎn)品線組織結(jié)構(gòu)(1)

SEI則強(qiáng)調(diào)市場人員的作用,將產(chǎn)品線組織分為四個(gè)工作小組:◎

市場人員是產(chǎn)品線和產(chǎn)品能力、客戶需求之間的溝通橋梁;◎核心資源組負(fù)責(zé)體系結(jié)構(gòu)和其他核心資源的開發(fā);◎應(yīng)用組負(fù)責(zé)交付給客戶的系統(tǒng)的開發(fā);◎管理者負(fù)責(zé)開發(fā)過程的協(xié)調(diào)、商務(wù)計(jì)劃等。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第14頁/共50頁15

SEI產(chǎn)品線組織結(jié)構(gòu)(2)

設(shè)有獨(dú)立核心資源小組的組織結(jié)構(gòu)通常合適于至少由50到100人組成的較大型的軟件開發(fā)組織,設(shè)立獨(dú)立的核心資源小組可以使小組成員將精力和時(shí)間集中在核心資源的認(rèn)真設(shè)計(jì)和開發(fā)上,得到更通用的資源。

第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第15頁/共50頁16

SEI產(chǎn)品線組織結(jié)構(gòu)(3)

另外一種典型的組織結(jié)構(gòu)不設(shè)立獨(dú)立的核心資源小組,核心資源的開發(fā)融入各系統(tǒng)開發(fā)小組中,只是設(shè)立專人負(fù)責(zé)核心資源開發(fā)的管理。這種組織結(jié)構(gòu)的重點(diǎn)不在核心資源的開發(fā)上,所以比較適合于組成產(chǎn)品線的產(chǎn)品共性相對(duì)較少,開發(fā)獨(dú)立產(chǎn)品所需的工作量相對(duì)較大的情況。也是小型軟件組織向軟件產(chǎn)品線開發(fā)過渡時(shí)采用的一種方法。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第16頁/共50頁17

JanBosch產(chǎn)品線組織結(jié)構(gòu)(1)JanBosch在研究了眾多采用軟件產(chǎn)品線開發(fā)方法的公司后,將軟件產(chǎn)品線的組織結(jié)構(gòu)歸納為以下4種組織模型。◎開發(fā)部門:所有的軟件開發(fā)集中在一個(gè)部門,每個(gè)人都可承擔(dān)領(lǐng)域工程和應(yīng)用工程中適合的任務(wù),簡單、利于溝通,適用于不超過30人的組織?!驑I(yè)務(wù)部門:每個(gè)部門負(fù)責(zé)產(chǎn)品線中一個(gè)和多個(gè)相似的系統(tǒng),共性資源由需要使用它的一個(gè)和幾個(gè)部門協(xié)作開發(fā),整個(gè)團(tuán)體都可享用。資源更容易共享,適用于30-100人的組織,主要缺點(diǎn)是業(yè)務(wù)部門更注重自己的產(chǎn)品而將產(chǎn)品線的整體利益放在第二位。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第17頁/共50頁18

JanBosch產(chǎn)品線組織結(jié)構(gòu)(2)◎

領(lǐng)域工程部門:有一個(gè)專門的單位——領(lǐng)域工程部門負(fù)責(zé)核心資源庫的開發(fā)和維護(hù),其他業(yè)務(wù)單位使用這些核心資源來構(gòu)建產(chǎn)品。這種結(jié)構(gòu)可有效地降低通訊的復(fù)雜度、保持資源的通用性,適于超過100人的組織。缺點(diǎn)是難以管理領(lǐng)域工程部門和不同業(yè)務(wù)部門之間的需求沖突,以及因此導(dǎo)致的開發(fā)周期增長?!?/p>

層次領(lǐng)域工程部門:對(duì)于非常巨大和復(fù)雜的產(chǎn)品線可以設(shè)立多層(一般為兩層)領(lǐng)域工程部門,不同層部門服務(wù)的范圍不同。這種模型趨向臃腫,對(duì)新需求的響應(yīng)慢。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第18頁/共50頁19

軟件產(chǎn)品線的建立方式軟件產(chǎn)品線建立方式基本特征第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第19頁/共50頁20

軟件產(chǎn)品線的演化

從整體來看,軟件產(chǎn)品線的發(fā)展過程有三個(gè)階段,開發(fā)階段、配置分發(fā)階段和演化階段。引起產(chǎn)品線體系結(jié)構(gòu)演化的原因:產(chǎn)品線與技術(shù)變化的協(xié)調(diào)、現(xiàn)有問題的改正、新功能的增加、對(duì)現(xiàn)有功能的重組以允許更多的變化等等。產(chǎn)品線的演化包括產(chǎn)品線核心資源的演化、產(chǎn)品的演化和產(chǎn)品的版本升級(jí)。這樣在整個(gè)產(chǎn)品線就出現(xiàn)了:核心資源的新舊版本、產(chǎn)品的新舊版本和新產(chǎn)品等。它們之間的協(xié)調(diào)是產(chǎn)品線演化研究的主要問題。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.2軟件產(chǎn)品線概述第20頁/共50頁21第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)

概述

對(duì)于大型復(fù)雜軟件的開發(fā),已經(jīng)有越來越多的人認(rèn)識(shí)到軟件體系結(jié)構(gòu)(架構(gòu))在軟件開發(fā)中的重要作用,其重要性已經(jīng)超過了數(shù)據(jù)結(jié)構(gòu)和算法,對(duì)大型軟件開發(fā)的成敗起著關(guān)鍵作用。也正因?yàn)槿绱?,軟件體系結(jié)構(gòu)已經(jīng)成為大型復(fù)雜系統(tǒng)高層設(shè)計(jì)所關(guān)注的焦點(diǎn),也取得了很多研究成果。第21頁/共50頁22

概述

在提高軟件生產(chǎn)率和軟件質(zhì)量方面,有很多方法和技術(shù),其中,軟件重用得到了廣泛的關(guān)注和應(yīng)用,被認(rèn)為是提高軟件生產(chǎn)率和軟件質(zhì)量的最有效途徑。軟件重用可以發(fā)生在軟件開發(fā)的各個(gè)階段,重用的粒度越大,對(duì)生產(chǎn)率提高的作用就越大。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第22頁/共50頁23

概述

隨著軟件技術(shù)的發(fā)展,軟件重用已經(jīng)從模塊、對(duì)象的重用發(fā)展到了基于構(gòu)件的重用和基于框架的重用??蚣芗夹g(shù)與構(gòu)件技術(shù)的結(jié)合產(chǎn)生了基于構(gòu)件的應(yīng)用框架技術(shù),這是框架技術(shù)的一個(gè)發(fā)展趨勢(shì)。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第23頁/共50頁24

概述

體系結(jié)構(gòu)重用屬于設(shè)計(jì)重用,比代碼重用更抽象。體系結(jié)構(gòu)模式(風(fēng)格)就是體系結(jié)構(gòu)重用研究的一個(gè)成果,而體系結(jié)構(gòu)參考模型則是軟件體系結(jié)構(gòu)在特定領(lǐng)域的重用。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第24頁/共50頁25

框架的定義

Deutsch(1983):抽象類和相關(guān)算法的集合可組成一個(gè)框架,該框架在特定領(lǐng)域中可以通過專用代碼的添加將具體子類組織在一起運(yùn)作??蚣苡沙橄箢惣捌鋵?shí)現(xiàn)的操作和對(duì)具體子類的期望組成。

Johnson和Foot(1988):框架是封裝了特定應(yīng)用族抽象設(shè)計(jì)的抽象類的集合,框架又是一個(gè)模板,關(guān)鍵的方法和其他細(xì)節(jié)在框架實(shí)例中實(shí)現(xiàn)。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第25頁/共50頁26

框架的定義

軟件框架有時(shí)有多種稱謂,如骨架、架構(gòu)、平臺(tái)??蚣艿难芯颗c體系結(jié)構(gòu)模式、設(shè)計(jì)模式密切相關(guān)。但框架不是體系結(jié)構(gòu)模式,也不是設(shè)計(jì)模式??蚣苁且粋€(gè)具有“插入點(diǎn)”集合的架構(gòu),可以適應(yīng)特定的問題域。插入點(diǎn)使得軟件工程師能夠在架構(gòu)內(nèi)集成特定問題的類或功能。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第26頁/共50頁27

框架的定義

在面向?qū)ο蟮沫h(huán)境下,框架是相互協(xié)作的類的集合??蚣芎驮O(shè)計(jì)模式有著明顯的區(qū)別,設(shè)計(jì)模式比框架更抽象,框架可以用代碼表示出來,但只有模式的舉例才可以用代碼表示出來。設(shè)計(jì)模式是比框架更小的體系結(jié)構(gòu)元素。一個(gè)典型的框架包括一些設(shè)計(jì)模式,而設(shè)計(jì)模式卻不包括框架。另外,框架總是有特定的應(yīng)用領(lǐng)域,而體系結(jié)構(gòu)和設(shè)計(jì)模式幾乎可以用在任何類型的應(yīng)用程序中。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第27頁/共50頁28

應(yīng)用框架的定義

由于特定領(lǐng)域的不同應(yīng)用之間具有更多相似的特征,隨著應(yīng)用的發(fā)展和完善,某些帶有整體性的應(yīng)用模式被逐漸固定下來,經(jīng)過抽象、設(shè)計(jì)和實(shí)現(xiàn),就形成了特定的框架,也稱為應(yīng)用框架,包括基本構(gòu)成元素和關(guān)系。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第28頁/共50頁29

應(yīng)用框架的定義

軟件產(chǎn)品線中的框架主要指的是應(yīng)用框架。Gamma:應(yīng)用框架是為一個(gè)特定應(yīng)用領(lǐng)域的軟件系統(tǒng)提供可重用結(jié)構(gòu)的一組相互協(xié)作的類的集合。Buschmann:特定領(lǐng)域應(yīng)用的框架稱為應(yīng)用框架。Froehlich:應(yīng)用框架就是某個(gè)領(lǐng)域公共問題的骨架式解決方案??蚣転樵擃I(lǐng)域所有應(yīng)用提供公共的體系結(jié)構(gòu)和功能基礎(chǔ)。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第29頁/共50頁30

應(yīng)用框架的定義

應(yīng)用框架可以在特定領(lǐng)域的開發(fā)中得到有效重用,也是目前被認(rèn)為是粒度最大的重用。應(yīng)用框架的研究有助于減少開發(fā)應(yīng)用系統(tǒng)的開銷、提高軟件開發(fā)的效率、改進(jìn)軟件質(zhì)量、保證軟件開發(fā)的一致性、增強(qiáng)相似產(chǎn)品不同成員間共同化的可能性,對(duì)應(yīng)用廣泛的領(lǐng)域進(jìn)行應(yīng)用框架的研究與開發(fā)具有重要意義。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第30頁/共50頁31

應(yīng)用框架描述的共同點(diǎn)

應(yīng)用框架解決的是一個(gè)領(lǐng)域或產(chǎn)品族的問題,規(guī)定了問題應(yīng)如何分解。包含了應(yīng)用或子系統(tǒng)的設(shè)計(jì),由一個(gè)互相協(xié)作的類或構(gòu)件集合組成??梢酝ㄟ^繼承或類的組合來創(chuàng)建應(yīng)用。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第31頁/共50頁32

應(yīng)用領(lǐng)域的分類

由于計(jì)算機(jī)應(yīng)用非常廣泛,其應(yīng)用領(lǐng)域繁多??梢詮闹髁鲬?yīng)用軟件的角度劃分為ERP軟件應(yīng)用領(lǐng)域、協(xié)同軟件應(yīng)用領(lǐng)域、Internet應(yīng)用領(lǐng)域及其他專業(yè)性比較強(qiáng)的領(lǐng)域。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第32頁/共50頁33

應(yīng)用領(lǐng)域的分類

ERP軟件應(yīng)用領(lǐng)域。與企業(yè)運(yùn)營密切相關(guān)的幾個(gè)應(yīng)用領(lǐng)域的高端市場基本上已被ERP軟件壟斷,包括國外的SAP和Oracle的產(chǎn)品,以及國內(nèi)的用友、金蝶。

ERP軟件主要針對(duì)大型生產(chǎn)企業(yè),核心模塊包括供應(yīng)鏈上的物料、生產(chǎn)、銷售模塊,以及財(cái)務(wù)、人力資源模塊。在非生產(chǎn)性企業(yè)的應(yīng)用主要是財(cái)務(wù)模塊和人力資源模塊。

ERP軟件提供復(fù)雜的定制功能,基本上能適應(yīng)特定應(yīng)用領(lǐng)域的各種需求。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第33頁/共50頁34

應(yīng)用領(lǐng)域的分類

協(xié)同軟件應(yīng)用領(lǐng)域。協(xié)同軟件的主要應(yīng)用領(lǐng)域?yàn)樾姓k公、電子商務(wù)、電子政務(wù)。主要產(chǎn)品有協(xié)達(dá)普及型辦公寶、微軟Exchange和Outlook軟件,近兩年騰訊RTX、微軟MSN等即時(shí)通訊軟件也得到了廣泛應(yīng)用。在協(xié)同軟件領(lǐng)域,很多廠商都形成了自己的框架或平臺(tái)。如協(xié)達(dá)的協(xié)同軟件業(yè)務(wù)架構(gòu)平臺(tái)CAP

、東蘭的DLFlo工作流平臺(tái)等。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第34頁/共50頁35

應(yīng)用領(lǐng)域的分類

Internet應(yīng)用領(lǐng)域。隨著Internet技術(shù)的飛速發(fā)展,特別是Web技術(shù)在20世紀(jì)90年代中期成為計(jì)算主流之后,應(yīng)用系統(tǒng)的體系結(jié)構(gòu)以及業(yè)務(wù)計(jì)算模型發(fā)生了巨大變化。對(duì)于用戶數(shù)量大、且地域分散的企業(yè),傳統(tǒng)上基于單機(jī)及C/S結(jié)構(gòu)的應(yīng)用系統(tǒng)目前已很少使用,企業(yè)應(yīng)用系統(tǒng)越來越多地演化為基于Internet/Intranet的Web應(yīng)用系統(tǒng)。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第35頁/共50頁36

框架的分類(1)

目前還沒有非常明確的框架分類,一般可以將軟件框架分為以下幾類:概念框架(如Zachman框架)、平臺(tái)框架(如.Net框架,JavaEE框架)、開發(fā)框架(如Eclipse、Netbeans、OSGi等)及應(yīng)用框架。其中,應(yīng)用框架的種類非常多,從技術(shù)角度可以分為構(gòu)件框架、服務(wù)框架、Web應(yīng)用框架等。由于平臺(tái)框架和開發(fā)框架與具體的應(yīng)用領(lǐng)域無關(guān),也可將其稱為基礎(chǔ)框架。應(yīng)用框架一般是基于基礎(chǔ)框架開發(fā)的。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第36頁/共50頁37

框架的分類(1)

目前,應(yīng)用框架研究是非?;钴S的領(lǐng)域,由于Web應(yīng)用系統(tǒng)的廣泛使用,Web應(yīng)用框架的研究成果非常多。Web應(yīng)用框架通常采用多層軟件體系結(jié)構(gòu),在JavaEE或.Net平臺(tái)上實(shí)現(xiàn)模型-視圖-控制器(MVC)設(shè)計(jì)模式,也會(huì)將一些服務(wù)集成到基礎(chǔ)的業(yè)務(wù)對(duì)象中。Web應(yīng)用框架是基于被普遍接受的標(biāo)準(zhǔn)(例如,Java,.Net,XML,XSLT,JAAS,Servlet,JSP,JDBC,ADO.Net)和技術(shù)(例如,如構(gòu)件技術(shù)、Agent技術(shù)等),使得有經(jīng)驗(yàn)的開發(fā)者可以快速開發(fā)Web應(yīng)用系統(tǒng)。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第37頁/共50頁38

框架的分類(1)

Web應(yīng)用框架的分類:可以劃分為基于請(qǐng)求的框架,基于構(gòu)件的框架、混合框架、元框架和基于RIA(RichInternetApplication)的框架?;谡?qǐng)求的框架與最初的CGI規(guī)格類似,每個(gè)請(qǐng)求本質(zhì)上都是無狀態(tài)的,通過引入服務(wù)器端會(huì)話,獲得一定的狀態(tài),例如,WebWork、Struts、Beehive及Stripes框架?;跇?gòu)件的框架將請(qǐng)求處理部分抽象出來,將其邏輯封裝到可復(fù)用的構(gòu)件中,例如,JSF(JavaServerFaces)、Tapestry和Wicket框架。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第38頁/共50頁39

框架的分類(1)

Web應(yīng)用框架的分類

混合框架是上面兩種框架的組合,在基于請(qǐng)求的模型中控制所有數(shù)據(jù)和邏輯流,如RIFE框架。元框架具有一組公共服務(wù)的核心接口和集成構(gòu)件和服務(wù)的高度可擴(kuò)展的骨架,元框架有時(shí)被認(rèn)為是框架的框架,如Keel、Spring框架。基于RIA的框架使用客戶端容器模型,降低了與服務(wù)器的通信量,如DWR(DirectWebRemoting)、Echo2、JSON-RPC-Java框架。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第39頁/共50頁40

框架的分類(2)

根據(jù)框架的使用和擴(kuò)展方式,可以將框架分為:黑盒框架通過構(gòu)件/類的組合來支持重用和擴(kuò)展。應(yīng)用中的類由框架的不同構(gòu)件組合而成。白盒框架一般使用類的繼承機(jī)制實(shí)現(xiàn),由未完成的類組成,類有一個(gè)或多個(gè)抽象接口或虛方法。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第40頁/共50頁41

框架的分類(2)

具體的框架實(shí)際上都是“灰色”的,是可繼承和可組合方式的結(jié)合:灰盒框架可以分成三部分:固定的、可選擇的和開放的;固定部分包含該領(lǐng)域最基本的功能,內(nèi)建了應(yīng)用的控制流;可選部分為該領(lǐng)域中相對(duì)固定的、應(yīng)用特定的功能特征,即領(lǐng)域個(gè)性部分,用可組合的類和構(gòu)件實(shí)現(xiàn);開放部分針對(duì)一些無法準(zhǔn)確估計(jì)和預(yù)測的功能特征,只能為其規(guī)定統(tǒng)一的接口和掛接點(diǎn)。第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.3框架和應(yīng)用框架技術(shù)第41頁/共50頁42第13章軟件產(chǎn)品線體系結(jié)構(gòu)

13.4軟件產(chǎn)品線基本活動(dòng)

產(chǎn)品線基本活動(dòng)

一般認(rèn)為產(chǎn)品線開發(fā)主要包括核心資產(chǎn)開發(fā)(又稱領(lǐng)域工程)和產(chǎn)品開發(fā)(又稱應(yīng)用工程),這兩者又需要技術(shù)和組織的管理。第42頁/共50頁43

產(chǎn)品線分析

產(chǎn)品線分析是產(chǎn)品線的需求工程,是商業(yè)機(jī)遇的確認(rèn)和產(chǎn)品線體系結(jié)構(gòu)的設(shè)計(jì)之間的橋梁。產(chǎn)品線分析強(qiáng)調(diào):通過捕獲風(fēng)險(xiǎn)承擔(dān)者的觀點(diǎn)來揭示產(chǎn)品線需求;通過系統(tǒng)的推理和分析、集成功能需

溫馨提示

  • 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)論