業(yè)務(wù)構(gòu)件中的可復(fù)用模式及其代碼封裝技術(shù)_第1頁
業(yè)務(wù)構(gòu)件中的可復(fù)用模式及其代碼封裝技術(shù)_第2頁
業(yè)務(wù)構(gòu)件中的可復(fù)用模式及其代碼封裝技術(shù)_第3頁
業(yè)務(wù)構(gòu)件中的可復(fù)用模式及其代碼封裝技術(shù)_第4頁
業(yè)務(wù)構(gòu)件中的可復(fù)用模式及其代碼封裝技術(shù)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、業(yè)務(wù)構(gòu)件中的可復(fù)用模式及其代碼封裝技術(shù)REUSABLE PATTERN AND ITS CODE PACKAGING TECHNOLOGY FOR BUSINESS COMPONENT哈爾濱工業(yè)大學(xué)2010 年 6 月號:TP315 UDC:621.3學(xué)校代碼:10213密級:公開業(yè)務(wù)構(gòu)件中的可復(fù)用模式及其代碼封裝技術(shù):導(dǎo)師:戰(zhàn)德臣教授申請學(xué)位:工學(xué)學(xué)科:計(jì)算機(jī)科學(xué)與技術(shù)所在:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院期:2010 年 6 月:哈爾濱工業(yè)大學(xué)答辯日授予學(xué)位Classified Index: TP315U.D.C.:621.3Disserion for the Master Degree in Eng

2、ineeringREUSABLE PATTERN AND ITS CODE PACKAGING TECHNOLOGY FOR BUSINESS COMPONENTCandidate: Supervisor:Academic Degree AppWang WeiProf. Zhan Dechen Master of EngineeringComputer Science and Technologyd for:Spelty:Affiliation:SchoolofComputerScienceandTechnologyJune, 2010Date of Defense:Degree Confer

3、ring Institution:Harbin Institute of Technology摘要摘要在企業(yè)管理務(wù)構(gòu)件可以通過參數(shù)化和配置技術(shù)被復(fù)用以適應(yīng)業(yè)務(wù)需求的變化,這種構(gòu)件粒度大、可變參數(shù)多、結(jié)構(gòu)復(fù)雜,難以開發(fā)。業(yè)務(wù)構(gòu)件是所要處理的業(yè)務(wù)對象(如業(yè)務(wù)單據(jù))的軟構(gòu)件實(shí)現(xiàn)結(jié)果,包含對象的數(shù)據(jù)信息及相關(guān)的業(yè)務(wù)活動等,是一種具有完整業(yè)務(wù)語義的大粒度構(gòu)件。對于這種大粒度的軟構(gòu)件,其開發(fā)過程存在著大量的重復(fù)勞動,且其龐大的代碼影響著自身的快速重構(gòu)。為了提高業(yè)務(wù)構(gòu)件的開發(fā)效率、確保開發(fā)的正確性、在一定程度上解決構(gòu)件粒度的平衡問題,本文研究了業(yè)務(wù)構(gòu)件中的可復(fù)用模式及其代碼封裝技術(shù),從而極大地減少了業(yè)務(wù)構(gòu)件

4、的開發(fā)量,有利于業(yè)務(wù)構(gòu)件的復(fù)用,提高了業(yè)務(wù)構(gòu)件的快速重構(gòu)能力。本文首先以企業(yè)應(yīng)用系統(tǒng)中的業(yè)務(wù)構(gòu)件為出發(fā)點(diǎn),著重分析了業(yè)務(wù)構(gòu)件的概念、特性、模型、復(fù)用特點(diǎn)以及業(yè)務(wù)構(gòu)件之間的關(guān)系?;谝陨系姆治鼋Y(jié)果,從已有應(yīng)用系統(tǒng)中抽取業(yè)務(wù)構(gòu)件的典型的可復(fù)用模式,詳細(xì)地給出這些模式的分析、設(shè)計(jì)與實(shí)現(xiàn)過程。最后,以哈工大(威海)企業(yè)與服務(wù)智能計(jì)算技術(shù)的 I開發(fā)集成為研發(fā),對這些典型的可復(fù)用模式進(jìn)行實(shí)現(xiàn),并且驗(yàn)證了其對于提高業(yè)務(wù)構(gòu)件開發(fā)效率和復(fù)用性能方面的有效性和實(shí)用性。:復(fù)用;業(yè)務(wù)構(gòu)件;可復(fù)用模式;代碼封裝IAbstractIn large scale software for entrise, business

5、component is reused to adaptrequirement changes by parameterization and configuration in large scale software forentrise, but it is difficulty to develecause of the large granularity, variousparameters and complexity of the structure. The business component is the softwareimplemenion of the prosing

6、business object, such as entrise bills. With datainformation and related profesal activity included, the business component is abusiness semsegrated and large granularity component. The development of thelarge granularity soft component takes much repeat work and the components ponderouscode frustra

7、tes its quick refectory.This pr presents reusable pattern and its code packaging technology for thebusiness component to improve the efficiency and correctness of development and in a certain degree resolve the balance of component granularity. So it largely decreases thelabor cost for business comp

8、onent development, makes for reuse of business componentand enhanThis pthe ability of quick refactoring.r starts from business component of entrise applications systems,mainly studied the concept, characteristics, m, reuse characteristics of businesscomponent and the relationship betn business compo

9、nents.According to all above, the typical reusable patterns are abstracted from the existingcomponent: dpattern. This p detail.orrelation pattern,usererface pattern and authority configurationr proedysis, designing and realizing pros of these patterns inFinally, base on Iplatform of research center

10、onelligent Computing forEntrise & Serviin Harbin Institute of Technology at Wei Hai for R & D platform,reusable ms and code packaging are implemented. Meanwhile, the feasibility andeffectiveness of the reuse rate of business component get a good validation.Keywords: software reuse, business componen

11、t, reusable pattern, code packagingII目錄摘要IAbstractII第 1 章 緒論11.11.21.31.41.51.6課題來源1課題背景1研究目的和意義1國內(nèi)外研究現(xiàn)狀2目前的主要問題3本的主要工作內(nèi)容4第 2 章 業(yè)務(wù)構(gòu)件的相關(guān)分析52.12.22.3業(yè)務(wù)構(gòu)件的概念5業(yè)務(wù)構(gòu)件的基本 6業(yè)務(wù)構(gòu)件模型8業(yè)務(wù)構(gòu)件模型的描述8業(yè)務(wù)構(gòu)件模型的元模型8本章小結(jié)10第 3 章 業(yè)務(wù)構(gòu)件中的可復(fù)用模式113.1 引言113.2 業(yè)務(wù)構(gòu)件中可復(fù)用模式的分析與提取113.2.13.2.23.2.33.2.4可復(fù)用模式的定義12用戶界面模式13數(shù)據(jù)關(guān)聯(lián)模式16權(quán)限配置模式2

12、03.3 本章小結(jié)24第 4 章 業(yè)務(wù)構(gòu)件中可復(fù)用模式的實(shí)現(xiàn)與代碼封裝254.1 用戶界面模式的實(shí)現(xiàn)與代碼封裝274.1.14.1.24.1.3用戶界面管理27簡單查詢編輯界面模式28主從表耦合界面模式30III4.1.4 主從表分離界面模式314.2 數(shù)據(jù)關(guān)聯(lián)模式的實(shí)現(xiàn)與代碼封裝324.2.1 JSP程序的結(jié)構(gòu)324.2.24.2.3數(shù)據(jù)關(guān)聯(lián)模式的實(shí)現(xiàn)34查詢操作的執(zhí)行優(yōu)化與代碼封裝344.3 權(quán)限配置模式的實(shí)現(xiàn)與代碼封裝364.3.14.3.24.3.3權(quán)限定義36權(quán)限配置36角色權(quán)限管理374.4 本章小結(jié)39第 5 章 可復(fù)用模式的應(yīng)用與驗(yàn)證405.15.25.3用戶界面模式在場站管理

13、系統(tǒng)中的應(yīng)用40數(shù)據(jù)關(guān)聯(lián)模式在場站管理系統(tǒng)中的應(yīng)用42應(yīng)用效果分析435.4 本章小結(jié)43結(jié)論44參考文獻(xiàn)45哈爾濱工業(yè)大學(xué)哈爾濱工業(yè)大學(xué)性 50使用書50致謝51IV第 1 章 緒論1.1 課題來源本課題來源于山東省自然科學(xué)基金重點(diǎn)項(xiàng)目“模型驅(qū)動的智能化軟構(gòu)件生成技術(shù)研究”(項(xiàng)目號:2007ZRA10003)。1.2 課題背景的企業(yè)應(yīng)用開發(fā),在傳統(tǒng)的“構(gòu)件+數(shù)據(jù)庫開發(fā)”的基礎(chǔ)上,正向“大粒度構(gòu)件開發(fā)”的方向發(fā)展1。而業(yè)務(wù)構(gòu)件(Business Component,BC)就是一種具有完整業(yè)務(wù)語義的大粒度構(gòu)件,稱其為大粒度構(gòu)件是相對于小粒度構(gòu)件(例如一般概念上的EJB、CORBA、DOC等分布式

14、構(gòu)件)而言的,它是企業(yè)生產(chǎn)和經(jīng)營過程中所處理的業(yè)務(wù)對象(如業(yè)務(wù)單據(jù))的軟構(gòu)件實(shí)現(xiàn)結(jié)果,包含對象的數(shù)據(jù)信息及相關(guān)的業(yè)務(wù)活動等。對于基于業(yè)務(wù)構(gòu)件的企業(yè)應(yīng)用開發(fā),各種業(yè)務(wù)構(gòu)件之間存在著一定程度的相似性,程序員開發(fā)業(yè)務(wù)構(gòu)件需要耗費(fèi)大量的時間和精力在重復(fù)勞動上,影響了企業(yè)應(yīng)用的開發(fā)效率。同時,企業(yè)外部環(huán)境和組織結(jié)構(gòu)的經(jīng)常性變動迫使企業(yè)應(yīng)用中的各種業(yè)務(wù)構(gòu)件更改其實(shí)現(xiàn),以適應(yīng)新的業(yè)務(wù)需求。為了提高業(yè)務(wù)構(gòu)件的開發(fā)效率、確保開發(fā)的正確性、在一定程度上解決構(gòu)件粒度的平衡問題,本文研究了業(yè)務(wù)構(gòu)件中的可復(fù)用模式及其代碼封裝技術(shù),從而極大地減少了業(yè)務(wù)構(gòu)件的開發(fā)量,有利于業(yè)務(wù)構(gòu)件的復(fù)用,提高了業(yè)務(wù)構(gòu)件的快速重構(gòu)能力。1.

15、3 研究目的和意義的發(fā)展成為制約計(jì)算機(jī)系統(tǒng)發(fā)展的主要,擺脫作坊式的開發(fā)模式提高的生產(chǎn)效率和質(zhì)量成為當(dāng)前的研究重點(diǎn)。解決這些問題最好的辦法是從過去的項(xiàng)目中吸取經(jīng)驗(yàn),抽象出公共的部分,并在以后的項(xiàng)目中重用它們,形成設(shè)費(fèi)計(jì)模式 2, 3 。復(fù)用可以提高生產(chǎn)率,縮短開發(fā)周期,降低開發(fā)和用,生產(chǎn)更加標(biāo)準(zhǔn)化的,提高開發(fā)質(zhì)量,增強(qiáng)系統(tǒng)的互操作性。作為軟件重用的一種有效,基于構(gòu)件的復(fù)用技術(shù)成功地完成了將系統(tǒng)開發(fā)的重點(diǎn)從程序設(shè)計(jì)轉(zhuǎn)移到對已有的構(gòu)件的選取、調(diào)整、組裝和升級的轉(zhuǎn)換。在構(gòu)件模型的支持下,通過重用已有的構(gòu)件,開發(fā)者可以“即插即用”地快速構(gòu)造應(yīng)用系統(tǒng),從而提高工作效率,產(chǎn)生更加規(guī)范可靠的應(yīng)用。基于構(gòu)件的開

16、發(fā)改變傳統(tǒng)的信-1-息系統(tǒng)開發(fā)方法。針對將要開發(fā)的領(lǐng)域進(jìn)行分析,根據(jù)該領(lǐng)域的特征找出或者設(shè)計(jì)符合條件的業(yè)務(wù)構(gòu)件,然后將這些構(gòu)件有機(jī)的組裝起來成為一個系統(tǒng)4。一旦企業(yè)業(yè)務(wù)活動和業(yè)務(wù)流程發(fā)生改變,便找出相對應(yīng)的業(yè)務(wù)構(gòu)件進(jìn)行修改或者重新設(shè)計(jì),而不需要對整個信息系統(tǒng)進(jìn)行重構(gòu),這樣則大大的節(jié)省了人力和財(cái)力,構(gòu)件技術(shù)就是在此種情況下應(yīng)需而產(chǎn)生的。本文根據(jù)業(yè)務(wù)構(gòu)件的復(fù)用特點(diǎn),尤其是大粒度構(gòu)件的復(fù)用特點(diǎn),講述了可復(fù)用模式的概念,將業(yè)務(wù)構(gòu)件的共性抽象為模式,從業(yè)務(wù)構(gòu)件中抽取出典型的可復(fù)用模式,并對這些可復(fù)用模式進(jìn)行代碼封裝,因此較大地提高了業(yè)務(wù)構(gòu)件的開發(fā)效率和可復(fù)用度,在一定程度上解決了構(gòu)件粒度的平衡問題;縮短

17、了業(yè)務(wù)構(gòu)件開發(fā)的周期,減少了大量重復(fù)代碼的編寫,降低了開發(fā)費(fèi)用,提高了生產(chǎn)率;更易配置最優(yōu)的解決方案,可選擇的復(fù)用模式使得業(yè)務(wù)構(gòu)件的功能豐富、完備;減少了出錯風(fēng)險,因?yàn)橛糜诮M裝構(gòu)件的可復(fù)用模式均已各自通過了測試和驗(yàn)證,保證了開發(fā)的質(zhì)系統(tǒng)的開量;提高了系統(tǒng)的靈活性,縮短了系統(tǒng)的開發(fā)時間,減少了發(fā)和費(fèi)用,是最終實(shí)現(xiàn)復(fù)用的現(xiàn)實(shí)可行的技術(shù)。1.4 國內(nèi)外研究現(xiàn)狀目前,基于構(gòu)件的開發(fā)已經(jīng)越來越廣泛的應(yīng)用起來,并且實(shí)踐證明是一種行之有效的工業(yè)化方法。在開發(fā)過程中普遍存在研發(fā)成本高、實(shí)施成本高、集與應(yīng)用 (Entrise software &成成本高、實(shí)施周期長等問題,在企業(yè) Applications ,E

18、SA)管理開發(fā)過程中,這些問題尤為突出?;跇?gòu)件的開發(fā)已經(jīng)成為降低開發(fā)成本的重要方法之一5。在工業(yè)界,應(yīng)用比較成構(gòu)件技術(shù)有微軟公司的組件對象模型(Component Object M,COM)/分布式組件對象模型(Distributed Component Object M, DCOM)、SUN公司的JavaBeans/企業(yè)級JavaBean (Entrise Java Bean ,EJB)或?qū)ο蠊芾斫M織(Object Management Group ,OMG)的公共對象請求結(jié)構(gòu)(Common Object Request Broker Architecture, CORBA)等,當(dāng)前業(yè)務(wù)構(gòu)

19、件大多是基于這些構(gòu)件開發(fā)并組裝而成的6。在對這些業(yè)務(wù)構(gòu)件可重用性的研究務(wù)構(gòu)件的粒度用來衡量其包含功能的多少,是影響其可重用性的關(guān)鍵。業(yè)務(wù)構(gòu)件的粒度可以很大(如對整個表單的處理),也可以很小(增加一個數(shù)據(jù)項(xiàng)操作)。小粒度構(gòu)件的優(yōu)點(diǎn)是易于定義和開發(fā),粒度小,通用范圍廣,可在較多應(yīng)用中進(jìn)行復(fù)用,但其眾多小粒度構(gòu)件的組裝過程較為繁瑣,會導(dǎo)致復(fù)用效率低;反之,構(gòu)件的粒度越大,構(gòu)件組裝時需要的步驟就越少,可復(fù)用效率越高,但其復(fù)用范圍也越受限7。在提高構(gòu)件的復(fù)用度方面,文獻(xiàn)8提出了一種基于業(yè)務(wù)策略的構(gòu)件設(shè)計(jì)模型,-2-刻畫影響復(fù)用性能的多個指標(biāo),以實(shí)現(xiàn)復(fù)用最優(yōu)化的目標(biāo)函數(shù)。也有研究將模式概念引入構(gòu)件復(fù)用領(lǐng)域

20、,通過模式化構(gòu)件共性,以提高其抽象度和復(fù)用度。文獻(xiàn)9利用預(yù)定義的模式進(jìn)行構(gòu)件識別和選擇,提高復(fù)用效率;文獻(xiàn)10提出一種基于模式的元模型優(yōu)化建模方法。部分研究也開始關(guān)注大粒度業(yè)務(wù)構(gòu)件的復(fù)用性能,文獻(xiàn)11從企業(yè)級開發(fā)的視點(diǎn)提出了基于大中粒度業(yè)務(wù)組件的開發(fā)思維框架;文獻(xiàn)12認(rèn)為,業(yè)務(wù)構(gòu)件是位于分布式系統(tǒng)體系結(jié)構(gòu)不同層次上軟構(gòu)件的集成體,并提出一種基于分層的業(yè)務(wù)構(gòu)件元模型;文獻(xiàn)13提出基于形態(tài)、層次、描述三個維度的可復(fù)用構(gòu)件模型,用其優(yōu)化構(gòu)件的描述、規(guī)約模型,指導(dǎo)企業(yè)的系統(tǒng)性復(fù)用;文獻(xiàn)14提出一種基于跨業(yè)務(wù)領(lǐng)域的功能構(gòu)件復(fù)用方法,給定編譯與運(yùn)行參數(shù)實(shí)例化成特定領(lǐng)域和具體功能的構(gòu)件。除此之外,文獻(xiàn)15通

21、過領(lǐng)域分解抽象出企業(yè)構(gòu)件,建立了具有可配置性的體系結(jié)構(gòu)風(fēng)格,以適應(yīng)需求變化性。1.5 目前的主要問題上述各種方法通過不同抽象層次提取構(gòu)件、優(yōu)化構(gòu)件模型設(shè)計(jì)來提高構(gòu)件復(fù)用性能,但這些方法存在以下問題:構(gòu)件優(yōu)化偏重于細(xì)粒度對象層次4-6,不能適用于大粒度構(gòu)件的復(fù)用,而大粒度構(gòu)件具有復(fù)用效率高的特點(diǎn),其復(fù)用的靈活性同樣重要,當(dāng)前的研究并未側(cè)重這一點(diǎn);對大粒度構(gòu)件的抽象層次越高,雖然擴(kuò)大了可復(fù)用范圍,但適配工作量增大,復(fù)用效率隨之降低;大多數(shù)研究是統(tǒng)計(jì)分析構(gòu)件使用頻率,對可使用性方面的優(yōu)化和有用性的關(guān)注較少,優(yōu)化程度有限,也缺乏對大粒度構(gòu)件開發(fā)效率的改善。為使基于構(gòu)件組裝的ESA能夠適應(yīng)更廣泛的業(yè)務(wù)變

22、化,需要保證構(gòu)件具有較高復(fù)用效率和較大有用性,需要提高大粒度構(gòu)件復(fù)用度16。雖然目前構(gòu)件重用還沒有在設(shè)計(jì)領(lǐng)域得到全面推廣,但是真正的工廠還未形成,仍然存在一些問題,如大的構(gòu)件庫的建設(shè)、構(gòu)件的分類和檢索、構(gòu)件的裝配與集成等,使得構(gòu)件的重用仍處在較低的水平17。然而構(gòu)件由于其本身的諸多特性,正在成為開發(fā)的一個熱點(diǎn),基于構(gòu)件的開發(fā)方法被視為解決、提高生產(chǎn)效率和質(zhì)量的一條現(xiàn)實(shí)可行的途徑18。構(gòu)件重用的目標(biāo)是達(dá)到需求、分析、設(shè)計(jì)、編碼、測試的重用。在不同層次上,構(gòu)件均可以將底層的多個邏輯組次上的粒度更大的新構(gòu)件,甚至直接封裝到一個系統(tǒng),使模塊的重用從代碼級、對象級、架構(gòu)級到系統(tǒng)級都可能實(shí)現(xiàn),從而使人裝配

23、定制而成19,20。像硬件一樣,能任這些研究主要集中在系統(tǒng)的結(jié)構(gòu)、開發(fā)框架、基礎(chǔ)構(gòu)件的應(yīng)用機(jī)制與方法及基于業(yè)務(wù)構(gòu)件的復(fù)用上,并沒有對業(yè)務(wù)構(gòu)件中的可復(fù)用模式進(jìn)行分析、歸納、整理和概括,形成可以滿足業(yè)務(wù)需求變化、實(shí)現(xiàn)業(yè)務(wù)構(gòu)件靈活配置的系統(tǒng)需求。有些-3-研究將模式的概念引入構(gòu)件復(fù)用領(lǐng)域,通過模式化構(gòu)件共性,以提高其抽象度和復(fù)用度;也有一部分研究對業(yè)務(wù)構(gòu)件中的模式做了簡單的劃分,但是沒有系統(tǒng)、具體的對其進(jìn)行分類和整理,抽象出共性部分,形成可復(fù)用模式。為了增強(qiáng)市場競爭力,企業(yè)的業(yè)務(wù)需求總是不斷變化的,這就要求管理必須具有柔性以適應(yīng)持續(xù)變化的業(yè)務(wù)需求21。隨著面象技術(shù)的成熟,構(gòu)件化的軟件體系結(jié)構(gòu)和基于構(gòu)

24、件的企業(yè)管理開發(fā)方法也逐漸成為解決此問題的首選方案。構(gòu)件的復(fù)用與重構(gòu)技術(shù)可以構(gòu)件的適應(yīng)能力,其中參數(shù)化與動態(tài)配置技術(shù)可用于開發(fā)具有適應(yīng)性的構(gòu)件,使其在應(yīng)用過程中滿足持續(xù)變化的需求22,23。目前,構(gòu)件的粒度是影響業(yè)務(wù)構(gòu)件復(fù)用性能的重要24,構(gòu)件提取與構(gòu)件粒度是密不可分的。粒度是一個難以清晰定義的概念,它表征了復(fù)用體的規(guī)模與復(fù)雜程度25。構(gòu)件所處的粒度層次越高、所能提供的功能多,其粒度就越大。構(gòu)件粒度越大,一些不需要的功能就可能越多26。細(xì)粒度層次的構(gòu)件復(fù)用范圍較大,但復(fù)用這類構(gòu)件以進(jìn)行系統(tǒng)構(gòu)造時,需要將數(shù)目眾多的構(gòu)件進(jìn)行組合,因而復(fù)用效率較低;反之,處于粗粒度層次的構(gòu)件具有較高的復(fù)用效率,但復(fù)

25、用度較低27。如果能夠盡可能的將業(yè)務(wù)構(gòu)件中相對穩(wěn)定的、共有的可復(fù)用模式封裝為一個粒度更大的構(gòu)件,從而可以在保證構(gòu)件不需頻繁發(fā)生調(diào)整的情況下充分利用大粒度所帶來的優(yōu)越性,以提高復(fù)用性能。這也是對業(yè)務(wù)構(gòu)件中可復(fù)用模式進(jìn)行研究的一個重要應(yīng)用。1.6 本的主要工作內(nèi)容基于上述問題,本課題研究了業(yè)務(wù)構(gòu)件中的可復(fù)用模式,以解決小粒度構(gòu)件復(fù)用效率低,提高大粒度構(gòu)件的復(fù)用度,在一定程度上解決了構(gòu)件粒度的平衡問題,并且通過對可復(fù)用模式進(jìn)行代碼封裝,極大地減少了在業(yè)務(wù)構(gòu)件的開發(fā)過程中重復(fù)代碼的編寫,提高了業(yè)務(wù)構(gòu)件的可復(fù)用性。本課題研究的主要內(nèi)容有:(1)(2)(3)業(yè)務(wù)構(gòu)件的分析和研究。業(yè)務(wù)構(gòu)件中的可復(fù)用模式分析

26、與提取。業(yè)務(wù)構(gòu)件中可復(fù)用模式的實(shí)現(xiàn)與代碼封裝。本文首先以企業(yè)應(yīng)用系統(tǒng)中的業(yè)務(wù)構(gòu)件為出發(fā)點(diǎn),著重分析了業(yè)務(wù)構(gòu)件的概念、特性、模型、復(fù)用特點(diǎn)以及業(yè)務(wù)構(gòu)件之間的關(guān)系。基于以上的分析結(jié)果,從已有應(yīng)用系統(tǒng)中抽取業(yè)務(wù)構(gòu)件的典型的可復(fù)用模式:用戶界面模式、數(shù)據(jù)關(guān)聯(lián)模式和權(quán)限配置模式,詳細(xì)地給出這些模式的分析、設(shè)計(jì)與實(shí)現(xiàn)過程。最后,以哈工大(威海)企業(yè)與服務(wù)智能計(jì)算的 I開發(fā)集成為研發(fā),對這些典型的可復(fù)用模式進(jìn)行實(shí)現(xiàn),驗(yàn)證了其對于提高業(yè)務(wù)構(gòu)件開發(fā)效率和復(fù)用性能方面的有效性和實(shí)用性。-4-第 2 章 業(yè)務(wù)構(gòu)件的相關(guān)分析2.1 業(yè)務(wù)構(gòu)件的概念首先理解業(yè)務(wù)構(gòu)件,在實(shí)際的開發(fā)過程務(wù)構(gòu)件是如何識別、提取的。其次通過對大

27、量業(yè)務(wù)構(gòu)件的分析,采用正確、有效的提取方式,對其中相對穩(wěn)定的、共有的、可復(fù)用的成分進(jìn)行識別,抽象為可復(fù)用模式。業(yè)務(wù)構(gòu)件最早是由Peter Herzum 和Oliver Slimes 在其專著The BusinessComponent (1998.9)給出:“業(yè)務(wù)構(gòu)件是一個獨(dú)立的、自治的(自包容的)業(yè)務(wù)概念或者處理流程的實(shí)施,它由所有必要的單元組成,這些、實(shí)施和擴(kuò)展所給定的業(yè)務(wù),是組成信息系統(tǒng)的獨(dú)立的、可重用性”28。在企業(yè)生產(chǎn)和經(jīng)營過程務(wù)構(gòu)件(Business Component,BC)是所要處理的業(yè)務(wù)對象(如業(yè)務(wù)單據(jù))的軟構(gòu)件實(shí)現(xiàn)結(jié)果,包含對象的數(shù)據(jù)信息及相關(guān)的業(yè)務(wù)活動等29。業(yè)務(wù)構(gòu)件是一種

28、具有完整業(yè)務(wù)語義的大粒度構(gòu)件,稱其為大粒度構(gòu)件是相對于小粒度構(gòu)件而言的,例如一般概念上的EJB、CORBA、DOC等分布式構(gòu)件可看作是小粒度構(gòu)件。網(wǎng)絡(luò)環(huán)境下的業(yè)務(wù)構(gòu)件大都采用分層的結(jié)構(gòu),每個層次分別由若干小粒度構(gòu)件組裝而成,且在各自的環(huán)境(客戶端或服務(wù)器端)中運(yùn)行,相互銜接為用戶提供完整的服務(wù)。從上面的定義可以看出,業(yè)務(wù)構(gòu)件是業(yè)務(wù)對象和構(gòu)件的融合,是業(yè)務(wù)對象實(shí)現(xiàn)所形成的自治業(yè)務(wù)概念和可復(fù)用的單元。業(yè)務(wù)構(gòu)件的主要對象是業(yè)務(wù)概念,可以是一個獨(dú)立的業(yè)務(wù)概念,也可以是一個業(yè)務(wù)的處理過程,它是構(gòu)件化信息系統(tǒng)可重用的基本單元30。業(yè)務(wù)構(gòu)件是對業(yè)務(wù)的抽象,每個業(yè)務(wù)都包括一些業(yè)務(wù)進(jìn)程和業(yè)務(wù)行為31。業(yè)務(wù)構(gòu)件的

29、設(shè)計(jì)既要滿足系統(tǒng)需求,又要具備高內(nèi)聚、低耦合、易重用的特點(diǎn)。根據(jù)業(yè)務(wù)構(gòu)件的特性,可以將業(yè)務(wù)構(gòu)件做出如下定義:業(yè)務(wù)構(gòu)件 BC=(BC_N,BC_I,BC_S,BC_Q),其中:(1) BC_N 表示業(yè)務(wù)構(gòu)件名,其命名應(yīng)具有色。名規(guī)則,并能體現(xiàn)其業(yè)務(wù)特BC_I 表示業(yè)務(wù)構(gòu)件的接口。業(yè)務(wù)構(gòu)件接口是一組相關(guān)操作的集合,它向用戶展示了該構(gòu)件提供服務(wù)的名稱。BC_S 是業(yè)務(wù)構(gòu)件特性的詳細(xì)描述,它可采用自然語言的形式形成業(yè)務(wù)構(gòu)件的文本說明,信息等。業(yè)務(wù)構(gòu)件的開發(fā)環(huán)境、運(yùn)行環(huán)境、業(yè)務(wù)功能、使用環(huán)境及可重用-5-(4) BC_Q是業(yè)務(wù)構(gòu)件的質(zhì)量屬性。由于業(yè)務(wù)構(gòu)件是為了實(shí)現(xiàn)某一項(xiàng)業(yè)務(wù)處理功對其進(jìn)試20。BC_Q能

30、,因此設(shè)計(jì)完成后,要依照企業(yè)業(yè)務(wù)流程的實(shí)際主要是描述該業(yè)務(wù)構(gòu)件的實(shí)現(xiàn)功能、可復(fù)用的范圍等信息。BCquality levelquality mode-description-description-methodServiceQualityerfacequality factorquality propertyb-usiness pros property-name-description-valuecontext-method-BP descriptiontechnology m-function-descriptionerfatandard+()+ver()+function()+descr

31、iption()+keyword()圖 2-1 基于業(yè)務(wù)流程的業(yè)務(wù)構(gòu)件描述模型通過以上對業(yè)務(wù)構(gòu)件的介紹,可以了解到構(gòu)件的使用價值和復(fù)用的價值與其粒度相關(guān)較大粒度構(gòu)件的功能比較齊全,復(fù)用更節(jié)省系統(tǒng)開發(fā)的工作量,但是耦合性比較高,可重用性比較差,而且抽象的難度也比較大;而較小粒度的構(gòu)件則比較容易獲得,耦合性比較低,但是節(jié)省的工作量較小,功能較少,即小粒度構(gòu)件在成本方面就相對較弱。因此,要根據(jù)企業(yè)自身的情況,合理的設(shè)計(jì)業(yè)務(wù)構(gòu)件的粒度邊界。目前的趨勢是大粒度構(gòu)件復(fù)用,但粒度也并非越大越好。2.2 業(yè)務(wù)構(gòu)件的基本業(yè)務(wù)構(gòu)件是業(yè)務(wù)對象和構(gòu)件的融合,是業(yè)務(wù)對象實(shí)現(xiàn)所形成的自治業(yè)務(wù)概念和可復(fù)用的單元。業(yè)務(wù)構(gòu)件的

32、主要對象是業(yè)務(wù)概念,可以是一個獨(dú)立的業(yè)務(wù)概念,也可以是一個業(yè)務(wù)的處理過程,它是構(gòu)件化信息系統(tǒng)可重用的基本單元。業(yè)務(wù)構(gòu)件是對業(yè)務(wù)的抽象,每個業(yè)務(wù)都包括一些業(yè)務(wù)進(jìn)程和業(yè)務(wù)行為。業(yè)務(wù)構(gòu)件的設(shè)計(jì)既要滿足系統(tǒng)需求,又要具備高內(nèi)聚、低耦合、易重用的特點(diǎn)。業(yè)務(wù)構(gòu)件的如圖 2-2 所示。-6-操作轉(zhuǎn)發(fā)程序圖 2-2 業(yè)務(wù)構(gòu)件的示意圖業(yè)務(wù)構(gòu)件清楚而完整地表示了業(yè)務(wù)單據(jù)中的數(shù)據(jù),業(yè)務(wù)單據(jù)中的主數(shù)據(jù)集、子數(shù)據(jù)集在業(yè)務(wù)構(gòu)件中都有對應(yīng)的分區(qū)實(shí)現(xiàn);同時,業(yè)務(wù)構(gòu)件實(shí)現(xiàn)了關(guān)于業(yè)務(wù)單據(jù)的所有操作,包括查詢、新增、刪除、修改、審核確認(rèn)等;業(yè)務(wù)構(gòu)件中有專門的字段保存業(yè)務(wù)單據(jù)的狀態(tài),以業(yè)務(wù)單據(jù)的整個生命周期;并且,業(yè)務(wù)構(gòu)件集成了業(yè)務(wù)

33、單據(jù)的所有業(yè)務(wù)流程,比如單據(jù)的編制、審核、下達(dá)等,因此業(yè)務(wù)構(gòu)件能夠?yàn)闃I(yè)務(wù)單據(jù)的多個處理功能。業(yè)務(wù)構(gòu)件以 jsp、java、class 和 xml 等文件集合的形式存在,具體包括前臺 JSP程序、操作轉(zhuǎn)發(fā)程序、業(yè)務(wù)處理邏輯、class 文件、全局靜態(tài)配置文件、用戶個性化配置文件。-7-前臺JSP程序Javaclass業(yè)務(wù)處理邏輯數(shù)據(jù)庫封裝操作XMLJspXMLXML構(gòu)件描述構(gòu)件配置文件文件持 久 層模 型 層控 制 層展 示 層單據(jù)狀態(tài):正在編制 第0頁/共0頁擴(kuò)展操作012345n修改新增清空刪除單據(jù)名稱屬性1 屬性2屬性3 屬性4重置查詢業(yè)務(wù)構(gòu)件子數(shù)據(jù)集關(guān)聯(lián)數(shù)據(jù)集數(shù)據(jù)集生命周期單據(jù)審核單據(jù)下

34、達(dá)單據(jù)編制操作集新增 修改 刪除 審核確認(rèn)查詢主數(shù)據(jù)集2.3 業(yè)務(wù)構(gòu)件模型2.3.1 業(yè)務(wù)構(gòu)件模型的描述業(yè)務(wù)構(gòu)件是企業(yè)應(yīng)用中各種單據(jù)的實(shí)現(xiàn),可由表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層組成的三層架構(gòu)來實(shí)現(xiàn)。其中,表示層刻畫了用戶模式,其可變性主要包括布局和操作模式可變屬性,前者影響構(gòu)件用戶界面的顯示風(fēng)格和效果,如數(shù)據(jù)控件的顯示順序、可顯性、可用性等布局信息,后者用于控制和規(guī)范用戶操作流程;業(yè)務(wù)邏輯層提供了業(yè)務(wù)對象的處理接口,可變性主要包括與權(quán)限控制相關(guān)的屬性,如控制數(shù)據(jù)存取范圍的權(quán)限信息;數(shù)據(jù)層可變性主要提供了可變的外部數(shù)據(jù)接口定義,可以通過變更構(gòu)件的數(shù)據(jù)定義或結(jié)構(gòu)來適應(yīng)同一構(gòu)件到不同企業(yè)數(shù)據(jù)表的。業(yè)務(wù)構(gòu)件

35、包含了一組界面,每一個界面又劃分為幾個功能操作相對獨(dú)立的分區(qū),分區(qū)內(nèi)又包含了各種類型的數(shù)據(jù)項(xiàng)和操作項(xiàng)。同時各分區(qū)之間還存在著“父子關(guān)系”或者“關(guān)聯(lián)關(guān)系”。此外,業(yè)務(wù)構(gòu)件還有對應(yīng)的數(shù)據(jù)模型?;跇I(yè)務(wù)構(gòu)件的概念,業(yè)務(wù)構(gòu)件模型需要描述如下幾方面內(nèi)容:(1) 業(yè)務(wù)構(gòu)件的基本信息,包括業(yè)務(wù)構(gòu)件的ID、名稱、構(gòu)件功能、版本號、所屬領(lǐng)域、創(chuàng)建組織、作者、創(chuàng)建日期、技術(shù);(2) 業(yè)務(wù)構(gòu)件的前邏輯,即業(yè)務(wù)構(gòu)件的界面、界面的分區(qū)、分區(qū)的數(shù)據(jù)項(xiàng)集合、分區(qū)的操作項(xiàng)集合、分區(qū)之間的關(guān)聯(lián)等信息;(3) 業(yè)務(wù)構(gòu)件的數(shù)據(jù)模型,包括業(yè)務(wù)構(gòu)件所用的數(shù)據(jù)表,數(shù)據(jù)字段的定義以及數(shù)據(jù)表的約束情況。業(yè)務(wù)構(gòu)件的模型為了滿足上述要求,界面給

36、出了業(yè)務(wù)構(gòu)件模型的元模型,如圖 2-3 所示。每一個界面體現(xiàn)了業(yè)務(wù)構(gòu)件的一種用戶模式,界面之間存在著相界面的包含了若干個分區(qū),分區(qū)間存在關(guān)聯(lián)關(guān)系;(2) 分區(qū)用關(guān)系,分區(qū)是界面內(nèi)一組數(shù)據(jù)項(xiàng)和操作項(xiàng)的集合,這些數(shù)據(jù)項(xiàng)的內(nèi)容之間有很緊密的關(guān)系,共同描述了單據(jù)某一方面的信息,而操作項(xiàng)也與分區(qū)內(nèi)的數(shù)據(jù)項(xiàng)高度相關(guān);(3) 數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)是一組編輯控件的集合,這些編輯控件共同組成了業(yè)務(wù)單據(jù)的某一項(xiàng)數(shù)據(jù)。同時,數(shù)據(jù)項(xiàng)也是權(quán)限控制的最小之一;-8-*11111 11*1111111*11111*11block/分區(qū)1111111*11*111*11圖 2-3業(yè)務(wù)構(gòu)件模型的元模型編輯控件編輯控件是業(yè)務(wù)構(gòu)件內(nèi)最小的

37、數(shù)據(jù)處理單元,對應(yīng)于數(shù)據(jù)表的一個字段。編輯控件可以包含選擇按鈕、校驗(yàn)條件和計(jì)算公式;操作項(xiàng)操作項(xiàng)是對業(yè)務(wù)構(gòu)件上一組數(shù)據(jù)項(xiàng)的業(yè)務(wù)處理邏輯。同時,操作項(xiàng)也是權(quán)限控制的最小之一。業(yè)務(wù)構(gòu)件提對業(yè)務(wù)的抽象,每個業(yè)務(wù)都包括一些業(yè)務(wù)進(jìn)程和業(yè)務(wù)行為。故可知一個業(yè)務(wù)構(gòu)件的基本組成部分是業(yè)務(wù)對象(Business Object,簡稱 BO)、業(yè)務(wù)行為(Business Behavior,簡稱 BB)及業(yè)務(wù)進(jìn)程(Business Tenor,簡稱 BT)。一個業(yè)務(wù)進(jìn)程可以分解為多個業(yè)務(wù)行為,每一個業(yè)務(wù)行為要求業(yè)務(wù)對象作為輸人數(shù)據(jù),要處理得到的業(yè)務(wù)對象作為輸出數(shù)據(jù)。由此 業(yè)務(wù)構(gòu)件模型如圖 2-4 所示。-9-edit

38、control/編輯控件editcontrols/編輯控件集合extendOp/擴(kuò)展操作extendOp/擴(kuò)展操作dat1aitem*/數(shù)據(jù)項(xiàng)generalOpSet/常規(guī)操作集合extendOpSet/擴(kuò)展操作集合*Keydatas/關(guān)鍵數(shù)據(jù)項(xiàng)Dataset/數(shù)據(jù)項(xiàng)集合editRelations/編輯控件關(guān)系集relation/分區(qū)關(guān)系blockRelations/分區(qū)關(guān)系集erfa/界面inputInfo/輸入信息BasicInfo/基本信息BC/業(yè)務(wù)構(gòu)件erfa/界面集合DbSchema/數(shù)據(jù)模型da able/數(shù)據(jù)表圖 2-4 業(yè)務(wù)構(gòu)件的模型一般對業(yè)務(wù)對象的操作有生成(Create,簡

39、寫為 C)、編輯(Edit,簡寫為 E)、檢索(Index,簡寫為 I)。對這些操作進(jìn)行分析可以發(fā)現(xiàn),檢索操作只是一個只讀操作,故可以將這些操作分為兩類:高級操作(生成,編輯)、低級操作(檢索)。高級操作的聯(lián)系程度較高,低級操作的聯(lián)系程度較低。業(yè)務(wù)行為之間的交互活動實(shí)際上是屬于不同業(yè)務(wù)行為的業(yè)務(wù)對象之間的交互。由于業(yè)務(wù)對象的操作有三種(生成、編輯、檢索),故業(yè)務(wù)行為之間的交互有以下幾種:C-C 或 C-E 交互:這種業(yè)務(wù)行為之間的交互即對每個業(yè)務(wù)行為中的業(yè)務(wù)對象進(jìn)行生成或編輯操作,顯然以這種形式進(jìn)行交互的業(yè)務(wù)行為之間的聯(lián)系程度極高,故應(yīng)將它們構(gòu)造成同一業(yè)務(wù)構(gòu)件。C-I 交互:對其中一個業(yè)務(wù)行為

40、中的業(yè)務(wù)對象進(jìn)行生成操作,對另外一個業(yè)務(wù)行為中的業(yè)務(wù)對象進(jìn)行檢索操作,應(yīng)將以這種形式進(jìn)行交互的業(yè)務(wù)行為構(gòu)造為不同的業(yè)務(wù)構(gòu)件。如果兩個業(yè)務(wù)行為沒有公共的業(yè)務(wù)對象,則顯然應(yīng)將它們構(gòu)造為不同的業(yè)務(wù)構(gòu)件。2.4 本章小結(jié)本章以企業(yè)應(yīng)用系統(tǒng)中的業(yè)務(wù)構(gòu)件為出發(fā)點(diǎn),分析和研究了業(yè)務(wù)構(gòu)件的概念、特點(diǎn)、及其模型。通過對大量業(yè)務(wù)構(gòu)件的分析,采用正確、有效的提取方式,便于對其中相對穩(wěn)定的、共有的、可復(fù)用的成分進(jìn)行識別和提取。-10-BO1BB1BO3BB3BO2BB2BO4BB4BB4BB2BTBB3BB1BT4BT3BCBT2BT1第 3 章 業(yè)務(wù)構(gòu)件中的可復(fù)用模式3.1 引言在業(yè)務(wù)構(gòu)件的開發(fā)和復(fù)用過程中,發(fā)現(xiàn),

41、一方面對于基于業(yè)務(wù)構(gòu)件的企業(yè)應(yīng)用開發(fā),各種業(yè)務(wù)構(gòu)件之間存在著一定程度的相似性,程序員開發(fā)業(yè)務(wù)構(gòu)件需要耗費(fèi)大量的時間和精力在重復(fù)勞動上,影響了企業(yè)應(yīng)用的開發(fā)效率。同時,企業(yè)外部環(huán)境和組織結(jié)構(gòu)的經(jīng)常性變動迫使企業(yè)應(yīng)用中的各種業(yè)務(wù)構(gòu)件更改其實(shí)現(xiàn),以適應(yīng)新的業(yè)務(wù)需求;另一方面,構(gòu)件的使用價值和復(fù)用的價值與其粒度相關(guān)32。較大粒度構(gòu)件的功能比較齊全,復(fù)用更節(jié)省系統(tǒng)開發(fā)的工作量,但是耦合性比較高,可重用性比較差,而且抽象的難度也比較大;而較小粒度的構(gòu)件則比較容易獲得,耦合性比較低,但是節(jié)省的工作量較小,功能較少,即小粒度構(gòu)件在成本方面就相對較弱。在企業(yè)與應(yīng)用管理開發(fā)過程中,上述問題會常常遇到,并且在企業(yè)應(yīng)

42、用中包含了大量這樣的業(yè)務(wù)構(gòu)件。通過上一章節(jié)對業(yè)務(wù)構(gòu)件的相關(guān)分析,了解到這些業(yè)務(wù)構(gòu)件之間體現(xiàn)了一些共性的東西,可以將這些共性的東西提取出來形成模式。這樣,一方面可以提高業(yè)務(wù)構(gòu)件的開發(fā)效率,減少不必要的重復(fù)勞動;另一方面可以在一定的程度上平衡構(gòu)件識別的粒度,彌補(bǔ)大粒度構(gòu)件復(fù)用性能較差的缺點(diǎn)。從用戶的角度,模式體現(xiàn)了業(yè)務(wù)構(gòu)件的使用場景、界面風(fēng)格和對該界面的操作步驟;從實(shí)現(xiàn)的角度,模式體現(xiàn)了業(yè)務(wù)構(gòu)件的組成情況以及各部分的程序結(jié)構(gòu);從權(quán)限配置的角度,模式體現(xiàn)了業(yè)務(wù)構(gòu)件對于“角色集到控制單元集”的建立方式,這就是本文研究的內(nèi)容業(yè)務(wù)構(gòu)件中的可復(fù)用模式。3.2 業(yè)務(wù)構(gòu)件中可復(fù)用模式的分析與提取對于模式,早期C

43、hristopher Alexander 曾提出“每個模式描述了一個在周圍不斷重復(fù)發(fā)生,以及該問題解決方案的,這樣,你就能一次一次地使用該方案而不必做重復(fù)勞動”33 。事實(shí)上,工程中存在著多種模式,如架構(gòu)中的Cnt/ Server 模式、三層和多層結(jié)構(gòu)模式;企業(yè)應(yīng)用的構(gòu)造技術(shù),如View Control ,MVC) 模式、工作流技術(shù)34, 35;在具體的模型- 視圖- 控制(M開發(fā)技術(shù)層面也包含很多模式,如數(shù)據(jù)源架構(gòu)模式、對象延遲加載模式等36。通過對系統(tǒng)中的各種單據(jù)及其業(yè)務(wù)處理的研究發(fā)現(xiàn),幾乎所有的表單處理都存在許多共性的內(nèi)容。例如,很多表單都是通過對數(shù)據(jù)的查詢、增加、刪除、修-11-改這幾

44、個基本操作完成表單處理,都是一個主表附帶若干子表(如訂單) 。這些共性的特征形成了業(yè)務(wù)構(gòu)件的各種處理模式。根據(jù)模式所面向方向的不同,可以將這些模式分為:面向用戶特征的用戶模式、面向系統(tǒng)實(shí)現(xiàn)特征的實(shí)現(xiàn)模式、面向功能映射和權(quán)限配置方面的權(quán)限配置模式37。3.2.1 可復(fù)用模式的定義本文所論述的業(yè)務(wù)構(gòu)件中的可復(fù)用模式就是解決粒度平衡問題、實(shí)現(xiàn)構(gòu)件復(fù)用的一種重要方式。業(yè)務(wù)構(gòu)件中的可復(fù)用模式,是指從不同的業(yè)務(wù)構(gòu)件或業(yè)務(wù)構(gòu)件之間的關(guān)聯(lián)中抽象出來的共同特性,而不考慮各種業(yè)務(wù)構(gòu)件的具體特性??蓮?fù)用模式的提取是將業(yè)務(wù)構(gòu)件中相對穩(wěn)定的、可復(fù)用的成分抽取出來,形成重復(fù)使用的構(gòu)件單元模式,以便以后開發(fā)業(yè)務(wù)構(gòu)件時使用。

45、詳細(xì)分析抽象出來共有業(yè)務(wù)的業(yè)務(wù)處理過程和信息流向,確定業(yè)務(wù)對象,按照一定的業(yè)務(wù)規(guī)則構(gòu)建模型。抽象出業(yè)務(wù)構(gòu)件的可復(fù)用模式,可以忽略業(yè)務(wù)流程執(zhí)行方式的改變給企業(yè)帶來的風(fēng)險,提高系統(tǒng)的柔性??蓮?fù)用模式的提取如圖3-1所示。業(yè)務(wù)構(gòu)件同特性的抽象程度決定了模式的可復(fù)用度和復(fù)用效率。抽象程度高意味著模式很容易應(yīng)用于不同的具體環(huán)境,但表達(dá)能力上則減弱,即復(fù)用效率低;抽象程度低表明模式包含了的具體特性,卻難以應(yīng)用于不同的環(huán)境中,即可復(fù)用度低。模式的提取隱含著一個重要的原則,就是避免或降低對具體應(yīng)用環(huán)境的依賴性。第 N 層模 式可復(fù)用模式?模式1?模式2?模式p第 2 層復(fù)用效率可復(fù)用度.?模式 1?模式2?模

46、式 m?模式 3第 1 層運(yùn)行模式業(yè)務(wù)流程業(yè)務(wù)功能.業(yè)務(wù)構(gòu)件1 業(yè)務(wù)構(gòu)件2業(yè)務(wù)構(gòu)件3業(yè)務(wù)構(gòu)件n第 0 層圖 3-1 可復(fù)用模式的提取示意圖-12-抽象層次3.2.2 用戶界面模式許多有經(jīng)驗(yàn)的界面設(shè)計(jì)下意識的使用成問題解決方案,但是設(shè)計(jì)很少對解決方案進(jìn)行形式化的描述和歸納。于是,不精確的設(shè)計(jì)模式和形式化的設(shè)計(jì)模式同時并存。形式化的模式能夠作為收集并形式化用戶界面設(shè)計(jì)知識段。用戶界面模式表達(dá)了合理的信息和對于類似的項(xiàng)目來講較為成設(shè)計(jì)。然而,它不能作為設(shè)計(jì)知識的單一的資源,必須由傳統(tǒng)的信息資源作為補(bǔ)充,必須作為相互聯(lián)系的模式的語言的一部分,能夠互相參與和支持。用戶界面設(shè)計(jì)模式首先在文獻(xiàn)38中提出,并

47、模式如何被移植到用戶界面交互設(shè)計(jì)中。文獻(xiàn)39模式關(guān)注于問題的上下文和設(shè)計(jì)方案,這個方案引導(dǎo)設(shè)計(jì)者應(yīng)用設(shè)計(jì)知識解決問題。文章探索了如何建立用戶界面設(shè)計(jì)模式,以便使界面設(shè)計(jì)模式成為設(shè)計(jì)者的有效的、可用的工具,提出了用戶界面設(shè)計(jì)模式的組成結(jié)構(gòu),并給出了具體的一個實(shí)例。We重于分類和簡單描述,未挖掘?qū)⒃O(shè)計(jì)模式分類收集,并給出具體設(shè)計(jì)模式,其側(cè)原理,未涉及具體實(shí)現(xiàn)和使用。PD. MBUI將模式與模型結(jié)合40,克服基于模型界面開發(fā)的局限性,但只提供界面基本元素的設(shè)計(jì)模式。當(dāng)前存在的用戶界面模式主要從工作模式上考慮,針對某一個應(yīng)用問題給出一個設(shè)計(jì)模式。同時,對于業(yè)務(wù)構(gòu)件中經(jīng)常使用的界面設(shè)計(jì)沒有形式化的描述,

48、將其通用部分提取和表示出來,不利于用戶界面的復(fù)用,從而降低了構(gòu)件的開發(fā)效率。 用戶界面模式分析從本質(zhì)上看,界面展示單元是為了完成用戶與業(yè)務(wù)數(shù)據(jù)對象的某種交互而存在的,所以業(yè)務(wù)數(shù)據(jù)對象是界面展示單元的內(nèi)涵定義所在;從外觀上看,界面展示單元是多種控件的布局和排列,通過不同的組合方式和布局策略,多種展示風(fēng)格來展示業(yè)務(wù)對象的數(shù)據(jù)信息,所以界面風(fēng)格是界面展示單元的外延表現(xiàn);從實(shí)現(xiàn)機(jī)制上看,界面展示單元是完成業(yè)務(wù)對象和用戶之間交互的橋梁,每次交互任務(wù)都是通過各種邏輯操作來完成的,并且體現(xiàn)了該業(yè)務(wù)對象的操作流程及整個生命周期。所以,把任何一個界面展示單元都可表示成為一個三元組:PU:= 其中,Busines

49、s Objects代表所要展示的數(shù)據(jù)對象,Behaviors代表所提供的操作或服務(wù),Presenion Style代表外在展示風(fēng)格。從設(shè)計(jì)者的角度來看,界面展示單元是一個可用的界面構(gòu)件,因而可以作為有效的界面設(shè)計(jì)知識來使用。與其它界面設(shè)計(jì)知識相比,界面展示單元在保持成分語義可用性的基礎(chǔ)上,縮小了界面-13-成分的粒度,并依據(jù)界面區(qū)域的邏輯來劃分,因此粒度較為。界面展示單元涵蓋了業(yè)務(wù)對象、操作行為和展示風(fēng)格的描述,因此,本文以界面展示單元PU(Presenion Unit)作為可復(fù)用的界面設(shè)計(jì)研究的重要切入點(diǎn)。 用戶界面模式的形式化描述本文所示單元,從的用戶界面模式,是從界面角度分析常用的業(yè)務(wù)構(gòu)

50、件的界面展模型、交互行為和展示風(fēng)格三個方面來描述的語法框架。任何一種界面模式都是某一類界面展示單元的抽象描述和全面規(guī)范。用戶界面模式(Usererface Pattern)是一個三元組,可形式化描述為:,Operation Set,Presenion StyleUIP:=erior M模型IM (erior M),是對需要展示的業(yè)務(wù)數(shù)據(jù)對象的需求規(guī)范,在定制具體的界面展示單元時,可以選擇要展示的對象及其屬性字段;操作集合OS (Operation Set),是對用戶在界面展示單元上所能進(jìn)行的操作的需求規(guī)范,包括來自和服務(wù);模型和外部展示控件的以及所能提供的其它接口展示風(fēng)格PS(Presenio

51、n Style),是滿足某種展示風(fēng)格的、所有可定制的展規(guī)范。如表格展示形式中各種與表格展示相關(guān)的屬性控制。示屬模型所謂模型,就是需要在界面展示單元上展示和操作的業(yè)務(wù)對象或者業(yè)務(wù)對象的集合,并且建立了各屬性字段與抽象展示控件的關(guān)系。其中,對象由屬性集合來確定。屬性是需要展示的基本數(shù)據(jù),它由名稱、數(shù)據(jù)類型、抽象展示控件集合(完成屬性展示所需要的控件)和控件的大小組成。模型規(guī)范了一個或者多個能夠用某一展示風(fēng)格PS展示的對象(集合)。業(yè)務(wù)對象明確了需要展示的數(shù)據(jù),它可以是來自數(shù)據(jù)庫中的對象,如普通對象;也可以是僅僅需要展示而不需要對其操作的基本數(shù)據(jù)類型對象。 展示風(fēng)格展示風(fēng)格,是對常用的界面展示形式的

52、總結(jié)和規(guī)范,體現(xiàn)了界面設(shè)計(jì)中固定部分的復(fù)用。展示風(fēng)格由多種原子控件按照不同的布局形式組合而成,不包含任何關(guān)于交互行為的描述。Presenion Style:=其中,PSName表示展示控件名稱,如Grid(表格形式)。任何展示風(fēng)格都包括對-14-展示控件的邊距(margin)、外觀(appearance)、布局(1ayout)、超(hyperlink)等內(nèi)容的控制,因此把這些屬性稱為公共屬性集合(Public Property Set)。除了公共屬性之外,各展示風(fēng)格還具有區(qū)別于其它風(fēng)格的特有屬性,稱為特殊展示屬性集合(Specific Property Set)。展示風(fēng)格類型一旦確定,這種風(fēng)格

53、相應(yīng)的 Specific Property Set中的所有屬性也就確定了。例如,樹形展示形式中根節(jié)點(diǎn)文字、連接線樣式等。公共展示屬性集合(PPS)和特殊展示屬性集合(SPS),這些參數(shù)關(guān)注的是展示風(fēng)格的整體展示效果的控制。獨(dú)立于任何業(yè)務(wù)系統(tǒng),僅對界面展示形式進(jìn)行分析,界面上常用的展示風(fēng)格有格式、樹形、圖形、表格形式、菜單、多頁展示形式等。 操作集合操作集合體現(xiàn)了用戶界面模式的交互特性,描述了該模式上能夠提供的所有操作。Operation Set:=其中,IMOperation表示來自模型的操作,如添加、修改、刪除、查詢等對數(shù)據(jù)庫的操作;PSOperation表示來自展示控件的,如表格展示形式中

54、表格響應(yīng)的各種事件;erOperation表示模式為完成某些特定功能或者交互任務(wù)所提供的操作或服務(wù),如體現(xiàn)業(yè)務(wù)構(gòu)件的整個生命周期的操作或者工作流服務(wù)等。模型、展示風(fēng)格和操作集合,作為用戶界面模式的描述框架,提取了常用界面展示單元各部分的所有不變屬性和可變屬性,并予以規(guī)范,目的是建立可復(fù)用的界面設(shè)計(jì)解決方案。通過實(shí)例化模式各部分的特征參數(shù),建立滿足用戶需求的界面展示單元,然后根據(jù)它們之間的交互關(guān)系進(jìn)行語義組合,最終建立可復(fù)用的用戶界面。 用戶界面模式的分類基于上面模式框架,可以構(gòu)建不同的用戶界面。在企業(yè)應(yīng)用系統(tǒng)中的業(yè)務(wù)構(gòu)件,其界面樣式是有限種的,業(yè)務(wù)處理操作也是有規(guī)律的。在企業(yè)應(yīng)用系統(tǒng)的開發(fā)過程

55、中,需要編寫大量的重復(fù)代碼,為此從企業(yè)應(yīng)用系統(tǒng)抽取出若干種典型的界面和業(yè)務(wù)操作并定義為用戶界面模式是非常必要的。在企業(yè)應(yīng)用的開發(fā)過程中,發(fā)現(xiàn)了三種具有代表性的用戶界面模式,它們是簡單查詢編輯模式、主從表耦合模式以及主從表分離模式。其中,最經(jīng)常使用的是主從表的耦合及分離模式,該界面模式實(shí)現(xiàn)了“一個主表和多個子表的復(fù)雜業(yè)務(wù)對象”的處理界面,如采購申請單、采購計(jì)劃單等。該模式的意圖就是定義一-15-種“能夠在同一頁面內(nèi)或者跳轉(zhuǎn)到另一頁面查詢并處理父子表數(shù)據(jù)”的界面。由于展示風(fēng)格依賴模型,而模式上的操作又決定于模型和特定展示風(fēng)格,所以,可以依據(jù)模型來對模式進(jìn)行分類。簡單查詢編輯模式。該模式對應(yīng)的模型一

56、般為單一的業(yè)務(wù)對象,所描述的界面展示單元分為兩個區(qū)域:查詢區(qū)和數(shù)據(jù)顯示區(qū)。包含的操作主要為簡單的查詢操作,展示風(fēng)格多為表格的形式,并且可以對滿足查詢條件的業(yè)務(wù)對象行添加、修改、刪除等編輯操作。進(jìn)主從表耦合模式。該模式所對應(yīng)的模型通常為多個相對簡單的業(yè)務(wù)對象的集合,包含對主從表的查詢和編輯操作,主要特點(diǎn)是這些功能在同一頁面的展示和完成,體現(xiàn)了對業(yè)務(wù)對象操作的連貫性。主從表分離模式。該模式所對應(yīng)的模型為多個復(fù)雜的業(yè)務(wù)對象的集合,包含對主從業(yè)務(wù)對象的查詢和編輯操作,與主從表耦合模式不同的是對主子表的操作分為兩個頁面進(jìn)行。主頁面為索引頁面,對主表的業(yè)務(wù)對象進(jìn)行查詢和編輯操作;跳轉(zhuǎn)頁面是對每條主表的業(yè)務(wù)

57、對象相關(guān)字表的業(yè)務(wù)對象進(jìn)行相應(yīng)的操作。其展示風(fēng)格多為卡片與表格形式的組合,方便用戶對復(fù)雜的主從業(yè)務(wù)對象的數(shù)據(jù)處理。3.2.3 數(shù)據(jù)關(guān)聯(lián)模式 數(shù)據(jù)關(guān)聯(lián)模式分析從用戶角度而言,業(yè)務(wù)對象是指用戶所、傳遞和處理的表單、單據(jù)和報(bào)表等文檔,以及在其上的狀態(tài)處理和操作處理的集成體。從系統(tǒng)角度,業(yè)務(wù)對象是指具有獨(dú)立標(biāo)識的、具有一定生命周期的、由若干數(shù)據(jù)集和操作集象。的一個集成對在業(yè)務(wù)構(gòu)件的開發(fā)過程中,對于業(yè)務(wù)對象的數(shù)據(jù)查詢操作以及業(yè)務(wù)對象之間的數(shù)據(jù)關(guān)聯(lián)操作應(yīng)用的非常頻繁。這些查詢構(gòu)件作為屬性和操作的集成體,包括固定部分和可變部分。其中查詢界面的設(shè)計(jì)在一定的時期和范圍內(nèi)是相對穩(wěn)定的,可以把這些固定部分抽象為模式

58、,用于復(fù)用;而查詢的操作方式和數(shù)據(jù)的顯示方式這些可變部分可以通過參數(shù)化與配置轉(zhuǎn)化為不變特征來完成復(fù)用,進(jìn)而增強(qiáng)了模式適應(yīng)業(yè)務(wù)需求變化的能力,實(shí)現(xiàn)了最大程度的復(fù)用,極大地提高了業(yè)務(wù)構(gòu)件的開發(fā)效率。從這兩方面來看,模式是規(guī)律性和可變性的有效組合。-16- 數(shù)據(jù)關(guān)聯(lián)模式的形式化描述數(shù)據(jù)關(guān)聯(lián)模式(Data Assotion Pattern)描述:在業(yè)務(wù)構(gòu)件的開發(fā)過程中,一個業(yè)務(wù)構(gòu)件通常需要關(guān)聯(lián)到其他的業(yè)務(wù)構(gòu)件,并要求所關(guān)聯(lián)的業(yè)務(wù)對象顯示出符合用戶要求的數(shù)據(jù)以及數(shù)據(jù)的顯示方式,并將所獲取的業(yè)務(wù)對象集合關(guān)聯(lián)到這個業(yè)務(wù)構(gòu)件上。其相似之處在于:(1)(2)(3)(4)對數(shù)據(jù)庫中的某個數(shù)據(jù)表進(jìn)行;根據(jù)設(shè)置的查詢

59、條件,檢索出用戶需要的數(shù)據(jù); 按照某種數(shù)據(jù)組織方式顯示給用戶,供用戶選擇;將用戶選擇的數(shù)據(jù)結(jié)果集按照某種關(guān)聯(lián)方式返回給調(diào)用者。本文將數(shù)據(jù)關(guān)聯(lián)模式形式化定義為一個六元組:DCP: =其中 DAP_id 表示關(guān)聯(lián)的唯一標(biāo)識;DBO_id 表示目標(biāo)業(yè)務(wù)對象實(shí)例標(biāo)識;DBO_attr 表示目標(biāo)業(yè)務(wù)對象的關(guān)聯(lián)屬性;SBO_id 表示源業(yè)務(wù)對象實(shí)例標(biāo)識;SBO_attr 表示源業(yè)務(wù)對象的關(guān)聯(lián)屬性;ASS_value 表示關(guān)聯(lián)的值。 界面風(fēng)格分析企業(yè)應(yīng)用系統(tǒng)中的業(yè)務(wù)構(gòu)件,其界面樣式是有限種的,業(yè)務(wù)處理操作也是有規(guī)律的。數(shù)據(jù)關(guān)聯(lián)模式的顯示界面分為兩個區(qū)域:數(shù)據(jù)查詢區(qū)和數(shù)據(jù)顯示區(qū)。查詢區(qū)的功能是輸入并提交查詢條

60、件。位于該分區(qū)頂部是操作區(qū)域,包括了“查詢”操作和“重置”操作。其中“查詢”操作校驗(yàn)并提交用戶的查詢條件,“重置”操作清空所有查詢條件的編輯控件;位于該分區(qū)主置的是查詢條件區(qū)域,包括了多個數(shù)據(jù)項(xiàng)。每個數(shù)據(jù)項(xiàng)設(shè)定一個查詢條件,其編輯控件可以是文本框、下拉列表框,編輯控件可以綁定選擇按鈕,用來選擇日期或者打開單選或多選界面。查詢結(jié)果區(qū)是一個數(shù)據(jù)表格,顯示了用戶的多條查詢結(jié)果。位于該顯示區(qū)的上方的操作區(qū)域,包括“選取”和“排列方式”兩種操作方式。其中“選取”操作是用戶用來選擇所需數(shù)據(jù);“排列方式”操作是顯示數(shù)據(jù)的組織方式。數(shù)據(jù)表格的第一行是標(biāo)題行,顯示了各列的名稱。下面各行是數(shù)據(jù)行,顯示查詢結(jié)果。數(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論