• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      領(lǐng)域綜述

      2015-06-18 09:03:19鄔保明
      中國(guó)管理信息化 2015年5期
      關(guān)鍵詞:復(fù)用技術(shù)跨度組件

      鄔保明

      (上海邦德職業(yè)技術(shù)學(xué)院,上海 200444)

      領(lǐng)域綜述

      鄔保明

      (上海邦德職業(yè)技術(shù)學(xué)院,上海 200444)

      領(lǐng)域是組件的適用范圍,組件開(kāi)發(fā)的設(shè)計(jì)規(guī)模和功能定位取決于領(lǐng)域概念的大小和深度,對(duì)領(lǐng)域內(nèi)涵的研究具有重要意義,可以推動(dòng)組件開(kāi)發(fā)技術(shù)的發(fā)展。本文研究從領(lǐng)域概念的產(chǎn)生開(kāi)始,分析了不同階段的領(lǐng)域概念的演變,以及它們對(duì)軟件開(kāi)發(fā)模式和組件設(shè)計(jì)的影響。在總結(jié)埃文斯和斯密特領(lǐng)域概念的基礎(chǔ)上,探討和提出了以研究域?yàn)楹诵牡念I(lǐng)域概念框架及其特征,并進(jìn)一步研究了領(lǐng)域跨度及其對(duì)軟件開(kāi)發(fā)的影響,領(lǐng)域跨度的界定有助于組件開(kāi)發(fā)的核心技術(shù)定位和組件開(kāi)發(fā)的規(guī)模調(diào)整。

      領(lǐng)域;領(lǐng)域工程;組件開(kāi)發(fā)

      0 引言

      軟件分析是隨著軟件設(shè)計(jì)技術(shù)的發(fā)展而不斷變化的,隨著設(shè)計(jì)技術(shù)的進(jìn)步,項(xiàng)目需求分析方法逐漸進(jìn)化為面向?qū)ο蟮姆治?基于組件的軟件開(kāi)發(fā)出現(xiàn)以后,軟件分析的重心轉(zhuǎn)移到了領(lǐng)域分析。領(lǐng)域分析的有效性和準(zhǔn)確性主要是由軟件分析工作中對(duì)領(lǐng)域問(wèn)題的界定來(lái)決定的,因此領(lǐng)域問(wèn)題又代替了項(xiàng)目的需求問(wèn)題。近年來(lái),云計(jì)算的出現(xiàn)又對(duì)領(lǐng)域問(wèn)題提出了挑戰(zhàn),云計(jì)算模式下,軟件的形式發(fā)生了根本變化,除了原來(lái)的軟件開(kāi)發(fā)轉(zhuǎn)化為軟件即服務(wù)(SaaS)之外,還出現(xiàn)了新的服務(wù)形式,如平臺(tái)即服務(wù)(Paas)、設(shè)施即軟件(IaaS)等。新的服務(wù)形式?jīng)Q定了新的領(lǐng)域出現(xiàn)及其領(lǐng)域特征的多變性,研究領(lǐng)域的界定對(duì)于領(lǐng)域分析具有極其重要的意義,理清領(lǐng)域概念的演變過(guò)程有助于我們更加準(zhǔn)確地判斷未來(lái)的軟件發(fā)展方向。

      1 面向?qū)ο蠓治龅目蓮?fù)用特征

      面向?qū)ο蠓治龇椒ǖ闹饕夹g(shù)是封裝、繼承和多態(tài)。在所有的面向?qū)ο蠓治龅募夹g(shù)中,對(duì)繼承的分析是核心,繼承可以讓一個(gè)對(duì)象直接使用另一對(duì)象的屬性和方法,從而節(jié)約了軟件開(kāi)發(fā)的時(shí)間和耗費(fèi),大大提高了編程的效率。在繼承的基礎(chǔ)上進(jìn)行增量開(kāi)發(fā),可以以一種簡(jiǎn)單靈活的方式幫助開(kāi)發(fā)人員實(shí)現(xiàn)許多功能,繼承的這些優(yōu)點(diǎn)歸結(jié)到一點(diǎn)就是它的可復(fù)用特性。除了繼承,封裝和多態(tài)的技術(shù)也同樣由于具備可復(fù)用的優(yōu)點(diǎn)而被廣泛使用。這3個(gè)技術(shù)在本質(zhì)上都具有可復(fù)用性的特征,從而面向?qū)ο蟮姆治鼍哂辛丝蓮?fù)用功能。

      面向?qū)ο蟮姆庋b、繼承和多態(tài)等技術(shù)的可復(fù)用特征促進(jìn)了面向?qū)ο蟮姆治龇椒ǔ蔀檐浖治龅闹髁鞣椒ǎ浖治龅闹匦囊矎闹赜谛枨蠓治鲛D(zhuǎn)化為著重于軟件復(fù)用功能的分析。同時(shí),面向復(fù)用的分析也促進(jìn)和引導(dǎo)了面向?qū)ο蟮姆治龇椒ǖ漠a(chǎn)生、發(fā)展和日趨成熟。面向復(fù)用的分析與面向?qū)ο蟮姆治鱿噍o相成、共同發(fā)展,到20世紀(jì)末,復(fù)用分析成為軟件分析的主流。

      復(fù)用原本是出現(xiàn)在軟件設(shè)計(jì)過(guò)程中的技術(shù),其廣泛地使用形成了設(shè)計(jì)領(lǐng)域的復(fù)用概念,隨著面向?qū)ο蠓治龇椒ǖ氖褂煤筒粩嗥占?,?fù)用進(jìn)入了軟件分析的范疇。當(dāng)軟件分析也以復(fù)用為目標(biāo)的時(shí)候,在其中最接近用戶需求的分析業(yè)務(wù)中出現(xiàn)了“領(lǐng)域”一詞。軟件分析的“領(lǐng)域”一詞的出現(xiàn),讓工程師們和分析人員把目光轉(zhuǎn)向了領(lǐng)域問(wèn)題與領(lǐng)域分析,對(duì)領(lǐng)域的探討和關(guān)注實(shí)際上是對(duì)復(fù)用的研究和關(guān)注。

      2 領(lǐng)域概念的產(chǎn)生

      面向?qū)ο蟮姆治龊驮O(shè)計(jì)的可復(fù)用性能,是面向?qū)ο蟮姆治龇椒ǖ靡云毡槭褂玫闹饕颉@^承、封裝、多態(tài)的優(yōu)秀特征很好地實(shí)現(xiàn)了可復(fù)用性,大大減少了軟件開(kāi)發(fā)的時(shí)間、人工耗費(fèi)等軟件開(kāi)發(fā)成本。面向?qū)ο蟮姆椒ǖ倪@些優(yōu)點(diǎn),促成了面向?qū)ο蟮姆治雠c設(shè)計(jì)被軟件開(kāi)發(fā)者普遍接受,而這些方法的普及,正好又從技術(shù)的角度較好地解決了軟件工程的關(guān)鍵問(wèn)題。因此在軟件工程中,面向?qū)ο蟮姆椒ǔ蔀樾枨蠓治龇椒ㄖ凶钣行У姆椒ǎ⑶也粩嗟卦谄渌I(lǐng)域得到應(yīng)用和擴(kuò)展。

      面向?qū)ο蟮姆治龇椒ㄆ毡槭褂靡院?,?fù)用的思想成為貫穿整個(gè)軟件工程過(guò)程的核心思想,軟件復(fù)用設(shè)計(jì)技術(shù)成為軟件開(kāi)發(fā)技術(shù)的焦點(diǎn),而軟件分析的任務(wù)也同樣開(kāi)始圍繞軟件復(fù)用這一中心進(jìn)行,從項(xiàng)目的模型分析轉(zhuǎn)向?yàn)榭蓮?fù)用系統(tǒng)設(shè)計(jì)提供前序服務(wù),如系統(tǒng)結(jié)構(gòu)分析。

      最早的可復(fù)用設(shè)計(jì)是程序代碼的復(fù)用,為了復(fù)用代碼,工程師們把大的程序劃分為許多子程序,建立子程序庫(kù)。軟件開(kāi)發(fā)人員通過(guò)對(duì)子程序名引用子程序,通過(guò)參數(shù)的引用來(lái)代替相同功能的子程序段的編寫。代碼復(fù)用提高了軟件開(kāi)發(fā)的效率和軟件產(chǎn)品的質(zhì)量。

      在代碼復(fù)用的基礎(chǔ)上,軟件復(fù)用思想和技術(shù)不斷發(fā)展、不斷深化,復(fù)用從設(shè)計(jì)階段延伸到分析階段,現(xiàn)在已經(jīng)應(yīng)用到幾乎所有的軟件開(kāi)發(fā)領(lǐng)域,促成了分層的軟件體系結(jié)構(gòu)的產(chǎn)生和發(fā)展。在此基礎(chǔ)上,微軟開(kāi)發(fā)了COM/DCOM,OMG組織開(kāi)發(fā)了CORBA模型,SUN公司開(kāi)發(fā)了JavaBean/EJB,軟件復(fù)用技術(shù)取得重大突破。軟件復(fù)用的理論研究也迅速發(fā)展起來(lái),尤其在中國(guó),很多計(jì)算機(jī)科學(xué)領(lǐng)域的專家和學(xué)者對(duì)軟件復(fù)用理論、復(fù)用技術(shù)、復(fù)用構(gòu)件分類和檢索、復(fù)用開(kāi)發(fā)的組織和管理等內(nèi)容進(jìn)行了不懈地研究,成果頗豐。

      基于復(fù)用技術(shù)的軟件開(kāi)發(fā)最初是用復(fù)用來(lái)開(kāi)發(fā)(Development with Reuse)軟件的,在可復(fù)用構(gòu)件的基礎(chǔ)上進(jìn)行組裝和對(duì)已有的系統(tǒng)進(jìn)行修改?;诮M件的軟件設(shè)計(jì)(component-based software design)和后來(lái)的面向服務(wù)的構(gòu)架(service-oriented architecture)都是在此基礎(chǔ)上發(fā)展起來(lái)的。一些成功可復(fù)用模塊的反復(fù)使用提出了對(duì)復(fù)用技術(shù)的專門開(kāi)發(fā)的需求,于是為復(fù)用而開(kāi)發(fā)(Development for Reuse)興起,專門開(kāi)發(fā)可復(fù)用性較高的構(gòu)件和軟件生成器。發(fā)展到今天,為復(fù)用而開(kāi)發(fā)的方向已經(jīng)成為軟件開(kāi)發(fā)的主流,它的產(chǎn)生和發(fā)展改變了軟件開(kāi)發(fā)的流程,最為突出的變化是傳統(tǒng)的軟件需求分析,轉(zhuǎn)變?yōu)槟壳暗慕柚陬I(lǐng)域分析來(lái)完成的模式。領(lǐng)域分析成為需求分析中的新主題,發(fā)展到獨(dú)立成為一個(gè)高于需求分析的層次取而代之,領(lǐng)域作為一個(gè)組件開(kāi)發(fā)過(guò)程中的基本用語(yǔ),成為軟件分析理論和實(shí)踐中的重要概念。

      3 領(lǐng)域概念的演變

      理論上說(shuō),領(lǐng)域是一組具有相似或相近軟件需求的應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域[1](曹曉蘭,焦海星,等,2006);用來(lái)表示一個(gè)與主題有關(guān)的概念、知識(shí)或者其他術(shù)語(yǔ)[2](Buschmann F,1996)。它的命名來(lái)自于20世紀(jì)70年代軟件復(fù)用開(kāi)發(fā)中經(jīng)常使用的概念,問(wèn)題域、應(yīng)用領(lǐng)域等術(shù)語(yǔ)。隨著軟件復(fù)用技術(shù)的不斷發(fā)展,領(lǐng)域的概念也不斷演化,先后經(jīng)歷了問(wèn)題域、應(yīng)用域、技術(shù)域、組織域、知識(shí)域、真實(shí)世界域、語(yǔ)言域等階段,每一次領(lǐng)域概念的拓展或升華,都會(huì)促進(jìn)領(lǐng)域分析和領(lǐng)域工程技術(shù)的進(jìn)步以至突破。

      1977年,Shapere[3]說(shuō):“在給定的社群中,把真實(shí)世界的信息條目聯(lián)結(jié)起來(lái)形成的信息域或者問(wèn)題領(lǐng)域具有如下特征:①信息條目之間的關(guān)系深入而周全,可以義指或者建議用在某些類別的問(wèn)題上;②社區(qū)成員感覺(jué)到有意義的問(wèn)題”。[3]這里雖然沒(méi)有明確指明這是領(lǐng)域的定義,但是從基本意義上看是領(lǐng)域定義的解釋,②明顯說(shuō)到是社群的概念。

      1990年,K.Kang,S.Chen等在FODA Feasibility Study一文中說(shuō):“共享一套功能和數(shù)據(jù)的那些現(xiàn)在的和未來(lái)的應(yīng)用的集合。”[4]這是是關(guān)于應(yīng)用領(lǐng)域的領(lǐng)域概念。

      1992年,Bailin S Captur說(shuō):“領(lǐng)域是相似的系統(tǒng)的家族?!盵5]這個(gè)概念比較注重技術(shù)的凝聚力,也進(jìn)一步引申出知識(shí)域的概念。

      1993年,Tansley和Hayball提出“領(lǐng)域是專家的領(lǐng)地,也是建議使用基于知識(shí)的系統(tǒng)應(yīng)用的區(qū)域。”[6]首次把領(lǐng)域的概念擴(kuò)展到知識(shí)域。

      1997年,UML Glossory給出的定義是“被區(qū)域內(nèi)的從業(yè)人員理解的一套概念和術(shù)語(yǔ)形成的知識(shí)域或者活動(dòng)域”。[7]

      2000年,恰爾內(nèi)茨基提出“領(lǐng)域是讓軟件相關(guān)人員的需求滿意度最大化的、包含開(kāi)發(fā)人員用于理解的概念和術(shù)語(yǔ)的、包含如何構(gòu)建軟件系統(tǒng)及其部件的知識(shí)的知識(shí)域?!盵8]這一概念是集大成者,它既包含了技術(shù)人員的技術(shù)知識(shí),也包含了開(kāi)發(fā)人員的建模知識(shí),還包含不只限于用戶的所有環(huán)節(jié)的需求知識(shí)。

      2004年,埃文斯(Eric Evans)出版了他的名著《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》,[9]詳細(xì)講解了領(lǐng)域模型的概念、構(gòu)建技術(shù)、使用方法以及使用環(huán)境。核心思想是解決軟件開(kāi)發(fā)的復(fù)雜性,是領(lǐng)域模型的集大成者。盡管埃文斯沒(méi)有給出明確的領(lǐng)域概念,但是可以從他的著作的前三章推斷出他的領(lǐng)域的概念,即知識(shí)、語(yǔ)言或可以延伸到軟件實(shí)現(xiàn)階段的溝通空間。因此,他的領(lǐng)域概念是溝通域。

      2007年,布施曼(Frank Buschmann)、亨利(Kevlin Henley)和施密特(Doglas C Schmidt)給出這樣的定義“領(lǐng)域是一個(gè)規(guī)則之下的區(qū)域,(作者注:意即這一區(qū)域之上使用同一規(guī)則)其中,規(guī)則這一詞的意義可以因軟件開(kāi)發(fā)的具體應(yīng)用的不同而不同?!盵10]他們把領(lǐng)域分為應(yīng)用領(lǐng)域和解決領(lǐng)域。一般來(lái)說(shuō),一個(gè)應(yīng)用系統(tǒng)所要表述的問(wèn)題域可以稱作“應(yīng)用領(lǐng)域”,應(yīng)用領(lǐng)域以用戶為中心。而那些以機(jī)器為中心的,比如軟件的網(wǎng)絡(luò)結(jié)構(gòu)等技術(shù)問(wèn)題或者區(qū)域,被稱為“解決領(lǐng)域”。

      布施曼等所給出的領(lǐng)域概念,它的外延范圍又回到了問(wèn)題域和實(shí)體域的范疇,這是由于他們提出了面向模式的體系結(jié)構(gòu)理論。這一理論把模式看作語(yǔ)言,把模式語(yǔ)言看作是溝通的工具,在這樣的理論框架下,自然模型就被當(dāng)作一個(gè)相對(duì)小一點(diǎn)的概念了。而埃文斯的思想正好是反過(guò)來(lái)的,他把領(lǐng)域看作是中心的概念,外延上無(wú)所不包。他認(rèn)為模式分為設(shè)計(jì)模式和分析模式,設(shè)計(jì)模式在實(shí)現(xiàn)環(huán)節(jié)提供技術(shù)解決方案,建模要充分考慮。而分析模式在他看來(lái)是與業(yè)務(wù)相關(guān)聯(lián)的,可以直接被拿過(guò)來(lái)作為指引幫助建立清晰的模型的。

      目前業(yè)界所理解和廣泛使用的領(lǐng)域概念仍然是恰氏的概念,即領(lǐng)域是軟件開(kāi)發(fā)中的需求分析、模型開(kāi)發(fā)和技術(shù)設(shè)計(jì)中遇到的所有的共同知識(shí)。這一概念讓領(lǐng)域成為無(wú)所不包的萬(wàn)用范疇,有著較高的哲學(xué)層次。筆者認(rèn)為,這樣對(duì)待領(lǐng)域概念不利于軟件的開(kāi)發(fā)和設(shè)計(jì),領(lǐng)域概念的界定應(yīng)該立足于組件的開(kāi)發(fā)這一實(shí)際問(wèn)題。

      4 領(lǐng)域的發(fā)展趨勢(shì)

      在軟件復(fù)用技術(shù)開(kāi)發(fā)的初期,工程師們不懈追求完全通用的軟件開(kāi)發(fā)復(fù)用技術(shù)。隨著軟件復(fù)用技術(shù)研究的不斷深入和軟件復(fù)用技術(shù)應(yīng)用范圍的不斷擴(kuò)大,人們發(fā)現(xiàn)追求完全通用的軟件復(fù)用技術(shù),在具體的不同應(yīng)用開(kāi)發(fā)中會(huì)遇到一些障礙,包括不一致的可變性假設(shè)、交互規(guī)范的差異等問(wèn)題,很難找到一致解決的途徑。工程師們開(kāi)始從另一個(gè)角度思考軟件復(fù)用的問(wèn)題,把復(fù)用技術(shù)的應(yīng)用范圍限定在特定業(yè)務(wù)或技術(shù)領(lǐng)域內(nèi),以一種產(chǎn)品開(kāi)發(fā)生產(chǎn)線的模式系統(tǒng)地、全面地規(guī)劃整個(gè)領(lǐng)域的可復(fù)用構(gòu)件,從而實(shí)現(xiàn)領(lǐng)域內(nèi)基于復(fù)用的應(yīng)用產(chǎn)品快速定制式開(kāi)發(fā)。大量復(fù)用開(kāi)發(fā)實(shí)踐表明,只要領(lǐng)域的內(nèi)聚性和穩(wěn)定性處理得當(dāng),特定領(lǐng)域的軟件復(fù)用構(gòu)件的開(kāi)發(fā)更加容易取得成功。于是,領(lǐng)域分析是否準(zhǔn)確有效成為軟件復(fù)用開(kāi)發(fā)成敗的關(guān)鍵。

      筆者認(rèn)為,現(xiàn)代軟件開(kāi)發(fā)中的領(lǐng)域泛指在構(gòu)建的應(yīng)用軟件模型的過(guò)程中,對(duì)相關(guān)同類的分析、設(shè)計(jì)和編程問(wèn)題進(jìn)行歸類,得出它們所屬的抽象問(wèn)題,以及在此基礎(chǔ)上定義的一組公共的需求、功能和技術(shù)方面的概念組成的研究域。

      這個(gè)研究域的產(chǎn)生是適應(yīng)軟件復(fù)用的需求的發(fā)展而產(chǎn)生的,隨著應(yīng)用軟件系統(tǒng)的規(guī)模和復(fù)雜程度的不斷提高,軟件開(kāi)發(fā)的時(shí)間開(kāi)銷和經(jīng)濟(jì)成本越來(lái)越高,軟件項(xiàng)目的產(chǎn)品的上市時(shí)間(time to market)、軟件開(kāi)發(fā)的生產(chǎn)力(productivity)和軟件質(zhì)量(quality)難以得到保證。針對(duì)軟件開(kāi)發(fā)的效率和質(zhì)量問(wèn)題,工程師們采用以過(guò)去的系統(tǒng)開(kāi)發(fā)中積累的知識(shí)和經(jīng)驗(yàn)為基礎(chǔ)進(jìn)行構(gòu)建開(kāi)發(fā)的模式,除了大量使用復(fù)用技術(shù),工程師們還必須進(jìn)行研究和創(chuàng)新,尋找軟件開(kāi)發(fā)過(guò)程中新的公共詞匯和用語(yǔ)。

      因此,工程技術(shù)人員應(yīng)該把領(lǐng)域分析的焦點(diǎn)從問(wèn)題域擴(kuò)展到研究域。不論是過(guò)去的聚焦在某一具體業(yè)務(wù)領(lǐng)域內(nèi)的總體或者其中一個(gè)部分,或聚焦在屬于同一領(lǐng)域的應(yīng)用系統(tǒng)在業(yè)務(wù)需求方面的共性的領(lǐng)域分析,還是現(xiàn)在的正在擴(kuò)展到體系結(jié)構(gòu)、具體實(shí)現(xiàn)以及配置等方面領(lǐng)域分析;不論是需求問(wèn)題還是設(shè)計(jì)技術(shù)問(wèn)題,都應(yīng)該從研究的角度進(jìn)行創(chuàng)新性分析,找出新的可復(fù)用因素、功能和實(shí)體等。

      將領(lǐng)域概念從問(wèn)題域抽象到研究域,是對(duì)軟件開(kāi)發(fā)理論在新的開(kāi)發(fā)技術(shù)背景下發(fā)展。目前,云計(jì)算的出現(xiàn)正在對(duì)軟件的開(kāi)發(fā)和實(shí)現(xiàn)提出新的要求,適應(yīng)云計(jì)算技術(shù)的開(kāi)發(fā)需求,體系結(jié)構(gòu)變得更加復(fù)雜,其內(nèi)部的各種功能分解需要在層次的模式下進(jìn)行。在需求分析中必須考慮軟件的技術(shù)層次,實(shí)際上不同的需求特征和不同的技術(shù)功能的組合,形成的交叉領(lǐng)域就是研究域。

      5 領(lǐng)域跨度

      聚焦研究域之后,領(lǐng)域的外延可大可小,于是產(chǎn)生領(lǐng)域的跨度問(wèn)題。研究領(lǐng)域跨度問(wèn)題有助于分析組件的服務(wù)范圍和組件設(shè)計(jì)的規(guī)模大小,組件過(guò)大不但耗用開(kāi)發(fā)時(shí)間和資源,而且也會(huì)損傷其實(shí)用性,尋找一個(gè)大小適中的組件開(kāi)發(fā)規(guī)模,對(duì)組件的使用效率起著決定性的作用。

      領(lǐng)域跨度是指某個(gè)領(lǐng)域內(nèi)所包含軟件系統(tǒng)的多少,它是一個(gè)度量領(lǐng)域大小和描述具體領(lǐng)域特征的概念。領(lǐng)域跨度可以分為水平領(lǐng)域跨度和垂直領(lǐng)域跨度,水平領(lǐng)域跨度來(lái)源于領(lǐng)域分析或者需求分析的綜合,它是根本的;垂直領(lǐng)域跨度是由水平領(lǐng)域跨度派生出來(lái)的問(wèn)題,它取決于水平領(lǐng)域跨度,但是垂直領(lǐng)域跨度對(duì)組件的開(kāi)發(fā)具有更加直接的決定意義,也就是說(shuō),分析領(lǐng)域的垂直跨度對(duì)組件開(kāi)發(fā)更加有技術(shù)指導(dǎo)意義。

      水平跨度是研究域所覆蓋的行業(yè)的范圍,或者所解決的需求問(wèn)題的類別多少。研究域的外延大小決定了領(lǐng)域?qū)哟蔚臄?shù)量及其結(jié)構(gòu),不同的領(lǐng)域結(jié)構(gòu)其層次關(guān)系決定著各層之間的服務(wù)關(guān)系和接口關(guān)系,這種服務(wù)關(guān)系和接口關(guān)系在軟件復(fù)用主導(dǎo)的技術(shù)開(kāi)發(fā)環(huán)境下也成為研究域。這些研究域是垂直結(jié)構(gòu)的。對(duì)某種類的業(yè)務(wù)需求進(jìn)行分解,得到的其動(dòng)態(tài)實(shí)現(xiàn)的一列前后提供服務(wù)的軟件系統(tǒng)所共有的階段性的技術(shù)區(qū)域,稱之為垂直研究域。一個(gè)垂直研究域所涵蓋的技術(shù)問(wèn)題的多少,就是領(lǐng)域的垂直跨度。

      筆者認(rèn)為,與此相對(duì)應(yīng),構(gòu)件應(yīng)當(dāng)劃分水平領(lǐng)域構(gòu)件和垂直領(lǐng)域構(gòu)件。水平領(lǐng)域構(gòu)件是指領(lǐng)域內(nèi)相似的應(yīng)用系統(tǒng)中包含的內(nèi)部模塊,如各種數(shù)據(jù)庫(kù)系統(tǒng),又如各種工作流系統(tǒng),再如各種GUl庫(kù)等。對(duì)水平領(lǐng)域構(gòu)件進(jìn)行功能性分類而得的相似問(wèn)題所覆蓋的空間稱為水平研究域。垂直領(lǐng)域構(gòu)件是指具有前后技術(shù)支持連貫性的軟件系統(tǒng)之間的共同處理的業(yè)務(wù)系統(tǒng)、模型或者模式的實(shí)現(xiàn)體,如財(cái)務(wù)管理系統(tǒng)要以進(jìn)銷存管理系統(tǒng)為基礎(chǔ)。

      6 研究域的特征

      作為研究域普遍具有3個(gè)基本特征,這些特征也是進(jìn)行領(lǐng)域分析研究和實(shí)踐工作的基礎(chǔ)。

      (1)可復(fù)用信息的特定性。可復(fù)用性不是信息的一種孤立屬性,它往往依賴于特定的研究和特定的問(wèn)題解決方法,即我們所說(shuō)某類信息具有可復(fù)用性,是指當(dāng)使用特定的方法解決特定的問(wèn)題時(shí),它是可復(fù)用的。基于這種特征,在識(shí)別、獲取和表示可復(fù)用信息時(shí),應(yīng)該采用面向領(lǐng)域的策略,分析出研究域。特定性使得同類的研究問(wèn)題可以領(lǐng)域化。

      (2)研究領(lǐng)域的內(nèi)聚性和穩(wěn)定性。關(guān)于現(xiàn)實(shí)世界問(wèn)題領(lǐng)域的解決方法的知識(shí)是充分內(nèi)聚和充分穩(wěn)定的,這些認(rèn)識(shí)是實(shí)際觀察的結(jié)果,成為基本的研究域,也是知識(shí)獲取和表示的意義所在。內(nèi)聚性使得可以通過(guò)一組有限的、相對(duì)較少的可復(fù)用信息來(lái)把握可以解決大量問(wèn)題的知識(shí)。穩(wěn)定性使得獲取和表示這些信息所付出的代價(jià),可以通過(guò)在較長(zhǎng)時(shí)間內(nèi)多次復(fù)用它們來(lái)得到補(bǔ)償。

      (3)研究領(lǐng)域的抽象性。從問(wèn)題域到研究域是領(lǐng)域概念大的一個(gè)突破,問(wèn)題是實(shí)實(shí)在在的,它是為了克服編程實(shí)踐中不斷出現(xiàn)的對(duì)效率追求的障礙而產(chǎn)生的,又因?yàn)樾碌男收系K的不斷變化而變化的。在問(wèn)題域的不斷變化中,涉及到的概念和技術(shù)范疇可能存在相對(duì)穩(wěn)定的部分,這些穩(wěn)定的內(nèi)容就是研究域的內(nèi)容。研究域可以是想象的、形而上的、超前的,它能夠指導(dǎo)組件開(kāi)發(fā)的方向和重心,是前瞻性的。

      7 結(jié) 語(yǔ)

      軟件分析的重心從功能分析逐漸發(fā)展成為領(lǐng)域分析的演變過(guò)程,是受軟件開(kāi)發(fā)技術(shù)的不斷進(jìn)步的進(jìn)程影響的,而軟件分析中的概念和理念反過(guò)來(lái)也促進(jìn)了軟件開(kāi)發(fā)技術(shù)的逐步提高。在今天軟件設(shè)計(jì)日趨復(fù)雜、開(kāi)發(fā)的層次越來(lái)越多、規(guī)模越來(lái)越大的技術(shù)發(fā)展背景下,研究領(lǐng)域、界定領(lǐng)域這一基礎(chǔ)性的問(wèn)題不但具有技術(shù)上的指導(dǎo)意義,而且也是軟件開(kāi)發(fā)理論發(fā)展的要求,是軟件工程中非常重要的一項(xiàng)工作。同時(shí),確定領(lǐng)域跨度也在另一方面是提高領(lǐng)域分析的準(zhǔn)確性和有效性的必然要求,是優(yōu)化軟件設(shè)計(jì)的前提條件。

      [1]曹曉蘭,焦海星,等.領(lǐng)域分析方法研究及應(yīng)用[J].科學(xué)技術(shù)與工程,2006,17(9):2666-2668.

      [2]F Buschmann,R Meunier,H Rohnert,et al.Pattern-oriented Software Architecture,volume 1:A system of patterns[M].NewYork,NY:John Wiley&Sons 1996:435.

      [3]D Shapere.Scientific Theories and Their Domains.[c]//The Structure of Scientific Revolutions,1977:518–599.

      [4]K C Kang,S Cohen,et al.Feature-Oriented Domain Analysis(FODA) Feasibility Study-CMU[R].SEI-90-TR-021.Pittsburgh,PA:Carnegie Mellon Software Engineering Institute,1990:2

      [5]S C Bailin,S Henderson.Towards a Case-Based Software Engineering Environment[C]//Fifth Annual Workshop on Software Reuse.1992

      [6]D S W Tansley,C C Hayball.Knowledge-based Systems Analysis and Design[M].Upper Saddle River,NJ:Prentice-Hall,Inc.,1993:115.

      [7]Domain.UML Glossary Version 1.0[EB/OL].[1997-01-13].www.iai.uni

      bonn.de/III/lehre/vorlesungen/SWT/SS96/Material/UML1.0/glossary.html.

      [8]K Czarnecki,K sterbye,M V.lter.Generative programming[C]//Object

      Oriented Technology ECOOP 2002 Workshop Reader.Springer Berlin Heidelberg,2002.

      [9]E Evans.Domain-driven Design:Tackling Complexity in the Heart of Software[M].Boston,MA:Addison-Wesley Professional,2004.

      [10]F Buschmann,K Henney,D Schimdt.Pattern Oriented Software Architecture:On Patterns and Pattern Language[M].NewYork,NY:John Wiley&Sons,2007:182-188.

      [11]N M EL-Gohary,EL-Diraby T E.Domain Ontology for Processes in Infrastructure and Construction[J].Journal of Construction Engineering and Management,2010,136(7):730–744.

      [12]F Buschmann,K Henney,D C Schmidt.Patter Oriented Software Architecture:a Pattern Language for Distributed Computing,Volume 4 [M].New York,NY:John Wiley&Sons,2007.

      [13]J S Kim,D Garlan.Analyzing Architectural Styles[J].Journal of Systems and Software,2010,83(7):1216–1235.

      [14]M Armbrust,A Fox,R Griffith,et al.A View of Cloud computing[J]. Communication of the ACM,2010,53(4):50–58

      [15]M Strembeck,U Zdun.An Approach for the Systematic Development of Domain Specific Languages[J].Software:Practice andExperience, 2009,39(15):1253-1292.

      [16]C L Simons,I C Parmee,R Gwynllyw.Interactive,Evolutionary Search in Upstream Object Oriented Class Design[J].Software Engineering,IEEE Transactions on,2010,36(6):798-816.

      [17]L Cao,S Y Philip,C Zhang,et al.Domain Driven Data Mining[M]. Berlin:Springer Publishing Company,2010.

      [18]Wu Baoming.General Analysis of Requirements for Risk Oriented Financial Data Modeling[C]//Proceedings 2nd International Conference on Modeling,Simulation,and Visualization Methods,2010.

      10.3969/j.issn.1673-0194.2015.05.110

      TP3

      A

      1673-0194(2015)05-0230-03

      2014-12-20

      鄔保明(1967-),男,內(nèi)蒙古人,工學(xué)博士,上海邦德職業(yè)技術(shù)學(xué)院講師。

      猜你喜歡
      復(fù)用技術(shù)跨度組件
      電動(dòng)汽車電機(jī)驅(qū)動(dòng)系統(tǒng)零轉(zhuǎn)矩充電復(fù)用技術(shù)簡(jiǎn)介
      緩粘結(jié)預(yù)應(yīng)力技術(shù)在大跨度梁中的應(yīng)用
      無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      大跨度連續(xù)剛構(gòu)橋線形控制分析
      新型碎邊剪刀盤組件
      U盾外殼組件注塑模具設(shè)計(jì)
      組合鋁合金立柱在超大跨度玻璃幕墻中的應(yīng)用
      上海建材(2018年4期)2018-11-13 01:08:54
      軟件工程領(lǐng)域應(yīng)用復(fù)用技術(shù)的分析
      “獵鷹”9號(hào)的復(fù)用技術(shù)與展望
      太空探索(2016年2期)2016-07-12 09:57:25
      第5代移動(dòng)通信基本要求與新型多址復(fù)用技術(shù)
      屯留县| 台中市| 新沂市| 电白县| 广水市| 铁岭县| 治多县| 阜宁县| 和静县| 永新县| 南宫市| 衡山县| 同心县| 方正县| 台山市| 大理市| 都昌县| 井研县| 临城县| 岳西县| 南川市| 甘肃省| 富锦市| 沅陵县| 边坝县| 革吉县| 湖口县| 昌黎县| 永泰县| 辽源市| 阿拉善盟| 鄄城县| 安阳县| 鄂托克前旗| 灌阳县| 临海市| 汶川县| 安乡县| 大渡口区| 监利县| 新昌县|