第二部分軟件需求分析與建模_第1頁(yè)
第二部分軟件需求分析與建模_第2頁(yè)
第二部分軟件需求分析與建模_第3頁(yè)
第二部分軟件需求分析與建模_第4頁(yè)
第二部分軟件需求分析與建模_第5頁(yè)
已閱讀5頁(yè),還剩85頁(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)介

其次部分需求分析與建模范銳廣東海洋高校軟件學(xué)院2014年3月3/2/2023第4講軟件需求分析過(guò)程什么是軟件需求?軟件需求分析有哪些過(guò)程?如何啟動(dòng)分析過(guò)程?需求規(guī)格文檔有哪些內(nèi)容?需求分析有哪些技術(shù)?3/2/2023fanrui_nc@12613828258036軟件需求功能需求:描述系統(tǒng)預(yù)期供應(yīng)的功能或服務(wù)對(duì)系統(tǒng)應(yīng)供應(yīng)的服務(wù)如何對(duì)輸入做出反應(yīng)系統(tǒng)在特定條件下的行為非功能需求:指那些不干脆與系統(tǒng)具體功能相關(guān)的一類需求產(chǎn)品需求機(jī)構(gòu)需求外部需求領(lǐng)域需求:源于系統(tǒng)的應(yīng)用領(lǐng)域需求3/2/2023fanrui_nc@12613828258036需求分析過(guò)程需求分析主要是理解客戶須要什么、分析要求、評(píng)價(jià)可行性、協(xié)商合理的方案、無(wú)歧義地具體說(shuō)明方案、確認(rèn)規(guī)格說(shuō)明、管理需求以至將這些需求轉(zhuǎn)化為可行系統(tǒng)過(guò)程包括:初步溝通導(dǎo)出需求分析和精化可行性探討協(xié)商與溝通規(guī)格說(shuō)明需求驗(yàn)證變更管理3/2/2023fanrui_nc@12613828258036軟件需求規(guī)格一個(gè)規(guī)格說(shuō)明可以是一份寫好的文檔、一套圖形化的模型、一個(gè)形式化的數(shù)學(xué)模型、一組運(yùn)用場(chǎng)景、一個(gè)原型或以上各項(xiàng)的隨意組合。軟件需求規(guī)格(SRS,SoftwareRequirementSpecification)是需求分析任務(wù)的最終“產(chǎn)品”,它是客戶、管理者、分析工程師、測(cè)試工程師、維護(hù)工程師溝通的標(biāo)準(zhǔn)和依據(jù)。軟件需求規(guī)格描述了系統(tǒng)的數(shù)據(jù)、功能、行為、性能需求、設(shè)計(jì)約束、驗(yàn)收標(biāo)準(zhǔn)、以及其他與需求相關(guān)的信息。分為:用戶需求和系統(tǒng)需求3/2/2023fanrui_nc@12613828258036需求規(guī)格文檔標(biāo)準(zhǔn)1引言1.1編寫目的1.2項(xiàng)目背景(單位和與其他系統(tǒng)的關(guān)系)1.3定義(特地術(shù)語(yǔ)和縮寫詞)2任務(wù)概述2.1目標(biāo)2.2運(yùn)行環(huán)境2.3條件限制3數(shù)據(jù)描述3.1靜態(tài)數(shù)據(jù)3.2動(dòng)態(tài)數(shù)據(jù)3.3數(shù)據(jù)庫(kù)描述3.4數(shù)據(jù)字典3.5數(shù)據(jù)采集 4功能需求4.1功能劃分4.2功能描述5性能需求5.1數(shù)據(jù)精確度5.2時(shí)間特性5.3適應(yīng)性6運(yùn)行需求5.1用戶界面5.2硬件接口5.3軟件接口5.4故障處理7其他需求(檢測(cè)或驗(yàn)收標(biāo)準(zhǔn)、可用性、可維護(hù)性可移植性、平安保密性)3/2/2023fanrui_nc@12613828258036需求驗(yàn)證需求驗(yàn)證對(duì)需求文檔和制品進(jìn)行質(zhì)量評(píng)估,確保需求說(shuō)明精確、完整包括以下內(nèi)容:正確性一樣性完整性可行性必要性可檢驗(yàn)性需求的可跟蹤性最終簽字3/2/2023fanrui_nc@12613828258036啟動(dòng)分析過(guò)程確定共利益者:干脆或間接從正在開發(fā)的系統(tǒng)中獲益的人。例如,POS機(jī)系統(tǒng)中的共利益者有:收銀員,售貨員,顧客,公司,經(jīng)理,支付授權(quán)服務(wù),帳務(wù)系統(tǒng)和庫(kù)存系統(tǒng)等識(shí)別視點(diǎn):從不同的視角看待該系統(tǒng)。比如,收銀員關(guān)切精確、快速生成一次銷售,且沒(méi)有支付錯(cuò)誤;售貨員關(guān)注銷售提成協(xié)同工作:共利益者之間的協(xié)作首次提問(wèn):集中于客戶和其他共利益、整體目標(biāo)、收益等3/2/2023fanrui_nc@12613828258036非形式化需求分析技術(shù)會(huì)談:正式會(huì)談:提出一些可自由回答的問(wèn)題非正式會(huì)談:提出一些事先準(zhǔn)備好的議題情景分析:需求分析從對(duì)場(chǎng)景的評(píng)論中得到信息,然后再將其以形式化方式表示出來(lái)。運(yùn)用調(diào)查表制定調(diào)查表分析建立原型界面執(zhí)行過(guò)程3/2/2023fanrui_nc@12613828258036實(shí)例分析:POS機(jī)系統(tǒng)收銀員:能夠精確、快速地輸入,而且沒(méi)有支付錯(cuò)誤,因?yàn)榧偃缟偈肇浛?,將從其薪水眾扣除。售貨員:自動(dòng)更新銷售提成。顧客:希望以最小代價(jià)完成購(gòu)買活動(dòng)并得到快速服務(wù)。便捷、清晰地看到所輸入的商品項(xiàng)目和價(jià)格。得到購(gòu)買憑證,以便退貨。公司:希望精確地記錄交易,滿足顧客要求。確保記錄了支付授權(quán)服務(wù)的支付票據(jù)。有確定的容錯(cuò)性。能夠自動(dòng)、快速地更新記帳和庫(kù)存信息。經(jīng)理:能夠快速執(zhí)行超控操作,并易于更正收銀員的不當(dāng)操作。支持授權(quán)服務(wù):依據(jù)正確的通信格式進(jìn)行授權(quán)服務(wù)。庫(kù)存系統(tǒng):正確的方式更新庫(kù)存信息。記賬系統(tǒng):能夠精確地記錄每次銷售支付信息。3/2/2023fanrui_nc@12613828258036POS機(jī)系統(tǒng)主要功能需求處理銷售:收銀員完成一次銷售記錄,并出具票據(jù)和更新庫(kù)存系統(tǒng)和帳務(wù)系統(tǒng)。處理支付:完成一次銷售對(duì)應(yīng)的支付,包括現(xiàn)金支付,信用卡支付和支票支付。處理退貨:依據(jù)顧客懇求完成商品退貨處理。辦理睬員卡:注冊(cè)、注銷和更新會(huì)員記錄。3/2/2023fanrui_nc@12613828258036實(shí)例分析:圖書館系統(tǒng)圖書館系統(tǒng)的共利益者與視點(diǎn)有:圖書流通管理:負(fù)責(zé)圖書借還工作。用戶:希望快速得到借書,還書服務(wù),能夠續(xù)借、預(yù)約圖書,以及查詢個(gè)人和圖書信息。編目管理員:負(fù)責(zé)圖書的管理、用戶管理和處理罰金等。3/2/2023fanrui_nc@12613828258036圖書館系統(tǒng)的主要功能需求圖書借出:管理員完成一次借書過(guò)程。圖書歸還:管理員完成一次還書過(guò)程。圖書預(yù)約:用戶查詢要借的圖書,若不能借,可預(yù)約該圖書。圖書續(xù)借:用戶可以將圖書的歸還日期延長(zhǎng)一段時(shí)間。圖書管理:添加新書。更新圖書館信息,銷毀圖書。用戶管理:注冊(cè)新用戶,更新用戶信息,注銷用戶。處理罰金:用戶繳納罰金吼,系統(tǒng)將罰金數(shù)額清零。3/2/2023fanrui_nc@12613828258036小結(jié)需求分析也稱為需求工程,是一個(gè)特別重要而有很困難的,須要交替進(jìn)行,反復(fù)迭代的過(guò)程。軟件需求分為功能需求和非功能需求。功能需求描述系統(tǒng)所預(yù)期供應(yīng)的服務(wù),而非功能需求描述與系統(tǒng)不干脆相關(guān)的一些需求。領(lǐng)域需求是一種特有的功能需求,反應(yīng)應(yīng)用領(lǐng)域的基本問(wèn)題。軟件需求規(guī)格說(shuō)明文檔描述了系統(tǒng)的數(shù)據(jù)、功能、行為、性能需求、設(shè)計(jì)約束、驗(yàn)收標(biāo)準(zhǔn)以及其他于需求相關(guān)的信息,它有可能成為客戶與開發(fā)商之間的合同。需求分析過(guò)程通過(guò)執(zhí)行初步溝通、需求導(dǎo)出、分析與精化、可行性探討、協(xié)商和溝通、規(guī)格說(shuō)明、驗(yàn)證和變更管理八個(gè)不同的活動(dòng)來(lái)完成。非形式技術(shù)主要包括會(huì)談、調(diào)查表和場(chǎng)景技術(shù),用于獲得用戶需求和系統(tǒng)需求。3/2/2023fanrui_nc@12613828258036第5講結(jié)構(gòu)化分析建模結(jié)構(gòu)化需求分析面對(duì)數(shù)據(jù)的建模方法案例分析3/2/2023fanrui_nc@12613828258036結(jié)構(gòu)化分析建模需求分析的任務(wù)就是精確地指出“軟件目標(biāo)產(chǎn)品必需做什么?”需求分析的一個(gè)重要過(guò)程就是需求建模的過(guò)程結(jié)構(gòu)化分析方法是一種傳統(tǒng)的系統(tǒng)建模技術(shù)3/2/2023fanrui_nc@12613828258036結(jié)構(gòu)化分析模型結(jié)構(gòu)實(shí)體-關(guān)系圖數(shù)據(jù)流圖加工規(guī)約數(shù)據(jù)對(duì)象描述狀態(tài)轉(zhuǎn)換圖控制規(guī)約3/2/2023fanrui_nc@12613828258036結(jié)構(gòu)化分析模型結(jié)構(gòu)分析模型結(jié)構(gòu)的核心是數(shù)據(jù)字典(DD,DataDictionary),包含了軟件運(yùn)用或生產(chǎn)的全部數(shù)據(jù)對(duì)象描述的中心庫(kù)。分析模型結(jié)構(gòu)的中間層有三種視圖:數(shù)據(jù)流圖(DFD,DataFlowDiagram)服務(wù)于兩個(gè)目的:一是指明數(shù)據(jù)在系統(tǒng)中移動(dòng)時(shí)如何被變換,二是描述對(duì)數(shù)據(jù)流進(jìn)行變換的功能和子功能。實(shí)體—關(guān)系圖(E-RD,Entity-RelationshipDiagram)描述數(shù)據(jù)對(duì)象間的關(guān)系,用來(lái)進(jìn)行數(shù)據(jù)建模活動(dòng)的記號(hào)。狀態(tài)轉(zhuǎn)換圖(STD,StateTransitionDiagram)指明作為外部事務(wù)的結(jié)果,系統(tǒng)將如何動(dòng)作。分析模型結(jié)構(gòu)的外層是規(guī)約描述:在實(shí)體—關(guān)系圖中每個(gè)數(shù)據(jù)對(duì)象的屬性可以運(yùn)用數(shù)據(jù)對(duì)象來(lái)描述。在數(shù)據(jù)流圖中出現(xiàn)的每個(gè)加工/處理的功能描述包含在加工規(guī)約中。軟件限制方面的附加信息包含在限制規(guī)約中3/2/2023fanrui_nc@12613828258036面對(duì)數(shù)據(jù)的建模方法系統(tǒng)建模的一個(gè)重要方面就是要定義系統(tǒng)處理的邏輯結(jié)構(gòu)。最廣泛接受的數(shù)據(jù)建模技術(shù)是實(shí)體-關(guān)系模型,它描述數(shù)據(jù)實(shí)體、關(guān)聯(lián)及實(shí)體屬性。實(shí)體關(guān)系模型可用ERD實(shí)體關(guān)系圖)來(lái)表示:實(shí)體關(guān)聯(lián)實(shí)體屬性基數(shù)3/2/2023fanrui_nc@12613828258036實(shí)例分析:圖書館系統(tǒng)1借書記錄預(yù)約記錄借/還/續(xù)借1M1NM包含預(yù)約借書者圖書書目3/2/2023fanrui_nc@12613828258036實(shí)例分析:圖書館系統(tǒng)實(shí)體:圖書、借書者、管理員、借書書目、預(yù)約記錄、書目屬性給出如下:借書者:借書者編號(hào)、姓名、性別、借書數(shù)、最大借書數(shù)、罰金金額、有限期圖書:圖書號(hào)、書目號(hào)書目:書目號(hào)、書名、作者、出版社、叢書名、保藏?cái)?shù)、在館數(shù)、預(yù)約數(shù)借書記錄:圖書號(hào)、借書者編號(hào)、借出日期、應(yīng)還日期、續(xù)借次數(shù)預(yù)約記錄:書目號(hào)、借書者編號(hào)、預(yù)約日期3/2/2023fanrui_nc@12613828258036實(shí)例分析:POS機(jī)系統(tǒng)1NM111包含付款描述銷售支付商品描述商品3/2/2023fanrui_nc@12613828258036實(shí)例分析:POS機(jī)系統(tǒng)實(shí)體有銷售、支付、商品、商品描述關(guān)聯(lián):銷售包含一組商品;每個(gè)商品都有相應(yīng)的描述信息;每個(gè)支付對(duì)應(yīng)一個(gè)銷售。實(shí)體的屬性:銷售:編號(hào)、總價(jià)、1{商品}*,日期支付:編號(hào)、支付客戶、找零、銷售編號(hào)商品:編號(hào)、數(shù)量商品描述:名稱、產(chǎn)地、廠家、單價(jià)3/2/2023fanrui_nc@12613828258036小結(jié)分析模型幫助用戶逐層深化理解問(wèn)題,為軟件設(shè)計(jì)供應(yīng)基礎(chǔ)。結(jié)構(gòu)化分析方法是一種自頂向下,逐步分解的面對(duì)數(shù)據(jù)和數(shù)據(jù)流的建模方法。面對(duì)數(shù)據(jù)的建模以實(shí)體、關(guān)系和屬性三個(gè)基本元素描述系統(tǒng),涉及數(shù)據(jù)及其它們之間的關(guān)系,用ERD表示。3/2/2023fanrui_nc@12613828258036第6講結(jié)構(gòu)化分析建模

面對(duì)數(shù)據(jù)流的建模面對(duì)數(shù)據(jù)流的建模是結(jié)構(gòu)化需求分析方法之一接受自頂向下逐層分解,描繪滿足用戶要求的軟件模型表示:數(shù)據(jù)流圖:描述系統(tǒng)處理過(guò)程數(shù)據(jù)字典:模型中的數(shù)據(jù)信息集合狀態(tài)轉(zhuǎn)換圖:描述系統(tǒng)對(duì)內(nèi)部或外部事務(wù)響應(yīng)的行為模型3/2/2023fanrui_nc@12613828258036數(shù)據(jù)流圖符號(hào)數(shù)據(jù)源點(diǎn)或終點(diǎn)變換數(shù)據(jù)的處理數(shù)據(jù)存儲(chǔ)數(shù)據(jù)流或或或3/2/2023fanrui_nc@12613828258036數(shù)據(jù)流圖舉例設(shè)一個(gè)工廠選購(gòu) 部每天須要一張定貨報(bào)表。定貨的零件數(shù)據(jù)有:零件編號(hào)、名稱、數(shù)量、價(jià)格、供應(yīng)者等。零件的入庫(kù)、出庫(kù)事務(wù)通過(guò)計(jì)算機(jī)終端輸入給定貨系統(tǒng)。當(dāng)某零件的庫(kù)存數(shù)少于給定的庫(kù)存量臨界值時(shí),就應(yīng)當(dāng)再次定貨。數(shù)據(jù)流分析:數(shù)據(jù)源點(diǎn):倉(cāng)管員(負(fù)責(zé)入庫(kù)或出庫(kù)事務(wù)給定貨系統(tǒng));數(shù)據(jù)終點(diǎn):選購(gòu) 員(接收每天的定貨報(bào)表);數(shù)據(jù)流:事務(wù),定貨;數(shù)據(jù)存儲(chǔ):定貨信息,庫(kù)存清單;處理:處理事務(wù),產(chǎn)生報(bào)表。3/2/2023fanrui_nc@12613828258036數(shù)據(jù)流圖舉例畫基本系統(tǒng)模型采購(gòu)員事務(wù)定貨報(bào)表倉(cāng)管員定貨系統(tǒng)3/2/2023fanrui_nc@12613828258036數(shù)據(jù)流圖舉例第一步求精定貨信息庫(kù)存清單定貨信息庫(kù)存信息采購(gòu)員定貨報(bào)表產(chǎn)生報(bào)表倉(cāng)管員處理事務(wù)事務(wù)3/2/2023fanrui_nc@12613828258036數(shù)據(jù)流圖舉例其次步求精倉(cāng)管員采購(gòu)員處理入庫(kù)事務(wù)入庫(kù)事務(wù)出庫(kù)事務(wù)定貨報(bào)表處理定貨定貨信息處理出庫(kù)事務(wù)產(chǎn)生報(bào)表定貨信息庫(kù)存清單庫(kù)存信息3/2/2023fanrui_nc@12613828258036數(shù)據(jù)字典卡片方式示例名字:定貨報(bào)表別名:定貨信息描述:每天一次需要定貨的零件表定義:定貨報(bào)表=零件編號(hào)+零件名稱+定貨數(shù)量+價(jià)格+1{供應(yīng)者}3

位置:輸出到打印機(jī)名字:零件編號(hào)別名:描述:惟一標(biāo)識(shí)一個(gè)特定零件的關(guān)鍵組成定義:零件編號(hào)=8位字符位置:定貨報(bào)表、定貨信息庫(kù)存清單名字:定貨數(shù)量別名:描述:某個(gè)零件一次定貨的數(shù)目定義:定貨數(shù)量=[1|2|3|4|5]位置:定貨報(bào)表定貨信息名字:價(jià)格別名:價(jià)格范圍描述:某個(gè)零件目前參考價(jià)格或者上下限定義:價(jià)格=1{零件單價(jià)}2位置:定貨報(bào)表定貨信息庫(kù)存清單3/2/2023fanrui_nc@12613828258036狀態(tài)轉(zhuǎn)換圖狀態(tài)模型是一種描述系統(tǒng)對(duì)內(nèi)部或者外部事務(wù)響應(yīng)的行為模型。它描述系統(tǒng)狀態(tài)和事務(wù),以及事務(wù)引發(fā)系統(tǒng)在狀態(tài)間的轉(zhuǎn)換。這種模型適用于描述實(shí)時(shí)系統(tǒng)狀態(tài)模型一般接受狀態(tài)轉(zhuǎn)換圖(簡(jiǎn)稱狀態(tài)圖)的標(biāo)記方法狀態(tài)圖描述了系統(tǒng)中某些困難對(duì)象的狀態(tài)變更狀態(tài)是可視察的行為模式,用圓角矩形表示;變遷表示狀態(tài)的轉(zhuǎn)換,用箭頭表示;事務(wù)是引發(fā)變遷的消息,用箭頭上的標(biāo)記表示。狀態(tài)圖還可以用事務(wù)后的方括號(hào)表示先決條件,只有當(dāng)這個(gè)條件為真時(shí),才會(huì)發(fā)生狀態(tài)變更;用狀態(tài)自身的弧線箭頭表示先決條件不為真時(shí),狀態(tài)不會(huì)變更。3/2/2023fanrui_nc@12613828258036復(fù)印機(jī)限制軟件狀態(tài)圖讀命令復(fù)印重加載紙?jiān)\斷問(wèn)題閑置與“讀命令”相關(guān)非卡紙與“讀命令”相關(guān)卡紙與“完成問(wèn)題”相關(guān)“滿”和“開始”與“復(fù)印”相關(guān)復(fù)印與“讀命令”相關(guān)滿與“讀命令”相關(guān)3/2/2023fanrui_nc@12613828258036圖書館系統(tǒng)

借書

還書續(xù)借預(yù)約管理員借書者書目號(hào)和借書證號(hào)書目號(hào)書目號(hào)標(biāo)題號(hào)和借書證號(hào)3/2/2023fanrui_nc@12613828258036圖書館系統(tǒng)管理員借書者驗(yàn)證借書者和圖書借書者圖書創(chuàng)建借書記錄顯示失敗信息更新借書者更新圖書信息顯示借書成功不允許借書記錄圖書信息允許借書者信息3/2/2023fanrui_nc@12613828258036圖書館系統(tǒng)實(shí)體關(guān)系圖借書目條碼號(hào)分類號(hào)ISBN注冊(cè)/更改/注銷錄入/更新/刪除ISBN號(hào)書名作者出版社館藏?cái)?shù)價(jià)格可借數(shù)系統(tǒng)管理工號(hào)姓名性別權(quán)限密碼標(biāo)題借書證號(hào)條碼號(hào)借書日期歸還日期續(xù)借次數(shù)借書記錄借書證號(hào)姓名性別地址身份借書數(shù)罰金借書者還包含續(xù)借借書證號(hào)ISBN預(yù)約日期圖書號(hào)預(yù)約3/2/2023fanrui_nc@12613828258036圖書館系統(tǒng)數(shù)據(jù)字典名稱:標(biāo)題別名:抽象的圖書描述:描述一個(gè)抽象的圖書的信息定義:標(biāo)題=ISBN+書名+作者+出版社+出版日期版次+價(jià)格+目錄+內(nèi)容簡(jiǎn)介+館藏?cái)?shù)+可借數(shù)+預(yù)約數(shù)位置:圖書查詢、借書、還書、預(yù)約名稱:書目別名:具體的書描述:對(duì)應(yīng)標(biāo)題的具體的一本書定義:書目=條碼號(hào)+分類號(hào)+ISBN位置:借書、還書、更新3/2/2023fanrui_nc@12613828258036小結(jié)結(jié)構(gòu)化分析方法是一種自頂向下,逐步分解的面對(duì)數(shù)據(jù)和數(shù)據(jù)流的建模方法?;跀?shù)據(jù)流的方法用于描述數(shù)據(jù)如何在系統(tǒng)中流淌或被變換,用數(shù)據(jù)流圖、數(shù)據(jù)字典、加工規(guī)程等形式表示。3/2/2023fanrui_nc@12613828258036第7講面對(duì)對(duì)象分析面對(duì)對(duì)象建模用例模型領(lǐng)域模型案例分析3/2/2023fanrui_nc@12613828258036面對(duì)對(duì)象建模面對(duì)對(duì)象模型對(duì)象模型:定義了“做什么”的實(shí)體動(dòng)態(tài)模型:規(guī)定在何種狀態(tài)下,接受什么事務(wù)的觸發(fā)而“做什么”功能模型:指明白系統(tǒng)應(yīng)當(dāng)“做什么”3/2/2023fanrui_nc@12613828258036統(tǒng)一建模語(yǔ)言UML統(tǒng)一建模語(yǔ)言(UML,UnifiedModelingLanguage)是一種基于面對(duì)對(duì)象的可視化建模語(yǔ)言。UML用豐富的圖形符號(hào)隱含表示了模型元素的語(yǔ)法,而用這些圖形符號(hào)組成元模型表達(dá)語(yǔ)義,組成模型描述系統(tǒng)結(jié)構(gòu)(或稱為靜態(tài)特征)以及行為(或稱為動(dòng)態(tài)特征)。UML的模型元素:一類模型元素用于表示模型中的某個(gè)概念,如類、對(duì)象、用例、結(jié)點(diǎn)、構(gòu)件、包、接口等;另一類模型元素用于表示模型元素之間相互連接的關(guān)系,主要有關(guān)聯(lián)、泛化(表示一般與特殊的關(guān)系)、依靠、聚集(表示整體與部分的關(guān)系)等。3/2/2023fanrui_nc@12613828258036UML模型元素聚集依賴泛化關(guān)聯(lián)狀態(tài)對(duì)象屬性操作類屬性操作角色用例結(jié)點(diǎn)構(gòu)件包接口注釋3/2/2023fanrui_nc@12613828258036UML模型視圖UML主要是用來(lái)描述模型的。它可以從不同視角為系統(tǒng)建模,形成不同的視圖(View)。每個(gè)視圖是系統(tǒng)完整描述中的一個(gè)抽象,代表該系統(tǒng)一個(gè)特定的方面;每個(gè)視圖又由一組圖(Diagram)構(gòu)成,圖包含了強(qiáng)調(diào)系統(tǒng)某一方面的信息。兩類圖:靜態(tài)圖:包括用例圖、類圖、對(duì)象圖、構(gòu)件圖和部署圖動(dòng)態(tài)圖:包括狀態(tài)圖、時(shí)序圖、協(xié)作圖和活動(dòng)圖五種視圖:用例視圖從用戶角度表達(dá)系統(tǒng)功能;結(jié)構(gòu)視圖主要運(yùn)用類圖和對(duì)象圖描述系統(tǒng)靜態(tài)結(jié)構(gòu);行為視圖展示系統(tǒng)動(dòng)態(tài)行為及其并發(fā)性;實(shí)現(xiàn)視圖展示系統(tǒng)實(shí)現(xiàn)的結(jié)構(gòu)和行為特征;部署視圖展示系統(tǒng)的實(shí)現(xiàn)環(huán)境和構(gòu)件是如何在物理結(jié)構(gòu)中部署的3/2/2023fanrui_nc@12613828258036用例建模需求捕獲的目標(biāo):發(fā)覺(jué)真正的需求以適用于用戶、客戶和開發(fā)人員的方式加以表示系統(tǒng)用戶表示為一個(gè)參與者參與者在與用例進(jìn)行交互時(shí)運(yùn)用系統(tǒng)用例向參與者供應(yīng)某些有價(jià)值結(jié)果而執(zhí)行一些動(dòng)作序列3/2/2023fanrui_nc@12613828258036編寫用例用例著眼于為用戶增加價(jià)值,供應(yīng)了一種捕獲功能需求的系統(tǒng)且直觀的方法,可驅(qū)動(dòng)整個(gè)開發(fā)過(guò)程。用例從某個(gè)特定參與者的角度用簡(jiǎn)潔易懂的語(yǔ)言說(shuō)明一個(gè)特定的運(yùn)用場(chǎng)景。要起先開發(fā)用例,應(yīng)列出特定參與者執(zhí)行的功能或者活動(dòng)。用例模型幫助客戶、用戶和開發(fā)人員在如何運(yùn)用系統(tǒng)方面達(dá)成共識(shí)。用例圖描述部分用例模型,顯示帶有聯(lián)系的用例和參與者的集合3/2/2023fanrui_nc@12613828258036POS機(jī)系統(tǒng)部分用例圖3/2/2023fanrui_nc@12613828258036用例圖用例圖包括:參與者、用例、關(guān)聯(lián)和邊界四個(gè)要素。參與者:用小人形表示用例:用橢圓表示關(guān)聯(lián):用直線表示說(shuō)明參與者驅(qū)動(dòng)某個(gè)用例邊界:用矩形框表示,說(shuō)明系統(tǒng)關(guān)注點(diǎn)。3/2/2023fanrui_nc@12613828258036開發(fā)用例用例運(yùn)用非正式的描述性風(fēng)格編寫,也可以運(yùn)用某個(gè)結(jié)構(gòu)化的格式編寫,有些格式更強(qiáng)調(diào)描述的直觀性。3/2/2023fanrui_nc@12613828258036POS機(jī)系統(tǒng)中處理銷售的場(chǎng)景用例名稱:處理銷售范圍:POS機(jī)應(yīng)用級(jí)別:用戶目標(biāo)主要參與者:收銀員涉眾及其關(guān)注點(diǎn):收銀員:希望能夠精確、快速地輸入,而且沒(méi)有支付錯(cuò)誤,因?yàn)榧偃缟偈肇浛?,將從其薪水眾扣除。售貨員:希望自動(dòng)更新銷售提成顧客:希望以最小代價(jià)完成購(gòu)買活動(dòng)并得到快速服務(wù)。希望便捷、清晰地看到所輸入的商品項(xiàng)目和價(jià)格。希望得到購(gòu)買憑證,以便退貨。公司:希望精確地記錄交易,滿足顧客要求。希望確保記錄了支付授權(quán)服務(wù)的支付票據(jù)。希望有確定的容錯(cuò)性,即便在某些服務(wù)器構(gòu)件不行用時(shí)(如遠(yuǎn)程信用卡驗(yàn)證),也能夠完成銷售。希望能夠自動(dòng)、快速地更新帳戶和庫(kù)存信息。經(jīng)理:希望能夠快速執(zhí)行超控操作,并易于更正收銀員的不當(dāng)操作。前置條件:收銀員必需經(jīng)過(guò)確認(rèn)和認(rèn)證。成功保證(或后置條件):存儲(chǔ)銷售信息,更新帳戶和庫(kù)存信息,記錄提成,生成票據(jù),記錄支付授權(quán)的批準(zhǔn)。3/2/2023fanrui_nc@12613828258036主成功場(chǎng)景1.顧客攜帶所購(gòu)商品或服務(wù)到收銀臺(tái)通過(guò)POS機(jī)付款。2.收銀員起先一次新的銷售交易。3.收銀員輸入商品條碼。4.系統(tǒng)逐步記錄出售的商品,并顯示該商品的描述、價(jià)格和累計(jì)額。價(jià)格通過(guò)一組價(jià)格規(guī)則來(lái)計(jì)算。收銀員重復(fù)3~~4步,直到輸入結(jié)束。5.系統(tǒng)顯示總額和計(jì)算折扣。6.收銀員告知顧客總額,并請(qǐng)顧客付款。7.顧客付款,系統(tǒng)處理支付。8.系統(tǒng)記錄完整的銷售信息,并將銷售和支付信息發(fā)送到外部的賬務(wù)系統(tǒng)(進(jìn)行賬務(wù)處理和提成)和庫(kù)存系統(tǒng)(更新庫(kù)存)。9.系統(tǒng)打印票據(jù)。10.顧客攜帶商品和票據(jù)離開。3/2/2023fanrui_nc@12613828258036開發(fā)活動(dòng)圖UML活動(dòng)圖通過(guò)供應(yīng)特定的場(chǎng)景內(nèi)溝通的圖形化表示來(lái)補(bǔ)充用例?;顒?dòng)圖符號(hào):兩端為半圓形的矩形表示一個(gè)特定的系統(tǒng)功能箭頭表示通過(guò)系統(tǒng)的流判定菱形表示判定分支水平線、分叉點(diǎn)和連接表示并發(fā)活動(dòng)對(duì)象節(jié)點(diǎn)表示活動(dòng)對(duì)象活動(dòng)圖通常能夠既表示限制流又表示數(shù)據(jù)流。UML活動(dòng)圖代替?zhèn)鹘y(tǒng)的數(shù)據(jù)流圖(DataFlowDiagram)表示法3/2/2023fanrui_nc@12613828258036處理銷售用例中的UML活動(dòng)圖3/2/2023fanrui_nc@12613828258036泳道圖UML泳道圖(swimlane)是活動(dòng)圖的一種有用的變形可以讓建模人員表示用例所描述的活動(dòng)圖,同時(shí)看哪個(gè)參與者或分析類對(duì)活動(dòng)矩形所描述的活動(dòng)負(fù)責(zé)。泳道用縱向分割圖的并列條形部分表示,就像游泳池中的泳道,也稱特定分區(qū)。UML泳道圖通常對(duì)于涉及眾多參與者的特別困難的業(yè)務(wù)過(guò)程建模具有價(jià)值。3/2/2023fanrui_nc@12613828258036泳道圖舉例3/2/2023fanrui_nc@12613828258036建立領(lǐng)域模型領(lǐng)域模型能捕獲語(yǔ)境中最重要的對(duì)象模型,領(lǐng)域?qū)ο蟠硐到y(tǒng)工作的環(huán)境中存在的事情或發(fā)生的事務(wù)。領(lǐng)域有三種典型的形式:業(yè)務(wù)對(duì)象,表示業(yè)務(wù)中可操作的東西,例如訂單、帳戶和合同等。系統(tǒng)須要處理的現(xiàn)實(shí)世界中的對(duì)象和概念,如導(dǎo)彈、輪船等。將要發(fā)生或已經(jīng)發(fā)生的事務(wù),例如飛機(jī)起飛或午餐休息等。領(lǐng)域建模的目的是理解和描述在領(lǐng)域語(yǔ)境中最重要的類3/2/2023fanrui_nc@12613828258036分析類分析類側(cè)重于處理功能性需求通過(guò)較高的、非形式化層次的職責(zé)類定義某行為分析類三種基本構(gòu)造型:邊界類:邊界類用于建立系統(tǒng)與其參與者之間交互的模型,常常代表對(duì)窗口、窗體、窗幕、通信接口、打印機(jī)接口、傳感器、終端以及API等的抽象。每個(gè)邊界類至少應(yīng)當(dāng)與一個(gè)參與者有關(guān),反之亦然。限制類:限制類代表協(xié)調(diào)、排序、事務(wù)處理以及其他對(duì)象的限制,常常用于封裝與某個(gè)具體用例有關(guān)的限制。限制類還可以用來(lái)表示困難的派生與演算,如業(yè)務(wù)邏輯。實(shí)體類:實(shí)體類用于對(duì)長(zhǎng)效長(zhǎng)久的信息建模。大多數(shù)狀況下,實(shí)體類是干脆從業(yè)務(wù)對(duì)象模型中相應(yīng)的業(yè)務(wù)實(shí)體類得到的。3/2/2023fanrui_nc@12613828258036分析類舉例3/2/2023fanrui_nc@12613828258036限制類限制類類似于設(shè)計(jì)模型中的限制器類,其目的是UI層之上的第一個(gè)對(duì)象,主要負(fù)責(zé)接收和處理系統(tǒng)操作消息。把職務(wù)安排給能代表以下選擇之一的類:代表整個(gè)“系統(tǒng)”、“根對(duì)象”、運(yùn)行軟件的設(shè)備或主要子系統(tǒng),這些是外觀限制器的全部變體。代表用例場(chǎng)景,在該場(chǎng)景中發(fā)生系統(tǒng)事務(wù),通常命名為UsecaseName+Handler、UsecaseName+Coordinator或UsecaseName+Session。3/2/2023fanrui_nc@12613828258036限制類舉例3/2/2023fanrui_nc@12613828258036用例實(shí)現(xiàn)分析用例實(shí)現(xiàn)分析是分析模型內(nèi)部的一種協(xié)作,主要描述了如何依據(jù)分析類及其交互的分析對(duì)象來(lái)實(shí)現(xiàn)和執(zhí)行一個(gè)具體的用例。用例實(shí)現(xiàn)包括事務(wù)流的文本描述、反映參與者用例實(shí)現(xiàn)的分析的類圖以及依據(jù)分析對(duì)象的交互作用描述特定流實(shí)現(xiàn)或用例腳本的交互圖。用例實(shí)現(xiàn)側(cè)重于功能性需求。3/2/2023fanrui_nc@12613828258036處理銷售類圖3/2/2023fanrui_nc@12613828258036交互圖當(dāng)參與者向系統(tǒng)發(fā)送某種形式的消息而激活用例時(shí),起先執(zhí)行該用例中的動(dòng)作序列。邊界類對(duì)象將接收來(lái)自參與者的消息。邊界對(duì)象向其他對(duì)象發(fā)送一個(gè)消息,并使有關(guān)對(duì)象與之交互從而實(shí)現(xiàn)該用例。在分析階段,通常運(yùn)用協(xié)作圖類描述用例的實(shí)現(xiàn)。協(xié)作圖又稱為通信圖,是以圖或網(wǎng)絡(luò)格式描述對(duì)象交互,其中對(duì)象可以置于圖中任何位置。3/2/2023fanrui_nc@126138282580363/2/2023fanrui_nc@12613828258036分析包分析包描述了對(duì)分析模型的制品進(jìn)行組織的方式,它可以包括分析類、用例實(shí)現(xiàn)及其他分析。分析包應(yīng)是有強(qiáng)內(nèi)聚性與低耦合性,具有以下特點(diǎn):分析包可以表示對(duì)分析內(nèi)容的分割。在統(tǒng)一過(guò)程中,服務(wù)的概念是由服務(wù)包支持的。服務(wù)包在依據(jù)系統(tǒng)供應(yīng)的服務(wù)而組織的分析包層次結(jié)構(gòu)中處于較低層。服務(wù)包包含了一組活動(dòng)相關(guān)的類,服務(wù)包不行分割。在實(shí)現(xiàn)用例時(shí),可能會(huì)有一個(gè)或多個(gè)服務(wù)包參與其實(shí)現(xiàn)。服務(wù)包相對(duì)獨(dú)立,可以復(fù)用。UML包圖用于描述系統(tǒng)的邏輯架構(gòu)——層、子系統(tǒng)、包等。UML包用一大一小兩個(gè)矩形組合而成。假如內(nèi)部顯示了其成員,則包名稱標(biāo)在上面的小矩形內(nèi),否則,可以標(biāo)在包內(nèi)。3/2/2023fanrui_nc@12613828258036UML包圖3/2/2023fanrui_nc@12613828258036邏輯架構(gòu)邏輯架構(gòu)是類的宏觀組織結(jié)構(gòu),它將類組織為包、子系統(tǒng)和層等。層是對(duì)類、包或子系統(tǒng)的甚為粗粒度的分組,是有對(duì)系統(tǒng)主要方面加以內(nèi)聚的職責(zé)。3/2/2023fanrui_nc@12613828258036分層邏輯架構(gòu)3/2/2023fanrui_nc@12613828258036關(guān)聯(lián)與依靠?jī)蓚€(gè)分析類以某種方式相互聯(lián)系,這些聯(lián)系被稱作關(guān)聯(lián)。關(guān)聯(lián)可進(jìn)一步指出多樣性,也稱為基數(shù)。兩個(gè)分析類之間存在客戶——服務(wù)器聯(lián)系,客戶類在某些方面依靠于服務(wù)器類并且建立了依靠關(guān)系。3/2/2023fanrui_nc@12613828258036識(shí)別屬性和操作屬性描述類的性質(zhì),可以通過(guò)分析該類存在的一些信息類構(gòu)建。操作定義了某個(gè)對(duì)象的行為。操作可以分為四種類型:以某種方式操縱數(shù)據(jù),例如:添加、刪除、選擇、更新等。執(zhí)行計(jì)算的操縱,例如:銷售中的計(jì)算總價(jià)。懇求某個(gè)對(duì)象狀態(tài)的操作。監(jiān)視某個(gè)對(duì)象發(fā)生某個(gè)限制事務(wù)的操作。操作的構(gòu)造須要交互圖和場(chǎng)景描述等手段多次反復(fù)分析才能獲得。在探討語(yǔ)法分析并分別動(dòng)詞作為候選的操作。舉薦的一個(gè)方法是運(yùn)用CRC技術(shù)。3/2/2023fanrui_nc@12613828258036CRC技術(shù)CRC(Class-Responsibility-Collaborator,類-職責(zé)-協(xié)作者)建模供應(yīng)識(shí)別和組織與產(chǎn)品相關(guān)的類。一旦系統(tǒng)的基本運(yùn)用場(chǎng)景(用例)確定后,則要標(biāo)識(shí)侯選類,指明它們的責(zé)任和協(xié)作,即類-責(zé)任-協(xié)作者建模:責(zé)任是與類相關(guān)的屬性和操作,即責(zé)任是類知道要做的事情。協(xié)作者是為某類供應(yīng)完成責(zé)任所須要的信息的類,即協(xié)作類。CRC建模方法供應(yīng)了一種簡(jiǎn)潔標(biāo)識(shí)和組織與系統(tǒng)或產(chǎn)品需求相關(guān)的類的手段。CRC模型是一組表示類標(biāo)準(zhǔn)的索引卡——CRC卡的集合。CRC卡的內(nèi)容分成三個(gè)部分:類的名字類的責(zé)任協(xié)作類3/2/2023fanrui_nc@12613828258036銷售類CRC卡3/2/2023fanrui_nc@12613828258036第8講面對(duì)對(duì)象分析

行為建模行為模型顯示了軟件如何對(duì)外部事務(wù)或激勵(lì)做出響應(yīng)。要生成行為模型,分析師必需按如下步驟進(jìn)行:評(píng)估全部的用例,以使得完成理解系統(tǒng)內(nèi)的交互序列。識(shí)別驅(qū)動(dòng)交互序列的事務(wù),并理解這些事務(wù)如何和具體的類相互關(guān)聯(lián)。為每個(gè)用例生產(chǎn)序列。創(chuàng)建系統(tǒng)狀態(tài)圖。評(píng)估行為模型以驗(yàn)證精確性和一樣性。3/2/2023fanrui_nc@12613828258036系統(tǒng)依次圖系統(tǒng)依次圖(SystemSequenceDiagram,SSD)是為了闡述與探討系統(tǒng)相關(guān)的輸入和輸出事務(wù)而快速、簡(jiǎn)潔地創(chuàng)建的制品。它們是操作契約和重要對(duì)象設(shè)計(jì)的輸入。用例文本及其所示的系統(tǒng)事務(wù)是創(chuàng)建SSD的輸入。SSD展示了干脆與系統(tǒng)交互的外部參與者,系統(tǒng)以及由參與者發(fā)起的系統(tǒng)事務(wù)。SSD可以用UML依次圖的形式表示,用以闡述外部參與者到系統(tǒng)的事務(wù)。系統(tǒng)事務(wù)就是將系統(tǒng)看作黑盒,參與者為完成功能而向系統(tǒng)發(fā)出的事務(wù)。3/2/2023fanrui_nc@12613828258036處理銷售用例的系統(tǒng)SSD3/2/2023fanrui_nc@12613828258036操作契約操作契約運(yùn)用前置條件和后置條件的形式,具體和精確描述領(lǐng)域模型中的對(duì)象的變更,并作為系統(tǒng)操作的結(jié)果。操作契約的主要輸入是SSD中確定的系統(tǒng)操作、領(lǐng)域模型和領(lǐng)域?qū)<业囊?jiàn)解。操作契約四部分:操作是指操作的名稱和參數(shù)交叉引用是指會(huì)發(fā)生此操作的用例前置條件是指執(zhí)行操作之前對(duì)系統(tǒng)領(lǐng)域模型對(duì)象狀態(tài)的假設(shè)后置條件是指完成操作后,領(lǐng)域模型對(duì)象的狀態(tài)3/2/2023fanrui_nc@12613828258036后置條件后置條件(PostCondition)描述了領(lǐng)域模型內(nèi)對(duì)象狀態(tài)的變更。領(lǐng)域模型狀態(tài)變更包括創(chuàng)建用例、形成或消退關(guān)聯(lián)以及變更屬性。后置條件不是在操作過(guò)程中執(zhí)行的活動(dòng),相反,它們是對(duì)領(lǐng)域模型對(duì)象的視察結(jié)果。后置條件可以分為三種類型:創(chuàng)建或刪除實(shí)例屬性值的變更形成或消退關(guān)聯(lián)3/2/2023fanrui_nc@12613828258036操作enterItem的契約操作名稱:enterItem(id,quantity)交叉引用:處理銷售用例前置條件:正在進(jìn)行的銷售后置條件:(1)創(chuàng)建了SaleLineItem的實(shí)例(創(chuàng)建關(guān)聯(lián))(2)

溫馨提示

  • 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)論