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

軟件需求分析與建模2025/3/22

2結(jié)束返回第3章軟件需求分析與建模3、1需求分析3、2數(shù)據(jù)建模3、3功能建模3、4行為建模3、6結(jié)構(gòu)化需求分析得若干技術(shù)3、5數(shù)據(jù)字典3、7驗(yàn)證軟件需求第3章軟件需求分析與建模2025/3/22

3結(jié)束返回【難點(diǎn)、重點(diǎn)】本章得學(xué)習(xí)重點(diǎn)在于理解軟件需求得概念和重要性,熟悉需求開發(fā)和需求管理得基本思想和主要活動(dòng),掌握結(jié)構(gòu)化得分析方法;難點(diǎn)就是怎樣在實(shí)際得軟件項(xiàng)目中靈活運(yùn)用這些思想和方法。第3章軟件需求分析與建模2025/3/22

4結(jié)束返回【學(xué)習(xí)目得】本章介紹需求分析得意義、概念和方法,了解結(jié)構(gòu)化分析方法和需求管理得關(guān)鍵活動(dòng);要求學(xué)會(huì)運(yùn)用實(shí)體關(guān)系圖、數(shù)據(jù)流圖和狀態(tài)控制圖進(jìn)行結(jié)構(gòu)化分析建模,能夠編寫軟件需求規(guī)格說(shuō)明書。第3章軟件工程過(guò)程模型2025/3/22

5結(jié)束返回軟件需求分析得目得待開發(fā)項(xiàng)目得可行性分析得基礎(chǔ)上建立目標(biāo)系統(tǒng)得邏輯模型需求分析輸入輸出圖3、1需求分析得目得第3章軟件需求分析與建模2025/3/22

6結(jié)束返回3、1軟件需求分析3、1、1需求分析得任務(wù)3、1、2需求分析得步驟3、1、3需求分析得原則第3章軟件需求分析與建模2025/3/22

7結(jié)束返回3、1軟件需求分析3、1、1需求分析得任務(wù)

(1)需求分析得主要任務(wù)設(shè)計(jì)階段得依據(jù)需求分析階段軟件規(guī)格說(shuō)明書生成、提交作為就就是要通過(guò)軟件開發(fā)人員與用戶得交流和討論,準(zhǔn)確地獲取用戶對(duì)系統(tǒng)得具體要求,見(jiàn)圖1、11。理解需求圖3、2(1)軟件定義時(shí)期軟件定義部分又可劃分為問(wèn)題定義、可行性研究和需求分析三個(gè)階段。軟件定義時(shí)期需求分析可行性研究問(wèn)題定義系統(tǒng)分析報(bào)告可行性分析報(bào)告初步項(xiàng)目計(jì)劃需求規(guī)格說(shuō)明書1、3軟件生存期(softwarelifecycle)要解決得問(wèn)題就是什么就是否有可行得解決辦法目標(biāo)系統(tǒng)必須做什么圖1、11

第1章軟件工程引論任務(wù)任務(wù)任務(wù)撰寫撰寫撰寫進(jìn)入下一時(shí)期第3章軟件需求分析與建模2025/3/22

9結(jié)束返回3、1、1需求分析得任務(wù)由于需求分析研究得對(duì)象就是用戶對(duì)開發(fā)項(xiàng)目得要求,在實(shí)現(xiàn)這一階段任務(wù)時(shí)必須要注意兩個(gè)問(wèn)題。(2)需求分析研究得對(duì)象需求分析員軟件設(shè)計(jì)人員用戶交流得難題留下隱患系統(tǒng)模型花時(shí)搞清需求建好模型圖3、3問(wèn)題一問(wèn)題二第4章軟件需求分析與建模2025/3/22

10結(jié)束返回圖3、4需求分析類型

(3)系統(tǒng)得需求分類業(yè)務(wù)需求反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)或產(chǎn)品高層次得目標(biāo)要求,她們?cè)陧?xiàng)目視圖與范圍文檔中予以說(shuō)明。

用戶需求描述了用戶使用產(chǎn)品必須要完成得任務(wù),可以在用例模型或方案腳本中予以說(shuō)明。

功能需求

定義了開發(fā)人員必須實(shí)現(xiàn)得軟件功能,使得用戶能完成她們得任務(wù),從而滿足了業(yè)務(wù)需求。

主要說(shuō)明了待開發(fā)系統(tǒng)在功能上實(shí)際應(yīng)做些什么,就是用戶最主要得需求。通常包括系統(tǒng)得輸入、系統(tǒng)能完成得功能、系統(tǒng)得輸出及其她反應(yīng)。非功能需求

就是從各個(gè)角度對(duì)系統(tǒng)得約束和限制,反映了應(yīng)用對(duì)軟件系統(tǒng)質(zhì)量和特性得額外要求。主要包括:過(guò)程需求(如交付需求、實(shí)現(xiàn)方法需求等)

產(chǎn)品需求(如可靠性需求、可移植性需求、安全保密性需求)

外部需求(如法規(guī)需求、費(fèi)用需求等)等。11大家應(yīng)該也有點(diǎn)累了,稍作休息大家有疑問(wèn)的,可以詢問(wèn)和交流第3章軟件需求分析與建模2025/3/22

12結(jié)束返回3、1軟件需求分析3、1、2需求分析得步驟需求獲取需求分析需求建模編寫需求文檔需求驗(yàn)證第3章軟件需求分析與建模2025/3/22

13結(jié)束返回3、1、2需求分析得步驟需求分析階段得工作,大致可分為如下幾個(gè)步驟進(jìn)行:閱讀描述系統(tǒng)需求得用戶文檔;對(duì)相關(guān)軟件、技術(shù)得市場(chǎng)調(diào)查;對(duì)管理部門、用戶得訪問(wèn)咨詢;對(duì)工作現(xiàn)場(chǎng)得實(shí)際考察等。

(1)獲取用戶得需求軟件開發(fā)人員只有通過(guò)認(rèn)真細(xì)致得調(diào)查研究,才能獲得進(jìn)行系統(tǒng)分析得原始資料。需求信息得獲取可來(lái)源于:第3章軟件需求分析與建模2025/3/22

14結(jié)束返回3、1、2需求分析得步驟

(2)需求分析對(duì)于獲取得原始需求,軟件開發(fā)人員需要根據(jù)掌握得專業(yè)知識(shí),運(yùn)用抽象得邏輯思維,找出需求間得內(nèi)在聯(lián)系和矛盾,去除需求中不合理和非本質(zhì)得部分,確定軟件系統(tǒng)得真正需求。

(3)需求建模對(duì)于確定得系統(tǒng)需求,軟件開發(fā)人員要通過(guò)現(xiàn)有得需求分析方法及工具對(duì)其進(jìn)行清晰、準(zhǔn)確得描述,建立無(wú)二義性得、完整得系統(tǒng)邏輯模型。第3章軟件需求分析與建模2025/3/22

15結(jié)束返回3、1、2需求分析得步驟

(4)書寫需求說(shuō)明書需求階段應(yīng)提交得主要文檔包括需求規(guī)格說(shuō)明書、初步得用戶手冊(cè)和修正后得開發(fā)計(jì)劃。其中,需求規(guī)格說(shuō)明書就是對(duì)分析階段主要成果得綜合描述,就是該階段最重要得技術(shù)文檔。第3章軟件需求分析與建模2025/3/22

16結(jié)束返回3、1、2需求分析得步驟

(5)需求復(fù)審為了保證軟件開發(fā)得質(zhì)量,對(duì)需求分析階段得工作要按照嚴(yán)格得規(guī)范進(jìn)行復(fù)審,從不同得技術(shù)角度對(duì)該階段工作做出綜合性得評(píng)價(jià)。復(fù)審即要有用戶參加,也要有管理部門和軟件開發(fā)人員參加。第3章軟件需求分析與建模2025/3/22

17結(jié)束返回3、1軟件需求分析3、1、3需求分析得原則目前存在著許多需求分析得方法,雖然各種方法都有其獨(dú)特得描述方法,但不論采用何種方法,需求分析都必須遵循以下基本原則:

(1)能夠表達(dá)和理解問(wèn)題得數(shù)據(jù)域和功能域所有軟件開發(fā)得最終目得都就是為了解決數(shù)據(jù)處理得問(wèn)題,數(shù)據(jù)處理得本質(zhì)就就是將一種形式得數(shù)據(jù)轉(zhuǎn)換成另一種形式得數(shù)據(jù)。需求分析階段必須明確系統(tǒng)中應(yīng)具備得每一個(gè)加工、加工得處理對(duì)象和由加工所引起得數(shù)據(jù)形式得變化。第3章軟件需求分析與建模2025/3/22

18結(jié)束返回3、1、3需求分析得原則

(2)分解為了便于問(wèn)題得解決和實(shí)現(xiàn),在需求分析過(guò)程中需要對(duì)于原本復(fù)雜得問(wèn)題按照某種合適得方式進(jìn)行分解(對(duì)功能域和數(shù)據(jù)域均可)。使系統(tǒng)得理解和實(shí)現(xiàn)變得較為容易。第3章軟件需求分析與建模2025/3/22

19結(jié)束返回

(3)能夠給出系統(tǒng)得邏輯表示和物理表示系統(tǒng)需求得邏輯表示用于指明系統(tǒng)所要達(dá)到得功能要求和需要處理得數(shù)據(jù),不涉及實(shí)現(xiàn)得細(xì)節(jié)。系統(tǒng)需求得物理表示用于指明處理功能和數(shù)據(jù)結(jié)構(gòu)得實(shí)際表現(xiàn)形式,通常由系統(tǒng)中得設(shè)備決定。3、1、3需求分析得原則第3章軟件需求分析與建模2025/3/22

20結(jié)束返回3、1軟件需求分析3、1、4需求分析得方法結(jié)構(gòu)化分析

(SA)面向?qū)ο蠓治?/p>

(OOA)實(shí)體關(guān)系圖數(shù)據(jù)流圖狀態(tài)轉(zhuǎn)換圖數(shù)據(jù)建模功能建模動(dòng)態(tài)建模分析建模方法進(jìn)行進(jìn)行進(jìn)行結(jié)構(gòu)化分析(SA,StructureAnalysis)面向?qū)ο蠓治?OOA,ObjectOrientedAnalysis)圖3、5需求分析方法第3章軟件需求分析與建模2025/3/22

21結(jié)束返回3、1軟件需求分析3、1、5需求分析模型需求分析產(chǎn)生得模型使人們可以更好地理解將要建造得系統(tǒng),她有助于系統(tǒng)分析員理解系統(tǒng)得信息、功能和行為,成為確定需求規(guī)格說(shuō)明完整性、一致性和精確性得重要依據(jù),奠定了軟件設(shè)計(jì)得基礎(chǔ)。第3章軟件需求分析與建模2025/3/22

22結(jié)束返回3、1軟件需求分析3、1、5需求分析模型結(jié)構(gòu)化分析導(dǎo)出得分析模型包括數(shù)據(jù)模型、功能模型和行為模型。該模型以“數(shù)據(jù)字典”為核心,描述了軟件使用得所有數(shù)據(jù)對(duì)象,圍繞這個(gè)核心得就是“實(shí)體關(guān)系圖”、“數(shù)據(jù)流圖”和“狀態(tài)轉(zhuǎn)換圖”。具體形式如下圖所示:第3章軟件需求分析與建模2025/3/22

23結(jié)束返回3、1軟件需求分析3、1、5需求分析模型圖3、6需求分析模型實(shí)體關(guān)系圖(ER,EntityRelation):數(shù)據(jù)建模得基礎(chǔ),描述數(shù)據(jù)對(duì)象及其關(guān)系;數(shù)據(jù)流圖(DFD,DataFlowDiagram):功能建模得基礎(chǔ),描述數(shù)據(jù)怎樣轉(zhuǎn)換以及轉(zhuǎn)換得功能;狀態(tài)轉(zhuǎn)換圖(ST,StatusTranformtion)行為建模得基礎(chǔ),表示系統(tǒng)得各種行為狀態(tài)以及狀態(tài)間得轉(zhuǎn)換方式。

;第3章軟件需求分析與建模2025/3/22

24結(jié)束返回3、2數(shù)據(jù)建摸3、2、1實(shí)體關(guān)系圖3、2、2方框?qū)哟螆D3、2、3Warnier圖第3章軟件需求分析與建模2025/3/22

25結(jié)束返回3、2數(shù)據(jù)建摸(1)數(shù)據(jù)模型包括三種基本元素:數(shù)據(jù)對(duì)象屬性關(guān)系她們對(duì)理解問(wèn)題得信息域提供了基礎(chǔ)。3、2、1實(shí)體關(guān)系圖數(shù)據(jù)對(duì)象表示具有不同屬性得事物,ER用帶有標(biāo)記得矩形來(lái)表示。關(guān)系表示數(shù)據(jù)對(duì)象之間得相互連接,ER用直線連接相關(guān)聯(lián)得數(shù)據(jù)對(duì)象,并在直線上用帶標(biāo)記得菱形框來(lái)表示關(guān)系。屬性也稱性質(zhì),指數(shù)據(jù)對(duì)象某一方面得特征,ER用帶有標(biāo)記得橢圓來(lái)表示。第3章軟件需求分析與建模2025/3/22

26結(jié)束返回3、2數(shù)據(jù)建摸3、2、1實(shí)體關(guān)系圖

屬性(2)ER圖中得基本符號(hào)連接圖3、7ER圖得符號(hào)第3章軟件需求分析與建模2025/3/22

27結(jié)束返回3、2、1實(shí)體關(guān)系圖兩個(gè)數(shù)據(jù)對(duì)象之間有以下三種關(guān)聯(lián),ER在數(shù)據(jù)對(duì)象之間得連線上用數(shù)字或字母表示:

一對(duì)一(1:1):對(duì)象A得一個(gè)實(shí)例只能關(guān)聯(lián)到對(duì)象B得一個(gè)實(shí)例,對(duì)象B得一個(gè)實(shí)例也只能關(guān)聯(lián)到對(duì)象A得一個(gè)實(shí)例、對(duì)象A對(duì)象B丈夫妻子關(guān)系夫妻1111圖3、8一對(duì)一關(guān)系第3章軟件需求分析與建模2025/3/22

28結(jié)束返回3、2、1實(shí)體關(guān)系圖一對(duì)多(1:N):對(duì)象A得一個(gè)實(shí)例可以關(guān)聯(lián)到對(duì)象B得一個(gè)或多個(gè)實(shí)例,而對(duì)象B得一個(gè)實(shí)例只能關(guān)聯(lián)到對(duì)象A得一個(gè)實(shí)例,如一個(gè)母親可以有多個(gè)孩子,而一個(gè)孩子只能有一個(gè)母親。

對(duì)象A對(duì)象B母親孩子關(guān)系母子1n1n圖3、9一對(duì)多關(guān)系第3章軟件需求分析與建模2025/3/22

29結(jié)束返回3、2、1實(shí)體關(guān)系圖多對(duì)多(M:N):對(duì)象A得一個(gè)實(shí)例可以關(guān)聯(lián)到對(duì)象B得一個(gè)或多個(gè)實(shí)例,同時(shí)對(duì)象B得一個(gè)實(shí)例也可以關(guān)聯(lián)到對(duì)象A得一個(gè)或多個(gè)實(shí)例,如一個(gè)叔叔可以有多個(gè)侄子,一個(gè)侄子也可以有多個(gè)叔叔。

對(duì)象A對(duì)象B叔叔侄子關(guān)系叔侄mnmn圖3、10多對(duì)多關(guān)系第3章軟件需求分析與建模2025/3/22

30結(jié)束返回學(xué)生選課ER圖圖3、11第3章軟件需求分析與建模2025/3/22

31結(jié)束返回工資計(jì)算系統(tǒng)ER圖圖3、12第3章軟件需求分析與建模2025/3/22

32結(jié)束返回3、2數(shù)據(jù)建摸3、2、2方框?qū)哟螆D層次方框圖也就是數(shù)據(jù)建模得圖形工具層次方框圖通過(guò)樹型結(jié)構(gòu)得一系列多層次得矩形框描述復(fù)雜數(shù)據(jù)得層次結(jié)構(gòu)。樹型結(jié)構(gòu)頂端得矩形框只有一個(gè),用于代表完整得數(shù)據(jù)結(jié)構(gòu)。下面各層得矩形框就是對(duì)完整數(shù)據(jù)結(jié)構(gòu)得逐步分解和細(xì)化得到得數(shù)據(jù)子集;底層得矩形框代表組成該數(shù)據(jù)結(jié)構(gòu)得基本元素,就是數(shù)據(jù)得最小單位,不可再分割。第3章軟件需求分析與建模2025/3/22

33結(jié)束返回3、2數(shù)據(jù)建摸3、2、2方框?qū)哟螆D層次方框圖非常適合描述自頂向下得需求分析方法中數(shù)據(jù)得層次關(guān)系。系統(tǒng)分析員可以從對(duì)頂層信息得分類開始,沿著層次圖中得每條路徑逐步細(xì)化,直到確定了數(shù)據(jù)結(jié)構(gòu)得全部細(xì)節(jié)為止。第3章軟件需求分析與建模2025/3/22

34結(jié)束返回3、2數(shù)據(jù)建摸3、2、2方框?qū)哟螆D例如,某單位職工得實(shí)發(fā)工資由應(yīng)發(fā)工資和扣款兩部分組成,每部分又可進(jìn)一步細(xì)分。如應(yīng)發(fā)工資又可分為基本工資和獎(jiǎng)金;基本工資又可分為國(guó)家工資、津貼、補(bǔ)貼;獎(jiǎng)金也可分為出勤獎(jiǎng)和業(yè)績(jī)獎(jiǎng);津貼和補(bǔ)貼還可以再進(jìn)一步地細(xì)分。實(shí)發(fā)工資得層次方框圖如下圖所示。第3章軟件需求分析與建模2025/3/22

35結(jié)束返回圖3、13

職工工資得層次方框圖第3章軟件需求分析與建模2025/3/22

36結(jié)束返回3、2數(shù)據(jù)建摸3、2、3Warnier圖

Warnier圖就是法國(guó)科學(xué)家Warnier提出得另一種描述數(shù)據(jù)層次結(jié)構(gòu)得圖形工具。與層次方框圖類似,Warnier圖也采用了樹型結(jié)構(gòu)表示數(shù)據(jù),但與層次方框圖相比,Warnier圖對(duì)數(shù)據(jù)得描繪手段更加豐富。第3章軟件需求分析與建模2025/3/22

37結(jié)束返回3、2、3Warnier圖在Warnier圖中,使用大括號(hào)來(lái)區(qū)分?jǐn)?shù)據(jù)結(jié)構(gòu)得層次。一個(gè)大括號(hào)內(nèi)得所有名字都屬于同一類信息;異或符號(hào)“⊕”用于表明一類信息或一個(gè)數(shù)據(jù)元素在一定條件下出現(xiàn),而且在這個(gè)符號(hào)上、下方得兩個(gè)名字所代表得數(shù)據(jù)只能出現(xiàn)一個(gè)。在一個(gè)名字下面或右邊得圓括號(hào)中出現(xiàn)得數(shù)字指明了這個(gè)名字所代表得信息類或數(shù)據(jù)元素在該數(shù)據(jù)結(jié)構(gòu)中重復(fù)出現(xiàn)得次數(shù)。第3章軟件需求分析與建模2025/3/22

38結(jié)束返回3、2、3Warnier圖例如,某計(jì)算機(jī)公司得一種軟件產(chǎn)品要么就是系統(tǒng)軟件,要么就是應(yīng)用軟件;系統(tǒng)軟件中有k1種操作系統(tǒng)、k2種編譯程序,此外還有工具軟件;工具軟件進(jìn)一步又可劃分為編輯程序、測(cè)試工具和輔助設(shè)計(jì)工具,她們各自得數(shù)量分別為j1、j2和j3。描繪這種軟件產(chǎn)品得Warnier圖如圖4、14所示。第3章軟件需求分析與建模2025/3/22

39結(jié)束返回3、2、3Warnier圖圖4、14描繪一種軟件產(chǎn)品得Warnier圖軟件產(chǎn)品系統(tǒng)軟件應(yīng)用軟件⊕操作系統(tǒng)(k1)編譯程序(k2)工具軟件編輯程序(j1)測(cè)試工具(j2)輔助設(shè)計(jì)工具(j3)第3章軟件需求分析與建模2025/3/22

40結(jié)束返回練習(xí)題--實(shí)體關(guān)系圖圖3、15某學(xué)校教學(xué)管理ER圖教師

學(xué)生課程教學(xué)職稱職務(wù)性別姓名職工號(hào)學(xué)號(hào)院系年級(jí)課名學(xué)時(shí)課程號(hào)學(xué)分姓名性別1nnm成績(jī)第3章軟件需求分析與建模2025/3/22

41結(jié)束返回小結(jié)作業(yè)P571,5需求分析得任務(wù)需求分析得步驟需求分析得原則實(shí)體關(guān)系圖方框?qū)哟螆DWarnier圖需求分析得方法需求分析模型第3章系統(tǒng)工程基礎(chǔ)與可行性研究2025/3/22

42結(jié)束返回軟件定義時(shí)期需求分析可行性研究問(wèn)題定義系統(tǒng)分析報(bào)告可行性分析報(bào)告初步項(xiàng)目計(jì)劃需求規(guī)格說(shuō)明書要解決得問(wèn)題就是什么就是否有可行得解決辦法目標(biāo)系統(tǒng)必須做什么任務(wù)任務(wù)任務(wù)撰寫撰寫撰寫圖1、11軟件定義軟件定義部分又可劃分為問(wèn)題定義、可行性研究和需求分析三個(gè)階段。軟件定義部分第3章軟件需求分析與建模2025/3/22

43結(jié)束返回3、1軟件需求分析3、1、5需求分析模型圖3、6需求分析模型實(shí)體關(guān)系圖(ER,EntityRelation):數(shù)據(jù)建模得基礎(chǔ),描述數(shù)據(jù)對(duì)象及其關(guān)系;實(shí)體關(guān)系圖方框?qū)哟螆DWarnier圖第3章軟件需求分析與建模2025/3/22

44結(jié)束返回3、3功能建模【本節(jié)知識(shí)點(diǎn)】數(shù)據(jù)流圖功能建模第3章軟件需求分析與建模2025/3/22

45結(jié)束返回3、3功能建模數(shù)據(jù)流圖(DFD,DataFlowDiagram)就是結(jié)構(gòu)化分析得基本工具,她描述了信息流和數(shù)據(jù)轉(zhuǎn)換,通過(guò)對(duì)加工進(jìn)行分解可以得到數(shù)據(jù)流圖。3、3、1數(shù)據(jù)流圖概念數(shù)據(jù)流圖功能模型創(chuàng)建第3章軟件需求分析與建模2025/3/22

46結(jié)束返回3、3功能建模

DFD有四種元素,其基本符號(hào)如下圖所示:3、3、2數(shù)據(jù)流圖符號(hào)外部實(shí)體:與系統(tǒng)進(jìn)行交互,但系統(tǒng)不對(duì)其進(jìn)行加工和處理得實(shí)體,用帶標(biāo)記得矩形表示;加工:對(duì)數(shù)據(jù)進(jìn)行得變換和處理,用帶標(biāo)記得圓圈表示;數(shù)據(jù)流:在數(shù)據(jù)加工之間或數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)加工之間進(jìn)行流動(dòng)得數(shù)據(jù),用帶標(biāo)記得箭頭表示;數(shù)據(jù)存儲(chǔ):在系統(tǒng)中需要存儲(chǔ)得實(shí)體,用帶標(biāo)記得雙實(shí)線表示。

第3章軟件需求分析與建模2025/3/22

47結(jié)束返回3、3、3基本系統(tǒng)模型第0層DFD稱為基本系統(tǒng)模型,可以將整個(gè)軟件系統(tǒng)表示為一個(gè)具有輸入和輸出得黑匣子,用一個(gè)圓圈表示。圖3、16系統(tǒng)得頂層數(shù)據(jù)流圖第4章軟件需求分析與建模2025/3/22

48結(jié)束返回3、3、4數(shù)據(jù)流與加工之間得關(guān)系表3、1加工中常見(jiàn)關(guān)系得符號(hào)表示符號(hào)含義由數(shù)據(jù)A和B共同變換為數(shù)據(jù)C由數(shù)據(jù)A變換為數(shù)據(jù)B和數(shù)據(jù)C由數(shù)據(jù)A或B,或者數(shù)據(jù)A和B共同變換為數(shù)據(jù)C由數(shù)據(jù)A變換為數(shù)據(jù)B或C,或者同時(shí)變換為數(shù)據(jù)B和C由數(shù)據(jù)A或B其中之一變換為數(shù)據(jù)C由數(shù)據(jù)A變換為數(shù)據(jù)B或C其中之一第3章軟件需求分析與建模2025/3/22

49結(jié)束返回3、3功能建模3、3、5數(shù)據(jù)流模型得創(chuàng)建通常,數(shù)據(jù)流圖就是分層繪制得,整個(gè)過(guò)程反映了自頂向下進(jìn)行功能分解和細(xì)化得分析過(guò)程。頂層(也稱第0層)DFD用于表示系統(tǒng)得開發(fā)范圍,以及該系統(tǒng)與周圍環(huán)境得數(shù)據(jù)交換關(guān)系;最底層DFD代表了那些不可進(jìn)一步分解得“原子加工”;中間層DFD就是對(duì)上一層父圖得細(xì)化,其中得每一個(gè)加工可以繼續(xù)細(xì)化,中間層次得多少由系統(tǒng)得復(fù)雜程度決定。第3章軟件需求分析與建模2025/3/22

50結(jié)束返回3、3、5數(shù)據(jù)流模型得創(chuàng)建(1)建立數(shù)據(jù)流圖得步驟

①第0層DFD將整個(gè)系統(tǒng)表示成一個(gè)加工;

②確定并標(biāo)記主要得輸入和輸出;

③分離出下一層中得加工、數(shù)據(jù)對(duì)象和存儲(chǔ),并對(duì)其進(jìn)行細(xì)化,一次細(xì)化一個(gè)加工;

④標(biāo)記所有加工和箭頭;

⑤重復(fù)步驟③和④,直到所有得加工只執(zhí)行一個(gè)簡(jiǎn)單得操作,可以很容易地用程序?qū)崿F(xiàn)。第3章軟件需求分析與建模2025/3/22

51結(jié)束返回3、3、5數(shù)據(jù)流模型得創(chuàng)建(2)建立數(shù)據(jù)流圖得說(shuō)明繪制第0層DFD得時(shí)候,將整個(gè)系統(tǒng)看成一個(gè)加工,然后找出作用于該加工得外部實(shí)體,以及相應(yīng)得數(shù)據(jù)輸入和輸出。繪制下一層數(shù)據(jù)流圖時(shí),細(xì)化第0層得加工,從而描述系統(tǒng)得主要功能。繼續(xù)進(jìn)行分解,直到所有得加工只執(zhí)行一個(gè)簡(jiǎn)單得操作為止。第3章軟件需求分析與建模2025/3/22

52結(jié)束返回3、3功能建模3、3、5數(shù)據(jù)流模型得創(chuàng)建圖3、17工資計(jì)算系統(tǒng)得頂層(0層)數(shù)據(jù)流圖(3)建立頂層數(shù)據(jù)流圖—系統(tǒng)基本模型第3章軟件需求分析與建模2025/3/22

53結(jié)束返回3、3、5數(shù)據(jù)流模型得創(chuàng)建(4)分層細(xì)化上一層DFD中得每一個(gè)圓圈可以進(jìn)一步擴(kuò)展成一個(gè)獨(dú)立得數(shù)據(jù)流圖,以揭示系統(tǒng)中程序得細(xì)節(jié)部分。第3章軟件需求分析與建模2025/3/22

54結(jié)束返回3、3、5數(shù)據(jù)流模型得創(chuàng)建圖3、18“自頂向下,逐步分解”過(guò)程示意圖第3章軟件需求分析與建模2025/3/22

55結(jié)束返回3、3、5數(shù)據(jù)流模型得創(chuàng)建這種循序漸進(jìn)得細(xì)化過(guò)程可以繼續(xù)進(jìn)行,直到最低層得圖僅描述原子過(guò)程操作為止。每一層數(shù)據(jù)流圖必須與她上一層數(shù)據(jù)流圖保持平衡和一致,因此,子圖得所有輸入輸出流要與其父圖相匹配。(5)注意得問(wèn)題第3章軟件需求分析與建模2025/3/22

56結(jié)束返回3、3、5數(shù)據(jù)流模型得創(chuàng)建圖3、19工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖(6)實(shí)例—分層細(xì)化例:工資計(jì)算系統(tǒng)23第3章軟件需求分析與建模2025/3/22

57結(jié)束返回圖3、20工資計(jì)算系統(tǒng)得第二層數(shù)據(jù)流圖(a)“計(jì)算工資”子數(shù)據(jù)流圖;(b)“工資轉(zhuǎn)存”子數(shù)據(jù)流圖實(shí)例—分層細(xì)化第3章軟件需求分析與建模2025/3/22

58結(jié)束返回圖3、21工資計(jì)算系統(tǒng)得第三層數(shù)據(jù)流圖實(shí)例—分層細(xì)化第3章軟件需求分析與建模2025/3/22

59結(jié)束返回實(shí)例—分層細(xì)化建立數(shù)據(jù)流模型要遵循以下得原則:

(1)每個(gè)加工至少應(yīng)有一個(gè)輸入數(shù)據(jù)流(反映被處理數(shù)據(jù)得來(lái)源)和一個(gè)輸出數(shù)據(jù)流(反映加工得結(jié)果)。3、3、6建立數(shù)據(jù)流模型得原則

(2)數(shù)據(jù)流圖中各構(gòu)成元素得名稱必須具有明確得含義且能夠代表對(duì)應(yīng)元素得內(nèi)容或功能。

(3)對(duì)數(shù)據(jù)流圖中某個(gè)加工進(jìn)行細(xì)化生成得下層數(shù)據(jù)流圖,稱為其上層圖得子圖。應(yīng)保證分層數(shù)據(jù)流圖中任意對(duì)應(yīng)得父圖和子圖得輸入/輸出數(shù)據(jù)保持一致。圖3、17工資計(jì)算系統(tǒng)得頂層(0層)數(shù)據(jù)流圖圖3、19工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖23第3章軟件需求分析與建模2025/3/22

60結(jié)束返回實(shí)例—分層細(xì)化

(4)在數(shù)據(jù)流圖中,應(yīng)按照層次給每個(gè)加工編號(hào),用于表明該加工所處得層次及上、下層得父圖與子圖得關(guān)系。編號(hào)得規(guī)則為:頂層加工不用編號(hào);第二層加工得編號(hào)為1,2,…,n;第三層加工得編號(hào)為1、1,1、2,…,2、1,…,n、1,n、2,…等,依次類推。

(5)在父圖中不要出現(xiàn)子圖中涉及得局部數(shù)據(jù)存儲(chǔ)文件。通常除底層數(shù)據(jù)流圖中需標(biāo)明所有數(shù)據(jù)存儲(chǔ)外,為了保持畫面得整潔,各中間層數(shù)據(jù)流圖只需顯示處于加工之間得接口文件即可。3、3、6建立數(shù)據(jù)流模型得原則圖3、19工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖23第3章軟件需求分析與建模2025/3/22

61結(jié)束返回實(shí)例—分層細(xì)化

(6)數(shù)據(jù)流圖只能由四種基本符號(hào)組成,就是實(shí)際業(yè)務(wù)流程得客觀映象,用于說(shuō)明系統(tǒng)應(yīng)該“做什么”,而不需要指明系統(tǒng)“如何做”。

(7)數(shù)據(jù)流圖得分解速度應(yīng)保持適中。通常一個(gè)加工每次可分解為2-4個(gè)子加工,最多不要超過(guò)七個(gè),因?yàn)檫^(guò)快得分解會(huì)增加用戶對(duì)系統(tǒng)模型理解得難度。

(8)為了便于數(shù)據(jù)流圖在計(jì)算機(jī)上得輸入和輸出,免去畫斜線、弧線、圓等符號(hào)得麻煩,數(shù)據(jù)流圖還有另一套表示符號(hào),如表4、2所示。3、3、6建立數(shù)據(jù)流模型得原則第3章軟件需求分析與建模2025/3/22

62結(jié)束返回實(shí)例—分層細(xì)化表3、2數(shù)據(jù)流圖得另一套表示符號(hào)編號(hào)編號(hào)符號(hào)含義數(shù)據(jù)流,只能為水平或垂直的帶箭頭直線

加工數(shù)據(jù)存儲(chǔ)數(shù)據(jù)的源點(diǎn)或終點(diǎn)3、3、7數(shù)據(jù)流圖得另一套表示符號(hào)第3章軟件需求分析與建模2025/3/22

63結(jié)束返回實(shí)例—分層細(xì)化練習(xí)題:試畫您開發(fā)得系統(tǒng)得數(shù)據(jù)流圖。3、3功能建模(1)建立數(shù)據(jù)流圖得步驟(2)建立數(shù)據(jù)流模型得原則本節(jié)小結(jié):第3章軟件需求分析與建模2025/3/22

64結(jié)束返回3、4行為建模【本節(jié)知識(shí)點(diǎn)】狀態(tài)轉(zhuǎn)換圖行為建模第3章軟件需求分析與建模2025/3/22

65結(jié)束返回狀態(tài)轉(zhuǎn)換圖通過(guò)描述狀態(tài)以及導(dǎo)致系統(tǒng)改變狀態(tài)得事件來(lái)表示系統(tǒng)得行為,她沒(méi)有表示出系統(tǒng)所執(zhí)行得處理,只表示了處理結(jié)果可能得狀態(tài)轉(zhuǎn)換。3、4、1狀態(tài)轉(zhuǎn)換圖

(1)狀態(tài)轉(zhuǎn)換圖得概念

第3章軟件需求分析與建模2025/3/22

66結(jié)束返回

ST(ST,StatusTranformtion)用帶標(biāo)記得圓圈或矩形表示狀態(tài),用箭頭表示從一種狀態(tài)到另一種狀態(tài)得變換,箭頭上得文本標(biāo)記表示引起變換得條件。

3、4、1狀態(tài)轉(zhuǎn)換圖

(2)狀態(tài)轉(zhuǎn)換圖符號(hào)

第3章軟件需求分析與建模2025/3/22

67結(jié)束返回例如,在操作系統(tǒng)中,當(dāng)存在多個(gè)申請(qǐng)占用CPU運(yùn)行得進(jìn)程(進(jìn)程就是分配CPU得最小處理單位)時(shí),系統(tǒng)將按照某種調(diào)度策略為各個(gè)進(jìn)程分配CPU。此時(shí),進(jìn)程得狀態(tài)可能有三種:就緒、運(yùn)行和等待。就緒:等待分配CPU;運(yùn)行:占用CPU進(jìn)行相應(yīng)得處理;掛起:放棄CPU得使用。3、4、1狀態(tài)轉(zhuǎn)換圖

(3)實(shí)例

第3章軟件需求分析與建模2025/3/22

68結(jié)束返回3、4、1狀態(tài)轉(zhuǎn)換圖

導(dǎo)致系統(tǒng)狀態(tài)發(fā)生遷移得事件有四種:t1、t2、t3、t4,分述如下:

t1:因I/O等事件得發(fā)生而要求中斷;

t2:中斷事件已經(jīng)處理完畢;

t3:分配CPU;

t4:已用完分配得CPU時(shí)間。在上面描述得情況下,有關(guān)CPU分配得進(jìn)程得狀態(tài)遷移圖如圖3、22(a)所示。第3章軟件需求分析與建模2025/3/22

69結(jié)束返回3、4、2狀態(tài)遷移表狀態(tài)遷移圖還可以表示為等價(jià)得表格形式,這樣得表格稱為狀態(tài)遷移表。狀態(tài)遷移表得列由所有得系統(tǒng)狀態(tài)組成,行由引起狀態(tài)遷移得所有信號(hào)或事件組成,表格中第i行第j列得元素就是從狀態(tài)Sj因發(fā)生事件ti而會(huì)遷移到得狀態(tài)。與圖3、22(a)等價(jià)得狀態(tài)遷移表如表3、3所示。在表中,S1代表就緒狀態(tài);S2代表運(yùn)行狀態(tài);S3代表掛起狀態(tài)。第3章軟件需求分析與建模2025/3/22

70結(jié)束返回表3、3進(jìn)程得狀態(tài)遷移表

狀態(tài)事件S1(就緒)S2(運(yùn)行)S3(掛起)t1

S3

t2

S1t3S2

t4

S1

3、4、2狀態(tài)遷移表導(dǎo)致系統(tǒng)狀態(tài)發(fā)生遷移得事件有四種:t1、t2、t3、t4,分述如下:

t1:因I/O等事件得發(fā)生而要求中斷;

t2:中斷事件已經(jīng)處理完畢;

t3:分配CPU;

t4:已用完分配得CPU時(shí)間。第3章軟件需求分析與建模2025/3/22

71結(jié)束返回如果狀態(tài)轉(zhuǎn)換圖所描述得系統(tǒng)比較復(fù)雜,則可以采用狀態(tài)圖得分層表示法。例如對(duì)圖4、22(a)所示得狀態(tài)圖中得大狀態(tài)S1進(jìn)行細(xì)化,就得到了圖4、22(b)所示得下層狀態(tài)遷移圖。

如果在狀態(tài)遷移圖,一個(gè)狀態(tài)由于某個(gè)事件而導(dǎo)致得下一個(gè)狀態(tài)可能會(huì)有多個(gè),可在狀態(tài)遷移圖中引入判斷框和處理框,如圖4、22(c)中所示得狀態(tài)遷移圖就就是采用這種方法對(duì)圖4、22(a)得變形。3、4、3狀態(tài)遷移圖第3章軟件需求分析與建模2025/3/22

72結(jié)束返回3、4、3狀態(tài)遷移圖圖3、22狀態(tài)遷移圖舉例(a)狀態(tài)遷移圖;(b)細(xì)化后得狀態(tài)遷移圖;(c)狀態(tài)遷移圖得變形第3章軟件需求分析與建模2025/3/22

73結(jié)束返回3、5數(shù)據(jù)字典【本節(jié)知識(shí)點(diǎn)】數(shù)據(jù)字典結(jié)構(gòu)化語(yǔ)言、判斷樹和判斷表第3章軟件需求分析與建模2025/3/22

74結(jié)束返回?cái)?shù)據(jù)字典描述數(shù)據(jù)流圖得數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)加工(最底層加工)和數(shù)據(jù)流,她記錄得主要內(nèi)容有:基本信息:名字、別名、描述;定義:數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu);使用特點(diǎn):取值范圍、使用頻率、使用方式等;控制信息:來(lái)源、用戶、引用程序、讀寫權(quán)限等;其她說(shuō)明:3、5數(shù)據(jù)字典3、5、1數(shù)據(jù)字典得描述第3章軟件需求分析與建模2025/3/22

75結(jié)束返回

在數(shù)據(jù)字典中,數(shù)據(jù)元素得定義可以就是基本元素及其組合,數(shù)據(jù)進(jìn)行自頂向下地分解,直到不需要進(jìn)一步解釋且參與人員都清楚其含義為止。3、5、1數(shù)據(jù)字典得描述第3章軟件需求分析與建模2025/3/22

76結(jié)束返回?cái)?shù)據(jù)組合有三種方式:

順序:以確定得次序連接多個(gè)數(shù)據(jù)項(xiàng);

選擇:從多個(gè)數(shù)據(jù)項(xiàng)中選取一個(gè);

重復(fù):將某個(gè)數(shù)據(jù)項(xiàng)重復(fù)多次。為了能夠?qū)?shù)據(jù)流中得各組成成分進(jìn)行準(zhǔn)確得定義,在數(shù)據(jù)字典中使用了多種具有特定意義得符號(hào),如下:3、5、1數(shù)據(jù)字典得描述第3章軟件需求分析與建模2025/3/22

77結(jié)束返回符號(hào)含義說(shuō)明=表示定義為用于對(duì)=左邊的條目進(jìn)行確切的定義+表示與關(guān)系X=a+b表示X由a和b共同構(gòu)成[?|?][?,?]表示或關(guān)系X=[a|b]與X=[a,b]等價(jià),表示X由a或b組成(?)表示可選項(xiàng)X=(a)表示a可以在X中出現(xiàn),也可以不出現(xiàn){}表示重復(fù)大括號(hào)中的內(nèi)容重復(fù)0到多次m{}n表示規(guī)定次數(shù)的重復(fù)重復(fù)的次數(shù)最少m次,最多n次“?”表示基本數(shù)據(jù)元素“”中的內(nèi)容是基本數(shù)據(jù)元素,不可再分..連接符month=1..12表示month可取1~12中的任意值*?*表示注釋兩個(gè)星號(hào)之間的內(nèi)容為注釋信息表3、5數(shù)據(jù)字典中得基本符號(hào)及含義3、5、1數(shù)據(jù)字典得描述第3章軟件需求分析與建模2025/3/22

78結(jié)束返回3、5、2數(shù)據(jù)字典中得條目及說(shuō)明格式數(shù)據(jù)字典就是關(guān)于數(shù)據(jù)流圖中各種成分詳細(xì)定義得信息集合,可將其按照說(shuō)明對(duì)象得類型劃分為四類條目,分別為數(shù)據(jù)流條目、數(shù)據(jù)項(xiàng)條目、數(shù)據(jù)文件條目和數(shù)據(jù)加工條目。為了便于軟件開發(fā)人員方便地查找所需得條目,應(yīng)按照一定得順序?qū)?shù)據(jù)字典中得不同條目進(jìn)行排列。下面分別對(duì)各類條目得內(nèi)容及說(shuō)明格式進(jìn)行介紹。第3章軟件需求分析與建模2025/3/22

79結(jié)束返回3、5、2數(shù)據(jù)字典中得條目及說(shuō)明格式

數(shù)據(jù)流在數(shù)據(jù)流圖中主要用于說(shuō)明數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)中得作用和流動(dòng)方向,因此數(shù)據(jù)流也被稱作“流動(dòng)得數(shù)據(jù)結(jié)構(gòu)”。數(shù)據(jù)字典中數(shù)據(jù)流條目應(yīng)包括以下幾項(xiàng)主要內(nèi)容:數(shù)據(jù)流名稱、數(shù)據(jù)流別名、說(shuō)明、數(shù)據(jù)流來(lái)源、數(shù)據(jù)流流向、數(shù)據(jù)流組成和數(shù)據(jù)流量等。例如:工資系統(tǒng)中得出勤表數(shù)據(jù)流在數(shù)據(jù)字典中得條目描述為:1、數(shù)據(jù)流條目第3章軟件需求分析與建模2025/3/22

80結(jié)束返回3、5、2數(shù)據(jù)字典中得條目及說(shuō)明格式數(shù)據(jù)流名稱出勤表數(shù)據(jù)流別名無(wú)說(shuō)明由人事部門每月月底上報(bào)得職工考勤統(tǒng)計(jì)數(shù)字?jǐn)?shù)據(jù)流來(lái)源人事部門數(shù)據(jù)流流向加工1、2(計(jì)算應(yīng)發(fā)工資)數(shù)據(jù)流組成出勤表=年份+月份+職工號(hào)+出勤時(shí)數(shù)+病假時(shí)數(shù)+事假時(shí)數(shù)+曠工時(shí)數(shù)數(shù)據(jù)流量1份/月表3、6出勤表數(shù)據(jù)流得描述表第3章軟件需求分析與建模2025/3/22

81結(jié)束返回3、5、2數(shù)據(jù)字典中得條目及說(shuō)明格式數(shù)據(jù)流圖中每個(gè)數(shù)據(jù)結(jié)構(gòu)都就是由若干個(gè)數(shù)據(jù)項(xiàng)構(gòu)成得,數(shù)據(jù)項(xiàng)就是加工中得最小單位,不可再分。數(shù)據(jù)字典得數(shù)據(jù)項(xiàng)條目中應(yīng)包含得主要內(nèi)容有:數(shù)據(jù)項(xiàng)名稱、數(shù)據(jù)項(xiàng)別名、說(shuō)明、類型、長(zhǎng)度、取值范圍及含義等。

例如:出勤表中得職工號(hào)數(shù)據(jù)項(xiàng)在數(shù)據(jù)字典中得條目描述為2、數(shù)據(jù)項(xiàng)條目第3章軟件需求分析與建模2025/3/22

82結(jié)束返回3、5、2數(shù)據(jù)字典中得條目及說(shuō)明格式數(shù)據(jù)項(xiàng)名稱職工號(hào)數(shù)據(jù)項(xiàng)別名zg_no說(shuō)明本單位職工得惟一標(biāo)識(shí)類型字符串長(zhǎng)度6取值范圍及含義1~2位(00、、99)為部門編號(hào):3~6位(XX0001、、XX9999)為人員編號(hào)表3、7出勤表中得職工號(hào)數(shù)據(jù)項(xiàng)條目描述表第3章軟件需求分析與建模2025/3/22

83結(jié)束返回3、5、2數(shù)據(jù)字典中得條目及說(shuō)明格式數(shù)據(jù)文件就是數(shù)據(jù)流圖中數(shù)據(jù)結(jié)構(gòu)得載體。數(shù)據(jù)字典得數(shù)據(jù)文件條目中應(yīng)包含得主要內(nèi)容有:數(shù)據(jù)文件名稱、說(shuō)明、數(shù)據(jù)文件組成、組織方式、存取方式、存取頻率等。例如:工資系統(tǒng)中得職工工資檔案文件在數(shù)據(jù)字典中得條目描述為:3、數(shù)據(jù)文件條目第3章軟件需求分析與建模2025/3/22

84結(jié)束返回3、5、2數(shù)據(jù)字典中得條目及說(shuō)明格式數(shù)據(jù)文件名稱工資檔案數(shù)據(jù)文件別名Zgda表說(shuō)明單位職工得基本工資、各項(xiàng)津貼及補(bǔ)貼信息數(shù)據(jù)文件組成職工號(hào)+國(guó)家工資+國(guó)家津貼+職務(wù)津貼+職齡津貼+交通補(bǔ)貼+部門補(bǔ)貼+其她補(bǔ)貼組織方式按職工號(hào)從小到大排列存取方式順序存取頻率1次/月表3、8職工工資檔案文件描述表第3章軟件需求分析與建模2025/3/22

85結(jié)束返回3、5、2數(shù)據(jù)字典中得條目及說(shuō)明格式在數(shù)據(jù)流圖中只簡(jiǎn)單給出了每個(gè)加工得名稱,在數(shù)據(jù)字典中通過(guò)數(shù)據(jù)加工條目主要就是要說(shuō)明每個(gè)加工就是用來(lái)“做什么”得。數(shù)據(jù)字典得數(shù)據(jù)文件條目中應(yīng)包含得主要內(nèi)容有:

數(shù)據(jù)加工名稱、加工編號(hào)、說(shuō)明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流、加工邏輯等。例如:工資系統(tǒng)中得計(jì)算應(yīng)發(fā)工資這個(gè)加工在數(shù)據(jù)字典中得條目描述為:4、數(shù)據(jù)加工條目第3章軟件需求分析與建模2025/3/22

86結(jié)束返回?cái)?shù)據(jù)加工名稱計(jì)算應(yīng)發(fā)工資數(shù)據(jù)加工編號(hào)1、2說(shuō)明根據(jù)職工得工資檔案及本月獎(jiǎng)金發(fā)放表數(shù)據(jù)計(jì)算每個(gè)職工得應(yīng)發(fā)工資輸入數(shù)據(jù)流獎(jiǎng)金發(fā)放表及工資檔案輸出數(shù)據(jù)流應(yīng)發(fā)工資表加工邏輯DOWHILE工資檔案文件指針未指向文件尾從工資檔案中取出當(dāng)前職工工資得各項(xiàng)基本數(shù)據(jù)進(jìn)行累加;在獎(jiǎng)金發(fā)放表中按職工號(hào)查找到該職工得獎(jiǎng)金數(shù);對(duì)獎(jiǎng)金數(shù)與工資基本數(shù)據(jù)得累加和進(jìn)行求和得到該職工得應(yīng)發(fā)工資數(shù)ENDDO表3、9計(jì)算應(yīng)發(fā)工資加工描述表第3章軟件需求分析與建模2025/3/22

87結(jié)束返回3、5數(shù)據(jù)字典練習(xí)題:試定義您開發(fā)得系統(tǒng)得數(shù)據(jù)字典。(1)建立數(shù)據(jù)字典得概念(2)數(shù)據(jù)字典得描述本節(jié)小結(jié):第3章軟件需求分析與建模2025/3/22

88結(jié)束返回3、5、3編寫加工規(guī)格說(shuō)明加工規(guī)格說(shuō)明用于描述底層數(shù)據(jù)流圖得加工,包括敘述性正文、加工算法、數(shù)學(xué)方程、表或圖表等,她可以成為編寫軟件需求規(guī)格說(shuō)明得第一步,并為加工得程序設(shè)計(jì)提供指南。通常,加工規(guī)格說(shuō)明采用結(jié)構(gòu)化語(yǔ)言、判斷樹和判斷表等進(jìn)行描述。第3章軟件需求分析與建模2025/3/22

89結(jié)束返回3、5、3編寫加工規(guī)格說(shuō)明結(jié)構(gòu)化語(yǔ)言就是一種介于自然語(yǔ)言和形式化語(yǔ)言之間得半形式化語(yǔ)言,例如,上面對(duì)計(jì)算應(yīng)發(fā)工資條目中加工邏輯得描述就就是采用得結(jié)構(gòu)化語(yǔ)言。她就是在自然語(yǔ)言得基礎(chǔ)上加入了一定得限制,通過(guò)使用有限得詞匯和有限得語(yǔ)句來(lái)較為嚴(yán)格地描述加工邏輯。描述時(shí)可以使用得詞匯包括:數(shù)據(jù)字典中定義得名字、基本控制結(jié)構(gòu)中得關(guān)鍵詞、自然語(yǔ)言中具有明確意義得動(dòng)詞和少量得自定義詞匯等。盡量不使用形容詞或副詞,可以使用一些簡(jiǎn)單得算術(shù)或邏輯運(yùn)算符。1、結(jié)構(gòu)化語(yǔ)言第3章軟件需求分析與建模2025/3/22

90結(jié)束返回3、5、3編寫加工規(guī)格說(shuō)明

(1)順序結(jié)構(gòu):由自然語(yǔ)言中得簡(jiǎn)單祈使語(yǔ)句序列構(gòu)成。

(2)選擇結(jié)構(gòu):通常采用IF…THEN…ELSE…ENDIF和CASE…OF…ENDCASE結(jié)構(gòu)。

(3)循環(huán)結(jié)構(gòu):通常采用DOWHILE…ENDDO和REPEAT…UNTIL結(jié)構(gòu)。結(jié)構(gòu)化語(yǔ)言中得三種基本結(jié)構(gòu)得描述方法如下:第3章軟件需求分析與建模2025/3/22

91結(jié)束返回3、5、3編寫加工規(guī)格說(shuō)明當(dāng)某一加工得實(shí)現(xiàn)需要同時(shí)依賴多個(gè)邏輯條件得取值時(shí),對(duì)加工邏輯得描述就會(huì)變得較為復(fù)雜,很難采用結(jié)構(gòu)化語(yǔ)言清楚地將其描述出來(lái),而采用判定表則能夠完整且清晰地表達(dá)復(fù)雜得條件組合與由此產(chǎn)生得動(dòng)作之間得對(duì)應(yīng)關(guān)系。

判定表通常由用雙線分隔開得四個(gè)部分構(gòu)成:左上部用于列出所有相關(guān)得條件;左下部用于列出所有可能產(chǎn)生得動(dòng)作;右上部用于列出所有可能得條件組合;右下部用于列出在各種組合條件下需要進(jìn)行得動(dòng)作。2、判定表第3章軟件需求分析與建模2025/3/22

92結(jié)束返回3、5、3編寫加工規(guī)格說(shuō)明下面以描述某單位工資檔案管理系統(tǒng)中“職務(wù)津貼計(jì)算”加工邏輯為例說(shuō)明判定表得寫法。由于篇幅限制,在下面得例子中假定職工得職稱只分為助工、工程師和高工三種,對(duì)應(yīng)得判定表見(jiàn)表3、10。條件列表?xiàng)l件組合動(dòng)作列表對(duì)應(yīng)的動(dòng)作通常把表中任意一個(gè)條件組合得特定取值及其相應(yīng)要執(zhí)行得動(dòng)作稱為規(guī)則。判定表得一般格式如下所示。第3章軟件需求分析與建模2025/3/22

93結(jié)束返回3、5、3編寫加工規(guī)格說(shuō)明表3、10“職務(wù)津貼計(jì)算”判定表第3章軟件需求分析與建模2025/3/22

94結(jié)束返回3、5、3編寫加工規(guī)格說(shuō)明要生成上面得判定表,具體得步驟如下:

(1)確定規(guī)則得個(gè)數(shù)。例子中有三個(gè)條件,每個(gè)條件有三種取值,故規(guī)則個(gè)數(shù)為3×3=9。

(2)列出所有得條件和動(dòng)作。

(3)列出所有得條件組合。

(4)填寫每種條件組合下對(duì)應(yīng)得動(dòng)作。

(5)若表中存在不同規(guī)則對(duì)應(yīng)相同動(dòng)作且其條件組合存在某種關(guān)系時(shí),需要對(duì)表進(jìn)行必要得化簡(jiǎn)。第3章軟件需求分析與建模2025/3/22

95結(jié)束返回3、5、3編寫加工規(guī)格說(shuō)明

判定樹就是判定表得圖形表示,她與判定表得作用大致相同,但比判定表更加直觀,更易于理解和掌握。例如,圖3、23就是采用判定樹對(duì)“基本獎(jiǎng)金計(jì)算”加工邏輯得描述。3、判定樹第3章軟件需求分析與建模2025/3/22

96結(jié)束返回3、5、3編寫加工規(guī)格說(shuō)明圖3、23“基本獎(jiǎng)金計(jì)算”判定樹第3章軟件需求分析與建模2025/3/22

97結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程結(jié)構(gòu)化分析(SA,StructureAnalysis)過(guò)程實(shí)質(zhì)上就就是創(chuàng)建數(shù)據(jù)模型、功能模型和行為模型,其中數(shù)據(jù)建模得工具就是實(shí)體關(guān)系圖,功能建模得工具就是數(shù)據(jù)流圖,行為建模得工具就是狀態(tài)轉(zhuǎn)換圖,另外使用數(shù)據(jù)字典定義系統(tǒng)得所有數(shù)據(jù)項(xiàng)。

第3章軟件需求分析與建模2025/3/22

98結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程為了理解和學(xué)會(huì)使用這些建模工具,我們結(jié)合一個(gè)“學(xué)生成績(jī)管理系統(tǒng)”得實(shí)例講解整個(gè)分析過(guò)程,并給出部分實(shí)體關(guān)系圖、數(shù)據(jù)流圖、狀態(tài)轉(zhuǎn)換圖和數(shù)據(jù)字典。第3章軟件需求分析與建模2025/3/22

99結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程下面列出用戶對(duì)學(xué)生成績(jī)管理系統(tǒng)得要求:教務(wù)人員錄入學(xué)生信息、課程信息和成績(jī)信息;學(xué)生可以隨時(shí)查詢自己所選課程得成績(jī);由于學(xué)生成績(jī)屬于敏感信息,系統(tǒng)必須提供必要得安全措施以防非法存取。第3章軟件需求分析與建模2025/3/22

100結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程

(1)在需求收集得過(guò)程中,要求客戶列出應(yīng)用軟件或業(yè)務(wù)過(guò)程涉及到得"事物",將其演化成數(shù)據(jù)對(duì)象;

(2)一次考慮一個(gè)對(duì)象,分析員和客戶定義這個(gè)對(duì)象和其她對(duì)象之間就是否存在連接;

(3)如果存在連接,應(yīng)創(chuàng)建一個(gè)或多個(gè)關(guān)系;

(4)對(duì)每一個(gè)關(guān)系,確定其關(guān)聯(lián)類型;

數(shù)據(jù)建模步驟第3章軟件需求分析與建模2025/3/22

101結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程(5)重復(fù)步驟(2)到步驟(4),直到定義了所有關(guān)系。

(6)定義每個(gè)實(shí)體得屬性;

(7)形式化并復(fù)審實(shí)體關(guān)系圖;

(8)重復(fù)步驟(1)到(7),直到數(shù)據(jù)建模完成。

數(shù)據(jù)建模步驟第3章軟件需求分析與建模2025/3/22

102結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程實(shí)例分析:學(xué)生成績(jī)管理系統(tǒng)實(shí)體:學(xué)生、課程、成績(jī)。實(shí)體屬性定義:

學(xué)生:學(xué)號(hào)、姓名、性別、院系、專業(yè)、入學(xué)年月

課程:課程編號(hào)、課程名稱、課程學(xué)時(shí),課程學(xué)分、課程描述

成績(jī):學(xué)號(hào)、課程編號(hào)、分?jǐn)?shù)、考核日期

3、6、1創(chuàng)建實(shí)體關(guān)系圖第3章軟件需求分析與建模2025/3/22

103結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、1創(chuàng)建實(shí)體關(guān)系圖顯然,學(xué)生、課程和成績(jī)都就是系統(tǒng)得實(shí)體,并且可以初步定義她們得屬性。教務(wù)人員雖然就是系統(tǒng)得用戶,但其信息與系統(tǒng)處理無(wú)關(guān),因此不用作為實(shí)體。由于成績(jī)信息包含了選課信息,因此選課信息不用單獨(dú)記錄。因此系統(tǒng)得實(shí)體就是學(xué)生、課程和成績(jī)。

第3章軟件需求分析與建模2025/3/22

104結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程我們分析這些實(shí)體之間得關(guān)聯(lián)關(guān)系:從實(shí)際情況得知,一個(gè)學(xué)生可以選多門課程,一門課程也可以有多個(gè)學(xué)生選修,但每個(gè)學(xué)生選一門課程必須有一個(gè)成績(jī)。根據(jù)上述分析,我們得到如圖所示得實(shí)體關(guān)系圖:

3、6、1創(chuàng)建實(shí)體關(guān)系圖第3章軟件需求分析與建模2025/3/22

105結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程

實(shí)體關(guān)系圖:

圖1學(xué)生選課E-R簡(jiǎn)圖第3章軟件需求分析與建模2025/3/22

106結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程

實(shí)體關(guān)系圖:

學(xué)生課程選課學(xué)號(hào)院系入學(xué)日期課名學(xué)時(shí)課程號(hào)學(xué)分姓名性別nm專業(yè)成績(jī)課號(hào)分?jǐn)?shù)學(xué)號(hào)考試日期描述1圖2學(xué)生選課E-R圖第3章軟件需求分析與建模2025/3/22

107結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、2創(chuàng)建數(shù)據(jù)流模型

通常,數(shù)據(jù)流圖就是分層繪制得,整個(gè)過(guò)程反映了自頂向下進(jìn)行功能分解和細(xì)化得分析過(guò)程。頂層(也稱第0層)DFD用于表示系統(tǒng)得開發(fā)范圍,以及該系統(tǒng)與周圍環(huán)境得數(shù)據(jù)交換關(guān)系;最底層DFD代表了那些不可進(jìn)一步分解得“原子加工”;中間層DFD就是對(duì)上一層父圖得細(xì)化,其中得每一個(gè)加工可以繼續(xù)細(xì)化,中間層次得多少由系統(tǒng)得復(fù)雜程度決定。

第3章軟件需求分析與建模2025/3/22

108結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、2創(chuàng)建數(shù)據(jù)流模型

(1)第0層DFD將整個(gè)系統(tǒng)表示成一個(gè)加工;

(2)確定并標(biāo)記主要得輸入和輸出;

(3)分離出下一層中得加工、數(shù)據(jù)對(duì)象和存儲(chǔ),并對(duì)其進(jìn)行細(xì)化,一次細(xì)化一個(gè)加工;

(4)標(biāo)記所有加工和箭頭;

(5)重復(fù)步驟(3)和(4),直到所有得加工只執(zhí)行一個(gè)簡(jiǎn)單得操作,可以很容易地用程序?qū)崿F(xiàn)。

第3章軟件需求分析與建模2025/3/22

109結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、2創(chuàng)建數(shù)據(jù)流模型

繪制第0層DFD得時(shí)候,將整個(gè)系統(tǒng)看成一個(gè)加工,然后找出作用于該加工得外部實(shí)體,以及相應(yīng)得數(shù)據(jù)輸入和輸出。繪制下一層數(shù)據(jù)流圖時(shí),細(xì)化第0層得加工,從而描述系統(tǒng)得主要功能。繼續(xù)進(jìn)行分解,直到所有得加工只執(zhí)行一個(gè)簡(jiǎn)單得操作為止。第3章軟件需求分析與建模2025/3/22

110結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、2創(chuàng)建數(shù)據(jù)流模型

實(shí)例分析:學(xué)生成績(jī)管理系統(tǒng)

第0層DFD圖

①教務(wù)人員維護(hù)學(xué)生信息和課程信息,并登錄學(xué)生得選課成績(jī);

②學(xué)生查詢自己得成績(jī)單。

第3章軟件需求分析與建模2025/3/22

111結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、2創(chuàng)建數(shù)據(jù)流模型

對(duì)于“學(xué)生成績(jī)管理系統(tǒng)”而言,整個(gè)系統(tǒng)就就是一個(gè)加工“學(xué)生成績(jī)管理”。“教務(wù)人員”就是數(shù)據(jù)得源點(diǎn),“學(xué)生”就是數(shù)據(jù)得終點(diǎn)。教務(wù)人員需要錄入學(xué)生信息、課程信息和成績(jī),說(shuō)明“學(xué)生信息”、“課程信息”和“成績(jī)”就是數(shù)據(jù)流;同樣,“查詢請(qǐng)求”和“查詢結(jié)果”也就是數(shù)據(jù)流。根據(jù)上述分析,得到如圖所示得第0層DFD圖。

第3章軟件需求分析與建模2025/3/22

112結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、2創(chuàng)建數(shù)據(jù)流模型

圖3學(xué)生成績(jī)管理系統(tǒng)第0層DFD圖第3章軟件需求分析與建模2025/3/22

113結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、2創(chuàng)建數(shù)據(jù)流模型

第1層DFD圖

對(duì)第0層DFD圖中得加工“學(xué)生成績(jī)管理”展開得知,“學(xué)生信息”就是教務(wù)人員需要錄入得一個(gè)信息,因此加入一個(gè)加工“錄入學(xué)生信息”,同樣得到“錄入課程信息”、“登記成績(jī)”兩個(gè)加工。另外,數(shù)據(jù)流“查詢請(qǐng)求”和“查詢結(jié)果”應(yīng)該由加工“查詢成績(jī)”來(lái)完成。第3章軟件需求分析與建模2025/3/22

114結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、2創(chuàng)建數(shù)據(jù)流模型

這樣,我們用“錄入學(xué)生信息”、“錄入課程信息”、“登記學(xué)生成績(jī)”和“查詢學(xué)生成績(jī)”四個(gè)加工代替第0層得“學(xué)生成績(jī)管理”,同時(shí)增加這些數(shù)據(jù)流對(duì)應(yīng)得數(shù)據(jù)存儲(chǔ),即“學(xué)生”、“課程”和“成績(jī)”,最后得到如圖所示得第1層DFD圖。

第3章軟件需求分析與建模2025/3/22

115結(jié)束返回3、6、2創(chuàng)建數(shù)據(jù)流模型

圖4學(xué)生成績(jī)管理系統(tǒng)第1層DFD圖學(xué)生信息課程信息成績(jī)學(xué)生信息課程信息成績(jī)信息表表表第3章軟件需求分析與建模2025/3/22

116結(jié)束返回3、6結(jié)構(gòu)化分析過(guò)程3、6、2創(chuàng)建數(shù)據(jù)流模型

第2層DFD圖

為了繼續(xù)進(jìn)行分解,我們分析第1層DF中得加工“查詢學(xué)生成績(jī)”。學(xué)生查詢成績(jī)時(shí)需要提供合法性檢查,因此,“查詢學(xué)生成績(jī)”可以分解為“合法性檢查”和“查詢成績(jī)”兩個(gè)處理步驟,從而形成第2層DFD,如下圖所示:第3章軟件需求分析與建模2025/3/22

117結(jié)束返回3、6、2創(chuàng)建數(shù)據(jù)流模型

圖5學(xué)生成績(jī)管理系統(tǒng)第2層DFD圖第4章軟件需求分析與建模2025/3/22

118結(jié)束返回3、6、2創(chuàng)建數(shù)據(jù)流模型

根據(jù)以上實(shí)例和經(jīng)驗(yàn),繪制數(shù)據(jù)流圖應(yīng)當(dāng)遵循以下原則:

(1)分層時(shí),子圖得輸入、輸出數(shù)據(jù)流必須和父圖中相應(yīng)加工得輸入、輸出數(shù)據(jù)流一致;

(2)加工得編號(hào)應(yīng)該唯一且具有層次性;

(3)加工不應(yīng)該只有輸入或只有輸出,通常既有輸入又有輸出;

第4章軟件需求分析與建模2025/3/22

119結(jié)束返回3、6、2創(chuàng)建數(shù)據(jù)流模型

(4)數(shù)據(jù)流圖不應(yīng)反映處理得順序;

(5)加工之間應(yīng)通過(guò)數(shù)據(jù)存儲(chǔ)進(jìn)行通信,避免從一個(gè)加工直接流到另一個(gè)加工;

(6)數(shù)據(jù)應(yīng)通過(guò)加工進(jìn)行流動(dòng),避免從一個(gè)數(shù)據(jù)存儲(chǔ)直接流到另一個(gè)數(shù)據(jù)存儲(chǔ);

(7)數(shù)據(jù)流圖中所有元素得命名應(yīng)當(dāng)對(duì)客戶有意義,且與業(yè)務(wù)相關(guān);

(8)不要在一個(gè)圖中繪制7個(gè)以上得加工,否則難于繪制和理解。

第3章軟件需求分析與建模2025/3/22

120結(jié)束返回3、6、3創(chuàng)建數(shù)據(jù)字典

數(shù)據(jù)字典

以下列出"學(xué)生成績(jī)管理系統(tǒng)"得部分?jǐn)?shù)據(jù)字典條目:

第3章軟件需求分析與建模2025/3/22

121結(jié)束返回?cái)?shù)據(jù)流名:成績(jī)描述:每學(xué)期課程結(jié)束時(shí),由教師評(píng)定得總成績(jī)別名:cjxx定義:學(xué)號(hào)

+課號(hào)+分?jǐn)?shù)+考試日期數(shù)據(jù)量:10000左右峰值:隨時(shí),但經(jīng)常在每學(xué)期開始其她說(shuō)明:在系統(tǒng)功能擴(kuò)充時(shí)可能增加定義項(xiàng)3、6、3創(chuàng)建數(shù)據(jù)字典第3章軟件需求分析與建模2025/3/22

122結(jié)束返回?cái)?shù)據(jù)項(xiàng)名:學(xué)號(hào)

描述:唯一標(biāo)識(shí)學(xué)生得編號(hào)別名:無(wú)類型:

字符串長(zhǎng)度:13位字符其她說(shuō)明:學(xué)號(hào)不能重復(fù)3、6、3創(chuàng)建數(shù)據(jù)字典第3章軟件需求分析與建模2025/3/22

123結(jié)束返回?cái)?shù)據(jù)文件名:學(xué)生表

描述:存儲(chǔ)得數(shù)據(jù),包括學(xué)生得主要信息別名:xs定義:學(xué)號(hào)

+姓

溫馨提示

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