




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第5章 需求分析與建模需求分析必要性結(jié)構(gòu)化分析面向?qū)ο蠓治鲂枨笥美治?.第1頁(yè),共79頁(yè)。25.1 需求分析與軟件分析 神父之牛的故事有個(gè)神父在教堂為一個(gè)人懺悔。那人說(shuō):“神父,我偷了別人一頭牛,我該怎么辦?我把牛給你好不好?”神父回答:“我不要。你應(yīng)該把那頭牛送還給失主才對(duì)?!蹦侨苏f(shuō):“但是他說(shuō)他不要。”神父說(shuō):“那你就自己收下吧?!苯Y(jié)果,當(dāng)天晚上神父回到家后,發(fā)覺(jué)他的牛不見(jiàn)了。需求分析的必要性:2.第2頁(yè),共79頁(yè)。35.1 需求分析與軟件分析 95 折 = 95% 9 折 = 9% ? (9 折 = 90% )需求分析的必要性:3.第3頁(yè),共79頁(yè)。需求分析與建模需求分析與軟件分析結(jié)
2、構(gòu)化分析面向?qū)ο蟮姆治鲂枨笥美蠓治?.第4頁(yè),共79頁(yè)。5.2 結(jié)構(gòu)化分析結(jié)構(gòu)化分析(SA)方法是一種面向過(guò)程的需求分析方法,主要對(duì)數(shù)據(jù) (流) 進(jìn)行分析,基本思想是將系統(tǒng)抽取出“數(shù)據(jù)”和“控制”兩部分,再分別進(jìn)行抽象和處理。 數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)和流程圖是結(jié)構(gòu)化分析最常用的工具。數(shù)據(jù)流圖用來(lái)描述數(shù)據(jù)流從輸入到輸出的變換流程。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。5.第5頁(yè),共79頁(yè)。5.2 結(jié)構(gòu)化分析6.第6頁(yè),共79頁(yè)。5.2 結(jié)構(gòu)化分析結(jié)構(gòu)化分析(SA)方法的特點(diǎn)簡(jiǎn)單高效適合需求分析非常清楚的系統(tǒng)7.第7頁(yè),共79頁(yè)。需求分析與建
3、模需求分析與軟件分析結(jié)構(gòu)化分析面向?qū)ο蟮姆治鲂枨笥美治?.第8頁(yè),共79頁(yè)。1面向?qū)ο?Object Oriented,OO )的基本思想模擬人類認(rèn)識(shí)和解決問(wèn)題的方式遇到問(wèn)題認(rèn)識(shí)個(gè)體對(duì)問(wèn)題空間(問(wèn)題域)進(jìn)行劃分歸類找出每個(gè)類中的基本特征抽象找出實(shí)現(xiàn)的解法(求解域)見(jiàn)“第5章補(bǔ)充-面向?qū)ο蟮乃枷?、方法和?yīng)用”5.3 面向?qū)ο蟮姆治?-基本思想9.第9頁(yè),共79頁(yè)。5.3 面向?qū)ο蟮姆治?-基本思想面向?qū)ο蟮拈_(kāi)發(fā)方法可描述為: (1)客觀事物都是由對(duì)象(object)組成的 對(duì)象是在客觀事物基礎(chǔ)上抽象的結(jié)果,任何復(fù)雜的事物都可以通過(guò)對(duì)象的某種組合構(gòu)成。 (2)對(duì)象由屬性和方法組成 屬性(attr
4、ibute)反映對(duì)象的信息特征。如:特點(diǎn)、值、狀態(tài)等。 方法(method)則用 來(lái)定義改變對(duì)象屬性狀態(tài)的各種操作方式。(3) 對(duì)象之間的聯(lián)系通過(guò)傳遞消息來(lái)實(shí)現(xiàn)傳遞消息(message)的方式是通過(guò)消息模式(message pattern)和方法所定義的操作過(guò)程來(lái)完成的。(4) 對(duì)象可按其屬性進(jìn)行歸類 類(class)有一定的結(jié)構(gòu),類可以有超類(super class)這種對(duì)象或類之間的層次結(jié)構(gòu)是靠繼承關(guān)系維系的。 (5)對(duì)象是被封裝的實(shí)體,類可以有子類(subclass) 所謂封裝(encapsulation),即指嚴(yán)格的模塊化。這種封裝的對(duì)象滿足軟件工程的要求,而且可以直接被面向?qū)ο蟮某绦?/p>
5、設(shè)計(jì)語(yǔ)言所接受。10.第10頁(yè),共79頁(yè)。2結(jié)構(gòu)化方法與OO方法的比較結(jié)構(gòu)化方法依賴基本的數(shù)據(jù)結(jié)構(gòu),直接附加語(yǔ)義協(xié)議,處理信息5.3 面向?qū)ο蟮姆治?-比較11.第11頁(yè),共79頁(yè)。2結(jié)構(gòu)化方法與OO方法的比較OO方法利用數(shù)據(jù)結(jié)構(gòu)的多重性,層層變換,最后在最上層附加語(yǔ)義協(xié)議5.3 面向?qū)ο蟮姆治?-比較12.第12頁(yè),共79頁(yè)。2OO方法與結(jié)構(gòu)化方法的比較結(jié)構(gòu)化方法:基于變換(輸入輸出),數(shù)據(jù)與指令分開(kāi)OO方法:基于分解,數(shù)據(jù)與指令放在一起結(jié)構(gòu)化方法從一開(kāi)始就將系統(tǒng)拆分成“數(shù)據(jù)”和“控制”兩部分,再分別進(jìn)行抽象和處理OO方法將任務(wù)分解為若干較小的子任務(wù),最后才進(jìn)行“數(shù)據(jù)”和“控制”的拆分把功能
6、與信息混合的的系統(tǒng)“拆解”為數(shù)據(jù)和控制,是系統(tǒng)分析與設(shè)計(jì)過(guò)程中最大的風(fēng)險(xiǎn)OO方法將此風(fēng)險(xiǎn)推后,在一系列小系統(tǒng)上“拆解”,更為安全可靠5.3 面向?qū)ο蟮姆治?-比較13.第13頁(yè),共79頁(yè)。如果你的分析習(xí)慣是在調(diào)研需求時(shí)先弄清楚有多少業(yè)務(wù)流程,再畫(huà)出業(yè) 務(wù)流程圖,然后順藤摸瓜,找出業(yè)務(wù)流程中每一步驟的參與部門或崗位,弄清楚在這一步參與者所做的事情和填寫(xiě)表單的結(jié)果,并關(guān)心用戶是如何把這份表單傳給到 下一個(gè)環(huán)節(jié)的。那么很不幸,你還在做面向過(guò)程的事情。如果你的分析習(xí)慣是在調(diào)研需求時(shí)最先弄清楚有多少部門,多少崗位,然后找到每一個(gè)崗位的業(yè)務(wù)代表,問(wèn)他們類似的問(wèn)題:你平時(shí)都做什么?這件事是誰(shuí)交辦的?做完了你
7、需要通知或傳達(dá)給誰(shuí)嗎?做這件事情你都需要填寫(xiě)些什么表格嗎?.那么恭喜你,你已經(jīng)OO啦!5.3 面向?qū)ο蟮姆治?-比較閑話:今天你OO了嗎?14.第14頁(yè),共79頁(yè)。3、面向?qū)ο蠹夹g(shù)的基本概念:對(duì)象和實(shí)例(object&instance)類(class)封裝(encapsulation)繼承(inheritance)多態(tài)(polymorphism)消息(message)5.3 面向?qū)ο蟮姆治?基本概念15.第15頁(yè),共79頁(yè)。對(duì)象模型基本元素的標(biāo)識(shí)1)類、屬性、方法 類是具有相同屬性和操作的對(duì)象集合的總稱。它是面向?qū)ο蟮囊粋€(gè)基本概念,類封裝了客觀世界中對(duì)象實(shí)體的特征與行為,即屬性與方法。其表示法
8、是一個(gè)矩形,由帶有類名、屬性和方法(操作)的分格框組成。如下圖所示。5.3 面向?qū)ο蟮姆治?基本概念16.第16頁(yè),共79頁(yè)。屬性 屬性是指類的特性,它描述類所具有的一系列特性值。一個(gè)類可以有多個(gè)屬性,也可以沒(méi)有屬性。在類圖中屬性只要寫(xiě)上名字就可以了。如右上圖. 也可以在屬性名后跟上類型甚至缺省取值,如右下圖:5.3 面向?qū)ο蟮姆治?基本概念17.第17頁(yè),共79頁(yè)。方法 方法是指類所能提供的服務(wù)或可執(zhí)行的操作。它表現(xiàn)類的動(dòng)態(tài)特征。5.3 面向?qū)ο蟮姆治?基本概念18.第18頁(yè),共79頁(yè)。2)繼承 繼承,也稱泛化,它是面向?qū)ο竺枋鲱愔g相似性的一個(gè)重要機(jī)制。面向?qū)ο罄美^承來(lái)表達(dá)這種相似性,這
9、使得可以利用繼承來(lái)管理類,同時(shí)也使得在定義一個(gè)相似類時(shí)能簡(jiǎn)化類的定義工作。5.3 面向?qū)ο蟮姆治?基本概念19.第19頁(yè),共79頁(yè)。繼承(泛化)關(guān)系5.3 面向?qū)ο蟮姆治?基本概念20.第20頁(yè),共79頁(yè)。3)超類、父類、子類 一個(gè)類可以繼承其他類的屬性和方法。繼承了其它類屬性和方法的類稱為子類,被繼承的類稱為父類或超類。它們的關(guān)系如下圖所示。子類復(fù)用父類屬性和方法的過(guò)程,稱為繼承或泛化。 沒(méi)有父類的類被稱為基類或根類;沒(méi)有子類的類被稱為葉類。 如果一個(gè)類恰好只有一個(gè)父類,這樣的繼承關(guān)系叫單繼承。如果一個(gè)類有多個(gè)父類,這樣的繼承就是多繼承。5.3 面向?qū)ο蟮姆治?基本概念21.第21頁(yè),共79
10、頁(yè)。4)抽象類 抽象類(Abstract Class)是一種不能直接產(chǎn)生實(shí)例的類,它的作用僅僅是為了其他的非抽象類繼承和重用。5.3 面向?qū)ο蟮姆治?基本概念22.第22頁(yè),共79頁(yè)。 類“Window”包含有兩個(gè)方法的名稱“toFront()”和“toBack()”,但是沒(méi)有方法實(shí)現(xiàn)。類“Window”本身不能有實(shí)例,但它有兩個(gè)特化的子類“Windows Window”和“Mac Window”,它們包含了方法“ toFront()”和“toBack()”在不同平臺(tái)上的實(shí)現(xiàn)。在本例中,類“ Window”的作用是作為文本編輯器類“ Text Editor”的一個(gè)接口。5.3 面向?qū)ο蟮姆治?
11、基本概念 此圖表示了抽象類的應(yīng)用。其中文本編輯器獨(dú)立于平臺(tái),為此定義了一個(gè)獨(dú)立于平臺(tái)的窗口對(duì)象類“Window”,它是一個(gè)抽象類,在類名“Window”下標(biāo)有約束abstract。23.第23頁(yè),共79頁(yè)。5)多態(tài)多態(tài)是指子類對(duì)象可以像父類對(duì)象那樣使用,同樣的消息既可以發(fā)送給父類對(duì)象也可以發(fā)送給子類對(duì)象。 即在類等級(jí)的不同層次中可以共享(公用)一個(gè)行為(方法)的名字,不同層次中的每個(gè)類各自按自己的需要來(lái)實(shí)現(xiàn)這個(gè)行為。當(dāng)對(duì)象接收到發(fā)送給它的消息時(shí),根據(jù)該對(duì)象所屬于的類動(dòng)態(tài)選用在該類中定義的實(shí)現(xiàn)算法。 5.3 面向?qū)ο蟮姆治?基本概念24.第24頁(yè),共79頁(yè)。5)多態(tài) 在不同類中具有相同名稱的方法
12、(操作)。5.3 面向?qū)ο蟮姆治?基本概念25.第25頁(yè),共79頁(yè)。6)重載(Overloading) 有兩種重載:函數(shù)重載指同一個(gè)函數(shù)名可以對(duì)應(yīng)著多個(gè)函數(shù)的實(shí)現(xiàn),每種實(shí)現(xiàn)對(duì)應(yīng)著一個(gè)函數(shù)體,這些函數(shù)的名字相同,但是函數(shù)的參數(shù)的類型不同。運(yùn)算符重載是指同一個(gè)操作符可以施加于不同的操作數(shù)。 重載進(jìn)一步提高了面向?qū)ο笙到y(tǒng)的靈活性和可讀性。5.3 面向?qū)ο蟮姆治?基本概念26.第26頁(yè),共79頁(yè)。7)依賴(dependency) 依賴是指一個(gè)類中的元素使用了另一個(gè)類。依賴關(guān)系描述類之間的使用關(guān)系。5.3 面向?qū)ο蟮姆治?基本概念27.第27頁(yè),共79頁(yè)。8)關(guān)聯(lián) 關(guān)聯(lián)(Association)是指對(duì)象
13、類之間具有的語(yǔ)義聯(lián)系。其基本表示如下。應(yīng)用于關(guān)聯(lián)的4種修飾:關(guān)聯(lián)名角色名多重性限定符與約束符5.3 面向?qū)ο蟮姆治?基本概念28.第28頁(yè),共79頁(yè)。9)聚合與組合 聚合(Aggregation)是一種描述類之間的整體與部分的組成關(guān)系。5.3 面向?qū)ο蟮姆治?基本概念29.第29頁(yè),共79頁(yè)。 組合(Composition)是一種特殊的聚合,它的每個(gè)部分體都是必須的。如下圖所示。5.3 面向?qū)ο蟮姆治?基本概念30.第30頁(yè),共79頁(yè)。10)類圖類圖表達(dá)了一組類和它們之間的聯(lián)系。類圖示意5.3 面向?qū)ο蟮姆治?基本概念31.第31頁(yè),共79頁(yè)。11)對(duì)象 對(duì)象是類的具體實(shí)例,即類在某時(shí)刻的一個(gè)
14、快照。5.3 面向?qū)ο蟮姆治?基本概念32.第32頁(yè),共79頁(yè)。類圖示意11)對(duì)象圖 對(duì)象圖是類圖的一個(gè)實(shí)例,它表示在某一時(shí)刻系統(tǒng)對(duì)象的狀態(tài)、對(duì)象之間的聯(lián)系狀態(tài)。5.3 面向?qū)ο蟮姆治?基本概念33.第33頁(yè),共79頁(yè)。對(duì)象圖示意5.3 面向?qū)ο蟮姆治?基本概念34.第34頁(yè),共79頁(yè)。12)消息 消息是從一個(gè)對(duì)象(發(fā)送者)向另一個(gè)或幾個(gè)其他對(duì)象(接收者)發(fā)送的信號(hào),或由一個(gè)對(duì)象(發(fā)送者或調(diào)用者)調(diào)用另一個(gè)對(duì)象(接收者)的操作。5.3 面向?qū)ο蟮姆治?基本概念35.第35頁(yè),共79頁(yè)。13)接口(Interface) 接口 是一組外部可訪問(wèn)的操作方法,它用于一個(gè)類為其他類提供服務(wù)。接口可以看作
15、為一種特殊的抽象類,它不含屬性,只有方法。接口代表系統(tǒng)中的接縫,接口兩端的對(duì)象或組件可以獨(dú)立變更,只要它們遵守和實(shí)現(xiàn)接口的規(guī)定,通過(guò)接口相聯(lián)系即可。5.3 面向?qū)ο蟮姆治?基本概念36.第36頁(yè),共79頁(yè)。建立功能模型建立對(duì)象模型建立動(dòng)態(tài)模型5.3 面向?qū)ο蟮姆治?分析方法確定類與對(duì)象 確定結(jié)構(gòu)與關(guān)聯(lián)定義屬性定義服務(wù)準(zhǔn)備典型的交互行為的腳本提取事件,確定事件的動(dòng)作及目標(biāo)對(duì)象排列事件順序,確定狀態(tài)及狀態(tài)間關(guān)系用例圖描述37.第37頁(yè),共79頁(yè)。38需求分析與建模需求分析與軟件分析結(jié)構(gòu)化分析面向?qū)ο蟮姆治鲂枨笥美治?8.第38頁(yè),共79頁(yè)。395.4 需求用例分析需求用例分析(基于用例的需求分析
16、)用例的概念用例的粒度用例業(yè)務(wù)建模之涉眾業(yè)務(wù)建模一般步驟和方法 用戶、業(yè)務(wù)用例和業(yè)務(wù)場(chǎng)景 用例實(shí)現(xiàn)、用例場(chǎng)景和領(lǐng)域模型 用例規(guī)約的編寫(xiě)-業(yè)務(wù)規(guī)則和實(shí)體描述 編寫(xiě)UML需求規(guī)格說(shuō)明書(shū) 39.第39頁(yè),共79頁(yè)。5.4 用例分析-用例的概念用例的定義用例就是與使用者(actor)交互的,并且給使用者提供可觀測(cè)的有意義的結(jié)果的一系列活動(dòng)的集合。用例的特征1系列活動(dòng)是相對(duì)獨(dú)立的。這意味著它不需要與其它用例交互而獨(dú)自完成參與者的目的。也就是說(shuō)從“功能”上說(shuō)是完備的。(有人可能會(huì)想到,用例之間不是也有關(guān)聯(lián)關(guān)系嗎?比如擴(kuò)展/實(shí)現(xiàn)/包含。解釋:用例間關(guān)系是分析過(guò)程的產(chǎn)物,而且這種關(guān)系一般的產(chǎn)生在概念層用例階段
17、和系統(tǒng)層用例階段。對(duì)于業(yè)務(wù)用例,獨(dú)立性特征是很明顯的。)比如在ATM取錢的場(chǎng)景中:取錢,讀卡,驗(yàn)證賬號(hào),打印回執(zhí)單等都是可能的用例40.第40頁(yè),共79頁(yè)。5.4 用例分析-用例的概念用例的特征2執(zhí)行結(jié)果對(duì)參與者來(lái)說(shuō)是可觀測(cè)的和有意義的。(例如,系統(tǒng)會(huì)監(jiān)控參與者在系統(tǒng)里的操作,并在參與者刪除數(shù)據(jù)之前備份。雖然它是系統(tǒng)的一個(gè)必需組成部分,但它在需求階段卻不應(yīng)該 作為用例出現(xiàn)。因?yàn)檫@是一個(gè)后臺(tái)進(jìn)程,對(duì)參與者來(lái)說(shuō)是不可觀測(cè)的,它應(yīng)該在系統(tǒng)用例分析階段定義。)(又比如說(shuō),登錄系統(tǒng)是一個(gè)有效的用例,但輸入密碼卻不是。這是因?yàn)榈卿浵到y(tǒng)對(duì)參與者是有意義的,這樣他可以獲得身份認(rèn)證和授權(quán),但輸入密碼卻是沒(méi)有意義
18、的,輸入完了呢?有什么結(jié)果嗎? )41.第41頁(yè),共79頁(yè)。5.4 用例分析-用例的概念用例的特征3用例必須由一個(gè)參與者發(fā)起。不存在沒(méi)有參與者的用例,用例不應(yīng)該自動(dòng)啟動(dòng),也不應(yīng)該主動(dòng)啟動(dòng)另一個(gè)用例。用例總是由一個(gè)參與者發(fā)起,并且滿足特征2。例如從ATM 取錢是一個(gè)有效的用例,ATM吐鈔卻不是。(因?yàn)锳TM是不會(huì)無(wú)緣無(wú)故吐鈔的)。42.第42頁(yè),共79頁(yè)。5.4 用例分析-用例的概念用例的特征4必然是以動(dòng)賓短語(yǔ)形式出現(xiàn)的。即,必須有一個(gè)動(dòng)作和動(dòng)作的受體。例如,喝水是一個(gè)有效的用例,而“喝”和“水”卻不是。(雖然生活常識(shí)告訴我們,在沒(méi)有水的情況下 人是不會(huì)做出喝這個(gè)動(dòng)作的,水也必然是喝進(jìn)去的,而不
19、是滑進(jìn)去的,但是筆者所見(jiàn)的很多用例中類似“計(jì)算”,“統(tǒng)計(jì)”,“報(bào)表”,“輸出”,“錄入”之類的 并不在少數(shù)。)43.第43頁(yè),共79頁(yè)。5.4 用例分析-用例的概念用例的特征5需求分析階段用例以參與者為中心(區(qū)別于以計(jì)算機(jī) 系統(tǒng)為中心),從參與者的角度來(lái)描述他要做的日常工作(區(qū)別于以業(yè)務(wù)流程描述的方式),并分析這些日常工作之間是如何交互的(區(qū)別于數(shù)據(jù)流的描述方式)。 換句話說(shuō),用例分析的首要目標(biāo)不是要弄清楚某項(xiàng)業(yè)務(wù)是如何一步一步完成的,而是要弄清楚有多少參與者?每個(gè)參與者都做什么?業(yè)務(wù)流程分析則是后續(xù)的工作 了。44.第44頁(yè),共79頁(yè)。5.4 用例分析-用例的概念用例就是功能的劃分和描述,認(rèn)
20、為一個(gè)用例就是一個(gè)功能點(diǎn)錯(cuò)!45.第45頁(yè),共79頁(yè)。465.4 用例分析-用例的粒度比如學(xué)生管理系統(tǒng)中:成績(jī)管理、成績(jī)錄入、成績(jī)修改、成績(jī)刪除、成績(jī)保存等都是可能的用例成績(jī)管理包含了后續(xù)的其它用例,成績(jī)管理粒度更大一些,其它用例的粒度則要小一些是一個(gè)大的用例合適,還是分解成多個(gè)小用例合適呢?46.第46頁(yè),共79頁(yè)。475.4 用例分析-用例的粒度經(jīng)驗(yàn):根據(jù)階段不同,使用不同的粒度。在業(yè)務(wù)建模階段,用例的粒度以每個(gè)用例能夠說(shuō)明一件完整的事情為宜。即一個(gè)用例可以描述一項(xiàng)完整的業(yè)務(wù)流程。這將有助于明確需求范圍。例如取錢,報(bào)裝電話,借書(shū)等表達(dá)完整業(yè)務(wù)的用例,而不要細(xì)到驗(yàn)證密碼,填寫(xiě)申請(qǐng)單,查找書(shū)目
21、等業(yè)務(wù)中的一個(gè)步驟。在用例分析階段,用例的的粒度以每個(gè)用例能描述一個(gè)完整的事件流為宜??衫斫鉃橐粋€(gè)用例描述一項(xiàng)完整業(yè)務(wù)中的一個(gè)步驟。需要注意的是,這個(gè)階段需要采用OO方法,歸納,抽象業(yè)務(wù)用例中的概念模型。 例如,寬帶業(yè)務(wù)需求中有申請(qǐng)報(bào)裝,申請(qǐng)遷移地址用例,在用例分析時(shí),可歸納和分解為提供申請(qǐng)資料、受理業(yè)務(wù)、現(xiàn)場(chǎng)安裝等多個(gè)業(yè)務(wù)流程中都會(huì)使用的概念用例。在系統(tǒng)建模階段,用例視角是針對(duì)計(jì)算機(jī)的,因此用例的粒度以一個(gè)用例能夠描述操作者與計(jì)算機(jī)的一次完整交互為宜。例如,填寫(xiě)申請(qǐng)單、審核申請(qǐng)單、分配資源、派發(fā)任務(wù)單等??衫斫鉃橐粋€(gè)操作界面,或一個(gè)頁(yè)面流。在RUP中,項(xiàng)目計(jì)劃要依據(jù)系統(tǒng)模型編寫(xiě),因此另一個(gè)可
22、參考的粒度是一個(gè)用例的開(kāi)發(fā)工作量在一周左右為宜。報(bào)裝電話申請(qǐng)資料受理業(yè)務(wù)現(xiàn)場(chǎng)安裝填寫(xiě)申請(qǐng)單審核申請(qǐng)單分配資源派發(fā)任務(wù)單47.第47頁(yè),共79頁(yè)。485.4 用例分析-用例的粒度實(shí)際上,用例粒度的劃分依據(jù)(尤其是業(yè)務(wù)用例):用例的粒度是以該用例是否完成了參與者的某個(gè)目的為依據(jù)。例如:某人去圖書(shū)館,查詢了書(shū)目,出示了借書(shū)證,圖書(shū)管理員查詢了該人以前借閱記錄以確保沒(méi)有未歸還的書(shū),最后借到了書(shū)。從這段話中能得出多少用例呢?只有一個(gè):借書(shū)。(其它都只是完成這個(gè)目的過(guò)程),(這里討論的是業(yè)務(wù)用例)。(用例分析是以參與者為中心的,用例的粒度以能完成參與者目的為依據(jù))48.第48頁(yè),共79頁(yè)。495.4 用例
23、分析-用例的粒度上述粒度選擇方法只是通常情況下的做法,并不是一個(gè)統(tǒng)一的標(biāo)準(zhǔn)現(xiàn)實(shí)中,大型系統(tǒng)和小型系統(tǒng)的用例粒度選擇會(huì)有較大差異。這種差異是為了適應(yīng)不同的需求范圍。(大型項(xiàng)目應(yīng)選擇大粒度,有助于把握需求范圍,不容易遺漏。小項(xiàng)目應(yīng)選擇小粒度,避免需求模糊而易忽略細(xì)節(jié))一般來(lái)說(shuō),一個(gè)系統(tǒng)的業(yè)務(wù)用例定義在多于10個(gè),少于50個(gè)之間同一個(gè)需求階段,所有用例的粒度應(yīng)該是同一個(gè)量級(jí)的 49.第49頁(yè),共79頁(yè)。505.4 用例分析-用例的粒度實(shí)例分析:業(yè)務(wù)建模階段,用例的粒度以每個(gè)用例能夠說(shuō)明一件完整的事情為宜。即一個(gè)用例可以描述一項(xiàng)完整的業(yè)務(wù)流程在系統(tǒng)建模階段,用例視角是針對(duì)計(jì)算機(jī)的,因此用例的粒度以一個(gè)
24、用例能夠描述操作者與計(jì)算機(jī)的一次完整交互為宜一個(gè)普通的財(cái)務(wù)系統(tǒng)的用戶管理,有增刪改查這里,把“用戶管理”作為一個(gè)用例,還是把增刪改查分別作為用例呢?(他們每一個(gè)都是一個(gè)完整的業(yè)務(wù)流程和一次完整交互,而且也都是一個(gè)actor發(fā)起的動(dòng)作)50.第50頁(yè),共79頁(yè)。515.4 用例分析-用例的粒度實(shí)例分析:業(yè)務(wù)用例應(yīng)以“管理用戶”或“維護(hù)用戶”作為粒度,而增、刪、改、查則作為系統(tǒng)用例理由: 增刪改查不能做為一個(gè)完整的業(yè)務(wù)來(lái)理解。(作為一個(gè)管理業(yè)務(wù),數(shù)據(jù)只有先增,才會(huì)有改、刪。增刪改查結(jié)合起來(lái)才能完成actor的管理目的,只刪或只增都不是業(yè)務(wù)的全部)。 是否是一項(xiàng)完整業(yè)務(wù),要看actor的目標(biāo),而不是
25、事情是否完整。(此例中,actor的目標(biāo)是為了增加一個(gè)用戶?是為了刪除一個(gè)用戶?都不是,而是為了管理用戶,這個(gè)目標(biāo)包括了用戶這個(gè)實(shí)體的整個(gè)生命周期)51.第51頁(yè),共79頁(yè)。525.4 用例分析-用例的粒度實(shí)例分析:再討論,如果業(yè)務(wù)要求還有別的要求:權(quán)限升級(jí),關(guān)系變更,. 那么,如果將每個(gè)都作為一個(gè)業(yè)務(wù)用例,很容易造成一個(gè)結(jié)果: 這些原本與用戶實(shí)體緊密關(guān)聯(lián)、共同組成用戶實(shí)體生命周期的業(yè)務(wù),被割裂成多個(gè)獨(dú)立的業(yè)務(wù),因?yàn)槎x了多個(gè)用例(請(qǐng)參看用例特征第一條)。在RUP中,用例驅(qū)動(dòng)的含義是:一個(gè)用例就是一個(gè)分析單元、設(shè)計(jì)單元、開(kāi)發(fā)單元、測(cè)試單元甚至部署單元。把緊密關(guān)聯(lián)的業(yè)務(wù)分成多個(gè)獨(dú)立部分去實(shí)施是高
26、成本的,高風(fēng)險(xiǎn)的。52.第52頁(yè),共79頁(yè)。535.4 用例分析-用例的粒度實(shí)例分析:為什么在系統(tǒng)用例分析階段要把“增刪改查”分出來(lái)呢?原因:系統(tǒng)用例的目的是為了將actor的業(yè)務(wù)用計(jì)算機(jī)模擬出來(lái)一般地,增、刪、改、查對(duì)一個(gè)actor來(lái)說(shuō)是不會(huì)同時(shí)發(fā)生的,(每次actor只會(huì)完成其中的一個(gè)行為)分開(kāi)來(lái)的好處: 1) 有利于詳細(xì)分析模擬行為的細(xì)節(jié)而不至于混淆; 2) 對(duì)WEB應(yīng)用來(lái)說(shuō),數(shù)據(jù)的增刪改查等,很容易形成 “模板”。 (增加用戶用這個(gè)模板,增加其它基礎(chǔ)數(shù)據(jù)可能也用同一個(gè)模板,無(wú)非是操作的數(shù)據(jù)(實(shí)體)不同而已。因此,在很多情況下,這些模板是可以復(fù)用的。)53.第53頁(yè),共79頁(yè)。545.4
27、 用例分析-用例的粒度對(duì)這個(gè)例子來(lái)說(shuō),在系統(tǒng)用例階段,我們可以用“管理用戶” include “增加用戶”來(lái)表示這個(gè)實(shí)現(xiàn)關(guān)系,同時(shí),讓“增加用戶”,“增加X(jué)X數(shù)據(jù)”等等用例來(lái)繼承自一個(gè)抽象出來(lái)的“增加數(shù)據(jù)”用例,這樣,可復(fù)用的模板體現(xiàn)在 “增加數(shù)據(jù)”用例上,而具體業(yè)務(wù),則體現(xiàn)在“增加X(jué)X數(shù)據(jù)”上。實(shí)際上,這也是一種OO思想的體現(xiàn)。 54.第54頁(yè),共79頁(yè)。555.4 用例分析-用例業(yè)務(wù)建模之涉眾業(yè)務(wù)建模階段的任務(wù): 發(fā)現(xiàn)和定義涉眾 畫(huà)定業(yè)務(wù)邊界 獲取用例 繪制用例場(chǎng)景圖 繪制業(yè)務(wù)實(shí)體模型(領(lǐng)域模型) 編制詞匯表。 55.第55頁(yè),共79頁(yè)。565.4 用例分析-用例業(yè)務(wù)建模之涉眾實(shí)例-網(wǎng)上圖
28、書(shū)借閱系統(tǒng),初步接觸,業(yè)務(wù)負(fù)責(zé)人描述: 我們?cè)臼且粋€(gè)傳統(tǒng)的圖書(shū)館,傳統(tǒng)的借書(shū)方式要求讀者親自來(lái)到圖書(shū)館,這顯得非常不方便。 想借助網(wǎng)絡(luò),讓讀者通過(guò)網(wǎng)絡(luò)借/還書(shū),這樣可以可以方便的檢索目錄,讓讀者可以足不出戶借到需要的書(shū)。 56.第56頁(yè),共79頁(yè)。575.4 用例分析-用例業(yè)務(wù)建模之涉眾我們已經(jīng)基本上了解了系統(tǒng)目標(biāo)??赡苡行┫到y(tǒng)分析員已經(jīng)準(zhǔn)備開(kāi)始著手詢問(wèn)借書(shū)的流程,借閱人的資格認(rèn)證問(wèn)題了,甚至有的人已經(jīng)憑借多年的開(kāi)發(fā)經(jīng)驗(yàn)在腦海中繪制出了一幅網(wǎng)頁(yè),考慮如何實(shí)現(xiàn)這個(gè)系統(tǒng)了。請(qǐng)您千萬(wàn)不要著急往下走!因?yàn)槲覀兊玫降膬H僅是一個(gè)由非計(jì)算機(jī)專業(yè)人員規(guī)劃出的很粗略的構(gòu)想,其可行性如何都尚未得到證實(shí),在這樣的
29、基礎(chǔ)下就開(kāi)始細(xì)化,將來(lái)出現(xiàn)反復(fù)甚至失敗的危險(xiǎn)是很大的。 57.第57頁(yè),共79頁(yè)。585.4 用例分析-用例業(yè)務(wù)建模之涉眾了解系統(tǒng)目標(biāo)后,系統(tǒng)分析員首先要做不是去了解業(yè)務(wù)的細(xì)節(jié),而是發(fā)現(xiàn)與這個(gè)目標(biāo)相關(guān)的人和物。英文稱為Stakeholder或Business Actor ,有稱干系人、涉眾。涉眾不等于用戶,涉眾是與要建設(shè)的業(yè)務(wù)系統(tǒng)相關(guān)的一切人和事。 58.第58頁(yè),共79頁(yè)。595.4 用例分析-用例業(yè)務(wù)建模之涉眾業(yè)主系統(tǒng)建設(shè)的出資方,投資者,它不一定是業(yè)務(wù)方。(比如可以假設(shè)這個(gè)圖書(shū)館的網(wǎng)絡(luò)化建設(shè)是由一家國(guó)際風(fēng)險(xiǎn)投資機(jī)構(gòu)投資的,它本身并不管理圖書(shū)館,它只是從資本上擁有這個(gè)系統(tǒng)并從借書(shū)收入中獲得
30、回報(bào)。) 業(yè)主的錢是這個(gè)項(xiàng)目存在的原因。若系統(tǒng)不符合業(yè)主的期望,撤回投資,那么再好的愿望也是空的 業(yè)主關(guān)心的是建設(shè)成本,建設(shè)周期以及建成后的效益。(建設(shè)成本、建設(shè)周期將直接影響到你可以采用的技術(shù),可以選用的軟件架構(gòu),可以承受的系統(tǒng)范圍。)59.第59頁(yè),共79頁(yè)。605.4 用例分析-用例業(yè)務(wù)建模之涉眾業(yè)務(wù)提出者業(yè)務(wù)規(guī)則的制定者(業(yè)務(wù)方的高層人物,如CEO,高級(jí)經(jīng)理等)。他們制定業(yè)務(wù)規(guī)則,圈定業(yè)務(wù)范圍,規(guī)劃業(yè)務(wù)目標(biāo)。系統(tǒng)建設(shè)是業(yè)務(wù)提出者經(jīng)營(yíng)和管理意志的體現(xiàn)。業(yè)務(wù)提出者的期望一般比較原則化和粗略化,但卻不能違反和誤解。業(yè)務(wù)提出者最關(guān)心系統(tǒng)建設(shè)能夠帶來(lái)的社會(huì)影響,效率改進(jìn)和成本節(jié)約。在系統(tǒng)建設(shè)過(guò)程
31、的溝通中,他們的意志一般是極少妥協(xié)的。60.第60頁(yè),共79頁(yè)。615.4 用例分析-用例業(yè)務(wù)建模之涉眾業(yè)務(wù)管理者實(shí)際管理和監(jiān)督業(yè)務(wù)執(zhí)行的人員(中層干部),將業(yè)務(wù)提出者的意志付諸實(shí)施,并監(jiān)督底層員工工作的作用。是系統(tǒng)的主要用戶之一他們關(guān)心系統(tǒng)將如何實(shí)現(xiàn)他們的管理職能,如何能方便的得知業(yè)務(wù)執(zhí)行的結(jié)果,他們?nèi)绾螌⒅噶钕逻_(dá),以及如何得到反饋業(yè)務(wù)管理者的期望相對(duì)比較細(xì)節(jié),是需求調(diào)研過(guò)程中最重要的信息來(lái)源。是系統(tǒng)分析員最需要下功夫的系統(tǒng)分析員必須要把業(yè)務(wù)管理者的思路、想法弄清楚,業(yè)務(wù)建模的結(jié)果也必須與業(yè)務(wù)管理者達(dá)成一致在系統(tǒng)建設(shè)過(guò)程中,業(yè)務(wù)管理者的期望可以有所妥協(xié),一個(gè)經(jīng)驗(yàn)豐富的系統(tǒng)分析員可以給他們灌輸
32、合理的管理方式,提供可替代的管理方法(以規(guī)避導(dǎo)致高技術(shù)風(fēng)險(xiǎn)或高成本風(fēng)險(xiǎn)的不合理要求) 61.第61頁(yè),共79頁(yè)。625.4 用例分析-用例業(yè)務(wù)建模之涉眾業(yè)務(wù)執(zhí)行者底層的操作人員,是與將來(lái)的計(jì)算機(jī)直接交互最多的人員他們最關(guān)心系統(tǒng)會(huì)給他們帶來(lái)什么樣的方便,會(huì)怎樣的改變他們的工作模式他們的需求最細(xì)節(jié),系統(tǒng)的可用性,友好性,運(yùn)行效率與他們關(guān)系最多。系統(tǒng)界面風(fēng)格,操作方式,數(shù)據(jù)展現(xiàn)方式,錄入方式,業(yè)務(wù)細(xì)節(jié)都需要從他們這里了解他們將成為系統(tǒng)是否成功的試金石。Look and Feel ,表單細(xì)節(jié)等是系統(tǒng)分析員與他們調(diào)研時(shí)需要多下功夫的地方這類人員的期望靈活性最大,也最容易說(shuō)服和妥協(xié)同時(shí),他們的期望又往往是
33、不統(tǒng)一的,各種古怪的要求都有系統(tǒng)分析員需從各種期望中找出普遍意義,解決多數(shù)人的問(wèn)題62.第62頁(yè),共79頁(yè)。635.4 用例分析-用例業(yè)務(wù)建模之涉眾第三方與這項(xiàng)業(yè)務(wù)而關(guān)聯(lián)的非業(yè)務(wù)方的其他人或事 (比如,借閱人借書(shū)時(shí)需要交費(fèi),若交費(fèi)是通過(guò)網(wǎng)上銀行支付的,則網(wǎng)上銀行就成為了網(wǎng)上借書(shū)系統(tǒng)的一個(gè)涉眾) 第三方的期望對(duì)系統(tǒng)來(lái)說(shuō)不起決定性意義,但會(huì)起到限制作用 (最終在系統(tǒng)中,這種期望將體現(xiàn)為標(biāo)準(zhǔn)、協(xié)議和接口) 另一種第三方是項(xiàng)目監(jiān)理,系統(tǒng)分析員也必須弄清楚監(jiān)理的期望 63.第63頁(yè),共79頁(yè)。645.4 用例分析-用例業(yè)務(wù)建模之涉眾相關(guān)的法律法規(guī)國(guó)家和地方法律法規(guī)(例如,借閱系統(tǒng)要建立借閱人檔案,就必須
34、保障借閱人的隱私權(quán); 要與網(wǎng)上銀行交易,必須遵守信息安全法等。) 必須得遵守一些行業(yè)規(guī)范和標(biāo)準(zhǔn) (例如,網(wǎng)上借閱需要遵守HTML規(guī)范,借閱者才能正常瀏覽網(wǎng)頁(yè)) 64.第64頁(yè),共79頁(yè)。655.4 用例分析-用例業(yè)務(wù)建模之涉眾用戶預(yù)期的系統(tǒng)使用者。用戶可能包括上述的任何一種涉眾用戶涉眾模型建立的意義是:每個(gè)用戶將來(lái)都可能是系統(tǒng)中的某個(gè)角色,是實(shí)實(shí)在在參與系統(tǒng)的,需要編程實(shí)現(xiàn)相應(yīng)的系統(tǒng)功能上述的其它涉眾,則有可能只是在需求階段有用,最終并不與系統(tǒng)發(fā)生交互在建模過(guò)程中,概念模型的建立和系統(tǒng)模型的建立都只從用戶開(kāi)始分析,而不再理會(huì)其它的涉眾。(其它涉眾體現(xiàn)在文檔中即可)65.第65頁(yè),共79頁(yè)。66
35、5.4 用例分析-用例業(yè)務(wù)建模之涉眾業(yè)主業(yè)務(wù)提出者業(yè)務(wù)管理者業(yè)務(wù)管理者第三方相關(guān)的法律法規(guī)用戶66.第66頁(yè),共79頁(yè)。675.4 用例分析-業(yè)務(wù)建模一般步驟和方法本方法并非唯一正確,僅供參考Step1 從涉眾中找出參與者,定義這些參與者之間的關(guān)系Step2 找出每個(gè)參與者要做的事,即業(yè)務(wù)用例 1)注意用例的粒度 2)建議為每個(gè)business actor繪制一個(gè)業(yè)務(wù)用例圖,這能很好的體現(xiàn)以人為中心的分析模式,并且不容易漏掉business actor需要做的事。至于以參與者為中心的視圖容易漏掉某個(gè)業(yè)務(wù)用例的擔(dān)心,可以在第3、4步中得到消除Step3 利用業(yè)務(wù)場(chǎng)景圖幫助分析業(yè)務(wù)流程 1)本階段
36、最好使用活動(dòng)圖Activity diagram 2)繪制時(shí)要采用Step1定義的參與者名作為泳道名,用Step2定義的業(yè)務(wù)用例名作為活動(dòng)名。(若無(wú)法完備地描繪業(yè)務(wù)流程,那么一定是前面的定義有問(wèn)題)(若不是所有actor 和use case 都被用到,則應(yīng)該檢查業(yè)務(wù)流程有無(wú)遺漏,或是否有無(wú)用的actor 和 use case )67.第67頁(yè),共79頁(yè)。685.4 用例分析-業(yè)務(wù)建模一般步驟和方法Step4 繪制用例場(chǎng)景圖(用活動(dòng)圖)。 1) 與業(yè)務(wù)場(chǎng)景圖不同,用例場(chǎng)景圖只針對(duì)某用例繪制其執(zhí)行過(guò)程 2) 使用Step1定義的參與者作為泳道名。(能助你發(fā)現(xiàn)在定義業(yè)務(wù)用例圖時(shí)的錯(cuò)誤) 3) 步驟簡(jiǎn)單
37、的業(yè)務(wù)用例是不必繪制場(chǎng)景圖,只需要寫(xiě)用例規(guī)約Step5 從Step3或Step4中繪制的活動(dòng)圖中找到每一步活動(dòng)將使用到的事物或產(chǎn)生的結(jié)果。(這是找到物的過(guò)程。)找到后,應(yīng)當(dāng)建立這些物之間的關(guān)系(業(yè)務(wù)實(shí)體模型)。Step6 上述過(guò)程中,隨時(shí)補(bǔ)充詞匯表Glossary。將此過(guò)程中的所有業(yè)務(wù)詞匯、專業(yè)詞匯等一切在建模過(guò)程中使用到的需要解釋的名詞。(為模型建立人與讀者就模型達(dá)成一致理解提供保證)。68.第68頁(yè),共79頁(yè)。695.4 用例分析-業(yè)務(wù)建模一般步驟和方法Step7 根據(jù)涉眾(利益相關(guān)者)的期望審視模型,確定業(yè)務(wù)范圍(決定哪些業(yè)務(wù)用例在系統(tǒng)范圍內(nèi)) 去除的業(yè)務(wù)用例有兩種情況: 1、該業(yè)務(wù)用例
38、是被調(diào)用一方,應(yīng)改為 boundary 類型,意味著將來(lái)它是一個(gè)外部接口。 2、該業(yè)務(wù)用例主動(dòng)調(diào)用系統(tǒng)內(nèi)業(yè)務(wù)用例,應(yīng)改為business actor類型。(由業(yè)務(wù)用例轉(zhuǎn)換而成的business actor不是人,而通常是一個(gè)外部系統(tǒng)進(jìn)程,因此應(yīng)該在被調(diào)用的系統(tǒng)內(nèi)業(yè)務(wù)用例與它之間增加一個(gè)boundary元素,意味著我們的系統(tǒng)將為這樣一個(gè)外部進(jìn)程提供一個(gè)接口)說(shuō)明:上述的7個(gè)步驟并非一次性完成的,在每一個(gè)步驟中都可能導(dǎo)致對(duì)以前步驟的調(diào)整。即使建模已經(jīng)完成,當(dāng)遇到變化或發(fā)現(xiàn)新問(wèn)題時(shí),上述步驟應(yīng)當(dāng)從頭到再執(zhí)行一次。這也是RUP倡導(dǎo)的迭代開(kāi)發(fā)模式。69.第69頁(yè),共79頁(yè)。705.4 用例分析-用戶、業(yè)務(wù)用例和業(yè)務(wù)場(chǎng)景回頭看看需吧,圖書(shū)館主任是這么說(shuō)的: 我們?cè)臼莻鹘y(tǒng)的圖書(shū)館,要求讀者親自來(lái)到圖書(shū)館,這顯得非常不方便,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省常德市澧縣2024-2025學(xué)年七年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 新時(shí)代農(nóng)業(yè)現(xiàn)代化智能種植技術(shù)的創(chuàng)新與發(fā)展戰(zhàn)略
- 新材料研發(fā)及產(chǎn)業(yè)化應(yīng)用合作協(xié)議
- 云計(jì)算服務(wù)與安全策略解析
- 《先秦諸子哲學(xué)思想比較:大三哲學(xué)文化課教案》
- 養(yǎng)殖業(yè)合作飼養(yǎng)及利潤(rùn)分配協(xié)議
- 電力工程設(shè)計(jì)與安裝施工合同
- 智能基金投資管理及銷售協(xié)議
- 烏江自刎的英雄故事征文
- 中小學(xué)生科普讀物讀后感
- 初中語(yǔ)文“經(jīng)典誦讀與海量閱讀”校本課程實(shí)施方案
- 2025 春夏·淘寶天貓運(yùn)動(dòng)戶外行業(yè)趨勢(shì)白皮書(shū)
- 西門子S7-1200 PLC應(yīng)用技術(shù)項(xiàng)目教程(第3版) 課件 1.認(rèn)識(shí)S7-1200PLC寬屏-(LAD+SCL)
- 《稅法》(第六版)全書(shū)教案電子講義
- 翻斗車司機(jī)安全培訓(xùn)
- 計(jì)算機(jī)軟件配置管理計(jì)劃規(guī)范
- 《勞動(dòng)保障監(jiān)察條例》課件
- 中華人民共和國(guó)學(xué)前教育法
- 辯論英文課件教學(xué)課件
- 2021年廣東省公務(wù)員錄用考試《行測(cè)》題(鄉(xiāng)鎮(zhèn)卷)【原卷版】
- 2020年全國(guó)中學(xué)生生物學(xué)競(jìng)賽聯(lián)賽試題真題(含答案解析)
評(píng)論
0/150
提交評(píng)論