• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種面向數(shù)據(jù)流的軟件設(shè)計(jì)方法及其工具實(shí)現(xiàn)

    2020-12-29 11:57:50姜玨祝義王瑋印嬋張穎
    電腦知識(shí)與技術(shù) 2020年32期
    關(guān)鍵詞:轉(zhuǎn)換數(shù)據(jù)流

    姜玨 祝義 王瑋 印嬋 張穎

    摘要:針對(duì)面向數(shù)據(jù)流的軟件設(shè)計(jì)方法缺乏有效的數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖的轉(zhuǎn)換工具問題,提出了面向數(shù)據(jù)流的軟件設(shè)計(jì)方法并開發(fā)出了相應(yīng)工具。首先,討論了對(duì)用戶繪制的數(shù)據(jù)流圖進(jìn)行存儲(chǔ)的方法;其次,給出了數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖轉(zhuǎn)換的系列算法;最后,通過Java語言實(shí)現(xiàn)了數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖轉(zhuǎn)換的原型系統(tǒng)。實(shí)驗(yàn)表明該系統(tǒng)能夠根據(jù)用戶輸入的數(shù)據(jù)流圖生成滿足用戶需求的軟件結(jié)構(gòu)圖,從而能夠從根本上提高面向數(shù)據(jù)流的軟件設(shè)計(jì)方法的效率。

    關(guān)鍵詞:數(shù)據(jù)流;軟件結(jié)構(gòu)圖;轉(zhuǎn)換;原型系統(tǒng);功能性測(cè)試

    中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

    文章編號(hào):1009-3044(2020)32-0086-04

    Abstract: Aim to data flow-oriented design lacks the transformation tool from dataflow diagram to software architecture diagram, this paper proposes data flow-oriented software design method and develops the corresponding tool. Firstly, a method is discussed to store data flow diagram which is input by the user. Secondly, a series of algorithms is given for the transformation from the data flow diagram to a software architecture diagram. Lastly, a prototype system is implemented for transforming the data flow diagram to a software architecture diagram. The experiments show that the software architecture diagram can be generated according to the dataflow diagram which is input by users, so it can improve the efficiency of data flow-oriented method.

    Key words: data flow; software structure diagram; transformation; prototype system; functional test

    1 背景

    需求階段和設(shè)計(jì)階段是軟件生命周期的兩個(gè)重要階段:需求階段主要關(guān)注如何描述問題空間,而設(shè)計(jì)階段則主要關(guān)注如何描述解空間[1-2]。自軟件危機(jī)以來,軟件的規(guī)模愈來愈大,需求到設(shè)計(jì)階段的重要性也越來越高,設(shè)計(jì)的失誤與變動(dòng)往往需要很大的代價(jià)去維護(hù)[3]。在進(jìn)行大型軟件開發(fā)時(shí),需求和設(shè)計(jì)階段需要進(jìn)行反復(fù)迭代與驗(yàn)證,直到設(shè)計(jì)能很好地支撐后續(xù)的軟件開發(fā)[4-5]。

    在面向數(shù)據(jù)流設(shè)計(jì)的方法中,數(shù)據(jù)流圖(Data Flow Diagram, DFD)到軟件結(jié)構(gòu)圖(Software Structure Diagram, SSD)的轉(zhuǎn)換是舉足輕重的環(huán)節(jié),數(shù)據(jù)流圖和軟件結(jié)構(gòu)圖分別是需求階段和設(shè)計(jì)階段的制品,對(duì)后續(xù)的軟件開發(fā)十分重要[6-7]。但是目前未知,簡(jiǎn)單易用的轉(zhuǎn)換工具還沒有開發(fā)出來,導(dǎo)致數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖的轉(zhuǎn)換迄今為止還是建立在設(shè)計(jì)人員的設(shè)計(jì)經(jīng)驗(yàn)上,以人為的方式進(jìn)行著[8-9]。

    數(shù)據(jù)流圖分為事務(wù)型和變換型,事務(wù)型的轉(zhuǎn)換比較簡(jiǎn)單,并且在實(shí)際中變換型的數(shù)據(jù)流圖使用更為廣泛,所以本文將主要針對(duì)變換型的數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖的轉(zhuǎn)換展開研究,并給出行之有效的分析與設(shè)計(jì)方法,在此基礎(chǔ)上開發(fā)一個(gè)原型系統(tǒng),以期為設(shè)計(jì)和開發(fā)高質(zhì)量的現(xiàn)代大型復(fù)雜軟件系統(tǒng)提供堅(jiān)實(shí)的理論基礎(chǔ)和相應(yīng)的工具支持。

    本文將研究數(shù)據(jù)流圖到結(jié)構(gòu)圖的轉(zhuǎn)換,從而實(shí)現(xiàn)面向數(shù)據(jù)流的軟件設(shè)計(jì)方法,并在此基礎(chǔ)上設(shè)計(jì)相應(yīng)的轉(zhuǎn)換工具。

    2 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    基于模型轉(zhuǎn)換的數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖的轉(zhuǎn)換系統(tǒng)的開發(fā)過程分為以下幾個(gè)階段。

    2.1 需求分析

    2.1.1 數(shù)據(jù)流圖的繪制存儲(chǔ)

    數(shù)據(jù)流圖是一種圖形化技術(shù),是系統(tǒng)邏輯功能的圖形表示,它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中所經(jīng)受的變換。包含4種基本符號(hào),正方形(或立方體)表示數(shù)據(jù)的源點(diǎn)和終點(diǎn),圓形(或圓角矩形)代表變換數(shù)據(jù)的處理,兩條平行橫線(或開口矩形)代表數(shù)據(jù)存儲(chǔ),箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向[10-11]。

    為了完成數(shù)據(jù)流圖的繪制,系統(tǒng)需要包含繪制模塊,提供繪制面板以及繪制以上4種基本符號(hào)的方法,同時(shí)實(shí)現(xiàn)對(duì)圖形的細(xì)化處理,實(shí)現(xiàn)以下功能:

    1)對(duì)選定圖形進(jìn)行拖動(dòng);

    2)對(duì)選定圖形進(jìn)行大小調(diào)整;

    3)對(duì)選定圖形進(jìn)行添加文字。

    此外,為了降低系統(tǒng)的耦合度,并且保證繪制的數(shù)據(jù)流圖能夠持久使用,還需實(shí)現(xiàn)將繪制的數(shù)據(jù)流圖,以一定的形式保存到本地的功能。

    2.1.2 數(shù)據(jù)流圖轉(zhuǎn)換為軟件結(jié)構(gòu)圖

    設(shè)計(jì)轉(zhuǎn)換算法,讀取本地保存的數(shù)據(jù)流圖,并進(jìn)行解析,實(shí)現(xiàn)與代碼進(jìn)行對(duì)接,完成數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖的轉(zhuǎn)換,保存轉(zhuǎn)換后的數(shù)據(jù)到本地。

    2.1.3 顯示軟件結(jié)構(gòu)圖

    實(shí)現(xiàn)顯示和修改軟件結(jié)構(gòu)圖功能。反編譯轉(zhuǎn)換后的數(shù)據(jù),通過繪制模塊,將轉(zhuǎn)換算法輸出的數(shù)據(jù)進(jìn)行映射顯示,得到軟件結(jié)構(gòu)圖,同時(shí),用戶可對(duì)得到的軟件結(jié)構(gòu)圖進(jìn)行修改調(diào)整,得到合適的軟件結(jié)構(gòu)圖,最后還需實(shí)現(xiàn)將軟件結(jié)構(gòu)圖以一定的形式保存到本地的功能。

    2.2 原型系統(tǒng)設(shè)計(jì)

    2.2.1 輸入模塊

    輸入模塊采用主流的繪畫界面設(shè)計(jì),用戶可以用拖曳圖形的方式自由繪制數(shù)據(jù)流圖,繪圖界面會(huì)為用戶提供基本繪制圖形??蚣軐?shí)現(xiàn)了拖曳、縮放、旋轉(zhuǎn)、自定義屬性等基礎(chǔ)操作,開發(fā)者只用關(guān)心圖表繪畫實(shí)現(xiàn)即可。

    由于系統(tǒng)無法對(duì)處理元素進(jìn)行細(xì)分,因此在繪圖界面需要用戶自主選擇處理元素是輸入子元素,處理子元素還是輸出子元素。在用戶繪制數(shù)據(jù)流圖時(shí),每新建的一個(gè)結(jié)點(diǎn)或邊,都會(huì)隨機(jī)生成ID,用于區(qū)分每個(gè)元素,便于后臺(tái)轉(zhuǎn)換處理。

    輸入模塊將用戶繪制的數(shù)據(jù)流圖以json的格式保存至本地,轉(zhuǎn)換模塊只需讀取解析本地的json文件進(jìn)行處理,前后臺(tái)的工作任務(wù)相對(duì)較為獨(dú)立。

    輸入模塊的繪制流程圖如圖1所示。

    2.2.2 轉(zhuǎn)換模塊

    轉(zhuǎn)換模塊采用JAVA語言,根據(jù)數(shù)據(jù)流圖的json對(duì)象編寫一個(gè)實(shí)體類用于接收整個(gè)數(shù)據(jù)流圖,此類中包含所有結(jié)點(diǎn)和邊的信息、隨機(jī)生成的ID號(hào)。掃描類對(duì)象的所有節(jié)點(diǎn)后,構(gòu)造出對(duì)應(yīng)十字鏈表的所有包含源結(jié)點(diǎn)信息的新結(jié)點(diǎn),同時(shí)根據(jù)類對(duì)象中所有邊結(jié)點(diǎn)的弧頭弧尾信息構(gòu)造十字鏈表。將存儲(chǔ)著整張數(shù)據(jù)流圖的十字鏈表轉(zhuǎn)換成樹后,以樹的形式存儲(chǔ)軟件結(jié)構(gòu)圖并將其投影至用戶界面。

    2.2.3 輸出模塊

    輸出模塊的過程是輸入模塊的逆序執(zhí)行過程,將軟件結(jié)構(gòu)圖對(duì)應(yīng)的樹轉(zhuǎn)換的對(duì)象反編譯后以json文件的形式保存本地。在此過程中,根據(jù)類對(duì)象中每個(gè)結(jié)點(diǎn)的信息計(jì)算出它們的投影坐標(biāo),后續(xù)任務(wù)按照順序執(zhí)行即可。用戶可以在前臺(tái)讀取文件,進(jìn)一步顯示軟件結(jié)構(gòu)圖。

    2.2.4 編碼實(shí)現(xiàn)

    1)轉(zhuǎn)換模塊核心代碼:

    構(gòu)造十字鏈表

    public static OLGraph getOLGraph(DFD dfd){

    OLGraph graph = new OLGraph();

    graph.setNodeNum(dfd.getNodes().size());

    graph.setArcNum(dfd.getLines().size());

    Map map = new HashMap<>();

    for (int i = 0; i < dfd.getNodes().size() ; i++) {

    NodesEntity nodeEntity = dfd.getNodes().get(i);

    Node node = new Node(nodeEntity.getId(),nodeEntity.getText(),ClassifyType.getType(nodeEntity),null,null);

    graph.getNodes().add(node);

    map.put(node.getId(),node);

    if(node.getType().equals("origin"))

    graph.getOrigins().add(node);

    }

    for (int i = 0; i < dfd.getLines().size(); i++) {

    LinesEntity lineEntity = dfd.getLines().get(i);

    Node tail = map.get(lineEntity.getFrom().getId());

    Node head = map.get(lineEntity.getTo().getId());

    Arc arc = new Arc(tail,head,null,null,lineEntity.getText());

    構(gòu)造出度 將這條邊放在相同弧尾的邊節(jié)點(diǎn)后

    Arc tailArc = tail.getFirstout();

    Arc tailLink = null;

    if(tailArc==null) {

    tail.setFirstout(arc);

    }

    else{

    tailLink = tailArc.getTlink();

    while (tailLink!=null){

    tailArc=tailLink;

    tailLink=tailLink.getTlink();

    }

    tailArc.setTlink(arc);

    }

    構(gòu)造入度 將這條邊放在相同弧尾的邊節(jié)點(diǎn)后

    Arc headArc = head.getFirstin();

    Arc headLink = null;

    if(headArc==null) {

    head.setFirstin(arc);

    }

    else{

    headLink = headArc.getHlink();

    while (headLink!=null){

    headArc=headLink;

    headLink=headLink.getHlink();

    }

    headArc.setHlink(arc);

    }

    }

    return graph;

    }

    十字鏈表轉(zhuǎn)換成樹

    public static ChildTree getTree(OLGraph olGraph) {

    第一遍遍歷構(gòu)造input模塊

    for (Node origin : olGraph.getOrigins()) {

    拿到input頭節(jié)點(diǎn)

    CTNode pre = tree.getNodes().get(1);

    DFSTraverse1(pre, origin);

    }

    第二遍遍歷構(gòu)造process模塊和output模塊

    set = new HashSet<>();

    for (Node node : input) {

    pre1是process頭節(jié)點(diǎn) pre2是output頭節(jié)點(diǎn)

    CTNode pre1 = tree.getNodes().get(2);

    CTNode pre2 = tree.getNodes().get(3);

    DFSTraverse2(pre1, pre2, node);

    }

    逆置樹的input模塊的結(jié)點(diǎn)

    ReverInput(tree);

    return tree;

    }

    2)輸出模塊核心代碼

    input模塊的所有節(jié)點(diǎn)構(gòu)造

    Queue queue = new LinkedList<>();

    queue.add(input);

    int inputLayer = -1 ;? ? 當(dāng)前遍歷到input的層數(shù)

    int inputIndex = 0 ;? ? 當(dāng)前遍歷到該層的第幾個(gè)

    while (!queue.isEmpty()){

    int size = queue.size();

    inputLayer++;

    inputIndex = 0;

    int layer = inputLayerCount.get(inputLayer);? 當(dāng)前層數(shù)的節(jié)點(diǎn)個(gè)數(shù)

    int start = 0;

    if(layer!=inputMaxLayer)

    start = (inputX - inputWidth/2) +( (inputMaxLayer - layer) * 150 + (? (inputMaxLayer - layer) * 50 ) )/ 2 + 75;

    else

    start = inputX - inputWidth/2 + 75;

    for(int i = 0 ; i < size ;i++){

    CTNode node = queue.poll();

    if(node.getId().equals(input.getId())){

    NodesEntity inputEntity = getNodeEntity(inputX, inputY, tree.getNodes().get(1));

    dfd.getNodes().add(inputEntity);

    map.put(inputEntity.getId(),inputEntity);

    CTArc child = node.getFirstChild();

    while(child != null){

    queue.add(child.getTo());

    child = child.getLink();

    }

    }

    else {

    inputIndex++;

    int? x = start + (inputIndex - 1) * 150 + (inputIndex - 1) * 50;

    int y = inputLayer * 150 + inputY ;

    NodesEntity nodeEntity = getNodeEntity(x, y, node);

    dfd.getNodes().add(nodeEntity);

    map.put(nodeEntity.getId(),nodeEntity);

    CTArc child = node.getFirstChild();

    while(child != null){

    queue.add(child.getTo());

    child = child.getLink();

    }

    }

    }

    }

    構(gòu)造邊節(jié)點(diǎn)

    Set arcSet = tree.getArcSet();

    for (CTArc ctArc : arcSet) {

    dfd.getLines().add(getLineEntity(ctArc));

    }

    2.3 系統(tǒng)測(cè)試結(jié)果

    圖2是一個(gè)銀行存取款系統(tǒng)的數(shù)據(jù)流圖。

    經(jīng)過原型系統(tǒng)的轉(zhuǎn)換后,圖3軟件結(jié)構(gòu)圖如下所示。

    3 結(jié)束語

    本文主要研究了數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖的轉(zhuǎn)化,并開發(fā)一個(gè)原型系統(tǒng)。首先我們了解了數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖的轉(zhuǎn)換方法研究現(xiàn)狀和相關(guān)背景。然后,我們對(duì)此項(xiàng)目進(jìn)行了需求分析。接下來,我們?cè)谙到y(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程中主要分析了輸入、轉(zhuǎn)換、輸出三大模塊的內(nèi)容,并且展示了相關(guān)核心代碼。最后,我們對(duì)已完成的原型系統(tǒng)進(jìn)行功能性測(cè)試。測(cè)試結(jié)果正確,我們展示了測(cè)試所用的數(shù)據(jù)流圖和得出的軟件結(jié)構(gòu)圖。此測(cè)試結(jié)果證明了本文實(shí)現(xiàn)了從數(shù)據(jù)流圖到軟件結(jié)構(gòu)圖的轉(zhuǎn)化。

    參考文獻(xiàn):

    [1] 祝義.嵌入式軟件需求規(guī)約到軟件體系結(jié)構(gòu)模型的轉(zhuǎn)換研究[D].南京:南京航空航天大學(xué),2011.

    [2] 梅宏,申峻嶸.軟件體系結(jié)構(gòu)研究進(jìn)展[J].軟件學(xué)報(bào),2006,17(6):1257-1275.

    [3] Svetinovic D.Architecture-level requirements specification[J].Second International Workshop from Software Requirements to Architectures (STRAW'03),2003:14-19.

    [4] Hong M.A complementary approach to requirements engineering—software architecture orientation[J].ACM SIGSOFT Software Engineering Notes,2000,25(2):40-45.

    [5] Hofmeister C,Nord R,Soni D.Applied Software Architecture[M].Boston: Addison-Wesley Professional, 2010.

    [6] Zhang W,Mei H,Zhao H Y,et al.Transformation from CIM to PIM:A feature-oriented component-based approach[M]//Model Driven Engineering Languages and Systems.Berlin,Heidelberg:Springer Berlin Heidelberg,2005:248-263.

    [7] Medvidovic N,Dashofy E M,Taylor R N.The role of middleware in architecture-based software development[J].International Journal of Software Engineering and Knowledge Engineering,2003,13(4):367-393.

    [8] Rajasree M S,Reddy P K,Janakiram D.Pattern oriented software development: Moving seamlessly from requirements to architecture[C]//Proc. of the 2nd International Software Requirements to Architectures Workshop, 2013:54-60.

    [9] Brandozzi M,Perry D E.From goal-oriented requirements to architectural prescriptions: The preskriptor process[C]//Proc. of the 2nd International Software Requirements to Architectures Workshop, 2013: 107-113.

    [10] Shao W Z. Object Oriented System Analysis[M]. Beijing: Tsinghua University Press, 2008.

    [11] Buhr R J A.Use case maps as architectural entities for complex systems[J].IEEE Transactions on Software Engineering,1998,24(12):1131-1155.

    【通聯(lián)編輯:謝媛媛】

    猜你喜歡
    轉(zhuǎn)換數(shù)據(jù)流
    汽車維修數(shù)據(jù)流基礎(chǔ)(上)
    汽車維修數(shù)據(jù)流基礎(chǔ)(下)
    一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
    淺議長(zhǎng)期股權(quán)投資核算方法的轉(zhuǎn)換
    對(duì)當(dāng)代書法藝術(shù)性的思考
    大數(shù)據(jù)時(shí)代檔案管理模式的轉(zhuǎn)換與創(chuàng)新
    資治文摘(2016年7期)2016-11-23 02:29:01
    論英漢語翻譯中語內(nèi)翻譯向語際翻譯的轉(zhuǎn)換
    淺談平面圖與立體圖的思維培養(yǎng)
    人間(2016年28期)2016-11-10 00:10:48
    高中化學(xué)教學(xué)中研究性學(xué)習(xí)的應(yīng)用探究
    成才之路(2016年25期)2016-10-08 10:51:36
    基于數(shù)據(jù)流的結(jié)構(gòu)化功能安全分析方法
    黄色片一级片一级黄色片| 草草在线视频免费看| 亚洲中文字幕一区二区三区有码在线看 | 最好的美女福利视频网| 日韩中文字幕欧美一区二区| 久久精品亚洲精品国产色婷小说| 精品久久久久久久久久久久久| 在线观看日韩欧美| 一夜夜www| 十八禁网站免费在线| 美女大奶头视频| 亚洲中文字幕日韩| 很黄的视频免费| 国产熟女午夜一区二区三区| 久久久久久大精品| 亚洲国产欧洲综合997久久,| 色噜噜av男人的天堂激情| av欧美777| 成人特级黄色片久久久久久久| 中文字幕高清在线视频| 蜜桃久久精品国产亚洲av| 最近在线观看免费完整版| 亚洲一码二码三码区别大吗| 老鸭窝网址在线观看| 国产高清有码在线观看视频 | 午夜福利在线在线| 男女下面进入的视频免费午夜| 国产精品日韩av在线免费观看| 丝袜人妻中文字幕| 在线观看免费午夜福利视频| 成年免费大片在线观看| 国产高清videossex| 日韩国内少妇激情av| www.自偷自拍.com| 天堂动漫精品| 制服丝袜大香蕉在线| 禁无遮挡网站| 丰满人妻熟妇乱又伦精品不卡| 国产伦一二天堂av在线观看| 每晚都被弄得嗷嗷叫到高潮| 999久久久精品免费观看国产| 亚洲中文字幕一区二区三区有码在线看 | 国产高清视频在线播放一区| 日本熟妇午夜| 亚洲精品av麻豆狂野| 正在播放国产对白刺激| 少妇的丰满在线观看| 很黄的视频免费| 黄色片一级片一级黄色片| 99在线视频只有这里精品首页| 最近最新免费中文字幕在线| 大型av网站在线播放| 成在线人永久免费视频| 亚洲精品美女久久久久99蜜臀| 亚洲美女视频黄频| 亚洲美女黄片视频| 99久久久亚洲精品蜜臀av| 国产精品98久久久久久宅男小说| netflix在线观看网站| 国内精品久久久久精免费| 欧美国产日韩亚洲一区| 狂野欧美激情性xxxx| 欧美黄色淫秽网站| 欧美日韩亚洲国产一区二区在线观看| 老司机午夜十八禁免费视频| 老司机午夜十八禁免费视频| 国产成人av教育| 亚洲成av人片免费观看| 69av精品久久久久久| 国产精品av久久久久免费| 波多野结衣高清作品| 免费在线观看完整版高清| 亚洲男人天堂网一区| 美女黄网站色视频| 日韩欧美三级三区| 91麻豆精品激情在线观看国产| 男女下面进入的视频免费午夜| 久久这里只有精品中国| 色噜噜av男人的天堂激情| 国产一区二区在线观看日韩 | 午夜亚洲福利在线播放| 亚洲精品中文字幕一二三四区| 最近最新中文字幕大全免费视频| 淫秽高清视频在线观看| 日本一二三区视频观看| 操出白浆在线播放| 国产精品美女特级片免费视频播放器 | 丰满的人妻完整版| 精品乱码久久久久久99久播| 国产91精品成人一区二区三区| 男人舔女人下体高潮全视频| 日韩欧美精品v在线| 又粗又爽又猛毛片免费看| 精品国产超薄肉色丝袜足j| 老司机在亚洲福利影院| 99久久99久久久精品蜜桃| 亚洲av中文字字幕乱码综合| 久久热在线av| 最新美女视频免费是黄的| √禁漫天堂资源中文www| 久久人妻av系列| 日韩欧美国产在线观看| 欧美最黄视频在线播放免费| 午夜精品一区二区三区免费看| 在线观看66精品国产| 国产精品免费视频内射| 国产高清视频在线播放一区| 欧美+亚洲+日韩+国产| 一a级毛片在线观看| 日韩 欧美 亚洲 中文字幕| 国产精品香港三级国产av潘金莲| 1024香蕉在线观看| 99在线人妻在线中文字幕| 香蕉av资源在线| 亚洲精品国产精品久久久不卡| 日本 欧美在线| 亚洲国产中文字幕在线视频| 成人永久免费在线观看视频| 人人妻,人人澡人人爽秒播| 国产精品一区二区三区四区久久| 国产精品久久视频播放| 两人在一起打扑克的视频| 精品国内亚洲2022精品成人| 亚洲一区中文字幕在线| 日韩免费av在线播放| 一区福利在线观看| 国产精品九九99| 99久久无色码亚洲精品果冻| 一本久久中文字幕| 日本一本二区三区精品| 不卡av一区二区三区| 最好的美女福利视频网| 国产91精品成人一区二区三区| 国产av不卡久久| 99久久无色码亚洲精品果冻| 精品无人区乱码1区二区| 人妻丰满熟妇av一区二区三区| 小说图片视频综合网站| 国产av在哪里看| 无遮挡黄片免费观看| 国产主播在线观看一区二区| 床上黄色一级片| 18美女黄网站色大片免费观看| 国产区一区二久久| 校园春色视频在线观看| 丰满人妻熟妇乱又伦精品不卡| 亚洲欧美日韩高清在线视频| 国产成人精品久久二区二区免费| 欧美日韩国产亚洲二区| av免费在线观看网站| 欧美又色又爽又黄视频| 88av欧美| 亚洲精品美女久久av网站| 久久久久久久午夜电影| 亚洲人成77777在线视频| 亚洲性夜色夜夜综合| 久久人妻福利社区极品人妻图片| 一夜夜www| 国产精品 国内视频| 久久久久久久精品吃奶| 男女视频在线观看网站免费 | 欧洲精品卡2卡3卡4卡5卡区| 观看免费一级毛片| 久久人妻av系列| 黄色a级毛片大全视频| 免费在线观看日本一区| 国产亚洲精品一区二区www| 无限看片的www在线观看| 岛国在线观看网站| av福利片在线观看| 亚洲中文字幕一区二区三区有码在线看 | 久久香蕉激情| 国产成人av教育| 老司机福利观看| 亚洲国产精品久久男人天堂| 91大片在线观看| 丁香六月欧美| 国产午夜精品论理片| 亚洲成人久久性| av在线播放免费不卡| 亚洲av成人av| 免费搜索国产男女视频| 日本一区二区免费在线视频| 精品久久久久久久久久久久久| 啦啦啦韩国在线观看视频| 成年版毛片免费区| 欧美又色又爽又黄视频| 国产精品一及| 国产精品av久久久久免费| 日本一二三区视频观看| 色综合欧美亚洲国产小说| 精品一区二区三区av网在线观看| 国产伦在线观看视频一区| 精品不卡国产一区二区三区| 国产av在哪里看| 久久久国产精品麻豆| 搡老妇女老女人老熟妇| 一边摸一边抽搐一进一小说| 国产亚洲欧美98| 人妻丰满熟妇av一区二区三区| 成年版毛片免费区| 欧美+亚洲+日韩+国产| 国产精品久久久人人做人人爽| 九色成人免费人妻av| 国产成人精品久久二区二区91| 又大又爽又粗| 国产麻豆成人av免费视频| 又爽又黄无遮挡网站| 国产激情欧美一区二区| 女同久久另类99精品国产91| 美女午夜性视频免费| 国产三级黄色录像| 大型av网站在线播放| 欧美性猛交黑人性爽| 色综合站精品国产| 男插女下体视频免费在线播放| 久久久国产成人精品二区| 久久久精品大字幕| 欧美激情久久久久久爽电影| 18禁观看日本| 一区福利在线观看| 国产亚洲欧美在线一区二区| 狠狠狠狠99中文字幕| 一级作爱视频免费观看| 国产69精品久久久久777片 | 日韩大码丰满熟妇| 女警被强在线播放| 91麻豆av在线| 黑人欧美特级aaaaaa片| 亚洲精品久久国产高清桃花| 午夜福利视频1000在线观看| 国产日本99.免费观看| 欧美大码av| 久久精品国产综合久久久| 午夜激情av网站| 日韩精品青青久久久久久| 欧美午夜高清在线| 舔av片在线| 久久久久久久精品吃奶| 国产熟女午夜一区二区三区| 亚洲精品av麻豆狂野| 午夜福利高清视频| 国产一区二区在线av高清观看| а√天堂www在线а√下载| 国产亚洲av嫩草精品影院| 亚洲欧美精品综合久久99| 国产av麻豆久久久久久久| 久热爱精品视频在线9| 亚洲精品一区av在线观看| 黄片小视频在线播放| 久久久久久久精品吃奶| e午夜精品久久久久久久| 国产探花在线观看一区二区| 一级黄色大片毛片| 精华霜和精华液先用哪个| 一个人免费在线观看电影 | 欧美成人一区二区免费高清观看 | 午夜老司机福利片| 啦啦啦韩国在线观看视频| 一边摸一边做爽爽视频免费| 国产高清激情床上av| 免费观看人在逋| 一进一出抽搐动态| 男女那种视频在线观看| 免费在线观看视频国产中文字幕亚洲| 97碰自拍视频| 88av欧美| 母亲3免费完整高清在线观看| 97超级碰碰碰精品色视频在线观看| 午夜成年电影在线免费观看| 91九色精品人成在线观看| 午夜影院日韩av| 亚洲狠狠婷婷综合久久图片| 国产成人aa在线观看| 日韩大尺度精品在线看网址| 三级国产精品欧美在线观看 | 天天躁夜夜躁狠狠躁躁| 国产高清激情床上av| 久久人妻福利社区极品人妻图片| 免费在线观看黄色视频的| 成人18禁在线播放| 国产乱人伦免费视频| 无遮挡黄片免费观看| 国产午夜精品久久久久久| 免费人成视频x8x8入口观看| 国产成人欧美在线观看| 国产激情偷乱视频一区二区| 一边摸一边做爽爽视频免费| 国产免费av片在线观看野外av| 少妇裸体淫交视频免费看高清 | 国内久久婷婷六月综合欲色啪| 一本综合久久免费| 999久久久国产精品视频| 中文字幕人妻丝袜一区二区| 国产真实乱freesex| 麻豆一二三区av精品| 国产精品久久久av美女十八| 丝袜人妻中文字幕| 亚洲人成网站高清观看| 在线观看免费视频日本深夜| 国产私拍福利视频在线观看| 午夜老司机福利片| 国产精品乱码一区二三区的特点| 免费av毛片视频| 两性夫妻黄色片| 波多野结衣巨乳人妻| 搡老岳熟女国产| 成人手机av| 成人18禁高潮啪啪吃奶动态图| 变态另类成人亚洲欧美熟女| 宅男免费午夜| 精品久久久久久久末码| 一卡2卡三卡四卡精品乱码亚洲| 搞女人的毛片| 欧美av亚洲av综合av国产av| 制服丝袜大香蕉在线| 99久久精品国产亚洲精品| 欧美乱码精品一区二区三区| 国产男靠女视频免费网站| 国产三级黄色录像| 国产精品一区二区三区四区久久| 成人午夜高清在线视频| 蜜桃久久精品国产亚洲av| 手机成人av网站| 在线视频色国产色| 一夜夜www| 久久久久国产一级毛片高清牌| 国产成人精品久久二区二区免费| 一区二区三区高清视频在线| 免费在线观看完整版高清| 18美女黄网站色大片免费观看| 午夜成年电影在线免费观看| 免费无遮挡裸体视频| 午夜福利欧美成人| 国产成人精品久久二区二区91| 桃色一区二区三区在线观看| 日韩欧美在线乱码| 此物有八面人人有两片| 欧美性猛交黑人性爽| 久久久国产成人精品二区| 两性午夜刺激爽爽歪歪视频在线观看 | 日本五十路高清| av有码第一页| 97超级碰碰碰精品色视频在线观看| 国产亚洲精品av在线| 国产一区在线观看成人免费| 国产成人影院久久av| 脱女人内裤的视频| 女人高潮潮喷娇喘18禁视频| 51午夜福利影视在线观看| 亚洲人成网站高清观看| 久久精品人妻少妇| 久久久国产精品麻豆| 国产区一区二久久| 不卡av一区二区三区| 精品国产美女av久久久久小说| 男人的好看免费观看在线视频 | 大型黄色视频在线免费观看| 国产精品精品国产色婷婷| 国产真实乱freesex| 国内精品一区二区在线观看| 久久精品国产清高在天天线| 久99久视频精品免费| 午夜激情av网站| 久久久水蜜桃国产精品网| 久久性视频一级片| 精品国内亚洲2022精品成人| 国产真人三级小视频在线观看| 亚洲人成电影免费在线| 岛国在线观看网站| 美女高潮喷水抽搐中文字幕| 毛片女人毛片| 久久午夜综合久久蜜桃| 熟女电影av网| 久久精品国产清高在天天线| 又大又爽又粗| 欧美最黄视频在线播放免费| 日本免费一区二区三区高清不卡| 麻豆国产97在线/欧美 | 成人18禁高潮啪啪吃奶动态图| 欧美日韩黄片免| 18禁美女被吸乳视频| 国产精品永久免费网站| 老汉色∧v一级毛片| 舔av片在线| 成人亚洲精品av一区二区| 亚洲中文字幕日韩| 国产一区二区在线av高清观看| 国产精品亚洲av一区麻豆| av免费在线观看网站| 亚洲av日韩精品久久久久久密| 可以免费在线观看a视频的电影网站| 欧美精品亚洲一区二区| 亚洲国产欧洲综合997久久,| 一进一出抽搐动态| 亚洲专区字幕在线| av在线播放免费不卡| 男人的好看免费观看在线视频 | 色噜噜av男人的天堂激情| 国模一区二区三区四区视频 | √禁漫天堂资源中文www| 精品少妇一区二区三区视频日本电影| 在线永久观看黄色视频| 国产av又大| 午夜日韩欧美国产| 亚洲国产精品sss在线观看| 1024视频免费在线观看| 夜夜躁狠狠躁天天躁| 男人舔女人的私密视频| 国产精品自产拍在线观看55亚洲| 成年女人毛片免费观看观看9| 亚洲av五月六月丁香网| 丰满人妻一区二区三区视频av | 亚洲欧洲精品一区二区精品久久久| 久久婷婷成人综合色麻豆| 香蕉丝袜av| 欧美久久黑人一区二区| 婷婷精品国产亚洲av在线| 欧美黑人巨大hd| 国产精品野战在线观看| 99re在线观看精品视频| 男人的好看免费观看在线视频 | АⅤ资源中文在线天堂| 在线看三级毛片| 色哟哟哟哟哟哟| 国产精品久久久久久人妻精品电影| 看免费av毛片| 村上凉子中文字幕在线| 男人的好看免费观看在线视频 | 天天躁夜夜躁狠狠躁躁| 日韩欧美免费精品| 精品久久久久久成人av| 在线十欧美十亚洲十日本专区| 深夜精品福利| 又爽又黄无遮挡网站| 国产高清视频在线播放一区| cao死你这个sao货| 黄色毛片三级朝国网站| 国产精品久久久久久精品电影| 免费在线观看成人毛片| 999久久久精品免费观看国产| 日韩欧美免费精品| 久久国产精品人妻蜜桃| 啦啦啦观看免费观看视频高清| 99re在线观看精品视频| 男插女下体视频免费在线播放| 欧美乱码精品一区二区三区| 黄色女人牲交| 后天国语完整版免费观看| 精品久久久久久久人妻蜜臀av| 亚洲成人中文字幕在线播放| 午夜精品久久久久久毛片777| 国产黄片美女视频| 一个人免费在线观看的高清视频| 国产av一区在线观看免费| 国产精品久久久久久亚洲av鲁大| 这个男人来自地球电影免费观看| 91九色精品人成在线观看| 免费av毛片视频| 欧美色欧美亚洲另类二区| 国产一区二区三区视频了| 18禁美女被吸乳视频| 亚洲精品av麻豆狂野| 两个人免费观看高清视频| 久久这里只有精品19| 一区二区三区激情视频| 岛国在线免费视频观看| 成人欧美大片| 日韩欧美一区二区三区在线观看| 亚洲人成伊人成综合网2020| av福利片在线观看| 久久久精品欧美日韩精品| 中文在线观看免费www的网站 | 一个人观看的视频www高清免费观看 | 1024香蕉在线观看| 久久精品国产99精品国产亚洲性色| 国产精品影院久久| 久久这里只有精品19| 又粗又爽又猛毛片免费看| 日韩有码中文字幕| 黑人巨大精品欧美一区二区mp4| 亚洲av日韩精品久久久久久密| 日本在线视频免费播放| 亚洲精品一区av在线观看| 久久午夜亚洲精品久久| 婷婷精品国产亚洲av| 久久久久久亚洲精品国产蜜桃av| 免费一级毛片在线播放高清视频| 一a级毛片在线观看| 18禁黄网站禁片午夜丰满| 女同久久另类99精品国产91| 日韩av在线大香蕉| 亚洲中文日韩欧美视频| 亚洲av美国av| √禁漫天堂资源中文www| 亚洲成人精品中文字幕电影| 一级作爱视频免费观看| 麻豆成人av在线观看| 欧美日韩亚洲综合一区二区三区_| 精品国内亚洲2022精品成人| 一进一出好大好爽视频| 婷婷丁香在线五月| www.自偷自拍.com| 一级作爱视频免费观看| 国产精品免费视频内射| 18禁美女被吸乳视频| 99久久99久久久精品蜜桃| 在线免费观看的www视频| 欧美日韩亚洲国产一区二区在线观看| 嫩草影视91久久| 成人av在线播放网站| 一边摸一边做爽爽视频免费| 岛国在线免费视频观看| 色综合婷婷激情| 亚洲男人天堂网一区| 99热这里只有精品一区 | 日韩欧美在线二视频| 人人妻人人澡欧美一区二区| 久久九九热精品免费| 国产黄片美女视频| 久久人妻福利社区极品人妻图片| 国产激情偷乱视频一区二区| 午夜a级毛片| 国产单亲对白刺激| 波多野结衣高清无吗| 亚洲色图 男人天堂 中文字幕| 手机成人av网站| 男女之事视频高清在线观看| 国产1区2区3区精品| 午夜免费观看网址| 成熟少妇高潮喷水视频| av中文乱码字幕在线| 国产成人aa在线观看| 欧美三级亚洲精品| 麻豆av在线久日| 国产精品国产高清国产av| 国内毛片毛片毛片毛片毛片| 可以在线观看毛片的网站| 1024香蕉在线观看| 国产精品久久电影中文字幕| 2021天堂中文幕一二区在线观| 国产成人aa在线观看| 999精品在线视频| 午夜免费激情av| 黄色成人免费大全| 成人午夜高清在线视频| 国产精品亚洲美女久久久| 欧美性猛交黑人性爽| 精品国内亚洲2022精品成人| 亚洲,欧美精品.| 在线播放国产精品三级| 久久精品夜夜夜夜夜久久蜜豆 | 人人妻人人看人人澡| 国产一区二区激情短视频| 91老司机精品| 精品国产美女av久久久久小说| 午夜成年电影在线免费观看| 午夜a级毛片| 一卡2卡三卡四卡精品乱码亚洲| 亚洲成人中文字幕在线播放| 性欧美人与动物交配| 搡老岳熟女国产| 久久草成人影院| 天天躁狠狠躁夜夜躁狠狠躁| 久久久久久亚洲精品国产蜜桃av| 欧美又色又爽又黄视频| 精品久久久久久久末码| 亚洲国产欧美网| 亚洲av成人av| 精品国产乱子伦一区二区三区| 日韩欧美三级三区| 一本精品99久久精品77| 国产三级中文精品| 久久精品91无色码中文字幕| 国产黄片美女视频| 久久久久久国产a免费观看| 亚洲av电影不卡..在线观看| 少妇人妻一区二区三区视频| 成人国语在线视频| 村上凉子中文字幕在线| 国产区一区二久久| 人人妻人人澡欧美一区二区| 日本撒尿小便嘘嘘汇集6| 午夜免费成人在线视频| 美女 人体艺术 gogo| 久久精品人妻少妇| 久久久精品国产亚洲av高清涩受| 国产三级中文精品| 老司机午夜十八禁免费视频| 婷婷精品国产亚洲av在线| 亚洲欧美激情综合另类| 亚洲乱码一区二区免费版| 欧美黄色淫秽网站| 欧美在线黄色| 美女扒开内裤让男人捅视频| 亚洲美女视频黄频| 久久久久精品国产欧美久久久| 男人舔女人的私密视频| 久久久精品国产亚洲av高清涩受| 午夜免费成人在线视频| 国产69精品久久久久777片 | 伊人久久大香线蕉亚洲五| 无人区码免费观看不卡| 久久欧美精品欧美久久欧美| av片东京热男人的天堂| 最好的美女福利视频网| 精品欧美一区二区三区在线| 99re在线观看精品视频| 午夜成年电影在线免费观看| 久久天堂一区二区三区四区| 国产精品一区二区免费欧美| 99精品欧美一区二区三区四区| 看免费av毛片| 欧美日韩中文字幕国产精品一区二区三区| 看黄色毛片网站|