999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

通信軟件可重用部件庫(kù)研究

2012-09-26 00:16:32廖夢(mèng)怡何偉娜李中華
電子設(shè)計(jì)工程 2012年22期
關(guān)鍵詞:特征方法設(shè)計(jì)

廖夢(mèng)怡,何偉娜,李中華

(1.平頂山學(xué)院 河南 平頂山 467000;2.鄭州大學(xué) 河南 鄭州 450001)

在某種程度上,軟件工程就是用一些支持即插即用軟件部件來(lái)組成應(yīng)用程序的一個(gè)過(guò)程,部件技術(shù)就是從一個(gè)部件庫(kù)中選擇一些部件,通過(guò)這些部件附帶的一些它能控制的屬性和行為與其他部件進(jìn)行聯(lián)系,通過(guò)組裝使這些部件組成一個(gè)新的應(yīng)用軟件。

隨著軟件技術(shù)的快速發(fā)展,基于部件開(kāi)發(fā)的軟件工程在建造復(fù)雜軟件中越來(lái)越發(fā)揮著重要的作用。目前的軟件開(kāi)發(fā)技術(shù)變得越來(lái)越復(fù)雜,一些新的應(yīng)用程序領(lǐng)域的需要也在不斷的增加,基于部件的軟件工程由于自身的低維護(hù)費(fèi)用和軟件產(chǎn)品的可靠性,成為實(shí)現(xiàn)這些高科技產(chǎn)品的一門關(guān)鍵技術(shù)。

1 通信軟件形式化部件設(shè)計(jì)

部件的重用是部件開(kāi)發(fā)的主要目標(biāo),開(kāi)發(fā)代價(jià)和重用效益是其主要的設(shè)計(jì)標(biāo)準(zhǔn),它們直接決定了軟件開(kāi)發(fā)的成本和效益目標(biāo),是確定部件開(kāi)發(fā)是否成功的主要標(biāo)準(zhǔn),文中分別討論這兩種標(biāo)準(zhǔn),以達(dá)到部件開(kāi)發(fā)的最優(yōu)化。

1.1 通信協(xié)議部件分層設(shè)計(jì)方法

部件的可用性是指該部件經(jīng)常被用到,并通過(guò)該部件支持的重用領(lǐng)域及其功能來(lái)評(píng)鑒該部件的可用性。可用性用來(lái)有效評(píng)估部件開(kāi)發(fā)的代價(jià)。

1)基于部件使用效益的分析

在一個(gè)系統(tǒng)領(lǐng)域部件開(kāi)發(fā)過(guò)程中,對(duì)于要開(kāi)發(fā)的部件必須考慮它的規(guī)模的大小,部件的類型,并參照它所處的支撐環(huán)境來(lái)定義所開(kāi)發(fā)部件所處的層次。比如,要對(duì)一個(gè)協(xié)議進(jìn)行開(kāi)發(fā),那它很可能就是一個(gè)系統(tǒng)部件的開(kāi)發(fā),如果使用的只是它的一個(gè)框架,可以只做系統(tǒng)層次上的設(shè)計(jì)和開(kāi)發(fā);而對(duì)于協(xié)議中的一個(gè)實(shí)體或者服務(wù),則可以使用較低一級(jí)的部件進(jìn)行開(kāi)發(fā),這樣就可以大大減少工作量,減少開(kāi)發(fā)冗余,增加部件開(kāi)發(fā)和使用的效率[1]。

2)基于效益和SDL語(yǔ)言的分層設(shè)計(jì)方法

對(duì)部件的規(guī)模和類型進(jìn)行評(píng)估,對(duì)部件進(jìn)行分層開(kāi)發(fā),可以提高部件開(kāi)發(fā)和使用的效率,分層就是采用對(duì)部件進(jìn)行不同級(jí)別的考慮和開(kāi)發(fā)而提高部件開(kāi)發(fā)效益的一種方法。

在通信軟件開(kāi)發(fā)中廣泛使用的形式化描述語(yǔ)言SDL也采用了分層的描述體制,SDL在協(xié)議描述過(guò)程中從系統(tǒng)結(jié)構(gòu)上把協(xié)議分為4個(gè)層次,即:系統(tǒng)級(jí)、功能級(jí)、進(jìn)程級(jí)、過(guò)程級(jí),它們是依次包含關(guān)系[2]。

在通信軟件部件開(kāi)發(fā)過(guò)程中,將此兩者結(jié)合起來(lái),文中提出一種新的設(shè)計(jì)方法,即基于效益和SDL語(yǔ)言的分層設(shè)計(jì)方法,在部件開(kāi)發(fā)的過(guò)程中,把部件開(kāi)發(fā)的級(jí)別也劃分為四級(jí),如圖1所示。

圖1 部件開(kāi)發(fā)等級(jí)Fig.1 Development level of component

在經(jīng)過(guò)SDL語(yǔ)言形式化描述之后,被描述的各個(gè)部分就可以被看做同等級(jí)別的部件而進(jìn)行開(kāi)發(fā),它在邏輯結(jié)構(gòu)上有了國(guó)際統(tǒng)一的標(biāo)準(zhǔn)指導(dǎo),保證了部件開(kāi)發(fā)的準(zhǔn)確性,還可以提高協(xié)議部件設(shè)計(jì)和開(kāi)發(fā)的效益。

1.2 通信軟件部件分級(jí)設(shè)計(jì)方法

重用代價(jià)是部件開(kāi)發(fā)的一個(gè)重要標(biāo)準(zhǔn),如何減少部件重用的代價(jià),成為部件開(kāi)發(fā)成功與否的一個(gè)關(guān)鍵問(wèn)題。分級(jí)設(shè)計(jì)方法主要是通過(guò)對(duì)需要開(kāi)發(fā)的部件所處某一領(lǐng)域及部件模型的分析和分解,通過(guò)隨開(kāi)發(fā)應(yīng)用的時(shí)間需求長(zhǎng)時(shí)期提高部件開(kāi)發(fā)的實(shí)例冗余來(lái)減少可變特征部分不必要的開(kāi)發(fā)來(lái)減少重用代價(jià)的。

1)部件重用代價(jià)的分析

在一個(gè)系統(tǒng)里用原有部件重用進(jìn)行合成過(guò)程中,原來(lái)的部件重用有3種形式:

直接重用,不經(jīng)過(guò)任何的修改;

經(jīng)過(guò)修改之后適合新的系統(tǒng);

沒(méi)有部件可以重用,需要完全重新開(kāi)發(fā)。

這3種形式組成了新的軟件需要的所有部分,它們的設(shè)計(jì)和開(kāi)發(fā)也就組成了部件庫(kù)重用代價(jià)的全部。

第3種形式是一個(gè)新的部件的設(shè)計(jì)過(guò)程,在它的設(shè)計(jì)和開(kāi)發(fā)之后,重用它的時(shí)候,它也可以分為前兩種形式,因此暫不考慮第3種形式。可以考慮開(kāi)發(fā)一個(gè)部件,它的重用只包括前兩種形式。根據(jù)這兩種形式,類似的可以把一個(gè)部件分為兩個(gè)部分:固定部分和可變部分,其中固定部分就是可以被直接重用的部分,可變部分就是可以修改或者認(rèn)為在重用過(guò)程中可取可不取的部分。如圖2所示。

圖2 部件開(kāi)發(fā)結(jié)構(gòu)Fig.2 Development of components structure

2)基于重用代價(jià)的分級(jí)設(shè)計(jì)方法

部件重用是部件開(kāi)發(fā)的最大動(dòng)力,是一個(gè)部件庫(kù)開(kāi)發(fā)的直接價(jià)值體現(xiàn)。因此部件重用的花費(fèi)也就成為部件開(kāi)發(fā)的一個(gè)最大指標(biāo)。根據(jù)以上部件重用代價(jià)的分析,為了降低部件開(kāi)發(fā)的成本,實(shí)現(xiàn)部件開(kāi)發(fā)的可用性,提出一種基于特征分解的分級(jí)設(shè)計(jì)方法[3]。

分級(jí)的方法是基于一個(gè)部件庫(kù)的方法,如圖3所示:在開(kāi)發(fā)一個(gè)新的部件模型或者具有新的特征的實(shí)例時(shí),不再是開(kāi)發(fā)和設(shè)計(jì)該部件的全部特征,而是要做以下兩方面的工作。

分解新部件,找出同類部件和部件模型中相似的部分,這部分可以直接參照部件庫(kù)其它部分的設(shè)計(jì),不需要重復(fù)設(shè)計(jì)和開(kāi)發(fā);

找出與其他個(gè)別部件公共的部分,把它變成新的次級(jí)固定部分,進(jìn)行設(shè)計(jì)和開(kāi)發(fā),補(bǔ)充部件庫(kù),不但提供該部件的使用,還為以后該部件模型中該特征的重用提供設(shè)計(jì)以節(jié)省重用費(fèi)用。

經(jīng)過(guò)以上2個(gè)步驟,不但該部件的開(kāi)發(fā)達(dá)到了開(kāi)發(fā)代價(jià)的最小化,還為以后同類型部件的設(shè)計(jì)和開(kāi)發(fā)提供了大量的相似部分特征。

圖3 部件特征分解Fig.3 Decomposition of components feature

基于代價(jià)重用最小化的部件分級(jí)設(shè)計(jì)方法可以使用以下的步驟:

①確定設(shè)計(jì)的部件領(lǐng)域,部件模型及重用的領(lǐng)域;

②對(duì)部件模型進(jìn)行分析,劃分為固定部分和可變部分,固定部分就是在該領(lǐng)域?qū)λ兄赜迷撃P偷牟考夹枰牟糠郑勺儾糠质窃擃I(lǐng)域該類部件有差異的部分或只有個(gè)別部件有的部分;

③把固定部分和可變部分轉(zhuǎn)化為該部件模型的特征,這樣一個(gè)部件的設(shè)計(jì)和開(kāi)發(fā)就可以看做該部件特征集合的設(shè)計(jì)和開(kāi)發(fā)。對(duì)部件進(jìn)行驗(yàn)證,看是否符合部件的特征、固定特征是否是該類部件的公共特征及可變部分是否可以提取出該類部件的共有特征;

④ 對(duì)可變特征進(jìn)行細(xì)化分解,找出共有特征,把它變成該類部件的次級(jí)固定特征;

⑤對(duì)部件的固定特征進(jìn)行設(shè)計(jì)和開(kāi)發(fā),對(duì)可變部分進(jìn)行設(shè)計(jì),在開(kāi)發(fā)的過(guò)程中通過(guò)該部件特征的實(shí)例化對(duì)固定特征可變特征進(jìn)行補(bǔ)充,對(duì)使用較多的部件特征也可以進(jìn)行開(kāi)發(fā)。盡量把可變部分轉(zhuǎn)化為固定部分。

⑥基于重用代價(jià)的分級(jí)設(shè)計(jì)方法通過(guò)整體上對(duì)一個(gè)部件模型的分解,結(jié)合該類部件的重用領(lǐng)域,對(duì)該部件劃分為固定特征和可變特征的方法來(lái)降低其開(kāi)發(fā)的成本。這種方法實(shí)際上是通過(guò)模型部件中該部件的設(shè)計(jì)分解和實(shí)例化開(kāi)發(fā)補(bǔ)充兩個(gè)步驟來(lái)降低其重用代價(jià)的。

1.3 通信軟件形式化部件設(shè)計(jì)方法

在通信軟件部件設(shè)計(jì)和開(kāi)發(fā)的過(guò)程中,對(duì)于一個(gè)部件的開(kāi)發(fā)是沒(méi)有意義的,開(kāi)發(fā)部件的目的就是為了提高協(xié)議或軟件開(kāi)發(fā)的效率,開(kāi)發(fā)部件就是在某一領(lǐng)域組建一個(gè)部件庫(kù)或者說(shuō)一個(gè)部件集合,以備軟件開(kāi)發(fā)中的重用,從而提高軟件開(kāi)發(fā)的效率。開(kāi)發(fā)部件都是基于開(kāi)發(fā)一類或一個(gè)領(lǐng)域的一個(gè)部件庫(kù)而言的,因此前面所提出的分層和分級(jí)方法是一個(gè)部件的設(shè)計(jì)方法,其實(shí)也是一個(gè)部件庫(kù)的設(shè)計(jì)開(kāi)發(fā)過(guò)程。因此說(shuō)部件的開(kāi)發(fā)和部件庫(kù)的開(kāi)發(fā)是有很大聯(lián)系的。

采用基于部件庫(kù)開(kāi)發(fā)的思路,結(jié)合分層和分級(jí)的方法,分別在橫(分級(jí))豎(分層)兩個(gè)方向上進(jìn)行考慮,提出一種新的二元設(shè)計(jì)方法,來(lái)滿足部件設(shè)計(jì)的目的。其步驟如下。

①當(dāng)給出一個(gè)協(xié)議時(shí)或其某一部分時(shí),結(jié)合原來(lái)通信協(xié)議部件庫(kù)中原有部件的描述特征,用SDL對(duì)其進(jìn)行描述,根據(jù)分層的機(jī)制確定它的類型,并進(jìn)行形式化的描述和設(shè)計(jì)。

②對(duì)要描述的部件利用分級(jí)方法進(jìn)行特征值分解,集合部件庫(kù)中其他部件的特征進(jìn)行適度開(kāi)發(fā),更新部件庫(kù)。

采用這種方法具有以下優(yōu)點(diǎn):

在第一步中進(jìn)行的形式化描述可以保證部件開(kāi)發(fā)的準(zhǔn)確性,無(wú)二義性等特征,從整體上利用SDL語(yǔ)言提供了一種國(guó)際標(biāo)準(zhǔn)規(guī)范;

對(duì)部件的設(shè)計(jì)利用分層分級(jí)的方法,采用“協(xié)議歸類,用則設(shè)計(jì),不用保留,不斷補(bǔ)充”的思路,極大的減少了部件開(kāi)發(fā)的冗余,提高了部件開(kāi)發(fā)和使用的效益。

在通信協(xié)議開(kāi)發(fā)的過(guò)程中,采用系統(tǒng)的高效的方法不但保證了協(xié)議開(kāi)發(fā)的準(zhǔn)確性,也可以大大提高協(xié)議的效率。根據(jù)以上的分析,在分層分級(jí)的部件二元設(shè)計(jì)方法的基礎(chǔ)上給出通信協(xié)議軟件開(kāi)發(fā)流程圖,如圖4所示。

圖4 形式化部件開(kāi)發(fā)方法Fig.4 Development method of formal component

①利用分層的概念定義基于部件開(kāi)發(fā)的范圍,內(nèi)外環(huán)境,建立一個(gè)架構(gòu)框架。部件開(kāi)發(fā)的范圍指部件開(kāi)發(fā)后的使用范圍,它對(duì)于部件功能的復(fù)雜性有重大影響。范圍越大,部件開(kāi)發(fā)考慮的因素就越多,部件重用組裝產(chǎn)生的冗余就越多。怎樣定義部件的適用范圍,必須考慮其適用范圍和開(kāi)發(fā)復(fù)雜度及重用冗余的平衡問(wèn)題。定義架構(gòu)框架主要指技術(shù)框架,包括以下兩部分[4]。

定義技術(shù)環(huán)境,主要包括開(kāi)發(fā)語(yǔ)言、部件模型、執(zhí)行環(huán)境、中間件及部件之間的互操作性等問(wèn)題。

定義軟件基礎(chǔ)設(shè)施及開(kāi)發(fā)標(biāo)準(zhǔn),包括采用何種方法進(jìn)行設(shè)計(jì)和標(biāo)準(zhǔn)化。對(duì)于通信協(xié)議部件,一般以RFC文檔作為開(kāi)發(fā)標(biāo)準(zhǔn),采用形式化描述語(yǔ)言SDL對(duì)部件進(jìn)行形式化描述和設(shè)計(jì)保證其正確性。

②對(duì)部件利用SDL語(yǔ)言進(jìn)行形式化描述,結(jié)合部件庫(kù)中原有部件的描述和設(shè)計(jì)來(lái)確定部件開(kāi)發(fā)的級(jí)別和必要性,定義即將使用的部件模型。主要包括在當(dāng)前部件開(kāi)發(fā)的內(nèi)外環(huán)境中,使用何種結(jié)構(gòu)有利于該領(lǐng)域部件的交互及部件之間的交互,在通信協(xié)議部件的設(shè)計(jì)和開(kāi)發(fā)上,一般采用分層的結(jié)構(gòu)。

③利用分級(jí)的概念定義部件內(nèi)部結(jié)構(gòu),包括部件的功能、業(yè)務(wù),進(jìn)行細(xì)分,利用特征值分解的方法確定固定部分和可變部分及其是否需要繼續(xù)分為更小的部件,畫(huà)出部件的功能明細(xì)圖。

在通信協(xié)議部件開(kāi)發(fā)的過(guò)程中,部件的內(nèi)部結(jié)構(gòu)主要包括部件具有的功能模塊,部件提供的服務(wù),部件接口等,它可以分為2個(gè)部分或根據(jù)需要進(jìn)行更細(xì)致的劃分。

列出部件的功能,利用形式化描述語(yǔ)言如有限狀態(tài)機(jī)等畫(huà)出其事務(wù)處理過(guò)程,詳細(xì)描述通信過(guò)程的接口并給出確切的定義。

④評(píng)價(jià)部件設(shè)計(jì)和開(kāi)發(fā)的適當(dāng)性。對(duì)設(shè)計(jì)的部件進(jìn)行技術(shù)可行性評(píng)估和效益代價(jià)評(píng)估,主要是部件開(kāi)發(fā)的細(xì)化和部件使用的頻繁化進(jìn)行協(xié)調(diào),原則上對(duì)不經(jīng)常使用的部件,只設(shè)計(jì)主要功能和接口,在開(kāi)發(fā)使用的過(guò)程中再進(jìn)行細(xì)化,對(duì)于經(jīng)常使用的部件進(jìn)行詳細(xì)的設(shè)計(jì)和開(kāi)發(fā),這樣就既考慮了部件開(kāi)發(fā)的效益問(wèn)題也考慮了部件開(kāi)發(fā)的使用問(wèn)題。

⑤ 組建部件庫(kù),使用科學(xué)的方法管理部件庫(kù),對(duì)存在的部件進(jìn)行更新和完善,對(duì)部件庫(kù)進(jìn)行補(bǔ)充和完善。

2 通信協(xié)議可重用部件庫(kù)建立與管理

2.1 通信協(xié)議可重用部件庫(kù)設(shè)計(jì)

部件庫(kù)的設(shè)計(jì)有很多種方法,為了使結(jié)構(gòu)更清晰、搜索更方便,在部件設(shè)計(jì)時(shí)在部件庫(kù)組織中把部件分為3個(gè)部分:名稱標(biāo)記,關(guān)鍵字及簡(jiǎn)述,主體設(shè)計(jì)[5]。

1)在名稱標(biāo)記中,采用分級(jí)定義法。即對(duì)于部件名稱標(biāo)記采用一種規(guī)范,規(guī)范如下:

部件名稱標(biāo)記的組成有七部分組成,依次為:部件層次名稱,協(xié)議名稱,功能部件名稱,進(jìn)程部件名稱,過(guò)程部件名稱,注釋,參數(shù)。其中注釋寫(xiě)在[]內(nèi),參數(shù)寫(xiě)在()內(nèi),各部分用下劃線連接,系統(tǒng)部件名稱寫(xiě)在注釋[]內(nèi),可以用來(lái)表明該部件能夠使用的系統(tǒng)。

例如:fun_sip_ua_transaction_receive[ua_ua](msg),fun 表示部件層次為功能級(jí),sip表示協(xié)議,ua表示功能部件名稱,transaction表示進(jìn)程部件名稱,receive表示過(guò)程部件名稱,ua_ua可以表示在端到端SIP系統(tǒng)中,msg是參數(shù)。

各個(gè)部分如果缺省(表示該級(jí)別通用)可用x代替。第一個(gè)參數(shù)(部件層次)不能缺省,當(dāng)名稱標(biāo)記的7個(gè)部分不夠時(shí),從前向后依次確認(rèn),后面缺省默認(rèn)為通用(即_x)。

例如:fun_sip_ua_transaction[]()是對(duì)于事務(wù)進(jìn)程的所有功能而言的。

注釋和參數(shù)可以缺省。

例如:fun_sip_ua_transaction_receive,表示該部件暫時(shí)不需要參數(shù)。

2)關(guān)鍵字及簡(jiǎn)述關(guān)鍵字主要是在部件使用時(shí)便于用戶的選擇及部件庫(kù)的整合管理工作,對(duì)于用戶尋找類似信息提供方便,部件庫(kù)管理者則可以更方便對(duì)部件進(jìn)行統(tǒng)計(jì)分類。

3)主體設(shè)計(jì)主要是部件的各種功能設(shè)計(jì),包括主要功能設(shè)計(jì)、接口設(shè)計(jì)等。

2.2 通信協(xié)議可重用部件庫(kù)建立與管理

1)部件庫(kù)的建立及檢索

依照上述的部件設(shè)計(jì)規(guī)范,把部件庫(kù)建立起來(lái),可以根據(jù)多重方式進(jìn)行檢索,在建立的部件庫(kù)中,在設(shè)計(jì)時(shí)就潛在的提供了一種檢索或查詢的方法,就是基于部件命名標(biāo)記的關(guān)鍵字檢索方法,在部件庫(kù)的管理中,根據(jù)部件命名標(biāo)記中的七部分標(biāo)示,可以設(shè)置成多條件查詢,對(duì)使用者和管理者提供很多的方便。

另一種方法就是關(guān)鍵字和簡(jiǎn)述中進(jìn)行關(guān)鍵字檢索,找出含有關(guān)鍵字的所有部件,根據(jù)需要就行使用或修改[6]。

2)部件庫(kù)的管理

對(duì)部件庫(kù)的管理主要是需要一定的專業(yè)人員對(duì)部件庫(kù)進(jìn)行不斷的更新和維護(hù),用戶在使用過(guò)程中總結(jié)出的經(jīng)驗(yàn)和提出的意見(jiàn)對(duì)部件庫(kù)的更新具有重要的作用,要保持一個(gè)部件庫(kù)強(qiáng)大的功能,必須與時(shí)俱進(jìn),與不斷的協(xié)議更新相同步。

3 結(jié)束語(yǔ)

文中首先探討了通信協(xié)議部件開(kāi)發(fā)的必要性,就軟件開(kāi)發(fā)中部件開(kāi)發(fā)一般考慮的因素,結(jié)合通信協(xié)議部件的特征[7],提出通信協(xié)議部件開(kāi)發(fā)應(yīng)考慮的一些附加因素,分析了部件開(kāi)發(fā)的代價(jià)和效益,結(jié)合形式化方法中的SDL描述語(yǔ)言,提出了一種新的部件設(shè)計(jì)概念,即分層和分級(jí)的方法;最后提出部件庫(kù)設(shè)計(jì)的一種規(guī)范,并建立部件庫(kù)。

[1]潘紅艷,于全.用于通信網(wǎng)絡(luò)協(xié)議開(kāi)發(fā)的形式化方法[J].計(jì)算機(jī)工程,2004,30(2):129-130.

PAN Hong-yan,YU Quan.Formal method for the development of communication network protocols[J].Computer Engineering,2004,30(2):129-130.

[2]王穎,倪朝,艾波.SDL形式語(yǔ)義定義現(xiàn)狀及其改進(jìn)[J].通信學(xué)報(bào),2000,21(4):75-79.

WANG Ying,NI Chao,AI Bo.Formal semantic definition of SDL[J].Journal of communication,2000,21(4):75-79.

[3]宋茂強(qiáng).通信軟件設(shè)計(jì)基礎(chǔ)[M].北京:北京郵電大學(xué)出版社,2001.

[4]Katharine Whitehead.基于部件開(kāi)發(fā)[M].北京:人民郵電出版社,2003.

[5]李臘元.通信協(xié)議形式化模型的研究[J].計(jì)算機(jī)學(xué)報(bào),1998,21(5):419-427.

LI La-yuan.Research on formal models of communication protocols[J].Chinese Journal of computers,1998,21(5):419-427.

[6]Peter Maurer.部件級(jí)編程[M].北京:清華大學(xué)出版社,2003.

[7]李杰,王航.一種基于ModBus總線的通信方案探討[J].工業(yè)儀表與自動(dòng)化裝置,2012(4):101-104.

LI Jie,WANG Hang.One kind of explore of communication scheme based on ModBus[J].Industrial Instrumentation&Automation,2012(4):101-104.

猜你喜歡
特征方法設(shè)計(jì)
如何表達(dá)“特征”
不忠誠(chéng)的四個(gè)特征
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
抓住特征巧觀察
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚(yú)
線性代數(shù)的應(yīng)用特征
河南科技(2014年23期)2014-02-27 14:19:15
主站蜘蛛池模板: 中文字幕在线观| 国产粉嫩粉嫩的18在线播放91| 国产黑丝视频在线观看| 无码国产伊人| 天天爽免费视频| 人人澡人人爽欧美一区| 全部免费特黄特色大片视频| 久久综合九九亚洲一区| 欧美中文字幕一区二区三区| 日本91在线| 久久99热66这里只有精品一| 99久久精品国产麻豆婷婷| 国产成人精品视频一区二区电影| 五月婷婷导航| 99久久精品久久久久久婷婷| 亚洲精品成人片在线播放| 99精品免费在线| 伊人大杳蕉中文无码| 特级做a爰片毛片免费69| 欧美成在线视频| 国产日本欧美亚洲精品视| a级毛片网| 最新日本中文字幕| 色综合综合网| 亚洲第一色网站| 日韩在线播放欧美字幕| 久久精品国产精品一区二区| 91热爆在线| 国产丝袜第一页| 三上悠亚在线精品二区| 国产乱子伦手机在线| 亚洲AⅤ无码日韩AV无码网站| 亚洲不卡无码av中文字幕| 伊人福利视频| 人人爽人人爽人人片| 国产手机在线小视频免费观看| 国产一二三区视频| 亚洲女人在线| 美女被操黄色视频网站| 国产一级妓女av网站| 91蝌蚪视频在线观看| 人妻一区二区三区无码精品一区| 99久久精品美女高潮喷水| 午夜无码一区二区三区在线app| 国产成人在线无码免费视频| 99精品在线视频观看| 福利在线不卡| 精品久久高清| 欧美久久网| 在线免费观看AV| 亚洲中文无码av永久伊人| 九色综合视频网| 日韩免费毛片视频| 在线观看亚洲天堂| 99re在线观看视频| 欧美色伊人| 亚洲欧美成aⅴ人在线观看| 色爽网免费视频| 久久成人免费| 国产成人AV综合久久| 国产乱子伦一区二区=| 人人艹人人爽| 亚洲最新网址| 99在线观看视频免费| 一本大道无码日韩精品影视| 一级毛片在线播放| 亚洲人在线| 亚洲国产91人成在线| 国产一级无码不卡视频| 91视频99| 亚洲精品视频免费看| 2021精品国产自在现线看| 青青草综合网| 亚洲成a人片在线观看88| 婷婷六月色| 亚洲av日韩av制服丝袜| 亚洲Aⅴ无码专区在线观看q| 不卡色老大久久综合网| 欧美亚洲国产一区| 亚洲色图欧美视频| 国内自拍久第一页| 欧美国产日韩在线|