




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
V模型的特點(diǎn):
1)軟件開(kāi)發(fā)過(guò)程與軟件測(cè)試過(guò)程是并發(fā)進(jìn)行的;
2)軟件測(cè)試的目標(biāo)和計(jì)劃在系統(tǒng)實(shí)現(xiàn)(編碼)之前就已確定;
3)針對(duì)不同的測(cè)試目的和測(cè)試階段,采用的測(cè)試方法應(yīng)該合理選擇。
1.2軟件缺陷
軟件缺陷的定義:
只有至少滿足下列5個(gè)規(guī)則之一才稱(chēng)發(fā)生了一個(gè)軟件缺陷(Software
bug):
軟件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書(shū)要求的功能;
軟件出現(xiàn)了產(chǎn)品說(shuō)明書(shū)指明不應(yīng)該出現(xiàn)的錯(cuò)誤;
軟件實(shí)現(xiàn)了產(chǎn)品說(shuō)明書(shū)未提到的功能;
軟件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書(shū)雖未明確提及但應(yīng)該實(shí)現(xiàn)的目標(biāo);
軟件難以理解、不易使用、運(yùn)行緩慢或-從測(cè)試員的角度看-最終用
戶會(huì)認(rèn)為不好。
軟件缺陷的主要類(lèi)型/表現(xiàn)形式:
功能、特性沒(méi)有實(shí)現(xiàn)或部分實(shí)現(xiàn)
設(shè)計(jì)不合理,存在缺陷
實(shí)際結(jié)果和預(yù)期結(jié)果不一致
運(yùn)行出錯(cuò),包括運(yùn)行中斷、系統(tǒng)崩潰、界面混亂
數(shù)據(jù)結(jié)果不正確、精度不夠
用戶不能接受的其他問(wèn)題,如存取時(shí)間過(guò)長(zhǎng)、界面不美觀
軟件錯(cuò)誤的根本原因來(lái)源于下面幾個(gè)方面:
說(shuō)明不完整或說(shuō)明錯(cuò)誤
與客戶交流不夠所產(chǎn)生的誤解
故意與說(shuō)明偏離
違反編程標(biāo)準(zhǔn)
數(shù)據(jù)表示有錯(cuò)
模塊接口不一致
設(shè)計(jì)邏輯有錯(cuò)
不完整或錯(cuò)誤的測(cè)試
就就性(對(duì)白外特境它能適%地響應(yīng)嗎?)
軟件產(chǎn)品時(shí)
效率(完成預(yù)定功能時(shí)它需要的計(jì)尊機(jī)費(fèi)源名叫?)
的[產(chǎn)品轉(zhuǎn)移。
完誼性(它是安全的嗎?)
信可用性(我能使用它嗎?)
風(fēng)險(xiǎn)性(能恢修定計(jì)劃完成它嗎?)
1.4軟件質(zhì)量工程體系的構(gòu)成
1.6軟件質(zhì)量成本軟件質(zhì)量成本是為確保和保證滿意的質(zhì)量而發(fā)生的費(fèi)用
以及沒(méi)有達(dá)到滿意的質(zhì)量所造成損失的總和,即包括保證費(fèi)用和損失費(fèi)
用。
軟i牛質(zhì)量成本的構(gòu)成:軟件質(zhì)量成本=質(zhì)量預(yù)防成本+評(píng)價(jià)成本+失效
成本
,預(yù)防成本:預(yù)防產(chǎn)生質(zhì)量問(wèn)題(軟件缺陷)的費(fèi)用,是企業(yè)的計(jì)劃
性支出,專(zhuān)門(mén)用來(lái)確保在軟件產(chǎn)品交付和服務(wù)的各個(gè)環(huán)節(jié)不出現(xiàn)失
誤。
/評(píng)價(jià)成本:是指在交付和服務(wù)環(huán)節(jié)上,為評(píng)定軟件產(chǎn)品或服務(wù)是否
符合質(zhì)量要求而進(jìn)行的試驗(yàn)、軟件測(cè)試和質(zhì)量評(píng)估等所必需的支出。
/失效成本:分為內(nèi)部的和外部的,如果在軟件發(fā)布之前發(fā)現(xiàn)質(zhì)量問(wèn)
題,而要求重做、修改和問(wèn)題分析所帶來(lái)的成本屬內(nèi)部失效成本,
包括修正軟件缺陷、回歸測(cè)試等,以及因產(chǎn)品或服務(wù)不合要求導(dǎo)致
的延誤。
1.7軟件的項(xiàng)目度量?jī)?nèi)容1規(guī)模度量(sizemeasurement):以代碼行數(shù)、
功能點(diǎn)數(shù)、對(duì)象點(diǎn)或特征點(diǎn)等來(lái)衡量。軟件規(guī)模度量是工作量度量、進(jìn)度
度量的基礎(chǔ),用于估算軟件項(xiàng)目工作量、編制成本預(yù)算、策劃項(xiàng)目進(jìn)度的
基礎(chǔ)。
2復(fù)雜度度量(complexitymeasurement):確定程序控制流或軟件系
統(tǒng)結(jié)構(gòu)的復(fù)雜程度指標(biāo)。復(fù)雜度度量用于估計(jì)或預(yù)測(cè)軟件產(chǎn)品的可測(cè)試
性、可靠性和可維護(hù)性,以便選擇最優(yōu)化、最可靠的程序設(shè)計(jì)方法,來(lái)確
定測(cè)試策略、維護(hù)策略等。
3缺陷度量(defectmeasurement):幫助確定產(chǎn)品缺陷分布的情況、
缺陷變化的狀態(tài)等,從而幫助分析修復(fù)缺陷所需的工作量、設(shè)計(jì)和編程中
存在哪些弱點(diǎn)、預(yù)測(cè)產(chǎn)品發(fā)布時(shí)間、預(yù)測(cè)產(chǎn)品的遺留缺陷等。
4工作量度量(workloadmeasurement):任務(wù)分解并結(jié)合人力資源水
平來(lái)度量,合理地分配研發(fā)資源和人力,獲得最高的效率比。工作量度量
是在軟件規(guī)模度量和生產(chǎn)率度量的基礎(chǔ)上進(jìn)行。
5進(jìn)度度量(schedulemeasurement):通過(guò)任務(wù)分解、工作量度量、
有效資源分配等做出計(jì)劃,然后將實(shí)際結(jié)果和計(jì)劃值進(jìn)行對(duì)比來(lái)度量。6
風(fēng)險(xiǎn)度量(riskmeasurement):一般通過(guò)兩個(gè)參數(shù)“風(fēng)險(xiǎn)發(fā)生的概率”和
“風(fēng)險(xiǎn)發(fā)生后所帶來(lái)的損失”來(lái)評(píng)估風(fēng)險(xiǎn)。
其他的項(xiàng)目度量,如需求穩(wěn)定性或需求穩(wěn)定因子(RSI,Requirement
StabilityIndex),資源利用效率(ResourceUtilization),文檔復(fù)審水
平(Reviewlevel),問(wèn)題解決能力(Issue-resolvingability)、代碼
動(dòng)態(tài)增長(zhǎng)等。
1.8軟件需求工程
所有與需求直接相關(guān)的活動(dòng)統(tǒng)稱(chēng)為需求工程,需求工程分為了兩個(gè)部
分:需求開(kāi)發(fā)和需求管理。其中,需求開(kāi)發(fā)又分為了需求獲取、需求分析、
需求定義和需求驗(yàn)證4個(gè)部分,而需求管理則包含了變更控制、版本控制、
需求跟蹤和需求狀態(tài)跟蹤。
需求工程過(guò)程柢架和功能需求(也
括
包N映了組織機(jī)構(gòu)
客
或范圍文檔中予以
說(shuō)
明H一個(gè)業(yè)務(wù)前景。
業(yè)
務(wù)作用。用戶需求
(U壬務(wù)的集合,用
戶se
需為明。收集和分
析
用取,更難保證需
求
完行充分地交流。
功
能必須實(shí)現(xiàn)的軟件
它
在1要的部分之一,
中都起了重要的
作用操作等,包括要
遵從的業(yè)務(wù)規(guī)則、人機(jī)接口、安全性和可靠性等要求。
1.9系統(tǒng)分析與設(shè)計(jì)
L9.1面向?qū)ο蟮姆治鼋_^(guò)程
?誘導(dǎo)系統(tǒng)的客戶需求;
?標(biāo)識(shí)場(chǎng)景或用例(usecase);
?使用基本需求來(lái)確定類(lèi)和對(duì)象;
?為每個(gè)系統(tǒng)對(duì)象表示屬性和操作;
?定義組織類(lèi)的結(jié)構(gòu)和層次;
?建造對(duì)象-關(guān)系模型;
?建造對(duì)象-行為模型;
?依據(jù)use-case/場(chǎng)景來(lái)評(píng)審00A模型。
1.9.2設(shè)計(jì)模式重點(diǎn)看資料中的設(shè)計(jì)模式實(shí)現(xiàn)(單一模式和類(lèi)工廠模式)
設(shè)計(jì)模式有4個(gè)基本要素:
模式名稱(chēng):描述模式的問(wèn)題、解決方案和效果;
問(wèn)題:描述了應(yīng)該在何時(shí)使用模式;
解決方案:描述了設(shè)計(jì)的組成部分之間的相互關(guān)系、職責(zé)和協(xié)
作方式。
效果:描述了模式應(yīng)用的效果及使用模式應(yīng)權(quán)衡的問(wèn)題。
,設(shè)計(jì)模式在工程小組成員之間提供了通用的語(yǔ)義。
/設(shè)計(jì)模式可以更加簡(jiǎn)單方便的復(fù)用成功的設(shè)計(jì)和體系結(jié)
構(gòu)。
,設(shè)計(jì)模式有助于作出有利于系統(tǒng)復(fù)用的選擇,避免設(shè)計(jì)損
害系統(tǒng)復(fù)用性。
,設(shè)計(jì)模式可以幫助設(shè)計(jì)者更快更好的完成系統(tǒng)設(shè)計(jì)
1.9.3設(shè)計(jì)模式的分類(lèi)創(chuàng)建型模式
創(chuàng)建型模式抽象了實(shí)例化過(guò)程。它們幫助一個(gè)系統(tǒng)獨(dú)立于如何創(chuàng)建、
組合和表示它的那些對(duì)象。
②結(jié)構(gòu)型模式
結(jié)構(gòu)型類(lèi)模式采用繼承機(jī)制來(lái)組合按口或?qū)崿F(xiàn),描述了如何對(duì)一些對(duì)
象進(jìn)行組合,從而實(shí)現(xiàn)新功能的一些方法。
③行為模式
行為模式涉及到算法和對(duì)象間職責(zé)的分配。行為模式不僅描述對(duì)象或
類(lèi)的模式,還描述它們之間的通信模式。行為模式使用繼承機(jī)制在類(lèi)間分
派行為。
1創(chuàng)建型模式
抽象工廠:提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴(lài)對(duì)象的接口,而無(wú)需
指定它們具體的類(lèi)。
生成器:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)
程可以創(chuàng)建不同的表示。
工廠方法:定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類(lèi)決定實(shí)例化哪一個(gè)
類(lèi)。FactoryMethod使一個(gè)類(lèi)的實(shí)例化延遲到其子類(lèi)。
原型:用原型實(shí)例指定創(chuàng)建對(duì)象的種類(lèi),并且通過(guò)拷貝這些原型創(chuàng)建
新的對(duì)象。
單一:保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全句訪問(wèn)點(diǎn)。
2結(jié)構(gòu)型模式
適配器:將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。Adapter模
式使得原本由于接口不兼容而不能一起工作的那些類(lèi)可以一起工作
橋接:將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立的變化
組合:將對(duì)象組合成樹(shù)形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。
Composite使得用戶單個(gè)對(duì)象和組合對(duì)象的使用具有一致性
裝飾:動(dòng)態(tài)的給一個(gè)對(duì)象添加一些額外的職責(zé)。就增加功能來(lái)說(shuō),
Decorator模式相比生成子類(lèi)更為靈活
外觀:為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,F(xiàn)apade模式定義
了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用
享元:運(yùn)用共享技術(shù)有效的支持大量細(xì)粒度的對(duì)象
代理:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)
3行為型模式
職責(zé)鏈:使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接
收者之間的耦合關(guān)系。將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,
直到有一個(gè)對(duì)象處理它為止。
命令:將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶
進(jìn)行參數(shù)化;對(duì)請(qǐng)求排對(duì)或記錄請(qǐng)求日志,以及支持可撤銷(xiāo)的操作。
解釋器:給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義一個(gè)解釋
器,這個(gè)解釋器使用該表示來(lái)解釋語(yǔ)言中的句子。
迭代器:提供一種方法順序訪問(wèn)一個(gè)聚合對(duì)象中各個(gè)元素,而又不需
要暴露該對(duì)象的內(nèi)部表示。
中介者:用一個(gè)中介對(duì)象來(lái)封裝一系列的對(duì)象交互。中介者使各對(duì)象
不需要顯式的相互引用,從而使其耦合松散,而且可以獨(dú)立的改變它們之
間的交互。
備忘錄:在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在
該對(duì)象之外保存這個(gè)狀態(tài)。這樣以后就可將該對(duì)象恢復(fù)到原先保存的狀
態(tài)0
1觀察者:定義對(duì)象間的一種一對(duì)多的依賴(lài)關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)
生改變時(shí),所有依賴(lài)于它的對(duì)象都得到通知并被自動(dòng)更新。
狀態(tài):允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對(duì)象看起來(lái)
似乎修改了它的類(lèi)。
萊略:允許々對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。
模板方法:定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類(lèi)
中。
訪問(wèn)者:表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作。
1.10數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)步驟:
,需求分析
/概念設(shè)計(jì)
/邏輯設(shè)計(jì)
/物理設(shè)計(jì)
對(duì)數(shù)據(jù)庫(kù)進(jìn)行質(zhì)量控制方面劃分為:
/數(shù)據(jù)層的需求和構(gòu)建
/數(shù)據(jù)字典設(shè)計(jì)數(shù)據(jù)庫(kù)
,數(shù)據(jù)流設(shè)計(jì)
1.11關(guān)于B/S和C/S架構(gòu)的介紹
/jyy_1981/archive/2005/l0/12/500251.asp
X
一、什么是C/S和B/S
第一、什么是C/S結(jié)構(gòu)。C/S(Client/Server)結(jié)構(gòu),即大家熟知
的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩
端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現(xiàn),降
低了系統(tǒng)的通訊開(kāi)銷(xiāo)。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式
的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web
和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享
邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),
通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用
系統(tǒng)的發(fā)展方向。
傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開(kāi)放模式,但這只是系統(tǒng)開(kāi)發(fā)一
級(jí)的開(kāi)放性,在特定的應(yīng)用中無(wú)論是Client端還是Server端都還需要特
定的軟件支持。由于沒(méi)能提供用戶真正期望的開(kāi)放環(huán)境,C/S結(jié)構(gòu)的軟件
需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開(kāi)發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q
代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶同時(shí)使用。而且代價(jià)高,
效率低。
第二、什么是B/S結(jié)構(gòu)。B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服
務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者
改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極
少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端
(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端
電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成
本(TC0)o以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)
Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。
它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接
入方式(比如LAN,WAN,Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù)
庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。
二、C/S和B/S之比較
C/S和B/S是當(dāng)今世界開(kāi)發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。C/S是美
國(guó)Borland公司最早研發(fā),B/S是美國(guó)微軟公同研發(fā)。
I、C/S架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì)
(1)、應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。最簡(jiǎn)單的C/S體系結(jié)構(gòu)的數(shù)據(jù)
庫(kù)應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)器程序。二者可分別
稱(chēng)為前臺(tái)程序與后臺(tái)程序。運(yùn)行數(shù)據(jù)庫(kù)服務(wù)器程序的機(jī)器,也稱(chēng)為應(yīng)用服
務(wù)器。一旦服務(wù)器程序被啟動(dòng),就隨時(shí)等待響應(yīng)客戶程序發(fā)來(lái)的請(qǐng)求;客
戶應(yīng)用程序運(yùn)行在用戶自己的電腦上,對(duì)應(yīng)于數(shù)據(jù)庫(kù)服務(wù)器,可稱(chēng)為客戶
電腦,當(dāng)需要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行任何操作時(shí),客戶程序就自動(dòng)地尋找
服務(wù)器程序,并向其發(fā)出請(qǐng)求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送
回結(jié)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。
(2)、數(shù)據(jù)的儲(chǔ)存管理功能較為透明。在數(shù)據(jù)庫(kù)應(yīng)用中,數(shù)據(jù)的儲(chǔ)存
管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨(dú)立進(jìn)行的,前臺(tái)應(yīng)用可
以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運(yùn)行數(shù)
據(jù),在服務(wù)器程序中不集中實(shí)現(xiàn),例如訪問(wèn)者的權(quán)限,編號(hào)可以重復(fù)、必
須有客戶才能建立定單這樣的規(guī)則。所有這些,對(duì)于工作在前臺(tái)程序上的
最終用戶,是“透明”的,他們無(wú)須過(guò)問(wèn)(通常也無(wú)法干涉)背后的過(guò)程,
就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺(tái)程序不是
非常“瘦小”,麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)
據(jù)庫(kù)不能真正成為公共、專(zhuān)業(yè)化的倉(cāng)庫(kù),它受到獨(dú)立的專(zhuān)門(mén)管理。
(3)、C/S架構(gòu)的劣勢(shì)是高昂的維護(hù)成本且投資大。首先,采用C/S
架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫(kù)平臺(tái)來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)的真正“統(tǒng)一”,使分
布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫(kù)系統(tǒng)去管理,但邏輯上兩地的操作者
要直接訪問(wèn)同一個(gè)數(shù)據(jù)庫(kù)才能有效實(shí)現(xiàn),有這樣一些問(wèn)題,如果需要建立
“實(shí)時(shí)”的數(shù)據(jù)同步,就必須在兩地間建立實(shí)時(shí)的通訊連接,保持兩地的
數(shù)據(jù)庫(kù)服務(wù)器在線運(yùn)行,網(wǎng)絡(luò)管理工作人員既要對(duì)服務(wù)器維護(hù)管理,又要
對(duì)客戶端維護(hù)和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護(hù)成本很
高,維護(hù)任務(wù)量大。
其次,傳統(tǒng)的C/S結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開(kāi)發(fā)不同
版本的軟件,由于產(chǎn)品的更新?lián)Q代十分快,代價(jià)高和低效率已經(jīng)不適應(yīng)工
作需要。在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)更是猛烈沖擊C/S,
并對(duì)其形成威脅和挑戰(zhàn)。
2、B/S架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì)
(1)、維護(hù)和升級(jí)方式簡(jiǎn)單。目前,軟件系統(tǒng)的改進(jìn)和升級(jí)越來(lái)越頻
繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位
來(lái)說(shuō),系統(tǒng)管理人員如果需要在幾百良至上千部電腦之間來(lái)回奔跑,效率
和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所
有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無(wú)論用戶的規(guī)模有多
大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需
要針對(duì)服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專(zhuān)網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)
程維護(hù)、升級(jí)和共享。所以客戶機(jī)越來(lái)越“瘦”,而服務(wù)器越來(lái)越“胖”
是將來(lái)信息化發(fā)展的主流方向。今后,軟件升級(jí)和維護(hù)會(huì)越來(lái)越容易,而
使用起來(lái)會(huì)越來(lái)越簡(jiǎn)單,這對(duì)用戶人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而
易見(jiàn)的,驚人的。因此,維護(hù)和升級(jí)革命的方式是“瘦”客戶機(jī),“胖”
服務(wù)器。
(2)、成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎
一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不
是處于絕對(duì)的統(tǒng)治地位。現(xiàn)在的趨勢(shì)是凡使用B/S架構(gòu)的應(yīng)用管理軟件,
只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的
選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大部分人使用windows作
為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快
速發(fā)展起來(lái),Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的,
這種選擇非常盛行。
(3)、應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。由于B/S架構(gòu)管理軟件只安裝
在服務(wù)器端(Server)上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶
界面主要事務(wù)邏輯在服務(wù)器(Server)端完全通過(guò)WWW瀏覽器實(shí)現(xiàn),極少
部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)
管理人員只需要做硬件維護(hù)。但是,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重,一旦
發(fā)生服務(wù)器“崩潰”等問(wèn)題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)
庫(kù)存儲(chǔ)服務(wù)器,以防萬(wàn)一。
1.12下一代軟件架構(gòu)——SOA
/CSDN_document/archive/2004/10/29/15831
1.aspx
Web服務(wù)的特點(diǎn)
?強(qiáng)自治:Web服務(wù)是可重用的軟件模塊。
?松耦合:只需要很簡(jiǎn)單的協(xié)調(diào),并允許更自由的配置。
?粗粒度:一個(gè)Web服務(wù)就是一個(gè)自包含的“小程序;完成單個(gè)的
任務(wù)。
一?。開(kāi)放性:Web服務(wù)所有公共協(xié)約完全使用開(kāi)放的標(biāo)準(zhǔn)協(xié)議進(jìn)行
描述、傳輸和交換。
?可集成:屏蔽了不同軟件平臺(tái)的差異。
Web服務(wù)作為炙手可熱的技術(shù),如何應(yīng)用到企業(yè)的IT系統(tǒng)和商業(yè)流程
之中、并給企業(yè)帶來(lái)直接的經(jīng)濟(jì)效益,一直備受?chē)?guó)內(nèi)外企業(yè)管理者的高度
關(guān)注和推崇。而在近兩年,出現(xiàn)了一種技術(shù)架構(gòu)被譽(yù)為下一代Web服務(wù)的
基礎(chǔ)架構(gòu),它就是SOA(Service-orientedarchitecture,面向服務(wù)架構(gòu))。
1996年,Gartner最早提出SOA。2002年12月,Gartner提出SOA是"現(xiàn)
代應(yīng)用開(kāi)發(fā)領(lǐng)域最重要的課題”,還預(yù)計(jì)到2008年,SOA將成為占有絕對(duì)
優(yōu)勢(shì)的軟件工程實(shí)踐方法,主流企業(yè)現(xiàn)在就應(yīng)該在理解和應(yīng)用SOA開(kāi)發(fā)技
能方面進(jìn)行投資。
更好支持商業(yè)流程
SOA并不是一個(gè)新事物,IT組織已經(jīng)成功建立并實(shí)施S0A應(yīng)用軟件很
多年了,BEA、IBM、等廠商看到了它的價(jià)值,紛紛跟進(jìn)。S0A的目標(biāo)在于
讓IT變得更有彈性,以更快地響應(yīng)業(yè)務(wù)單位的需求,實(shí)現(xiàn)實(shí)時(shí)企業(yè)
(Real-TimeEnterprise,這是Gartner為SOA描述的愿景目標(biāo))。而B(niǎo)EA
的CIORhonda早在2001年6月就提出要將BEA的IT基礎(chǔ)架構(gòu)轉(zhuǎn)變?yōu)镾OA,
并且從對(duì)整個(gè)企業(yè)架構(gòu)的控制能力、提升開(kāi)發(fā)效率、加快開(kāi)發(fā)速度、降低
在客戶化和人員技能的投入等方面取得了不錯(cuò)的成績(jī)。
SOA是在計(jì)算環(huán)境下設(shè)計(jì)、開(kāi)發(fā)、應(yīng)用、管理分散的邏輯(服務(wù))單
元的一種規(guī)范。這個(gè)定義決定了SOA的廣泛性。SOA要求開(kāi)發(fā)者從服務(wù)集
成的角度來(lái)設(shè)計(jì)應(yīng)用軟件,即使這么做的利益不會(huì)馬上顯現(xiàn)。SOA要求開(kāi)
發(fā)者超越應(yīng)用軟件來(lái)思考,并考慮復(fù)用現(xiàn)有的服務(wù),或者檢查如何讓服務(wù)
被重復(fù)利用。SOA鼓勵(lì)使用可替代的技術(shù)和方法(例如消息機(jī)制),通過(guò)把
服務(wù)聯(lián)系在一起而非編寫(xiě)新代碼來(lái)構(gòu)架應(yīng)用。經(jīng)過(guò)適當(dāng)構(gòu)架后,這種消息
機(jī)制的應(yīng)用允許公司僅通過(guò)調(diào)整原有服務(wù)模式而非被迫進(jìn)行大規(guī)模新的
應(yīng)用代碼的開(kāi)發(fā),使得在商業(yè)環(huán)境許可的時(shí)間內(nèi)對(duì)變化的市場(chǎng)條件做出快
速的響應(yīng)。
SOA也不僅僅是一種開(kāi)發(fā)的方法論一一它還包含管理。例如,應(yīng)用SOA
后,管理者可以方便的管理這些搭建在服務(wù)平臺(tái)上的企業(yè)應(yīng)用,而不是管
理單一的應(yīng)用模塊。其原理是,通過(guò)分析服務(wù)之間的相互調(diào)用,SOA使得
公司管理人員方便的拿到什么時(shí)候、什么原因、哪些商業(yè)邏輯被執(zhí)行的數(shù)
據(jù)信息,這樣就幫助了企業(yè)管理人員或應(yīng)用架構(gòu)師迭代地優(yōu)化他們的企業(yè)
業(yè)務(wù)流程、應(yīng)用系統(tǒng)。
SOA的一個(gè)中心思想就是使得企業(yè)應(yīng)用擺脫面向技術(shù)的解決方案的束
縛,輕松應(yīng)對(duì)企業(yè)商業(yè)服務(wù)變化、發(fā)展的需要。[11]企業(yè)環(huán)境中單個(gè)應(yīng)
用程序是無(wú)法包容業(yè)務(wù)用戶的(各種)需求的,即使是一個(gè)大型的ERP解
決方案,仍然不能滿足這個(gè)需求在不斷膨脹、變化的缺口,對(duì)市場(chǎng)快速做
出反應(yīng),商業(yè)用戶只能通過(guò)不斷開(kāi)發(fā)新應(yīng)用、擴(kuò)展現(xiàn)有應(yīng)用程序來(lái)艱難的
支撐其現(xiàn)有的業(yè)務(wù)需求。通過(guò)將注意力放在服務(wù)上,應(yīng)用程序能夠集中起
來(lái)提供更加豐富、目的性更強(qiáng)的商業(yè)流程。其結(jié)果就是,基于SOA的企業(yè)
應(yīng)用系統(tǒng)通常會(huì)更加真實(shí)地反映出與業(yè)務(wù)模型的結(jié)合。服務(wù)是從業(yè)務(wù)流程
的角度來(lái)看待技術(shù)的一一這是從上向下看的。這種角度同一般的從可用技
術(shù)所驅(qū)動(dòng)的商業(yè)視角是相反的。服務(wù)的優(yōu)勢(shì)很清楚:它們會(huì)同業(yè)務(wù)流程結(jié)
合在一起,因此能夠更加精確地表示業(yè)務(wù)模型、更好地支持業(yè)務(wù)流程。相
反我們可以看到以應(yīng)用程序?yàn)橹行牡钠髽I(yè)應(yīng)用模型迫使業(yè)務(wù)用戶將其能
力局限為應(yīng)用程序的能力。
企業(yè)流程(enterpriseprocess)是流經(jīng)企業(yè)框架的空氣,它賦予業(yè)
務(wù)模型里的組件以生命,并更加清晰地定義了它們之間的關(guān)系。流程定義
了同業(yè)務(wù)模型進(jìn)行交互操作的專(zhuān)門(mén)方法。例如,會(huì)計(jì)可能是企業(yè)服務(wù)系統(tǒng)
的一個(gè)組件一一但是將發(fā)票寄給客戶卻是一個(gè)業(yè)務(wù)流程。服務(wù)被定義用來(lái)
支持業(yè)務(wù)流程,因而貫穿整個(gè)流程始終的是:各種服務(wù)組件在流程和邏輯
實(shí)現(xiàn)過(guò)程中的裝配操作。理解業(yè)務(wù)流程是定制服務(wù)的關(guān)鍵所在。
有利于企業(yè)業(yè)務(wù)的集成
傳統(tǒng)的應(yīng)用集成方法(點(diǎn)對(duì)點(diǎn)集成、企業(yè)消息總線或中間件的集成
(EAI)、基于業(yè)務(wù)流程的集成)都很復(fù)雜、昂貴,并且不靈活。這些集成
方法難于快速適應(yīng)基于企業(yè)現(xiàn)代業(yè)務(wù)變化不斷產(chǎn)生的需求?;诿嫦蚍?wù)
架構(gòu)(SOA)的應(yīng)用開(kāi)發(fā)和集成可以很好的解決其中的許多問(wèn)題。
SOA描述了一套完善的開(kāi)發(fā)模式來(lái)幫助客戶端應(yīng)用連接到服務(wù)上。這
些模式定制了系列機(jī)制用于描述服務(wù)、通知及發(fā)現(xiàn)服務(wù)、與服務(wù)進(jìn)行通信。
不同于傳統(tǒng)的應(yīng)用集成方法,在SOA中,圍繞服務(wù)的所有模式都是
以基于標(biāo)準(zhǔn)的技術(shù)實(shí)現(xiàn)的。大部分的通信中間件系統(tǒng),如即C、CORBA、
DCOM、EJB和RMI,也同樣如此。可是它們的實(shí)現(xiàn)都不是很完美的,在權(quán)
衡交互性以及標(biāo)準(zhǔn)定制的可接受性方面總是存在問(wèn)題。SOA試圖排除這些
缺陷。因?yàn)閹缀跛械耐ㄐ胖虚g件系統(tǒng)都有固定的處理模式,如RPC的功
能、CORBA的對(duì)象等等。然而,服務(wù)既可以定義為功能,又可同時(shí)對(duì)外定
義為對(duì)象、應(yīng)用等等。這使得SOA可適應(yīng)于任何現(xiàn)有系統(tǒng),并使得系統(tǒng)
在集成時(shí)不必刻意遵循任何特殊定制。
SOA幫助企業(yè)信息系統(tǒng)遷移到“l(fā)eave-and-layer”架構(gòu)之上,這意
著
味
DT+工FlI/玄①/th力攵:3卜附不+日卞玄也可對(duì)外提供Web服
接
務(wù)
]的應(yīng)用層做了一層
裝
封
可以將系統(tǒng)和應(yīng)用迅
轉(zhuǎn)
速
立用和遺留系統(tǒng)中的
息
信
IT架構(gòu)中的功能和
據(jù)
數(shù)
以務(wù)架構(gòu)中添加功能,
所1
\世業(yè)務(wù)部門(mén)設(shè)計(jì)開(kāi)發(fā)
新
出
見(jiàn)圖。與傳統(tǒng)的企業(yè)
應(yīng)用順務(wù),并包括過(guò)程/
數(shù)據(jù)內(nèi)集成點(diǎn)。服務(wù)的編
排和
圖示:使用基于服務(wù)集成的企業(yè)應(yīng)用
SOA服務(wù)粒度
可以按基于服務(wù)的功能及發(fā)送和接收的數(shù)據(jù)數(shù)量來(lái)定義服務(wù),如細(xì)粒
度服務(wù)、粗粒度服務(wù)或組合服務(wù)。
在SOA中服務(wù)粒度有兩種相關(guān)的意思:服務(wù)是如何實(shí)現(xiàn)的,服務(wù)使
用和返回了多少數(shù)據(jù)或多少消息。細(xì)粒度服務(wù)執(zhí)行了最小的功能,發(fā)送和
接收少量的數(shù)據(jù)。粗粒度服務(wù)執(zhí)行了較大的業(yè)務(wù)功能,并交換了更多的數(shù)
據(jù)。
細(xì)粒度服務(wù)是供粗粒度服務(wù)或組合服務(wù)使用的,而不是由終端應(yīng)用直
接使用的。如果應(yīng)用是使用細(xì)粒度服務(wù)建立的,則應(yīng)用將不得不調(diào)用網(wǎng)絡(luò)
上多個(gè)服務(wù),并且發(fā)生在每個(gè)服務(wù)上的數(shù)據(jù)量較少,因而會(huì)對(duì)對(duì)系統(tǒng)整體
性帶來(lái)影響。所以粗粒度服務(wù)的用戶不能直接調(diào)用他所使用的細(xì)粒度服
是
不
在
這
M
CR
這
需
據(jù)
線
圖?。悍?wù)粒度
通過(guò)一組有效設(shè)計(jì)和組合的粗粒度服務(wù),業(yè)務(wù)專(zhuān)家就能夠有效地組合
出新的業(yè)務(wù)流程和應(yīng)用程序了。
SOA與Web服務(wù)
SOA不是一定需要Web服務(wù)來(lái)實(shí)現(xiàn),并且一個(gè)基于Web服務(wù)開(kāi)發(fā)出
來(lái)的應(yīng)用也不代表就是一個(gè)基于SOA構(gòu)架應(yīng)用。Web服務(wù)只是服務(wù)實(shí)現(xiàn)
的一個(gè)典型,是實(shí)現(xiàn)企業(yè)SOA的一個(gè)組件(非必需組件)。SOA為基于服
務(wù)的分布式系統(tǒng)提供了概念上的設(shè)計(jì)模式。Web服務(wù)則是基于標(biāo)準(zhǔn)的、可
經(jīng)濟(jì)實(shí)惠地實(shí)現(xiàn)SOA的一項(xiàng)技術(shù)。[12]
SOA將IT資源透過(guò)服務(wù)這樣一個(gè)在業(yè)務(wù)上有重要涵義的概念來(lái)提供、
共享,把IT與業(yè)務(wù)的距離更加拉近了一步。服務(wù)在涉及的層次上要比組
件、函數(shù)、流程等更高,而且往往在業(yè)務(wù)上可以找到與之直接對(duì)應(yīng)的概念
或?qū)嶓w,例如報(bào)價(jià)、訂單。服務(wù)打破了IT系統(tǒng)間的藩籬,就像一家公司
的各個(gè)部門(mén),平常各自扮演特定對(duì)內(nèi)或?qū)ν夥?wù)的角色,但彼此間如果能
有效地通過(guò)共通的語(yǔ)言及文字,進(jìn)行良好的溝通,便能協(xié)力達(dá)成更大、更
局的目標(biāo)。
隨著SOA和Web服務(wù)的潮流,帶來(lái)了組合式應(yīng)用(composite
application)的開(kāi)發(fā)方式和觀念,開(kāi)始逐漸被大量應(yīng)用在Portal(門(mén)戶)
和Integration(集成)上。組合式Portal的做法,就是通過(guò)Portal界
面所提供的應(yīng)用,往往不是真的在Portal服務(wù)器上執(zhí)行,而是將Web服
務(wù)即時(shí)抓過(guò)來(lái),再加以呈現(xiàn),同時(shí)匯總給Portal的使用者。在整合方面
也是采用組合式的方式。通過(guò)高級(jí)工具來(lái)設(shè)定,使系統(tǒng)得以靈活地配合任
務(wù)的調(diào)整,對(duì)各項(xiàng)以Web服務(wù)方式提供的服務(wù)進(jìn)行不同形式的串聯(lián)和協(xié)作,
同時(shí)快速地加以部署。2004年3月,BEA發(fā)布了一個(gè)企業(yè)門(mén)戶合理化
(enterpriseportalrationalization,EPR)戰(zhàn)略,這個(gè)戰(zhàn)略用來(lái)平衡
BEAWebLogicPlatform的SOA能力,憑借最好的行業(yè)實(shí)踐和行業(yè)專(zhuān)家,
幫助客戶解決多年來(lái)形成的散亂的portal和Web應(yīng)用程序開(kāi)發(fā)。
如果說(shuō)Web服務(wù)等技術(shù)是SOA的血肉,那么正確的服務(wù)設(shè)計(jì)理念及系
統(tǒng)運(yùn)行平臺(tái)則是SOA的靈魂。SOA試圖讓IT能更快和業(yè)務(wù)同步,在規(guī)劃上
以提供彈性的業(yè)務(wù)服務(wù)為目標(biāo)。從CIO到負(fù)責(zé)規(guī)劃的系統(tǒng)分析人員,需要
和業(yè)務(wù)單位、策略伙伴間有充分的溝通。CIO必須認(rèn)識(shí)到,SOA的建立將
是一個(gè)為期數(shù)年的承諾,基礎(chǔ)建設(shè)需要按部就班地進(jìn)行,資助的模式也必
須在IT和各個(gè)業(yè)務(wù)部門(mén)間建立,來(lái)陸續(xù)支援基礎(chǔ)建設(shè)及各項(xiàng)業(yè)務(wù)服務(wù)的
開(kāi)發(fā)。
在中間件領(lǐng)域,SOA架構(gòu)日益成為中間件軟件供應(yīng)商爭(zhēng)奪的新焦點(diǎn)。
誰(shuí)都希望自己能夠先于競(jìng)爭(zhēng)對(duì)手提供最優(yōu)的SOA技術(shù)實(shí)現(xiàn)平臺(tái),BEA也不
例外。從技術(shù)上來(lái)說(shuō),Web服務(wù)、組件技術(shù)的采用將有助于SOA的進(jìn)一步
普及,從業(yè)務(wù)上來(lái)說(shuō),企業(yè)用戶要求性價(jià)比更高的應(yīng)用系統(tǒng),SOA恰恰適
應(yīng)了這樣的趨勢(shì)。
1.13RIA富互聯(lián)網(wǎng)應(yīng)用
/view/706341.htm?fr=alaO_l_l
什么是RIA?
RIA(RichInternetApplications)富互聯(lián)網(wǎng)應(yīng)用,是一種富客
戶端開(kāi)發(fā)技術(shù),它結(jié)合了C/S客戶端的強(qiáng)大功能和B/S結(jié)構(gòu)的低成本
高效率的優(yōu)點(diǎn)。具有高度互動(dòng)性、豐富用戶體驗(yàn)以及功能強(qiáng)大的客戶
端,屬于客戶端呈現(xiàn)技術(shù)。
1.13.1RIA的優(yōu)勢(shì)
RIA具有的桌面應(yīng)用程序的特點(diǎn)包括:在消息確認(rèn)和格式編排方
面提供互動(dòng)用戶界面;在無(wú)刷新頁(yè)面之下提供快捷的界面響應(yīng)時(shí)間;
提供通用的用戶界面特性如拖放式(draganddrop)以及在線和離線
操作能力。RIA具有的Web應(yīng)用程序的特點(diǎn)包括如:立即部署、跨平
臺(tái)、采用逐步下載來(lái)檢索內(nèi)容和數(shù)據(jù)以及可以充分利用被廣泛采納的
互聯(lián)網(wǎng)標(biāo)準(zhǔn)。RIA具有通信的特點(diǎn)則包括實(shí)時(shí)互動(dòng)的聲音和圖像。
客戶機(jī)在RIA中的作用不僅是展示頁(yè)面,它可以在幕后與用戶請(qǐng)
求異步地進(jìn)行計(jì)算、傳送和檢索數(shù)據(jù)、顯示集成的用戶界面和綜合使
用聲音和圖像,這一切都可以在不依靠客戶機(jī)連接的服務(wù)器或后端的
情況下進(jìn)行。
對(duì)于企業(yè)來(lái)說(shuō),部署RIA的好處在于:
1)RIA可以繼續(xù)使用現(xiàn)有的應(yīng)用程序模型(包括J2EE和.NET),
因而無(wú)需大規(guī)模替換現(xiàn)有的Web應(yīng)用程序。通過(guò)RichClient技術(shù),
可以輕松構(gòu)建更為直觀、易于使用、反應(yīng)更迅速并且可以脫機(jī)使用的
應(yīng)用程序。
2)RIA可以幫助企業(yè)提供多元化的重要業(yè)務(wù)效益,包括提高銷(xiāo)量、
提高品牌忠誠(chéng)度、延長(zhǎng)網(wǎng)站逗留時(shí)間、較頻繁的重復(fù)訪問(wèn)、減少帶寬
成本、減少支持求助以及增強(qiáng)客戶關(guān)系等。
L13.2發(fā)展態(tài)勢(shì)
在過(guò)去的兩到三年中,Web開(kāi)發(fā)人員一直是想構(gòu)建一種比傳統(tǒng)HT
ML更豐富的客戶端:這是一個(gè)用戶接口,它比用HTML能實(shí)現(xiàn)的接口
更加健壯、反應(yīng)更加靈敏和更具有令人感興趣的可視化特性。RIA技
術(shù)的出現(xiàn)允許我們?cè)谝蛱鼐W(wǎng)上以一種像使用Web一樣簡(jiǎn)單的方式來(lái)部
署富客戶端程序。無(wú)論將來(lái)RIA是否能夠如人們所猜測(cè)的那樣完全代
替HTML應(yīng)用系統(tǒng),對(duì)于那些采用C/S架構(gòu)的胖客戶端技術(shù)運(yùn)行復(fù)雜應(yīng)
用系統(tǒng)的機(jī)構(gòu)和采用基于B/S架構(gòu)的瘦客戶端技術(shù)部署Web應(yīng)用系統(tǒng)
地機(jī)構(gòu)來(lái)說(shuō),RIA確實(shí)提供了一種廉價(jià)的選擇。下面介紹一下目前出
現(xiàn)的幾種比較有實(shí)力或者有特點(diǎn)的RIA客戶端開(kāi)發(fā)技術(shù):
1)!MacromediaFlash/Flex
Flash從6.0開(kāi)始Flash就逐步具備建立窗體風(fēng)格的應(yīng)用程序的
功能。據(jù)Macromedia稱(chēng)已經(jīng)有98%以上的桌面系統(tǒng)的瀏覽器都安裝
了MacromediaFlashPlayero這使得以MacromediaFlashPlayer
為客戶端的RIA可以支持種類(lèi)廣泛的平臺(tái)和設(shè)備。
Flex是為滿足希望開(kāi)發(fā)RIA的企業(yè)級(jí)程序員的需求而推出的表
示服務(wù)器和應(yīng)用程序框架,它可以運(yùn)行于J2EE和.NET平臺(tái)。Flex表
示服務(wù)器提供基于標(biāo)準(zhǔn)的、聲明性的編程方法和流程,并提供運(yùn)行時(shí)
服務(wù),用于開(kāi)發(fā)和部署豐富客戶端應(yīng)用程序的表示層。Flex開(kāi)發(fā)者使
用直觀的基于XML的MXML來(lái)定義豐富的用戶界面。該語(yǔ)言由Flex服
務(wù)器翻譯成SWF格式的客戶端應(yīng)用程序,在FlashPlayer中運(yùn)行。
2)!Laszlo
Laszlo是一個(gè)開(kāi)源的RIA開(kāi)發(fā)環(huán)境。使用Laszlo平臺(tái)時(shí),開(kāi)發(fā)
者只需編寫(xiě)名為L(zhǎng)ZX的描述語(yǔ)言(其中整合了XML和Javascript),
運(yùn)行在J2EE應(yīng)用服務(wù)器上的Laszlo平臺(tái)會(huì)將其編譯成SWF格式的文
件并傳輸給客戶端展示。從這點(diǎn)上來(lái)說(shuō),Laszlo的本質(zhì)和Flex是一
樣的。Flash是任何瀏覽器都支持的展示形式,從而一舉解決了瀏覽
器之間的移植問(wèn)題。而且,在未來(lái)的計(jì)劃中,Laszlo還可以將LZX編
譯成Java或.NET本地代碼,從而大大提高運(yùn)行效率。(Red5使用)
3)Avalon
Microsoft的Avalon是下一版本的Windows(代號(hào)"Longhorn")
的一部分,是一個(gè)圖形和展示引擎,主要由新加到.NET框架中的一組
類(lèi)集合而成。Avalon定義了一個(gè)在Longhorn中使用的新標(biāo)記語(yǔ)言,
其代號(hào)為“XAML〃(可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言)??梢允褂肵AML來(lái)定義
文本、圖像和控件的布局,程序代碼可以直接嵌入到XAML中,也可以
將它保留在一個(gè)單獨(dú)的文件內(nèi)。這與Flex中的MXML或者Laszlo中的
LZX非常相似。不同的是:基于Avalon的應(yīng)用程序必須運(yùn)行在Longh
orn環(huán)境中,而Flex和Laszlo是不依賴(lài)于平臺(tái)的,僅僅需要裝有F1
ash播放器的瀏覽器即可。
4)!JavaSWT
Java已經(jīng)出現(xiàn)幾年了,并且完全支持創(chuàng)建基于窗體的用戶界面。
除了Java基礎(chǔ)類(lèi)(JFC/Swing)中的用戶界面組件之外,開(kāi)發(fā)人員還
可以使用來(lái)自于EclipseProject的SWT工具箱和許多第三方工具箱
進(jìn)行開(kāi)發(fā)。對(duì)于圖形來(lái)說(shuō),可以采用Java2DAPI:一個(gè)非常完整且
非常復(fù)雜的圖形API。你可以通過(guò)一個(gè)Web瀏覽器使用Java插件軟件,
或使用Java運(yùn)行時(shí)環(huán)境中較新的JavaWebStart技術(shù)來(lái)部署應(yīng)用程
序。使用Java建立RichClient的主要缺陷是它的復(fù)雜性(即使對(duì)簡(jiǎn)
單的窗體㈣圖形也要求編寫(xiě)非常煩瑣的代碼)和Java瀏覽器插件的低
市場(chǎng)占有率。
5)XUL
XUL(念作"zool")是一種基于XML的用戶界面語(yǔ)言,它來(lái)自于
Mozilla的開(kāi)放源碼項(xiàng)目。它可用于建立窗體應(yīng)用程序,這些應(yīng)用程
序不但可以在Mozilla瀏覽器上運(yùn)行,而且也可以運(yùn)行在其他描述引
擎上,如Zulu(一個(gè)FlashMX組件)和Thinleys(一個(gè)Java實(shí)現(xiàn))。
XUL描述引擎都非常小(100K以下),它可以使用XML數(shù)據(jù)也可以生成
XML數(shù)據(jù)。XUL的一個(gè)主要缺點(diǎn)在于它目前還沒(méi)有獲得一個(gè)主要商業(yè)實(shí)
體的支持。XUL最大的優(yōu)點(diǎn)在于它與Gecko引擎的集成(打開(kāi)了通向
大量Web標(biāo)準(zhǔn)的大門(mén)),以及與大多數(shù)其它XML用戶界面描述語(yǔ)言相比
它是一種非常具有表達(dá)力和簡(jiǎn)潔的語(yǔ)言。
6)Bindows
Bindow是用Javascript和DHTML開(kāi)發(fā)的Web窗體框架。Javasc
ript用于客戶端界面的顯示和處理,XMLHTTP用于客戶端與服務(wù)器的
信息傳輸。Javascript在客戶端的表現(xiàn)力不容置疑,利用Javascrip
t幾乎可以實(shí)現(xiàn)Windows應(yīng)用程序所能干的大部分事情,XMLHTTP—
直以來(lái)常被用于實(shí)現(xiàn)“無(wú)刷新〃的Web頁(yè)面,它和Javascript配合,
可以完成數(shù)據(jù)從服務(wù)器和客戶端的傳輸。Bindows的一個(gè)主要的缺點(diǎn)
是它采用一次全部載入的方式來(lái)實(shí)現(xiàn)腳本庫(kù),在窗口的加載期,需要
一個(gè)漫長(zhǎng)的等待過(guò)程,甚至瀏覽器的進(jìn)程會(huì)產(chǎn)生無(wú)響應(yīng)的情況。這點(diǎn)
Bindows根本沒(méi)有遵循〃用多少去多少〃的準(zhǔn)則。另外,內(nèi)部大量利用
了IE6的技術(shù),沒(méi)有考慮到非IE的瀏覽器,限制了Bindows的流行。
7)!JavaFX
2008年12月05日Sun微系統(tǒng)公司今天正式發(fā)布了基于Java語(yǔ)
言的平臺(tái)JavaFXlo0,這個(gè)平臺(tái)建立在其廣泛應(yīng)用的Java編程語(yǔ)言
的基礎(chǔ)上,旨在建立大量可在電腦和手機(jī)上運(yùn)行的網(wǎng)絡(luò)程序。Java
一直以來(lái)就是編程語(yǔ)言,但是隨著JavaFX的發(fā)布,Sun公司開(kāi)始允許
將編程內(nèi)容創(chuàng)新這一任務(wù)轉(zhuǎn)移到以設(shè)計(jì)藝術(shù)為重點(diǎn)而非編程科學(xué)為重
點(diǎn)的設(shè)計(jì)人員身上。
/我們的目標(biāo)群體是叫做創(chuàng)造者的人群';Sun公司Java平臺(tái)組的
高級(jí)副主任OctavianTanase對(duì)InternetN說(shuō),"隨著1.0版的
發(fā)布,我們將目標(biāo)鎖定在網(wǎng)頁(yè)開(kāi)發(fā)人員,這群可能拓展Java界面體驗(yàn)
的人。到2011年,主要的目標(biāo)是大量使用諸如Adobe系統(tǒng)等設(shè)計(jì)工具
的設(shè)計(jì)人員:
當(dāng)然,通向這個(gè)以設(shè)計(jì)為導(dǎo)向的工具還需要一些時(shí)間。Sun公司
最后打算提供自己的程序給設(shè)計(jì)人員來(lái)建立RIAS,但是直到如今,這
些設(shè)計(jì)人員還得使用程序員所使用的Netbeans或Eclipse集成開(kāi)發(fā)環(huán)
境(IDE)。新工具將在來(lái)年夏天面市。
8)Curl
Curl誕生于1995年的美國(guó),Curl是由美國(guó)國(guó)防部高級(jí)研究項(xiàng)目
代理資助,馬薩諸塞州科技學(xué)院的DavidA.Kranz開(kāi)發(fā)的Web開(kāi)發(fā)語(yǔ)
言,HTML語(yǔ)言的創(chuàng)建者TimBerners-Lee也參與其中,并扮演了重
要的角色。
該語(yǔ)言的目標(biāo)是用一種統(tǒng)一的面向?qū)ο蟮恼Z(yǔ)言代替HTML、Cascad
ingStyleSheets,JavaScript等;僅使用Curl便可開(kāi)發(fā)出Web應(yīng)
用的各種軟件;Curl程序在瀏覽器中運(yùn)行,并且因?yàn)樗灶?lèi)似JRE的
形式提供了客戶端運(yùn)行環(huán)境SurgeRTE,能夠輕松開(kāi)發(fā)出日益流行的R
ichClient應(yīng)用程序。
Curl是為了實(shí)現(xiàn)富客戶端(richclient)應(yīng)運(yùn)而生的Web開(kāi)發(fā)
語(yǔ)言,僅僅從其外觀的豐富性上就能體現(xiàn)其富客戶端理念。
為了實(shí)現(xiàn)真正有益的富客戶端,它能有效地實(shí)現(xiàn)各種復(fù)雜處理,
具備提供高信賴(lài)、高擴(kuò)展性、高維護(hù)性的應(yīng)用程序所應(yīng)擁有的各種編
碼能力。其擁有在Web環(huán)境上便利的分配、管理以及低廉的維護(hù)費(fèi)以
及在C/S環(huán)境上的用戶便利性、迅速的應(yīng)答,華麗的圖像顯示等重多
優(yōu)點(diǎn)于一身。
Curl語(yǔ)言于2002年在美國(guó)正式開(kāi)始商業(yè)化,在美國(guó)和日本擁有
重多的客戶和合作伙伴,現(xiàn)已進(jìn)軍北美及韓國(guó)市場(chǎng),發(fā)展勢(shì)頭迅猛。
9)!SilverLight
微軟在Mix07上發(fā)布一些重大通告,其中最值得關(guān)注的就是Silv
erLight的發(fā)布,SilverLight的前身就是WPF/E技術(shù)。
這是一種新的Web呈現(xiàn)技術(shù)的名稱(chēng),創(chuàng)建該技術(shù)的目的是使其能
夠在各種平臺(tái)上運(yùn)行。該技術(shù)支持創(chuàng)建豐富的、具有絢麗視覺(jué)效果的
交互式體驗(yàn),并且可以隨處實(shí)現(xiàn):無(wú)論是在瀏覽器內(nèi)、在多個(gè)設(shè)備上
還是在桌面操作系統(tǒng)(如AppleMacintosh)中??蓴U(kuò)展應(yīng)用程序標(biāo)
記語(yǔ)言(XAML)遵循Windows演示基礎(chǔ)(WPF),前者是“WPF/E”呈現(xiàn)
功能的基礎(chǔ)。XAML是Microsoft.NETFramework3.0(Windows編
程基礎(chǔ)結(jié)構(gòu))中的呈現(xiàn)技術(shù)。
1.13.3RIA未來(lái)的發(fā)展預(yù)測(cè)
就目前RIA的使用情況來(lái)說(shuō),離〃RIA時(shí)代〃還有很遠(yuǎn)的一段距離。
今后幾年時(shí)間內(nèi)傳統(tǒng)的Web應(yīng)用程序和RIA將會(huì)共存。筆者認(rèn)為真正
具有實(shí)力擔(dān)當(dāng)起普及豐富客戶端應(yīng)用重任的只有基于FlashPlayer
的Flash/Flex應(yīng)用程序和Microsoft的基于Avalon的應(yīng)用程序。短
期時(shí)間內(nèi)(估計(jì)2-3年時(shí)間)可能是Flash/Flex應(yīng)用程序在新興的
網(wǎng)絡(luò)應(yīng)用程序市場(chǎng)上占有主導(dǎo)地位。
目前Microsoft還在推廣一種叫做SmartClient(智能客戶端)
的客戶端程序技術(shù),Microsoft稱(chēng)SmartClient是比RichClient更
優(yōu)秀的客戶端,因而采用SmartClient的應(yīng)用程序算不算RIA目前我
個(gè)人還無(wú)法作答。這里我們之所以提及SmartClient,是因?yàn)镾mart
Client的特性跟我們談的RichClient有太多的相似之處。SmartCl
ient擁有自動(dòng)更新、離線狀態(tài)下的數(shù)據(jù)處理和可以使用本地資源等特
征,其中的可使用本地資源這一項(xiàng)無(wú)疑是一大賣(mài)點(diǎn),因?yàn)闉g覽器中的
Flash/Flex應(yīng)用程序目前還無(wú)法操作本地的一些資源,比如Flash/F
lex應(yīng)用程序無(wú)法將網(wǎng)上的文件保存到本地或者修改本地文件。雖然
Macromedia的Centrail.5已經(jīng)可以對(duì)本地文件進(jìn)行簡(jiǎn)單的操作,并
且Flexl.5開(kāi)發(fā)的RIA也能夠運(yùn)行于Central上,但是如何使Centra
1能夠得到大范圍推廣還是個(gè)問(wèn)題。相對(duì)于輕量級(jí)的RichClient,S
martClient更接近C/S架構(gòu)中的客戶端程序°RichClient和Smart
Client的定位還是有所區(qū)別的:RichClient更適合作為輕量級(jí)的基
于瀏覽器的網(wǎng)絡(luò)應(yīng)用程序客戶端;SmartClient更適合作為Windows
桌面應(yīng)用程序的智能客戶端。
不管我們今天稱(chēng)之為的RIA今后會(huì)不會(huì)成為主流應(yīng)用程序,人們
對(duì)開(kāi)發(fā)具有高度互動(dòng)性、豐富用戶體驗(yàn)以及功能強(qiáng)大的客戶端的追求
是不變的。有理由相信,擁有成熟技術(shù)和極高市場(chǎng)占有率的Flash客
戶端將會(huì)在RIA道路上越走越遠(yuǎn)。Microsoft未來(lái)的重量級(jí)武器:Ava
Ion和SmartClient能否后來(lái)者居上讓我們拭目以待。
L14MVC設(shè)計(jì)模型(體系)
/ANALYZE/200712291011101306.htm
http:〃作者:林善茂來(lái)源:賽迪網(wǎng)2007年12月
29日
1前言
用戶界面,特別是圖形用戶界面,承擔(dān)著向用戶顯示問(wèn)題模型和與用
戶進(jìn)行操作和I/O交互的作用。用戶希望保持交互操作界面的相對(duì)穩(wěn)定,
但更希望根據(jù)需要改變和調(diào)整顯示的內(nèi)容和形式。例如,要求支持不同的
界面標(biāo)準(zhǔn)或得到不同的顯示效果,適應(yīng)不同的操作需求。這就要求界面結(jié)
構(gòu)能夠在不改變軟件的功能和模型情況下,支持用戶對(duì)界面構(gòu)成的調(diào)整。
要做到這一點(diǎn),從界面構(gòu)成的角度看,困難在于:在滿足對(duì)界面要求
的同時(shí),如何使軟件的計(jì)算模型獨(dú)立于界面的構(gòu)成。模型-視圖-控制(MVC:
Model-View-ControIler)就是這樣的一種交互界面的結(jié)構(gòu)組織模型。
2MVC(Model-View-Control)
MVC由TrygveReenskaug提出,首先被應(yīng)用在SmallTalk-80環(huán)境中,
是許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ),Microsoft的MFC基礎(chǔ)類(lèi)也遵循了MVC
的思想。
對(duì)于界面設(shè)計(jì)可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視
圖、控制三種部件。
模型部件是軟件所處理問(wèn)題邏輯在獨(dú)立于外在顯示內(nèi)容和形式情況
下的內(nèi)在抽象,封裝了問(wèn)題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,他獨(dú)立
于具體的界面表達(dá)和I/。操作。
視圖部件把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及特定形式展示
給用戶。它從模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的顯示
形式或視圖。
控制部件是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中
任何變化的傳播,確保用戶界面于模型間的對(duì)應(yīng)聯(lián)系;它接受用戶的輸入,
將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工
作的部件。通常一個(gè)視圖具有一個(gè)控制器。
模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。
匚口出IQQZUTTTK4?注:rnI占、殺h+FP二匚七?士才rrFMT/么"「些
欖型類(lèi)視圖類(lèi)
數(shù)據(jù)結(jié)構(gòu)和關(guān)系制小形式
狀太
程圖和控■,器的注圖大系顯示模式控器模
內(nèi)部政求和1E林ilR從模型狹打數(shù)據(jù)控控
向ft!圖和捽制器通然故抵登化膽留小》HM1控制現(xiàn)圖如斯
圖IYYC中的模型、視圖和控制類(lèi)
(1)模型包含了應(yīng)用問(wèn)題的核心數(shù)據(jù)、邏輯關(guān)系和計(jì)算功能,它封
裝了所需的數(shù)據(jù),提供了完成問(wèn)題處理的操作過(guò)程??刂破饕罁?jù)I/O的需
要調(diào)用這些操作過(guò)程。模型還為視圖獲取顯示數(shù)據(jù)而提供了訪問(wèn)其數(shù)據(jù)的
操作。
務(wù)種變化-傳播機(jī)制體現(xiàn)在各個(gè)相互依賴(lài)部件之間的注冊(cè)關(guān)系上。模
型數(shù)據(jù)和狀態(tài)的變化會(huì)激發(fā)這種變化-傳播機(jī)制,它是模型、視圖和控制
器之間聯(lián)系的紐帶。
(2)視圖通過(guò)顯示的形式,把信息轉(zhuǎn)達(dá)給用戶。不同視圖通過(guò)不同
的顯示,來(lái)表達(dá)模型的數(shù)據(jù)和狀態(tài)信息。每個(gè)視圖有一個(gè)更新操作,它可
被變化-傳播機(jī)制所激活。當(dāng)調(diào)用更新操作時(shí),視圖獲得來(lái)自模型的數(shù)據(jù)
值,并用它們來(lái)更新顯示。
在初始化時(shí),通過(guò)與變化-傳播機(jī)制的注冊(cè)關(guān)系建立起所有視圖與模
圖2MVC的實(shí)現(xiàn)過(guò)程
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年黨章黨規(guī)黨紀(jì)知識(shí)競(jìng)賽考試題庫(kù)及答案(共190題)
- 課后服務(wù)申請(qǐng)書(shū)
- 醫(yī)輔部工作匯報(bào)發(fā)言
- 沙糖桔樹(shù)秋季嫁接方法
- 二零二五年度北京市音樂(lè)行業(yè)音樂(lè)劇演員勞動(dòng)合同范本
- 項(xiàng)目收尾工作總結(jié)與經(jīng)驗(yàn)教訓(xùn)總結(jié)報(bào)告
- 基于區(qū)塊鏈技術(shù)的農(nóng)產(chǎn)品溯源與智能管理平臺(tái)
- 環(huán)境監(jiān)測(cè)與分析技術(shù)指南
- 物聯(lián)網(wǎng)農(nóng)業(yè)智能控制系統(tǒng)
- 屠宰可行性研究報(bào)告
- 手機(jī)攝影教程全套課件
- 2025屆寧夏銀川一中高三上學(xué)期第五次月考英語(yǔ)試題及答案
- 基于核心素養(yǎng)的高中數(shù)學(xué)“教、學(xué)、評(píng)”一致性研究
- 空調(diào)原理培訓(xùn)課件
- 2024年國(guó)網(wǎng)陜西省電力有限公司招聘考試真題
- 2025屆上海市虹口區(qū)初三一模英語(yǔ)試卷(含答案和音頻)
- 2025年熊膽眼藥水項(xiàng)目可行性研究報(bào)告
- 高中主題班會(huì) 遠(yuǎn)離背后蛐蛐課件-高二下學(xué)期人際交往主題班會(huì)
- 5.2 做自強(qiáng)不息的中國(guó)人 (課件)-2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下冊(cè)
- 現(xiàn)代康復(fù)治療
- 醫(yī)療行業(yè)以案明紀(jì)的警示教育心得體會(huì)
評(píng)論
0/150
提交評(píng)論