两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

含有描述信息的構(gòu)件及函數(shù)庫的構(gòu)建方法

文檔序號:6581503閱讀:139來源:國知局
專利名稱:含有描述信息的構(gòu)件及函數(shù)庫的構(gòu)建方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息處理方法,尤其是涉及一種含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法。
背景技術(shù)
構(gòu)件(Component)是面向軟件體系架構(gòu)的可復用軟件模塊,是可復用的軟件組成成份, 可被用來構(gòu)造其他軟件。構(gòu)件可以是被封裝的對象類、類樹、 一些功能模塊、軟件框架 (Framework )、軟件構(gòu)架(或體系結(jié)構(gòu)Architectural )、文檔、分析件、設(shè)計模式(Pattern) 等。1995年,Ian.oraham給出的構(gòu)件定義如下構(gòu)件(Component)是指一個對象(接口規(guī) 范、或二進制代碼),它被用于復用,接口被明確定義。
構(gòu)件是作為一個邏輯緊密的程序代碼包的形式出現(xiàn)的,有著良好的接口。因此,開發(fā)者 可以通過組裝已有的構(gòu)件來開發(fā)新的應(yīng)用系統(tǒng),從而達到軟件復用的目的。軟件構(gòu)件技術(shù)是 軟件復用的關(guān)鍵因素,也是軟件復用技術(shù)研究的重點。
由于構(gòu)件種類和規(guī)范眾多,如微軟提出的ACTIVEX和COM組件、SUN公司提出的 JAVA組件、CORBA提出的組件規(guī)范;并且,構(gòu)件就像函數(shù)庫一樣是對代碼的二進制封裝, 如果缺乏文檔和源碼, 一大堆構(gòu)件對使用者使用起來無所適從。為改變這一狀況,目前軟件 構(gòu)件從規(guī)范眾多、標準不一向標準化發(fā)展,如目前標準化的Web Services。 Web Services可 以通過標準的語言和協(xié)議進行描述和發(fā)布,使用者也可以使用標準的協(xié)議進行遠程調(diào)用。
但是,Web Services本身不是自描述的。并且當前函數(shù)庫還被大量軟件使用,也需要增 加自描述特性。因此,有必要對構(gòu)件和函數(shù)庫構(gòu)建自描述特性以便于使用。

發(fā)明內(nèi)容
本發(fā)明提出一種含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,通過使用XML、 WSDL 或UDDI語言對構(gòu)件或函數(shù)庫的自描述來解決目前構(gòu)件和函數(shù)庫不帶描述信息的技術(shù)問題。
為解決本發(fā)明的技術(shù)問題,本發(fā)明公開一種含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方 法,其包括
獲取構(gòu)件或函數(shù)庫的對外接口的注釋信息;
將注釋信息轉(zhuǎn)換處理為構(gòu)件或函數(shù)庫的描述信息;
將描述信息與構(gòu)件或函數(shù)庫的源碼文件一起打包封裝。
其中,注釋信息為借助工具從構(gòu)件或函數(shù)庫的源碼文件中讀取,或由用戶在構(gòu)建構(gòu)件或 函數(shù)庫時的輸入信息。
其中,注釋信息位于構(gòu)件或函數(shù)庫的源碼文件的頭部。 .其中,構(gòu)件或函數(shù)庫的源碼的對外接口注釋信息采用XML語言描述,且描述信息也采 用XML語言描述。
其中,描述信息包括基本描述信息和對外接口描述信息?;久枋鲂畔ê瘮?shù)庫或 構(gòu)件的名字、版權(quán)人信息、廠家信息、創(chuàng)建者信息、使用的編譯器瓦基于的操作系統(tǒng)、使用 平臺、發(fā)布日期、版本或修訂歷史記錄的其中一項或多項。對外接口包括定義函數(shù)接口名 稱及函數(shù)接口的傳遞參數(shù)、傳遞參數(shù)的定義、傳遞參數(shù)的數(shù)據(jù)類型的定義;而對外接口描述信息對應(yīng)包括對外接口的操作定義、對外接口操作中傳遞參數(shù)的定義;傳遞參數(shù)包含具體 參數(shù)的數(shù)據(jù)類型的定義。
其中,描述信息使用WSDL語言或UDDI語言描述;函數(shù)庫或構(gòu)件中只封裝指向由 WSDL語言或UDDI語言對該函數(shù)庫或構(gòu)件的描述信息的URL地址。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果
本發(fā)明提出了使用XML、 WSDL或UDDI語言對構(gòu)件或函數(shù)庫的自描述方法和源碼接 口的注釋方法,采用本發(fā)明可以方便的從源碼中構(gòu)建構(gòu)件或函數(shù)庫的描述信息,并與構(gòu)件或 函數(shù)庫打包封裝到一起,使用戶方便的從構(gòu)件或函數(shù)庫中得到相應(yīng)的描述信息和如何使用的 指導信息,從而能夠在軟件中使用該構(gòu)件或函數(shù)庫,不會造成可能丟失或沒有公開源碼的構(gòu) 件或函數(shù)庫的資源和智力的浪費,有利于推進構(gòu)件或函數(shù)庫在軟件開發(fā)中的更廣泛使用。


圖1是本發(fā)明的流程示意圖。
具體實施例方式
本發(fā)明是采用XML( Extensible Markup Language,即可擴展標記語言)、或者使用WSDL (Web Services Description Language, 網(wǎng)纟備月艮務(wù)4苗述"i吾言)或UDDI (Universal Description Discovery and Integration,統(tǒng)一描迷、發(fā)現(xiàn)和集成協(xié)議)對函數(shù)庫或構(gòu)件的對外接口進行描 述,然后進行封裝處理為含有描述信息的構(gòu)件或函數(shù)庫,使用戶能夠方便的從函數(shù)庫或構(gòu)件 中得到相應(yīng)的描述信息和如何使用的指導信息,從而在軟件中使用該函數(shù)庫或構(gòu)件。
如圖l所示,本發(fā)明采用如下方式來實現(xiàn)
步驟S101、讀取構(gòu)件或函數(shù)庫的源碼中用戶添加的接口注釋信息,或在構(gòu)建構(gòu)件或函 數(shù)庫時由用戶輸入有關(guān)構(gòu)件或函數(shù)庫的對外接口的注釋信息。
步驟S102、將注釋信息轉(zhuǎn)換處理,按預定的格式生成構(gòu)件或函數(shù)庫的對外接口的描述信息。
構(gòu)件或函數(shù)庫的對外接口的描述信息包括但不限于如下信息函數(shù)庫或構(gòu)件名字、函 數(shù)庫及構(gòu)件描述、版權(quán)所有者信息、廠家信息、創(chuàng)建者信息、使用的編譯器及基于的操作系 統(tǒng)、使用平臺、發(fā)布日期、版本、修訂歷史記錄、對外接口描述和注釋信息等。
步驟S103、封裝處理將構(gòu)件或函數(shù)庫的對外接口的描述信息、構(gòu)件或函數(shù)庫的源碼 編譯的結(jié)果一并封裝成含有描述信息的軟件構(gòu)件或函數(shù)庫;當然,構(gòu)件或函數(shù)庫的對外接口 的描述信息也可以編碼封裝,也可以原封不動的封裝到函數(shù)庫或構(gòu)件之中。
實施例l
本實施例采用XML語言對函數(shù)庫或構(gòu)件的對外接口進行描述。
借助工具從構(gòu)件或函數(shù)庫源碼中讀取必要的注釋信息,或者由用戶輸入必要的注釋信 息。這時就要求構(gòu)件或函數(shù)庫的源碼中對接口的注釋采用標準的注釋規(guī)格以及一致的關(guān)鍵詞 詞條,比如,也使用以上描述相仿的XML^式進行描述。
XML對源碼的描述包括兩部分注釋信息, 一部分為基本注釋信息描述, 一部分為對外 接口注釋描述信息,都由XML語言進行描述。
基本注釋信息描述如下
< xml version="1.0" encoding-"GBK" ><lib name="mygui">< Description >gui庫對夕卜才妄口的4苗述</ Description >< Copyright name="skyworth" address =,,shenzhen,, /〉 <Corporation name="skyworth" address="shenzhen7> <Creator name-"王五"address="shenzhen'V> <Compiler name=,,gcc3.4,V><OS name=,,linux2.6" /> <Platform name="ST7101"/> <issue date="2009-7-217> 〈Version value="1.07>〈Revise history〉<Item revise No=,, 1" Issue—date="2008-01-20" /><Item revise No=,,2" Issue—date="2008-02-20" /></ Revise history >/lib>Author=,,張三,,review=,,李四,,description-"問題描述1, Autho產(chǎn),,張三"review="李四"description=,,問題描述2,基本信息注釋中注釋了該庫的庫名字、版權(quán)人信息、廠家信息、創(chuàng)建者信息等信息, 以及得到所使用的編譯器為gcc3.4,運行的操作系統(tǒng)為linux2.6,平臺為ST7101,發(fā)布日期為 2009-7-21,版本為l.O,該庫的修訂記錄有兩條等信息。而構(gòu)件或函數(shù)庫的對外接口的注釋信息也采用XML語言描述如下< xml version-" 1.0" encoding="GBK" ><Interfacc><Type>〈element name="result,, type="int"> 〈element name="rect" type="RECT,,>〈element name="x', type="int,V> 〈dement name="y,, type=,,int'7> 〈element name="dx" type="int"/> 〈element name=''dy" type="int7> </dcmcnt> 〈element name="bm" type=,,BITMAP,,><element name-"r" type=" RECT'V〉</clcmcnt> </Type>〈Message name="draw—rect_msg"><Part name ="rect,V> <Part name=" bm,7> </Message ><Operation name="Draw—Rect—Cmd">< input message ="draw—rect—msg'V></Operation > </Interfacc>從上述接口XML注釋信息中注釋了接口的用法信息,包括三個部分Operation部分定 義構(gòu)件或函數(shù)庫的對外接口名稱及要傳遞的參數(shù);傳遞的參數(shù)在Message部分定義,其中 每一個part對應(yīng)一個參數(shù);參數(shù)的數(shù)據(jù)類型在Type部分定義。從源碼注釋信息中通過獲取上述對外接口的注釋信息后,生成如下所示由XML語言描 述的構(gòu)件或函數(shù)庫的接口描述信息,并打包到構(gòu)件或函數(shù)庫中。當然如果源碼中沒有相應(yīng)的 XML注釋信息,可以根據(jù)用戶輸入的上述信息進行構(gòu)件或函數(shù)庫的打包。< xml version="1.0" encoding="GBK" 〉<lib name="mygui"><BaseInfo>< Description > gui函數(shù)庫對外接口的描述</ Description >< Copyright name=''skyworth" address ="shenzhen,, /> (Corporation name="skyworth" address=',shenzhen'7> <Creator name-"王五"address="shenzhen'V〉 〈Compiler name="gcc3.4"/><OS name=,,linux2.6" /〉 〈Platform name="ST7101,7> <issue date="2009-7-217> <Version value="1.07> <Revise history><Item revise No=,T, Author="張三"review="李四"description-"問題描述1" Issue_date="2008-01-20" /><Item revise No="2" Author=,,張三"review="李四"description-"問題描述2" Issue—date="2008-02-20" /></ Revise history >/BaseInfo><Interface><Typc><element name="Rect" type="RECT"> 〈element name:"x" type="int"/> 〈element name="y,' type="int"/> 〈element name="dx" type=,,int"/> 〈element name="dy" type="int"/〉 </clcmcnt><element name="color" type="RGB"> <element name="r" type="unsigned char'V> 〈element name="g" type="unsigned char 7><element name="b" type="unsigned char "/> </clcmcnt>〈element name="bm" type="BITMAP,,> <dement name="r" type=" RECT'7> </clcm6nt><demcnt name=',result'' type=int> </Type><Message name="draw—rect—msg"> <Part name="Rect7> <Part name="color7> </Message ><Message name="result—msg"> <Part name ="result'V> </Message ><PortType name="Gui(3uotePortType"> <Operation name=" Send一Draw一Rect_Request"> <input message-" draw—rect—msg'V〉 </Operation ><Operation name="Draw—Rect一Cmd"〉< input message ="draw—rect—msg'V><output message =" result一msg 7>(/Operation >/PortTyp6></Interface></lib〉從上述XML描述代碼可以看出,構(gòu)件或函數(shù)庫的描述信息包括兩部分信息 一部分為 基本描述信息, 一部分為對外接口描述信息。基本描述信息中我們可以得到函數(shù)庫的庫名字(對應(yīng)代碼libname)為"mygui"、版 權(quán)人(對應(yīng)代碼為Copyright name )信息為"skyworth"、廠家(對應(yīng)代碼為Corporation name) 信息為"skyworth"、創(chuàng)建者(對應(yīng)代碼為Creator name)信息為"王五"等信息,以及得到 所使用的編譯器(對應(yīng)代碼為Compilername)為gcc3.4.6,運行的操作系統(tǒng)(對應(yīng)代碼為OS name)為limix2.6,平臺(對應(yīng)代碼為Platform name)為ST7101,發(fā)布日期(對應(yīng)代碼為issue date)為2009-7-21,版本(對應(yīng)代碼為Version value)為l,O,該函數(shù)庫的修訂記錄(對應(yīng)代 石馬為Revise history)有兩條等4言息。而從函數(shù)庫的對外接口描述信息中,可以看出該函數(shù)庫的對外接口包括兩個操作 一個 發(fā)送一條消息,沒有返回結(jié)果的操作; 一個發(fā)送一條消息,并返回結(jié)果的操作。而函數(shù)庫的對外接口的操作在代碼PortType中定義,PortType是對外接口的容器,由 一個個操作operation構(gòu)成,接口才喿作中傳遞的參數(shù)采用消息Message進行封裝,Message又 是元素element的容器,Message由一個個元素element構(gòu)成,元素element對應(yīng)要傳遞的具 體參數(shù),消息Message中有幾個元素,就對應(yīng)操作中要傳遞幾個參數(shù),元素element的類型 可以由基本數(shù)據(jù)類型定義,也可以由復雜數(shù)據(jù)類型定義,復雜數(shù)據(jù)類型采用遞歸定義,即復用戶使用打包后的構(gòu)件或函數(shù)庫時,就可以從中得到構(gòu)件件或函數(shù)庫的如上描述信息, 從而可以正確〗吏用。實施例2可以獨立使用WSDL或UDDI語言對函數(shù)庫或構(gòu)件的描述進4于描述,而函數(shù)庫或構(gòu)件 中只封裝指向由WSDL或UDDI語言對該函數(shù)庫或構(gòu)件的接口描述的URL ( Uniform Resource Locator,統(tǒng)一資源定位符,又稱為網(wǎng)頁地址)。比如如下描述代碼由于WSDL或UDDI語言是開放標準,因此具體格式不再陳述。< xml version="1.0" encoding="GBK" ><lib name="mygui"><Wsdl><wsdl:address location="http:〃example.com/guilib.wsdl7></Wsdl><UDDI><uddi:address location="http:〃example.com/ guilib.uddi 7></UDDI>/lib>綜上,本發(fā)明提出了使用XML,或者使用WSDL或UDDI語言對構(gòu)件或函數(shù)庫的自描 述方法,以及相應(yīng)的源碼接口的注釋方法,采用本發(fā)明可以方便的從源碼中構(gòu)建構(gòu)件或函數(shù) 庫的描述信息,并與構(gòu)件或函數(shù)庫打包封裝到一起,使用戶方便的從構(gòu)件或函數(shù)庫中得到相 應(yīng)的描述信息和如何使用的指導信息,從而能夠在軟件中使用該構(gòu)件或函數(shù)庫,不會造成可 能丟失或沒有公開源碼的構(gòu)件或函數(shù)庫的資源和智力的浪費,有利于推進構(gòu)件或函數(shù)庫在軟 件開發(fā)中的更廣泛使用。
權(quán)利要求
1、一種含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其特征在于,包括獲取構(gòu)件或函數(shù)庫的對外接口的注釋信息;將注釋信息轉(zhuǎn)換處理為構(gòu)件或函數(shù)庫的描述信息;將描述信息與構(gòu)件或函數(shù)庫的源碼文件一起打包封裝成含有描述信息的軟件構(gòu)件及函數(shù)庫。
2、 根據(jù)權(quán)利要求1所述的含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其特征在于, 注釋信息為借助工具從構(gòu)件或函數(shù)庫的源碼文件中讀取,或由用戶在構(gòu)建構(gòu)件或函數(shù)庫時的 輸入信息。
3、 根據(jù)權(quán)利要求1所述的含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其特征在于, 注釋信息位于構(gòu)件或函數(shù)庫的源碼文件的頭部。
4、 根據(jù)權(quán)利要求1所述的含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其特征在于, 注釋信息采用XML語言描述,且描述信息也采用XML語言描述。
5、 根據(jù)權(quán)利要求4所述的含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其特征在于, 描述信息包括基本描述信息和對外接口描述信息。
6、 根據(jù)權(quán)利要求5所述的含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其特征在于, 基本描述信息包括函數(shù)庫或構(gòu)件的名字、版權(quán)人信息、廠家信息、創(chuàng)建者信息、使用的編 譯器及基于的操作系統(tǒng)、使用平臺、發(fā)布日期、版本或修訂歷史記錄的其中一項或多項。
7、 根據(jù)權(quán)利要求5所述的含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其特征在于, 對外接口包括定義函數(shù)接口名稱及函數(shù)接口的傳遞參數(shù)、傳遞參數(shù)的定義、傳遞參數(shù)的數(shù) 據(jù)類型的定義;而對外接口描述信息對應(yīng)包括對外接口的操作定義、對外接口操作中傳遞 參數(shù)的定義;傳遞參數(shù)包含具體參數(shù)的數(shù)據(jù)類型的定義。
8、 根據(jù)權(quán)利要求1所述的含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其特征在于, 描述信息使用WSDL語言或UDDI語言描述。
9、 根據(jù)權(quán)利要求8所述的含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其特征在于, 函數(shù)庫或構(gòu)件中只封裝指向由WSDL語言或UDDI語言對該函數(shù)庫或構(gòu)件的描述信息的 URL地址。
全文摘要
本發(fā)明公開一種含有描述信息的軟件構(gòu)件及函數(shù)庫的構(gòu)建方法,其包括獲取構(gòu)件或函數(shù)庫的對外接口的注釋信息;將注釋信息轉(zhuǎn)換處理為由XML、WSDL或UDDI語言描述的構(gòu)件或函數(shù)庫的描述信息;將描述信息與構(gòu)件或函數(shù)庫的源碼文件一起打包封裝。本發(fā)明可以方便的從源碼中構(gòu)建構(gòu)件或函數(shù)庫的描述信息,有利于推進構(gòu)件或函數(shù)庫在軟件開發(fā)中的更廣泛使用。
文檔編號G06F9/44GK101655797SQ20091019072
公開日2010年2月24日 申請日期2009年9月25日 優(yōu)先權(quán)日2009年9月25日
發(fā)明者毛國紅 申請人:深圳創(chuàng)維數(shù)字技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
固安县| 台州市| 甘德县| 湘潭市| 长沙县| 黑龙江省| 郯城县| 长沙市| 大埔区| 定安县| 庆安县| 应用必备| 汝南县| 讷河市| 秦安县| 邯郸市| 七台河市| 昭平县| 漳州市| 改则县| 凤翔县| 犍为县| 林州市| 米易县| 博乐市| 茂名市| 南丰县| 正安县| 泽州县| 南和县| 策勒县| 确山县| 无极县| 宜兰县| 阜平县| 景德镇市| 玛曲县| 陆丰市| 霍山县| 安西县| 凉山|