日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于用例的工作量估计

發布時間:2024/1/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于用例的工作量估计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

級別: 初級

John Smith, 技術工程師

2005 年 1 月 01 日

本文描述了基于用例進行評估的一個框架。為了使描述更加具體,本文為框架的參數選擇了一些值,盡管這些值有待于論證,但它們并不總是錯誤的。像往常一樣,隨著數據的搜集,這種估計應該根據實際情況和重新估計的參數值進行測試。這種框架對于不同種類的系統考慮了用例層次、規模和復雜度等思想,并且不再采取細粒度的功能分解。為減輕計算的負擔,對于諸如 Estimate Professional 這樣的工具,可以構建一個前端,從而提供一種基于用例的規模輸入的不同的方法。

問題

直觀上看起來似乎根據用例模型的特征,可以對開發工作所需的規模和工作量進行估計。畢竟,用例模型捕獲了功能性需求,那么難道不應該有基于等價于功能點的用例嗎?這里存在許多困難:

  • 有許多不同的用例規格樣式和形式,很難定義一個度量標準,例如,某人可能希望能夠度量用例的長度;
  • 用例應該代表外部參與者對于系統的觀點,因此,500,000 sloc 系統的用例就與 5,000 sloc 子系統的用例在完全不同的層次上(Cockburn 97 討論了層次和目標的概念);
  • 用例可能在復雜性方面不同,編寫時是顯式的,實現時又是隱式的。
  • 用例應該從參與者的角度來描述行為,但是這可能相當復雜,特別是當系統具有狀態時(絕大多數情況是這樣的)。所以描述這種行為需要系統的模型(在實現它們之前)。當試圖捕獲行為本質時,這將導致過多的功能分解層次和細節。

所以,為了能夠進行評估,是否有必要實現一些種類的用例呢?或許是對于直接根據用例進行估計的期望過高,并且在功能點和用例點的概念之間直接劃等號對我們產生了誤導。功能點數量的計算無論如何都需要一個系統模型。從用例描述中派生的功能點需要達到與用例表達一致的層次,并且只有達到該層次時,我們才能夠對功能點的數量有信心。Fetcke 97 描述了一種從用例到功能點的映射,但是,用例的層次必須適當,這樣映射才能有效。其他的方法使用基于類或基于對象的度量標準作為來源,PRICE Object Points 就是一個這樣的例子(Minkiewicz 96)。





回頁首


其他工作

在描述和形式化用例方面的工作相當完備――Hurlbut 97 對此有很好的概括。而從用例中派生估計的度量標準卻寥寥無幾。Graham 95 和 Graham 98 中包含了對于用例相當嚴格的批評(但是我并不完全理解為什么他認為他的想法和用例是大相徑庭的),并且建議將"任務場景"作為克服用例問題的方法――包括它們的變化的長度和復雜度。Graham 的"原子任務場景"是"任務點"度量收集的基礎。原子任務場景存在的問題是它處于低層:根據 Graham的說法,它最理想的情況是作為一個單一的句子,并且如果僅僅使用本領域的術語那么不能更進一步進行分解。Graham 的"根任務"包含一個或者更多的原子任務場景,并且每一個根任務"在初始化計劃的類中,與一個系統操作正好對應" (Graham 98)。這些根任務在我看來似乎非常像低層用例,并且這些原子任務場景如同是這樣的用例中的步驟。然而,這種層次方面的問題仍然沒有解決。

Karner(Karner 93)、Major(Major 98)、Armour,以及Catherwood(Armour 96)和 Thomson(Thomson 94)完成了其他方面的工作。Karner 的論文中指出了計算用例點的一種方法,但是該方法仍然假設這些用例是以一種通過類可以實現的方式來表達的(例如,在一種更合適的細節層次上而不是子系統上)。

那么,我們應該不使用用例來估計而依賴于所實現的分析和設計嗎?這個問題妨礙了做出估計的能力,并且無法滿足已經采取該技術的項目管理者的要求――需要盡早估計并且不得不使用其他方法。對于項目管理者來說,為了做項目規劃,最好能夠盡早獲得評估,然后反復對其進行精化,而不是拖延評估并且毫無頭緒地進行工作。

本文中描述了一個框架,在該框架中可以使用任何層次的用例來形成工作量估計。為了展示這些觀點,本文描述了一些簡單的規范結構,這些結構具有相關的一定實踐基礎上的維度和規模。本文中大多是大膽的(或者應該說缺乏根據的)推測,因為我沒有其他的方法來解決這個領域中缺少的工作和數據的問題。本文引用了"互連系統構成的系統"思想。

接下來,我將暫時撇開主題來介紹一些將我引入本文主題的一些背景想法。





回頁首


避免功能分解嗎?

功能分解的思想對于軟件開發領域中的許多人來說像一個"詛咒"。我對功能分解的體驗更是其中的極端(在一個很大的數據流圖中有 3000 個原始轉換,五層或者六層深,在除了基礎設施層外沒有使用任何構架的思想的情況下完成),讓我感到異常悲觀。在該用例中存在的問題不僅僅與功能分解思想有關,還和下面這種想法有關,即直到分解到功能的原始層次才描述一個進程。在該層次上規格說明的長度應該少于一頁。

所得到的結果難以理解――所需要的更高層次的行為如何從這些原始轉換中顯現出來,這一點很難搞清楚。另外,功能結構如何映射到物理結構上來滿足性能和其他質量方面的要求并不是特別明顯。這就產生了一種自相矛盾情況,我們一直進行分解直到達到了能夠"解決問題"(原始層次)的那一層,但是,這些原始層是否能夠實際上協同工作以滿足更高層的目標卻并不清楚或者可以被證明。沒有辦法以這種方式來考慮非功能性需求。從總體上講,構架和基礎設施(通訊,操作系統等等)都應該隨著分解而不斷演進,并且每一次分解都應該對其它分解產生影響。

那么 Bauhaus 規則"形式服從功能"又如何呢? 有許多好的設計源自功能主義方法,但也不乏一些不良設計。例如,隨處可見的平屋頂結構的使用。如果您只關心屋頂的功能,并且將其完全設計為居民所需的一個房蓋,那么至少在一些特定的領域中是不能夠令人滿意的 。這種屋頂很難防水,并且容易積雪。

現在這些問題可以解決了,但是在一個更大的范圍內而不是在您已經選擇的不同設計中。盡管看上去有些過時,但是形式還是應該服從所有的功能和非功能性需求,以及后續的美學要求。架構師面對的問題經常是非功能性需求經常表達模糊,并且過多的依賴于架構師的"事情就應該是這樣"的經驗。因此如果功能分解僅僅用來驅動構架(即分解產生了幾個向下的層次并且功能的原始層次與"模塊"一一匹配)和定義其接口,那么將一無是處。

像這樣的考慮使我確信,在完成構架工作之前,將用例向下分解到標準化的水平(這可以通過類的協作來實現),這沒有任何意義。對于一定規模的系統而言,這些分解確實必要,(參見 Jacobson 97)但是分解的標準和實施過程至關重要――特別是當功能分解不是足夠好的時候。





回頁首


系統考慮

系統工程師完成功能分析、功能分解和功能分配工作(當綜合一項設計時),但是功能并不是系統構架的唯一驅動因素,一個專門的工程師團隊就能夠在評估不同的設計方面做出貢獻。IEEE Std 1220,系統工程過程的應用和管理標準(Standard for Application and Management of the Systems Engineering Process)在 6.3 節中描述了功能分解的使用,功能分析(Functional Analysis)在 6.3.1 節,功能分解(Functional Decomposition),和系統產品解決方案等綜合在 6.5 節中。6.5.1 節包含了一些特別有趣的內容,分組(Group)功能和分配(Allocate)功能,6.5.2 節是物理解決方案的選擇(Physical Solution Alternatives)。在 6.3.1 節中指出,分解是用來清晰地理解系統必須完成哪些功能,并且一般情況下一層分解就足夠了。

注意,功能分解的目的并不是為系統定型(由綜合工作來來完成定型),而是理解和溝通系統必須完成什么――功能模型是能夠完成這些的好的方式。在綜合中,子功能首先被分配給解決方案的結構,然后評估這個解決方案――必須考慮所有的需求。這種方法和多層功能分解之間的不同之處在于:在每一層都試圖描繪所要求的行為,并且在決定是否該行為在下一層需要被精化,以及分配到更低層的組件中之前,找到一種解決方案來實現它 。

從中可以得出一個結論就是,在任何層次上使用數百個用例來描述行為是沒有必要的。可能很少量的外部用例(和相關場景)就能夠恰當地覆蓋所要描述的對象(系統、子系統、類)的行為。我應該講一下我所說的外部用例是指什么。舉一個由子系統組成的系統例子,這些子系統又由類組成。描述系統及其參與者的用例,我稱之為外部用例。子系統或許有它們自己的用例――它們對于系統來說是內部用例,但是對于子系統來說是外部用例。最終用來構建一個龐大系統(大于 100 萬行代碼)的外部用例和內部用例的總數,可能數以百計,因為這樣規模的系統將包含其它系統,或者至少包含子系統。





回頁首


對結構和規模的假定

用例的數量

在 IBM Rational 中,我們認為用例的數量應該很小(10-50 個),并且認識到大量(超過100 個)的用例表明可能需要進行功能分解,在功能分解中用例對于參與者毫無價值。然而,在實際項目中我們仍然能夠發現大量的用例,并不總是"糟糕的",至少在層次上是全面的。例如,在 Rational 內部的電子郵件中,作者引用了一個 Ericsson 例子:

  • Ericsson,對大部分的新一代電話交換機的建模,估計要多于 600 個人年(最多,3 到400 個開發人員),200 個用例(使用不止一層用例,請參考"互連系統構成的系統")對于一個超過 600 人年(這有多大呢?150萬行 C++ 代碼嗎?)的系統,恐怕用例分析會限于子系統上面的某一層上(也就是說,如果一個人定義了一個 7000 到 10000 行代碼的子系統),否則用例的數量還會增加。

因此,我仍然強調這種觀點即少量的外部用例是適合的。為了匹配我曾經建議的結構和規格,我斷言 10 個外部用例,每個用例帶有 30 個相關場景 ,這對于描述行為是合適的 。如果實際中用例的數量超過了 10 個,并且確實是外部用例,那么它們所描述的系統要比相應的規范系統具有更大規模。在下文中我將提供一些支持理由來說明這些數字是合理的。

結構分層

建議的結構分層如下:

4 - 多個系統組成的系統
3 - 系統
2 - 子系統組
1 - 子系統
0 - 類

類和子系統在 UML 中定義為;在 UML 中更大的聚合是子系統(包含子系統),為了更簡單的進行描述,我進行了不同的命名。對于那些知道 2167 和 498 軍方標準(稱子系統為 CSC,稱類為 CSU)中的術語的人來說,子系統組(subsystemGroup)的規模用 CSCI -來表示。我記得,經過 2167 天的關于 Ada 的結構應該映射到哪一層次的爭論后,塵埃落定,Ada 包通常映射為 CSU。我并不建議系統必須嚴格的遵循這種層次結構,還將存在層次之間的混合,這種層次結構使我能夠更好地了解規模對于每個用例工作量的影響。

在每一層上都會有用例(盡管對于單個的類可能不是這樣),但并不是單純的大量細節堆砌 ,而是用例針對那個層上的每個組件(例如子系統、子系統組,等等)。在上文中我曾斷言對于每一層的每一個組件都有 10 個用例――如果用例的描述平均是 10 頁,那么將會給出一個潛在的、大約 100 頁長度的說明文檔(還要加上類似的或者少一些的關于非系統性需求的相應說明),這是 Stevens 98 提倡的數字,并且和Royce98推薦的數字很接近。但是為什么是 10 個用例呢?為了得出這個數字,基于對每一個子系統的類的數量、類的規模、操作規模等等我認為的合理的規模,我進行了自下向上的推理。這些和其他假設共同搜集在下表中供大家引用。




我沒有大量的經驗數據-貫穿文中的是瑣碎的、分散的數據,Lorentz 94 和 Henderson-Sellers 96 有一些數據,我也有一些在澳大利亞的項目中得出的數據,主要是在軍用航空航空領域。任何情況下,在這個階段,將框架或多或少的定位到合適的位置是非常重要的。






分層結構中組件的大小

這里我應該指出的是,我曾經使用代碼行來度量組件的大小,但許多人不喜歡這種度量。這些是 C++(或者相同層次的語言)代碼行,所以,要回到功能點非常容易。

在容器中的類的數目和能表達的行為的豐富性之間肯定有許多關系。我選擇了 8 個類/子系統 ,8 個子系統/子系統組,8 個子系統組/子系統,等等。那么為什么是 8 個呢?

1. 它在 7 或-2 之間;

2. 由于每個類有 850 slocs(每 70 slocs 有 12 個操作)的 C++代碼,它得出了一個子系統的規模是 7000 slocs-一個可以由小的團隊(3-7人)在 4-9 個月就能夠交付的功能/代碼的程序塊,其中系統的迭代長度就該調整到 30 萬-100 萬slocs (RUP 99) 的范圍內 。

那么,多少用例能夠表達八個類的行為(外部的)?,哪些是屬于子系統的并且已經被定位在子系統中了?決定豐富性的原因不僅僅是用例的數量,還有每個用例的場景數量。現在,并沒有多少方法來指導場景/用例擴展――在Booch 98中,Grady Booch 指出"存在一個從用例到場景的"膨脹系統",一個復雜度適當的系統中可能有幾十個用于捕獲系統行為的用例,每個用例可能具有幾十個場景….",Bruce Powel Douglass 在 Douglass 99 中指出,"….為了詳細描述用例需要很多場景,通常需要1打到幾打"。我選擇了 30 個場景/用例――這處于"幾打"的較低的一邊,但是 Rechtin(在 Rechtin 91中)指出,工程師能夠處理 5 到 10 個互相作用的變量(對于這個變量,我解釋為互相協作的 5 到 10 個類)并且 10 到 50 種交互(我解釋為場景)。以這種方式解釋,多個用例即為該變量空間的多個實例。

因此,10 個用例,每個用例 30 個場景,也就是說一共 300 個場景(后面將導致大約 300 個測試用例)對于覆蓋 8 個類的有意義的行為來說已經足夠了。是否有其他的跡象表明這是個合理的數字呢?如果應用 Pareto 的 80-20 規則,那么20%的類將表達80%的功能,同樣,80% 的功能將被每個類中20%的操作來表達。讓我們保守的說,我們需要20%的類(等)來達到75%的功能并且通過這點來構建一個 Pareto 分布圖。(圖 1)



圖 1: 一個 Pareto 式樣的分布圖

如果我們想要描述 80% 的系統行為,并且將 Pareto 規則應用到類、操作和場景數量方面,那么對于每一者都需要描述其行為的 93%(0.933= 0.8)--也就是對于每一個都需要 50%,例如,4 個類和 5 個操作(= (12 - 2 構建器/析構器)/2)。節點樹的不同分叉的數量可能達到數千個(其中節點樹用來代表4個類及每個類5個操作的執行模式)。我為每個節點創建了 1 到 3 個鏈接,假設在頂層有 10 個操作(接口操作)的層次結構,并且形成了一個三層的樹。這將會有 1000 條路徑或者場景。所以,500 個場景將會得到 93% 的覆蓋。使用 300 個場景(用相同的假定)我們可以得到 73% 的覆蓋。根據一個選定的算法,可以對這個樹進行修剪,從而刪除冗余的行為說明,甚至更少的數量就完全可以符合要求。

達到該目的的另一個方法就是研究一下對于 7000 slocs 的 C++代碼需要多少測試用例(從場景派生而來)。這些測試用例不受單元測試層次的制約,并且在 Jones 91 和 Boeing 777 項目中有許多證據表明這個數字是安全的,至少它符合實踐。這些來源表明在 250 到 280 之間是合適的。在一個完全不同的層次上,加拿大自動空中交通系統(Canadian Automated Air Traffic System ,CAATS)項目使用了 200 項系統測試(我私下里獲悉的)。

用例的規模

用例應該具有多大規模呢?是否應該足夠大以及表達足夠的細節才能表達所需要的行為--這取決于與系統有關的用例復雜性、內部用例和外部用例。--這里我們就應該描述多少系統的內部動作來深入探討一下這個問題。很明顯,從外部行為描述來構建系統,要求將輸出與輸入關聯起來。例如,如果行為對歷史記錄敏感并且很復雜,那么在沒有系統內部的一些概念模型及行為的動作時,就很難描述它。注意,沒有必要描述一個系統是如何從內部構建的--任何滿足非功能性需求和匹配模型行為的設計就能夠滿足要求。

UML 1.3 中提供的定義是:"用例【類】:一個系統可以執行的動作(包括變體)序列的說明,其中這些動作與系統參與者進行交互"。對復雜的行為的內部動作,可能合理的采用這個定義也可以在實現階段再進行定義――這對于最終用戶來說是個更遠的步驟。業務規則也應該納入到用例中以便約束參與者的行為(例如,在一個ATM系統中,銀行需要有一條規則:在一次交易中,提取的金額不能超過 500 美元,無論賬號中的余額為多少)。

根據這種解釋,事件的用例流描述的頁數可以為 2-20 。從計算的角度上看,具有簡單行為的系統顯然不需要冗長的描述。或許我們可以認為簡單的商務系統通常用 2 到 10 頁來描述,平均為 5 頁。對于更復雜的系統來說,業務系統和科學系統在 6 到 15 頁之間,平均為 9 頁。復雜的命令和控制系統在 8 到 20 頁之間,平均為 12 頁(這些比率反映了相同規模系統的工作量與類型之間的非線性關系),盡管我沒有數據來支持這種觀點。更富有表達力和描述性的形式(例如狀態機或者活動圖)可能需要更少的篇幅--我們仍舊傾向于加強文本,所以此處不討論其他形式,畢竟相關資料很少或者根本沒有。

與上述規模有系統差異的開發應該運用乘法規則來計算在這些假設基礎上得出的每個用例的小時數(我建議增加一個 COCOMO -樣式的成本驅動,該驅動是系統類型的(簡單的業務類型、更復雜的類型、命令及控制類型等等)的觀察到的平均規模或建議的平均規模。

用例規模的另一個方面是場景的數量。例如,一個 5 頁長的用例可能是一個具有很多路徑的復雜結構。再一次重申,需要將場景的數量以及這個比例估計為 30(這是我對于每個用例的場景數的初步估計),將其作為成本的驅動因素。

得到的結果是,我們假設基于大約長度為 100 頁說明的用例,對于任何給定層次的外部說明及補充說明來說,都是足夠的。范圍是 20 到 200 頁之間(這些界限是模糊的)。注意,一個系統(子系統組)在最低的層次上的總數是 3-15 頁/ ksloc(簡單的業務系統)到 12-30 頁/ ksloc(復雜的命令和控制系統)。這或許能夠解釋 Royce 98 表中的 14-9 和實際項目之間明顯的矛盾之處,前者的工件所占用的篇幅非常少,而實際項目卻占用了大量的頁。本文的觀點認為規格說明的層次不應受頁數的限制。--Royce 是正確的,對于大型的、復雜的系統而言,重要內容的說明(如版本聲明)可以達到范圍的上限――200 頁

子系統層次

一個子系統層次看上去像什么呢?這里有一些我用過的簡單的"標準"形式。注意,這些只是用來實現一個系統的概念形式。實際系統的范圍超出了這些形式的集合,并且每個子系統外部用例的總和就是系統全部的外部用例;因此,一個實際的系統可能有超過 10 個外部用例,但是正如我們后面將要看到的那樣,上限并不是無限的。注意,這里并不是建議所有的開發都在它們的描述中使用 4 層用例。小的系統(<5 萬 slocs)可能只用 1 層或者 2 層。

第一層

在第一層,具有通過零個或以上的子系統中的類實現的用例



圖 1: 一個 Pareto 式樣的分布圖

在這一層估計系統(系統具有可通過類來實現的用例)規模的范圍(使用7+或者-2的概念):

  • 2 到 9 個類(沒有形成到子系統中)――1700 slocs 到 8000 slocs ,或者
  • 由 5 個類組成的子系統,共計 4000 slocs
  • 由 7 個類組成的子系統為 9 個,共計 53,550 slocs

范圍為 2 到 76 個用例。這是個模糊的界限,至少對于上限來說是這樣的――在該限定下,以這種方式構建一個系統(在這個規模上),永遠也不使用更高層的形式來表達所要求的行為,那么用例的數量應該降到零。如果用例的數字大于零,那么就是畫蛇添足。

第二層

在第二個層次上,我們有一個由 8 個子系統組成的子系統組。我認為這等同于防御性術語中的計算機系統配置項(computer system configuration item ,CSC I)。在這一層,用例是通過子系統的協作來實現的:




在這一層估計系統規模的范圍(使用 7+或者-2 的概念):

  • 從由 5 個子系統(每個子系統有 5 個類)組成的子系統組,共計 22,000 slocs,到
  • 9 個由 7 個子系統(每個子系統有7個類)組成的子系統組,共計 370,000 slocs。

這就是說,外部用例的范圍是 4 到 66。再次重申,這些只是模糊的界限。

第三層

在第三層,我們具有一個系統(由子系統組構成)。在這一層,用例是通過子系統組的協作來實現的:




在這一層估計系統規模的范圍(使用 7+或者-2 的概念):

  • 從 1 個系統,由 5 個子系統組組成,每個子系統組又由 5 個子系統(每個子系統有5個類)組成,共計 11 萬 slocs,到
  • 9 個系統,每一個系統都由 7 個子系統組組成,每個子系統組又由 7 個子系統(每個子系統有 7 個類)組成,共計 260 萬 slocs 的類組成。外部用例的范圍是 3 到 58。再次重申,這些界限是模糊的。

第四層

在第四層中,我們有一個由系統組成的系統。在這一層,用例是通過系統的協作來實現的:




在這一層估計系統規模的范圍(使用 7+或者-2 的概念):

  • 從 1 個由 5 個系統組成的系統,每個系統是由 5 個子系統組組成,每個子系統組是由 5 個子系統(每個子系統有 5 個類)組成,共計 54 萬 slocs,到
  • 9 個由系統組成的系統,每個大系統由7個系統組成,每個系統由 7 個子系統組組成,每個子系統組由 7 個子系統(每個子系統有7個類)組成,共計 1800 萬 slocs 的類組成。外部用例的范圍是 2 到 51。再重申一次,這些界限是模糊的。

假設更大的聚合也是可能的,但是我實在不想再考慮了!

每個用例的工作量

通過對每一層的額定的規模的工作量估計,我們可以對每個用例的工作量有一些深入了解。使用 Estimate Professional? 工具 (基于 COCOMO 2 和 Putnam's SLIM 模型),將語言設置為 C++(其他成本驅動因素設置為額定值),然后計算每一個示例系統類型在每個額定規模點的工作量(假設 10 個外部用例),得到表 1。表中描述的 L1 和 L2 范圍考慮到了單個用例的復雜度――使用 COCOMO 的代碼復雜性矩陣通過類比進行估計。在 L2 層,我相信復雜性在被納入系統類型的特征時復雜程度發生變化,因此一個更高層次的復雜命令和控制系統用例,將包含在一個較低的層次上復雜性的混合。在一個按照 log-log 比例的圖上繪制這些數據,得到圖 2。






圖 2: 用例工作量規模圖

從中我們可以看到,150-350 小時/用例(10 2.17-10 2.54)這個原來的 Objectory 數字在 L1 層上很適合,例如,這些用例可以通過類的協作來實現――因此存在一些理由來支持這個數字。然而,它不足以在分析中用來描述所有項目--我的一位同事曾在電子郵件與我交流時說:它太"片面" 了。





回頁首


工作量估計

當前的實際系統不能與這些槽(slot)一一匹配。所以,為了幫助了解應該如何描述一個系統,我們將使用從該方法種得出的模糊的界限并將它們繪制出來:



Figure 3: 每個層次的規模范圍

從圖 3 中,我們可以看到一個超過 2.2 萬 slocs 的系統最可能是在第一層描述,用例的數量在 2 到 30 之間。在這個規模上,更高的用例數量表明用例的粒度太細了。

規模在 2.2 萬 和 5.4 萬 slocs 之間的系統,應該使用一層用例和兩層用例的混合,用例的數量在 4(都在第二層)和 76 都在第一層)之間,正如上圖所表明的那樣,一般不會出現極限值。

規模在 5.4 萬和 11 萬 slocs 之間的系統,一個結構好的系統完全在第二層進行描述是可能的,用例的數量在 10 到 20 之間;混合起來可能是 L1/L2/L3(1 到 160 個用例,一般不會出現極限值)。

規模在 11 萬 和 37 萬 slocs 之間的系統,可能在第二層和第三層之間,用例的數量在 3(全部在第三層)到 66(全在部第二層)之間。

規模在 37 萬 和 54 萬 slocs之間的系統,如果完全在第三層進行描述,那么用例的數量在 9 到 12之間;混合情況可能是 L2/L3/L4(1 到 100 個用例,一般不會出現極限值)。

規模在 54 萬 和 260 萬 slocs 之間的系統,可能在第三層和第四層之間,用例的數量在 2(全部在第四層)到 60(全部在第三層)之間。

規模超過 260 萬 slocs 的系統,在第四層的用例數量應該在 8 左右。

多少用例才是足夠的?

從一些經驗法則中可以得到一些有趣的觀察結果。有一個問題經常被問及--多少用例是過量的呢?這個問題實際上意味著在捕獲需求的過程中多少是過量。答案似乎是多于 70 個,甚至對于最大的系統來說,70 這個數字也表明對于設計來說粒度太細了。在 5 到 40 之間是非常合適的,但是這只是數量,而并沒有考慮到層次,不能用來估計規模和工作量。這是初始的數量,對于特殊的層次是合適的。如果一個大型超級系統被分解為系統,系統又被分解為子系統,以此類推,那么需要數以百計的用例。如果直到類的層次達到后才開發用例,那么最終的數量可能是上百個甚至是上千個(對于一個 140 人-年的項目,或者對于每個用例有15個功能點這樣的項目來說是 600 個用例)。然而,作為一個純粹的獨立于設計的用例分解來說,這并不會發生。這些用例起源于 Jacobson 97 中描述的過程,Jacobson 97 中系統層次上的用例被劃分為分配給子系統的行為,其中可以為子系統編寫更低層次的用例(將其他子系統作為參與者)。

工作量估計的過程

如何進行估計呢?這里有許多先決條件:如果不能理解問題的領域、不了解系統的規模和系統構架,以及在哪一階段進行估計,那么就不能夠進行基于用例的估計。

第一次粗略的估計可以根據專家的觀點或者更正式的采用 Wideband Delphi 技術(該技術是Rand 組織在 1948 年發明的,請參考Boehm 81 的描述)。這將使得評估者可以將系統在圖 3 所示的規模范圍中對號入卒。這種部署將提供用例數量的范圍,并且表明表達式的層次(L1, L1/L2 等等)。然后評估者必須基于對現有構架知識和領域中的理解來決定這些用例是否適合某一層(是否毫不相關),或者是不同層次的混合(以事件流的方式來表達)。

從這些考慮中可以看到,數據是否不夠健康是顯而易見的--例如:如果 Delphi 估計是 60 萬行代碼(或者等價的功能點),并且幾乎沒有什么構架方面的工作,那么對于系統結構方面知道得并不多--圖 3 表明用例的數量應該在 2(所有的第四層)和 14(所有的第三層)。如果實際上用例數量是 100,那么用例可能已經提前進行了分解,或者 Delphi 的估計嚴重出軌。

繼續分析這個例子:如果實際的用例的數量是 20,并且評估者決定它們都在 L3;更進一步講,用例的長度平均7頁,并且系統是一種復雜的業務系統,每個用例的小時數(從圖 2 中得到)是20,000。為了降低復雜度,要乘以 7/9(基于用例的長度)。所以根據這種方法計算的工作量是 20×20000×(7/9) = ~310,000 人-小時,或者 2050 人月。根據 Estimate Professional,對于業務系統而言,60 萬行的 C++代碼需要 1928 人月。因此,在這個設計的例子中,充分體現了這一點。

如果實際的用例的數量是 5,并且評估者決定將 1 個用例分配到 L4,其他 4 個分配到第三層。更進一步 L4 用例是 12 頁,L3 用例平均是 10 頁,然后計算工作量將是 1×250,000×12/9+4×21000×(10/9) = ~2800 人月。這就表明 Delphi 的估計需要重新進行修訂,盡管假設系統的主要部分看起來仍然在很高的層次上,但總之在邊界上有很大的錯誤。

如果原來的 Delphi 估計是 10 萬行 C++代碼,圖 3 表明用例應該在 L2 并且應該有 18 個。如果實際上有 20 個,如同前面的例子一樣,如果 Delphi 估計很糟糕的話,那么是因為不考慮實際用例層次而應用該方法將得出一個不正確的結果。

因此,估計者必須檢查用例是否在建議的抽象的層次上(L2)并且可以通過子系統的協作來實現,以及用例并不完全在 L3 上--盡管 Wideband Delphi 方法并不是經常那么糟糕(例如,預計 10 萬,而實際上是接近 60 萬)。問題是這種評估方法在使用時使人缺乏自信,沒有額定的或者概念上的構架,而這些構架正是和用例的層次相匹配的。對于一個在該領域非常有經驗的評估者來說,模型可以是一個能夠判斷形成哪一層的想象中模型,而對于一個經驗比較少的評估者或者團隊來說,做一些構架建模來觀察一下在一個特殊的層次上用例實現得如何,不失為一種明智之舉。

對于復合表達的用例(也就是說,層次 N 和層次 N+1的混合)應該計算為 n=8(l隔開兩層的部分) ,得出用例在較低一層的數量。因此,一個用例假設 50%在 L1 并且 50% 在 L2,那么應該計算為 80.5 = 3 個 L1 用例,一個用例假設在 L2 和 L3 之間的 30%,那么應該計算為80.3 L2 用例= 2 個 L2 用例。一個用例在 L2 和 L3 之間的 90%,那么應該計算為 80.9 = 7 個 L2 用例。

表的規模調整

實際上考慮總的工作量規模時,需要對個別用例的小時數做進一步調整――工作量的數字只適合于在該規模系統的上下文中的每一個層次上。因此,在表 1 中的 L1 層,當構建一個 7000 slocs 的系統時,將采用每一個用例 55 小時。實際的數字將取決于總的系統規模――所以如果要構建的系統的規模是 40,000 slocs 并且使用 57 個 1 層的用例來描述它,那么對于一個簡單的業務系統來說工作量就不是55×57 小時,而是(40/7)0.11 × 55 = 66 小時/用例。這是基于規模和工作量的 COCOMO 2 關系。根據 COCOMO 模型,工作量=A × (size)1.11,其中

  • size 的單位為 ksloc
  • A 為成本驅動因子
  • 項目比例因子為額定值(將 1.11 用作指數)

注意這些計算可以作為因子用到諸如 Estimate Professional這樣的工具中,從而減輕計算負擔;此處完整列出了它們。

因此每 ksloc 的工作量或者每單元工作量等于 A× (Size)1.11/Size,從中推出 A× (Size)0.11,因此,每單元的工作量在 size 為 S1 到 S2 的比率為(S1/S2)0.11。

對 Delphi 估計還要說明一點,系統的規模可以從各個層上用例的數量來粗略地計算出來:如果在第一層有 N1 個用例,在第二層有 N2 個,第三層有 N3 個,第四層上有 N4 個,那么總的規模就是[(N1/10)×7 + (N2/10)×56 + (N3/10)×448 + (N4/10)×3584] ksloc。因此,我們可以計算工作量乘上表 1 中的每個用例的工作量,然后將總的規模除以表1中第一列中列出的每一層的規模(單位是 ksloc)。

因此, 在第一層, (0.1×N1 + 0.8×N2 + 6.4×N3 + 51.2×N4)0.11。
第二層 (0.0125×N1 + 0.1×N2 + 0.8×N3 + 6.4×N4)0.11。
第三層, (0.00156×N1 + 0.0125×N2 + 0.1×N3 + 0.8×N4)0.11。
第四層, (0.00002×N1 + 0.00156×N2 + 0.0125× N3 + 0.1×N4)0.11。

顯然,以第四層為例,與第三層或第四層的用例數量相比,第一層用例的數量的影響微乎其微。





回頁首


結束語

本文描述了基于用例進行評估的一個框架。為了使描述更加具體,本文為框架的參數選擇了一些值,盡管這些值有待于論證,但它們并不總是錯誤的。像往常一樣,隨著數據的搜集,這種估計應該根據實際情況和重新估計的參數值進行測試。這種框架對于不同種類的系統考慮了用例層次、規模和復雜度等思想,并且不再采取細粒度的功能分解。為減輕計算的負擔,對于諸如 Estimate Professional 這樣的工具,可以構建一個前端,從而提供一種基于用例的規模輸入的不同的方法。

對本白皮書的評論以及反饋意見,請通過電子郵件 jsmith@rational.com 與 John Smith 取得聯系。



參考資料

您可以參閱本文在 developerWorks 全球站點上的 英文原文

1. Armour96: Experiences Measuring Object Oriented System Size with Use Cases, F. Armour, B. Catherwood, et al., Proc. ESCOM, Wilmslow, UK, 1996

2. Boehm81: Software Engineering Economics, Barry W. Boehm, Prentice-Hall, 1981

3. Booch98: The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar Jacobson, Addison-Wesley, 1998

4. Cockburn97: Structuring Use Cases with Goals, Alistair Cockburn, Journal of Object-Oriented Programming, Sept-Oct 1997 and Nov-Dec 1997

5. Douglass99: Doing Hard Time, Bruce Powel Douglass, Addison Wesley, 1999

6. Fetcke97: Mapping the OO-Jacobson Approach into Function Point Analysis, T. Fetcke, A. Abran, et al., Proc. TOOLS USA 97, Santa Barbara, California, 1997.

7. Graham95: Migrating to Object Technology, Ian Graham, Addison-Wesley, 1995

8. Graham98: Requirements Engineering and Rapid Development, Ian Graham, Addison-Wesley, 1998

9. Henderson-Sellers96: Object-Oriented Metrics, Brian Henderson-Sellers, Prentice Hall, 1996

10. Hurlbut97: A Survey of Approaches For Describing and Formalizing Use Cases, Russell R. Hurlbut, Technical Report: XPT-TR-97-03, http://www.iit.edu/~rhurlbut/xpt-tr-97-03.pdf

11. Jacobson97: Software Reuse - Architecture, Process and Organization for Business Success, Ivar Jacobson, Martin Griss, Patrik Jonsson, Addison-Wesley/ACM Press, 1997

12. Jones91: Applied Software Measurement, Capers Jones, McGraw-Hill, 1991

13. Karner93: Use Case Points - Resource Estimation for Objectory Projects, Gustav Karner, Objective Systems SF AB (copyright owned by Rational Software), 1993

14. Lorentz94: Object-Oriented Software Metrics, Mark Lorentz, Jeff Kidd, Prentice Hall, 1994

15. Major98: A Qualitative Analysis of Two Requirements Capturing Techniques for Estimating the Size of Object-Oriented Software Projects, Melissa Major and John D. McGregor, Dept. of Computer Science Technical Report 98-002, Clemson University, 1998

16. Minkiewicz96: Estimating Size for Object-Oriented Software, Arlene F. Minkiewicz, http://www.pricesystems.com/foresight/arlepops.htm, 1996

17. Pehrson96: Software Development for the Boeing 777, Ron J. Pehrson, CrossTalk, January 1996

18. Putnam92: Measures for Excellence, Lawrence H. Putnam, Ware Myers, Yourdon Press, 1992

19. Rechtin91: Systems Architecting, Creating & Building Complex Systems, E. Rechtin, Prentice-Hall, 1991

20. Royce98: Software Project Management, Walker Royce, Addison Wesley, 1998

21. RUP99: Rational Unified Process, Rational Software, 1999

22. Stevens98: Systems Engineering - Coping with Complexity, R. Stevens, P. Brook, et al., Prentice Hall, 1998

23. Thomson94: Project Estimation Using an Adaptation of Function Points and Use Cases for OO Projects, N. Thomson, R. Johnson, et al., Proc. Workshop on Pragmatic and Theoretical Directions in Object-Oriented Software Metrics, OOPSLA '94, 1994

總結

以上是生活随笔為你收集整理的基于用例的工作量估计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美一二三在线 | 丁香六月久久综合狠狠色 | 国产精品不卡视频 | 免费亚洲精品视频 | 亚洲精品在线观看视频 | 91久久精品一区 | 日韩精选在线观看 | 色国产在线 | 丁香婷婷网 | 精品国产三级 | 亚洲高清在线视频 | 一区二区视频播放 | 国产精品mv | 精品国产免费一区二区三区五区 | 中文字幕一区二区在线观看 | 久久综合狠狠综合久久综合88 | 亚洲精品一区二区三区新线路 | 日本特黄一级片 | 婷婷精品进入 | 在线视频精品 | 中文字幕资源在线观看 | 国产精品久久久久久久久久了 | 天天干天天拍 | 激情五月婷婷综合 | 美女视频国产 | 精品国产自在精品国产精野外直播 | 日本激情视频中文字幕 | 不卡的av在线播放 | 日韩在线网址 | 国产在线永久 | 午夜久久久久久久久 | 亚洲一区日韩在线 | 青草视频在线看 | 91麻豆精品国产91久久久无限制版 | 成人黄色在线观看视频 | 中文字幕久久精品亚洲乱码 | 久久精品欧美一区 | 亚洲欧美激情精品一区二区 | 日韩av片免费在线观看 | 成人h在线观看 | 最新日韩电影 | 日韩毛片在线一区二区毛片 | 丝袜美腿av | 国产精品综合在线 | 国内精品久久久久影院优 | 婷婷色婷婷 | 亚洲二区精品 | 日韩高清在线一区二区 | 黄色毛片视频免费观看中文 | 免费a网站 | www.黄色在线| 在线影院 国内精品 | 亚洲精品中文字幕在线观看 | 国产伦理精品一区二区 | 欧美日韩高清一区 | 午夜精品电影一区二区在线 | 中文字幕永久免费 | 天堂中文在线播放 | 四虎5151久久欧美毛片 | 中文字幕字幕中文 | 欧美午夜剧场 | 免费看片网页 | 成人av直播 | 欧美国产日韩中文 | 欧美色噜噜 | 国产精品一区二区你懂的 | 最新av免费在线观看 | 在线观看黄a| 久草久草久草久草 | 天天射天天射天天射 | 91视频在线自拍 | 中文字幕日韩一区二区三区不卡 | 日韩av影视在线观看 | 国产二级视频 | 黄色大全视频 | 成人一级免费电影 | 久操操| 亚洲国产成人精品电影在线观看 | 国产一区二区在线视频观看 | 国产一级二级三级在线观看 | 久久国产精品99国产精 | 99久久久久久久久久 | 欧美一区二区三区在线视频观看 | 91插插影库| 日韩aa视频| 亚洲精品合集 | 亚洲男男gaygay无套 | 久久久久久久久久福利 | 天天曰 | 黄污在线观看 | 久久久国产电影 | 911精品美国片911久久久 | 激情婷婷网 | 亚洲欧美日韩一级 | 国产不卡高清 | 亚洲精品久久久蜜桃直播 | 久久国产精品久久精品 | 在线va网站 | 免费色网站 | 久久视频国产精品免费视频在线 | 国产原厂视频在线观看 | 中文免费| 在线视频99 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 国产又粗又猛又黄又爽视频 | 欧美久久精品 | 久久夜靖品 | 精品一区二区综合 | 亚洲成人精品av | 国产原创在线 | 97在线免费视频 | 久久这里只有精品久久 | 中文字幕综合在线 | 看av在线| 五月婷婷在线视频观看 | av久久在线 | 免费a现在观看 | 四虎4hu永久免费 | 亚洲精品www久久久久久 | 日韩av中文在线观看 | 欧美成人在线网站 | 天天干,夜夜爽 | 亚洲成成品网站 | 国产xxxx性hd极品 | 最近日韩免费视频 | 国产经典av | 亚洲成a人片77777kkkk1在线观看 | 国产亚洲成人网 | 中文字幕2021 | 亚洲人成精品久久久久 | 国产一级在线看 | 日韩精品在线播放 | 欧美日韩啪啪 | 久久在线一区 | 99精品视频在线观看 | 国产国语在线 | 黄色av一级片 | 在线免费观看国产视频 | 日本一区二区三区视频在线播放 | 天天操天天艹 | 亚洲精品乱码久久久久久蜜桃动漫 | 亚洲成aⅴ人在线观看 | 丁香电影小说免费视频观看 | 中文字幕资源网 国产 | 视频91| 欧美日韩免费一区二区 | 色婷婷狠狠五月综合天色拍 | 久久久www成人免费毛片 | 五月婷婷一级片 | 中文字幕在线观看的网站 | 狠狠狠狠狠色综合 | 黄色a级片在线观看 | 国产一区二区午夜 | 狠狠色伊人亚洲综合成人 | 亚洲午夜激情网 | 国产色黄网站 | av免费看在线| 久草免费在线 | 国产精品成人在线 | 免费h漫在线观看 | 看黄色.com| 欧美激情一区不卡 | 福利视频一区二区 | av在线播放中文字幕 | 中文字幕 婷婷 | 黄污网站在线 | 国产精品成人免费精品自在线观看 | 日韩欧美大片免费观看 | 免费看一级特黄a大片 | 在线观看黄a | 免费中文字幕 | 蜜桃av人人夜夜澡人人爽 | 精品美女久久久久 | 精品视频专区 | 亚洲国产精品影院 | 久九视频 | 美女免费视频一区二区 | 99热在线看 | 超碰人人草人人 | 久久在现 | 婷婷六月中文字幕 | 国产视频一级 | 西西444www高清大胆 | 蜜臀aⅴ国产精品久久久国产 | 久久这里只有精品久久 | 99在线精品观看 | 麻豆视频免费网站 | 中文字幕在线视频第一页 | 探花视频免费观看高清视频 | 国模精品在线 | 2024av在线播放| 中国一级片免费看 | 亚洲另类视频 | 亚洲天堂网在线视频 | 亚洲天堂网在线播放 | 在线观看视频日韩 | 日操操| 国产午夜三级一区二区三桃花影视 | 在线天堂中文www视软件 | 在线播放 一区 | 色丁香色婷婷 | 国模一二三区 | 日日夜夜精品免费观看 | 一区二区精 | 夜夜操天天 | 色婷婷亚洲婷婷 | 国产又粗又猛又爽 | 国产青草视频在线观看 | 成人一区二区三区在线 | 久久精品国产成人 | 成人av在线一区二区 | 国产热re99久久6国产精品 | 日本精品久久久久中文字幕5 | 97色综合 | 日韩特级毛片 | av中文电影 | 精品国产亚洲在线 | 国产日韩欧美精品在线观看 | 午夜av剧场 | 精品久久网 | 久草在线视频中文 | 国产精品毛片一区视频 | 日韩一级电影在线观看 | 国产 欧美 在线 | 中文字幕人成不卡一区 | 久久一区精品 | 成人a在线观看 | 青草草在线视频 | 黄色亚洲 | 免费视频你懂的 | 欧美精品久久久久久久久久白贞 | 一本色道久久精品 | 久久久久一区二区三区 | 成人av网址大全 | 在线电影a | 99精品在线免费视频 | 2022国产精品视频 | 在线 国产 日韩 | 日韩二三区 | 91在线永久 | 日本巨乳在线 | 国产成人精品亚洲 | 精品久久久久久久 | 国产精品久久久久高潮 | 久草影视在线 | 人人狠狠综合久久亚洲婷 | 国产成人免费观看久久久 | 国产剧情av在线播放 | 91久久精| 亚洲国内精品 | 91成人在线看 | 免费av网站观看 | 日韩理论在线 | 91成人在线观看高潮 | 丁香五月缴情综合网 | 午夜精品一区二区三区在线 | 久草精品在线观看 | 91精品啪在线观看国产 | 色小说在线 | 伊人五月综合 | av黄色一级片 | 四虎影视成人永久免费观看亚洲欧美 | 国产91综合一区在线观看 | 二区三区在线观看 | 人人插人人搞 | 在线观看成年人 | 日韩精品高清不卡 | 精品一区二区久久久久久久网站 | 国产高清免费av | 成人久久18免费网站图片 | 免费观看性生交大片3 | 在线免费观看av网站 | 最新av在线免费观看 | 国产精品久久久久国产精品日日 | 日韩免费看片 | 久久久久免费网站 | 丁香婷婷色综合亚洲电影 | 国产手机在线观看 | 欧美一级视频免费看 | 国产精品一级在线 | 欧美成人性战久久 | 免费在线成人av | 中文字幕av在线免费 | 三级黄色在线 | 91av亚洲| 五月天丁香视频 | 久 久久影院 | 麻豆91精品91久久久 | 国产精品丝袜久久久久久久不卡 | 精品久久久久久综合日本 | 国产精品久久久免费看 | 色中色亚洲| 在线观看电影av | 午夜精品一区二区国产 | 日韩在线短视频 | av在线免费在线观看 | 精品成人在线 | av一级片 | 日韩精品亚洲专区在线观看 | 涩涩网站在线观看 | 在线观看你懂的网址 | 国产成人777777 | 亚洲黄色成人网 | 欧美日韩成人一区 | 四虎成人精品永久免费av | 香蕉在线播放 | 在线黄色av电影 | 欧美国产在线看 | 亚洲日本在线视频观看 | 香蕉在线视频播放网站 | 国产亚洲婷婷免费 | 精品九九九 | 国产一区 在线播放 | 欧美午夜精品久久久久 | 亚洲自拍自偷 | 色丁香色婷婷 | 久久精品欧美一区二区三区麻豆 | 999成人免费视频 | 最新国产精品视频 | 日韩中文字幕在线看 | 欧美一二三视频 | 日韩久久精品一区二区三区 | 麻豆免费视频观看 | 国产乱视频| 久久黄色免费视频 | 国产高清成人av | 日韩免费精品 | 日韩av电影手机在线观看 | 狠狠干网站 | 久久久久国产精品免费 | 玖玖色在线观看 | 天天操夜夜操天天射 | 91色吧| 午夜影院在线观看18 | 激情婷婷六月 | 自拍超碰在线 | 欧美精品一区在线发布 | 黄色网在线播放 | 国产精品第2页 | av高清免费 | 99精品免费久久久久久久久 | 黄色免费国产 | 久久久精品一区二区 | 久久 精品一区 | 国产录像在线观看 | aaa黄色毛片 | 福利二区视频 | 久操免费视频 | 亚洲国产成人精品在线观看 | 在线国产福利 | 欧美极品一区二区三区 | 日本高清久久久 | 中国一级片在线 | 婷婷色在线 | 日韩二区在线 | 久久99视频免费 | 色诱亚洲精品久久久久久 | 亚洲国产精品资源 | 成人国产电影在线观看 | 福利视频一区二区 | av韩国在线 | 欧美激情视频一二三区 | 久久精品国产亚洲精品 | 亚洲精品国产精品乱码在线观看 | 国产91aaa | 日本最新高清不卡中文字幕 | 丁香高清视频在线看看 | www中文在线 | 在线日韩三级 | 久草在线免费电影 | 99 视频 高清| 天天操狠狠操网站 | 最新av网站在线观看 | 日韩av片无码一区二区不卡电影 | 综合久久精品 | 亚洲 欧洲av| 九九免费视频 | 久色小说 | 成人污视频在线观看 | 91在线入口| 91在线免费观看网站 | 久久久精品亚洲 | 日韩中文字幕免费 | 亚洲精品一区二区三区四区高清 | 成年人av在线播放 | 中文字幕在线观看网 | 国产专区在线看 | 天天草天天色 | 涩涩色亚洲一区 | 伊人久久国产精品 | 成人av免费播放 | 丁香五香天综合情 | 97人人爽人人 | 国产视频在 | 激情在线网站 | 少妇做爰k8经典 | 99久久er热在这里只有精品15 | 日韩免费二区 | 偷拍区另类综合在线 | 精品美女久久久久久免费 | 亚洲成人免费 | 国产福利91精品 | h视频在线看 | 婷婷伊人五月天 | 国产一级做a爱片久久毛片a | av黄色av| 中文字幕传媒 | 亚洲 中文 欧美 日韩vr 在线 | 五月婷婷久 | 免费看黄色大全 | 丁香六月在线观看 | 欧美在线观看视频免费 | 91亚洲免费 | 亚洲成人av电影 | 成全在线视频免费观看 | 亚洲一区二区三区四区在线视频 | 国产精品久久久久久一区二区三区 | 久久不见久久见免费影院 | 成人a视频片观看免费 | 国产精品成人久久 | 丁香六月久久综合狠狠色 | 福利电影久久 | 国产五月色婷婷六月丁香视频 | 欧美亚洲一区二区在线 | 激情综合中文娱乐网 | 久久爱综合 | 亚洲精品免费在线观看视频 | 97综合视频| 婷婷六月中文字幕 | 男女啪啪视屏 | 青青河边草免费 | 国产高清av在线播放 | 成人av高清 | 亚洲三级性片 | 日韩精品一区二区不卡 | 国产精品夜夜夜一区二区三区尤 | av成人亚洲 | 日韩av中文在线 | 99精品视频在线观看 | 亚洲激精日韩激精欧美精品 | 国产女人18毛片水真多18精品 | 久久一区二区三区日韩 | 欧美成人精品在线 | 日韩精品无 | 日韩激情精品 | 伊人天堂网 | 精品久久网 | 99视频偷窥在线精品国自产拍 | 日韩在线视频一区 | 精品久久久久国产 | 日本精品va在线观看 | 国产亚洲成人精品 | 中文字幕免费高清 | 久久免费99 | 国产成人精品不卡 | 久热国产视频 | 91精品视频观看 | 国产精品一区二区吃奶在线观看 | 99精品视频免费观看 | 青青五月天 | 久久精品亚洲一区二区三区观看模式 | 成人av中文字幕在线观看 | 国产免费一区二区三区网站免费 | 2023av| 狠狠操天天射 | 亚洲特级毛片 | 97手机电影网 | 天堂av色婷婷一区二区三区 | 天天插天天干 | 人人爽爽人人 | 一区二区三区四区免费视频 | jizz欧美性9 国产一区高清在线观看 | 亚洲区另类春色综合小说校园片 | 亚洲精品久久久久久久蜜桃 | 欧美一级片免费在线观看 | 久草在线免费资源站 | 免费在线观看日韩视频 | 久久婷婷综合激情 | 国产在线观看午夜 | 亚洲精品在线观看视频 | 色网站在线观看 | www.av在线播放 | 国产色区 | 国产麻豆传媒 | 91精品视频免费看 | 欧美a级一区二区 | 成人在线视频免费 | 日韩高清一区在线 | 久久夜av | 在线91观看 | www.亚洲激情.com | 国产高清久久 | 欧美精品在线观看免费 | 99久久99视频只有精品 | 成人免费观看完整版电影 | 美女视频国产 | 免费在线观看的av网站 | 亚洲国产小视频在线观看 | 国产伦精品一区二区三区… | 日韩黄色软件 | 国产成人精品一区二区三区福利 | 久久国产区 | 黄色精品久久久 | 日韩欧美在线观看一区 | 久久久久国产成人免费精品免费 | 日韩免费一区二区三区 | 99久久999久久久精玫瑰 | 色欧美成人精品a∨在线观看 | 国产视频一区二区在线 | 亚洲永久精品在线 | 96亚洲精品久久久蜜桃 | 日韩精品一区在线播放 | av不卡在线看 | 日韩中文字幕免费看 | 日本精品视频一区二区 | 有没有在线观看av | 人人干人人艹 | 在线免费观看国产精品 | 在线久热 | 久久综合九色综合欧美就去吻 | 色噜噜在线观看 | 久久a热6 | 91麻豆网| 中文字幕人成人 | 色婷婷av在线 | 欧美永久视频 | 99视频国产精品免费观看 | 91手机电视 | 成人性生交大片免费观看网站 | 国产精品久久久久久久久久免费看 | 精品视频免费久久久看 | 欧美午夜精品久久久久 | 精品国产精品久久一区免费式 | 国产成人精品一区二区三区网站观看 | 一区二区影视 | 色狠狠操 | 久久看免费视频 | 国产玖玖在线 | 国语精品视频 | 亚洲综合色站 | 97色国产| 99免在线观看免费视频高清 | 久久成人亚洲欧美电影 | 国产精品久久久久久久久久直播 | 免费看av片网站 | 天天拍天天干 | 国产精品色婷婷视频 | 久福利 | 国产小视频免费在线网址 | 精品国产三级 | 成人午夜剧场在线观看 | 91在线视频播放 | 最新国产精品亚洲 | 91精品视频一区 | 日韩一区二区三免费高清在线观看 | 黄色av三级在线 | 国产又粗又猛又色又黄网站 | 深夜免费小视频 | 国产成人a v电影 | 精品久久久久久久久亚洲 | 欧美成人视 | 免费试看一区 | 国产精品久久久久久久久久久免费看 | 亚洲成av人片在线观看www | 1024手机基地在线观看 | 91麻豆精品国产91久久久更新时间 | 久久人人爽人人片 | 人人添人人澡人人澡人人人爽 | 亚洲最新av网站 | 国产日韩欧美在线免费观看 | 午夜性福利 | 久久一线| 欧美精品二 | 又黄又爽又色无遮挡免费 | 精品欧美在线视频 | 免费av在线播放 | 免费一级片久久 | 国产 字幕 制服 中文 在线 | 日韩高清在线一区二区 | 国产精品99久久免费黑人 | 国产色婷婷在线 | 色多视频在线观看 | 热久久国产 | 亚洲视频高清 | 日本韩国欧美在线观看 | 日韩在线观看视频免费 | 国产色视频123区 | 日韩中文字幕免费看 | 在线观看中文字幕2021 | 日韩1级片 | 精品高清视频 | 久久97视频| 福利视频一区二区 | 久久视频免费观看 | 97香蕉久久超级碰碰高清版 | 国产在线欧美 | av网站免费在线 | 日韩精品专区在线影院重磅 | 欧美成人在线网站 | 欧美动漫一区二区三区 | 色wwwww| 国产精品 日韩 | 国产精品原创 | 色婷婷国产精品一区在线观看 | 精品久久久久久综合日本 | 国产999在线 | 五月天综合在线 | 中日韩三级视频 | 97免费在线观看视频 | 最新中文字幕在线播放 | 亚洲国产精品va在线 | av动图| 97夜夜澡人人爽人人免费 | 国产亚洲人成网站在线观看 | 在线小视频你懂的 | 香蕉在线观看视频 | 狠狠色狠狠色合久久伊人 | 久久久久国产精品厨房 | 日日干干夜夜 | 欧美日韩三级在线观看 | www.com操| 日日操网站 | 青青河边草观看完整版高清 | 99精品国产福利在线观看免费 | 日本三级久久久 | 国产一级片一区二区三区 | 亚洲黄色区 | 就要干b | 久日精品 | 国产精久久久久久妇女av | 国产1区2| 视频二区 | 亚洲国产免费看 | 国产成人在线观看 | 久久与婷婷 | 亚洲毛片一区二区三区 | 成人a在线观看高清电影 | 精品视频一区在线 | 日韩免费高清 | 久久久久久毛片精品免费不卡 | 免费在线观看中文字幕 | 欧美综合在线视频 | 在线三级中文 | 国产资源 | 91大神精品视频在线观看 | 国产精品久久久一区二区三区网站 | 国产精品九色 | 婷婷四房综合激情五月 | 日韩av一区在线观看 | 成人av网站在线观看 | 日韩精品一区二区三区丰满 | 中文成人字幕 | 久草精品视频在线播放 | 久久字幕网 | 国产精品不卡在线 | 特级毛片网站 | 日韩最新中文字幕 | 国内精品久久天天躁人人爽 | 久久综合久久综合这里只有精品 | av免费观看网址 | 午夜久久久久 | 超碰97国产精品人人cao | 国产免费看| 最新av在线网站 | 国产一区在线观看免费 | 日韩欧美高清视频在线观看 | 日韩在线电影观看 | 国产在线国偷精品产拍 | 99精品欧美一区二区 | 黄色三级在线看 | 久久久久高清毛片一级 | 四虎成人精品永久免费av九九 | 亚洲视频中文 | 玖玖视频精品 | 午夜aaaa | 在线亚洲小视频 | 99精品视频在线播放观看 | 97国产人人| 精品一区三区 | 三级动图 | 久久精品久久久久 | 激情婷婷色 | 99看视频在线观看 | www黄在线| 91精品国产综合久久久久久久 | 在线看片视频 | 日韩三级视频在线看 | 久久久精品电影 | 美女天天操| 欧美激情视频久久 | 亚洲深爱激情 | 精品一二三四五区 | 天天射综合网视频 | 日韩久久精品 | 亚洲综合网站在线观看 | 午夜久久久久久久久 | 欧美激情综合五月色丁香 | 最近中文字幕在线播放 | 国产精品人成电影在线观看 | 综合激情伊人 | 中文字幕麻豆 | 91在线精品秘密一区二区 | 国产精品日韩 | 亚洲日韩中文字幕 | 久久久久99精品国产片 | 天天插日日射 | 亚洲精品中文字幕视频 | 91在线精品一区二区 | 成人黄色影片在线 | 丁香久久久 | 91在线免费视频 | 精品国产网址 | 91在线产啪 | www.天天色.com| 五月天丁香综合 | 国产精品婷婷 | 在线观看精品黄av片免费 | 黄色网址a | 99热官网 | 欧美日韩国语 | 精品福利在线视频 | 91精品免费看 | 国产成人三级在线 | 天天添夜夜操 | 最新av在线播放 | 玖玖爱国产在线 | 久久久久视 | 久久久久伦理电影 | 亚洲一级黄色大片 | 黄色一级免费电影 | 91免费视频网站在线观看 | 日韩精品在线观看视频 | 亚洲欧美日韩不卡 | 99综合影院在线 | 天堂va在线观看 | 国产99精品 | 精品国产一区二区三区久久久久久 | 久久久久久99精品 | 久久国产精品99精国产 | 久久久久久久久爱 | 日本中文字幕在线视频 | 亚洲午夜精| 国产精品一区二区无线 | 国产精品久久中文字幕 | 高清不卡一区二区在线 | 在线视频国产区 | 国产精品国产三级国产aⅴ无密码 | 婷婷在线免费 | 国产亚洲综合性久久久影院 | 一区二区成人国产精品 | 国产精品视频久久 | 97夜夜澡人人双人人人喊 | 91av中文字幕 | 国产日韩欧美视频 | 成人午夜电影网 | a久久久久久 | 黄色精品国产 | 日本精油按摩3 | 日产乱码一二三区别免费 | 国产成人av片 | 国产在线一卡 | 久一在线 | 欧美做受高潮 | 97影视| 黄色资源网站 | 99久久99久久精品国产片果冰 | 成年人在线看片 | 亚洲国产精品500在线观看 | 日韩av成人 | 国产精品视频永久免费播放 | 精品女同一区二区三区在线观看 | 国产精品免费一区二区三区 | 色综合狠狠干 | 国产一区福利在线 | 九九免费精品视频在线观看 | 亚洲激情在线播放 | 久久精品一区二区三区四区 | 黄色aa久久 | 在线播放精品一区二区三区 | 九九热免费视频在线观看 | 欧美一级专区免费大片 | 欧美激情视频免费看 | 久久精品播放 | 一区二区三区www | 天天爱天天射 | 国产精品 亚洲精品 | 天天激情综合网 | 91精品国产99久久久久久红楼 | 久久99亚洲精品久久 | 国产九色91 | 免费看的黄色小视频 | 亚州精品天堂中文字幕 | 日韩有码在线观看视频 | 久久精品国产亚洲精品2020 | 免费观看国产精品 | 超碰97成人 | 国产精品久久久久国产精品日日 | 91影视成人| 亚洲欧洲xxxx | 91成人免费观看视频 | 精品久久网 | 天天射综合网视频 | 久久久久一区二区三区四区 | 午夜久久久久久久久久久 | 亚洲第一区精品 | 美女国内精品自产拍在线播放 | 国产精品久久久久四虎 | 九九视频免费在线观看 | 久久a视频 | 日本成人a | 中文字幕日韩高清 | av官网| 成年人视频在线免费观看 | 超碰人人超| 国产一区久久久 | 九九热精品视频在线播放 | 九九在线高清精品视频 | 国产精品正在播放 | 色婷婷综合久久久久 | 免费观看9x视频网站在线观看 | 亚洲精品福利在线 | 99热超碰 | 国产一区免费在线观看 | avhd高清在线谜片 | 九九日韩| 欧美午夜精品久久久久久浪潮 | 日韩精品免费一区 | 日韩三级一区 | 这里只有精品视频在线 | 中文字幕第一页av | 欧美日韩亚洲第一 | 天天操天天干天天爱 | 欧美一性一交一乱 | 97国产精品一区二区 | 天天操天天爱天天爽 | 国产精品美女久久久久久免费 | 国产精品久久久久久久婷婷 | 久久久福利 | 亚洲午夜精 | 在线视频1卡二卡三卡 | 97超碰精品 | 国内精品久久久精品电影院 | 18久久久 | 久久99九九99精品 | 亚洲伦理一区二区 | 婷婷综合影院 | 91理论片午午伦夜理片久久 | 91av电影网| 天天干天天操av | 国产免费成人 | av夜夜操| 日韩网站在线看片你懂的 | av免费网站 | 亚洲97在线 | 久久视频国产精品免费视频在线 | av色影院 | 99久久精品国 | wwwwww色| 九色视频网 | 三级黄色大片在线观看 | 午夜电影久久 | 日韩电影中文字幕在线观看 | 91精品黄色 | 日韩网站免费观看 | av中文在线 | 国内精自线一二区永久 | 91精品啪在线观看国产81旧版 | 伊人一级 | 日韩av不卡在线播放 | 久久狠狠亚洲综合 | 国产尤物在线观看 | 又黄又爽又色无遮挡免费 | 精品国产一区二区三区久久影院 | 国产黄色电影 | 一级做a视频 | 欧美亚洲国产日韩 | 久久久免费毛片 | 欧美激情h| 亚洲精品乱码白浆高清久久久久久 | 精品91在线 | 中文字幕在线播放一区二区 | 亚洲干 | 欧美成人精品欧美一级乱黄 | 国产一级片直播 | 97在线成人| 婷婷视频在线 | 91日韩在线 | 国产精品一区二区av麻豆 | 最近中文字幕完整视频高清1 | 99久久综合狠狠综合久久 | 天天操夜夜爱 | 国产精品麻豆一区二区三区 | 久久97久久97精品免视看 | 少妇bbbb| 91亚洲精品在线 | 国产999精品久久久久久 | 色婷婷av一区 | 天天草天天操 | 色av男人的天堂免费在线 | 久久久在线视频 | av中文字幕在线免费观看 | 成人a级黄色片 | 99精品免费久久久久久日本 | 最近免费中文字幕大全高清10 | 人人澡人人模 | 丁香九月婷婷综合 | 日本 在线 视频 中文 有码 | 久草在线视频国产 | 国产明星视频三级a三级点| 亚洲三级影院 | 精品亚洲视频在线观看 | 欧美日韩久 | 在线不卡视频 | 欧美日韩国产一区二区三区 | 日本精品一区二区三区在线播放视频 | 97在线观看免费观看高清 | 中文字幕日韩无 | 91视频大全 | 99色亚洲 | 久久男人免费视频 | 九色精品免费永久在线 | 另类五月激情 | 日韩一区二区免费在线观看 | 亚洲91视频| 日韩欧美一区二区在线 | 91高清在线看 | 欧美一级视频免费 | 日本黄色大片儿 | 91久久精品一区二区三区 | 草久久精品 | 丁香九月婷婷综合 | 天天射天天搞 | 精品国产一二区 | 99热只有精品在线观看 | 国产精品久久久久久久久久久久午夜 | 在线视频手机国产 | av免费看网站 | 国产精品久久久久久久久久ktv | 亚洲va综合va国产va中文 | 在线免费黄色毛片 | 伊色综合久久之综合久久 | 国产精品99视频 | 成在线播放 | 国产精品 中文在线 | 日韩高清成人 | 九七视频在线观看 | av不卡网站 | 最近中文字幕 | 欧美在线视频第一页 | 国产91对白在线播 | 亚洲春色成人 | 久久久久观看 | 五月婷婷在线视频观看 | 中文字幕亚洲欧美日韩2019 | 在线成人av | 欧美激情视频一二区 | 欧美国产三区 | 婷婷看片 | 国内久久看 | av成年人电影 | 五月婷婷.com | 在线亚洲人成电影网站色www | 国内99视频 | 国产精品网在线观看 | 欧美成人黄 | 亚洲婷婷网 | av在线8| 久久好看免费视频 | 日韩亚洲欧美中文字幕 | 天天干天天射天天爽 | 大荫蒂欧美视频另类xxxx | 久久亚洲电影 | 免费看一级特黄a大片 | 精品国产成人av在线免 | 波多野结衣精品视频 | 婷婷资源站 | 久久精品久久精品久久 | 天天操天天操天天操 | 一级黄色片毛片 | 国产精品久久久久国产精品日日 | 国产在线无 | 超碰在线天天 | 激情中文字幕 | 国产成人综合图片 | 五月婷婷综合在线观看 | 天天干天天想 | 精品91视频 | 国产精品成人一区二区三区吃奶 | 黄污网站在线观看 | 成人a v视频 | 在线观看中文字幕一区 | 亚洲天堂网在线视频 | 91夫妻视频| 国产精品永久免费观看 | 欧美日韩电影在线播放 | 九草在线观看 | 免费在线观看av网站 | 一区二区视频在线免费观看 |