• <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)化功能安全分析方法
    欧美性感艳星| 妹子高潮喷水视频| 久久精品国产亚洲av天美| 精品久久久噜噜| 亚洲精华国产精华液的使用体验| 亚洲精品视频女| 国内揄拍国产精品人妻在线| 一级毛片电影观看| h视频一区二区三区| 国产黄片美女视频| 99热国产这里只有精品6| 亚洲综合色惰| 久久韩国三级中文字幕| 男人狂女人下面高潮的视频| 亚洲国产精品999| 欧美极品一区二区三区四区| 欧美一级a爱片免费观看看| 久久久久久久亚洲中文字幕| 99精国产麻豆久久婷婷| 日本av免费视频播放| 精品一区在线观看国产| 热99国产精品久久久久久7| 国产精品国产三级国产专区5o| 欧美成人午夜免费资源| 三级国产精品片| 免费高清在线观看视频在线观看| 人人妻人人澡人人爽人人夜夜| 国产成人精品一,二区| 黄色视频在线播放观看不卡| 精品国产三级普通话版| 内地一区二区视频在线| 高清av免费在线| 少妇高潮的动态图| 久久久久久人妻| 久久国产亚洲av麻豆专区| 久久久国产一区二区| 亚洲欧美成人综合另类久久久| 国产av码专区亚洲av| 岛国毛片在线播放| 欧美97在线视频| 精品亚洲乱码少妇综合久久| 国产精品一区www在线观看| 插阴视频在线观看视频| 最后的刺客免费高清国语| 大片免费播放器 马上看| 国产精品熟女久久久久浪| 极品教师在线视频| 国产色婷婷99| 亚洲av成人精品一区久久| 亚洲精品国产av蜜桃| 水蜜桃什么品种好| 精品人妻一区二区三区麻豆| 亚洲丝袜综合中文字幕| 久久久精品免费免费高清| 深爱激情五月婷婷| 国产成人精品福利久久| 国产中年淑女户外野战色| 欧美高清性xxxxhd video| 蜜桃在线观看..| 在线观看国产h片| 亚洲最大成人中文| 久久97久久精品| 日本av免费视频播放| 三级国产精品片| 国产爱豆传媒在线观看| 亚洲国产高清在线一区二区三| 黑人猛操日本美女一级片| 国产精品偷伦视频观看了| 这个男人来自地球电影免费观看 | 国产熟女欧美一区二区| 三级经典国产精品| 国产精品久久久久久久电影| 精品人妻视频免费看| 久久女婷五月综合色啪小说| 精品国产一区二区三区久久久樱花 | 青青草视频在线视频观看| 美女福利国产在线 | 国产精品熟女久久久久浪| 黑人猛操日本美女一级片| 天堂中文最新版在线下载| 国产成人免费无遮挡视频| 日韩一本色道免费dvd| 午夜福利在线在线| av又黄又爽大尺度在线免费看| 亚洲自偷自拍三级| 久久韩国三级中文字幕| 51国产日韩欧美| 中文字幕免费在线视频6| 国产色婷婷99| 国产精品.久久久| 精品国产一区二区三区久久久樱花 | 国产伦精品一区二区三区四那| 人妻 亚洲 视频| 成人影院久久| 男人舔奶头视频| 久久久久久久国产电影| 日韩三级伦理在线观看| 国产午夜精品久久久久久一区二区三区| videos熟女内射| 久久精品国产亚洲网站| 天美传媒精品一区二区| 日日撸夜夜添| 日韩国内少妇激情av| av线在线观看网站| 亚洲精品国产av蜜桃| 欧美极品一区二区三区四区| 一级av片app| 最后的刺客免费高清国语| 国产一区亚洲一区在线观看| 国产视频首页在线观看| 黄色视频在线播放观看不卡| 久久精品熟女亚洲av麻豆精品| 亚洲中文av在线| 国产精品国产三级专区第一集| 欧美高清性xxxxhd video| 女人久久www免费人成看片| 亚洲精品久久久久久婷婷小说| 日日撸夜夜添| 丰满少妇做爰视频| 高清毛片免费看| 直男gayav资源| h视频一区二区三区| 亚洲欧美精品自产自拍| 亚洲精品色激情综合| 91在线精品国自产拍蜜月| 丝袜脚勾引网站| 蜜桃亚洲精品一区二区三区| 中国美白少妇内射xxxbb| 精品一区二区三卡| 成人二区视频| 热re99久久精品国产66热6| 国产色爽女视频免费观看| 国产精品.久久久| 夜夜看夜夜爽夜夜摸| 成人午夜精彩视频在线观看| 国产精品蜜桃在线观看| 最近最新中文字幕大全电影3| 国产成人精品福利久久| 国产一区二区在线观看日韩| 久久精品久久精品一区二区三区| 丝瓜视频免费看黄片| 国产精品.久久久| 赤兔流量卡办理| 夜夜看夜夜爽夜夜摸| 日韩不卡一区二区三区视频在线| 男男h啪啪无遮挡| 久久精品夜色国产| 三级国产精品片| 麻豆成人av视频| 欧美精品人与动牲交sv欧美| 国产精品欧美亚洲77777| 亚洲高清免费不卡视频| 日韩成人av中文字幕在线观看| 啦啦啦啦在线视频资源| 国产成人午夜福利电影在线观看| 欧美亚洲 丝袜 人妻 在线| 五月玫瑰六月丁香| 国产淫片久久久久久久久| 国产精品国产av在线观看| 精品熟女少妇av免费看| 日日撸夜夜添| 99九九线精品视频在线观看视频| 久久久久国产精品人妻一区二区| 成人午夜精彩视频在线观看| 亚洲欧洲国产日韩| 男人和女人高潮做爰伦理| a级一级毛片免费在线观看| 国产免费福利视频在线观看| 国产精品人妻久久久影院| 精品少妇久久久久久888优播| 亚洲综合精品二区| 国产成人精品婷婷| 日韩中文字幕视频在线看片 | videos熟女内射| 交换朋友夫妻互换小说| 亚洲精品,欧美精品| 91精品国产国语对白视频| 男人和女人高潮做爰伦理| 大片免费播放器 马上看| 麻豆精品久久久久久蜜桃| 国产高清三级在线| 性色av一级| 高清欧美精品videossex| 香蕉精品网在线| 欧美+日韩+精品| 欧美精品人与动牲交sv欧美| 精品久久久久久电影网| 秋霞在线观看毛片| 免费av中文字幕在线| 欧美成人一区二区免费高清观看| 精品99又大又爽又粗少妇毛片| 色视频www国产| 在现免费观看毛片| 成人美女网站在线观看视频| 22中文网久久字幕| 国产亚洲最大av| 午夜福利影视在线免费观看| 亚洲欧美日韩东京热| 亚洲熟女精品中文字幕| 国产成人免费无遮挡视频| 国产精品伦人一区二区| 不卡视频在线观看欧美| 中文字幕av成人在线电影| 亚洲aⅴ乱码一区二区在线播放| 亚洲成人一二三区av| 91精品一卡2卡3卡4卡| 2022亚洲国产成人精品| 超碰av人人做人人爽久久| 最后的刺客免费高清国语| 午夜精品国产一区二区电影| 国产日韩欧美在线精品| 国产日韩欧美在线精品| 国产爱豆传媒在线观看| 国产精品福利在线免费观看| 国产精品人妻久久久久久| 纯流量卡能插随身wifi吗| 一级爰片在线观看| 久久久欧美国产精品| 中国美白少妇内射xxxbb| 久久久久久人妻| 精品99又大又爽又粗少妇毛片| av福利片在线观看| 国产成人91sexporn| 麻豆成人午夜福利视频| 中文资源天堂在线| 国产真实伦视频高清在线观看| 久久久久久久精品精品| 午夜精品国产一区二区电影| 国产av精品麻豆| 国产精品三级大全| 狂野欧美激情性bbbbbb| 伦精品一区二区三区| av国产免费在线观看| 亚洲国产精品国产精品| 国产在线视频一区二区| 午夜激情久久久久久久| 国产人妻一区二区三区在| 小蜜桃在线观看免费完整版高清| 国产真实伦视频高清在线观看| 久久精品久久精品一区二区三区| 成人一区二区视频在线观看| 男女边摸边吃奶| 狂野欧美激情性xxxx在线观看| 麻豆乱淫一区二区| 国产在线免费精品| 久久久久久久久久人人人人人人| 自拍偷自拍亚洲精品老妇| 偷拍熟女少妇极品色| 妹子高潮喷水视频| av天堂中文字幕网| 午夜福利在线在线| 狂野欧美激情性xxxx在线观看| 久热久热在线精品观看| 肉色欧美久久久久久久蜜桃| 欧美少妇被猛烈插入视频| 国产亚洲精品久久久com| www.av在线官网国产| 国内揄拍国产精品人妻在线| av卡一久久| 中文字幕人妻熟人妻熟丝袜美| 夜夜看夜夜爽夜夜摸| 看非洲黑人一级黄片| 男人和女人高潮做爰伦理| 亚洲国产成人一精品久久久| 免费少妇av软件| 欧美日韩一区二区视频在线观看视频在线| 成人特级av手机在线观看| 国产无遮挡羞羞视频在线观看| 久久av网站| 一区二区av电影网| 精品人妻熟女av久视频| 久久久久久久久久久免费av| 亚洲欧美一区二区三区黑人 | 亚洲欧美日韩无卡精品| 亚洲综合精品二区| 一级爰片在线观看| 亚洲精品自拍成人| 久久6这里有精品| 尤物成人国产欧美一区二区三区| 亚洲国产精品999| xxx大片免费视频| 99热这里只有精品一区| av免费观看日本| videossex国产| 一个人免费看片子| 1000部很黄的大片| 99久久精品国产国产毛片| 国产又色又爽无遮挡免| 亚洲第一区二区三区不卡| 免费不卡的大黄色大毛片视频在线观看| 男人和女人高潮做爰伦理| 人人妻人人澡人人爽人人夜夜| 亚洲av电影在线观看一区二区三区| 日韩视频在线欧美| 丰满人妻一区二区三区视频av| 国产欧美日韩一区二区三区在线 | 婷婷色av中文字幕| h视频一区二区三区| 国产伦精品一区二区三区视频9| 男人爽女人下面视频在线观看| 日日摸夜夜添夜夜添av毛片| 色婷婷av一区二区三区视频| 国产精品久久久久久精品电影小说 | 日韩av不卡免费在线播放| 狂野欧美激情性xxxx在线观看| 亚洲国产成人一精品久久久| 欧美精品人与动牲交sv欧美| 毛片一级片免费看久久久久| 九九爱精品视频在线观看| 97超碰精品成人国产| 免费观看av网站的网址| 久久久成人免费电影| 午夜福利视频精品| 欧美变态另类bdsm刘玥| 又大又黄又爽视频免费| 97精品久久久久久久久久精品| 国产精品人妻久久久久久| 91aial.com中文字幕在线观看| 91精品国产国语对白视频| 18禁动态无遮挡网站| 国产成人午夜福利电影在线观看| 国产精品偷伦视频观看了| 亚洲高清免费不卡视频| 日韩欧美一区视频在线观看 | 美女脱内裤让男人舔精品视频| 九色成人免费人妻av| 国产精品一二三区在线看| 国产精品一区二区性色av| 亚洲欧美日韩卡通动漫| 美女中出高潮动态图| 亚洲一区二区三区欧美精品| 精品一区在线观看国产| 插阴视频在线观看视频| 大又大粗又爽又黄少妇毛片口| 深夜a级毛片| 一本一本综合久久| 不卡视频在线观看欧美| 亚洲怡红院男人天堂| 日本色播在线视频| xxx大片免费视频| 一级二级三级毛片免费看| 国产精品嫩草影院av在线观看| 免费人成在线观看视频色| 这个男人来自地球电影免费观看 | h视频一区二区三区| 国产精品福利在线免费观看| 热99国产精品久久久久久7| av在线老鸭窝| 日韩三级伦理在线观看| 晚上一个人看的免费电影| 免费观看av网站的网址| 国产高清有码在线观看视频| 免费少妇av软件| 各种免费的搞黄视频| 久久人人爽人人片av| 成人亚洲欧美一区二区av| 欧美国产精品一级二级三级 | av黄色大香蕉| 午夜福利在线在线| 性色avwww在线观看| 网址你懂的国产日韩在线| 日韩av免费高清视频| 晚上一个人看的免费电影| 久久午夜福利片| 亚洲国产精品国产精品| 亚洲精品日韩av片在线观看| 国精品久久久久久国模美| 久久久久性生活片| 成人高潮视频无遮挡免费网站| 一本—道久久a久久精品蜜桃钙片| a级毛色黄片| 午夜免费男女啪啪视频观看| 男女啪啪激烈高潮av片| 国产精品秋霞免费鲁丝片| 啦啦啦视频在线资源免费观看| 中文字幕人妻熟人妻熟丝袜美| 久久99精品国语久久久| 亚洲四区av| 成年女人在线观看亚洲视频| 大话2 男鬼变身卡| 久久精品国产自在天天线| 国产淫片久久久久久久久| 亚洲精华国产精华液的使用体验| 亚洲激情五月婷婷啪啪| 成人18禁高潮啪啪吃奶动态图 | 久久精品熟女亚洲av麻豆精品| 亚洲电影在线观看av| av又黄又爽大尺度在线免费看| 美女高潮的动态| 国产av码专区亚洲av| 99九九线精品视频在线观看视频| 国产色爽女视频免费观看| 黄片wwwwww| 狂野欧美激情性bbbbbb| 亚洲电影在线观看av| 午夜老司机福利剧场| 免费黄频网站在线观看国产| 色综合色国产| 国产真实伦视频高清在线观看| 色视频在线一区二区三区| 亚洲精品456在线播放app| 久久精品国产亚洲av涩爱| av免费观看日本| a级毛片免费高清观看在线播放| a 毛片基地| 国产又色又爽无遮挡免| 亚洲一级一片aⅴ在线观看| 91精品国产九色| 国内少妇人妻偷人精品xxx网站| 国产免费一区二区三区四区乱码| 午夜视频国产福利| 又大又黄又爽视频免费| 国产日韩欧美亚洲二区| 精品国产三级普通话版| 亚洲av免费高清在线观看| 亚洲无线观看免费| 欧美国产精品一级二级三级 | 亚洲国产毛片av蜜桃av| 国产精品无大码| 水蜜桃什么品种好| 国产精品久久久久久久电影| 亚洲色图综合在线观看| 在线观看一区二区三区激情| 免费观看a级毛片全部| 国产人妻一区二区三区在| 99精国产麻豆久久婷婷| 国产成人免费无遮挡视频| 91精品一卡2卡3卡4卡| 日日撸夜夜添| 欧美 日韩 精品 国产| 婷婷色综合大香蕉| 亚洲精品第二区| 亚洲国产高清在线一区二区三| 久久 成人 亚洲| 亚洲欧美成人精品一区二区| 18禁裸乳无遮挡动漫免费视频| 建设人人有责人人尽责人人享有的 | 直男gayav资源| 久久国产乱子免费精品| 丝袜脚勾引网站| 一级毛片黄色毛片免费观看视频| 啦啦啦视频在线资源免费观看| 欧美成人午夜免费资源| 日本-黄色视频高清免费观看| 国产成人91sexporn| 一本一本综合久久| 午夜免费观看性视频| 只有这里有精品99| 精品少妇久久久久久888优播| 欧美变态另类bdsm刘玥| 大香蕉97超碰在线| 中文资源天堂在线| 99久久中文字幕三级久久日本| 色视频www国产| 亚洲成人中文字幕在线播放| 纯流量卡能插随身wifi吗| 少妇丰满av| 欧美成人午夜免费资源| 爱豆传媒免费全集在线观看| 中文字幕久久专区| 精品一区在线观看国产| 欧美高清成人免费视频www| 免费av中文字幕在线| 午夜免费观看性视频| 麻豆国产97在线/欧美| 日韩在线高清观看一区二区三区| 久久99热这里只频精品6学生| 亚洲中文av在线| 午夜老司机福利剧场| 在线看a的网站| 亚洲欧美日韩另类电影网站 | 高清午夜精品一区二区三区| 久久久久精品性色| 国产精品福利在线免费观看| 国产爽快片一区二区三区| 最近最新中文字幕免费大全7| 欧美一级a爱片免费观看看| 国产视频首页在线观看| 在线精品无人区一区二区三 | 大话2 男鬼变身卡| 亚洲精品第二区| 久久国产乱子免费精品| 亚洲精品乱码久久久v下载方式| 大码成人一级视频| 91精品一卡2卡3卡4卡| 少妇猛男粗大的猛烈进出视频| 黄色日韩在线| 国产淫片久久久久久久久| 午夜福利在线在线| 精品99又大又爽又粗少妇毛片| 成人国产av品久久久| 日韩中文字幕视频在线看片 | 少妇猛男粗大的猛烈进出视频| 精品熟女少妇av免费看| 亚洲欧美日韩另类电影网站 | 热re99久久精品国产66热6| 精品国产乱码久久久久久小说| 国产高清三级在线| 久久ye,这里只有精品| 五月开心婷婷网| 大香蕉97超碰在线| 日本与韩国留学比较| 国产久久久一区二区三区| xxx大片免费视频| 国产精品人妻久久久久久| 久久97久久精品| 日本免费在线观看一区| 亚洲欧美日韩另类电影网站 | 亚洲精品中文字幕在线视频 | 国产亚洲最大av| 欧美激情国产日韩精品一区| 一区二区三区乱码不卡18| 精品人妻偷拍中文字幕| 国产v大片淫在线免费观看| 亚洲成人中文字幕在线播放| av黄色大香蕉| 男女国产视频网站| 波野结衣二区三区在线| 亚洲欧美一区二区三区国产| 又大又黄又爽视频免费| 男人添女人高潮全过程视频| 啦啦啦中文免费视频观看日本| 国产熟女欧美一区二区| 亚洲精品成人av观看孕妇| 少妇丰满av| 成人一区二区视频在线观看| 精品少妇久久久久久888优播| 人体艺术视频欧美日本| 午夜激情福利司机影院| 成人国产麻豆网| 成年女人在线观看亚洲视频| 精品少妇久久久久久888优播| 欧美区成人在线视频| 51国产日韩欧美| 免费播放大片免费观看视频在线观看| 一级毛片aaaaaa免费看小| 久久6这里有精品| 国产精品久久久久久久电影| 麻豆乱淫一区二区| 精品一区二区免费观看| 国产在线男女| 午夜福利视频精品| 亚洲精品亚洲一区二区| 丝瓜视频免费看黄片| 精品久久久久久久久av| 看十八女毛片水多多多| 97精品久久久久久久久久精品| 精品国产乱码久久久久久小说| 精品一品国产午夜福利视频| 一区二区三区四区激情视频| 在线看a的网站| 女的被弄到高潮叫床怎么办| 国产男人的电影天堂91| 国产一区二区三区综合在线观看 | 91aial.com中文字幕在线观看| 国产日韩欧美亚洲二区| 我要看日韩黄色一级片| 99精国产麻豆久久婷婷| 国产69精品久久久久777片| 国产成人免费观看mmmm| 欧美日本视频| 一级毛片我不卡| 日产精品乱码卡一卡2卡三| 极品少妇高潮喷水抽搐| 国产精品一区二区在线不卡| 人体艺术视频欧美日本| 妹子高潮喷水视频| 国产精品人妻久久久影院| 欧美人与善性xxx| 老司机影院成人| 久久精品久久久久久噜噜老黄| 免费人成在线观看视频色| 欧美zozozo另类| 日韩人妻高清精品专区| av黄色大香蕉| 综合色丁香网| 成人毛片a级毛片在线播放| 午夜精品国产一区二区电影| 精品久久久久久久久av| av福利片在线观看| 天堂俺去俺来也www色官网| 五月玫瑰六月丁香| 国产精品.久久久| 欧美xxxx性猛交bbbb| 亚洲国产精品专区欧美| 中国美白少妇内射xxxbb| 亚洲欧美清纯卡通| 哪个播放器可以免费观看大片| 成人综合一区亚洲| 久久6这里有精品| 亚洲精品日韩在线中文字幕| av黄色大香蕉| 日本av手机在线免费观看| 身体一侧抽搐| 亚洲精品国产av蜜桃| 免费久久久久久久精品成人欧美视频 | 80岁老熟妇乱子伦牲交| 卡戴珊不雅视频在线播放| 午夜福利高清视频| 黄色视频在线播放观看不卡| 精品久久久久久久久亚洲| 小蜜桃在线观看免费完整版高清| 91精品伊人久久大香线蕉| av在线观看视频网站免费| tube8黄色片| 亚洲欧美日韩卡通动漫| av网站免费在线观看视频| av黄色大香蕉| 免费观看性生交大片5| 99re6热这里在线精品视频| 搡老乐熟女国产| 久热这里只有精品99| 日韩中字成人| 啦啦啦视频在线资源免费观看| av线在线观看网站|