![軟件需求分析與建模演示文稿_第1頁](http://file4.renrendoc.com/view/a2c8cf12654b59ece31dc4dba8f9fd78/a2c8cf12654b59ece31dc4dba8f9fd781.gif)
![軟件需求分析與建模演示文稿_第2頁](http://file4.renrendoc.com/view/a2c8cf12654b59ece31dc4dba8f9fd78/a2c8cf12654b59ece31dc4dba8f9fd782.gif)
![軟件需求分析與建模演示文稿_第3頁](http://file4.renrendoc.com/view/a2c8cf12654b59ece31dc4dba8f9fd78/a2c8cf12654b59ece31dc4dba8f9fd783.gif)
![軟件需求分析與建模演示文稿_第4頁](http://file4.renrendoc.com/view/a2c8cf12654b59ece31dc4dba8f9fd78/a2c8cf12654b59ece31dc4dba8f9fd784.gif)
![軟件需求分析與建模演示文稿_第5頁](http://file4.renrendoc.com/view/a2c8cf12654b59ece31dc4dba8f9fd78/a2c8cf12654b59ece31dc4dba8f9fd785.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
軟件需求分析與建模演示文稿當(dāng)前第1頁\共有145頁\編于星期二\14點第章軟件需求分析與建模當(dāng)前第2頁\共有145頁\編于星期二\14點2023/6/15
3結(jié)束返回第3章軟件需求分析與建模3.1需求分析3.2數(shù)據(jù)建模3.3功能建模3.4行為建模3.6結(jié)構(gòu)化需求分析的若干技術(shù)3.5數(shù)據(jù)字典3.7驗證軟件需求當(dāng)前第3頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
4結(jié)束返回【難點、重點】本章的學(xué)習(xí)重點在于理解軟件需求的概念和重要性,熟悉需求開發(fā)和需求管理的基本思想和主要活動,掌握結(jié)構(gòu)化的分析方法;
難點是怎樣在實際的軟件項目中靈活運用這些思想和方法。當(dāng)前第4頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
5結(jié)束返回【學(xué)習(xí)目的】本章介紹需求分析的意義、概念和方法,了解結(jié)構(gòu)化分析方法和需求管理的關(guān)鍵活動;要求學(xué)會運用實體關(guān)系圖、數(shù)據(jù)流圖和狀態(tài)控制圖進行結(jié)構(gòu)化分析建模,能夠編寫軟件需求規(guī)格說明書。當(dāng)前第5頁\共有145頁\編于星期二\14點第3章軟件工程過程模型2023/6/15
6結(jié)束返回軟件需求分析的目的待開發(fā)項目的可行性分析的基礎(chǔ)上建立目標(biāo)系統(tǒng)的邏輯模型需求分析輸入輸出圖3.1需求分析的目的當(dāng)前第6頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
7結(jié)束返回3.1軟件需求分析3.1.1需求分析的任務(wù)3.1.2需求分析的步驟3.1.3需求分析的原則當(dāng)前第7頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
8結(jié)束返回3.1軟件需求分析3.1.1需求分析的任務(wù)
(1)需求分析的主要任務(wù)設(shè)計階段的依據(jù)需求分析階段軟件規(guī)格說明書生成、提交作為就是要通過軟件開發(fā)人員與用戶的交流和討論,準(zhǔn)確地獲取用戶對系統(tǒng)的具體要求,見圖1.11。理解需求圖3.2當(dāng)前第8頁\共有145頁\編于星期二\14點(1)軟件定義時期軟件定義部分又可劃分為問題定義、可行性研究和需求分析三個階段。軟件定義時期需求分析可行性研究問題定義系統(tǒng)分析報告可行性分析報告初步項目計劃需求規(guī)格說明書1.3軟件生存期(softwarelifecycle)要解決的問題是什么是否有可行的解決辦法目標(biāo)系統(tǒng)必須做什么圖1.11
第1章軟件工程引論任務(wù)任務(wù)任務(wù)撰寫撰寫撰寫進入下一時期當(dāng)前第9頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
10結(jié)束返回3.1.1需求分析的任務(wù)由于需求分析研究的對象是用戶對開發(fā)項目的要求,在實現(xiàn)這一階段任務(wù)時必須要注意兩個問題。(2)需求分析研究的對象需求分析員軟件設(shè)計人員用戶交流的難題留下隱患系統(tǒng)模型花時搞清需求建好模型圖3.3問題一問題二當(dāng)前第10頁\共有145頁\編于星期二\14點第4章軟件需求分析與建模2023/6/15
11結(jié)束返回圖3.4需求分析類型
(3)系統(tǒng)的需求分類業(yè)務(wù)需求反映了組織機構(gòu)或客戶對系統(tǒng)或產(chǎn)品高層次的目標(biāo)要求,它們在項目視圖與范圍文檔中予以說明。
用戶需求描述了用戶使用產(chǎn)品必須要完成的任務(wù),可以在用例模型或方案腳本中予以說明。
功能需求
定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。
主要說明了待開發(fā)系統(tǒng)在功能上實際應(yīng)做些什么,是用戶最主要的需求。通常包括系統(tǒng)的輸入、系統(tǒng)能完成的功能、系統(tǒng)的輸出及其他反應(yīng)。非功能需求
是從各個角度對系統(tǒng)的約束和限制,反映了應(yīng)用對軟件系統(tǒng)質(zhì)量和特性的額外要求。主要包括:
過程需求(如交付需求、實現(xiàn)方法需求等)
產(chǎn)品需求(如可靠性需求、可移植性需求、安全保密性需求)
外部需求(如法規(guī)需求、費用需求等)等。當(dāng)前第11頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
12結(jié)束返回3.1軟件需求分析3.1.2需求分析的步驟需求獲取需求分析需求建模編寫需求文檔需求驗證當(dāng)前第12頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
13結(jié)束返回3.1.2需求分析的步驟需求分析階段的工作,大致可分為如下幾個步驟進行:閱讀描述系統(tǒng)需求的用戶文檔;對相關(guān)軟件、技術(shù)的市場調(diào)查;對管理部門、用戶的訪問咨詢;對工作現(xiàn)場的實際考察等。
(1)獲取用戶的需求
軟件開發(fā)人員只有通過認(rèn)真細(xì)致的調(diào)查研究,才能獲得進行系統(tǒng)分析的原始資料。需求信息的獲取可來源于:當(dāng)前第13頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
14結(jié)束返回3.1.2需求分析的步驟
(2)需求分析對于獲取的原始需求,軟件開發(fā)人員需要根據(jù)掌握的專業(yè)知識,運用抽象的邏輯思維,找出需求間的內(nèi)在聯(lián)系和矛盾,去除需求中不合理和非本質(zhì)的部分,確定軟件系統(tǒng)的真正需求。
(3)需求建模對于確定的系統(tǒng)需求,軟件開發(fā)人員要通過現(xiàn)有的需求分析方法及工具對其進行清晰、準(zhǔn)確的描述,建立無二義性的、完整的系統(tǒng)邏輯模型。當(dāng)前第14頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
15結(jié)束返回3.1.2需求分析的步驟
(4)書寫需求說明書需求階段應(yīng)提交的主要文檔包括需求規(guī)格說明書、初步的用戶手冊和修正后的開發(fā)計劃。其中,需求規(guī)格說明書是對分析階段主要成果的綜合描述,是該階段最重要的技術(shù)文檔。當(dāng)前第15頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
16結(jié)束返回3.1.2需求分析的步驟
(5)需求復(fù)審為了保證軟件開發(fā)的質(zhì)量,對需求分析階段的工作要按照嚴(yán)格的規(guī)范進行復(fù)審,從不同的技術(shù)角度對該階段工作做出綜合性的評價。復(fù)審即要有用戶參加,也要有管理部門和軟件開發(fā)人員參加。當(dāng)前第16頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
17結(jié)束返回3.1軟件需求分析3.1.3需求分析的原則目前存在著許多需求分析的方法,雖然各種方法都有其獨特的描述方法,但不論采用何種方法,需求分析都必須遵循以下基本原則:
(1)能夠表達和理解問題的數(shù)據(jù)域和功能域所有軟件開發(fā)的最終目的都是為了解決數(shù)據(jù)處理的問題,數(shù)據(jù)處理的本質(zhì)就是將一種形式的數(shù)據(jù)轉(zhuǎn)換成另一種形式的數(shù)據(jù)。需求分析階段必須明確系統(tǒng)中應(yīng)具備的每一個加工、加工的處理對象和由加工所引起的數(shù)據(jù)形式的變化。當(dāng)前第17頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
18結(jié)束返回3.1.3需求分析的原則
(2)分解為了便于問題的解決和實現(xiàn),在需求分析過程中需要對于原本復(fù)雜的問題按照某種合適的方式進行分解(對功能域和數(shù)據(jù)域均可)。使系統(tǒng)的理解和實現(xiàn)變得較為容易。當(dāng)前第18頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
19結(jié)束返回
(3)能夠給出系統(tǒng)的邏輯表示和物理表示系統(tǒng)需求的邏輯表示用于指明系統(tǒng)所要達到的功能要求和需要處理的數(shù)據(jù),不涉及實現(xiàn)的細(xì)節(jié)。系統(tǒng)需求的物理表示用于指明處理功能和數(shù)據(jù)結(jié)構(gòu)的實際表現(xiàn)形式,通常由系統(tǒng)中的設(shè)備決定。3.1.3需求分析的原則當(dāng)前第19頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
20結(jié)束返回3.1軟件需求分析3.1.4需求分析的方法結(jié)構(gòu)化分析
(SA)面向?qū)ο蠓治?/p>
(OOA)實體關(guān)系圖數(shù)據(jù)流圖狀態(tài)轉(zhuǎn)換圖數(shù)據(jù)建模功能建模動態(tài)建模分析建模方法進行進行進行結(jié)構(gòu)化分析(SA,StructureAnalysis)面向?qū)ο蠓治?OOA,ObjectOrientedAnalysis)圖3.5需求分析方法當(dāng)前第20頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
21結(jié)束返回3.1軟件需求分析3.1.5需求分析模型需求分析產(chǎn)生的模型使人們可以更好地理解將要建造的系統(tǒng),它有助于系統(tǒng)分析員理解系統(tǒng)的信息、功能和行為,成為確定需求規(guī)格說明完整性、一致性和精確性的重要依據(jù),奠定了軟件設(shè)計的基礎(chǔ)。當(dāng)前第21頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
22結(jié)束返回3.1軟件需求分析3.1.5需求分析模型結(jié)構(gòu)化分析導(dǎo)出的分析模型包括數(shù)據(jù)模型、功能模型和行為模型。該模型以“數(shù)據(jù)字典”為核心,描述了軟件使用的所有數(shù)據(jù)對象,圍繞這個核心的是“實體關(guān)系圖”、“數(shù)據(jù)流圖”和“狀態(tài)轉(zhuǎn)換圖”。具體形式如下圖所示:當(dāng)前第22頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
23結(jié)束返回3.1軟件需求分析3.1.5需求分析模型圖3.6需求分析模型實體關(guān)系圖(ER,EntityRelation):數(shù)據(jù)建模的基礎(chǔ),描述數(shù)據(jù)對象及其關(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)換方式。
;當(dāng)前第23頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
24結(jié)束返回3.2數(shù)據(jù)建摸3.2.1實體關(guān)系圖3.2.2方框?qū)哟螆D3.2.3Warnier圖當(dāng)前第24頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
25結(jié)束返回3.2數(shù)據(jù)建摸(1)數(shù)據(jù)模型包括三種基本元素:數(shù)據(jù)對象屬性關(guān)系它們對理解問題的信息域提供了基礎(chǔ)。3.2.1實體關(guān)系圖數(shù)據(jù)對象表示具有不同屬性的事物,ER用帶有標(biāo)記的矩形來表示。關(guān)系表示數(shù)據(jù)對象之間的相互連接,ER用直線連接相關(guān)聯(lián)的數(shù)據(jù)對象,并在直線上用帶標(biāo)記的菱形框來表示關(guān)系。屬性也稱性質(zhì),指數(shù)據(jù)對象某一方面的特征,ER用帶有標(biāo)記的橢圓來表示。當(dāng)前第25頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
26結(jié)束返回3.2數(shù)據(jù)建摸3.2.1實體關(guān)系圖
屬性(2)ER圖中的基本符號連接圖3.7ER圖的符號當(dāng)前第26頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
27結(jié)束返回3.2.1實體關(guān)系圖兩個數(shù)據(jù)對象之間有以下三種關(guān)聯(lián),ER在數(shù)據(jù)對象之間的連線上用數(shù)字或字母表示:
一對一(1:1):對象A的一個實例只能關(guān)聯(lián)到對象B的一個實例,對象B的一個實例也只能關(guān)聯(lián)到對象A的一個實例.對象A對象B丈夫妻子關(guān)系夫妻1111圖3.8一對一關(guān)系當(dāng)前第27頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
28結(jié)束返回3.2.1實體關(guān)系圖
一對多(1:N):對象A的一個實例可以關(guān)聯(lián)到對象B的一個或多個實例,而對象B的一個實例只能關(guān)聯(lián)到對象A的一個實例,如一個母親可以有多個孩子,而一個孩子只能有一個母親。
對象A對象B母親孩子關(guān)系母子1n1n圖3.9一對多關(guān)系當(dāng)前第28頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
29結(jié)束返回3.2.1實體關(guān)系圖多對多(M:N):對象A的一個實例可以關(guān)聯(lián)到對象B的一個或多個實例,同時對象B的一個實例也可以關(guān)聯(lián)到對象A的一個或多個實例,如一個叔叔可以有多個侄子,一個侄子也可以有多個叔叔。
對象A對象B叔叔侄子關(guān)系叔侄mnmn圖3.10多對多關(guān)系當(dāng)前第29頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
30結(jié)束返回學(xué)生選課ER圖圖3.11當(dāng)前第30頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
31結(jié)束返回工資計算系統(tǒng)ER圖圖3.12當(dāng)前第31頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
32結(jié)束返回3.2數(shù)據(jù)建摸3.2.2方框?qū)哟螆D層次方框圖也是數(shù)據(jù)建模的圖形工具層次方框圖通過樹型結(jié)構(gòu)的一系列多層次的矩形框描述復(fù)雜數(shù)據(jù)的層次結(jié)構(gòu)。樹型結(jié)構(gòu)頂端的矩形框只有一個,用于代表完整的數(shù)據(jù)結(jié)構(gòu)。下面各層的矩形框是對完整數(shù)據(jù)結(jié)構(gòu)的逐步分解和細(xì)化得到的數(shù)據(jù)子集;底層的矩形框代表組成該數(shù)據(jù)結(jié)構(gòu)的基本元素,是數(shù)據(jù)的最小單位,不可再分割。當(dāng)前第32頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
33結(jié)束返回3.2數(shù)據(jù)建摸3.2.2方框?qū)哟螆D層次方框圖非常適合描述自頂向下的需求分析方法中數(shù)據(jù)的層次關(guān)系。系統(tǒng)分析員可以從對頂層信息的分類開始,沿著層次圖中的每條路徑逐步細(xì)化,直到確定了數(shù)據(jù)結(jié)構(gòu)的全部細(xì)節(jié)為止。當(dāng)前第33頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
34結(jié)束返回3.2數(shù)據(jù)建摸3.2.2方框?qū)哟螆D
例如,某單位職工的實發(fā)工資由應(yīng)發(fā)工資和扣款兩部分組成,每部分又可進一步細(xì)分。如應(yīng)發(fā)工資又可分為基本工資和獎金;基本工資又可分為國家工資、津貼、補貼;獎金也可分為出勤獎和業(yè)績獎;津貼和補貼還可以再進一步地細(xì)分。實發(fā)工資的層次方框圖如下圖所示。當(dāng)前第34頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
35結(jié)束返回圖3.13
職工工資的層次方框圖當(dāng)前第35頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
36結(jié)束返回3.2數(shù)據(jù)建摸3.2.3Warnier圖
Warnier圖是法國科學(xué)家Warnier提出的另一種描述數(shù)據(jù)層次結(jié)構(gòu)的圖形工具。與層次方框圖類似,Warnier圖也采用了樹型結(jié)構(gòu)表示數(shù)據(jù),但與層次方框圖相比,Warnier圖對數(shù)據(jù)的描繪手段更加豐富。當(dāng)前第36頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
37結(jié)束返回3.2.3Warnier圖在Warnier圖中,使用大括號來區(qū)分?jǐn)?shù)據(jù)結(jié)構(gòu)的層次。一個大括號內(nèi)的所有名字都屬于同一類信息;異或符號“⊕”用于表明一類信息或一個數(shù)據(jù)元素在一定條件下出現(xiàn),而且在這個符號上、下方的兩個名字所代表的數(shù)據(jù)只能出現(xiàn)一個。在一個名字下面或右邊的圓括號中出現(xiàn)的數(shù)字指明了這個名字所代表的信息類或數(shù)據(jù)元素在該數(shù)據(jù)結(jié)構(gòu)中重復(fù)出現(xiàn)的次數(shù)。當(dāng)前第37頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
38結(jié)束返回3.2.3Warnier圖例如,某計算機公司的一種軟件產(chǎn)品要么是系統(tǒng)軟件,要么是應(yīng)用軟件;系統(tǒng)軟件中有k1種操作系統(tǒng)、k2種編譯程序,此外還有工具軟件;工具軟件進一步又可劃分為編輯程序、測試工具和輔助設(shè)計工具,它們各自的數(shù)量分別為j1、j2和j3。描繪這種軟件產(chǎn)品的Warnier圖如圖4.14所示。當(dāng)前第38頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
39結(jié)束返回3.2.3Warnier圖圖4.14描繪一種軟件產(chǎn)品的Warnier圖軟件產(chǎn)品系統(tǒng)軟件應(yīng)用軟件⊕操作系統(tǒng)(k1)編譯程序(k2)工具軟件編輯程序(j1)測試工具(j2)輔助設(shè)計工具(j3)當(dāng)前第39頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
40結(jié)束返回練習(xí)題--實體關(guān)系圖圖3.15某學(xué)校教學(xué)管理ER圖教師
學(xué)生課程教學(xué)職稱職務(wù)性別姓名職工號學(xué)號院系年級課名學(xué)時課程號學(xué)分姓名性別1nnm成績當(dāng)前第40頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
41結(jié)束返回小結(jié)作業(yè)P571,5需求分析的任務(wù)需求分析的步驟需求分析的原則實體關(guān)系圖方框?qū)哟螆DWarnier圖需求分析的方法需求分析模型當(dāng)前第41頁\共有145頁\編于星期二\14點第3章系統(tǒng)工程基礎(chǔ)與可行性研究2023/6/15
42結(jié)束返回軟件定義時期需求分析可行性研究問題定義系統(tǒng)分析報告可行性分析報告初步項目計劃需求規(guī)格說明書要解決的問題是什么是否有可行的解決辦法目標(biāo)系統(tǒng)必須做什么任務(wù)任務(wù)任務(wù)撰寫撰寫撰寫圖1.11軟件定義軟件定義部分又可劃分為問題定義、可行性研究和需求分析三個階段。軟件定義部分當(dāng)前第42頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
43結(jié)束返回3.1軟件需求分析3.1.5需求分析模型圖3.6需求分析模型實體關(guān)系圖(ER,EntityRelation):數(shù)據(jù)建模的基礎(chǔ),描述數(shù)據(jù)對象及其關(guān)系;實體關(guān)系圖方框?qū)哟螆DWarnier圖當(dāng)前第43頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
44結(jié)束返回3.3功能建?!颈竟?jié)知識點】數(shù)據(jù)流圖功能建模當(dāng)前第44頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
45結(jié)束返回3.3功能建模
數(shù)據(jù)流圖(DFD,DataFlowDiagram)是結(jié)構(gòu)化分析的基本工具,它描述了信息流和數(shù)據(jù)轉(zhuǎn)換,通過對加工進行分解可以得到數(shù)據(jù)流圖。3.3.1數(shù)據(jù)流圖概念數(shù)據(jù)流圖功能模型創(chuàng)建當(dāng)前第45頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
46結(jié)束返回3.3功能建模
DFD有四種元素,其基本符號如下圖所示:3.3.2數(shù)據(jù)流圖符號外部實體:與系統(tǒng)進行交互,但系統(tǒng)不對其進行加工和處理的實體,用帶標(biāo)記的矩形表示;加工:對數(shù)據(jù)進行的變換和處理,用帶標(biāo)記的圓圈表示;數(shù)據(jù)流:在數(shù)據(jù)加工之間或數(shù)據(jù)存儲和數(shù)據(jù)加工之間進行流動的數(shù)據(jù),用帶標(biāo)記的箭頭表示;數(shù)據(jù)存儲:在系統(tǒng)中需要存儲的實體,用帶標(biāo)記的雙實線表示。
當(dāng)前第46頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
47結(jié)束返回3.3.3基本系統(tǒng)模型第0層DFD稱為基本系統(tǒng)模型,可以將整個軟件系統(tǒng)表示為一個具有輸入和輸出的黑匣子,用一個圓圈表示。圖3.16系統(tǒng)的頂層數(shù)據(jù)流圖當(dāng)前第47頁\共有145頁\編于星期二\14點第4章軟件需求分析與建模2023/6/15
48結(jié)束返回3.3.4數(shù)據(jù)流與加工之間的關(guān)系表3.1加工中常見關(guān)系的符號表示符號含義由數(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ù)據(jù)B和C由數(shù)據(jù)A或B其中之一變換為數(shù)據(jù)C由數(shù)據(jù)A變換為數(shù)據(jù)B或C其中之一當(dāng)前第48頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
49結(jié)束返回3.3功能建模3.3.5數(shù)據(jù)流模型的創(chuàng)建通常,數(shù)據(jù)流圖是分層繪制的,整個過程反映了自頂向下進行功能分解和細(xì)化的分析過程。頂層(也稱第0層)DFD用于表示系統(tǒng)的開發(fā)范圍,以及該系統(tǒng)與周圍環(huán)境的數(shù)據(jù)交換關(guān)系;
最底層DFD代表了那些不可進一步分解的“原子加工”;
中間層DFD是對上一層父圖的細(xì)化,其中的每一個加工可以繼續(xù)細(xì)化,中間層次的多少由系統(tǒng)的復(fù)雜程度決定。當(dāng)前第49頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
50結(jié)束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建(1)建立數(shù)據(jù)流圖的步驟
①
第0層DFD將整個系統(tǒng)表示成一個加工;
②確定并標(biāo)記主要的輸入和輸出;
③分離出下一層中的加工、數(shù)據(jù)對象和存儲,并對其進行細(xì)化,一次細(xì)化一個加工;
④標(biāo)記所有加工和箭頭;
⑤重復(fù)步驟③和④,直到所有的加工只執(zhí)行一個簡單的操作,可以很容易地用程序?qū)崿F(xiàn)。當(dāng)前第50頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
51結(jié)束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建(2)建立數(shù)據(jù)流圖的說明繪制第0層DFD的時候,將整個系統(tǒng)看成一個加工,然后找出作用于該加工的外部實體,以及相應(yīng)的數(shù)據(jù)輸入和輸出。繪制下一層數(shù)據(jù)流圖時,細(xì)化第0層的加工,從而描述系統(tǒng)的主要功能。繼續(xù)進行分解,直到所有的加工只執(zhí)行一個簡單的操作為止。當(dāng)前第51頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
52結(jié)束返回3.3功能建模3.3.5數(shù)據(jù)流模型的創(chuàng)建圖3.17工資計算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖(3)建立頂層數(shù)據(jù)流圖—系統(tǒng)基本模型當(dāng)前第52頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
53結(jié)束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建(4)分層細(xì)化上一層DFD中的每一個圓圈可以進一步擴展成一個獨立的數(shù)據(jù)流圖,以揭示系統(tǒng)中程序的細(xì)節(jié)部分。當(dāng)前第53頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
54結(jié)束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建圖3.18“自頂向下,逐步分解”過程示意圖當(dāng)前第54頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
55結(jié)束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建這種循序漸進的細(xì)化過程可以繼續(xù)進行,直到最低層的圖僅描述原子過程操作為止。每一層數(shù)據(jù)流圖必須與它上一層數(shù)據(jù)流圖保持平衡和一致,因此,子圖的所有輸入輸出流要與其父圖相匹配。(5)注意的問題當(dāng)前第55頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
56結(jié)束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建圖3.19工資計算系統(tǒng)第一層數(shù)據(jù)流圖(6)實例—分層細(xì)化例:工資計算系統(tǒng)23當(dāng)前第56頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
57結(jié)束返回圖3.20工資計算系統(tǒng)的第二層數(shù)據(jù)流圖(a)“計算工資”子數(shù)據(jù)流圖;(b)“工資轉(zhuǎn)存”子數(shù)據(jù)流圖實例—分層細(xì)化當(dāng)前第57頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
58結(jié)束返回圖3.21工資計算系統(tǒng)的第三層數(shù)據(jù)流圖實例—分層細(xì)化當(dāng)前第58頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
59結(jié)束返回實例—分層細(xì)化建立數(shù)據(jù)流模型要遵循以下的原則:
(1)每個加工至少應(yīng)有一個輸入數(shù)據(jù)流(反映被處理數(shù)據(jù)的來源)和一個輸出數(shù)據(jù)流(反映加工的結(jié)果)。3.3.6建立數(shù)據(jù)流模型的原則
(2)數(shù)據(jù)流圖中各構(gòu)成元素的名稱必須具有明確的含義且能夠代表對應(yīng)元素的內(nèi)容或功能。
(3)對數(shù)據(jù)流圖中某個加工進行細(xì)化生成的下層數(shù)據(jù)流圖,稱為其上層圖的子圖。應(yīng)保證分層數(shù)據(jù)流圖中任意對應(yīng)的父圖和子圖的輸入/輸出數(shù)據(jù)保持一致。圖3.17工資計算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖圖3.19工資計算系統(tǒng)第一層數(shù)據(jù)流圖23當(dāng)前第59頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
60結(jié)束返回實例—分層細(xì)化
(4)在數(shù)據(jù)流圖中,應(yīng)按照層次給每個加工編號,用于表明該加工所處的層次及上、下層的父圖與子圖的關(guān)系。編號的規(guī)則為:頂層加工不用編號;第二層加工的編號為1,2,…,n;第三層加工的編號為1.1,1.2,…,2.1,…,n.1,n.2,…等,依次類推。
(5)在父圖中不要出現(xiàn)子圖中涉及的局部數(shù)據(jù)存儲文件。通常除底層數(shù)據(jù)流圖中需標(biāo)明所有數(shù)據(jù)存儲外,為了保持畫面的整潔,各中間層數(shù)據(jù)流圖只需顯示處于加工之間的接口文件即可。3.3.6建立數(shù)據(jù)流模型的原則圖3.19工資計算系統(tǒng)第一層數(shù)據(jù)流圖23當(dāng)前第60頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
61結(jié)束返回實例—分層細(xì)化
(6)數(shù)據(jù)流圖只能由四種基本符號組成,是實際業(yè)務(wù)流程的客觀映象,用于說明系統(tǒng)應(yīng)該“做什么”,而不需要指明系統(tǒng)“如何做”。
(7)數(shù)據(jù)流圖的分解速度應(yīng)保持適中。通常一個加工每次可分解為2-4個子加工,最多不要超過七個,因為過快的分解會增加用戶對系統(tǒng)模型理解的難度。
(8)為了便于數(shù)據(jù)流圖在計算機上的輸入和輸出,免去畫斜線、弧線、圓等符號的麻煩,數(shù)據(jù)流圖還有另一套表示符號,如表4.2所示。3.3.6建立數(shù)據(jù)流模型的原則當(dāng)前第61頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
62結(jié)束返回實例—分層細(xì)化表3.2數(shù)據(jù)流圖的另一套表示符號編號編號符號含義數(shù)據(jù)流,只能為水平或垂直的帶箭頭直線
加工數(shù)據(jù)存儲數(shù)據(jù)的源點或終點3.3.7數(shù)據(jù)流圖的另一套表示符號當(dāng)前第62頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
63結(jié)束返回實例—分層細(xì)化練習(xí)題:試畫你開發(fā)的系統(tǒng)的數(shù)據(jù)流圖。3.3功能建模(1)建立數(shù)據(jù)流圖的步驟(2)建立數(shù)據(jù)流模型的原則本節(jié)小結(jié):當(dāng)前第63頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
64結(jié)束返回3.4行為建?!颈竟?jié)知識點】狀態(tài)轉(zhuǎn)換圖行為建模當(dāng)前第64頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
65結(jié)束返回
狀態(tài)轉(zhuǎn)換圖通過描述狀態(tài)以及導(dǎo)致系統(tǒng)改變狀態(tài)的事件來表示系統(tǒng)的行為,它沒有表示出系統(tǒng)所執(zhí)行的處理,只表示了處理結(jié)果可能的狀態(tài)轉(zhuǎn)換。3.4.1狀態(tài)轉(zhuǎn)換圖
(1)狀態(tài)轉(zhuǎn)換圖的概念
當(dāng)前第65頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
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)換圖符號
當(dāng)前第66頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
67結(jié)束返回
例如,在操作系統(tǒng)中,當(dāng)存在多個申請占用CPU運行的進程(進程是分配CPU的最小處理單位)時,系統(tǒng)將按照某種調(diào)度策略為各個進程分配CPU。此時,進程的狀態(tài)可能有三種:就緒、運行和等待。就緒:等待分配CPU;運行:占用CPU進行相應(yīng)的處理;掛起:放棄CPU的使用。3.4.1狀態(tài)轉(zhuǎn)換圖
(3)實例
當(dāng)前第67頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
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時間。在上面描述的情況下,有關(guān)CPU分配的進程的狀態(tài)遷移圖如圖3.22(a)所示。當(dāng)前第68頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
69結(jié)束返回3.4.2狀態(tài)遷移表狀態(tài)遷移圖還可以表示為等價的表格形式,這樣的表格稱為狀態(tài)遷移表。狀態(tài)遷移表的列由所有的系統(tǒng)狀態(tài)組成,行由引起狀態(tài)遷移的所有信號或事件組成,表格中第i行第j列的元素是從狀態(tài)Sj因發(fā)生事件ti而會遷移到的狀態(tài)。
與圖3.22(a)等價的狀態(tài)遷移表如表3.3所示。在表中,S1代表就緒狀態(tài);S2代表運行狀態(tài);S3代表掛起狀態(tài)。當(dāng)前第69頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
70結(jié)束返回表3.3進程的狀態(tài)遷移表
狀態(tài)事件S1(就緒)S2(運行)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時間。當(dāng)前第70頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
71結(jié)束返回
如果狀態(tài)轉(zhuǎn)換圖所描述的系統(tǒng)比較復(fù)雜,則可以采用狀態(tài)圖的分層表示法。例如對圖4.22(a)所示的狀態(tài)圖中的大狀態(tài)S1進行細(xì)化,就得到了圖4.22(b)所示的下層狀態(tài)遷移圖。
如果在狀態(tài)遷移圖,一個狀態(tài)由于某個事件而導(dǎo)致的下一個狀態(tài)可能會有多個,可在狀態(tài)遷移圖中引入判斷框和處理框,如圖4.22(c)中所示的狀態(tài)遷移圖就是采用這種方法對圖4.22(a)的變形。3.4.3狀態(tài)遷移圖當(dāng)前第71頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
72結(jié)束返回3.4.3狀態(tài)遷移圖圖3.22狀態(tài)遷移圖舉例(a)狀態(tài)遷移圖;(b)細(xì)化后的狀態(tài)遷移圖;(c)狀態(tài)遷移圖的變形當(dāng)前第72頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
73結(jié)束返回3.5數(shù)據(jù)字典【本節(jié)知識點】數(shù)據(jù)字典結(jié)構(gòu)化語言、判斷樹和判斷表當(dāng)前第73頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
74結(jié)束返回數(shù)據(jù)字典描述數(shù)據(jù)流圖的數(shù)據(jù)存儲、數(shù)據(jù)加工(最底層加工)和數(shù)據(jù)流,它記錄的主要內(nèi)容有:基本信息:名字、別名、描述;
定義:數(shù)據(jù)長度、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu);
使用特點:取值范圍、使用頻率、使用方式等;
控制信息:來源、用戶、引用程序、讀寫權(quán)限等;其他說明:3.5數(shù)據(jù)字典3.5.1數(shù)據(jù)字典的描述當(dāng)前第74頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
75結(jié)束返回
在數(shù)據(jù)字典中,數(shù)據(jù)元素的定義可以是基本元素及其組合,數(shù)據(jù)進行自頂向下地分解,直到不需要進一步解釋且參與人員都清楚其含義為止。3.5.1數(shù)據(jù)字典的描述當(dāng)前第75頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
76結(jié)束返回數(shù)據(jù)組合有三種方式:
順序:以確定的次序連接多個數(shù)據(jù)項;
選擇:從多個數(shù)據(jù)項中選取一個;
重復(fù):將某個數(shù)據(jù)項重復(fù)多次。為了能夠?qū)?shù)據(jù)流中的各組成成分進行準(zhǔn)確的定義,在數(shù)據(jù)字典中使用了多種具有特定意義的符號,如下:3.5.1數(shù)據(jù)字典的描述當(dāng)前第76頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
77結(jié)束返回符號含義說明=表示定義為用于對=左邊的條目進行確切的定義+表示與關(guān)系X=a+b表示X由a和b共同構(gòu)成[?|?][?,?]表示或關(guān)系X=[a|b]與X=[a,b]等價,表示X由a或b組成(?)表示可選項X=(a)表示a可以在X中出現(xiàn),也可以不出現(xiàn){}表示重復(fù)大括號中的內(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中的任意值*?*表示注釋兩個星號之間的內(nèi)容為注釋信息表3.5數(shù)據(jù)字典中的基本符號及含義3.5.1數(shù)據(jù)字典的描述當(dāng)前第77頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
78結(jié)束返回3.5.2數(shù)據(jù)字典中的條目及說明格式
數(shù)據(jù)字典是關(guān)于數(shù)據(jù)流圖中各種成分詳細(xì)定義的信息集合,可將其按照說明對象的類型劃分為四類條目,分別為數(shù)據(jù)流條目、數(shù)據(jù)項條目、數(shù)據(jù)文件條目和數(shù)據(jù)加工條目。為了便于軟件開發(fā)人員方便地查找所需的條目,應(yīng)按照一定的順序?qū)?shù)據(jù)字典中的不同條目進行排列。下面分別對各類條目的內(nèi)容及說明格式進行介紹。當(dāng)前第78頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
79結(jié)束返回3.5.2數(shù)據(jù)字典中的條目及說明格式
數(shù)據(jù)流在數(shù)據(jù)流圖中主要用于說明數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)中的作用和流動方向,因此數(shù)據(jù)流也被稱作“流動的數(shù)據(jù)結(jié)構(gòu)”。數(shù)據(jù)字典中數(shù)據(jù)流條目應(yīng)包括以下幾項主要內(nèi)容:數(shù)據(jù)流名稱、數(shù)據(jù)流別名、說明、數(shù)據(jù)流來源、數(shù)據(jù)流流向、數(shù)據(jù)流組成和數(shù)據(jù)流量等。例如:工資系統(tǒng)中的出勤表數(shù)據(jù)流在數(shù)據(jù)字典中的條目描述為:1.數(shù)據(jù)流條目當(dāng)前第79頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
80結(jié)束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)流名稱出勤表數(shù)據(jù)流別名無說明由人事部門每月月底上報的職工考勤統(tǒng)計數(shù)字?jǐn)?shù)據(jù)流來源人事部門數(shù)據(jù)流流向加工1.2(計算應(yīng)發(fā)工資)數(shù)據(jù)流組成出勤表=年份+月份+職工號+出勤時數(shù)+病假時數(shù)+事假時數(shù)+曠工時數(shù)數(shù)據(jù)流量1份/月表3.6出勤表數(shù)據(jù)流的描述表當(dāng)前第80頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
81結(jié)束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)流圖中每個數(shù)據(jù)結(jié)構(gòu)都是由若干個數(shù)據(jù)項構(gòu)成的,數(shù)據(jù)項是加工中的最小單位,不可再分。數(shù)據(jù)字典的數(shù)據(jù)項條目中應(yīng)包含的主要內(nèi)容有:數(shù)據(jù)項名稱、數(shù)據(jù)項別名、說明、類型、長度、取值范圍及含義等。
例如:出勤表中的職工號數(shù)據(jù)項在數(shù)據(jù)字典中的條目描述為2.數(shù)據(jù)項條目當(dāng)前第81頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
82結(jié)束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)項名稱職工號數(shù)據(jù)項別名zg_no說明本單位職工的惟一標(biāo)識類型字符串長度6取值范圍及含義1~2位(00..99)為部門編號:3~6位(XX0001..XX9999)為人員編號表3.7出勤表中的職工號數(shù)據(jù)項條目描述表當(dāng)前第82頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
83結(jié)束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)文件是數(shù)據(jù)流圖中數(shù)據(jù)結(jié)構(gòu)的載體。數(shù)據(jù)字典的數(shù)據(jù)文件條目中應(yīng)包含的主要內(nèi)容有:數(shù)據(jù)文件名稱、說明、數(shù)據(jù)文件組成、組織方式、存取方式、存取頻率等。
例如:工資系統(tǒng)中的職工工資檔案文件在數(shù)據(jù)字典中的條目描述為:3.數(shù)據(jù)文件條目當(dāng)前第83頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
84結(jié)束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)文件名稱工資檔案數(shù)據(jù)文件別名Zgda表說明單位職工的基本工資、各項津貼及補貼信息數(shù)據(jù)文件組成職工號+國家工資+國家津貼+職務(wù)津貼+職齡津貼+交通補貼+部門補貼+其他補貼組織方式按職工號從小到大排列存取方式順序存取頻率1次/月表3.8職工工資檔案文件描述表當(dāng)前第84頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
85結(jié)束返回3.5.2數(shù)據(jù)字典中的條目及說明格式在數(shù)據(jù)流圖中只簡單給出了每個加工的名稱,在數(shù)據(jù)字典中通過數(shù)據(jù)加工條目主要是要說明每個加工是用來“做什么”的。數(shù)據(jù)字典的數(shù)據(jù)文件條目中應(yīng)包含的主要內(nèi)容有:
數(shù)據(jù)加工名稱、加工編號、說明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流、加工邏輯等。
例如:工資系統(tǒng)中的計算應(yīng)發(fā)工資這個加工在數(shù)據(jù)字典中的條目描述為:4.數(shù)據(jù)加工條目當(dāng)前第85頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
86結(jié)束返回數(shù)據(jù)加工名稱計算應(yīng)發(fā)工資數(shù)據(jù)加工編號1.2說明根據(jù)職工的工資檔案及本月獎金發(fā)放表數(shù)據(jù)計算每個職工的應(yīng)發(fā)工資輸入數(shù)據(jù)流獎金發(fā)放表及工資檔案輸出數(shù)據(jù)流應(yīng)發(fā)工資表加工邏輯DOWHILE工資檔案文件指針未指向文件尾從工資檔案中取出當(dāng)前職工工資的各項基本數(shù)據(jù)進行累加;在獎金發(fā)放表中按職工號查找到該職工的獎金數(shù);對獎金數(shù)與工資基本數(shù)據(jù)的累加和進行求和得到該職工的應(yīng)發(fā)工資數(shù)ENDDO表3.9計算應(yīng)發(fā)工資加工描述表當(dāng)前第86頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
87結(jié)束返回3.5數(shù)據(jù)字典練習(xí)題:試定義你開發(fā)的系統(tǒng)的數(shù)據(jù)字典。(1)建立數(shù)據(jù)字典的概念(2)數(shù)據(jù)字典的描述本節(jié)小結(jié):當(dāng)前第87頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
88結(jié)束返回3.5.3編寫加工規(guī)格說明加工規(guī)格說明用于描述底層數(shù)據(jù)流圖的加工,包括敘述性正文、加工算法、數(shù)學(xué)方程、表或圖表等,它可以成為編寫軟件需求規(guī)格說明的第一步,并為加工的程序設(shè)計提供指南。通常,加工規(guī)格說明采用結(jié)構(gòu)化語言、判斷樹和判斷表等進行描述。當(dāng)前第88頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
89結(jié)束返回3.5.3編寫加工規(guī)格說明結(jié)構(gòu)化語言是一種介于自然語言和形式化語言之間的半形式化語言,例如,上面對計算應(yīng)發(fā)工資條目中加工邏輯的描述就是采用的結(jié)構(gòu)化語言。它是在自然語言的基礎(chǔ)上加入了一定的限制,通過使用有限的詞匯和有限的語句來較為嚴(yán)格地描述加工邏輯。描述時可以使用的詞匯包括:數(shù)據(jù)字典中定義的名字、基本控制結(jié)構(gòu)中的關(guān)鍵詞、自然語言中具有明確意義的動詞和少量的自定義詞匯等。盡量不使用形容詞或副詞,可以使用一些簡單的算術(shù)或邏輯運算符。1.結(jié)構(gòu)化語言當(dāng)前第89頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
90結(jié)束返回3.5.3編寫加工規(guī)格說明
(1)順序結(jié)構(gòu):由自然語言中的簡單祈使語句序列構(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)化語言中的三種基本結(jié)構(gòu)的描述方法如下:當(dāng)前第90頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
91結(jié)束返回3.5.3編寫加工規(guī)格說明當(dāng)某一加工的實現(xiàn)需要同時依賴多個邏輯條件的取值時,對加工邏輯的描述就會變得較為復(fù)雜,很難采用結(jié)構(gòu)化語言清楚地將其描述出來,而采用判定表則能夠完整且清晰地表達復(fù)雜的條件組合與由此產(chǎn)生的動作之間的對應(yīng)關(guān)系。
判定表通常由用雙線分隔開的四個部分構(gòu)成:左上部用于列出所有相關(guān)的條件;左下部用于列出所有可能產(chǎn)生的動作;右上部用于列出所有可能的條件組合;右下部用于列出在各種組合條件下需要進行的動作。2.判定表當(dāng)前第91頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
92結(jié)束返回3.5.3編寫加工規(guī)格說明下面以描述某單位工資檔案管理系統(tǒng)中“職務(wù)津貼計算”加工邏輯為例說明判定表的寫法。由于篇幅限制,在下面的例子中假定職工的職稱只分為助工、工程師和高工三種,對應(yīng)的判定表見表3.10。條件列表條件組合動作列表對應(yīng)的動作通常把表中任意一個條件組合的特定取值及其相應(yīng)要執(zhí)行的動作稱為規(guī)則。判定表的一般格式如下所示。
當(dāng)前第92頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
93結(jié)束返回3.5.3編寫加工規(guī)格說明表3.10“職務(wù)津貼計算”判定表當(dāng)前第93頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
94結(jié)束返回3.5.3編寫加工規(guī)格說明
要生成上面的判定表,具體的步驟如下:
(1)確定規(guī)則的個數(shù)。例子中有三個條件,每個條件有三種取值,故規(guī)則個數(shù)為3×3=9。
(2)列出所有的條件和動作。
(3)列出所有的條件組合。
(4)填寫每種條件組合下對應(yīng)的動作。
(5)若表中存在不同規(guī)則對應(yīng)相同動作且其條件組合存在某種關(guān)系時,需要對表進行必要的化簡。當(dāng)前第94頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
95結(jié)束返回3.5.3編寫加工規(guī)格說明
判定樹是判定表的圖形表示,它與判定表的作用大致相同,但比判定表更加直觀,更易于理解和掌握。例如,圖3.23是采用判定樹對“基本獎金計算”加工邏輯的描述。3.判定樹當(dāng)前第95頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
96結(jié)束返回3.5.3編寫加工規(guī)格說明圖3.23“基本獎金計算”判定樹當(dāng)前第96頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
97結(jié)束返回3.6結(jié)構(gòu)化分析過程結(jié)構(gòu)化分析(SA,StructureAnalysis)過程實質(zhì)上就是創(chuàng)建數(shù)據(jù)模型、功能模型和行為模型,其中數(shù)據(jù)建模的工具是實體關(guān)系圖,功能建模的工具是數(shù)據(jù)流圖,行為建模的工具是狀態(tài)轉(zhuǎn)換圖,另外使用數(shù)據(jù)字典定義系統(tǒng)的所有數(shù)據(jù)項。
當(dāng)前第97頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
98結(jié)束返回3.6結(jié)構(gòu)化分析過程為了理解和學(xué)會使用這些建模工具,我們結(jié)合一個“學(xué)生成績管理系統(tǒng)”的實例講解整個分析過程,并給出部分實體關(guān)系圖、數(shù)據(jù)流圖、狀態(tài)轉(zhuǎn)換圖和數(shù)據(jù)字典。當(dāng)前第98頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
99結(jié)束返回3.6結(jié)構(gòu)化分析過程下面列出用戶對學(xué)生成績管理系統(tǒng)的要求:教務(wù)人員錄入學(xué)生信息、課程信息和成績信息;學(xué)生可以隨時查詢自己所選課程的成績;由于學(xué)生成績屬于敏感信息,系統(tǒng)必須提供必要的安全措施以防非法存取。當(dāng)前第99頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
100結(jié)束返回3.6結(jié)構(gòu)化分析過程
(1)在需求收集的過程中,要求客戶列出應(yīng)用軟件或業(yè)務(wù)過程涉及到的"事物",將其演化成數(shù)據(jù)對象;
(2)一次考慮一個對象,分析員和客戶定義這個對象和其他對象之間是否存在連接;
(3)如果存在連接,應(yīng)創(chuàng)建一個或多個關(guān)系;
(4)對每一個關(guān)系,確定其關(guān)聯(lián)類型;
數(shù)據(jù)建模步驟當(dāng)前第100頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
101結(jié)束返回3.6結(jié)構(gòu)化分析過程
(5)重復(fù)步驟(2)到步驟(4),直到定義了所有關(guān)系。
(6)定義每個實體的屬性;
(7)形式化并復(fù)審實體關(guān)系圖;
(8)重復(fù)步驟(1)到(7),直到數(shù)據(jù)建模完成。
數(shù)據(jù)建模步驟當(dāng)前第101頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
102結(jié)束返回3.6結(jié)構(gòu)化分析過程實例分析:學(xué)生成績管理系統(tǒng)實體:學(xué)生、課程、成績。實體屬性定義:
學(xué)生:學(xué)號、姓名、性別、院系、專業(yè)、入學(xué)年月
課程:課程編號、課程名稱、課程學(xué)時,課程學(xué)分、課程描述
成績:學(xué)號、課程編號、分?jǐn)?shù)、考核日期
3.6.1創(chuàng)建實體關(guān)系圖當(dāng)前第102頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
103結(jié)束返回3.6結(jié)構(gòu)化分析過程3.6.1創(chuàng)建實體關(guān)系圖顯然,學(xué)生、課程和成績都是系統(tǒng)的實體,并且可以初步定義它們的屬性。教務(wù)人員雖然是系統(tǒng)的用戶,但其信息與系統(tǒng)處理無關(guān),因此不用作為實體。由于成績信息包含了選課信息,因此選課信息不用單獨記錄。因此系統(tǒng)的實體是學(xué)生、課程和成績。
當(dāng)前第103頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
104結(jié)束返回3.6結(jié)構(gòu)化分析過程
我們分析這些實體之間的關(guān)聯(lián)關(guān)系:從實際情況得知,一個學(xué)生可以選多門課程,一門課程也可以有多個學(xué)生選修,但每個學(xué)生選一門課程必須有一個成績。根據(jù)上述分析,我們得到如圖所示的實體關(guān)系圖:
3.6.1創(chuàng)建實體關(guān)系圖當(dāng)前第104頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
105結(jié)束返回3.6結(jié)構(gòu)化分析過程
實體關(guān)系圖:
圖1學(xué)生選課E-R簡圖當(dāng)前第105頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
106結(jié)束返回3.6結(jié)構(gòu)化分析過程
實體關(guān)系圖:
學(xué)生課程選課學(xué)號院系入學(xué)日期課名學(xué)時課程號學(xué)分姓名性別nm專業(yè)成績課號分?jǐn)?shù)學(xué)號考試日期描述1圖2學(xué)生選課E-R圖當(dāng)前第106頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
107結(jié)束返回3.6結(jié)構(gòu)化分析過程3.6.2創(chuàng)建數(shù)據(jù)流模型
通常,數(shù)據(jù)流圖是分層繪制的,整個過程反映了自頂向下進行功能分解和細(xì)化的分析過程。
頂層(也稱第0層)DFD用于表示系統(tǒng)的開發(fā)范圍,以及該系統(tǒng)與周圍環(huán)境的數(shù)據(jù)交換關(guān)系;
最底層DFD代表了那些不可進一步分解的“原子加工”;
中間層DFD是對上一層父圖的細(xì)化,其中的每一個加工可以繼續(xù)細(xì)化,中間層次的多少由系統(tǒng)的復(fù)雜程度決定。
當(dāng)前第107頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
108結(jié)束返回3.6結(jié)構(gòu)化分析過程3.6.2創(chuàng)建數(shù)據(jù)流模型
(1)第0層DFD將整個系統(tǒng)表示成一個加工;
(2)確定并標(biāo)記主要的輸入和輸出;
(3)分離出下一層中的加工、數(shù)據(jù)對象和存儲,并對其進行細(xì)化,一次細(xì)化一個加工;
(4)標(biāo)記所有加工和箭頭;
(5)重復(fù)步驟(3)和(4),直到所有的加工只執(zhí)行一個簡單的操作,可以很容易地用程序?qū)崿F(xiàn)。
當(dāng)前第108頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15
109結(jié)束返回3.6結(jié)構(gòu)化分析過程3.6.2創(chuàng)建數(shù)據(jù)流模型
繪制第0層DFD的時候,將整個系統(tǒng)看成一個加工,然后找出作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國產(chǎn)打印機節(jié)能環(huán)保認(rèn)證采購合同
- 重慶2025年重慶市北碚區(qū)基層醫(yī)療衛(wèi)生事業(yè)單位招聘14人筆試歷年參考題庫附帶答案詳解
- 酒泉2025年甘肅酒泉市公安局招聘留置看護崗位輔警60人筆試歷年參考題庫附帶答案詳解
- 貴州2025年貴州省文化和旅游廳直屬事業(yè)單位招聘12人筆試歷年參考題庫附帶答案詳解
- 玉林2025年廣西玉林市第一人民醫(yī)院招聘24人筆試歷年參考題庫附帶答案詳解
- 漯河2024年河南漯河市立醫(yī)院(漯河市骨科醫(yī)院漯河醫(yī)專二附院)招聘高層次人才筆試歷年參考題庫附帶答案詳解
- ??诤D虾?谑协偵絽^(qū)教育局招聘2025屆師范畢業(yè)生筆試歷年參考題庫附帶答案詳解
- 河北2024年中國工商銀行河北分行鄉(xiāng)村振興專項招聘20人筆試歷年參考題庫附帶答案詳解
- 2025年中國太陽能十字路口單黃閃警示燈市場調(diào)查研究報告
- 2025年艾納素項目可行性研究報告
- 光纜線路施工安全協(xié)議書范本
- 成本合約規(guī)劃培訓(xùn)
- 山東省濟寧市2025屆高三歷史一輪復(fù)習(xí)高考仿真試卷 含答案
- 五年級數(shù)學(xué)(小數(shù)乘法)計算題專項練習(xí)及答案
- 交通法規(guī)教育課件
- 產(chǎn)前診斷室護理工作總結(jié)
- 6S管理知識培訓(xùn)課件
- 小學(xué)校長任期五年工作目標(biāo)(2024年-2029年)
- 醫(yī)院培訓(xùn)課件:《猴痘流行病學(xué)特點及中國大陸首例猴痘病例調(diào)查處置》
- 氫氣-安全技術(shù)說明書MSDS
- 產(chǎn)科護士臨床思維能力培養(yǎng)
評論
0/150
提交評論