《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 基于構(gòu)件的領(lǐng)域分析方法與建模研究

基于構(gòu)件的領(lǐng)域分析方法與建模研究

2008-06-24
作者:孫少波,,王忠民

  摘 要: 在基于構(gòu)件的軟件工程思想指導(dǎo)下,,介紹了面向特定領(lǐng)域的軟件開(kāi)發(fā)" title="軟件開(kāi)發(fā)">軟件開(kāi)發(fā)過(guò)程,對(duì)基于特征的領(lǐng)域分析" title="領(lǐng)域分析">領(lǐng)域分析方法中結(jié)合面向?qū)ο蠛蜆?gòu)件化的思想進(jìn)行了探討,,提出了基于構(gòu)件的領(lǐng)域需求分析方法,提高了軟件復(fù)用" title="復(fù)用">復(fù)用的層次,,并將此方法應(yīng)用于基金管理領(lǐng)域的需求分析中,。
  關(guān)鍵詞: 領(lǐng)域分析 軟件復(fù)用 基于構(gòu)件的軟件工程 需求分析


  軟件的可復(fù)用性是人們?cè)u(píng)價(jià)一個(gè)軟件系統(tǒng)的重要指標(biāo)。軟件復(fù)用是提高軟件生產(chǎn)效率與質(zhì)量的一種有效途徑,它可以通過(guò)軟件中的可復(fù)用構(gòu)件(reusable component)來(lái)實(shí)現(xiàn),,即通過(guò)集成已有的構(gòu)件來(lái)創(chuàng)建新系統(tǒng),。以領(lǐng)域分析為基礎(chǔ)的特定領(lǐng)域復(fù)用(Domain-Specific Reuse)是提高軟件復(fù)用水平的重要途經(jīng)之一。將目標(biāo)集中在一個(gè)特定應(yīng)用領(lǐng)域中實(shí)現(xiàn)軟件復(fù)用,,從構(gòu)件的開(kāi)發(fā)到構(gòu)件的存儲(chǔ)與管理都比較容易,。本文對(duì)結(jié)合面向?qū)ο蟆ODA方法和構(gòu)件化思想的領(lǐng)域分析方法進(jìn)行了初步探索,,提出了構(gòu)件化的領(lǐng)域分析方法,,從而為在軟件開(kāi)發(fā)的前期階段實(shí)現(xiàn)構(gòu)件化開(kāi)發(fā),更加有效地實(shí)現(xiàn)軟件復(fù)用提供了指導(dǎo),。
1 相關(guān)理論
1.1 軟件復(fù)用
  軟件復(fù)用是指重復(fù)使用“為了復(fù)用目的而設(shè)計(jì)的軟件”的過(guò)程,。軟件復(fù)用是在軟件開(kāi)發(fā)中避免重復(fù)勞動(dòng)的解決方案,其出發(fā)點(diǎn)是應(yīng)用系統(tǒng)" title="應(yīng)用系統(tǒng)">應(yīng)用系統(tǒng)的開(kāi)發(fā)不再采用一切“從零開(kāi)始”的模式,,而是以已有的工作為基礎(chǔ),,充分利用過(guò)去應(yīng)用系統(tǒng)開(kāi)發(fā)中積累的知識(shí)和經(jīng)驗(yàn),如:需求分析結(jié)果,、設(shè)計(jì)方案,、源代碼、測(cè)試計(jì)劃及測(cè)試案例等,,從而將開(kāi)發(fā)的重點(diǎn)集中于應(yīng)用的特有構(gòu)成成分,。
  與軟件復(fù)用相關(guān)的兩個(gè)基本開(kāi)發(fā)活動(dòng)是面向復(fù)用的開(kāi)發(fā)和基于復(fù)用的開(kāi)發(fā),前者是生產(chǎn)可復(fù)用構(gòu)件的過(guò)程,,后者是利用現(xiàn)有的可復(fù)用構(gòu)件生產(chǎn)新系統(tǒng)的過(guò)程,。它們分別對(duì)應(yīng)領(lǐng)域工程和應(yīng)用工程,處理好它們之間的關(guān)系,,才能實(shí)現(xiàn)真正成功的軟件復(fù)用,。
1.2 領(lǐng)域工程
  領(lǐng)域工程是為一組相似或相近系統(tǒng)的應(yīng)用工程建立基本能力和必備基礎(chǔ)的過(guò)程,它覆蓋了建立可復(fù)用的軟件構(gòu)件的所有活動(dòng),。其中“領(lǐng)域”是指一組具有相似或相近軟件需求的應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域,。
  領(lǐng)域工程是創(chuàng)建可復(fù)用構(gòu)件的過(guò)程,其核心思想是:應(yīng)用模式領(lǐng)域化,,問(wèn)題抽象通用化,,軟件元素重用化,開(kāi)發(fā)過(guò)程工程化,。實(shí)施領(lǐng)域工程的過(guò)程可以分為以下三個(gè)主要的階段:
  (1)領(lǐng)域分析:目標(biāo)是獲得領(lǐng)域模型,。
  (2)領(lǐng)域設(shè)計(jì):目標(biāo)是獲得DSSA(特定領(lǐng)域軟件體系結(jié)構(gòu))。
  (3)領(lǐng)域?qū)崿F(xiàn):主要任務(wù)是依據(jù)領(lǐng)域模型和DSSA開(kāi)發(fā),、組織可重用構(gòu)件,。
  需要特別指出的是,,領(lǐng)域工程的三個(gè)基本階段所描述的過(guò)程是一個(gè)反復(fù)的、逐漸求精的過(guò)程,。在實(shí)施領(lǐng)域工程的每個(gè)階段中,,都可能返回到以前的步驟,對(duì)以前得到的結(jié)果進(jìn)行修改和完善,,再回到當(dāng)前步驟,,在新的基礎(chǔ)上實(shí)施本階段的過(guò)程。
1.3 面向特定領(lǐng)域的軟件開(kāi)發(fā)
  與領(lǐng)域工程相對(duì)的是開(kāi)發(fā)單個(gè)應(yīng)用系統(tǒng)的軟件工程的過(guò)程,,稱為應(yīng)用工程,。
  在應(yīng)用工程中,軟件開(kāi)發(fā)人員的任務(wù)是針對(duì)一組特定的需求產(chǎn)生一組特定的設(shè)計(jì)和實(shí)現(xiàn),。與此相對(duì),,在領(lǐng)域工程中,領(lǐng)域工程人員的基本任務(wù)是對(duì)一個(gè)領(lǐng)域中的所有系統(tǒng)進(jìn)行抽象,。領(lǐng)域工程的各個(gè)階段主要是對(duì)應(yīng)用工程中相應(yīng)階段產(chǎn)品的抽象,,領(lǐng)域工程又對(duì)本領(lǐng)域中新系統(tǒng)的開(kāi)發(fā)提供支持。在CBSE思想的指導(dǎo)下,,基于構(gòu)件的應(yīng)用工程實(shí)際上是構(gòu)件的組裝過(guò)程,。構(gòu)件(Component)是指應(yīng)用系統(tǒng)中可以明確辨識(shí)的構(gòu)成成分。而可復(fù)用構(gòu)件是指具有相對(duì)獨(dú)立的功能和可復(fù)用價(jià)值的構(gòu)件,。隨著對(duì)軟件復(fù)用理解的深入,,構(gòu)件的概念已不再局限于源代碼構(gòu)件,而是延伸到需求,、系統(tǒng)和軟件的需求規(guī)約,、系統(tǒng)和軟件的構(gòu)架、文檔,、測(cè)試案例和數(shù)據(jù)以及其他對(duì)開(kāi)發(fā)活動(dòng)有用的信息,。這些可復(fù)用軟件構(gòu)件通過(guò)領(lǐng)域工程獲得,作為應(yīng)用工程開(kāi)發(fā)的基本元素,。
  在開(kāi)發(fā)實(shí)際的應(yīng)用系統(tǒng)時(shí),,將領(lǐng)域工程與應(yīng)用工程相結(jié)合,可以快速,、有效地開(kāi)發(fā)出用戶滿意的系統(tǒng)。兩者相結(jié)合的軟件開(kāi)發(fā)模型如圖1所示,。
  通過(guò)以上討論可以看到,,在面向領(lǐng)域的軟件開(kāi)發(fā)過(guò)程中,領(lǐng)域模型的建立是軟件開(kāi)發(fā)的基礎(chǔ),。當(dāng)開(kāi)發(fā)同一領(lǐng)域的新系統(tǒng)時(shí),,可根據(jù)領(lǐng)域分析確定新應(yīng)用的需求規(guī)約,,以此來(lái)指導(dǎo)貫穿于整個(gè)開(kāi)發(fā)的設(shè)計(jì)與組裝。因此領(lǐng)域分析的成功與否,,對(duì)今后的開(kāi)發(fā)具有舉足輕重的作用,。領(lǐng)域分析的成功復(fù)用,可以從更抽象的層次實(shí)現(xiàn)軟件復(fù)用,。


1.4 領(lǐng)域分析
  所謂領(lǐng)域分析(DA)就是在系統(tǒng)分析之前,,分析、研究有關(guān)應(yīng)用領(lǐng)域特性的活動(dòng),。它是發(fā)現(xiàn)和記錄某個(gè)領(lǐng)域各系統(tǒng)的共性和差異的過(guò)程,,是系統(tǒng)化、形式化,、有效復(fù)用的關(guān)鍵,。通過(guò)領(lǐng)域分析,相似系統(tǒng)的公共特性將被提取,,適用于該領(lǐng)域所有公共的,、基本的對(duì)象、操作也將被標(biāo)志出來(lái),,并且可通過(guò)定義模型描述它們之間的關(guān)系,。領(lǐng)域分析的目標(biāo)就是獲得領(lǐng)域模型。領(lǐng)域模型(Domain Model)是領(lǐng)域中各系統(tǒng)的共同需求的描述,。它描述了領(lǐng)域內(nèi)系統(tǒng)需求上的共性,。
1.4.1 FODA方法與特征模型
  FODA對(duì)領(lǐng)域分析過(guò)程進(jìn)行了完整的描述,特征概念是FODA方法的核心,。所謂特征是指系統(tǒng)中的屬性和特點(diǎn),,按特征在領(lǐng)域中的可選性及特征間的相互關(guān)系可分為三類:
  (1)強(qiáng)制性特征:必須被選擇的特征。
  (2)可選特征:從0到n個(gè)可供選擇的特征,。
  (3)可替換特征:至少有一個(gè)被選擇的特征,。
  按特征的內(nèi)容也可分為三類:
  (1)功能相關(guān):系統(tǒng)所作的事情。
  (2)環(huán)境相關(guān):系統(tǒng)是如何被使用的,,變化點(diǎn)的原因,。
  (3)表示相關(guān):系統(tǒng)信息是如何被用戶所觀察的或者是如何被相關(guān)應(yīng)用所獲得的。
  特征模型" title="特征模型">特征模型通過(guò)使用抽象和細(xì)化的機(jī)制對(duì)領(lǐng)域中不同應(yīng)用的所有特征進(jìn)行了分類,,從而提供了關(guān)于領(lǐng)域體系結(jié)構(gòu)和可復(fù)用構(gòu)件的高層視圖,。特征模型可作為應(yīng)用開(kāi)發(fā)者的地圖,當(dāng)應(yīng)用開(kāi)發(fā)者面對(duì)龐雜的Use Case模型或者其他模型時(shí),,特征模型提供了關(guān)于哪些是可選的,、哪些是可合并的信息。
1.4.2 領(lǐng)域Use Case模型和動(dòng)態(tài)模型
  領(lǐng)域Use Case模型是RSEB(Reuse-Driven Soft-ware Engineering Business)方法為了表示領(lǐng)域中用戶需求的不同之處對(duì)其進(jìn)行擴(kuò)展而形成的,。但是領(lǐng)域Use Case模型無(wú)法詳細(xì)地表示出系統(tǒng)工作流程,。為了更詳細(xì)地描述整個(gè)系統(tǒng)對(duì)象間的活動(dòng),,考慮在領(lǐng)域Use Case模型中附加動(dòng)態(tài)模型對(duì)工作流進(jìn)行建模。領(lǐng)域Use Case模型和動(dòng)態(tài)模型采用構(gòu)件化的思想進(jìn)行組裝,。動(dòng)態(tài)模型可以采用uml的活動(dòng)圖描述,,領(lǐng)域Use Case或單個(gè)的活動(dòng)與活動(dòng)圖之間通過(guò)接口進(jìn)行連接,并且有明確的標(biāo)識(shí),,從而完整,、獨(dú)立、詳盡地描述特征模型,。在此還特別注意了可變性機(jī)制,,可變性機(jī)制中主要是變化點(diǎn)和變體的表示。變化點(diǎn)是指在Use Case中不同應(yīng)用之間的不同處理方式或處理對(duì)象的一種抽象,,而變體是指變化點(diǎn)的一種具體實(shí)現(xiàn)方法,。
  為了領(lǐng)域Use Case模型和動(dòng)態(tài)模型的構(gòu)件化組裝,在實(shí)際應(yīng)用中定義了這些描述需求的構(gòu)件接口,,接口定義如下:
  接口=(Provides,,Requires)
  其中,Provides為對(duì)外提供的功能/服務(wù),,Requires為對(duì)外要求的功能服務(wù),。
  Provides=({provideFunction})
  Requires=({requiredIncludedFunction},{requiredExtendedFunction})
  需要說(shuō)明的是,,在對(duì)外要求的功能/服務(wù)中,,requiredIncludeFunction是必須滿足的條件,requiredExtendFunction是可能滿足的條件,,從而增加了構(gòu)件的靈活性和可變性,。
2 構(gòu)件化的領(lǐng)域分析方法
  領(lǐng)域分析是提取構(gòu)件和建立體系結(jié)構(gòu)的關(guān)鍵。依據(jù)面向?qū)ο?、FODA中特征的概念以及CBSE方法的一些思想,,進(jìn)行領(lǐng)域分析有以下幾個(gè)步驟:
  (1)建立領(lǐng)域邊界模型:目的是定義領(lǐng)域的范圍。
  方法是,,從待分析領(lǐng)域中確定包含哪些應(yīng)用,,表示出本領(lǐng)域系統(tǒng)的邊界;從這些應(yīng)用中找出所有與本領(lǐng)域進(jìn)行交互的人或領(lǐng)域,,并表示出它們的通用職責(zé),。為了確定領(lǐng)域的范圍,可以根據(jù)領(lǐng)域知識(shí)用類似于高層抽象用例圖的形式來(lái)表示,。
  (2)建立特征模型:目的是識(shí)別領(lǐng)域中應(yīng)用的共同特征和可變特征,。
  方法是,在實(shí)際建模中利用開(kāi)發(fā)的原型或現(xiàn)存系統(tǒng)尋找本領(lǐng)域中的通用功能和可選功能,,抽象表示成強(qiáng)制性特征和可選的特征,;然后找到相同功能的不同實(shí)現(xiàn)方法, 用可替換特征表示;最后考察模型中的特征是否可以被進(jìn)一步分解為子特征,,從而形成特征模型,。
  (3)建立領(lǐng)域Use Case模型和動(dòng)態(tài)模型:目的是將領(lǐng)域內(nèi)的特征描述完整化、獨(dú)立化,,并且具有可適應(yīng)性和可標(biāo)識(shí)性,。通過(guò)此步可以描述整個(gè)領(lǐng)域的業(yè)務(wù)處理。
  方法是,,選擇特征模型中強(qiáng)制性特征,、可替換特征以及一些出現(xiàn)頻率比較高的可選特征作為通用功能;將具有相似功能或者操作同一對(duì)象的功能組成一個(gè)Use Case,,在組成一個(gè)Use Case時(shí)也要考慮復(fù)用力度的問(wèn)題,,根據(jù)復(fù)用的力度選擇Use Case的規(guī)模;強(qiáng)制性特征,、可選特征和可替換特征分別利用uml中的包含(include),、延伸(extend)和實(shí)現(xiàn)(realize)關(guān)系予以表示,從而映射到Use Case模型中,,并且定義其接口,;對(duì)于相對(duì)具體的Use Case,利用動(dòng)態(tài)模型描述隨時(shí)間發(fā)生的活動(dòng)和參與的對(duì)象,,并且定義接口與其描述的Use Case模型連接,,對(duì)于某些活動(dòng)可以繼續(xù)定義動(dòng)態(tài)模型并通過(guò)接口進(jìn)行組裝。
  (4)建立對(duì)象模型:目的是抽象出主要的對(duì)象和類,,描述領(lǐng)域中對(duì)象和類的靜態(tài)關(guān)系,,為下一步體系結(jié)構(gòu)的建立打下基礎(chǔ)。
  方法是,,將動(dòng)態(tài)模型中的對(duì)象與領(lǐng)域Use Case模型中的名詞相結(jié)合建立對(duì)象模型,;把相同或相似的對(duì)象進(jìn)行合并;最后再用使用,、繼承,、參數(shù)化等機(jī)制實(shí)現(xiàn)變體。
  綜上所述,,整個(gè)分析過(guò)程分為以上四步進(jìn)行,,但這四步不是線性的,是并行和迭代的,。它是對(duì)以上模型不斷精化的過(guò)程,,可以分成幾個(gè)周期不斷循環(huán)進(jìn)行,直至得到滿意的領(lǐng)域模型,。在此過(guò)程中,,還有一個(gè)將所得模型構(gòu)件化提交構(gòu)件庫(kù)的階段,,在此不作討論。
3 應(yīng)用分析
  隨著科學(xué)技術(shù)的不斷發(fā)展,,各高校,、科研院所等單位的項(xiàng)目負(fù)責(zé)人在進(jìn)行項(xiàng)目開(kāi)展時(shí),往往需要各部委等的基金資助,,以保證項(xiàng)目的正常進(jìn)行,。如此多的項(xiàng)目基金的管理就相對(duì)地形成了一個(gè)基金管理領(lǐng)域。在這個(gè)領(lǐng)域中,,利用基金管理系統(tǒng)可以大大提高基金機(jī)構(gòu)管理的效率,,實(shí)現(xiàn)辦公自動(dòng)化,以節(jié)省人力,、物力和財(cái)力,。通過(guò)領(lǐng)域工程,建立起基金管理領(lǐng)域模型和統(tǒng)一的構(gòu)架以及對(duì)實(shí)現(xiàn)有用的構(gòu)件,,可指導(dǎo)領(lǐng)域內(nèi)所有應(yīng)用系統(tǒng)的開(kāi)發(fā),。根據(jù)上述領(lǐng)域分析方法,我們?cè)陬I(lǐng)域分析階段將其應(yīng)用于基金管理的模型開(kāi)發(fā)中,。
  依據(jù)筆者對(duì)基金管理領(lǐng)域知識(shí)的了解并結(jié)合相關(guān)的基金管理系統(tǒng),,對(duì)基金管理系統(tǒng)進(jìn)行領(lǐng)域邊界分析,確定基金管理領(lǐng)域的領(lǐng)域邊界模型,?;鸸芾頇C(jī)構(gòu)內(nèi)一般包括基金管理者和維護(hù)系統(tǒng)運(yùn)行的管理人員,基金管理機(jī)構(gòu)外則涉及到基金申請(qǐng)者和評(píng)審專家,。系統(tǒng)內(nèi)外的參與者和領(lǐng)域的交互,,就構(gòu)成了基金管理系統(tǒng)的領(lǐng)域范圍,領(lǐng)域邊界模型如圖2所示,。


  然后將基金管理系統(tǒng)所具有的功能特征(如專家評(píng)審,、申請(qǐng)管理、專家管理和撥款等),、環(huán)境特征(如不同的基金管理機(jī)構(gòu)提供不同的基金資助)和表示特征用特征模型表示出來(lái),。在這個(gè)模型中包括所有基金管理系統(tǒng)都具有的強(qiáng)制性特征(如專家管理、申請(qǐng)管理,、撥款等),, 也包括可選特征(如并不是所有的基金管理機(jī)構(gòu)都提供項(xiàng)目總結(jié)管理),還包括可替換特征(如評(píng)審方式可以是在線評(píng)審也可以通過(guò)郵件發(fā)送文檔的方式評(píng)審),。特征模型(部分)如圖3所示,。


  再根據(jù)以上特征模型中的功能特征抽取出通用功能,包括用戶登錄、添加活動(dòng),、修改活動(dòng),、瀏覽信息、查詢信息,、統(tǒng)計(jì)打印信息,、分配專家、專家評(píng)審等,,將其用Use Case描述,如圖4所示,,并且還可以插入活動(dòng)圖,。下面給出評(píng)審管理的部分描述,此處選用了專家評(píng)審這一用例,,其中評(píng)審是變化點(diǎn),,它有2個(gè)變體(在線評(píng)審和郵件發(fā)送文件)。


  其接口定義為:
  Provides:
    function setopinion( )
    Requires:
    Include:
  Extend:function onlinegetinfor( )
  將在線評(píng)審用例繼續(xù)用活動(dòng)圖描述,,在這個(gè)活動(dòng)圖中,,對(duì)象object就是評(píng)審對(duì)象。
  其接口定義為:
  Provides:
    function onlinegetinfor( )
  Requires:
  由上可知,,通過(guò)接口的定義可以建立動(dòng)態(tài)模型和Use Case模型之間的描述關(guān)系,,如圖5所示,從而更加具體地將特征模型映射到領(lǐng)域Use Case模型中,。


  接下來(lái)由面向?qū)ο蠓椒邦I(lǐng)域Use Case模型和動(dòng)態(tài)模型得到對(duì)象模型,,它描述了本領(lǐng)域中重要的對(duì)象和它們之間的關(guān)系。對(duì)象模型是領(lǐng)域應(yīng)用系統(tǒng)的靈魂,,通過(guò)對(duì)象之間的交互形成具體的應(yīng)用系統(tǒng)的體系結(jié)構(gòu),。從以上工作中可得到基金、申請(qǐng)者,、專家,、申請(qǐng)、資助項(xiàng)目,、評(píng)審和單位七個(gè)類,,變化點(diǎn)和變體可通過(guò)泛化在類圖中表示。對(duì)象模型如圖6所示,。


  至此建立了整個(gè)領(lǐng)域的領(lǐng)域模型,,同時(shí)利用uml半形式化地描述了領(lǐng)域需求。根據(jù)領(lǐng)域模型,,可以進(jìn)一步建立DSSA,,進(jìn)行軟件的下一步開(kāi)發(fā),將所得的可復(fù)用的構(gòu)件加入構(gòu)件庫(kù)。在進(jìn)行具體應(yīng)用系統(tǒng)的開(kāi)發(fā)時(shí),,通過(guò)提取可復(fù)用構(gòu)件和開(kāi)發(fā)新的專用構(gòu)件,,可完成整個(gè)應(yīng)用系統(tǒng)的組裝。
  本文結(jié)合在基金管理領(lǐng)域中進(jìn)行領(lǐng)域分析的實(shí)踐,,對(duì)構(gòu)件化的領(lǐng)域分析過(guò)程進(jìn)行了說(shuō)明,,該方法在建立特征模型的基礎(chǔ)上,利用領(lǐng)域Use Case模型和動(dòng)態(tài)模型構(gòu)件化地分析了領(lǐng)域需求,,并且表示了領(lǐng)域中對(duì)不同應(yīng)用的不同處理方式,。這樣將可在軟件開(kāi)發(fā)的前期階段實(shí)現(xiàn)構(gòu)件化開(kāi)發(fā),有助于重用者更加方便有效地進(jìn)行設(shè)計(jì),、實(shí)現(xiàn)階段的構(gòu)件化開(kāi)發(fā),,實(shí)現(xiàn)軟件開(kāi)發(fā)的有效復(fù)用。
參考文獻(xiàn)
1 楊芙清,,梅 宏,,李克勤.軟件復(fù)用與軟件構(gòu)件技術(shù)[J].電子學(xué)報(bào).1999;27(2):68~75
2 Jacobson I著,,韓 柯譯.軟件復(fù)用:結(jié)構(gòu),、過(guò)程和組織[M].北京:機(jī)械工業(yè)出版社,2003
3 王千祥,,吳 瓊,,李克勤等.一種面向?qū)ο蟮念I(lǐng)域工程方法[J].軟件學(xué)報(bào).2002;13(10):1977~1984
4 Neighbors J M.The Evaluation from Software Components to Domain Analysis[J].International Journal Software Engineering and Knowledge Engineering.1992,;(2):325~354

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]