需求分析師培訓(xùn)Day02課件_第1頁(yè)
需求分析師培訓(xùn)Day02課件_第2頁(yè)
需求分析師培訓(xùn)Day02課件_第3頁(yè)
需求分析師培訓(xùn)Day02課件_第4頁(yè)
需求分析師培訓(xùn)Day02課件_第5頁(yè)
已閱讀5頁(yè),還剩227頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

需求分析師培訓(xùn)Day022023/7/17需求分析師培訓(xùn)Day02Agenda需求分析最佳實(shí)踐需求建模最佳實(shí)踐用例驅(qū)動(dòng)的需求過(guò)程實(shí)踐需求分析師培訓(xùn)Day02Agenda需求分析最佳實(shí)踐需求建模最佳實(shí)踐用例驅(qū)動(dòng)的需求過(guò)程實(shí)踐需求分析是需求工程中的核心需求分析師培訓(xùn)Day02需求分析回顧所謂分析是指通過(guò)對(duì)問(wèn)題域的研究,獲得對(duì)該領(lǐng)域特性及存在于其中(需要解決)的問(wèn)題特性的透徹理解并用文檔說(shuō)明分析方法:結(jié)構(gòu)化分析法、面向?qū)ο蠓治龇?、面向?wèn)題域分析法需求分析與需求捕獲是交替進(jìn)行的需求分析的結(jié)果將通過(guò)建模、規(guī)格說(shuō)明

書編寫的方式文檔化需求分析師培訓(xùn)Day02需求分析最佳實(shí)踐1定義系統(tǒng)邊界:評(píng)估原始需求,定義將要開發(fā)的系統(tǒng)的邊界;確定哪些是系統(tǒng)需求,哪些是和系統(tǒng)相關(guān)的操作過(guò)程的需求,哪些是在系統(tǒng)范圍之外的需求

>主要效益:消除不必要的需求

>引入成本:低>應(yīng)用成本:低

>實(shí)施指南:詢問(wèn)某項(xiàng)需求是否是基于不完整的或者不可靠的信息做出的?某項(xiàng)需求的實(shí)現(xiàn)

是否需要在系統(tǒng)已定義的數(shù)據(jù)庫(kù)之外的

信息?某項(xiàng)需求是否和系統(tǒng)的核心功能

相關(guān)?某項(xiàng)需求是否牽涉到系統(tǒng)之外的

功能或者設(shè)備的性能?需求分析師培訓(xùn)Day02需求分析最佳實(shí)踐2使用校驗(yàn)表進(jìn)行需求分析:根據(jù)經(jīng)驗(yàn)開發(fā)需求問(wèn)題校驗(yàn)表,并將其用于需求的系統(tǒng)化分析,每一項(xiàng)需求都應(yīng)按照校驗(yàn)表進(jìn)行分析。

>主要效益:更快、更完整地進(jìn)行需求分析

>引入成本:低-中>應(yīng)用成本:低

>實(shí)施指南:校驗(yàn)表不超過(guò)10項(xiàng)

草率設(shè)計(jì):該需求包括不成熟設(shè)計(jì)或?qū)崿F(xiàn)信息嗎?

組合需求:該需求是單獨(dú)的需求還是可以細(xì)分為多個(gè)需求?

多余需求:該需求只是系統(tǒng)的修飾,還是真正必需?

使用非標(biāo)準(zhǔn)硬件:必須使用非標(biāo)準(zhǔn)的硬件還是軟件?

符合業(yè)務(wù)目標(biāo):符合在需求文檔開始處定義的業(yè)務(wù)目標(biāo)?

需求多義性:不同人是否可以從不同方式來(lái)理解?

需求可實(shí)現(xiàn)性:基于當(dāng)前技術(shù),該需求可實(shí)現(xiàn)嗎?

需求可測(cè)試性:是否能夠判斷系統(tǒng)是否符合需求需求分析師培訓(xùn)Day02需求分析最佳實(shí)踐3使用軟件支持協(xié)商:鼓勵(lì)使用電子郵件來(lái)交換需求信息并且進(jìn)行需求協(xié)商;也可以使用BBS、即時(shí)通信、群件系統(tǒng)來(lái)進(jìn)行溝通與協(xié)商。

>主要效益:需求問(wèn)題的更快解決

>引入成本:低-中>應(yīng)用成本:低-中

>實(shí)施指南:電子郵件需指派一個(gè)問(wèn)題管理人員,負(fù)責(zé)跟蹤問(wèn)題的提出、傳遞、回應(yīng)和達(dá)成

解決方案;BBS方案需要限制討論的長(zhǎng)

度;群件方案需要事行定義好需求管理

項(xiàng)的結(jié)構(gòu)需求分析師培訓(xùn)Day02需求分析最佳實(shí)踐4對(duì)沖突和沖突解決方案做好計(jì)劃:任何需求集中都會(huì)有沖突、重疊和遺漏問(wèn)題,應(yīng)該安排會(huì)議討論這些需求并解決分析過(guò)程中發(fā)現(xiàn)的問(wèn)題。

>主要效益:需求問(wèn)題的更快解決

>引入成本:低>應(yīng)用成本:低

>實(shí)施指南:會(huì)議是解決需求沖突最快的方式,應(yīng)聚焦于解決突出的需求問(wèn)題;電子信息交

換也是可取的方式之一;會(huì)議通常包括

敘述階段、討論階段和決策階段;分析

的結(jié)果要發(fā)給所有與會(huì)者需求分析師培訓(xùn)Day02需求分析最佳實(shí)踐5需求分級(jí):每一項(xiàng)需求都應(yīng)該標(biāo)上優(yōu)先級(jí),以反映它們對(duì)項(xiàng)目相關(guān)人員的重要性和對(duì)整個(gè)系統(tǒng)成功與否的重要性。

>主要效益:關(guān)注最重要的需求

>引入成本:低>應(yīng)用成本:低

>實(shí)施指南:在需求捕獲階段就標(biāo)明優(yōu)先級(jí)是最理想的;通常需要進(jìn)行了初始的分析工作才

可能分配優(yōu)先級(jí);優(yōu)先級(jí)的分配要由需

求分析人員和項(xiàng)目相關(guān)人員共同完成;

優(yōu)先級(jí)不應(yīng)太多,如必須的、有用的、

希望的需求分析師培訓(xùn)Day02需求分析最佳實(shí)踐6使用多維方法進(jìn)行需求分類:應(yīng)對(duì)需求進(jìn)行分類以便標(biāo)記相關(guān)的需求,不必將單個(gè)需求只歸到一個(gè)類,可以派生出多種分類方法。

>主要效益:有助于發(fā)現(xiàn)需求重疊和沖突

>引入成本:低-中>應(yīng)用成本:中

>實(shí)施指南:可用系統(tǒng)、用戶界面、數(shù)據(jù)庫(kù)、通信、安全來(lái)進(jìn)行分類;建議最多有5~6個(gè)分

類;決定分類后,應(yīng)把每個(gè)需求都和一

到多個(gè)關(guān)鍵詞關(guān)聯(lián)起來(lái);分類完成后,

可以抽取很多組具有相同分類的需求進(jìn)

行比較和分析需求分析師培訓(xùn)Day02需求分析最佳實(shí)踐7使用交互矩陣發(fā)現(xiàn)沖突與重疊:交互矩陣的每一行和每一列都代表一項(xiàng)需求,每一個(gè)元素都用來(lái)表示對(duì)應(yīng)的需求是否沖突、重疊或者獨(dú)立

>主要效益:揭示需求重疊和沖突

>引入成本:低>應(yīng)用成本:中-高

>實(shí)施指南:創(chuàng)建交互矩陣最簡(jiǎn)單的方法是使用電子表格程序,在首行、首列均標(biāo)上需求標(biāo)

識(shí)符;然后如果需求沖突填入1、重疊填

入1000,獨(dú)立則填0;這樣只需要用求

和的方式來(lái)統(tǒng)計(jì)出各種數(shù)目;通常需求

不應(yīng)超過(guò)200條需求分析師培訓(xùn)Day02需求分析最佳實(shí)踐8評(píng)估需求風(fēng)險(xiǎn):對(duì)每一項(xiàng)需求或者一系列相關(guān)的需求進(jìn)行風(fēng)險(xiǎn)分析,指出在實(shí)現(xiàn)需求過(guò)程中可能會(huì)發(fā)生的問(wèn)題、這些問(wèn)題發(fā)生的機(jī)率及其影響。

>主要效益:標(biāo)識(shí)有問(wèn)題的需求

>引入成本:中>應(yīng)用成本:中

>實(shí)施指南:應(yīng)考慮的風(fēng)險(xiǎn)主要有性能風(fēng)險(xiǎn)、安全風(fēng)險(xiǎn)、過(guò)程風(fēng)險(xiǎn)、實(shí)現(xiàn)技術(shù)風(fēng)險(xiǎn)、數(shù)據(jù)庫(kù)

風(fēng)險(xiǎn)、日程風(fēng)險(xiǎn)、外部風(fēng)險(xiǎn)、穩(wěn)定風(fēng)險(xiǎn)需求分析師培訓(xùn)Day02Agenda需求分析最佳實(shí)踐需求建模最佳實(shí)踐用例驅(qū)動(dòng)的需求過(guò)程實(shí)踐需求建模是表述需求的關(guān)鍵手段需求分析師培訓(xùn)Day02討論在你的實(shí)踐中是否建模?如果有建模,那么主要建哪些模型?有什么體會(huì)?如果沒(méi)有建模,主要的原因是什么?

需求分析師培訓(xùn)Day02模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化需求分析師培訓(xùn)Day02建模的目的與原則幫助我們按照實(shí)際情況或按我們需要的樣式對(duì)系統(tǒng)進(jìn)行可視化;提供一種詳細(xì)說(shuō)明系統(tǒng)的結(jié)構(gòu)或行為的方法;給出一個(gè)指導(dǎo)系統(tǒng)構(gòu)造的模板;對(duì)我們所做出的決策進(jìn)行文檔化僅當(dāng)需要模型時(shí),才構(gòu)建它選擇要?jiǎng)?chuàng)建什么模型對(duì)如何動(dòng)手解決問(wèn)題和如何形成解決方案有著意義深遠(yuǎn)的影響;每一種模型可以在不同的精度級(jí)別上表示;最好的模型是與現(xiàn)實(shí)相聯(lián)系的;單個(gè)模型是不充分的。對(duì)每個(gè)重要的系統(tǒng)最好用一組幾乎獨(dú)立的模型去處理。需求分析師培訓(xùn)Day02系統(tǒng)建模最佳實(shí)踐1開發(fā)互補(bǔ)的模型:在單個(gè)模型中包含所有的系統(tǒng)規(guī)格說(shuō)明信息是難以實(shí)現(xiàn)的,因?yàn)檫@樣的系統(tǒng)將會(huì)特別復(fù)雜,不可能讀懂,因此應(yīng)該創(chuàng)建多個(gè)系統(tǒng)模型。

>主要效益:揭示規(guī)格說(shuō)明中的錯(cuò)誤和不一致

>引入成本:低-中>應(yīng)用成本:中

>實(shí)施指南:通常會(huì)開發(fā)數(shù)據(jù)處理模型(DFD)、組合模型(E-R)、分類模型(類圖)、刺激-響應(yīng)模型(狀態(tài)圖、活動(dòng)圖)、過(guò)程模型等;選擇什么模

型取決于要說(shuō)明的信息類型、模型的讀

者、模型開發(fā)者的技能、CASE工具需求分析師培訓(xùn)Day02系統(tǒng)建模最佳實(shí)踐2系統(tǒng)環(huán)境建模:為了理解需求,應(yīng)該就系統(tǒng)環(huán)境開發(fā)一個(gè)或多個(gè)模型,應(yīng)該說(shuō)明和本系統(tǒng)的接口和其他系統(tǒng),以使用可能會(huì)使用本系統(tǒng)的業(yè)務(wù)過(guò)程。

>主要效益:記錄必須說(shuō)明接口的外部系統(tǒng)

>引入成本:低>應(yīng)用成本:低

>實(shí)施指南:環(huán)境模型就是系統(tǒng)的使用語(yǔ)境模型,應(yīng)包括和本系統(tǒng)直接交互的其他系統(tǒng)、可能和本系統(tǒng)共存并發(fā)生交互的系統(tǒng)、系統(tǒng)所在的業(yè)務(wù)

過(guò)程。需求分析師培訓(xùn)Day02系統(tǒng)建模最佳實(shí)踐3系統(tǒng)體系結(jié)構(gòu)建模:每次都應(yīng)該開發(fā)系統(tǒng)的體系結(jié)構(gòu)模型,用來(lái)說(shuō)明系統(tǒng)是如何分解成子系統(tǒng),還應(yīng)解釋子系統(tǒng)之間的通信。

>主要效益:有助于劃分系統(tǒng)需求

>引入成本:低-中>應(yīng)用成本:低

>實(shí)施指南:常用的體系結(jié)構(gòu)模型包括客戶機(jī)-服務(wù)器系統(tǒng)、分層系統(tǒng)、基于共享庫(kù)通信的系統(tǒng)、管道系統(tǒng)需求分析師培訓(xùn)Day02系統(tǒng)建模最佳實(shí)踐4用標(biāo)準(zhǔn)化方法進(jìn)行系統(tǒng)建模:標(biāo)準(zhǔn)化方法是一種系統(tǒng)分析和設(shè)計(jì)方法,包括定義、開發(fā)和確認(rèn)系統(tǒng)模型過(guò)程中用到的表示法、指南和規(guī)則。

>主要效益:使用標(biāo)準(zhǔn)的方式書寫系統(tǒng)模型

>引入成本:中-高>應(yīng)用成本:中

>實(shí)施指南:包括過(guò)程化(結(jié)構(gòu)化)方法、面向?qū)ο蠓椒?,其主要包括一組推薦的系統(tǒng)模型和相應(yīng)的開發(fā)該模型的表示法、一組建模規(guī)則、一組關(guān)

于創(chuàng)建高質(zhì)量系統(tǒng)模型的指南、一份描

述、一些報(bào)告。需求分析師培訓(xùn)Day02系統(tǒng)建模最佳實(shí)踐5使用數(shù)據(jù)字典:系統(tǒng)建模中使用的名字都應(yīng)當(dāng)記錄在數(shù)據(jù)字典中,它是一份由計(jì)算機(jī)維護(hù)的名字列表以及相關(guān)的信息。

>主要效益:避免名字重復(fù)使用和誤解

>引入成本:中>應(yīng)用成本:低

>實(shí)施指南:進(jìn)行數(shù)據(jù)字典的至少應(yīng)包括模型中實(shí)體的名字、名字的別名及變化、實(shí)體類型、為何引入模型、針對(duì)實(shí)體的約束、指向相關(guān)實(shí)體的

鏈接;數(shù)據(jù)字典必須由一臺(tái)服務(wù)器維護(hù),

開發(fā)人員本機(jī)要與服務(wù)器經(jīng)常實(shí)現(xiàn)同步需求分析師培訓(xùn)Day02系統(tǒng)建模最佳實(shí)踐6記錄項(xiàng)目相關(guān)人員需求和系統(tǒng)模型之間聯(lián)系:記錄項(xiàng)目相關(guān)人員用自然語(yǔ)言描述的需求和說(shuō)明這個(gè)系統(tǒng)的具體模型之間的關(guān)系。

>主要效益:便列發(fā)現(xiàn)受變更影響的需求和模型

>引入成本:低>應(yīng)用成本:中

需求分析師培訓(xùn)Day02UML基礎(chǔ)需求分析師培訓(xùn)Day02UML發(fā)展歷程需求分析師培訓(xùn)Day02UML特性與發(fā)展現(xiàn)狀UML是一種Language(語(yǔ)言)UML是一種Modeling(建模)LanguageUML是Unified(統(tǒng)一)ModelingLanguage已進(jìn)入全面應(yīng)用階段的事實(shí)標(biāo)準(zhǔn)應(yīng)用領(lǐng)域正在逐漸擴(kuò)展,包括嵌入式系統(tǒng)建模、業(yè)務(wù)建模、流程建模等多個(gè)領(lǐng)域成為“產(chǎn)生式編程”的重要支持技術(shù):MDA、

可執(zhí)行UML等需求分析師培訓(xùn)Day02為什么使用UML建模UML是一種統(tǒng)一的、標(biāo)準(zhǔn)化的建模語(yǔ)言UML是一種應(yīng)用面很廣泛的建模語(yǔ)言模型的種類模型的用途業(yè)務(wù)模型對(duì)業(yè)務(wù)過(guò)程、工作流、組織的建模需求模型對(duì)捕獲的需求進(jìn)行整理和分析的工具,輔助開發(fā)人員與用戶進(jìn)行溝通設(shè)計(jì)模型包含高層設(shè)計(jì)(架構(gòu)模型)和詳細(xì)設(shè)計(jì)模型,用于統(tǒng)一開發(fā)人員、溝通設(shè)計(jì)信息數(shù)據(jù)庫(kù)模型設(shè)計(jì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)、表結(jié)構(gòu)以及與應(yīng)用系統(tǒng)的交互實(shí)現(xiàn)模型用來(lái)理清軟件的組成、部署方案,為安裝與維護(hù)人員的工作提供指導(dǎo)需求分析師培訓(xùn)Day02草圖和藍(lán)圖藍(lán)圖一般是指采用CASE工具繪制的、正式的、規(guī)范的UML模型草圖則通常是指手工繪制的、規(guī)范度較低的在紙張的UML模型大膽地繪制草圖,盡可能基于草圖進(jìn)行討論。對(duì)于局部的、重要性不高的、共享范圍較小的UML模型,直接將草圖掃描到電腦存檔即可;對(duì)于全局的、重要性高的、高度共享的,在草圖的基礎(chǔ)上用CASE工具繪制成為正式的藍(lán)圖,并將其納入統(tǒng)一的模型管理中需求分析師培訓(xùn)Day02誰(shuí)應(yīng)該建模業(yè)務(wù)建模:以領(lǐng)域?qū)<覟橹?,需求分析人員是主力,系統(tǒng)分析員、架構(gòu)師可參與需求模型:以需求分析人員為主,系統(tǒng)分析員是主力,領(lǐng)域?qū)<姨峁┲笇?dǎo),架構(gòu)師和資深開發(fā)人員參與設(shè)計(jì)模型:高層設(shè)計(jì)模型以架構(gòu)師為主,系統(tǒng)分析員從需求方面提供支持,資深開發(fā)人員從技術(shù)實(shí)現(xiàn)方面提供支持。詳細(xì)設(shè)計(jì)模型則以資深開發(fā)人員為主,架構(gòu)師提供指導(dǎo)。實(shí)現(xiàn)模型:以資深開發(fā)人員(設(shè)計(jì)人員)為主,架構(gòu)師提供總體指導(dǎo)。數(shù)據(jù)庫(kù)模型:以數(shù)據(jù)庫(kù)開發(fā)人員為主,架構(gòu)師提供指導(dǎo),資深開發(fā)人員(設(shè)計(jì)人員)予以配合。需求分析師培訓(xùn)Day02常見認(rèn)識(shí)誤區(qū)UML是一種方法論UML就是一堆圖形UML只能夠應(yīng)用于面向?qū)ο箝_發(fā)中UML就是Rose里的符號(hào)UML的學(xué)習(xí)周期很長(zhǎng)、很復(fù)雜需求分析師培訓(xùn)Day02UML的組成基本構(gòu)造塊:也就是建模

元素,是模型的主體UML規(guī)則:也就是支配基

本構(gòu)造塊如何放在一起的

規(guī)則公共機(jī)制:運(yùn)用于整個(gè)

UML模型中的公共機(jī)制、

擴(kuò)展機(jī)制需求分析師培訓(xùn)Day02事物構(gòu)造塊事物構(gòu)造塊是對(duì)模型中最具有代表性的成分的抽象結(jié)構(gòu)事物:UML中的名詞,它是模型的靜態(tài)部分,描述概念或物理元素。行為事物:UML中的動(dòng)詞,它是模型中的動(dòng)態(tài)部分,是一種跨越時(shí)間、空間的行為。分組事物:UML中的容器,用來(lái)組織模型,使模型更加的結(jié)構(gòu)化。注釋事務(wù):UML中的解釋部分,和代碼中的注釋語(yǔ)句一樣,是用來(lái)描述模型的。需求分析師培訓(xùn)Day02面向?qū)ο笠暯窍碌氖澜缡紫冉⒎磻?yīng)現(xiàn)實(shí)世界中不同事物的“構(gòu)造塊”,然后確定“構(gòu)造塊”之間的“關(guān)系”,再確定各個(gè)構(gòu)造塊的屬性和“行為”。這樣,在軟件系統(tǒng)中就可以模擬現(xiàn)實(shí)世界的“構(gòu)造塊”之間的交互與協(xié)作面向?qū)ο筌浖_發(fā)的核心思想就是高內(nèi)聚(封裝)、低耦合(消息驅(qū)動(dòng)),使用簡(jiǎn)潔的接口拼合簡(jiǎn)單的部件需求分析師培訓(xùn)Day02結(jié)構(gòu)事物類(class)和對(duì)象(object)接口(interface)主動(dòng)類(activeclass)用例(usecase)協(xié)作(collaboration)構(gòu)件(component)節(jié)點(diǎn)(node)需求分析師培訓(xùn)Day02類和對(duì)象類是對(duì)一組具有相同屬性、相同操作、相同關(guān)系和相同語(yǔ)義的對(duì)象的抽象UML中類是用一個(gè)矩形表示的,它包含三個(gè)區(qū)域,最上面是類名、中間是類的屬性、最下面是類的方法對(duì)象則是類的一個(gè)實(shí)例需求分析師培訓(xùn)Day02接口接口是描述某個(gè)類或構(gòu)件的一個(gè)服務(wù)操作集需求分析師培訓(xùn)Day02主動(dòng)類主動(dòng)類實(shí)際上是一種特殊的類。引用它的原因,實(shí)際上是在開發(fā)中需要有一些類能夠起到

啟動(dòng)控制活動(dòng)的作用主動(dòng)類是指其對(duì)象至少擁有一個(gè)進(jìn)

程或線程,能夠啟動(dòng)控制活動(dòng)的類需求分析師培訓(xùn)Day02用例與協(xié)作用例是著名的大師IvarJacobson首先提出的,現(xiàn)已經(jīng)成為了面向?qū)ο筌浖_發(fā)中一個(gè)需求分析的最常用工具用例實(shí)例是在系統(tǒng)中執(zhí)行的一系列動(dòng)作,這些動(dòng)作將生成特定執(zhí)行者可見的價(jià)值結(jié)果。

一個(gè)用例定義一組用例實(shí)例。協(xié)作定義了一個(gè)交互,它是由一組共同工作以提供某協(xié)作行為的角色和其他元素構(gòu)

成的一個(gè)群體。對(duì)于某個(gè)用例的實(shí)現(xiàn)就可

以表示為一個(gè)協(xié)作需求分析師培訓(xùn)Day02構(gòu)件在實(shí)際的軟件系統(tǒng)中,有許多要比“類”更大的實(shí)體,例如一個(gè)COM組件、一個(gè)DLL文件、一個(gè)JavaBeans、一個(gè)執(zhí)行文件等等。為了更好地對(duì)在UML模型中對(duì)它們進(jìn)行表示,就引入了構(gòu)件(也譯為組件)構(gòu)件是系統(tǒng)設(shè)計(jì)的一個(gè)模塊化部分,它隱藏了內(nèi)部的實(shí)現(xiàn),對(duì)外提供了一組外部接口。在系統(tǒng)中滿足相同接口的組件可以自由地替換需求分析師培訓(xùn)Day02節(jié)點(diǎn)為了能夠有效地對(duì)部署的結(jié)構(gòu)進(jìn)行建模,UML引入了節(jié)點(diǎn)這一概念,它可以用來(lái)描述實(shí)際的PC機(jī)、打印機(jī)、服務(wù)器等軟件運(yùn)行的基礎(chǔ)硬件節(jié)點(diǎn)是運(yùn)行時(shí)存在的物理元素,它表示了一種可計(jì)算的資源,通常至少有存儲(chǔ)空間和處理能力需求分析師培訓(xùn)Day02行為事物交互(interaction):是在特定語(yǔ)境中,共同完成某個(gè)任務(wù)的一組對(duì)象之間交換的信息集合交互的表示法很簡(jiǎn)單,就是一條有向直線,并在上面標(biāo)有操作名狀態(tài)機(jī)(statemachine):是一個(gè)對(duì)象或交互在生命周期內(nèi)響應(yīng)事件所經(jīng)歷的狀態(tài)序列在UML模型中將狀態(tài)畫為一個(gè)圓

角矩形,并在矩形內(nèi)寫出狀態(tài)名

稱及其子狀態(tài)需求分析師培訓(xùn)Day02分組事物對(duì)于一個(gè)中大型的軟件系統(tǒng)而言,通常會(huì)包含大量的類,因此也就會(huì)存在大量的結(jié)構(gòu)事物、行為事物,為了能夠更加有效地對(duì)其進(jìn)行整合,生成或簡(jiǎn)或繁、或宏觀或微觀的模型,就需要對(duì)其進(jìn)行分組。在UML中,提供了“包(Package)”來(lái)完成這一目標(biāo)需求分析師培訓(xùn)Day02注釋事物結(jié)構(gòu)事物是模型的主要構(gòu)造塊,行為事物則是補(bǔ)充了模型中的動(dòng)態(tài)部分,分組事物而是用來(lái)更好地組織模型,似乎已經(jīng)很完整了。而注釋事物則是用來(lái)錦上添花的,它是用來(lái)在UML模型上添加適當(dāng)?shù)慕忉尣糠中枨蠓治鰩熍嘤?xùn)Day02關(guān)系構(gòu)造塊—關(guān)聯(lián)關(guān)系關(guān)聯(lián)(Association)表示兩個(gè)類之間存在某種語(yǔ)義上的聯(lián)系。關(guān)聯(lián)關(guān)系提供了通信的路徑,它是所有關(guān)系中最通用、語(yǔ)義最弱的。在UML中,使用一條實(shí)線來(lái)表示關(guān)聯(lián)關(guān)系在關(guān)聯(lián)關(guān)系中有兩種比較特殊的關(guān)系:聚合和組合聚合關(guān)系:聚合(Aggregation)是一種特殊形式的關(guān)聯(lián)。聚合表示類間的關(guān)系是整體與部分的關(guān)系如果發(fā)現(xiàn)“部分”類的存在,是完全依賴于“整體”類的,那么就應(yīng)該使用“組合”關(guān)系來(lái)描述需求分析師培訓(xùn)Day02關(guān)系構(gòu)造塊—其他關(guān)系泛化關(guān)系描述了一般事物與該事物中的特殊種類之間的關(guān)系,也就是父類與子類之間的關(guān)系。實(shí)現(xiàn)關(guān)系是用來(lái)規(guī)定接口和實(shí)現(xiàn)接口的類或組件之間的關(guān)系。接口是操作的集合,這些操作用于規(guī)定類或組件的服務(wù)。擴(kuò)展表示將一個(gè)構(gòu)造型附加到一個(gè)元類上,使得元類的定義中包括這個(gè)構(gòu)造型。有兩個(gè)元素X、Y,如果修改元素X的定義可能會(huì)引起對(duì)另一個(gè)元素Y的定義的修改,則稱元素Y依賴于元素X。需求分析師培訓(xùn)Day02UML規(guī)則命名:也就是為事物、關(guān)系和圖起名字。和任何語(yǔ)言一樣,名字都是一個(gè)標(biāo)識(shí)符范圍:與類的作用域相似,包括所有者作用域和目標(biāo)作用域兩類可見性:可見性規(guī)則標(biāo)準(zhǔn)表示法Rose屬性Rose方法public任一元素,若能訪問(wèn)包容器,就可以訪問(wèn)它+

protected只有包容器中的元素或包容器的后代才能夠看到它#

private只有包容器中的元素才能夠看得到它-

package只有聲明在同一個(gè)包中的元素才能夠看到該元素~需求分析師培訓(xùn)Day02公共機(jī)制—規(guī)格描述在圖形表示法的每個(gè)部分后面都有一個(gè)規(guī)格描述(也稱為詳述),它用來(lái)對(duì)構(gòu)造塊的語(yǔ)法和語(yǔ)義進(jìn)行文字?jǐn)⑹?。這種構(gòu)思,也就使可視化視圖和文字視圖的分離:需求分析師培訓(xùn)Day02公共機(jī)制—UML修飾與通用劃分在為了更好的表示這些細(xì)節(jié),UML中還提供了一些修飾符號(hào),例如不同可視性的符號(hào)、用斜體字表示抽象類UML通用劃分:

1)類與對(duì)象的劃分:類是一種抽象,對(duì)象是一個(gè)具體的實(shí)例

2)接口與實(shí)現(xiàn)的分離:接口是一種聲明、是一個(gè)契約,也是服務(wù)的入口;實(shí)現(xiàn)則是負(fù)責(zé)實(shí)施接口提供的契約需求分析師培訓(xùn)Day02UML擴(kuò)展機(jī)制構(gòu)造型:在實(shí)際的建模過(guò)程中,可能會(huì)需要定義一些特定于某個(gè)領(lǐng)域或某個(gè)系統(tǒng)的構(gòu)造塊需求分析師培訓(xùn)Day02UML擴(kuò)展機(jī)制標(biāo)記值:則是用來(lái)為事物添加新特性的。標(biāo)記值的表示方法是用形如“{標(biāo)記信息}”的字符串約束:是用來(lái)增加新的語(yǔ)義或改變已存在規(guī)則的一種機(jī)制(自由文本和OCL兩種表示法)。約束的表示法和標(biāo)記值法類似,都是使用花括號(hào)括起來(lái)的串來(lái)表示,不過(guò)它是不能夠放在元素中的,而是放在相關(guān)的元素附近需求分析師培訓(xùn)Day02圖名功能備注類圖描述類、類的特性以及類之間的關(guān)系UML1原有對(duì)象圖描述一個(gè)時(shí)間點(diǎn)上系統(tǒng)中各個(gè)對(duì)象的一個(gè)快照UML1非正式圖復(fù)合結(jié)構(gòu)圖描述類的運(yùn)行時(shí)刻的分解UML2.0新增構(gòu)件圖描述構(gòu)件的結(jié)構(gòu)與連接UML1原有部署圖描述在各個(gè)節(jié)點(diǎn)上的部署UML1原有包圖描述編譯時(shí)的層次結(jié)構(gòu)UML中非正式圖用例圖描述用戶與系統(tǒng)如何交互UML1原有活動(dòng)圖描述過(guò)程行為與并行行為UML1原有狀態(tài)機(jī)圖描述事件如何改變對(duì)象生命周期UML1原有順序圖描述對(duì)象之間的交互,重點(diǎn)在強(qiáng)調(diào)順序UML1原有通信圖描述對(duì)象之間的交互,重點(diǎn)在于連接UML1中的協(xié)作圖定時(shí)圖描述對(duì)象之間的交互,重點(diǎn)在于定時(shí)UML2.0新增交互概觀圖是一種順序圖與活動(dòng)圖的混合UML2.0新增UML定義的圖需求分析師培訓(xùn)Day02主要領(lǐng)域視圖圖結(jié)構(gòu)靜態(tài)視圖類圖設(shè)計(jì)視圖復(fù)合結(jié)構(gòu)圖、協(xié)作圖、構(gòu)件圖用例視圖用例圖動(dòng)態(tài)狀態(tài)視圖狀態(tài)機(jī)圖活動(dòng)視圖活動(dòng)圖交互視圖順序圖、通信圖物理部署視圖部署圖模型管理模型管理視圖包圖特性描述包圖UML視圖和圖需求分析師培訓(xùn)Day02UML圖形分類需求分析師培訓(xùn)Day024+1視圖需求分析師培訓(xùn)Day024+1視圖用例視圖:它是最基本的需求分析模型,是可被最終用戶看到的系統(tǒng)行為的用例組成。常用的模型包括用例圖、交互圖、狀態(tài)圖、活動(dòng)圖等。設(shè)計(jì)視圖:又稱為邏輯視圖,以問(wèn)題域的語(yǔ)匯組成的類和對(duì)象集合,用來(lái)描述類、接口、協(xié)作。常用的模型包括類圖、交互圖、狀態(tài)圖、活動(dòng)圖等。進(jìn)程視圖:形成系統(tǒng)并發(fā)與同步機(jī)制的線程和進(jìn)程,也就是將可執(zhí)行線程和進(jìn)程作為活動(dòng)類的建模,可理解為設(shè)計(jì)視圖的一次執(zhí)行實(shí)例。它使用的模型與設(shè)計(jì)視圖類似,區(qū)別在于更側(cè)重于主動(dòng)類。需求分析師培訓(xùn)Day024+1視圖實(shí)現(xiàn)視圖:對(duì)組成基于系統(tǒng)的物理代碼的文件和組件進(jìn)行建模,即裝配與發(fā)布物理系統(tǒng)的構(gòu)件和文件。常用的模型包括構(gòu)件圖、交互圖、狀態(tài)圖、活動(dòng)圖。部署視圖:包含了形成系統(tǒng)硬件拓?fù)浣Y(jié)構(gòu)的節(jié)點(diǎn),也就是描述組件是如何物理地部署到一組物理的、可計(jì)算節(jié)點(diǎn)上的。常用的模型包括部署圖、交互圖、狀態(tài)圖、活動(dòng)圖。需求分析師培訓(xùn)Day02開發(fā)過(guò)程需求分析師培訓(xùn)Day02練習(xí)題如果你想對(duì)一個(gè)類的用途進(jìn)行簡(jiǎn)要描述,那么應(yīng)該采用

?請(qǐng)簡(jiǎn)要說(shuō)明原因。

A.標(biāo)記值B.規(guī)格描述C.注釋D.構(gòu)造型請(qǐng)列舉出三個(gè)以上UML中的事物構(gòu)造塊。說(shuō)說(shuō)適合用來(lái)表示“系統(tǒng)向用戶提供的功能”的構(gòu)造塊是什么適用于模型管理的是哪張圖?下圖所示的符號(hào)表示的是什么?它是關(guān)系構(gòu)造塊還是事物構(gòu)造塊?需求分析師培訓(xùn)Day02類圖基礎(chǔ)需求分析師培訓(xùn)Day02理解面向?qū)ο笏枷胄枨蠓治鰩熍嘤?xùn)Day02理解面向?qū)ο笏枷朊總€(gè)對(duì)象都扮演了一個(gè)角色,并為其它成員提供特定的服務(wù)或執(zhí)行特定的行為。在面向?qū)ο笫澜缰?,行為的啟?dòng)是通過(guò)將“消息”傳遞給對(duì)此行為負(fù)責(zé)的對(duì)象來(lái)完成的;同時(shí)還將伴隨著執(zhí)行要求附上相關(guān)的信息(參數(shù));而收到該消息的對(duì)象則會(huì)執(zhí)行相應(yīng)的“方法”來(lái)實(shí)現(xiàn)需求用類和對(duì)象表示現(xiàn)實(shí)世界,用消息和方法來(lái)模擬現(xiàn)實(shí)世界的核心思想需求分析師培訓(xùn)Day02如何用UML表示一個(gè)類名稱:每個(gè)類都有一個(gè)惟一的名稱,通常采用CamelCase格式表示屬性:是已被命名的類的

特性,它描述該類實(shí)例中

包含的信息操作:是類所提供的服務(wù),

它可以由類的任何對(duì)象請(qǐng)求以影響其行為屬性名和操作名也通常采用CamelCase格式表示,只不過(guò)首字母通常為小寫。

需求分析師培訓(xùn)Day02如何閱讀類圖先看清有哪些類,然后看

看類之間存在的關(guān)系,并

結(jié)合多重性來(lái)理解類圖的

結(jié)構(gòu)特點(diǎn)以及

各個(gè)屬性和方

法的含義需求分析師培訓(xùn)Day02讀圖過(guò)程讀出類:圖中共有7個(gè)類,Order、OrderItem、Customer、Consignee、DeliverOrder、Peddlery、Prodcut讀出關(guān)系:從圖中關(guān)系最復(fù)雜(也就是線最密集)的類開始閱讀,本圖中最復(fù)雜的就是Order類。

1)OrderItem和Order之間是組合關(guān)系,根據(jù)箭頭的方向可知Order包含了OrderItem。

2)Order類和Customer、Consignee、DeliverOrder是關(guān)聯(lián)關(guān)系。也就是說(shuō),一個(gè)訂單和客戶、收貨人、送貨單是相關(guān)的。需求分析師培訓(xùn)Day02讀圖過(guò)程多重性:用來(lái)說(shuō)明關(guān)聯(lián)的兩個(gè)類之間的數(shù)量關(guān)系源類及多重性目標(biāo)類及多重性分析Customer(1)Order(0…n)訂單是屬于某個(gè)客戶的,網(wǎng)站的客戶可以有0個(gè)或多個(gè)訂單Order(1)Consignee(1)每個(gè)訂單只能夠有一個(gè)收貨人Order(1)OrderItem(1…n)訂單是由訂單項(xiàng)組成的,至少要有一個(gè)訂單項(xiàng),最多可有n個(gè)Order(1)DeliverOrder(1…n)一個(gè)訂單有一個(gè)或多個(gè)送貨單說(shuō)明:系統(tǒng)根據(jù)訂單項(xiàng)的產(chǎn)品所屬的商戶,將其分發(fā)給商戶,拆成了多個(gè)送貨單!DeliverOrder(1)OrderItem(1…n)一張送貨單對(duì)應(yīng)訂單中的一到多個(gè)訂單項(xiàng)DeliverOrder(1)Consignee(1)每張送貨單都對(duì)應(yīng)著一個(gè)收貨人Peddlery(1)DeliverOrder(0…n)每個(gè)商戶可以有相關(guān)的0個(gè)或多個(gè)送貨單OrderItem(1)Product(1)每個(gè)訂單項(xiàng)中都包含著唯一的一個(gè)產(chǎn)品Peddlery(1)Prodcut(0…n)產(chǎn)品是屬于某個(gè)商戶的,可注冊(cè)0到多個(gè)產(chǎn)品需求分析師培訓(xùn)Day02讀圖過(guò)程—理解方法和圖Order類,有兩個(gè)方法:dispatch()和close(),從名字中可以猜出它們分別實(shí)現(xiàn)“分拆訂單生成送貨單”和“完成訂單”。而在DeliveOrder()類中則有一個(gè)Close()方法,同理它應(yīng)該表示“完成送貨”。而在OrderItem中有一個(gè)stateChange()方法和deliverState,不難猜出它就是用來(lái)改變其“是否交給收貨人”標(biāo)志位的需求分析師培訓(xùn)Day02讀圖過(guò)程—理解方法和圖先調(diào)用Order的dispatch()方法,它將根據(jù)其包含的OrderItem中產(chǎn)品信息,來(lái)按供應(yīng)商戶分拆成若干個(gè)DeliverOrder。商戶登錄系統(tǒng)后就可以獲取其DeliverOrder,并在執(zhí)行完后調(diào)用close()方法。這時(shí),就將調(diào)用OrderItem的stateChange()方法來(lái)改為其狀態(tài)。同時(shí)再調(diào)用Order的close()方法,判斷該Order的所有的OrderItem是否都已經(jīng)送到了,如果是就將其真正close()掉

需求分析師培訓(xùn)Day02使用了更多建模元素的類圖需求分析師培訓(xùn)Day02輔助建模符號(hào)導(dǎo)航箭號(hào):類的實(shí)例之間只能沿著導(dǎo)航箭頭的方向傳遞,在Order中可以獲取其相應(yīng)的Consignee,而從Consignee中是無(wú)法了解與其相關(guān)的Order的角色名稱:Customer端有一個(gè)“+Owner”字符串,這表示Customer扮演的角色是Owner,也能對(duì)關(guān)聯(lián)進(jìn)行命名需求分析師培訓(xùn)Day02輔助建模符號(hào)導(dǎo)出屬性:是指可以根據(jù)其他值計(jì)算出來(lái)的特性,這種屬性應(yīng)在其名稱前加上一個(gè)“/”符號(hào)。限定符:在Order和OrderItem之間的組合關(guān)系中,OrderItem這端多了個(gè)方框,寫著“ProductId”。在UML中稱為限定符,存在限定符的關(guān)聯(lián)稱為受限關(guān)聯(lián)。它用來(lái)表示某種限定關(guān)系。在本例中說(shuō)明:對(duì)于一張訂單,每一種產(chǎn)品只能用一個(gè)訂單項(xiàng)約束:用來(lái)說(shuō)明規(guī)則,{xor}…職責(zé):在類的屬性欄中添加注釋行表示,或增加了一個(gè)新的分欄需求分析師培訓(xùn)Day02對(duì)象約束語(yǔ)言環(huán)境與約束:每個(gè)OCL表達(dá)式都必須是針對(duì)某個(gè)元素的,因此在OCL表達(dá)式前必須說(shuō)明它針對(duì)元素(這就稱為環(huán)境)

1)“contextObjectinv:”,其中Object是OCL表達(dá)式針對(duì)的建模元素名稱;

2)“Object”,其中Object是OCL表達(dá)式針對(duì)的建模元素名稱。

當(dāng)聲明了環(huán)境之后,就可以用self來(lái)引用它的變量

需求分析師培訓(xùn)Day02對(duì)象約束語(yǔ)言子集約束:一致性:一個(gè)客戶擁有零個(gè)或多個(gè)合同,發(fā)票是基于某個(gè)合同的,而一個(gè)客戶將收到零張或多張發(fā)票

Invoice:self.contract.customer=self.customer需求分析師培訓(xùn)Day02對(duì)象約束語(yǔ)言異或關(guān)系:規(guī)定的取值范圍:

Rectangle:length>0andwidth>0需求分析師培訓(xùn)Day02用類圖表示軟件系統(tǒng)模型領(lǐng)域模型是從面向?qū)ο笠暯强创F(xiàn)實(shí)世界的結(jié)果,也就是通過(guò)類圖描述現(xiàn)實(shí)世界中各種事物的關(guān)系。分析模型和領(lǐng)域模型很相近,分析模型主要是針對(duì)軟件系統(tǒng),領(lǐng)域模型則更多偏重對(duì)業(yè)務(wù)領(lǐng)域的分析設(shè)計(jì)模型則是在分析模型的基礎(chǔ)上添加設(shè)計(jì)元素的結(jié)果。設(shè)計(jì)模型中的類的屬性集更趨完善。需求分析師培訓(xùn)Day02用類圖表示數(shù)據(jù)庫(kù)邏輯模型從某種意義上說(shuō)UML中的類圖是E-R圖的超集,E-R圖只針對(duì)存儲(chǔ)的數(shù)據(jù),而類圖則在些基礎(chǔ)上,增加了行為建模的能力。在使用類圖來(lái)表示E-R模型時(shí),要注意遵循以下策略將表示E-R模型的類,用UML的標(biāo)準(zhǔn)構(gòu)造型“{persistent}”來(lái)表示;展開類的結(jié)構(gòu)性細(xì)節(jié),并加強(qiáng)關(guān)聯(lián)和多重性分析;盡量消除循環(huán)關(guān)聯(lián)、n-元關(guān)聯(lián)需求分析師培訓(xùn)Day02最常見的域建模錯(cuò)誤10.立即給關(guān)聯(lián)指定多重度(multiplicity),確保每個(gè)關(guān)聯(lián)都有明確的多重度。9.對(duì)名詞和動(dòng)詞做過(guò)度的分析,而背離初衷。8.不對(duì)用例和時(shí)序圖進(jìn)行研究,就將操作分配給類。7.對(duì)象和類的通用程度越高,在其他項(xiàng)目中重用它們的可能性就越大。6.對(duì)于每個(gè)“…一部分(part-of)”關(guān)聯(lián),就使用聚集還是組合(composition)而爭(zhēng)論不休。需求分析師培訓(xùn)Day02最常見的域建模錯(cuò)誤5.未對(duì)問(wèn)題空間進(jìn)行建模之前,就假定一種具體的實(shí)現(xiàn)策略。4.將類命名為難以理解的名稱cPortMgrIntf),而不是直觀的名稱(如PortfolioManager)。3.直接進(jìn)入到實(shí)現(xiàn)結(jié)構(gòu),如友元關(guān)系和參數(shù)化類。2.在域類和關(guān)系型數(shù)據(jù)庫(kù)表之間建立一對(duì)一的映射。1.過(guò)早地執(zhí)行“模式化”,這將導(dǎo)致根據(jù)同用戶問(wèn)題毫無(wú)關(guān)系的模式創(chuàng)建解決方案。需求分析師培訓(xùn)Day02練習(xí)一下圖是一個(gè)倉(cāng)庫(kù)管理系統(tǒng)的類模型局部,其中IncomeOrder是指入庫(kù)單,OrderItem是指入庫(kù)中的每一項(xiàng),Product則是產(chǎn)品信息。請(qǐng)指出模型中的錯(cuò)誤,說(shuō)明原因并改正錯(cuò)誤需求分析師培訓(xùn)Day02練習(xí)二在描述“稅務(wù)審批服務(wù)

申請(qǐng)”時(shí),它主要包含

哪幾個(gè)方面的內(nèi)容?它有幾

種不同的類別?對(duì)于每一條流轉(zhuǎn)記錄,可

能與幾個(gè)“稅務(wù)審批服務(wù)

申請(qǐng)”相關(guān)?與幾個(gè)處理

人相關(guān)?需求分析師培訓(xùn)Day02練習(xí)三3過(guò)早考慮

實(shí)現(xiàn)階段

的內(nèi)容需求分析師培訓(xùn)Day02練習(xí)四48LoginManager4.名字不直觀

8.太早定義類

的操作需求分析師培訓(xùn)Day02練習(xí)五4564.名字不直觀

5.指定實(shí)現(xiàn)方

式—EJB6.過(guò)早考慮聚

合或組合ShoppingCart需求分析師培訓(xùn)Day02練習(xí)六28102.與數(shù)據(jù)庫(kù)表

一一對(duì)應(yīng)8.過(guò)早分配類

的操作10關(guān)聯(lián)多重性O(shè)rder需求分析師培訓(xùn)Day02練習(xí)七1251.使用了設(shè)計(jì)模式:Proxy;2.price、quan…publisher可能

成為關(guān)聯(lián)類;5.用了Java中

的Vector需求分析師培訓(xùn)Day02練習(xí)七需求分析師培訓(xùn)Day02練習(xí)八585.使用了構(gòu)造

型8.過(guò)早分配類

的操作CandldateOrderCustomerReview需求分析師培訓(xùn)Day02練習(xí)九:根據(jù)下面描述繪制類圖這是一個(gè)“碟片出租店”使用的系統(tǒng),它將用于計(jì)算每一位顧客的消費(fèi)金額并打印報(bào)表。操作者告訴程序:顧客租了哪些影片、租期多長(zhǎng),程序便根據(jù)租憑時(shí)間和影片類型算出費(fèi)用。影片分三類:普通片、兒童片和新片。除了計(jì)算費(fèi)用,還要為??陀?jì)算機(jī)點(diǎn)數(shù);點(diǎn)數(shù)會(huì)隨著“租片種類是否為新片”而有所不同。需求分析師培訓(xùn)Day02練習(xí)九解答1這是一個(gè)“碟片出租店”使用的程序,它將用于計(jì)算每一位顧客的消費(fèi)金額并打印報(bào)表。操作者告訴程序:顧客租了哪些影片、租期多長(zhǎng),程序便根據(jù)租期和影片類型算出其消費(fèi)金額。

影片分三類:普通片、兒童片和新片。除了計(jì)算消費(fèi)金額,還要為常客計(jì)算累積點(diǎn)數(shù);累積點(diǎn)數(shù)會(huì)隨著“租片種類是否為新片”而有所不同。需求分析師培訓(xùn)Day02練習(xí)九解答2這是一個(gè)“碟片出租店”使用的程序,它將用于計(jì)算每一位顧客的消費(fèi)金額并打印報(bào)表。操作者告訴程序:顧客租了哪些影片、租期多長(zhǎng),程序便根據(jù)租期和影片類型算出其消費(fèi)金額。

影片分三類:普通片、兒童片和新片。除了計(jì)算消費(fèi)金額,還要為??陀?jì)算累積點(diǎn)數(shù);累積點(diǎn)數(shù)會(huì)隨著“租片種類是否為新片”而有所不同。碟片出租店程序消費(fèi)金額報(bào)表操作者顧客影片租期影片類型普通片兒童片新片累積點(diǎn)數(shù)需求分析師培訓(xùn)Day02練習(xí)九解答3碟片出租店程序消費(fèi)金額報(bào)表操作者顧客影片租期影片類型普通片兒童片新片累積點(diǎn)數(shù)在系統(tǒng)外系統(tǒng)本身應(yīng)該是每次“交易”屬性類!在系統(tǒng)外在系統(tǒng)外,但需記錄,類!類!屬性影片的屬性類!類!類!顧客的屬性報(bào)表顧客影片普通片兒童片交易新片需求分析師培訓(xùn)Day02練習(xí)九解答4需求分析師培訓(xùn)Day02練習(xí)十下圖是小張繪制的一張關(guān)于網(wǎng)上商城用戶管理的領(lǐng)域類圖,但其中存在一些問(wèn)題,請(qǐng)指出錯(cuò)誤并說(shuō)明理由需求分析師培訓(xùn)Day02討論類圖有什么用?用類圖對(duì)領(lǐng)域進(jìn)行建模時(shí),主要的困難在于哪些方面?需求分析師培訓(xùn)Day02交互圖基礎(chǔ)需求分析師培訓(xùn)Day02交互的概念一次交互就是指在特定語(yǔ)境中,為了實(shí)現(xiàn)某一個(gè)目標(biāo),而在一組對(duì)象之間進(jìn)行交換的一組消息所表示的行為在大多數(shù)的情況下,消息通常是指啟動(dòng)一個(gè)操作,或發(fā)送一個(gè)信號(hào),以及創(chuàng)建或銷毀一個(gè)對(duì)象由一條有方向的直線,加上名稱、參數(shù)(可選)和順序組成需求分析師培訓(xùn)Day02四種交互圖順序圖:強(qiáng)調(diào)消息時(shí)間順序。首先把參與交互的對(duì)象放在圖的上方,沿X軸方向排列。通常把發(fā)起交互的對(duì)象放在左邊,較下級(jí)對(duì)象依次放在右邊。然后,把這些對(duì)象發(fā)送和接收的消息沿Y軸方向按時(shí)間順序從上到下放置。讀者提供了控制流隨著時(shí)間推移的清晰的可視化軌跡。協(xié)作圖:在UML2.0中稱為通信圖,強(qiáng)調(diào)的是參加交互的對(duì)象的組織。首先將參加交互的對(duì)象作為圖的頂點(diǎn),然后用這些對(duì)象之間的邊線表示為圖的邊,再使用對(duì)象發(fā)送和接收的消息來(lái)修飾這些邊。為讀者提供了在協(xié)作對(duì)象結(jié)構(gòu)組織的語(yǔ)境中觀察控制流的一個(gè)清晰的可視化軌跡需求分析師培訓(xùn)Day02四種交互圖定時(shí)圖:采用了一種帶數(shù)字刻度的時(shí)間軸來(lái)精確地描述消息的順序,而不是像順序圖那樣只是指定消息的相對(duì)順序。而且它還允許可視化地表示每條生命線的狀態(tài)變化,當(dāng)需要對(duì)實(shí)時(shí)事件進(jìn)行定義時(shí),定時(shí)圖就可以很好地滿足交互概述圖:是交互圖和活動(dòng)圖的混合物。你可以把交互概述圖想像為活動(dòng)圖,只不過(guò)其中的活動(dòng)被換成了一些小型順序圖;也可以把其想像為利用標(biāo)明控制流的活動(dòng)圖分解過(guò)的順序圖需求分析師培訓(xùn)Day02閱讀順序圖需求分析師培訓(xùn)Day02順序圖的主要元素對(duì)象與角色:最頂上一排矩形框。在交互圖中,參與交互的對(duì)象既可以是具體的事物,又可以是原型化的事物。作為具體的事物,一個(gè)對(duì)象代

表現(xiàn)實(shí)世界中的某個(gè)東西。例如,aOrder

作為類Order的一個(gè)實(shí)例,可以代表一個(gè)

特定的訂單;而如果作為一個(gè)原型化的事

件,則aOrder可以代表類Order的任何一

個(gè)實(shí)例。生命線與控制焦點(diǎn):每個(gè)對(duì)象都有自己的

生命線,對(duì)象生命線是一條垂直的虛線,

用來(lái)表示一個(gè)對(duì)象在一段時(shí)間內(nèi)存在。需求分析師培訓(xùn)Day02順序圖的主要元素消息:用來(lái)描述對(duì)象之間所進(jìn)行的通信的,該信息帶有對(duì)將要發(fā)生的活動(dòng)的期望。當(dāng)傳送一個(gè)消息時(shí),它所引起的動(dòng)用是一個(gè)通過(guò)對(duì)計(jì)算過(guò)程的抽象而得到的可執(zhí)行語(yǔ)句。消息分為五種:調(diào)用、返回、發(fā)送、創(chuàng)建和銷毀調(diào)用:表示調(diào)用某個(gè)對(duì)象一個(gè)操作

需求分析師培訓(xùn)Day02順序圖的主要元素返回:表示被調(diào)用的對(duì)象,向調(diào)用者返回一個(gè)值發(fā)送:發(fā)送是指向?qū)ο蟀l(fā)送一個(gè)信號(hào),和調(diào)用不同,它是一種事件,用來(lái)表示個(gè)實(shí)例間進(jìn)行通信的異步激發(fā)機(jī)制

創(chuàng)建和銷毀:就是創(chuàng)建和銷毀一個(gè)對(duì)象。需求分析師培訓(xùn)Day02順序圖的主要元素順序編號(hào):整個(gè)消息的傳遞過(guò)程就形成了一個(gè)完整的序列,因此通過(guò)在每個(gè)消息的前面加上一個(gè)用冒號(hào)隔開的順序號(hào)來(lái)表示其順序。除了順序編號(hào)之外,還可以采用嵌套方案:需求分析師培訓(xùn)Day02順序圖的主要元素循環(huán)與分支需求分析師培訓(xùn)Day02讀圖小結(jié)在dispatchForm(分發(fā)窗體)中,對(duì)于某個(gè)已支付的Order進(jìn)行分發(fā)時(shí),就會(huì)調(diào)用該訂單(一個(gè)Order類的實(shí)例對(duì)象aOrder)的dispatch()方法。dispatch()方法將逐個(gè)調(diào)用該Order對(duì)應(yīng)的所有OrderItem對(duì)象的getPeddleryId()方法還獲取供應(yīng)商ID(PeddleryId),而OrderItem對(duì)象則是通過(guò)其所對(duì)應(yīng)的Product對(duì)象來(lái)的getPeddleryId()方法來(lái)獲取供應(yīng)商ID。需求分析師培訓(xùn)Day02讀圖小結(jié)當(dāng)Order的實(shí)例對(duì)象aOrder得到返回的PeddleryId后,根據(jù)該值判斷是否已經(jīng)有相對(duì)應(yīng)的DeliverOrder對(duì)象,如果沒(méi)有就創(chuàng)建它(調(diào)用create(PeddleryId)),然后再將對(duì)應(yīng)的Product添加到這個(gè)DeliverOrder對(duì)象中。否則就直接添加到相應(yīng)的DeliverOrder對(duì)象中。需求分析師培訓(xùn)Day02閱讀協(xié)作(通信)圖需求分析師培訓(xùn)Day02協(xié)作圖的主要元素鏈:連接器,是用來(lái)表示對(duì)象之間的語(yǔ)義連接,一般而言,鏈?zhǔn)顷P(guān)聯(lián)的一個(gè)實(shí)例(包括《association》、《self》、《global》、《local》等)。不過(guò)在UML2中已經(jīng)開始弱化它們的使用,因此除非必要,無(wú)需過(guò)多地考慮它們消息編號(hào):消息的編號(hào)有兩種,一種是無(wú)層次編號(hào),它簡(jiǎn)單直觀;另一種是嵌套的編號(hào),它更易于表示消息的包含關(guān)系迭代標(biāo)記:用*號(hào)表示,表示循環(huán),通常還有迭代表達(dá)式,用來(lái)說(shuō)明循環(huán)規(guī)則需求分析師培訓(xùn)Day02協(xié)作圖的主要元素監(jiān)護(hù)條件:通常是用來(lái)表示分支的,也就是表示“如果條件為true,才發(fā)送消息”在通信圖中使用監(jiān)護(hù)條件一定要有所限制,通常應(yīng)只列出主要的監(jiān)護(hù)條件,否則會(huì)影響其閱讀。如果需要,盡可能還是通過(guò)順序圖來(lái)表示需求分析師培訓(xùn)Day02交互建模的準(zhǔn)備工作首先根據(jù)自己的喜好和實(shí)際的表現(xiàn)需要來(lái)選擇順序圖或通信圖。不過(guò)由于它們?cè)谡Z(yǔ)義上是等價(jià)的,因此可以繪制出一種,再通過(guò)建模工具來(lái)自動(dòng)轉(zhuǎn)換成另一種圖分析模型中的交互圖徹重于分析類的職責(zé)分配和交互流程,而設(shè)計(jì)模型中的交互圖則徹重于設(shè)計(jì)類的引入和實(shí)際方法的調(diào)用與流程控制先確定參與交互的對(duì)象、對(duì)象之間的關(guān)系(通信圖),然后確定對(duì)象間的消息交互流程(用同步調(diào)用、異步消息、返回消息表示),并利用交互片斷(順序圖)或迭代標(biāo)記及監(jiān)護(hù)條件來(lái)表示循環(huán)和分支結(jié)構(gòu)需求分析師培訓(xùn)Day02交互建模—Robustness分析Robustness分析不是UML模型的一部分,它是一個(gè)強(qiáng)大的草圖工具,是介于分析和設(shè)計(jì)之間的一種有效工具在Robustness分析中,將應(yīng)用邊界類、控制類和實(shí)體類從一個(gè)用例中抽取三類對(duì)象的方法:需求分析師培訓(xùn)Day02Robustness分析—從事件流開始需求分析師培訓(xùn)Day02Robustness分析:尋找邊界對(duì)象圖書管理員向系統(tǒng)發(fā)出“新增書籍信息”請(qǐng)求——主窗口、“新增書籍信息”按鈕系統(tǒng)要求圖書管理員選擇要新增的書籍是計(jì)算機(jī)類還是非計(jì)算機(jī)類——書籍類別列表框。圖書管理員做出選擇后,顯示相應(yīng)界面,

讓圖書管理員輸入信

息,并自動(dòng)根據(jù)書號(hào)

規(guī)則生成書號(hào)——

“新書信息錄入”窗口

及輔助的“提交”按鈕需求分析師培訓(xùn)Day02尋找控制對(duì)象與實(shí)體對(duì)象根據(jù)事件流中的步驟5,以及擴(kuò)展路徑的描述,就可以在原圖上增加相應(yīng)的控制對(duì)象,得到更進(jìn)一步的Robustness分析圖需求分析師培訓(xùn)Day02尋找控制對(duì)象與實(shí)體對(duì)象新添兩個(gè)邏輯:一是基本事件流中的步驟2、3要求根據(jù)用戶選擇的類別,自動(dòng)獲得書號(hào);二是當(dāng)書名重復(fù)性檢查沒(méi)有通過(guò)(有重名),則應(yīng)返回要求其重輸

需求分析師培訓(xùn)Day02構(gòu)建交互模型需求分析師培訓(xùn)Day02轉(zhuǎn)成通信圖需求分析師培訓(xùn)Day02交互模型的應(yīng)用用例建模的目標(biāo)是從使用者的角度來(lái)對(duì)系統(tǒng)進(jìn)行梳理,Robustness分析則是對(duì)使用者的使用場(chǎng)景(一個(gè)用例的實(shí)例)進(jìn)行的具體的分析,從而理解了系統(tǒng)需要做什么,并找出更多與解決方案相關(guān)的設(shè)計(jì)類。但更重要的是完整地捕獲出這些類的行為、責(zé)任以及它們之間的交互,而這些正是系統(tǒng)運(yùn)行的機(jī)制。而交互建模,正是要通過(guò)尋找對(duì)象之間的交互關(guān)系,從而進(jìn)行“行為分配”。需求分析師培訓(xùn)Day02交互模型的類型與演變需求分析師培訓(xùn)Day02分析階段的交互模型針對(duì)用例圖中的每個(gè)用例,并結(jié)合領(lǐng)域模型中的類,尋找分析類,并通過(guò)Robustness分析來(lái)理清業(yè)務(wù)邏輯流程,再用交互模型將其確定下來(lái)。同時(shí)這個(gè)階段,不斷地豐富分析模型,將新找到的類添加到類圖中去在分析階段我們主要關(guān)注于區(qū)分出邊界對(duì)象、實(shí)體對(duì)象和控制對(duì)象,暫時(shí)不要考慮其具體的實(shí)現(xiàn)類對(duì)于較復(fù)雜的用例而言,我們可以按上述的流程逐漸地進(jìn)行分析、設(shè)計(jì)、實(shí)施;但對(duì)于比較簡(jiǎn)單的用例而言,也是可以直接從用例描述中導(dǎo)出設(shè)計(jì)階段交互模型需求分析師培訓(xùn)Day02分析階段的交互模型之后引入基礎(chǔ)類:各種庫(kù)函數(shù)、框架進(jìn)行質(zhì)量評(píng)審:

1)低耦合

2)高內(nèi)聚

3)效率

4)完整性

5)簡(jiǎn)單性優(yōu)化類設(shè)計(jì):設(shè)計(jì)模式與重構(gòu)需求分析師培訓(xùn)Day02設(shè)計(jì)階段的交互模型當(dāng)在分析模型的基礎(chǔ)上,通過(guò)引入基礎(chǔ)類、優(yōu)化類設(shè)計(jì)之后,必然會(huì)獲得新的類模型(設(shè)計(jì)模型),因此就可能需要基于新引入的“設(shè)計(jì)類”來(lái)更新交互模型,以獲得與實(shí)際代碼相吻合的模型是否建立設(shè)計(jì)階段的交互模型,也是取決于需要的。通常只有約一半的用例可能需要精化交互模型;如果在一般的MIS應(yīng)用系統(tǒng)中,這個(gè)比例可能會(huì)更低需求分析師培訓(xùn)Day02交互模型的建模要點(diǎn)創(chuàng)建交互圖時(shí),應(yīng)該遵循以下策略:給出一個(gè)能表達(dá)其目的的名稱;通過(guò)修改元素的布局,盡量避免交叉線的存在;可以通過(guò)注解和顏色作為可視化提示,以突出圖形中的重要特性;盡量少用分支,對(duì)于分支很多的場(chǎng)景,可以考慮用活動(dòng)圖來(lái)補(bǔ)充切記“盡可能保持簡(jiǎn)單”需求分析師培訓(xùn)Day02狀態(tài)圖基礎(chǔ)需求分析師培訓(xùn)Day02狀態(tài)及狀態(tài)表示法狀態(tài)是指在對(duì)象生命周期中滿足某些條件、執(zhí)行某些活動(dòng)或等待某些事件的一個(gè)條件和狀況一個(gè)狀態(tài)通常包括名稱、進(jìn)入/退出活動(dòng)、內(nèi)部轉(zhuǎn)換、子狀態(tài)和延遲事件等五個(gè)部分組成需求分析師培訓(xùn)Day02閱讀簡(jiǎn)單狀態(tài)圖最為核心的元素?zé)o外乎是兩個(gè):一個(gè)是用圓角矩形表示的狀態(tài)(初態(tài)和終態(tài)例外);另一個(gè)則是在狀態(tài)之間的、包含一些文字描述的有向箭頭線,這些箭頭線稱為轉(zhuǎn)換需求分析師培訓(xùn)Day02轉(zhuǎn)換的五要素源狀態(tài):即受轉(zhuǎn)換影響的狀態(tài)目標(biāo)狀態(tài):當(dāng)轉(zhuǎn)換完成后對(duì)象的狀態(tài)觸發(fā)事件:用來(lái)為轉(zhuǎn)換定義一個(gè)事件,包括調(diào)用、改變、信號(hào)、時(shí)間四類事件監(jiān)護(hù)條件:布爾表達(dá)式,決定是否激活轉(zhuǎn)換動(dòng)作:轉(zhuǎn)換激活時(shí)的操作需求分析師培訓(xùn)Day02讀圖小結(jié)與狀態(tài)off相關(guān)的轉(zhuǎn)換有兩個(gè),其觸發(fā)事件都是turnOn,只不過(guò)其監(jiān)護(hù)條件不同。如果對(duì)象收到事件turnOn,那么將判斷壺中是否有水;如果[沒(méi)水],則仍然處于off狀態(tài);如果[有水]則轉(zhuǎn)為on狀態(tài),并執(zhí)行“燒水”動(dòng)作而與狀態(tài)on相關(guān)的轉(zhuǎn)換也有兩個(gè),如果“水開了”就執(zhí)行turnOff,關(guān)掉開關(guān);如果燒壞了,就進(jìn)入了終態(tài)了需求分析師培訓(xùn)Day02復(fù)雜轉(zhuǎn)換轉(zhuǎn)換類型描述語(yǔ)法外部轉(zhuǎn)換對(duì)事件做出響應(yīng),引起狀態(tài)變化或自身轉(zhuǎn)換,同時(shí)引發(fā)一個(gè)特定動(dòng)作,如果離開或進(jìn)入狀態(tài)將引發(fā)進(jìn)入轉(zhuǎn)換、離開轉(zhuǎn)換事件(參數(shù))[監(jiān)護(hù)條件]/動(dòng)作內(nèi)部轉(zhuǎn)換對(duì)事件做出響應(yīng),并執(zhí)行一個(gè)特定的活動(dòng),但并不引起狀態(tài)變化或進(jìn)入轉(zhuǎn)換、離開轉(zhuǎn)換事件(參數(shù))[監(jiān)護(hù)條件]/動(dòng)作進(jìn)入轉(zhuǎn)換當(dāng)進(jìn)入某一狀態(tài)時(shí),執(zhí)行相應(yīng)活動(dòng)entry/活動(dòng)退出轉(zhuǎn)換當(dāng)離開某一狀態(tài)時(shí),執(zhí)行相應(yīng)活動(dòng)exit/活動(dòng)需求分析師培訓(xùn)Day02閱讀帶復(fù)雜轉(zhuǎn)換的狀態(tài)圖需求分析師培訓(xùn)Day02各種轉(zhuǎn)換的區(qū)別進(jìn)入和退出轉(zhuǎn)換:當(dāng)進(jìn)入一個(gè)狀態(tài)時(shí),執(zhí)行某個(gè)動(dòng)作;或當(dāng)退出某個(gè)狀態(tài)時(shí),執(zhí)行什么動(dòng)作。這時(shí)就可以使用進(jìn)入和退出轉(zhuǎn)換來(lái)表示內(nèi)部轉(zhuǎn)換:用來(lái)處理一些不離開該狀態(tài)的事件

需求分析師培訓(xùn)Day02活動(dòng)與延遲事件活動(dòng):當(dāng)對(duì)象處于一個(gè)狀態(tài)時(shí),它一般是空閑的,在等待一個(gè)事件的發(fā)生。但是某些時(shí)間,你可能希望描述個(gè)正在進(jìn)行的活動(dòng)。在處于一個(gè)狀態(tài)的同時(shí),對(duì)象做著某些工作,并一直繼續(xù)到被某個(gè)事件中斷。延遲事件:延遲事件是一種特殊的事件,它是指該事件不會(huì)觸發(fā)狀態(tài)的轉(zhuǎn)換,當(dāng)對(duì)象處于該狀態(tài)時(shí)事件不會(huì)丟失,但會(huì)被延遲執(zhí)行。例如,當(dāng)E-mail程序中正在發(fā)送第一封郵件時(shí),用戶下達(dá)發(fā)送第二封郵件執(zhí)令就會(huì)被延遲,但第一封郵件發(fā)送完成后,這封郵件就會(huì)被發(fā)送。這種事件就屬于延遲事件。需求分析師培訓(xùn)Day02順序復(fù)合狀態(tài)圖需求分析師培訓(xùn)Day02并發(fā)復(fù)合狀態(tài)圖需求分析師培訓(xùn)Day02歷史“一個(gè)圓圈中加上字母H”,用來(lái)表示歷史狀態(tài)的。它的含義是:當(dāng)從狀態(tài)“結(jié)賬”和“顯示購(gòu)物車”返回子狀態(tài)“顯示索引信息”時(shí),將進(jìn)入的是離開時(shí)的歷史狀態(tài)。也就是說(shuō),轉(zhuǎn)到購(gòu)

物車或結(jié)賬區(qū)之后,

再回到“瀏覽目錄”的

頁(yè)面時(shí),其中的內(nèi)容

是不變的,仍然保留

原來(lái)的信息。需求分析師培訓(xùn)Day02狀態(tài)圖應(yīng)用說(shuō)明對(duì)對(duì)象生命周期建模:主要描述對(duì)象能夠響應(yīng)的事件、對(duì)這些事件的響以及過(guò)去對(duì)當(dāng)前行為的影響對(duì)反應(yīng)型對(duì)象建模:這個(gè)對(duì)象可能處于的穩(wěn)定狀態(tài)、從一個(gè)狀態(tài)到另一個(gè)狀態(tài)之間的轉(zhuǎn)換所需的觸發(fā)事件,以及每個(gè)狀態(tài)改變時(shí)發(fā)生的動(dòng)作狀態(tài)機(jī)圖既可以用來(lái)表示一個(gè)業(yè)務(wù)領(lǐng)域的知識(shí),也可以用來(lái)描述設(shè)計(jì)階段對(duì)象的狀態(tài)變遷。

需求分析師培訓(xùn)Day02討論狀態(tài)圖有什么用?什么情況下使用狀態(tài)圖?哪種項(xiàng)目應(yīng)用狀態(tài)圖的情況會(huì)比較多?需求分析師培訓(xùn)Day02活動(dòng)圖基礎(chǔ)需求分析師培訓(xùn)Day02活動(dòng)圖概述活動(dòng)圖是一種表述過(guò)程機(jī)理、業(yè)務(wù)過(guò)程以及工作流的技術(shù)。它可以用來(lái)對(duì)業(yè)務(wù)過(guò)程、工作流建模,也可以對(duì)用例實(shí)現(xiàn)甚至是程序?qū)崿F(xiàn)來(lái)建模。因此,它的作用和傳統(tǒng)的“流程圖”是有著很深的淵源,也十分的相似。不過(guò)它與流程圖的最主要區(qū)別在于,活動(dòng)圖能夠支持并行的行為在UML的各個(gè)版本中,活動(dòng)圖的改變可謂最大,每次UML標(biāo)準(zhǔn)更新時(shí),都對(duì)活動(dòng)圖進(jìn)行了修訂。對(duì)于UML2.0而言,最大的改變莫過(guò)于去除了“活動(dòng)圖是狀態(tài)圖的一種特例”這一規(guī)定需求分析師培訓(xùn)Day02閱讀簡(jiǎn)單活動(dòng)圖需求分析師培訓(xùn)Day02活動(dòng)圖主要元素初始節(jié)點(diǎn)和活動(dòng)終點(diǎn):用一個(gè)實(shí)心圓表示初始節(jié)點(diǎn),用一個(gè)圓圈內(nèi)加一個(gè)實(shí)心圓來(lái)表示活動(dòng)終點(diǎn)活動(dòng)節(jié)點(diǎn):是活動(dòng)圖中最主要的元素之一,它用來(lái)表示一個(gè)活動(dòng)轉(zhuǎn)換:當(dāng)一個(gè)活動(dòng)結(jié)束時(shí),控制流就會(huì)馬上傳遞給下一個(gè)活動(dòng)節(jié)點(diǎn),在活動(dòng)圖中稱之為“轉(zhuǎn)換”,用一條帶箭頭的直線來(lái)表示需求分析師培訓(xùn)Day02活動(dòng)圖主要元素分支與監(jiān)護(hù)條件:分支是用菱形表示的,它有一個(gè)進(jìn)入轉(zhuǎn)換(箭頭從外指向分支符號(hào)),

一個(gè)或多個(gè)離開轉(zhuǎn)換(箭頭從分支符

號(hào)指向外)。而每個(gè)離開轉(zhuǎn)換上都會(huì)

有一個(gè)監(jiān)護(hù)條件,用來(lái)表示滿足什么

條件的時(shí)候執(zhí)行該轉(zhuǎn)換。分岔與匯合:需求分析師培訓(xùn)Day02帶泳道的活動(dòng)圖需求分析師培訓(xùn)Day02帶對(duì)象流的活動(dòng)圖需求分析師培訓(xùn)Day02復(fù)雜活動(dòng)圖輔助活動(dòng)圖匯合描述:當(dāng)匯合的所有入流均到點(diǎn)匯合點(diǎn)時(shí),就將執(zhí)行匯合點(diǎn)指向的活動(dòng)節(jié)點(diǎn)。但是有些時(shí)候,你希望對(duì)其做一些約束,這時(shí)就可以借助匯合描述來(lái)完成。匯合描述實(shí)際上是一個(gè)約束,其格式就是“{約束條件}”。需求分析師培訓(xùn)Day02復(fù)雜活動(dòng)圖發(fā)送信號(hào)與接收信號(hào)需求分析師培訓(xùn)Day02復(fù)雜活動(dòng)圖引腳:表示活動(dòng)節(jié)點(diǎn)的相應(yīng)參數(shù)擴(kuò)展區(qū):需求分析師培訓(xùn)Day02活動(dòng)圖應(yīng)用說(shuō)明對(duì)工作流建模:用于業(yè)務(wù)建模的時(shí)候,每一條泳道表示一個(gè)職責(zé)單位,該圖能夠有效地體現(xiàn)出所有職責(zé)單位之間的工作職責(zé),業(yè)務(wù)范圍以及之間的交互關(guān)系、信息流程建模時(shí)應(yīng)遵循以下策略:為工作流建立一個(gè)焦點(diǎn),除非你所涉及的系統(tǒng)很小,否則不可能在一張圖中顯示出系統(tǒng)中所有的控制流。選擇對(duì)全部工作流中的一部分有高層職責(zé)的業(yè)務(wù)對(duì)象,并為每個(gè)重要的業(yè)務(wù)對(duì)象創(chuàng)建一條泳道。需求分析師培訓(xùn)Day02活動(dòng)圖應(yīng)用說(shuō)明識(shí)別工作流初始節(jié)點(diǎn)的前置條件和活動(dòng)終點(diǎn)的后置條件,這可有效地實(shí)現(xiàn)對(duì)工作流的邊界進(jìn)行建模。從該工作流的初始節(jié)點(diǎn)開始,說(shuō)明隨時(shí)間發(fā)生的動(dòng)作和活動(dòng),并在活動(dòng)圖中把它們表示成活動(dòng)節(jié)點(diǎn)。將復(fù)雜的活動(dòng)或多次出現(xiàn)的活動(dòng)集合歸到一個(gè)活動(dòng)節(jié)點(diǎn),并通過(guò)輔助活動(dòng)圖或子活動(dòng)圖來(lái)表示它們。找出連接這些活動(dòng)節(jié)點(diǎn)的轉(zhuǎn)換,首先從工作流的順序開始,然后考慮分支,接著再考慮分岔和匯合。如果工作流中涉及重要的對(duì)象,則也可以將它們加入到活動(dòng)圖中。若工作流中有多次啟用的,則可采用展開區(qū)表示。需求分析師培訓(xùn)Day02活動(dòng)圖應(yīng)用說(shuō)明對(duì)操作建模:每一個(gè)對(duì)象占據(jù)一個(gè)泳道,而活動(dòng)則是該對(duì)象的成員方法建模時(shí)應(yīng)遵循以下策略:收集操作所涉及的抽象概念,包括操作的參數(shù)、返回類型、所屬類的屬性以及某些鄰近的類。識(shí)別該操作的初始節(jié)點(diǎn)的前置條件和活動(dòng)終點(diǎn)的后置條件。也要識(shí)別在操作執(zhí)行過(guò)程中必須保持的信息。從該操作的初始節(jié)點(diǎn)開始,說(shuō)明隨著時(shí)間發(fā)生的活動(dòng),并在活動(dòng)圖中將它們表示為活動(dòng)節(jié)點(diǎn)。如果需要,使用分支來(lái)說(shuō)明條件語(yǔ)句及循環(huán)語(yǔ)句。僅當(dāng)這個(gè)操作屬于一個(gè)主動(dòng)類時(shí),才在必要時(shí)用分岔和匯合來(lái)說(shuō)明并行的控制流程。需求分析師培訓(xùn)Day02練習(xí)有一個(gè)表示某公司銷售過(guò)程

的一張活動(dòng)圖,請(qǐng)閱讀并說(shuō)

明該圖所表示的含義假設(shè)訂單的接收與關(guān)閉是由

銷售人員負(fù)責(zé),開票收款是

由財(cái)務(wù)人員負(fù)責(zé),準(zhǔn)備貨物

是由倉(cāng)管負(fù)責(zé)。請(qǐng)將其修改

成為帶泳道的活動(dòng)圖,以體

現(xiàn)這種分工需求分析師培訓(xùn)Day02練習(xí)需求分析師培訓(xùn)Day02練習(xí)假設(shè),我們希望在活動(dòng)圖中體現(xiàn)出:倉(cāng)管人員是根據(jù)“訂單”來(lái)準(zhǔn)備貨物的,因此銷售人員在收到訂單后,必須將訂單傳給倉(cāng)管人員。應(yīng)該采用什么機(jī)制?請(qǐng)直接修改活動(dòng)圖。在公司運(yùn)轉(zhuǎn)一段時(shí)間后,財(cái)務(wù)人員對(duì)該流程提出了置疑,反應(yīng)說(shuō)收款工作經(jīng)常滯后,客戶總是在收到貨物后的很長(zhǎng)時(shí)間才付款。因此必須加以改進(jìn)。請(qǐng)?zhí)岢鲆粋€(gè)合理的修改意見,并用活動(dòng)圖表示出來(lái)。需求分析師培訓(xùn)Day02練習(xí)需求分析師培訓(xùn)Day02練習(xí)需求分析師培訓(xùn)Day02討論活動(dòng)圖什么時(shí)候用?一張活動(dòng)圖通常的范圍是怎么界定的?需求分析師培訓(xùn)Day02構(gòu)件圖基礎(chǔ)需求分析師培訓(xùn)Day02構(gòu)件的類型實(shí)施構(gòu)件:這類構(gòu)件是構(gòu)成一個(gè)可執(zhí)行系統(tǒng)必要和充分的構(gòu)件,例如動(dòng)態(tài)鏈接庫(kù)、可執(zhí)行文件,另外還包括如COM+、CORBA及企業(yè)級(jí)JavaBeans、動(dòng)態(tài)Web頁(yè)面也屬于實(shí)施構(gòu)件的一部分。工作產(chǎn)品構(gòu)件:這類構(gòu)件主要是開發(fā)過(guò)程的產(chǎn)物,包括創(chuàng)建實(shí)施構(gòu)件的源代碼文件及數(shù)據(jù)文件。這些構(gòu)件并不是直接地參與可執(zhí)行系統(tǒng),而且用來(lái)產(chǎn)生可執(zhí)行系統(tǒng)的中間工作產(chǎn)品。執(zhí)行構(gòu)件:作為一個(gè)正在執(zhí)行的系統(tǒng)的結(jié)果而被創(chuàng)建的,例如由DLL實(shí)例化形成的COM+對(duì)象。需求分析師培訓(xùn)Day02構(gòu)件及構(gòu)件接口表示法需求分析師培訓(xùn)Day02閱讀基本構(gòu)件圖需求分析師培訓(xùn)Day02閱讀嵌套構(gòu)件圖需求分析師培訓(xùn)Day02構(gòu)件圖應(yīng)用說(shuō)明對(duì)可執(zhí)行程序的結(jié)構(gòu)建模

1)首先識(shí)別你想建模的構(gòu)件集合

2)考慮集合中各構(gòu)件的不同類型

3)對(duì)這個(gè)集合中的每個(gè)構(gòu)件,分析它們之的關(guān)系需求分析師培訓(xùn)Day02構(gòu)件圖應(yīng)用說(shuō)明對(duì)源代碼建模

1)識(shí)別出感興趣的相關(guān)源代碼文件的集合,并把它們建模為構(gòu)件;

2)對(duì)于較大的系統(tǒng),利用包來(lái)進(jìn)行分組;

3)通過(guò)約束來(lái)表示源代碼的版本

號(hào)、作者和最后修改日期等信息;

4)用依賴關(guān)系來(lái)表示

這些文件間編譯的依

賴關(guān)系。需求分析師培訓(xùn)Day02部署圖基礎(chǔ)需求分析師培訓(xùn)Day02閱讀基本部署圖需求分析師培訓(xùn)Day02部署圖主要元素節(jié)點(diǎn):它代表一個(gè)運(yùn)行時(shí)的計(jì)算資源,例如一臺(tái)計(jì)算機(jī)、一個(gè)工作站等其它設(shè)備節(jié)點(diǎn)的概念和構(gòu)件有許多相同之處,例如二者有多名稱,都可以參與依賴、泛化和關(guān)聯(lián)關(guān)系,都可以被嵌套,都可以有實(shí)例,都可以參與交互。但它們之間也存在明顯的區(qū)別:構(gòu)件是參與系統(tǒng)執(zhí)行的事物,而節(jié)點(diǎn)是執(zhí)行構(gòu)件的事物;構(gòu)件表示邏輯元素的物理打包,而節(jié)點(diǎn)表示構(gòu)件的物理部署。本圖中建模了四個(gè)節(jié)點(diǎn):B/S客戶端、C/S客戶端、IIS服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器需求分析師培訓(xùn)Day02部署圖主要元素連接:節(jié)點(diǎn)之間最常見的關(guān)系就是關(guān)聯(lián)關(guān)系(用一根實(shí)線表示)。為了更好地表示兩個(gè)節(jié)點(diǎn)之間的關(guān)系,我們可以通過(guò)“約束”來(lái)對(duì)連接進(jìn)行描述。

源節(jié)點(diǎn)目標(biāo)節(jié)點(diǎn)約束含義B/S客戶端IIS服務(wù)器{HTTP+Network}網(wǎng)絡(luò)連接,使用HTTP協(xié)議C/S客戶端IIS服務(wù)器{HTTP+SOAP+Network}網(wǎng)連接,通過(guò)WebService訪問(wèn)服務(wù)IIS服務(wù)器數(shù)據(jù)庫(kù)服務(wù)器{ADO.NET}.NET提供的數(shù)據(jù)庫(kù)訪問(wèn)解決方案需求分析師培訓(xùn)Day02部署圖補(bǔ)充元素處理器(《process》):具有處理能力的節(jié)點(diǎn),即可以執(zhí)行構(gòu)件。設(shè)備(《device》):沒(méi)有處理能力的節(jié)點(diǎn),至少是不關(guān)心其處理能力的節(jié)點(diǎn)。例如打印機(jī)、IC卡讀寫器,如果我們的系統(tǒng)不考慮它們內(nèi)部的芯片,就可以建模為設(shè)備。節(jié)點(diǎn)屬性和操作:可以為一個(gè)節(jié)點(diǎn)提供處理器速度、內(nèi)存容量、網(wǎng)卡數(shù)量等屬性,可以為其提供啟動(dòng)、關(guān)機(jī)等操作

需求分析師培訓(xùn)Day02部署圖補(bǔ)充元素自定義構(gòu)造型圖標(biāo)需求分析師培訓(xùn)Day02部署圖應(yīng)用說(shuō)明部署圖是一種分兩階段演化的,最初的部署圖是在設(shè)計(jì)時(shí),作為確定最終硬件構(gòu)架過(guò)程的一部分而創(chuàng)建的,然后逐步地對(duì)它進(jìn)行精化,從而得到一個(gè)或多個(gè)實(shí)例形式的部署圖。設(shè)計(jì)階段:焦點(diǎn)聚焦于節(jié)點(diǎn)或節(jié)點(diǎn)實(shí)例,以及它們之間的連接實(shí)現(xiàn)階段:焦點(diǎn)聚集于將物理構(gòu)件分配給節(jié)點(diǎn)需求分析師培訓(xùn)Day02部署圖適用領(lǐng)域如果你開發(fā)的應(yīng)用系統(tǒng)是一個(gè)單機(jī)程序,那么部署圖并不能夠給你帶來(lái)什么好處嵌入式系統(tǒng)建模:對(duì)于嵌入式系統(tǒng),部署圖可以使硬件工程師和軟件開發(fā)者之間實(shí)現(xiàn)更好的交流

客戶機(jī)/服務(wù)器和分布式系統(tǒng)建模需求分析師培訓(xùn)Day02Agenda需求分析最佳實(shí)踐需求建模最佳實(shí)踐用例驅(qū)動(dòng)的需求過(guò)程實(shí)踐現(xiàn)代需求工程最佳實(shí)踐需求分析師培訓(xùn)Day02用例驅(qū)動(dòng)的需求實(shí)踐:概述需要特性軟件需求問(wèn)題域解決方案域用例補(bǔ)充規(guī)約需求分析師培訓(xùn)Day02關(guān)于用例分析技術(shù)用例分析的創(chuàng)建源于實(shí)踐,在IvarJacobson在愛立信公司研發(fā)AXE(電話交換機(jī))時(shí)總結(jié)而成的用例的概念確定于1986年,所以它不應(yīng)該當(dāng)作一種新技術(shù)(有人認(rèn)為其是一個(gè)正處于臨床實(shí)驗(yàn)階段的新藥)許多人是在學(xué)習(xí)UML時(shí),接觸到用例,并且產(chǎn)生了一些誤解,誤把用例圖當(dāng)作了用例分析的全部?jī)?nèi)容用例分析技術(shù)已經(jīng)廣泛地應(yīng)用于許多軟件開發(fā)組織的實(shí)踐,收效甚佳,成為了軟件需求最佳實(shí)踐之一需求分析師培訓(xùn)Day02用例模型的運(yùn)用方法增量開發(fā)的用例模型模型的無(wú)縫轉(zhuǎn)換需求分析師培訓(xùn)Day02用例模型建模要點(diǎn)構(gòu)建結(jié)構(gòu)良好的用例:

1)為系統(tǒng)和部分系統(tǒng)中單個(gè)的、可標(biāo)識(shí)和合理的原子行為命名;

2)將公共的行為抽取出來(lái),放到一個(gè)被包含用例中,再將它《include》進(jìn)來(lái);

3)對(duì)于變化部分,將其抽取出來(lái),放到一個(gè)擴(kuò)展用例(用《extent》連接)中;

4)清晰地描述事件流,使得讀者能夠輕而易舉地理解構(gòu)建結(jié)構(gòu)良好的用例圖:擺放元素時(shí),應(yīng)該避免交叉線的出現(xiàn);對(duì)于語(yǔ)義上接近的行為和角色,最好使它們?cè)谖锢砩弦哺咏咏?;根?jù)系統(tǒng)實(shí)際情況控制粒度需求分析師培訓(xùn)Day02核心元素:參與者定義:在系統(tǒng)之外,透過(guò)系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互的任何事物邊界類:顧客需求分析師培訓(xùn)Day02邊界是職責(zé)邊界,而非物理邊界需求分析師培訓(xùn)Day02誰(shuí)是機(jī)票預(yù)訂系統(tǒng)的執(zhí)行者需求分析師培訓(xùn)Day02它們都可以是執(zhí)行者用戶維護(hù)人員時(shí)間系統(tǒng)其他系統(tǒng)需求分析師培訓(xùn)Day02參與者:總結(jié)參與者是為了完成一個(gè)事件而與系統(tǒng)交互的實(shí)體參與者不僅可以由人承擔(dān),還可以是其它系統(tǒng)、硬件設(shè)備、甚至是時(shí)鐘其它系統(tǒng):當(dāng)你的系統(tǒng)需要與其它系統(tǒng)交互時(shí),如在開發(fā)ATM柜員機(jī)系統(tǒng)時(shí),銀行后臺(tái)系統(tǒng)就是一個(gè)參與者硬件設(shè)備:如果你的系統(tǒng)需要與硬件設(shè)備交互時(shí),如在開發(fā)IC卡門禁系統(tǒng)時(shí),IC卡讀寫器就是一個(gè)參與者時(shí)鐘:當(dāng)你的系統(tǒng)需要定時(shí)觸發(fā)時(shí),時(shí)鐘就是一個(gè)參與者,如在開發(fā)Foxmail中的“定時(shí)自動(dòng)接

收”功能時(shí),就需要引入時(shí)鐘作為參與者需求分析師培訓(xùn)Day02核心元素:用例IvarJacobson在RUP中為用例做出了以下定義

用例實(shí)例是在系統(tǒng)中執(zhí)行的一系列動(dòng)作,這些動(dòng)作將生成特定執(zhí)行者可見的價(jià)值結(jié)果。一個(gè)用例定義一組用例實(shí)例。步驟目標(biāo)路徑需求分析師培訓(xùn)Day02用例:使用場(chǎng)景的抽象場(chǎng)景1:原有客戶育才學(xué)校呼入,選擇電話號(hào)碼組“全體家長(zhǎng)”和“放假通知”音頻文件,設(shè)置日期、時(shí)間和其它呼叫標(biāo)準(zhǔn),然后啟動(dòng)一個(gè)語(yǔ)音外呼任務(wù)。場(chǎng)景2:原有客戶精英軟件公司呼入,選擇電話號(hào)碼組“全體客戶”和“產(chǎn)品升級(jí)通知”音頻文件,設(shè)置日期、時(shí)間和其它呼叫標(biāo)準(zhǔn),然后啟動(dòng)一個(gè)語(yǔ)音外呼任務(wù)。場(chǎng)景3:客戶通達(dá)核電計(jì)劃在核電力設(shè)施發(fā)生緊急情況時(shí),向其經(jīng)理和支持人員打電話。此時(shí),不僅要能夠正確地打到家里,還要正確地判斷出誰(shuí)能夠接收到這個(gè)消息,誰(shuí)不能夠接收。需求提出后,必須馬上執(zhí)行。啟動(dòng)外呼任務(wù)需求分析師培訓(xùn)Day02用例定義:用例描述了執(zhí)行者(參與者)使用系統(tǒng)實(shí)現(xiàn)目標(biāo)的方式,以及系統(tǒng)為其能夠?qū)崿F(xiàn)該目標(biāo)而提供的幫助。用例描述了系統(tǒng)及其執(zhí)行者結(jié)合起來(lái)向至少一個(gè)參與者傳遞有價(jià)值的東西的方式需求分析師培訓(xùn)Day02常見錯(cuò)誤用例太細(xì)(用例應(yīng)包括事件流,事件流中應(yīng)有步驟)把步驟當(dāng)做用例(如登錄輸入用戶名、驗(yàn)證密碼…)

把系統(tǒng)活動(dòng)當(dāng)用例!

特例:新增、刪除、查詢、修改管理

也被戲稱為:CRUD(四輪馬車)誤認(rèn)為用例的粒度與系統(tǒng)實(shí)現(xiàn)的復(fù)雜度相關(guān)其實(shí)很簡(jiǎn)單,一個(gè)用例為執(zhí)行者提供一個(gè)價(jià)值需求分析師培訓(xùn)Day02用例要突出涉眾的利益找出用例相關(guān)的涉眾;分析涉眾的利益所在;在用例中充分考慮涉眾的利益。需求分析師培訓(xùn)Day02用例分析技術(shù)的組成用例圖:用例描述:前置條件:用戶啟動(dòng)該應(yīng)用系統(tǒng)基本路徑:1)系統(tǒng)顯示登錄界面;2)用戶輸入用戶名和密碼;3)系統(tǒng)驗(yàn)證信息;…………可選路徑:后置條件:執(zhí)行者,Actor

參與者用例,UseCase參與者:定義了用戶在系統(tǒng)交互過(guò)程中所扮演的角色,其可以是一個(gè)人,也可以是另一個(gè)系統(tǒng)。需求分析師培訓(xùn)Day02用例圖實(shí)例需求分析師培訓(xùn)Day02用例之間的關(guān)系:包含關(guān)系包含關(guān)系用構(gòu)造型《include》表示是指基用例(baseusecase)在它內(nèi)部說(shuō)明的某一個(gè)位置上顯式地合并了另一個(gè)用例的行為需求分析師培訓(xùn)Day02用例之間的關(guān)系:擴(kuò)展關(guān)系包含關(guān)系用構(gòu)造型《extend》表示表示基用例在由擴(kuò)展用例間接說(shuō)明的一個(gè)位置上,隱式地合并了另一個(gè)用例的行為需求分析師培訓(xùn)Day02用例之間的關(guān)系:泛化關(guān)系用例間的泛化表示子用例繼承了父用例的行為和含義子用例還可以增加或覆蓋父用例的行為;子用例可以出現(xiàn)在父用例出現(xiàn)的任何位置需求分析師培訓(xùn)Day02讀圖小結(jié)這張用例圖首先定義了三個(gè)基用例:預(yù)訂座位、安排座位和處理結(jié)賬客戶通過(guò)Internet啟動(dòng)“預(yù)訂座位”用例,在“預(yù)訂座位”用例的執(zhí)行過(guò)程中,將“檢查座位信息”(被包含用例),如果沒(méi)有空閑的座位或滿意的座位,可以選擇進(jìn)入等候隊(duì)列,這樣就將啟動(dòng)擴(kuò)展用例“處理等候隊(duì)列”。總臺(tái)服務(wù)員在客戶到棋牌館時(shí),啟動(dòng)“安排座位”用例,在執(zhí)行過(guò)程中,將啟動(dòng)被包含用例“檢查座位信息”。當(dāng)客戶要離開棋牌館時(shí),總臺(tái)服務(wù)員將啟動(dòng)“處理結(jié)賬”用例,并且定義了兩種“收款”用例,一個(gè)是“處理現(xiàn)金結(jié)賬”,另一個(gè)是“處理銀行卡結(jié)賬”,而后一個(gè)用例將通過(guò)與外部系統(tǒng)“銀聯(lián)POS系統(tǒng)”交互來(lái)完成。需求分析師培訓(xùn)Day02用例描述:事件流用例描述的是一個(gè)系統(tǒng)做什么(what)的信息,并不說(shuō)明怎么做(how),怎么做是設(shè)計(jì)模型的事需求分析師培訓(xùn)Day02用例描述:前置條件指在用例啟動(dòng)時(shí),參與者與系統(tǒng)應(yīng)置為何狀態(tài);

1)系統(tǒng)能檢測(cè)到;

2)系統(tǒng)在用例開始前能檢測(cè)到;

3)應(yīng)為“可觀測(cè)”的前置條件需求分析師培訓(xùn)Day02用例描述:前置條件客戶已發(fā)出訂單----錯(cuò)誤工作人員已登錄系統(tǒng)----正確庫(kù)存大于下單數(shù)----錯(cuò)誤需求分析師培訓(xùn)Day02用例描述:后置條件用例結(jié)束時(shí),系統(tǒng)的狀態(tài)

1)系統(tǒng)能檢測(cè)到;

2)應(yīng)為“可觀測(cè)”的:

只包含可檢測(cè)的條件,

合并影響相同的條件后置條件需求分析師培訓(xùn)Day02用例描述:基本事件流基本事件流是對(duì)用例中

常規(guī)、預(yù)期路徑的描述

(有時(shí)被稱為Happy

day場(chǎng)景),這是大多

數(shù)用戶在大部分時(shí)間中

所采取的路徑。通常體系了系統(tǒng)的核心

價(jià)值。基本事件流需求分析師培訓(xùn)Day02用例描述:擴(kuò)展事件流系統(tǒng)還需要進(jìn)行意外處理擴(kuò)展事件流需求分析師培訓(xùn)Day02事件流編寫要點(diǎn)使用簡(jiǎn)單的語(yǔ)法:主語(yǔ)明確,語(yǔ)義易于理解明確寫出“誰(shuí)控制球”:通常就是指出參與者;從俯視的角度來(lái)編寫:指出參與者的動(dòng)作,以及系統(tǒng)的響應(yīng),也就是跳開來(lái);顯示過(guò)程向前推移:也就是每一步都有前進(jìn)的感覺(例如:用戶按下tab鍵就不夠);顯示執(zhí)行者的意圖而非動(dòng)作(光有動(dòng)作,讓人不容易直接從事件流中理會(huì)用例)。需求分析師培訓(xùn)Day02事件流編寫要點(diǎn)包括“合理的活動(dòng)集”(帶數(shù)據(jù)的請(qǐng)求、系統(tǒng)確認(rèn)、更改內(nèi)部、返回結(jié)果);“確認(rèn)”而不是“檢查是否”;(如:系統(tǒng)確認(rèn)用戶密碼正確,而非系統(tǒng)檢查用戶密碼是否正確)可選擇地提及時(shí)間限制;習(xí)慣用語(yǔ)“用戶讓系統(tǒng)A與系統(tǒng)B交互”;習(xí)慣用語(yǔ)“循環(huán)執(zhí)行步驟x到y(tǒng),直到條件滿足;需求分析師培訓(xùn)Day02用例描述模板用例編號(hào)[為用例制定一個(gè)唯一的編號(hào),通常格式為UCxx]用例名稱[應(yīng)為一個(gè)動(dòng)詞短語(yǔ),讓讀者一目了然地知道用例的目標(biāo)]用例概述[用例的目標(biāo),一個(gè)概要性的描述]范圍[用例的設(shè)計(jì)范圍]主參與者[該用例的主Actor,在此列出名稱,并簡(jiǎn)要的描述它]次要參與者[該用例的次要Actor,在此列出名稱,并簡(jiǎn)要的描述它]項(xiàng)目相關(guān)人利益說(shuō)明項(xiàng)目相關(guān)人利益[項(xiàng)目相關(guān)人員名稱][從該用例獲取的利益]…………前置條件[即啟動(dòng)該用例所應(yīng)該滿足的條件。]后置條件[即該用例完成之后,將執(zhí)行什么動(dòng)作。]成功保證[描述當(dāng)前目標(biāo)完成后,環(huán)境變化情況。]基本事件流步驟活動(dòng)1[在這里寫出觸發(fā)事件到目標(biāo)完成以及清除的步驟。]2……(其中可以包含子事件流,以子事件流編號(hào)來(lái)表示)擴(kuò)展事件流1a[1a表示是對(duì)1的擴(kuò)展,其中應(yīng)說(shuō)明條件和活動(dòng)]1b……(其中可以包含子事件流,以子事件流編號(hào)來(lái)表示)子事件流[對(duì)多次重復(fù)的事件流可以定義為子事件流,這也是抽取被包含用例的地方。]規(guī)則與約束[對(duì)該用例實(shí)現(xiàn)時(shí)需要考慮的業(yè)務(wù)規(guī)則、非功能需求、設(shè)計(jì)約束等]需求分析師培訓(xùn)Day02用例模型的建立過(guò)程需求分析師培訓(xùn)Day02分析過(guò)程—需求FEAT01.新增書籍信息FEAT02.修改已有的書籍信息FEAT03.書籍信息按計(jì)算機(jī)類、非計(jì)算機(jī)類分別建檔FEAT04.錄入新書時(shí)能夠自動(dòng)按規(guī)則生成書號(hào)FEAT05.計(jì)算機(jī)類與非計(jì)算機(jī)類書籍采用不同的書號(hào)規(guī)則FEAT06.錄入新書時(shí)如果重名將自動(dòng)提示FEAT07.按書名、作者、類別、出版社等關(guān)鍵字組合查詢書籍FEAT08.列出所有書籍信息FEAT09.記錄外借情況FEAT10.外借狀態(tài)能夠自動(dòng)反應(yīng)在書籍信息中FEAT11.按人、按書查詢外借情況FEAT12.列出所有的外借情況FEAT13.按特定時(shí)間段統(tǒng)計(jì)購(gòu)買金額、冊(cè)數(shù)FEAT14.所有查詢、列表、統(tǒng)計(jì)功能應(yīng)可以單獨(dú)對(duì)計(jì)算機(jī)類或非計(jì)算機(jī)類進(jìn)行需求分析師培訓(xùn)Day02分析過(guò)程—合并特性到用例FEAT01.新增書籍信息FEAT02.修改已有的書籍信息FEAT03.書籍信息按計(jì)算機(jī)類、非計(jì)算機(jī)類分別建檔FEAT04.錄入新書時(shí)能夠自動(dòng)按規(guī)則生成書號(hào)FEAT05.計(jì)算機(jī)類與非計(jì)算機(jī)類書籍采用不同的書號(hào)規(guī)則FEAT06.錄入新書時(shí)如果重名將自動(dòng)提示FEAT07.按書名、作者、類別、出版社等關(guān)鍵字組合查詢書籍FEAT08.列出所有書籍信息FEAT09.記錄外借情況FEAT10.外借狀態(tài)能夠自動(dòng)反應(yīng)在書籍信息中FEAT11.按人、按書查詢外借情況FEA

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論