軟件需求分析與建模演示文稿_第1頁
軟件需求分析與建模演示文稿_第2頁
軟件需求分析與建模演示文稿_第3頁
軟件需求分析與建模演示文稿_第4頁
軟件需求分析與建模演示文稿_第5頁
已閱讀5頁,還剩140頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件需求分析與建模演示文稿當前第1頁\共有145頁\編于星期二\14點第章軟件需求分析與建模當前第2頁\共有145頁\編于星期二\14點2023/6/15

3結束返回第3章軟件需求分析與建模3.1需求分析3.2數(shù)據(jù)建模3.3功能建模3.4行為建模3.6結構化需求分析的若干技術3.5數(shù)據(jù)字典3.7驗證軟件需求當前第3頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

4結束返回【難點、重點】本章的學習重點在于理解軟件需求的概念和重要性,熟悉需求開發(fā)和需求管理的基本思想和主要活動,掌握結構化的分析方法;

難點是怎樣在實際的軟件項目中靈活運用這些思想和方法。當前第4頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

5結束返回【學習目的】本章介紹需求分析的意義、概念和方法,了解結構化分析方法和需求管理的關鍵活動;要求學會運用實體關系圖、數(shù)據(jù)流圖和狀態(tài)控制圖進行結構化分析建模,能夠編寫軟件需求規(guī)格說明書。當前第5頁\共有145頁\編于星期二\14點第3章軟件工程過程模型2023/6/15

6結束返回軟件需求分析的目的待開發(fā)項目的可行性分析的基礎上建立目標系統(tǒng)的邏輯模型需求分析輸入輸出圖3.1需求分析的目的當前第6頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

7結束返回3.1軟件需求分析3.1.1需求分析的任務3.1.2需求分析的步驟3.1.3需求分析的原則當前第7頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

8結束返回3.1軟件需求分析3.1.1需求分析的任務

(1)需求分析的主要任務設計階段的依據(jù)需求分析階段軟件規(guī)格說明書生成、提交作為就是要通過軟件開發(fā)人員與用戶的交流和討論,準確地獲取用戶對系統(tǒng)的具體要求,見圖1.11。理解需求圖3.2當前第8頁\共有145頁\編于星期二\14點(1)軟件定義時期軟件定義部分又可劃分為問題定義、可行性研究和需求分析三個階段。軟件定義時期需求分析可行性研究問題定義系統(tǒng)分析報告可行性分析報告初步項目計劃需求規(guī)格說明書1.3軟件生存期(softwarelifecycle)要解決的問題是什么是否有可行的解決辦法目標系統(tǒng)必須做什么圖1.11

第1章軟件工程引論任務任務任務撰寫撰寫撰寫進入下一時期當前第9頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

10結束返回3.1.1需求分析的任務由于需求分析研究的對象是用戶對開發(fā)項目的要求,在實現(xiàn)這一階段任務時必須要注意兩個問題。(2)需求分析研究的對象需求分析員軟件設計人員用戶交流的難題留下隱患系統(tǒng)模型花時搞清需求建好模型圖3.3問題一問題二當前第10頁\共有145頁\編于星期二\14點第4章軟件需求分析與建模2023/6/15

11結束返回圖3.4需求分析類型

(3)系統(tǒng)的需求分類業(yè)務需求反映了組織機構或客戶對系統(tǒng)或產(chǎn)品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。

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

功能需求

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

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

是從各個角度對系統(tǒng)的約束和限制,反映了應用對軟件系統(tǒng)質量和特性的額外要求。主要包括:

過程需求(如交付需求、實現(xiàn)方法需求等)

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

外部需求(如法規(guī)需求、費用需求等)等。當前第11頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

12結束返回3.1軟件需求分析3.1.2需求分析的步驟需求獲取需求分析需求建模編寫需求文檔需求驗證當前第12頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

13結束返回3.1.2需求分析的步驟需求分析階段的工作,大致可分為如下幾個步驟進行:閱讀描述系統(tǒng)需求的用戶文檔;對相關軟件、技術的市場調查;對管理部門、用戶的訪問咨詢;對工作現(xiàn)場的實際考察等。

(1)獲取用戶的需求

軟件開發(fā)人員只有通過認真細致的調查研究,才能獲得進行系統(tǒng)分析的原始資料。需求信息的獲取可來源于:當前第13頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

14結束返回3.1.2需求分析的步驟

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

(3)需求建模對于確定的系統(tǒng)需求,軟件開發(fā)人員要通過現(xiàn)有的需求分析方法及工具對其進行清晰、準確的描述,建立無二義性的、完整的系統(tǒng)邏輯模型。當前第14頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

15結束返回3.1.2需求分析的步驟

(4)書寫需求說明書需求階段應提交的主要文檔包括需求規(guī)格說明書、初步的用戶手冊和修正后的開發(fā)計劃。其中,需求規(guī)格說明書是對分析階段主要成果的綜合描述,是該階段最重要的技術文檔。當前第15頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

16結束返回3.1.2需求分析的步驟

(5)需求復審為了保證軟件開發(fā)的質量,對需求分析階段的工作要按照嚴格的規(guī)范進行復審,從不同的技術角度對該階段工作做出綜合性的評價。復審即要有用戶參加,也要有管理部門和軟件開發(fā)人員參加。當前第16頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

17結束返回3.1軟件需求分析3.1.3需求分析的原則目前存在著許多需求分析的方法,雖然各種方法都有其獨特的描述方法,但不論采用何種方法,需求分析都必須遵循以下基本原則:

(1)能夠表達和理解問題的數(shù)據(jù)域和功能域所有軟件開發(fā)的最終目的都是為了解決數(shù)據(jù)處理的問題,數(shù)據(jù)處理的本質就是將一種形式的數(shù)據(jù)轉換成另一種形式的數(shù)據(jù)。需求分析階段必須明確系統(tǒng)中應具備的每一個加工、加工的處理對象和由加工所引起的數(shù)據(jù)形式的變化。當前第17頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

18結束返回3.1.3需求分析的原則

(2)分解為了便于問題的解決和實現(xiàn),在需求分析過程中需要對于原本復雜的問題按照某種合適的方式進行分解(對功能域和數(shù)據(jù)域均可)。使系統(tǒng)的理解和實現(xiàn)變得較為容易。當前第18頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

19結束返回

(3)能夠給出系統(tǒng)的邏輯表示和物理表示系統(tǒng)需求的邏輯表示用于指明系統(tǒng)所要達到的功能要求和需要處理的數(shù)據(jù),不涉及實現(xiàn)的細節(jié)。系統(tǒng)需求的物理表示用于指明處理功能和數(shù)據(jù)結構的實際表現(xiàn)形式,通常由系統(tǒng)中的設備決定。3.1.3需求分析的原則當前第19頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

20結束返回3.1軟件需求分析3.1.4需求分析的方法結構化分析

(SA)面向對象分析

(OOA)實體關系圖數(shù)據(jù)流圖狀態(tài)轉換圖數(shù)據(jù)建模功能建模動態(tài)建模分析建模方法進行進行進行結構化分析(SA,StructureAnalysis)面向對象分析(OOA,ObjectOrientedAnalysis)圖3.5需求分析方法當前第20頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

21結束返回3.1軟件需求分析3.1.5需求分析模型需求分析產(chǎn)生的模型使人們可以更好地理解將要建造的系統(tǒng),它有助于系統(tǒng)分析員理解系統(tǒng)的信息、功能和行為,成為確定需求規(guī)格說明完整性、一致性和精確性的重要依據(jù),奠定了軟件設計的基礎。當前第21頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

22結束返回3.1軟件需求分析3.1.5需求分析模型結構化分析導出的分析模型包括數(shù)據(jù)模型、功能模型和行為模型。該模型以“數(shù)據(jù)字典”為核心,描述了軟件使用的所有數(shù)據(jù)對象,圍繞這個核心的是“實體關系圖”、“數(shù)據(jù)流圖”和“狀態(tài)轉換圖”。具體形式如下圖所示:當前第22頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

23結束返回3.1軟件需求分析3.1.5需求分析模型圖3.6需求分析模型實體關系圖(ER,EntityRelation):數(shù)據(jù)建模的基礎,描述數(shù)據(jù)對象及其關系;數(shù)據(jù)流圖(DFD,DataFlowDiagram):功能建模的基礎,描述數(shù)據(jù)怎樣轉換以及轉換的功能;狀態(tài)轉換圖(ST,StatusTranformtion)行為建模的基礎,表示系統(tǒng)的各種行為狀態(tài)以及狀態(tài)間的轉換方式。

;當前第23頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

24結束返回3.2數(shù)據(jù)建摸3.2.1實體關系圖3.2.2方框層次圖3.2.3Warnier圖當前第24頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

25結束返回3.2數(shù)據(jù)建摸(1)數(shù)據(jù)模型包括三種基本元素:數(shù)據(jù)對象屬性關系它們對理解問題的信息域提供了基礎。3.2.1實體關系圖數(shù)據(jù)對象表示具有不同屬性的事物,ER用帶有標記的矩形來表示。關系表示數(shù)據(jù)對象之間的相互連接,ER用直線連接相關聯(lián)的數(shù)據(jù)對象,并在直線上用帶標記的菱形框來表示關系。屬性也稱性質,指數(shù)據(jù)對象某一方面的特征,ER用帶有標記的橢圓來表示。當前第25頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

26結束返回3.2數(shù)據(jù)建摸3.2.1實體關系圖

屬性(2)ER圖中的基本符號連接圖3.7ER圖的符號當前第26頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

27結束返回3.2.1實體關系圖兩個數(shù)據(jù)對象之間有以下三種關聯(lián),ER在數(shù)據(jù)對象之間的連線上用數(shù)字或字母表示:

一對一(1:1):對象A的一個實例只能關聯(lián)到對象B的一個實例,對象B的一個實例也只能關聯(lián)到對象A的一個實例.對象A對象B丈夫妻子關系夫妻1111圖3.8一對一關系當前第27頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

28結束返回3.2.1實體關系圖

一對多(1:N):對象A的一個實例可以關聯(lián)到對象B的一個或多個實例,而對象B的一個實例只能關聯(lián)到對象A的一個實例,如一個母親可以有多個孩子,而一個孩子只能有一個母親。

對象A對象B母親孩子關系母子1n1n圖3.9一對多關系當前第28頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

29結束返回3.2.1實體關系圖多對多(M:N):對象A的一個實例可以關聯(lián)到對象B的一個或多個實例,同時對象B的一個實例也可以關聯(lián)到對象A的一個或多個實例,如一個叔叔可以有多個侄子,一個侄子也可以有多個叔叔。

對象A對象B叔叔侄子關系叔侄mnmn圖3.10多對多關系當前第29頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

30結束返回學生選課ER圖圖3.11當前第30頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

31結束返回工資計算系統(tǒng)ER圖圖3.12當前第31頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

32結束返回3.2數(shù)據(jù)建摸3.2.2方框層次圖層次方框圖也是數(shù)據(jù)建模的圖形工具層次方框圖通過樹型結構的一系列多層次的矩形框描述復雜數(shù)據(jù)的層次結構。樹型結構頂端的矩形框只有一個,用于代表完整的數(shù)據(jù)結構。下面各層的矩形框是對完整數(shù)據(jù)結構的逐步分解和細化得到的數(shù)據(jù)子集;底層的矩形框代表組成該數(shù)據(jù)結構的基本元素,是數(shù)據(jù)的最小單位,不可再分割。當前第32頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

33結束返回3.2數(shù)據(jù)建摸3.2.2方框層次圖層次方框圖非常適合描述自頂向下的需求分析方法中數(shù)據(jù)的層次關系。系統(tǒng)分析員可以從對頂層信息的分類開始,沿著層次圖中的每條路徑逐步細化,直到確定了數(shù)據(jù)結構的全部細節(jié)為止。當前第33頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

34結束返回3.2數(shù)據(jù)建摸3.2.2方框層次圖

例如,某單位職工的實發(fā)工資由應發(fā)工資和扣款兩部分組成,每部分又可進一步細分。如應發(fā)工資又可分為基本工資和獎金;基本工資又可分為國家工資、津貼、補貼;獎金也可分為出勤獎和業(yè)績獎;津貼和補貼還可以再進一步地細分。實發(fā)工資的層次方框圖如下圖所示。當前第34頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

35結束返回圖3.13

職工工資的層次方框圖當前第35頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

36結束返回3.2數(shù)據(jù)建摸3.2.3Warnier圖

Warnier圖是法國科學家Warnier提出的另一種描述數(shù)據(jù)層次結構的圖形工具。與層次方框圖類似,Warnier圖也采用了樹型結構表示數(shù)據(jù),但與層次方框圖相比,Warnier圖對數(shù)據(jù)的描繪手段更加豐富。當前第36頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

37結束返回3.2.3Warnier圖在Warnier圖中,使用大括號來區(qū)分數(shù)據(jù)結構的層次。一個大括號內的所有名字都屬于同一類信息;異或符號“⊕”用于表明一類信息或一個數(shù)據(jù)元素在一定條件下出現(xiàn),而且在這個符號上、下方的兩個名字所代表的數(shù)據(jù)只能出現(xiàn)一個。在一個名字下面或右邊的圓括號中出現(xiàn)的數(shù)字指明了這個名字所代表的信息類或數(shù)據(jù)元素在該數(shù)據(jù)結構中重復出現(xiàn)的次數(shù)。當前第37頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

38結束返回3.2.3Warnier圖例如,某計算機公司的一種軟件產(chǎn)品要么是系統(tǒng)軟件,要么是應用軟件;系統(tǒng)軟件中有k1種操作系統(tǒng)、k2種編譯程序,此外還有工具軟件;工具軟件進一步又可劃分為編輯程序、測試工具和輔助設計工具,它們各自的數(shù)量分別為j1、j2和j3。描繪這種軟件產(chǎn)品的Warnier圖如圖4.14所示。當前第38頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

39結束返回3.2.3Warnier圖圖4.14描繪一種軟件產(chǎn)品的Warnier圖軟件產(chǎn)品系統(tǒng)軟件應用軟件⊕操作系統(tǒng)(k1)編譯程序(k2)工具軟件編輯程序(j1)測試工具(j2)輔助設計工具(j3)當前第39頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

40結束返回練習題--實體關系圖圖3.15某學校教學管理ER圖教師

學生課程教學職稱職務性別姓名職工號學號院系年級課名學時課程號學分姓名性別1nnm成績當前第40頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

41結束返回小結作業(yè)P571,5需求分析的任務需求分析的步驟需求分析的原則實體關系圖方框層次圖Warnier圖需求分析的方法需求分析模型當前第41頁\共有145頁\編于星期二\14點第3章系統(tǒng)工程基礎與可行性研究2023/6/15

42結束返回軟件定義時期需求分析可行性研究問題定義系統(tǒng)分析報告可行性分析報告初步項目計劃需求規(guī)格說明書要解決的問題是什么是否有可行的解決辦法目標系統(tǒng)必須做什么任務任務任務撰寫撰寫撰寫圖1.11軟件定義軟件定義部分又可劃分為問題定義、可行性研究和需求分析三個階段。軟件定義部分當前第42頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

43結束返回3.1軟件需求分析3.1.5需求分析模型圖3.6需求分析模型實體關系圖(ER,EntityRelation):數(shù)據(jù)建模的基礎,描述數(shù)據(jù)對象及其關系;實體關系圖方框層次圖Warnier圖當前第43頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

44結束返回3.3功能建?!颈竟?jié)知識點】數(shù)據(jù)流圖功能建模當前第44頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

45結束返回3.3功能建模

數(shù)據(jù)流圖(DFD,DataFlowDiagram)是結構化分析的基本工具,它描述了信息流和數(shù)據(jù)轉換,通過對加工進行分解可以得到數(shù)據(jù)流圖。3.3.1數(shù)據(jù)流圖概念數(shù)據(jù)流圖功能模型創(chuàng)建當前第45頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

46結束返回3.3功能建模

DFD有四種元素,其基本符號如下圖所示:3.3.2數(shù)據(jù)流圖符號外部實體:與系統(tǒng)進行交互,但系統(tǒng)不對其進行加工和處理的實體,用帶標記的矩形表示;加工:對數(shù)據(jù)進行的變換和處理,用帶標記的圓圈表示;數(shù)據(jù)流:在數(shù)據(jù)加工之間或數(shù)據(jù)存儲和數(shù)據(jù)加工之間進行流動的數(shù)據(jù),用帶標記的箭頭表示;數(shù)據(jù)存儲:在系統(tǒng)中需要存儲的實體,用帶標記的雙實線表示。

當前第46頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

47結束返回3.3.3基本系統(tǒng)模型第0層DFD稱為基本系統(tǒng)模型,可以將整個軟件系統(tǒng)表示為一個具有輸入和輸出的黑匣子,用一個圓圈表示。圖3.16系統(tǒng)的頂層數(shù)據(jù)流圖當前第47頁\共有145頁\編于星期二\14點第4章軟件需求分析與建模2023/6/15

48結束返回3.3.4數(shù)據(jù)流與加工之間的關系表3.1加工中常見關系的符號表示符號含義由數(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其中之一當前第48頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

49結束返回3.3功能建模3.3.5數(shù)據(jù)流模型的創(chuàng)建通常,數(shù)據(jù)流圖是分層繪制的,整個過程反映了自頂向下進行功能分解和細化的分析過程。頂層(也稱第0層)DFD用于表示系統(tǒng)的開發(fā)范圍,以及該系統(tǒng)與周圍環(huán)境的數(shù)據(jù)交換關系;

最底層DFD代表了那些不可進一步分解的“原子加工”;

中間層DFD是對上一層父圖的細化,其中的每一個加工可以繼續(xù)細化,中間層次的多少由系統(tǒng)的復雜程度決定。當前第49頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

50結束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建(1)建立數(shù)據(jù)流圖的步驟

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

②確定并標記主要的輸入和輸出;

③分離出下一層中的加工、數(shù)據(jù)對象和存儲,并對其進行細化,一次細化一個加工;

④標記所有加工和箭頭;

⑤重復步驟③和④,直到所有的加工只執(zhí)行一個簡單的操作,可以很容易地用程序實現(xiàn)。當前第50頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

51結束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建(2)建立數(shù)據(jù)流圖的說明繪制第0層DFD的時候,將整個系統(tǒng)看成一個加工,然后找出作用于該加工的外部實體,以及相應的數(shù)據(jù)輸入和輸出。繪制下一層數(shù)據(jù)流圖時,細化第0層的加工,從而描述系統(tǒng)的主要功能。繼續(xù)進行分解,直到所有的加工只執(zhí)行一個簡單的操作為止。當前第51頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

52結束返回3.3功能建模3.3.5數(shù)據(jù)流模型的創(chuàng)建圖3.17工資計算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖(3)建立頂層數(shù)據(jù)流圖—系統(tǒng)基本模型當前第52頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

53結束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建(4)分層細化上一層DFD中的每一個圓圈可以進一步擴展成一個獨立的數(shù)據(jù)流圖,以揭示系統(tǒng)中程序的細節(jié)部分。當前第53頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

54結束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建圖3.18“自頂向下,逐步分解”過程示意圖當前第54頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

55結束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建這種循序漸進的細化過程可以繼續(xù)進行,直到最低層的圖僅描述原子過程操作為止。每一層數(shù)據(jù)流圖必須與它上一層數(shù)據(jù)流圖保持平衡和一致,因此,子圖的所有輸入輸出流要與其父圖相匹配。(5)注意的問題當前第55頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

56結束返回3.3.5數(shù)據(jù)流模型的創(chuàng)建圖3.19工資計算系統(tǒng)第一層數(shù)據(jù)流圖(6)實例—分層細化例:工資計算系統(tǒng)23當前第56頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

57結束返回圖3.20工資計算系統(tǒng)的第二層數(shù)據(jù)流圖(a)“計算工資”子數(shù)據(jù)流圖;(b)“工資轉存”子數(shù)據(jù)流圖實例—分層細化當前第57頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

58結束返回圖3.21工資計算系統(tǒng)的第三層數(shù)據(jù)流圖實例—分層細化當前第58頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

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

(1)每個加工至少應有一個輸入數(shù)據(jù)流(反映被處理數(shù)據(jù)的來源)和一個輸出數(shù)據(jù)流(反映加工的結果)。3.3.6建立數(shù)據(jù)流模型的原則

(2)數(shù)據(jù)流圖中各構成元素的名稱必須具有明確的含義且能夠代表對應元素的內容或功能。

(3)對數(shù)據(jù)流圖中某個加工進行細化生成的下層數(shù)據(jù)流圖,稱為其上層圖的子圖。應保證分層數(shù)據(jù)流圖中任意對應的父圖和子圖的輸入/輸出數(shù)據(jù)保持一致。圖3.17工資計算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖圖3.19工資計算系統(tǒng)第一層數(shù)據(jù)流圖23當前第59頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

60結束返回實例—分層細化

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

(5)在父圖中不要出現(xiàn)子圖中涉及的局部數(shù)據(jù)存儲文件。通常除底層數(shù)據(jù)流圖中需標明所有數(shù)據(jù)存儲外,為了保持畫面的整潔,各中間層數(shù)據(jù)流圖只需顯示處于加工之間的接口文件即可。3.3.6建立數(shù)據(jù)流模型的原則圖3.19工資計算系統(tǒng)第一層數(shù)據(jù)流圖23當前第60頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

61結束返回實例—分層細化

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

(7)數(shù)據(jù)流圖的分解速度應保持適中。通常一個加工每次可分解為2-4個子加工,最多不要超過七個,因為過快的分解會增加用戶對系統(tǒng)模型理解的難度。

(8)為了便于數(shù)據(jù)流圖在計算機上的輸入和輸出,免去畫斜線、弧線、圓等符號的麻煩,數(shù)據(jù)流圖還有另一套表示符號,如表4.2所示。3.3.6建立數(shù)據(jù)流模型的原則當前第61頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

62結束返回實例—分層細化表3.2數(shù)據(jù)流圖的另一套表示符號編號編號符號含義數(shù)據(jù)流,只能為水平或垂直的帶箭頭直線

加工數(shù)據(jù)存儲數(shù)據(jù)的源點或終點3.3.7數(shù)據(jù)流圖的另一套表示符號當前第62頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

63結束返回實例—分層細化練習題:試畫你開發(fā)的系統(tǒng)的數(shù)據(jù)流圖。3.3功能建模(1)建立數(shù)據(jù)流圖的步驟(2)建立數(shù)據(jù)流模型的原則本節(jié)小結:當前第63頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

64結束返回3.4行為建?!颈竟?jié)知識點】狀態(tài)轉換圖行為建模當前第64頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

65結束返回

狀態(tài)轉換圖通過描述狀態(tài)以及導致系統(tǒng)改變狀態(tài)的事件來表示系統(tǒng)的行為,它沒有表示出系統(tǒng)所執(zhí)行的處理,只表示了處理結果可能的狀態(tài)轉換。3.4.1狀態(tài)轉換圖

(1)狀態(tài)轉換圖的概念

當前第65頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

66結束返回

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

3.4.1狀態(tài)轉換圖

(2)狀態(tài)轉換圖符號

當前第66頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

67結束返回

例如,在操作系統(tǒng)中,當存在多個申請占用CPU運行的進程(進程是分配CPU的最小處理單位)時,系統(tǒng)將按照某種調度策略為各個進程分配CPU。此時,進程的狀態(tài)可能有三種:就緒、運行和等待。就緒:等待分配CPU;運行:占用CPU進行相應的處理;掛起:放棄CPU的使用。3.4.1狀態(tài)轉換圖

(3)實例

當前第67頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

68結束返回3.4.1狀態(tài)轉換圖

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

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

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

t3:分配CPU;

t4:已用完分配的CPU時間。在上面描述的情況下,有關CPU分配的進程的狀態(tài)遷移圖如圖3.22(a)所示。當前第68頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

69結束返回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)。當前第69頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

70結束返回表3.3進程的狀態(tài)遷移表

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

S3

t2

S1t3S2

t4

S1

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

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

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

t3:分配CPU;

t4:已用完分配的CPU時間。當前第70頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

71結束返回

如果狀態(tài)轉換圖所描述的系統(tǒng)比較復雜,則可以采用狀態(tài)圖的分層表示法。例如對圖4.22(a)所示的狀態(tài)圖中的大狀態(tài)S1進行細化,就得到了圖4.22(b)所示的下層狀態(tài)遷移圖。

如果在狀態(tài)遷移圖,一個狀態(tài)由于某個事件而導致的下一個狀態(tài)可能會有多個,可在狀態(tài)遷移圖中引入判斷框和處理框,如圖4.22(c)中所示的狀態(tài)遷移圖就是采用這種方法對圖4.22(a)的變形。3.4.3狀態(tài)遷移圖當前第71頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

72結束返回3.4.3狀態(tài)遷移圖圖3.22狀態(tài)遷移圖舉例(a)狀態(tài)遷移圖;(b)細化后的狀態(tài)遷移圖;(c)狀態(tài)遷移圖的變形當前第72頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

73結束返回3.5數(shù)據(jù)字典【本節(jié)知識點】數(shù)據(jù)字典結構化語言、判斷樹和判斷表當前第73頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

74結束返回數(shù)據(jù)字典描述數(shù)據(jù)流圖的數(shù)據(jù)存儲、數(shù)據(jù)加工(最底層加工)和數(shù)據(jù)流,它記錄的主要內容有:基本信息:名字、別名、描述;

定義:數(shù)據(jù)長度、數(shù)據(jù)類型、數(shù)據(jù)結構;

使用特點:取值范圍、使用頻率、使用方式等;

控制信息:來源、用戶、引用程序、讀寫權限等;其他說明:3.5數(shù)據(jù)字典3.5.1數(shù)據(jù)字典的描述當前第74頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

75結束返回

在數(shù)據(jù)字典中,數(shù)據(jù)元素的定義可以是基本元素及其組合,數(shù)據(jù)進行自頂向下地分解,直到不需要進一步解釋且參與人員都清楚其含義為止。3.5.1數(shù)據(jù)字典的描述當前第75頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

76結束返回數(shù)據(jù)組合有三種方式:

順序:以確定的次序連接多個數(shù)據(jù)項;

選擇:從多個數(shù)據(jù)項中選取一個;

重復:將某個數(shù)據(jù)項重復多次。為了能夠對數(shù)據(jù)流中的各組成成分進行準確的定義,在數(shù)據(jù)字典中使用了多種具有特定意義的符號,如下:3.5.1數(shù)據(jù)字典的描述當前第76頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

77結束返回符號含義說明=表示定義為用于對=左邊的條目進行確切的定義+表示與關系X=a+b表示X由a和b共同構成[?|?][?,?]表示或關系X=[a|b]與X=[a,b]等價,表示X由a或b組成(?)表示可選項X=(a)表示a可以在X中出現(xiàn),也可以不出現(xiàn){}表示重復大括號中的內容重復0到多次m{}n表示規(guī)定次數(shù)的重復重復的次數(shù)最少m次,最多n次“?”表示基本數(shù)據(jù)元素“”中的內容是基本數(shù)據(jù)元素,不可再分..連接符month=1..12表示month可取1~12中的任意值*?*表示注釋兩個星號之間的內容為注釋信息表3.5數(shù)據(jù)字典中的基本符號及含義3.5.1數(shù)據(jù)字典的描述當前第77頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

78結束返回3.5.2數(shù)據(jù)字典中的條目及說明格式

數(shù)據(jù)字典是關于數(shù)據(jù)流圖中各種成分詳細定義的信息集合,可將其按照說明對象的類型劃分為四類條目,分別為數(shù)據(jù)流條目、數(shù)據(jù)項條目、數(shù)據(jù)文件條目和數(shù)據(jù)加工條目。為了便于軟件開發(fā)人員方便地查找所需的條目,應按照一定的順序對數(shù)據(jù)字典中的不同條目進行排列。下面分別對各類條目的內容及說明格式進行介紹。當前第78頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

79結束返回3.5.2數(shù)據(jù)字典中的條目及說明格式

數(shù)據(jù)流在數(shù)據(jù)流圖中主要用于說明數(shù)據(jù)結構在系統(tǒng)中的作用和流動方向,因此數(shù)據(jù)流也被稱作“流動的數(shù)據(jù)結構”。數(shù)據(jù)字典中數(shù)據(jù)流條目應包括以下幾項主要內容:數(shù)據(jù)流名稱、數(shù)據(jù)流別名、說明、數(shù)據(jù)流來源、數(shù)據(jù)流流向、數(shù)據(jù)流組成和數(shù)據(jù)流量等。例如:工資系統(tǒng)中的出勤表數(shù)據(jù)流在數(shù)據(jù)字典中的條目描述為:1.數(shù)據(jù)流條目當前第79頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

80結束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)流名稱出勤表數(shù)據(jù)流別名無說明由人事部門每月月底上報的職工考勤統(tǒng)計數(shù)字數(shù)據(jù)流來源人事部門數(shù)據(jù)流流向加工1.2(計算應發(fā)工資)數(shù)據(jù)流組成出勤表=年份+月份+職工號+出勤時數(shù)+病假時數(shù)+事假時數(shù)+曠工時數(shù)數(shù)據(jù)流量1份/月表3.6出勤表數(shù)據(jù)流的描述表當前第80頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

81結束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)流圖中每個數(shù)據(jù)結構都是由若干個數(shù)據(jù)項構成的,數(shù)據(jù)項是加工中的最小單位,不可再分。數(shù)據(jù)字典的數(shù)據(jù)項條目中應包含的主要內容有:數(shù)據(jù)項名稱、數(shù)據(jù)項別名、說明、類型、長度、取值范圍及含義等。

例如:出勤表中的職工號數(shù)據(jù)項在數(shù)據(jù)字典中的條目描述為2.數(shù)據(jù)項條目當前第81頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

82結束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)項名稱職工號數(shù)據(jù)項別名zg_no說明本單位職工的惟一標識類型字符串長度6取值范圍及含義1~2位(00..99)為部門編號:3~6位(XX0001..XX9999)為人員編號表3.7出勤表中的職工號數(shù)據(jù)項條目描述表當前第82頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

83結束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)文件是數(shù)據(jù)流圖中數(shù)據(jù)結構的載體。數(shù)據(jù)字典的數(shù)據(jù)文件條目中應包含的主要內容有:數(shù)據(jù)文件名稱、說明、數(shù)據(jù)文件組成、組織方式、存取方式、存取頻率等。

例如:工資系統(tǒng)中的職工工資檔案文件在數(shù)據(jù)字典中的條目描述為:3.數(shù)據(jù)文件條目當前第83頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

84結束返回3.5.2數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)文件名稱工資檔案數(shù)據(jù)文件別名Zgda表說明單位職工的基本工資、各項津貼及補貼信息數(shù)據(jù)文件組成職工號+國家工資+國家津貼+職務津貼+職齡津貼+交通補貼+部門補貼+其他補貼組織方式按職工號從小到大排列存取方式順序存取頻率1次/月表3.8職工工資檔案文件描述表當前第84頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

85結束返回3.5.2數(shù)據(jù)字典中的條目及說明格式在數(shù)據(jù)流圖中只簡單給出了每個加工的名稱,在數(shù)據(jù)字典中通過數(shù)據(jù)加工條目主要是要說明每個加工是用來“做什么”的。數(shù)據(jù)字典的數(shù)據(jù)文件條目中應包含的主要內容有:

數(shù)據(jù)加工名稱、加工編號、說明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流、加工邏輯等。

例如:工資系統(tǒng)中的計算應發(fā)工資這個加工在數(shù)據(jù)字典中的條目描述為:4.數(shù)據(jù)加工條目當前第85頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

86結束返回數(shù)據(jù)加工名稱計算應發(fā)工資數(shù)據(jù)加工編號1.2說明根據(jù)職工的工資檔案及本月獎金發(fā)放表數(shù)據(jù)計算每個職工的應發(fā)工資輸入數(shù)據(jù)流獎金發(fā)放表及工資檔案輸出數(shù)據(jù)流應發(fā)工資表加工邏輯DOWHILE工資檔案文件指針未指向文件尾從工資檔案中取出當前職工工資的各項基本數(shù)據(jù)進行累加;在獎金發(fā)放表中按職工號查找到該職工的獎金數(shù);對獎金數(shù)與工資基本數(shù)據(jù)的累加和進行求和得到該職工的應發(fā)工資數(shù)ENDDO表3.9計算應發(fā)工資加工描述表當前第86頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

87結束返回3.5數(shù)據(jù)字典練習題:試定義你開發(fā)的系統(tǒng)的數(shù)據(jù)字典。(1)建立數(shù)據(jù)字典的概念(2)數(shù)據(jù)字典的描述本節(jié)小結:當前第87頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

88結束返回3.5.3編寫加工規(guī)格說明加工規(guī)格說明用于描述底層數(shù)據(jù)流圖的加工,包括敘述性正文、加工算法、數(shù)學方程、表或圖表等,它可以成為編寫軟件需求規(guī)格說明的第一步,并為加工的程序設計提供指南。通常,加工規(guī)格說明采用結構化語言、判斷樹和判斷表等進行描述。當前第88頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

89結束返回3.5.3編寫加工規(guī)格說明結構化語言是一種介于自然語言和形式化語言之間的半形式化語言,例如,上面對計算應發(fā)工資條目中加工邏輯的描述就是采用的結構化語言。它是在自然語言的基礎上加入了一定的限制,通過使用有限的詞匯和有限的語句來較為嚴格地描述加工邏輯。描述時可以使用的詞匯包括:數(shù)據(jù)字典中定義的名字、基本控制結構中的關鍵詞、自然語言中具有明確意義的動詞和少量的自定義詞匯等。盡量不使用形容詞或副詞,可以使用一些簡單的算術或邏輯運算符。1.結構化語言當前第89頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

90結束返回3.5.3編寫加工規(guī)格說明

(1)順序結構:由自然語言中的簡單祈使語句序列構成。

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

(3)循環(huán)結構:通常采用DOWHILE…ENDDO和REPEAT…UNTIL結構。結構化語言中的三種基本結構的描述方法如下:當前第90頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

91結束返回3.5.3編寫加工規(guī)格說明當某一加工的實現(xiàn)需要同時依賴多個邏輯條件的取值時,對加工邏輯的描述就會變得較為復雜,很難采用結構化語言清楚地將其描述出來,而采用判定表則能夠完整且清晰地表達復雜的條件組合與由此產(chǎn)生的動作之間的對應關系。

判定表通常由用雙線分隔開的四個部分構成:左上部用于列出所有相關的條件;左下部用于列出所有可能產(chǎn)生的動作;右上部用于列出所有可能的條件組合;右下部用于列出在各種組合條件下需要進行的動作。2.判定表當前第91頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

92結束返回3.5.3編寫加工規(guī)格說明下面以描述某單位工資檔案管理系統(tǒng)中“職務津貼計算”加工邏輯為例說明判定表的寫法。由于篇幅限制,在下面的例子中假定職工的職稱只分為助工、工程師和高工三種,對應的判定表見表3.10。條件列表條件組合動作列表對應的動作通常把表中任意一個條件組合的特定取值及其相應要執(zhí)行的動作稱為規(guī)則。判定表的一般格式如下所示。

當前第92頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

93結束返回3.5.3編寫加工規(guī)格說明表3.10“職務津貼計算”判定表當前第93頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

94結束返回3.5.3編寫加工規(guī)格說明

要生成上面的判定表,具體的步驟如下:

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

(2)列出所有的條件和動作。

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

(4)填寫每種條件組合下對應的動作。

(5)若表中存在不同規(guī)則對應相同動作且其條件組合存在某種關系時,需要對表進行必要的化簡。當前第94頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

95結束返回3.5.3編寫加工規(guī)格說明

判定樹是判定表的圖形表示,它與判定表的作用大致相同,但比判定表更加直觀,更易于理解和掌握。例如,圖3.23是采用判定樹對“基本獎金計算”加工邏輯的描述。3.判定樹當前第95頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

96結束返回3.5.3編寫加工規(guī)格說明圖3.23“基本獎金計算”判定樹當前第96頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

97結束返回3.6結構化分析過程結構化分析(SA,StructureAnalysis)過程實質上就是創(chuàng)建數(shù)據(jù)模型、功能模型和行為模型,其中數(shù)據(jù)建模的工具是實體關系圖,功能建模的工具是數(shù)據(jù)流圖,行為建模的工具是狀態(tài)轉換圖,另外使用數(shù)據(jù)字典定義系統(tǒng)的所有數(shù)據(jù)項。

當前第97頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

98結束返回3.6結構化分析過程為了理解和學會使用這些建模工具,我們結合一個“學生成績管理系統(tǒng)”的實例講解整個分析過程,并給出部分實體關系圖、數(shù)據(jù)流圖、狀態(tài)轉換圖和數(shù)據(jù)字典。當前第98頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

99結束返回3.6結構化分析過程下面列出用戶對學生成績管理系統(tǒng)的要求:教務人員錄入學生信息、課程信息和成績信息;學生可以隨時查詢自己所選課程的成績;由于學生成績屬于敏感信息,系統(tǒng)必須提供必要的安全措施以防非法存取。當前第99頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

100結束返回3.6結構化分析過程

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

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

(3)如果存在連接,應創(chuàng)建一個或多個關系;

(4)對每一個關系,確定其關聯(lián)類型;

數(shù)據(jù)建模步驟當前第100頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

101結束返回3.6結構化分析過程

(5)重復步驟(2)到步驟(4),直到定義了所有關系。

(6)定義每個實體的屬性;

(7)形式化并復審實體關系圖;

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

數(shù)據(jù)建模步驟當前第101頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

102結束返回3.6結構化分析過程實例分析:學生成績管理系統(tǒng)實體:學生、課程、成績。實體屬性定義:

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

課程:課程編號、課程名稱、課程學時,課程學分、課程描述

成績:學號、課程編號、分數(shù)、考核日期

3.6.1創(chuàng)建實體關系圖當前第102頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

103結束返回3.6結構化分析過程3.6.1創(chuàng)建實體關系圖顯然,學生、課程和成績都是系統(tǒng)的實體,并且可以初步定義它們的屬性。教務人員雖然是系統(tǒng)的用戶,但其信息與系統(tǒng)處理無關,因此不用作為實體。由于成績信息包含了選課信息,因此選課信息不用單獨記錄。因此系統(tǒng)的實體是學生、課程和成績。

當前第103頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

104結束返回3.6結構化分析過程

我們分析這些實體之間的關聯(lián)關系:從實際情況得知,一個學生可以選多門課程,一門課程也可以有多個學生選修,但每個學生選一門課程必須有一個成績。根據(jù)上述分析,我們得到如圖所示的實體關系圖:

3.6.1創(chuàng)建實體關系圖當前第104頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

105結束返回3.6結構化分析過程

實體關系圖:

圖1學生選課E-R簡圖當前第105頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

106結束返回3.6結構化分析過程

實體關系圖:

學生課程選課學號院系入學日期課名學時課程號學分姓名性別nm專業(yè)成績課號分數(shù)學號考試日期描述1圖2學生選課E-R圖當前第106頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

107結束返回3.6結構化分析過程3.6.2創(chuàng)建數(shù)據(jù)流模型

通常,數(shù)據(jù)流圖是分層繪制的,整個過程反映了自頂向下進行功能分解和細化的分析過程。

頂層(也稱第0層)DFD用于表示系統(tǒng)的開發(fā)范圍,以及該系統(tǒng)與周圍環(huán)境的數(shù)據(jù)交換關系;

最底層DFD代表了那些不可進一步分解的“原子加工”;

中間層DFD是對上一層父圖的細化,其中的每一個加工可以繼續(xù)細化,中間層次的多少由系統(tǒng)的復雜程度決定。

當前第107頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

108結束返回3.6結構化分析過程3.6.2創(chuàng)建數(shù)據(jù)流模型

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

(2)確定并標記主要的輸入和輸出;

(3)分離出下一層中的加工、數(shù)據(jù)對象和存儲,并對其進行細化,一次細化一個加工;

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

(5)重復步驟(3)和(4),直到所有的加工只執(zhí)行一個簡單的操作,可以很容易地用程序實現(xiàn)。

當前第108頁\共有145頁\編于星期二\14點第3章軟件需求分析與建模2023/6/15

109結束返回3.6結構化分析過程3.6.2創(chuàng)建數(shù)據(jù)流模型

繪制第0層DFD的時候,將整個系統(tǒng)看成一個加工,然后找出作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論