面向?qū)ο蟪虒W(xué)設(shè)計部分課件-用況圖_第1頁
面向?qū)ο蟪虒W(xué)設(shè)計部分課件-用況圖_第2頁
面向?qū)ο蟪虒W(xué)設(shè)計部分課件-用況圖_第3頁
面向?qū)ο蟪虒W(xué)設(shè)計部分課件-用況圖_第4頁
面向?qū)ο蟪虒W(xué)設(shè)計部分課件-用況圖_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、本章的主要概念本章的主要概念系統(tǒng)邊界、參與者、用況、包含、擴展、泛化系統(tǒng)邊界、參與者、用況、包含、擴展、泛化問題的提出:在系統(tǒng)尚未存在時,如何描繪用戶需要一個什么樣的問題的提出:在系統(tǒng)尚未存在時,如何描繪用戶需要一個什么樣的系統(tǒng)?如何規(guī)范地定義用戶需求?系統(tǒng)?如何規(guī)范地定義用戶需求?考慮問題的思路:把系統(tǒng)看作一個黑箱,看它對外部的客觀世界發(fā)考慮問題的思路:把系統(tǒng)看作一個黑箱,看它對外部的客觀世界發(fā)揮什么作用,描述它外部可見的行為。揮什么作用,描述它外部可見的行為。系統(tǒng)是由一條邊界包圍起來的未知空間只通過有限的接口與外部交互系統(tǒng)邊界以外是與系統(tǒng)進行交互的參與者把內(nèi)外交互情況描述清楚,就確切地定義

2、了系統(tǒng)的需求用況圖用況圖:主要用于對系統(tǒng):主要用于對系統(tǒng)(子系統(tǒng)子系統(tǒng))的功能行為進行建模。的功能行為進行建模。益處:益處:通過表示在語境中參與者如何與系統(tǒng)交互,使得系統(tǒng)、子系通過表示在語境中參與者如何與系統(tǒng)交互,使得系統(tǒng)、子系統(tǒng)和類對于用戶和開發(fā)者易于探討和理解。統(tǒng)和類對于用戶和開發(fā)者易于探討和理解。易于對需求規(guī)范化易于對需求規(guī)范化有利于進行有利于進行OOA有助于發(fā)現(xiàn)主動對象有助于發(fā)現(xiàn)主動對象對系統(tǒng)測試來說,產(chǎn)生測試用例。對系統(tǒng)測試來說,產(chǎn)生測試用例。有助于人機界面設(shè)計有助于人機界面設(shè)計系統(tǒng)邊界系統(tǒng)邊界系統(tǒng):系統(tǒng):是由是由“用戶用戶”使用的軟件,以及所有與其相關(guān)的硬件。指使用的軟件,以及所有

3、與其相關(guān)的硬件。指被開發(fā)的計算機軟硬件系統(tǒng),不是指現(xiàn)實世界的系統(tǒng)。被開發(fā)的計算機軟硬件系統(tǒng),不是指現(xiàn)實世界的系統(tǒng)。系統(tǒng)邊界系統(tǒng)邊界:一個系統(tǒng)所包含的所有系統(tǒng)成分與系統(tǒng)以外各種事物的分界線。系統(tǒng)成分:系統(tǒng)成分:在OOA和OOD中定義,在編程時加以實現(xiàn)的系統(tǒng)元素對象參與者參與者( (人員人員) )參與者參與者( (設(shè)備設(shè)備) )參與者參與者( (外系統(tǒng)外系統(tǒng)) )參與者參與者:在系在系統(tǒng)邊界以外,統(tǒng)邊界以外,與系統(tǒng)進行交與系統(tǒng)進行交互的事物互的事物人員、設(shè)備、人員、設(shè)備、外系統(tǒng)外系統(tǒng)3.1 系統(tǒng)邊界系統(tǒng)邊界現(xiàn)實世界中的事物與系統(tǒng)的關(guān)系包括如下幾種情況:現(xiàn)實世界中的事物與系統(tǒng)的關(guān)系包括如下幾種情況:

4、某些事物位于系統(tǒng)邊界內(nèi),作為系統(tǒng)成分。如超市中的商品,某些事物位于系統(tǒng)邊界內(nèi),作為系統(tǒng)成分。如超市中的商品,抽象為系統(tǒng)內(nèi)的抽象為系統(tǒng)內(nèi)的“商品商品”對象。對象。 某些事物位于系統(tǒng)邊界外,作為參與者。某些事物位于系統(tǒng)邊界外,作為參與者。某些事物可能既有一個對象作為其抽象描述,而本身(作為現(xiàn)某些事物可能既有一個對象作為其抽象描述,而本身(作為現(xiàn)實世界中的事物)又是在系統(tǒng)邊界以外與系統(tǒng)進行交互的參與者。實世界中的事物)又是在系統(tǒng)邊界以外與系統(tǒng)進行交互的參與者。如超市中的收款員,他本身是現(xiàn)實中的人,作為參與者;在系統(tǒng)如超市中的收款員,他本身是現(xiàn)實中的人,作為參與者;在系統(tǒng)邊界內(nèi),又有一個相應(yīng)的邊界內(nèi),

5、又有一個相應(yīng)的“收款員收款員”對象來模擬其行為或管理其對象來模擬其行為或管理其信息,作為系統(tǒng)成分。信息,作為系統(tǒng)成分。某些事物即使屬于問題域,也與系統(tǒng)責(zé)任沒有什么關(guān)系。如超某些事物即使屬于問題域,也與系統(tǒng)責(zé)任沒有什么關(guān)系。如超市中的保安員,在現(xiàn)實中與超市有關(guān)系,但與所開發(fā)的系統(tǒng)超市市中的保安員,在現(xiàn)實中與超市有關(guān)系,但與所開發(fā)的系統(tǒng)超市商品管理系統(tǒng)無關(guān)系。這樣的事物既不位于系統(tǒng)邊界內(nèi),也不作商品管理系統(tǒng)無關(guān)系。這樣的事物既不位于系統(tǒng)邊界內(nèi),也不作為系統(tǒng)的參與者。為系統(tǒng)的參與者。認(rèn)識清楚上述事物之間的關(guān)系,也就劃分出了系統(tǒng)邊界。認(rèn)識清楚上述事物之間的關(guān)系,也就劃分出了系統(tǒng)邊界。 簡言之,參與者是

6、在系統(tǒng)之外的與系統(tǒng)進行交互的任何事物。 一個參與者定義了用況的使用者在與這些用況交互時所扮演的一組功能高內(nèi)聚的角色。 參與者是與系統(tǒng)交互的任何事務(wù)。收款檢查參與者可以發(fā)出對系統(tǒng)服務(wù)的請求參與者可以發(fā)出對系統(tǒng)服務(wù)的請求參與者能夠初始系統(tǒng)部分的動作參與者能夠初始系統(tǒng)部分的動作按系統(tǒng)的要求提供服務(wù)按系統(tǒng)的要求提供服務(wù)響應(yīng)系統(tǒng)的請求響應(yīng)系統(tǒng)的請求通過參與者和系統(tǒng)之間服務(wù)請求的復(fù)雜對話與系統(tǒng)交互通過參與者和系統(tǒng)之間服務(wù)請求的復(fù)雜對話與系統(tǒng)交互所有參與者的請求所有參與者的請求/響應(yīng)的完全集構(gòu)成了可以覺察到的系統(tǒng)的響應(yīng)的完全集構(gòu)成了可以覺察到的系統(tǒng)的問題域邊界。問題域邊界。一個參與者的一個實例代表以一種特定

7、的方式與系統(tǒng)進行的單一個參與者的一個實例代表以一種特定的方式與系統(tǒng)進行的單獨的交互。獨的交互。盡管在模型中使用參與者,但參與者實際上并不是系統(tǒng)的一部分。它盡管在模型中使用參與者,但參與者實際上并不是系統(tǒng)的一部分。它們存在于系統(tǒng)之外。們存在于系統(tǒng)之外。 q一些參與者可能具有共同的對系統(tǒng)調(diào)用的請求。一種做法是顯一些參與者可能具有共同的對系統(tǒng)調(diào)用的請求。一種做法是顯式地將這樣的每一個請求與每一個參與者相關(guān)聯(lián)。(不推薦)式地將這樣的每一個請求與每一個參與者相關(guān)聯(lián)。(不推薦)q如果一組參與者具有共同的性質(zhì),可以把這些性質(zhì)抽取出來放如果一組參與者具有共同的性質(zhì),可以把這些性質(zhì)抽取出來放在另一個參與者中,它

8、們再從中繼承,把這種關(guān)系稱為參與者之在另一個參與者中,它們再從中繼承,把這種關(guān)系稱為參與者之間的泛化關(guān)系。間的泛化關(guān)系。 從參與者從參與者A A到參與者到參與者B B之間的之間的泛化關(guān)系泛化關(guān)系是指,是指,A A的實例能與的實例能與和和B B實例實例進行通訊的用況實例進行通訊的用況實例進行通信。進行通信。BA下面是一些指導(dǎo):下面是一些指導(dǎo):1首先將精力集中于啟動系統(tǒng)行為的參與者。這些是最容易識別首先將精力集中于啟動系統(tǒng)行為的參與者。這些是最容易識別的參與者,從中可以找出其他參與者。的參與者,從中可以找出其他參與者。2從用戶的角度考慮,怎樣使用這個系統(tǒng)。從用戶的角度考慮,怎樣使用這個系統(tǒng)。3識別

9、單個參與者在系統(tǒng)中可能擔(dān)當(dāng)?shù)慕巧?,然后確定參與者的識別單個參與者在系統(tǒng)中可能擔(dān)當(dāng)?shù)慕巧?,然后確定參與者的各個角色。各個角色。4.4. 對識別出來的參與者,記錄它們的責(zé)任。對識別出來的參與者,記錄它們的責(zé)任。5. 5. 通過識別一般的或較特殊的角色來組織參與者。通過識別一般的或較特殊的角色來組織參與者。 用戶用戶從直接使用系統(tǒng)的人員中發(fā)現(xiàn)參與者。從直接使用系統(tǒng)的人員中發(fā)現(xiàn)參與者。這里強調(diào)的是直接使用,而不是間接的。這里強調(diào)的是直接使用,而不是間接的。特定的人,在系統(tǒng)中可扮演不同的角色。特定的人,在系統(tǒng)中可扮演不同的角色。例如,添加數(shù)據(jù)、使用數(shù)據(jù)及產(chǎn)生報告的那個人就扮演了三種不同的角例如,添加數(shù)據(jù)

10、、使用數(shù)據(jù)及產(chǎn)生報告的那個人就扮演了三種不同的角色,反映為三種不同的參與者。色,反映為三種不同的參與者。 例如,用戶角色的類別可為:目標(biāo)終端用戶、管理員、經(jīng)理或顧客。例如,用戶角色的類別可為:目標(biāo)終端用戶、管理員、經(jīng)理或顧客。 外部系統(tǒng)外部系統(tǒng)所有與系統(tǒng)交互的外部應(yīng)用系統(tǒng)都是參與者。所有與系統(tǒng)交互的外部應(yīng)用系統(tǒng)都是參與者。從系統(tǒng)邊界的角度,應(yīng)該把與軟件系統(tǒng)一起運行以完成特定任務(wù)的應(yīng)用從系統(tǒng)邊界的角度,應(yīng)該把與軟件系統(tǒng)一起運行以完成特定任務(wù)的應(yīng)用系統(tǒng),看作是外部的應(yīng)用。相對于當(dāng)前在正在開發(fā)的系統(tǒng)而言,外部應(yīng)用系統(tǒng)可系統(tǒng),看作是外部的應(yīng)用。相對于當(dāng)前在正在開發(fā)的系統(tǒng)而言,外部應(yīng)用系統(tǒng)可以是其他子系

11、統(tǒng)、上級系統(tǒng)、下級系統(tǒng)或任何與它進行協(xié)作的系統(tǒng),但對它的開以是其他子系統(tǒng)、上級系統(tǒng)、下級系統(tǒng)或任何與它進行協(xié)作的系統(tǒng),但對它的開發(fā)并不是當(dāng)前系統(tǒng)的開發(fā)小組的責(zé)任。發(fā)并不是當(dāng)前系統(tǒng)的開發(fā)小組的責(zé)任。 設(shè)備設(shè)備識別所有與系統(tǒng)交互的設(shè)備。識別所有與系統(tǒng)交互的設(shè)備。這樣的設(shè)備與系統(tǒng)相連,向系統(tǒng)提供外界信息,或在系統(tǒng)的控制下運這樣的設(shè)備與系統(tǒng)相連,向系統(tǒng)提供外界信息,或在系統(tǒng)的控制下運行。通常,不包括監(jiān)視器、鍵盤、鼠標(biāo)和其它的標(biāo)準(zhǔn)的用戶接口類型設(shè)備,但行。通常,不包括監(jiān)視器、鍵盤、鼠標(biāo)和其它的標(biāo)準(zhǔn)的用戶接口類型設(shè)備,但我們考慮外部傳感器(輸入信息)和受控馬達(輸出信息)。我們考慮外部傳感器(輸入信息)和

12、受控馬達(輸出信息)??偨Y(jié):如何發(fā)現(xiàn)參與者?總結(jié):如何發(fā)現(xiàn)參與者?人員人員系統(tǒng)的直接使用者系統(tǒng)的直接使用者直接為系統(tǒng)服務(wù)的人員直接為系統(tǒng)服務(wù)的人員設(shè)備設(shè)備與系統(tǒng)直接相聯(lián)的設(shè)備與系統(tǒng)直接相聯(lián)的設(shè)備為系統(tǒng)提供信息為系統(tǒng)提供信息在系統(tǒng)控制下運行在系統(tǒng)控制下運行不與系統(tǒng)相聯(lián)的設(shè)備不與系統(tǒng)相聯(lián)的設(shè)備計算機設(shè)備計算機設(shè)備外系統(tǒng)外系統(tǒng)上級系統(tǒng)上級系統(tǒng)子系統(tǒng)子系統(tǒng)其它系統(tǒng)其它系統(tǒng)超市銷售管理系統(tǒng)收款員供貨員上級系統(tǒng)收款員、供貨員、導(dǎo)購員、經(jīng)理、保安、顧客收款機? 用況是對參與者使用系統(tǒng)的一項功能時所進行的交互過程的描述。用況是對參與者使用系統(tǒng)的一項功能時所進行的交互過程的描述。 用戶需求是分析工用戶需求是分析

13、工作的起點,但分析員能夠得到的反映用戶需求的材料常常是不夠規(guī)范或不夠準(zhǔn)確作的起點,但分析員能夠得到的反映用戶需求的材料常常是不夠規(guī)范或不夠準(zhǔn)確的。通過全面、認(rèn)真地定義用況,可把用戶對系統(tǒng)的功能需求比較準(zhǔn)確地在用況的。通過全面、認(rèn)真地定義用況,可把用戶對系統(tǒng)的功能需求比較準(zhǔn)確地在用況中表達出來,并且在形式上是較為規(guī)范的。中表達出來,并且在形式上是較為規(guī)范的。 。系統(tǒng)、子系統(tǒng)可能會很復(fù)雜,充系統(tǒng)、子系統(tǒng)可能會很復(fù)雜,充滿了操作和其它部分。通過用況,可以幫助這些元素的使用者根據(jù)他們將如何使?jié)M了操作和其它部分。通過用況,可以幫助這些元素的使用者根據(jù)他們將如何使用這些元素而直接地認(rèn)識它們。用況使一個元素

14、的作者可以就元素應(yīng)該如何被使用這些元素而直接地認(rèn)識它們。用況使一個元素的作者可以就元素應(yīng)該如何被使用,表達意圖。用,表達意圖。 用況用況是對參與者使用系統(tǒng)的一項功能時所進行的交互過程的一個文是對參與者使用系統(tǒng)的一項功能時所進行的交互過程的一個文字描述序列字描述序列。幾點說明:幾點說明:(1 1)一個用況描述參與者對一項或幾項系統(tǒng)功能的使用情況。)一個用況描述參與者對一項或幾項系統(tǒng)功能的使用情況。而且只有當(dāng)外而且只有當(dāng)外部的參與者與該系統(tǒng)或類目進行交互時,該功能才發(fā)揮作用。部的參與者與該系統(tǒng)或類目進行交互時,該功能才發(fā)揮作用。 (2 2)用況中描述的行為實際上是系統(tǒng)級的。在用況內(nèi)所描述的交互中的

15、動作用況中描述的行為實際上是系統(tǒng)級的。在用況內(nèi)所描述的交互中的動作應(yīng)該是詳細的,準(zhǔn)則是對用況的理解不產(chǎn)生歧義即可應(yīng)該是詳細的,準(zhǔn)則是對用況的理解不產(chǎn)生歧義即可;若描述得過于綜合,則若描述得過于綜合,則不易認(rèn)識清楚系統(tǒng)的功能。不易認(rèn)識清楚系統(tǒng)的功能。(3 3)陳述參與者和系統(tǒng)在交互過程中雙方所做的事。而且描述彼此為對方直)陳述參與者和系統(tǒng)在交互過程中雙方所做的事。而且描述彼此為對方直接地做什么事,不描述怎么做,接地做什么事,不描述怎么做,內(nèi)部細節(jié)不要在其中描述。內(nèi)部細節(jié)不要在其中描述。 (4 4)用況既表達了系統(tǒng)的功能需求,也表達了系統(tǒng)的功能劃分。用況既表達了系統(tǒng)的功能需求,也表達了系統(tǒng)的功能劃

16、分。 2 2 定義及表示法定義及表示法(5 5)描述應(yīng)力求準(zhǔn)確、清晰,允許概括,但不要把雙方的行為混在)描述應(yīng)力求準(zhǔn)確、清晰,允許概括,但不要把雙方的行為混在一起。一起。(6 6)系統(tǒng)執(zhí)行該動作序列來為參與者產(chǎn)生一個可觀察的結(jié)果值。系統(tǒng)執(zhí)行該動作序列來為參與者產(chǎn)生一個可觀察的結(jié)果值。(7 7)用況描述的是一個參與者所使用的一項系統(tǒng)功能,該項功能應(yīng)用況描述的是一個參與者所使用的一項系統(tǒng)功能,該項功能應(yīng)該相對完整。這就要求一個用況描述的功能,即不能過大以至于包含該相對完整。這就要求一個用況描述的功能,即不能過大以至于包含過多的內(nèi)容,也不能過小以至于僅包含完成一項功能的若干步驟。過多的內(nèi)容,也不能過

17、小以至于僅包含完成一項功能的若干步驟。 (8)用況描述中的一個步驟應(yīng)該描述且僅描述參與者或系統(tǒng)要完成)用況描述中的一個步驟應(yīng)該描述且僅描述參與者或系統(tǒng)要完成的一件事情。的一件事情。 (9)可以使用類圖、活動圖等對用況進行詳細說明。)可以使用類圖、活動圖等對用況進行詳細說明。 例如,在ATM 系統(tǒng)中,描述一個用況“驗證用戶驗證用戶” 可以采用以下方式: 基本流:在系統(tǒng)提示顧客輸入PIN編號時,用況開始。顧客通過按鍵輸入PIN號。顧客按“輸入”按鈕確認(rèn)登錄。系統(tǒng)校驗這個PIN 號是否有效。如果有效,系統(tǒng)承認(rèn)這次登錄,該用況結(jié)束。 可選流:顧客可以在任何時間通過按“取消”按鈕取消一個事務(wù),這樣,該用

18、況重新開始。顧客的賬戶未發(fā)生改變。 可選流:顧客可以在確認(rèn)之前的任何時刻清除PIN號,并重新輸入一個新的PIN號。 可選流:如果顧客輸入了一個無效的PIN 號,用況重新開始。如果連續(xù)3 次無效,系統(tǒng)將取消整個事務(wù),并在60 秒內(nèi)阻止該顧客與ATM 進行交易。收款員收款收款員收款輸入開始本次收款的命令;輸入開始本次收款的命令; 作好收款準(zhǔn)備,應(yīng)收款總作好收款準(zhǔn)備,應(yīng)收款總 數(shù)置為數(shù)置為0 0,輸出提示信息;,輸出提示信息;for for 顧客選購的每種商品顧客選購的每種商品 dodo 輸入商品編號;輸入商品編號; if if 此種商品多于一件此種商品多于一件 thenthen 輸入商品數(shù)量輸入商

19、品數(shù)量 end ifend if; 檢索商品名稱及單價;檢索商品名稱及單價; 貨架商品數(shù)減去售出數(shù);貨架商品數(shù)減去售出數(shù); if if 貨架商品數(shù)低于下限貨架商品數(shù)低于下限thenthen 通知供貨員請求上貨通知供貨員請求上貨 end ifend if; 計算本種商品總價并打印編號、計算本種商品總價并打印編號、 名稱、數(shù)量、單價、總價;名稱、數(shù)量、單價、總價; 總價累加到應(yīng)收款總數(shù);總價累加到應(yīng)收款總數(shù);end forend for; 打印應(yīng)收款總數(shù);打印應(yīng)收款總數(shù);輸入顧客交來的款數(shù);輸入顧客交來的款數(shù); 計算應(yīng)找回的款數(shù),計算應(yīng)找回的款數(shù), 打印以上兩個數(shù)目,打印以上兩個數(shù)目, 應(yīng)收款數(shù)計

20、入帳冊。應(yīng)收款數(shù)計入帳冊。例用況示例用況示例表示形式表示形式:名稱(參與者,功能)名稱(參與者,功能)行為描述行為描述控制語句控制語句括號或標(biāo)號括號或標(biāo)號收款員收款3 用況與參與者之間的關(guān)系用況與參與者之間的關(guān)系 用況用況與參與者間的關(guān)聯(lián)是參與者在用況中的參與(也就是參與者與參與者間的關(guān)聯(lián)是參與者在用況中的參與(也就是參與者實例與用況實例之間的相互通信)。實例與用況實例之間的相互通信)。若沒有進行特殊的說明,任何一方都可發(fā)送和接收消息。即交互若沒有進行特殊的說明,任何一方都可發(fā)送和接收消息。即交互是雙向的,參與者能夠產(chǎn)生對系統(tǒng)的請求,或系統(tǒng)要求參與者采是雙向的,參與者能夠產(chǎn)生對系統(tǒng)的請求,或系

21、統(tǒng)要求參與者采取某些動作。取某些動作。這是參與者和用況之間的唯一關(guān)系。這是參與者和用況之間的唯一關(guān)系。把參與者和用況之間的關(guān)聯(lián)表示成參與者和用況之間的一條實線。把參與者和用況之間的關(guān)聯(lián)表示成參與者和用況之間的一條實線。 用況的一個用況的一個場景場景是指用況執(zhí)行過程是指用況執(zhí)行過程中的一個特定的實例或執(zhí)行路徑。中的一個特定的實例或執(zhí)行路徑。收款檢查一個用況可能要與系統(tǒng)的一個或幾個參與者交互。一個用況可能要與系統(tǒng)的一個或幾個參與者交互。 在下述情況下,就需要考慮產(chǎn)生新的用況,并在用況間建立關(guān)系:在一個用況中存在著幾處重復(fù)使用的動作序列;在幾個用況中存在著重復(fù)使用的動作序列;一個用況中的主要動作序列

22、或分支動作序列過于冗長或復(fù)雜,而且分離它們有助于管理和理解。If AIF CIF AIF C A C用況X用況YIF (A)IF (C)IF(A)IF (C)用況X用況Y 從基用況到擴展用況的擴展關(guān)系表明:按基用況中指定的從基用況到擴展用況的擴展關(guān)系表明:按基用況中指定的擴展條件,把擴展用況的行為插入到由基用況中的擴展點定義擴展條件,把擴展用況的行為插入到由基用況中的擴展點定義的位置。的位置。 通過敞開的虛線箭頭表示用況之間的擴展關(guān)系,該箭頭從通過敞開的虛線箭頭表示用況之間的擴展關(guān)系,該箭頭從提供擴展的用況指向基用況。這個箭頭用關(guān)鍵字提供擴展的用況指向基用況。這個箭頭用關(guān)鍵字標(biāo)記??梢栽谶@個關(guān)

23、鍵字附近表示這個關(guān)系的條件。標(biāo)記??梢栽谶@個關(guān)鍵字附近表示這個關(guān)系的條件?;脹r基用況擴展用況擴展用況extend基用況是可單獨存在的,但是在一定的條件下,它的行為可以被另一個用況的行為擴展。擴展用況定義一組行為增量,擴展用況定義的行為離開基用況單獨是沒意義的。 一個擴展用況可以擴展多個用況,一個用況也可以被多個用況擴展,甚至一個擴展用況自身也可以被其他擴展用況來擴展。 適應(yīng)之處:適應(yīng)之處: (1)異常情況 (2)正常的變形描述時,而且希望采用更多的控制方式時,采用擴展。即在一個變化點上一個附加多個變體的場合下使用。 (3)用擴展關(guān)系來區(qū)分可實現(xiàn)系統(tǒng)的可配置部分。定義定義:一個擴展點是用況中的

24、一個位一個擴展點是用況中的一個位置,在這樣的位置上,如果擴展條件為置,在這樣的位置上,如果擴展條件為真,可就以插入擴展用況中描述的全部真,可就以插入擴展用況中描述的全部動作序列或其中的一部分,并予以執(zhí)行。動作序列或其中的一部分,并予以執(zhí)行。執(zhí)行完后,基用況繼續(xù)執(zhí)行擴展點下面執(zhí)行完后,基用況繼續(xù)執(zhí)行擴展點下面的行為。如果擴展條件為假,擴展不會的行為。如果擴展條件為假,擴展不會發(fā)生。發(fā)生。 可以把擴展點列在用況中的一個題可以把擴展點列在用況中的一個題頭為頭為“擴展點擴展點”的分欄中。以一種適當(dāng)?shù)姆謾谥?。以一種適當(dāng)?shù)姆绞浇o出擴展點的位置描述,通常采的方式給出擴展點的位置描述,通常采用普通的文本。用普

25、通的文本。 AA A用況X用況Y(A)(A)用況X用況Y 從基用況到供應(yīng)者用況的包含關(guān)系表明:基用況在它內(nèi)部從基用況到供應(yīng)者用況的包含關(guān)系表明:基用況在它內(nèi)部說明的某一(些)位置上顯式地使用供應(yīng)者用況的行為的結(jié)果。說明的某一(些)位置上顯式地使用供應(yīng)者用況的行為的結(jié)果。 通過一個敞開的虛線箭頭表示用況之間的包含關(guān)系,該箭通過一個敞開的虛線箭頭表示用況之間的包含關(guān)系,該箭頭 從 基 用 況 指 向 被 包 含 的 用 況 。 這 個 箭 頭 用 關(guān) 鍵 字頭 從 基 用 況 指 向 被 包 含 的 用 況 。 這 個 箭 頭 用 關(guān) 鍵 字標(biāo)記。標(biāo)記。 包含關(guān)系使得我們在一個用況中局部化多個用況

26、中共同的活包含關(guān)系使得我們在一個用況中局部化多個用況中共同的活動序列。這樣,可以避免多次描述同一事件流;當(dāng)這個共同的動序列。這樣,可以避免多次描述同一事件流;當(dāng)這個共同的序列發(fā)生變化時,這樣就顯現(xiàn)出優(yōu)勢,即只需要在一個地方進序列發(fā)生變化時,這樣就顯現(xiàn)出優(yōu)勢,即只需要在一個地方進行改動。行改動。 包含用況不能修改被包含用況中的內(nèi)容,只是對結(jié)果的引用。包含用況不能修改被包含用況中的內(nèi)容,只是對結(jié)果的引用。供應(yīng)者供應(yīng)者基用況基用況include 用況之間的泛化關(guān)系就像類之間的泛化關(guān)系一樣。子用用況之間的泛化關(guān)系就像類之間的泛化關(guān)系一樣。子用況繼承父用況的行為和含義;子用況還可以增加或覆蓋父用況繼承父

27、用況的行為和含義;子用況還可以增加或覆蓋父用況的行為;子用況可以出現(xiàn)在父用況出現(xiàn)的任何位置(父和況的行為;子用況可以出現(xiàn)在父用況出現(xiàn)的任何位置(父和子均有具體的實例)。子均有具體的實例)。 用一個指向父用況的帶有封閉的空心箭頭的實線來表示用一個指向父用況的帶有封閉的空心箭頭的實線來表示用況之間的泛化關(guān)系。用況之間的泛化關(guān)系。 BA 資金轉(zhuǎn)帳 扣除費用 不允許透支也可以使用包含處理取款單處理取款單業(yè)務(wù)員輸入處理取款命令I(lǐng)nclude 檢查口令收集客戶的取款單上的信息;加急(擴展點)如果客戶選擇了加急 extend 處理加急取款單1)利用參與者捕獲用況)利用參與者捕獲用況 對所有的參與者(把自己作

28、為參與者),提問下列問題:對所有的參與者(把自己作為參與者),提問下列問題: 每個參與者的主要任務(wù)是什么?每個參與者的主要任務(wù)是什么? 為了達到某種目的,它們參加什么活動?該參與者是否將讀寫為了達到某種目的,它們參加什么活動?該參與者是否將讀寫系統(tǒng)的任何信息?參與者是否該把系統(tǒng)外部的變化通知系統(tǒng)?參與系統(tǒng)的任何信息?參與者是否該把系統(tǒng)外部的變化通知系統(tǒng)?參與者是否希望系統(tǒng)把預(yù)料之外的變化通知自己?者是否希望系統(tǒng)把預(yù)料之外的變化通知自己? 在交互過程中,它們是怎樣使用系統(tǒng)的服務(wù)來完成它們的任務(wù)在交互過程中,它們是怎樣使用系統(tǒng)的服務(wù)來完成它們的任務(wù)以達到目的?以達到目的? 它們參加了什么在本質(zhì)上是

29、不同的過程?它們參加了什么在本質(zhì)上是不同的過程? 是什么事件引起了與系統(tǒng)進行交互的序列?是什么事件引起了與系統(tǒng)進行交互的序列? 能完成特定功能的每一項活動明確地是一個用況。這些參與者能完成特定功能的每一項活動明確地是一個用況。這些參與者參與的活動,通常會導(dǎo)致其它用況。參與的活動,通常會導(dǎo)致其它用況。 用于本步驟的一些簡單的指導(dǎo)如下:用于本步驟的一些簡單的指導(dǎo)如下:(1) 一個用況描述一項功能,這項功能不能過大。例如,把一個企業(yè)信息管一個用況描述一項功能,這項功能不能過大。例如,把一個企業(yè)信息管理系統(tǒng)粗略地分為生產(chǎn)管理、供銷管理、財務(wù)管理和人事管理等幾大方面的功理系統(tǒng)粗略地分為生產(chǎn)管理、供銷管理

30、、財務(wù)管理和人事管理等幾大方面的功能,就顯得粒度太大了,應(yīng)該再進行細化。能,就顯得粒度太大了,應(yīng)該再進行細化。(2 2)全面地認(rèn)識和定義每一個用況,要點是以)全面地認(rèn)識和定義每一個用況,要點是以窮舉的方式窮舉的方式考慮每一個參與者考慮每一個參與者與系統(tǒng)的交互情況,看看每個參與者要求系統(tǒng)提供什么功能,以及參與者的每與系統(tǒng)的交互情況,看看每個參與者要求系統(tǒng)提供什么功能,以及參與者的每一項輸入信息將要求系統(tǒng)作出什么反映,進行什么處理。一項輸入信息將要求系統(tǒng)作出什么反映,進行什么處理。(3 3)以以窮舉的方式窮舉的方式檢查用戶對系統(tǒng)的功能需求是否能在各個用況中體現(xiàn)出來。檢查用戶對系統(tǒng)的功能需求是否能在

31、各個用況中體現(xiàn)出來。(4 4)一個用況應(yīng)該是一個完整的任務(wù),通常應(yīng)該在一個相對短的時間段內(nèi)完一個用況應(yīng)該是一個完整的任務(wù),通常應(yīng)該在一個相對短的時間段內(nèi)完成。如果一個用況的各部分被分配在不同的時間段,尤其被不同的參與者執(zhí)行,成。如果一個用況的各部分被分配在不同的時間段,尤其被不同的參與者執(zhí)行,最好還是將各部分作為單獨的用況對待。最好還是將各部分作為單獨的用況對待。(5 5)考慮對例外情況的處理。針對用況描述的基本流,要詳盡地考慮各種其考慮對例外情況的處理。針對用況描述的基本流,要詳盡地考慮各種其他的情況他的情況 場景用況抽象3)、使用場景技術(shù)、使用場景技術(shù) 如果不能順利地確定一個用況的描述,可

32、盡早使用人們熟知的“角色扮演”技術(shù)。 用況名用況名描述:對該用況的一句或兩句的描述。描述:對該用況的一句或兩句的描述。參與者:參與該用況的參與者。參與者:參與該用況的參與者。包含:該用況所包含的用況,以及包含它的用況。包含:該用況所包含的用況,以及包含它的用況。擴展:該用況可以擴展的用況,以及擴展它的用況。擴展:該用況可以擴展的用況,以及擴展它的用況。泛化:若該用況的子用況和父用況。泛化:若該用況的子用況和父用況。前置條件:啟動此用況所必須具備的條件。前置條件:啟動此用況所必須具備的條件。細節(jié):該用況的細節(jié)。(基本流與可選流)細節(jié):該用況的細節(jié)。(基本流與可選流)后置條件:在該用況結(jié)束時確保成

33、立的條件。后置條件:在該用況結(jié)束時確保成立的條件。例外:在該用況的執(zhí)行的過程中可能引起的例外例外:在該用況的執(zhí)行的過程中可能引起的例外*。限制:在應(yīng)用中可能出現(xiàn)的任何限制限制:在應(yīng)用中可能出現(xiàn)的任何限制*。注釋:提供可能對該用況是重要的任何附加信息。注釋:提供可能對該用況是重要的任何附加信息。 用況圖展示了用況之間以及同用況與參與者之間是怎樣相互聯(lián)用況圖展示了用況之間以及同用況與參與者之間是怎樣相互聯(lián)系的。用況圖用于對系統(tǒng)、子系統(tǒng)或類的行為進行可視化,使用戶系的。用況圖用于對系統(tǒng)、子系統(tǒng)或類的行為進行可視化,使用戶能夠理解如何使用這些元素,并使開發(fā)者能夠?qū)崿F(xiàn)這些元素。能夠理解如何使用這些元素,

34、并使開發(fā)者能夠?qū)崿F(xiàn)這些元素。 用況圖用況圖呈現(xiàn)了一些參與者和一些用況,以及它們之間的關(guān)系。呈現(xiàn)了一些參與者和一些用況,以及它們之間的關(guān)系。 在圖形上,用況圖是一幅由一組參與者、一組用況以及這些元在圖形上,用況圖是一幅由一組參與者、一組用況以及這些元素之間的關(guān)系組成的圖。這些關(guān)系是參與者和用況之間的關(guān)聯(lián)、參素之間的關(guān)系組成的圖。這些關(guān)系是參與者和用況之間的關(guān)聯(lián)、參與者之間的泛化,以及用況之間的泛化、擴展和包含。與者之間的泛化,以及用況之間的泛化、擴展和包含。 可以選擇把一些用況用一個矩形圍起來,用來表示系統(tǒng)、子系可以選擇把一些用況用一個矩形圍起來,用來表示系統(tǒng)、子系統(tǒng)或統(tǒng)或“類類”的邊界。的邊界

35、。 用況圖可以包含注解和約束。用況圖可以包含注解和約束。 use case ause case b use case c用況圖用況圖參與者 s參與者 g被包含的use case該用況應(yīng)優(yōu)先開發(fā)運 輸 公司職員訂購貨物獲取訂單狀態(tài)獲取目錄取消訂單客戶退貨客戶代表運送貨物發(fā)送貨物計算運費供貨商? 通過識別系統(tǒng)周圍的參與者來建立系統(tǒng)的語境。 對于每個參與者,考慮它期望的或需要系統(tǒng)提供的行為。 把上述的行為命名為用況。 分解公共行為,放入新的用況中,以供其他的用況使用;分解異常行為,放入新的用況中,以延伸較為主要的控制流。 在用況圖中對這些用況、參與者以及它們的關(guān)系進行建模。 用陳述非功能需求的注解或

36、約束來修飾這些用況,可能還要把其中的一些附加到整個系統(tǒng)。注:有人把不與系統(tǒng)進行內(nèi)外交互的情況也作為一個用況,如在一個信用卡驗證的系統(tǒng)中,把系統(tǒng)內(nèi)的對信用卡的欺詐檢查也作為一個用況*。 確定系統(tǒng)環(huán)境中的所有角色,并都歸入了相應(yīng)的參與者。確定系統(tǒng)環(huán)境中的所有角色,并都歸入了相應(yīng)的參與者。 每個參與者都至少和一個用況關(guān)聯(lián);每個參與者都至少和一個用況關(guān)聯(lián); 若一個參與者是另一個參與者的一部分,或扮演了類似的角色,考慮在若一個參與者是另一個參與者的一部分,或扮演了類似的角色,考慮在它們之間使用泛化關(guān)系;它們之間使用泛化關(guān)系; 每個用況都至少和一個參與者相關(guān);每個用況都至少和一個參與者相關(guān); 若兩個用況有相同或相似的序列,可能需要合并它們,或抽取出一個新若兩個用況有相同或相似的序列,可能需要合并它們,或抽取出一個新用況,在它們之間使用包含、擴展或泛化關(guān)系。用況,在它們之間使用包含、擴展或泛化關(guān)系。 若用況過于復(fù)雜,為了易于理解,考慮進行分解;若用況過于復(fù)雜,為了易于理解,考慮進行分解;若一個用況中有完全若一個用況中有完全不

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論