欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

面向對象技術之需求分析:usecase圖-創(chuàng)新互聯(lián)

一、Usecase圖的歷史與黑盒視角

創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、大方網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5場景定制商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設公司、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為大方等各大城市提供網(wǎng)站開發(fā)制作服務。

1.用況圖的歷史

l1987年,I.Jacbson首先提出

l得到了許多方法學的采納

l90年代末被UML采納并標準化

2.系統(tǒng)邊界

l黑盒:系統(tǒng)對外部的客觀世界發(fā)揮什么作用,提供什么業(yè)務功能來展現(xiàn)系統(tǒng)

l白盒:系統(tǒng)如何提供業(yè)務功能的。

面向對象技術之需求分析:usecase圖

n問題的提出:在系統(tǒng)尚未存在時,如何描繪用戶需要一個什么樣的系統(tǒng)?如何規(guī)范地定義用戶需求?

n考慮問題的思路:把系統(tǒng)看作一個黑箱,看它對外部的客觀世界發(fā)揮什么作用,描述它外部可見的行為。

系統(tǒng)邊界與參與者

l系統(tǒng)邊界:一個系統(tǒng)所包含的所有系統(tǒng)成分與系統(tǒng)以外各種事物的分界線。

l系統(tǒng):是由“用戶”使用的軟件,以及所有與其相關的硬件。指被開發(fā)的計算機軟硬件系統(tǒng),不是指現(xiàn)實世界的系統(tǒng)。

l系統(tǒng)成分:在OOA和OOD中定義,在編程時加以實現(xiàn)的系統(tǒng)元素——對象系統(tǒng)邊界與參與者

l參與者:在系統(tǒng)邊界以外,與系統(tǒng)進行交互的事物——人員、設備、外系統(tǒng)

面向對象技術之需求分析:usecase圖

   注意問題:

 l系統(tǒng)是指被開發(fā)的計算機軟硬件系統(tǒng)自身。

 l問題域中的某些事物將作為參與者處理。

 l原來已經(jīng)存在的系統(tǒng),看作是一個外系統(tǒng)。

 l子系統(tǒng)彼此之間都可以互為外系統(tǒng)。

   現(xiàn)實世界中的事物與系統(tǒng)的關系包括如下幾種情況:

 l某些事物位于系統(tǒng)邊界內(nèi),作為系統(tǒng)成分。

 l某些事物位于系統(tǒng)邊界外,作為參與者。

 l某些事物可能既作為參與者,有作為系統(tǒng)成分。

 l某些事物既不作為參與者,又不作為系統(tǒng)成分。

二、參與者的概念、分類與關系

   參與者

 l簡而言之,參與者是在系統(tǒng)之外的與系統(tǒng)進行交互的任何事物。

 l定義:參與者模型系統(tǒng)之外的實體,當外部實體與系統(tǒng)交互時,它就扮演某一特定參與者的角色。

面向對象技術之需求分析:usecase圖

n參與者可以發(fā)出對系統(tǒng)服務的請求

n按系統(tǒng)的要求提供服務

n通過參與者和系統(tǒng)之間服務請求的復雜對話與系統(tǒng)交互

n所有參與者的請求/響應的完全集構成了可以察覺到的系統(tǒng)的問題域邊界。

n一個參與者的一個實例代表以一種特定的方式與系統(tǒng)進行的單獨的交互。

n盡管在模型中使用參與者,但參與者實際上并不是系統(tǒng)的一部分。它們存在于系統(tǒng)之外。

   參與者之間的泛化關系

 2一些參與者可能具有共同的對系統(tǒng)調用的請求。

一種做法是顯式地將這樣相同的每一個請求與每一個參與者相關聯(lián)。(不推薦)

 2如果一組參與者具有共同的性質,可以把這些性質抽取出來放在另一個參與者中,它們再從中繼承,把這種關系稱為參與者之間的泛化關系。

 2定義:從參與者A到參與者B之間的泛化關系是指,A的實例能與和B實例進行通訊的用況實例進行通信。

       450面向對象技術之需求分析:usecase圖

三、識別參與者的策略與技巧

   識別參與者

   1.首先將精力集中于啟動系統(tǒng)行為的參與者。

   2.從用戶、外部系統(tǒng)和設備三個方面發(fā)現(xiàn)參與者。

   3.通過識別一般的或較特殊的角色來組織參與者。

   用戶、外部系統(tǒng)與設備

   用戶

從直接使用系統(tǒng)的人員中發(fā)現(xiàn)參與者

這里強調的是直接使用,而不是間接的。

特定的人,在系統(tǒng)中可扮演不同的角色。

是用戶角色的類別

   外部系統(tǒng)

所有與系統(tǒng)交互的外部應用系統(tǒng)都是參與者

ü外部應用系統(tǒng)可以是其他子系統(tǒng),上級系統(tǒng)或任何與它進行協(xié)作的系統(tǒng)。

   設備

識別所有與系統(tǒng)交互的設備

ü與系統(tǒng)相連的設備

ü向系統(tǒng)提供外界信息或系統(tǒng)的控制下運行。

ü通常,不包括監(jiān)視器、鍵盤、鼠標和其他的標準的用戶接口類型設備。

ü考慮外部傳感器(輸入信息)和受控馬達(輸出信息)。

面向對象技術之需求分析:usecase圖

       外部事件

 l當我們構造實時和異步交互的系統(tǒng)時,將外部事件識別為潛在的參與者就變的更加重要。

   例如,由時間的流逝而激發(fā)系統(tǒng)的活動是常見的情況。可以把時間事件作為一個參與者,也可以把時間事件作為系統(tǒng)的一部分。

面向對象技術之需求分析:usecase圖

四、用況與簡單案例

   用況

   定義:用況是對參與者使用系統(tǒng)的一項功能時所進行的交互過程的描述。

   A use case is a special sequence of transactions, performed by auser and a system in a dialogue.[Jacobson 1987]

   使用用況的原因

ü用況是對用戶需求(主要是功能需求)的規(guī)范化的描述。

ü為領域專家、最終用戶和開發(fā)者提供一種相互交流的手段。

ü為開發(fā)者提供一種認識和理解系統(tǒng)的方法。

ü用況是開發(fā)期間隨著演化而測試每個元素的基礎。

   用況與參與者之間的關系

       定義:關聯(lián)是參與者在用況中的參與(也就是參與者實例與用況實例之間的相互通信)。

       若沒有進行特殊的說明,任何一方都可以發(fā)送和接受消息。

       這是參與者和用況之間的唯一關系。交互是雙向的,參與者能夠產(chǎn)生對系統(tǒng)的請求,或系統(tǒng)要求參與者采取的某些動作。

       把參與者和用況之間的關聯(lián)表示成參與者和用況之間的一條實線。

   例1:語音郵件系統(tǒng)

       在語音郵件系統(tǒng)中,當有人撥打一個號碼時,如果沒有人接聽此電話,此人便留下信息。以后,該信息那個被另一個人檢索到并進行保留或刪除。

面向對象技術之需求分析:usecase圖

    一個用況可能同多個參與者交互

       參與者之間通過系統(tǒng)實時交互

       參與者之間與系統(tǒng)處于同一控制流

   例2:選課系統(tǒng)

   在選課系統(tǒng)中,學生登錄后可以查詢所有的課程,并選擇所要修的課程,也可以放棄已經(jīng)選擇的課程,教務員登錄后可以加入新的課程,刪除一門課程,并可以與指導者一起審查學生所選的課程,如果不合適,則取消其所選的課程。

面向對象技術之需求分析:usecase圖

五、用況參與者及用況之間的關系與案例

   用況之間的關系——擴展關系

定義:從用況A到用況B的擴展關系是指,用況B的實例是可以被用況A指定的行為擴充(服從于在擴展中指定的特殊條件)。行為被插入到由B中的擴展點定義的位置。

通過敞開的虛線箭頭表示用況之間的擴展關系,該箭頭從提供擴展的用況指向基用況。這個箭頭用關鍵字<<extend>>標記。可以在這個關鍵字附近表示這個關系的條件。

擴展點是用況中的一個位置,在該位置上,可以插入另外一些用況的動作序列。

在一個用況中,每一個擴展點的名字是唯一。

可以把擴展點列在用況中的一個題頭為“擴展點”的分欄中。以一種適當?shù)姆绞浇o出擴展點的位置描述,通常采用普通的文本。

面向對象技術之需求分析:usecase圖

   用況之間的關系——包含關系

定義:從用況A到用況B的包含關系表明,用況A的一個實例也包含了用況B所指向的行為。在用況A中定義的位置包含該行為。

通過一個敞開的虛線箭頭表示用況之間的包含關系,該箭頭從基用況指向被包含的用況。這個箭頭用關鍵字<<include>>標記。

包含關系使得我們在一個用況中局部化多個用況中共同的活動序列。這樣,可以避免多次描述同一事件流;當這個共同的序列發(fā)生變化時,這樣就顯示出優(yōu)勢,即只需要在一個地方進行改動。

面向對象技術之需求分析:usecase圖

六、不同學者對包含關系與擴展關系的區(qū)別

   觀點1

       相同點

n都是不完整的

n都離不開基本用況

n都可實現(xiàn)為子程序

   不同點

n方向不同

n1對多選包含關系(1個子用況,多個主用況)

n多對1選擴展(多個子用況,1個主用況)

n包含處理一般的情況(調用時,為無條件調用)

n擴展處理特殊的情況(調用時,為有條件調用)

   觀點2

        Maksimchuk &Naiburg, UML for Mere Mortals,2005


include

Extend

這個usecase是可選的嗎

沒有這個usecase,基本usecase是否完整

這個usecase的執(zhí)行是有條件的嗎

這個usecase改變了基本usecase的行為嗎

   觀點3

        Usecases-Yesterday, today, and tomorrow, Ivar Jacobson

       相同點

nExtensions/inclusions that are concrete use cases.(擴展/包含是具體的用況)

nExtensions/inclusions that are just fragments of a use case.(擴展/包含是用況的一部分)

nExtensions/inclusions use cases are both related to a base use case.(擴展/包含相關的用況都是基本用況)

nWhen the usecase instance has come to the end of the extension orthe inclusion use case, it will return to the base use case and to the positionin the flow described in the base use case, where it left off.

   不同點

nThe major difference between extension and inclusion use cases isthe way that use case instance is instructed to interrupt the base use case andinstead follow the extension or inclusion use case.

nIn the case of inclusion, the base flow itself explicitly instructsthe use-case instance to obey the inclusion use case.

nIn the case of extension, the base flow doesn’t specify theinterruption; instead, the extension use case specifies where in the base usecase the use case instance shall make the interruption.

   觀點4

        UML Distilled,MartinFowler

        當在兩個或多個獨立usecase中重復自己并希望避免重復時,使用包含。

        當表述關于正常行為的一個變化情形并希望臨時表述時,使用泛化。

        當表述正常行為的一個變化情形并希望使用更為受控的形式在基本usecase中說明擴展點時,使用擴展。

   觀點5

        面向對象的系統(tǒng)分析,邵維忠,楊芙清

        語義差別甚微

        實踐中很容易相混

        為什么沒有包含點

        方向不同

七、用況之間的泛化關系、用況的詳細描述、識別策略與注意問題

   泛化關系

子用況繼承父用況的行為和含義。

子用況還可以增加或覆蓋父用況的行為。

子用況可以出現(xiàn)在父用況出現(xiàn)的任何位置。

用一個指向父用況的帶有封閉的空心箭頭的實線來表示用況之間的泛化關系。

面向對象技術之需求分析:usecase圖

參與者泛化與用況泛化的混合使用

面向對象技術之需求分析:usecase圖

       用況分類

 l高層用況和低層用況

  2高層用況描述對有價值的功能所提供的要素做了總的、簡要的描述,并不考慮這些有價值的功能是怎樣獲得的。(usecase圖)

  2低層用況描述提供了表示活動、任務或變化的確切順序的業(yè)務細節(jié)。(用況的詳細描述)

 l本質用況和具體用況

  2本質用況是獨立于實現(xiàn)的(硬件的和軟件的)業(yè)務解;

  2具體用況是依賴設計的。

 l主要用況與次要用況

  2主要用況捕獲系統(tǒng)的主要業(yè)務功能。

  2次要用況處理不常見的和例外的情況。可選用況表示可以處理也可以不處理的用況。

   用況是對場景的概括

面向對象技術之需求分析:usecase圖

   捕捉用況的策略

   1.首先寫下兩個或三個最常見的簡單場景(用況)。

   2.當有兩個或三個場景看上去很相似的時候,就試著產(chǎn)生更“抽象”的場景(用況)。

   3.應謹慎選擇用于不常見時間的附加的用況,并保持在可管理的數(shù)量上。

   4.以增量的方式進行分析。

  2首先開發(fā)主要的、高層的用況模型。

  2然后使用該模型開發(fā)主要的、本質的用況模型。

  2進一步地使用所得到的模型指導開發(fā)次要的、本質的用況。

  2……

  2最后,使用該模型開發(fā)次要的、具體的用況。

   用況文檔模版

       用況名

       描述:對該用況的一句或兩句的描述。

       參與者:識別參與用況的參與者。

       包含:識別該用況所包含的用況。

       擴展:識別該用況可以擴展的用況。

       泛化:若該用況是子用況,則要說明它的父用況。

       前置條件:啟動此用況所必須具備的條件。

       細節(jié):識別該用況的細節(jié)。

       后置條件:識別在該用況結束時確保成立的條件。

       例外:識別在該用況的執(zhí)行的過程中可能引起的例外。

       限制:識別在應用中可能出現(xiàn)的任何限制。

       注釋:提供可能對該用況是重要的任何附加信息。

   舉例:

面向對象技術之需求分析:usecase圖

   例:網(wǎng)上職位分布系統(tǒng)

       網(wǎng)上職位發(fā)布系統(tǒng)中,職位發(fā)布員編輯準備發(fā)布的職位名稱,職位要求,招聘人數(shù)等信息,預覽一下其發(fā)布職位的版式,在通過權限檢查后,方可在網(wǎng)上發(fā)布。除了一般類型的職位發(fā)布外,還有一種特效職位發(fā)布,允許職位發(fā)布員發(fā)布自定制的圖片/頁面等。

面向對象技術之需求分析:usecase圖

面向對象技術之需求分析:usecase圖

面向對象技術之需求分析:usecase圖

   用況詳細描述

   用況詳細描述的三種方式

面向對象技術之需求分析:usecase圖

面向對象技術之需求分析:usecase圖

   詳細描述用況的問題

 2沒有系統(tǒng)

 2沒有參與者

 2過多的用戶界面細節(jié)

 2過低的目標級別

八、用況圖的應用場合、復雜案例與建模要點

   用況圖在軟件生命周期中的運用

 2主要用來明確需求

 2用來輔助分析

 2用來輔助設計,特別是用戶界面的設計

 2用來測試

   用況分組

   當許多用況具有同樣的功能或者以同樣的方式相互聯(lián)系,就將它們歸在一起。UML的包表示了用況的聚類。

面向對象技術之需求分析:usecase圖

   分組的依據(jù)

 2同樣的參與者

 2共同的實體

   書:讀者管理員

 2特定的工作流

   審查

 2參與者

確定系統(tǒng)環(huán)境中的所有角色,并都歸入了相應的參與者。

每個參與者都至少和一個用況關聯(lián);

若一個參與者是另一個參與者的一部分,把它們合并;

若兩個參與者相對于系統(tǒng)而言,扮演了類似的角色,應該在它們之間使用泛化關系。

 2用況

每個用況都至少和一個參與者關聯(lián);

若兩個用況有相同或相似的序列,可能需要合并它們,或抽取出一個新用況,在它們之間使用包含、擴展或泛化關系。

若用況過于復雜,為了易于理解,考慮進行分解;若一個用況中有完全不同的事件流,最好把她分解成不同的用況。

    例:

       持卡用戶在銀行ATM機上進行查詢/取款/轉賬等業(yè)務。若ATM發(fā)現(xiàn)用戶連輸三次密碼不對,該卡已經(jīng)掛失或忘記取卡,則吞卡。檢測到無效卡則退卡。每到午夜12點。統(tǒng)計該日的取款總額并發(fā)送到總部系統(tǒng),機內(nèi)無現(xiàn)金是幾時通知總部系統(tǒng)。

面向對象技術之需求分析:usecase圖

面向對象技術之需求分析:usecase圖

面向對象技術之需求分析:usecase圖

   用況建模的注意事項

 2應確保不僅領域專家而且程序員都能夠理解每一種用況所描述的系統(tǒng)使用的重要意義。

 2定義用況文本時,應準確和一致地使用名詞和動詞

 2區(qū)分出在用況之間/參與者之間的關系

 2大量的用況應該組織為包

九、用況驅動的方法研究,及用況與用戶故事、場景、業(yè)務用況的比較研究

   用況圖的研究

       用況驅動的軟件開發(fā)

面向對象技術之需求分析:usecase圖

2積極意義

有助于分析模型、設計模型的建立

有助于改進分析、設計以及實現(xiàn)與測試

2問題

對用況依賴過高

導致功能分解的老路

分享文章:面向對象技術之需求分析:usecase圖-創(chuàng)新互聯(lián)
文章地址:http://www.chinadenli.net/article24/dodije.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊ChatGPT動態(tài)網(wǎng)站關鍵詞優(yōu)化App開發(fā)Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司