版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第2章 軟件工程過程模型2021-10-25 1瀑布模型(waterfall model) 定義 部分 開發(fā)部分 維護部分制定計劃需求分析軟件設(shè)計程序編寫軟件測試運行/維護圖2.7 瀑布模型2021-10-25 2第3章 軟件需求分析與建模3.1 需求分析3.2 數(shù)據(jù)建模3.3 功能建模3.4 行為建模3.6 結(jié)構(gòu)化需求分析的若干技術(shù)3.5 數(shù)據(jù)字典3.7 驗證軟件需求第3章 軟件需求分析與建模2021-10-25 3【難點、重點】 本章的學(xué)習(xí)重點在于理解軟件需求的概念和重要性,熟悉需求開發(fā)和需求管理的基本思想和主要活動,掌握結(jié)構(gòu)化的分析方法; 難點是怎樣在實際的軟件項目中靈活運用這些思想和方
2、法。第3章 軟件需求分析與建模2021-10-25 4【學(xué)習(xí)目的】本章介紹需求分析的意義、概念和方法,了解結(jié)構(gòu)化分析方法和需求管理的關(guān)鍵活動; 要求學(xué)會運用實體關(guān)系圖、數(shù)據(jù)流圖和狀態(tài)控制圖進行結(jié)構(gòu)化分析建模,能夠編寫軟件需求規(guī)格說明書。第3章 軟件工程過程模型2021-10-25 5軟件需求分析的目的待開發(fā)項目的可行性分析的基礎(chǔ)上建立目標(biāo)系統(tǒng)的邏輯模型需求分析輸入輸出需求分析的目的第3章 軟件需求分析與建模2021-10-25 63.1 軟件需求分析3.1.1 需求分析的任務(wù)3.1.2 需求分析的步驟3.1.3 需求分析的原則第3章 軟件需求分析與建模2021-10-25 73.1 軟件需求分
3、析3.1.1 需求分析的任務(wù) (1)需求分析的主要任務(wù) 設(shè)計階段的依據(jù)需求分析階段軟件規(guī)格說明書生成、提交作為 就是要通過軟件開發(fā)人員與用戶的交流和討論,準(zhǔn)確地獲取用戶對系統(tǒng)的具體要求,見圖1.11。理解需求(1)軟件定義時期 軟件定義部分又可劃分為問題定義、可行性研究和需求分析三個階段。軟件定義時期需求分析可行性研究問題定義系統(tǒng)分析報告可行性分析報告初步項目計劃需求規(guī)格說明書1.3 軟件生存期(software life cycle)要解決的問題是什么是否有可行的解決辦法目標(biāo)系統(tǒng)必須做什么圖1.11 第1章 軟件工程引論任務(wù)任務(wù)任務(wù)撰寫撰寫撰寫進入下一時期第3章 軟件需求分析與建模2021-
4、10-25 93.1.1 需求分析的任務(wù) 由于需求分析研究的對象是用戶對開發(fā)項目的要求,在實現(xiàn)這一階段任務(wù)時必須要注意兩個問題。(2)需求分析研究的對象需求分析員軟件設(shè)計人員用戶交流的難題留下隱患系統(tǒng)模型花時搞清需求建好模型問題一問題二第4章 軟件需求分析與建模2021-10-25 10 (3) 系統(tǒng)的需求分類 業(yè)務(wù)需求業(yè)務(wù)需求反映了組織機構(gòu)或客戶對系統(tǒng)或產(chǎn)品高層次的目反映了組織機構(gòu)或客戶對系統(tǒng)或產(chǎn)品高層次的目標(biāo)要求,它們在項目視圖與范圍文檔中予以說明。標(biāo)要求,它們在項目視圖與范圍文檔中予以說明。 用戶需求用戶需求 描述了用戶使用產(chǎn)品必須要完成的任務(wù),可以在描述了用戶使用產(chǎn)品必須要完成的任務(wù),
5、可以在用例模型或方案腳本中予以說明。用例模型或方案腳本中予以說明。 功能需求功能需求 定義了開發(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ī)需求、費用需求等)等。第3章 軟件需求分析與建模2021-10-25 113.1 軟件需求分析3.1
6、.2 需求分析的步驟需求獲取需求分析需求建模編寫需求文檔需求驗證第3章 軟件需求分析與建模2021-10-25 123.1.2 需求分析的步驟需求分析階段的工作,大致可分為如下幾個步驟進行: 閱讀描述系統(tǒng)需求的用戶文檔;對相關(guān)軟件、技術(shù)的市場調(diào)查;對管理部門、用戶的訪問咨詢;對工作現(xiàn)場的實際考察等。 (1) 獲取用戶的需求 軟件開發(fā)人員只有通過認真細致的調(diào)查研究,才能獲得進行系統(tǒng)分析的原始資料。需求信息的獲取可來源于:第3章 軟件需求分析與建模2021-10-25 133.1.2 需求分析的步驟 (2) 需求分析 對于獲取的原始需求,軟件開發(fā)人員需要根據(jù)掌握的專業(yè)知識,運用抽象的邏輯思維,找出
7、需求間的內(nèi)在聯(lián)系和矛盾,去除需求中不合理和非本質(zhì)的部分,確定軟件系統(tǒng)的真正需求。 (3) 需求建模 對于確定的系統(tǒng)需求,軟件開發(fā)人員要通過現(xiàn)有的需求分析方法及工具對其進行清晰、準(zhǔn)確的描述,建立無二義性的、完整的系統(tǒng)邏輯模型。第3章 軟件需求分析與建模2021-10-25 143.1.2 需求分析的步驟 (4) 書寫需求說明書 需求階段應(yīng)提交的主要文檔包括需求規(guī)格說明書、初步的用戶手冊和修正后的開發(fā)計劃。其中,需求規(guī)格說明書是對分析階段主要成果的綜合描述,是該階段最重要的技術(shù)文檔。第3章 軟件需求分析與建模2021-10-25 153.1.2 需求分析的步驟 (5) 需求復(fù)審 為了保證軟件開發(fā)的
8、質(zhì)量,對需求分析階段的工作要按照嚴格的規(guī)范進行復(fù)審,從不同的技術(shù)角度對該階段工作做出綜合性的評價。 復(fù)審即要有用戶參加,也要有管理部門和軟件開發(fā)人員參加。第3章 軟件需求分析與建模2021-10-25 163.1 軟件需求分析3.1.3 需求分析的原則需求分析的原則 目前存在著許多需求分析的方法,雖然各種方法都有其獨特的描述方法,但不論采用何種方法,需求分析都必須遵循以下基本原則: (1) 能夠表達和理解問題的數(shù)據(jù)域和功能域 所有軟件開發(fā)的最終目的都是為了解決數(shù)據(jù)處理的問題,數(shù)據(jù)處理的本質(zhì)就是將一種形式的數(shù)據(jù)轉(zhuǎn)換成另一種形式的數(shù)據(jù)。需求分析階段必須明確系統(tǒng)中應(yīng)具備的每一個加工、加工的處理對象和
9、由加工所引起的數(shù)據(jù)形式的變化。第3章 軟件需求分析與建模2021-10-25 173.1.3 需求分析的原則需求分析的原則 (2) 分解 為了便于問題的解決和實現(xiàn),在需求分析過程中需要對于原本復(fù)雜的問題按照某種合適的方式進行分解(對功能域和數(shù)據(jù)域均可)。使系統(tǒng)的理解和實現(xiàn)變得較為容易。第3章 軟件需求分析與建模2021-10-25 18 (3) 能夠給出系統(tǒng)的邏輯表示和物理表示 系統(tǒng)需求的邏輯表示用于指明系統(tǒng)所要達到的功能要求和需要處理的數(shù)據(jù),不涉及實現(xiàn)的細節(jié)。 系統(tǒng)需求的物理表示用于指明處理功能和數(shù)據(jù)結(jié)構(gòu)的實際表現(xiàn)形式,通常由系統(tǒng)中的設(shè)備決定。3.1.3 需求分析的原則需求分析的原則第3章
10、軟件需求分析與建模2021-10-25 193.1 軟件需求分析3.1.4 需求分析的需求分析的方法方法結(jié)構(gòu)化分析 (SA)面向?qū)ο蠓治?(OOA)實體關(guān)系圖數(shù)據(jù)流圖狀態(tài)轉(zhuǎn)換圖數(shù)據(jù)建模功能建模動態(tài)建模分析建模方法進行進行進行結(jié)構(gòu)化分析(SA,Structure Analysis)面向?qū)ο蠓治?OOA,Object Oriented Analysis)方法方法第3章 軟件需求分析與建模2021-10-25 203.1 軟件需求分析3.1.5 需求分析模型需求分析模型 需求分析產(chǎn)生的模型使人們可以更好地理解將要建造的系統(tǒng),它有助于系統(tǒng)分析員理解系統(tǒng)的信息、功能和行為,成為確定需求規(guī)格說明完整性、一
11、致性和精確性的重要依據(jù),奠定了軟件設(shè)計的基礎(chǔ)。第3章 軟件需求分析與建模2021-10-25 213.1 軟件需求分析3.1.5 需求分析模型需求分析模型 結(jié)構(gòu)化分析導(dǎo)出的分析模型包括數(shù)據(jù)模型、功能模型和行為模型。 該模型以“數(shù)據(jù)字典”為核心,描述了軟件使用的所有數(shù)據(jù)對象,圍繞這個核心的是“實體關(guān)系圖”、“數(shù)據(jù)流圖”和“狀態(tài)轉(zhuǎn)換圖”。具體形式如下圖所示:第3章 軟件需求分析與建模2021-10-25 223.1 軟件需求分析3.1.5 需求分析模型需求分析模型模模實體關(guān)系圖(ER,Entity Relation):數(shù)據(jù)建模的基礎(chǔ),描述數(shù)據(jù)對象及其關(guān)系;數(shù)據(jù)流圖(DFD,Data Flow Di
12、agram):功能建模的基礎(chǔ),描述數(shù)據(jù)怎樣轉(zhuǎn)換以及轉(zhuǎn)換的功能;狀態(tài)轉(zhuǎn)換圖(ST,Status Tranformtion)行為建模的基礎(chǔ),表示系統(tǒng)的各種行為狀態(tài)以及狀態(tài)間的轉(zhuǎn)換方式。 ;第3章 軟件需求分析與建模2021-10-25 233.2 數(shù)據(jù)建摸3.2.1 實體關(guān)系圖3.2.2 方框?qū)哟螆D3.2.3 Warnier圖第3章 軟件需求分析與建模2021-10-25 243.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用
13、直線連接相關(guān)聯(lián)的數(shù)據(jù)對象,并在直線上用帶標(biāo)記的菱形框來表示關(guān)系。 屬性也稱性質(zhì),指數(shù)據(jù)對象某一方面的特征, ER用帶有標(biāo)記的橢圓來表示。第3章 軟件需求分析與建模2021-10-25 253.2 數(shù)據(jù)建摸3.2.1 實體關(guān)系圖 屬性(2)ER(2)ER圖中的基本符號圖中的基本符號圖3.7 ER圖的符號第3章 軟件需求分析與建模2021-10-25 263.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)系夫妻1
14、111圖3.8 一對一關(guān)系第3章 軟件需求分析與建模2021-10-25 273.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)系第3章 軟件需求分析與建模2021-10-25 283.2.1 實體關(guān)系圖 多對多(M:N):對象 A的一個實例可以關(guān)聯(lián)到對象B的一個或多個實例,同時對象 B的一個實例也可以關(guān)聯(lián)到對象A的一個或多個實例,如一個叔叔可以有多個侄子,一個侄子也可以有多個叔叔。 對象 A對
15、象 B叔叔侄子關(guān)系叔侄mnmn圖3.10 多對多關(guān)系第3章 軟件需求分析與建模2021-10-25 29選課mn學(xué)號專業(yè)年級課名課號學(xué)時1n學(xué)號專業(yè)課名課號學(xué)時學(xué)號課號n1姓名課程學(xué)生姓名課程學(xué)分學(xué)生年級選課單學(xué)分(a)(b )學(xué)生選課學(xué)生選課ER圖圖第3章 軟件需求分析與建模2021-10-25 30序號職工號獎項金額獎金序號職工號扣項金額扣款n獎勵1n扣款1職工1考勤1出勤性別職工號年齡職稱基本工資部門出勤時數(shù)請假時數(shù)曠工時數(shù)職工號工資計算系統(tǒng)工資計算系統(tǒng)ER圖圖第3章 軟件需求分析與建模2021-10-25 313.2 數(shù)據(jù)建摸3.2.2 方框?qū)哟螆D層次方框圖也是數(shù)據(jù)建模的圖形工具 層次
16、方框圖通過樹型結(jié)構(gòu)的一系列多層次的矩形框描述復(fù)雜數(shù)據(jù)的層次結(jié)構(gòu)。 樹型結(jié)構(gòu)頂端的矩形框只有一個,用于代表完整的數(shù)據(jù)結(jié)構(gòu)。下面各層的矩形框是對完整數(shù)據(jù)結(jié)構(gòu)的逐步分解和細化得到的數(shù)據(jù)子集;底層的矩形框代表組成該數(shù)據(jù)結(jié)構(gòu)的基本元素,是數(shù)據(jù)的最小單位,不可再分割。第3章 軟件需求分析與建模2021-10-25 323.2 數(shù)據(jù)建摸3.2.2 方框?qū)哟螆D 層次方框圖非常適合描述自頂向下的需求分析方法中數(shù)據(jù)的層次關(guān)系。 系統(tǒng)分析員可以從對頂層信息的分類開始,沿著層次圖中的每條路徑逐步細化,直到確定了數(shù)據(jù)結(jié)構(gòu)的全部細節(jié)為止。第3章 軟件需求分析與建模2021-10-25 333.2 數(shù)據(jù)建摸3.2.2 方框
17、層次圖 例如,某單位職工的實發(fā)工資由應(yīng)發(fā)工資和扣款兩部分組成,每部分又可進一步細分。如應(yīng)發(fā)工資又可分為基本工資和獎金;基本工資又可分為國家工資、津貼、補貼;獎金也可分為出勤獎和業(yè)績獎;津貼和補貼還可以再進一步地細分。 實發(fā)工資的層次方框圖如下圖所示。第3章 軟件需求分析與建模2021-10-25 34實發(fā)工資國家津貼職務(wù)津貼交通補貼部門補貼其他補貼補貼津貼國家工資基本工資出勤獎業(yè)績獎獎金應(yīng)發(fā)工資扣款缺勤扣款水電扣款個人所得稅扣款第3章 軟件需求分析與建模2021-10-25 353.2 數(shù)據(jù)建摸3.2.3 Warnier圖 Warnier圖是法國科學(xué)家Warnier提出的另一種描述數(shù)據(jù)層次結(jié)構(gòu)
18、的圖形工具。 與層次方框圖類似,Warnier圖也采用了樹型結(jié)構(gòu)表示數(shù)據(jù),但與層次方框圖相比,Warnier圖對數(shù)據(jù)的描繪手段更加豐富。 第3章 軟件需求分析與建模2021-10-25 363.2.3 Warnier圖 在Warnier圖中,使用大括號來區(qū)分數(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ù)。第3章 軟件需求分析與建模2021-10-25 373
19、.2.3 Warnier圖 例如,某計算機公司的一種軟件產(chǎn)品要么是系統(tǒng)軟件,要么是應(yīng)用軟件;系統(tǒng)軟件中有k1種操作系統(tǒng)、k2種編譯程序,此外還有工具軟件;工具軟件進一步又可劃分為編輯程序、測試工具和輔助設(shè)計工具,它們各自的數(shù)量分別為j1、j2和j3。描繪這種軟件產(chǎn)品的Warnier 圖如圖4.14所示。第3章 軟件需求分析與建模2021-10-25 383.2.3 Warnier圖圖4.14 描繪一種軟件產(chǎn)品的Warnier圖軟件產(chǎn)品軟件產(chǎn)品系統(tǒng)軟件系統(tǒng)軟件應(yīng)用軟件應(yīng)用軟件操作系統(tǒng)操作系統(tǒng) (k1)編譯程序編譯程序 (k2)工具軟件工具軟件編輯程序編輯程序 (j1)測試工具測試工具 (j2)輔
20、助設(shè)計工具輔助設(shè)計工具 (j3)第3章 軟件需求分析與建模2021-10-25 39練習(xí)題練習(xí)題-實體關(guān)系圖實體關(guān)系圖圖3.15 某學(xué)校教學(xué)管理ER圖教師學(xué)生課程教學(xué)職稱職務(wù)性別姓名職工號學(xué)號院系年級課名學(xué)時課程號學(xué)分姓名性別1nnm成績第3章 軟件需求分析與建模2021-10-25 40小結(jié)作業(yè) P57 1,5需求分析的任務(wù)需求分析的步驟需求分析的原則實體關(guān)系圖方框?qū)哟螆DWarnier圖需求分析的需求分析的方方法法需求分析模型需求分析模型第3章系統(tǒng)工程基礎(chǔ)與可行性研究2021-10-25 41軟件定義時期需求分析可行性研究問題定義系統(tǒng)分析報告可行性分析報告初步項目計劃需求規(guī)格說明書要解決的問
21、題是什么是否有可行的解決辦法目標(biāo)系統(tǒng)必須做什么任務(wù)任務(wù)任務(wù)撰寫撰寫撰寫圖1.11軟件定義 軟件定義部分又可劃分為問題定義、可行性研究和需求分析三個階段。軟件定義部分第3章 軟件需求分析與建模2021-10-25 423.1 軟件需求分析3.1.5 需求分析模型需求分析模型模模實體關(guān)系圖(ER,Entity Relation):數(shù)據(jù)建模的基礎(chǔ),描述數(shù)據(jù)對象及其關(guān)系;實體關(guān)系圖方框?qū)哟螆DWarnier圖第3章 軟件需求分析與建模2021-10-25 433.3 功能建?!颈竟?jié)知識點本節(jié)知識點】數(shù)據(jù)流圖數(shù)據(jù)流圖功能建模功能建模第3章 軟件需求分析與建模2021-10-25 443.3 功能建模 數(shù)據(jù)
22、流圖(DFD,Data Flow Diagram)是結(jié)構(gòu)化分析的基本工具,它描述了信息流和數(shù)據(jù)轉(zhuǎn)換,通過對加工進行分解可以得到數(shù)據(jù)流圖。3.3.1 數(shù)據(jù)流圖概念數(shù)據(jù)流圖功能模型創(chuàng)建第3章 軟件需求分析與建模2021-10-25 453.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)記的雙實線表示。 第3章 軟件需求分
23、析與建模2021-10-25 463.3.3 基本系統(tǒng)模型 第0層DFD稱為基本系統(tǒng)模型,可以將整個軟件系統(tǒng)表示為一個具有輸入和輸出的黑匣子,用一個圓圈表示。系統(tǒng)加工S輸入數(shù)據(jù)輸出數(shù)據(jù)I1InO1On圖3.16 系統(tǒng)的頂層數(shù)據(jù)流圖 第4章 軟件需求分析與建模2021-10-25 473.3.4 數(shù)據(jù)流與加工之間的關(guān)系表3.1 加工中常見關(guān)系的符號表示T*T*T+T+TT符符 號號含含 義義由數(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其
24、中之一第3章 軟件需求分析與建模2021-10-25 483.3 功能建模3.3.5 數(shù)據(jù)流模型的創(chuàng)建 通常,數(shù)據(jù)流圖是分層繪制的,整個過程反映了自頂向下進行功能分解和細化的分析過程。 頂層(也稱第0層)DFD用于表示系統(tǒng)的開發(fā)范圍,以及該系統(tǒng)與周圍環(huán)境的數(shù)據(jù)交換關(guān)系; 最底層DFD代表了那些不可進一步分解的“原子加工”; 中間層DFD是對上一層父圖的細化,其中的每一個加工可以繼續(xù)細化,中間層次的多少由系統(tǒng)的復(fù)雜程度決定。 第3章 軟件需求分析與建模2021-10-25 493.3.5 數(shù)據(jù)流模型的創(chuàng)建(1) 建立數(shù)據(jù)流圖的步驟 第0層DFD將整個系統(tǒng)表示成一個加工; 確定并標(biāo)記主要的輸入和輸
25、出; 分離出下一層中的加工、數(shù)據(jù)對象和存儲, 并對其進行細化,一次細化一個加工; 標(biāo)記所有加工和箭頭; 重復(fù)步驟和,直到所有的加工只執(zhí)行一個簡單的操作,可以很容易地用程序?qū)崿F(xiàn)。第3章 軟件需求分析與建模2021-10-25 503.3.5 數(shù)據(jù)流模型的創(chuàng)建(2) 建立數(shù)據(jù)流圖的說明 繪制第0層DFD的時候,將整個系統(tǒng)看成一個加工,然后找出作用于該加工的外部實體,以及相應(yīng)的數(shù)據(jù)輸入和輸出。 繪制下一層數(shù)據(jù)流圖時,細化第0層的加工,從而描述系統(tǒng)的主要功能。 繼續(xù)進行分解,直到所有的加工只執(zhí)行一個簡單的操作為止。第3章 軟件需求分析與建模2021-10-25 513.3 功能建模3.3.5 數(shù)據(jù)流模
26、型的創(chuàng)建人事部門后勤部門出勤表業(yè)績表水電扣款表職工銀行工資條工資存款清單工資計算系統(tǒng)圖3.17 工資計算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖(3) 建立頂層數(shù)據(jù)流圖系統(tǒng)基本模型第3章 軟件需求分析與建模2021-10-25 523.3.5 數(shù)據(jù)流模型的創(chuàng)建(4) 分層細化 上一層DFD中的每一個圓圈可以進一步擴展成一個獨立的數(shù)據(jù)流圖,以揭示系統(tǒng)中程序的細節(jié)部分。第3章 軟件需求分析與建模2021-10-25 533.3.5 數(shù)據(jù)流模型的創(chuàng)建圖3.18 “自頂向下,逐步分解”過程示意圖SF1F213F1F22.12.21.11.21.3F13.13.23.43.3F22第3章 軟件需求分析與建模2021-
27、10-25 543.3.5 數(shù)據(jù)流模型的創(chuàng)建 這種循序漸進的細化過程可以繼續(xù)進行,直到最低層的圖僅描述原子過程操作為止。 每一層數(shù)據(jù)流圖必須與它上一層數(shù)據(jù)流圖保持平衡和一致,因此,子圖的所有輸入輸出流要與其父圖相匹配。 (5) 注意的問題第3章 軟件需求分析與建模2021-10-25 553.3.5 數(shù)據(jù)流模型的創(chuàng)建圖3.19 工資計算系統(tǒng)第一層數(shù)據(jù)流圖人事部門后勤部門出勤表業(yè)績表水電扣款表職工銀行工資條1計算工資實發(fā)工資表3工資轉(zhuǎn)存2打印工資清單工資存款清單工資清單F3例:工資計算系統(tǒng)23 第3章 軟件需求分析與建模2021-10-25 56人事部門出勤表業(yè)績表1.1計算獎金和缺勤扣款獎金發(fā)
28、放表1.2計算應(yīng)發(fā)工資應(yīng)發(fā)工資表1.3計算所得稅1.4計算實發(fā)工資實發(fā)工資表水電扣款表后勤部門所得稅扣款缺勤扣款表工資清單F3(a)(b)工資計算實發(fā)工資表2.1查找職工銀行工資賬號實發(fā)工資2.2生成工資存款清單工資存款清單銀行賬號職工個人工資賬號清單F4圖3.20 工資計算系統(tǒng)的第二層數(shù)據(jù)流圖(a) “計算工資”子數(shù)據(jù)流圖;(b)“工資轉(zhuǎn)存”子數(shù)據(jù)流圖實例分層細化第3章 軟件需求分析與建模2021-10-25 57人事部門1.1.2計算業(yè)績獎出勤表業(yè)績表請假、曠工時數(shù)出勤時數(shù)1.1.3計算出勤獎1.1.4計算缺勤扣款業(yè)績獎獎懲條例F1缺勤扣款表1.1.5計算各項獎金之和獎金發(fā)放表1.1.1統(tǒng)
29、計出勤、請假及曠工時數(shù)出勤獎1.2.1計算各項基本數(shù)據(jù)之和1.2.2計算工資獎金之和工資檔案F2應(yīng)發(fā)工資表獎金發(fā)放表基本工資圖3.21 工資計算系統(tǒng)的第三層數(shù)據(jù)流圖實例分層細化第3章 軟件需求分析與建模2021-10-25 58實例分層細化建立數(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ù)流圖中某個加工進行細化生成的下層數(shù)據(jù)流圖,稱為其上層圖的子圖。應(yīng)保證分層數(shù)據(jù)流圖中任意對應(yīng)的
30、父圖和子圖的輸入/輸出數(shù)據(jù)保持一致。 人事部門后勤部門出勤表業(yè)績表水電扣款表職工銀行工資條工資存款清單工資計算系統(tǒng)圖3.17 工資計算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖人事部門后勤部門出勤表業(yè)績表水電扣款表職工銀行工資條1計算工資實發(fā)工資表3工資轉(zhuǎn)存2打印工資清單工資存款清單工資清單F3圖3.19 工資計算系統(tǒng)第一層數(shù)據(jù)流圖23第3章 軟件需求分析與建模2021-10-25 59實例分層細化 (4) 在數(shù)據(jù)流圖中,應(yīng)按照層次給每個加工編號,用于表明該加工所處的層次及上、下層的父圖與子圖的關(guān)系。編號的規(guī)則為:頂層加工不用編號;第二層加工的編號為1,2,n;第三層加工的編號為1.1,1.2,2.1,n.1
31、,n.2,等,依次類推。 (5) 在父圖中不要出現(xiàn)子圖中涉及的局部數(shù)據(jù)存儲文件。通常除底層數(shù)據(jù)流圖中需標(biāo)明所有數(shù)據(jù)存儲外,為了保持畫面的整潔,各中間層數(shù)據(jù)流圖只需顯示處于加工之間的接口文件即可。3.3.6 建立數(shù)據(jù)流模型的原則人事部門后勤部門出勤表業(yè)績表水電扣款表職工銀行工資條1計算工資實發(fā)工資表3工資轉(zhuǎn)存2打印工資清單工資存款清單工資清單F3圖3.19 工資計算系統(tǒng)第一層數(shù)據(jù)流圖23人 事 部 門出 勤 表業(yè) 績 表1.1計 算 獎 金 和缺 勤 扣 款獎 金 發(fā) 放 表1.2計 算 應(yīng)發(fā) 工 資應(yīng) 發(fā) 工 資 表1.3計 算所 得 稅1.4計 算 實發(fā) 工 資實 發(fā) 工 資 表水 電 扣
32、款 表后 勤 部 門所 得 稅 扣 款缺 勤 扣 款 表工 資 清 單 F3(a)(b)工 資 計 算實 發(fā) 工 資 表2.1查 找 職 工銀 行 工 資賬 號實 發(fā) 工 資2.2生 成 工 資存 款 清 單工 資 存 款 清 單銀 行賬 號職 工 個 人 工 資 賬 號 清 單 F4第3章 軟件需求分析與建模2021-10-25 60實例分層細化 (6) 數(shù)據(jù)流圖只能由四種基本符號組成,是實際業(yè)務(wù)流程的客觀映象,用于說明系統(tǒng)應(yīng)該“做什么做什么”, 而不需要指明系統(tǒng)“如何做如何做”。 (7) 數(shù)據(jù)流圖的分解速度應(yīng)保持適中。通常一個加工每次可分解為2-4個子加工,最多不要超過七個,因為過快的分解
33、會增加用戶對系統(tǒng)模型理解的難度。 (8)為了便于數(shù)據(jù)流圖在計算機上的輸入和輸出,免去畫斜線、弧線、圓等符號的麻煩,數(shù)據(jù)流圖還有另一套表示符號,如表4.2所示。 3.3.6 建立數(shù)據(jù)流模型的原則第3章 軟件需求分析與建模2021-10-25 61實例分層細化表表3.2 3.2 數(shù)據(jù)流圖的另一套表示符號數(shù)據(jù)流圖的另一套表示符號編號編號符 號含 義數(shù)據(jù)流,只能為水平或垂直的帶箭頭直線 加工數(shù)據(jù)存儲數(shù)據(jù)的源點或終點3.3.7 3.3.7 數(shù)據(jù)流圖的另一套表示符號數(shù)據(jù)流圖的另一套表示符號第3章 軟件需求分析與建模2021-10-25 62實例分層細化練習(xí)題:試畫你開發(fā)的系統(tǒng)的數(shù)據(jù)流圖。3.3 功能建模(
34、1) 建立數(shù)據(jù)流圖的步驟(2)建立數(shù)據(jù)流模型的原則本節(jié)小結(jié):第3章 軟件需求分析與建模2021-10-25 633.4 行為建?!颈竟?jié)知識點本節(jié)知識點】狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖行為建行為建模模第3章 軟件需求分析與建模2021-10-25 64 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖通過描述狀態(tài)以及導(dǎo)致系統(tǒng)通過描述狀態(tài)以及導(dǎo)致系統(tǒng)改變改變狀態(tài)的事件狀態(tài)的事件來表示來表示系統(tǒng)的行為系統(tǒng)的行為,它沒有表示出系,它沒有表示出系統(tǒng)所執(zhí)行的處理,統(tǒng)所執(zhí)行的處理,只表示了處理結(jié)果可能的狀態(tài)只表示了處理結(jié)果可能的狀態(tài)轉(zhuǎn)換轉(zhuǎn)換。3.4.1 狀態(tài)轉(zhuǎn)換圖(1)狀態(tài)轉(zhuǎn)換圖的概念第3章 軟件需求分析與建模2021-10-25 65 ST(
35、ST(ST,Status Tranformtion) )用帶標(biāo)記的圓圈或用帶標(biāo)記的圓圈或矩形表示狀態(tài),用箭頭表示從一種狀態(tài)到另一種矩形表示狀態(tài),用箭頭表示從一種狀態(tài)到另一種狀態(tài)的變換,箭頭上的文本標(biāo)記表示引起變換的狀態(tài)的變換,箭頭上的文本標(biāo)記表示引起變換的條件。條件。 3.4.1 狀態(tài)轉(zhuǎn)換圖(2)狀態(tài)轉(zhuǎn)換圖符號第3章 軟件需求分析與建模2021-10-25 66 例如例如,在操作系統(tǒng)中,當(dāng)存在多個申請占用,在操作系統(tǒng)中,當(dāng)存在多個申請占用CPU運行的運行的進程進程( (進程是分配進程是分配CPU的最小處理單位的最小處理單位) )時,系統(tǒng)將按照某種時,系統(tǒng)將按照某種調(diào)度策略調(diào)度策略為各個進程分配
36、為各個進程分配CPU。此時,進程的狀態(tài)可能有三種:就緒、運。此時,進程的狀態(tài)可能有三種:就緒、運行和等待。行和等待。 就緒:就緒:等待分配等待分配CPU; 運行:運行:占用占用CPU進行相應(yīng)的處理;進行相應(yīng)的處理; 掛起:掛起:放棄放棄CPU的使用。的使用。3.4.1 狀態(tài)轉(zhuǎn)換圖(3)實例第3章 軟件需求分析與建模2021-10-25 673.4.1 3.4.1 狀態(tài)轉(zhuǎn)換圖狀態(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時間。 在上面描述的情況下,
37、有關(guān)CPU分配的進程的狀態(tài)遷移圖如圖3.22(a)所示。 第3章 軟件需求分析與建模2021-10-25 683.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)。第3章 軟件需求分析與建模2021-10-25 69表表3.3 3.3 進程的狀態(tài)遷移表進程的狀態(tài)遷移表 狀 態(tài)事件S1(就緒)S2(運行)S3(
38、掛起)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時間。第3章 軟件需求分析與建模2021-10-25 70 如果狀態(tài)轉(zhuǎn)換圖所描述的系統(tǒng)比較復(fù)雜,則可以采用狀態(tài)圖的分層表示法。例如對圖4.22(a)所示的狀態(tài)圖中的大狀態(tài)S1進行細化,就得到了圖4.22(b)所示的下層狀態(tài)遷移圖。 如果在狀態(tài)遷移圖,一個狀態(tài)由于某個事件而導(dǎo)致的下一個狀態(tài)可能會有多個,可在狀態(tài)遷移圖中引入判斷框和處理框,如圖
39、4.22(c)中所示的狀態(tài)遷移圖就是采用這種方法對圖4.22(a)的變形。3.4.3 狀態(tài)遷移圖第3章 軟件需求分析與建模2021-10-25 713.4.3 狀態(tài)遷移圖圖3.22 狀態(tài)遷移圖舉例(a) 狀態(tài)遷移圖;(b) 細化后的狀態(tài)遷移圖;(c) 狀態(tài)遷移圖的變形S1S2S3S2S3S1S3C2P1P2P5P3P4S2S11t4t3t1t2t2t4t3t1t3t4t1t2S1C1NNYY C1、C2:判斷條件P1P5:處理內(nèi)容(a)(b)(c)S12第3章 軟件需求分析與建模2021-10-25 723.5 數(shù)據(jù)字典【本節(jié)知識點本節(jié)知識點】數(shù)據(jù)字典數(shù)據(jù)字典結(jié)構(gòu)化語言、判斷樹和判斷表結(jié)構(gòu)化語
40、言、判斷樹和判斷表第3章 軟件需求分析與建模2021-10-25 73 數(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ù)字典的描述第3章 軟件需求分析與建模2021-10-25 74 在數(shù)據(jù)字典中,數(shù)據(jù)元素的定義可以是基本元素及其組合,數(shù)據(jù)進行自頂向下地分解,直到不需要進一步解釋且參與人員都清楚其含義為止。3.5.1 數(shù)據(jù)字典的描述第3章 軟件需求分析與建模2
41、021-10-25 75數(shù)據(jù)組合有三種方式:順序:以確定的次序連接多個數(shù)據(jù)項;選擇:從多個數(shù)據(jù)項中選取一個;重復(fù):將某個數(shù)據(jù)項重復(fù)多次。 為了能夠?qū)?shù)據(jù)流中的各組成成分進行準(zhǔn)確的定義,在數(shù)據(jù)字典中使用了多種具有特定意義的符號,如下: 3.5.1 數(shù)據(jù)字典的描述第3章 軟件需求分析與建模2021-10-25 76符符 號號含含 義義說說 明明=表示定義為用于對=左邊的條目進行確切的定義+表示與關(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表
42、示規(guī)定次數(shù)的重復(fù)重復(fù)的次數(shù)最少m次,最多n次“ ”表示基本數(shù)據(jù)元素“ ”中的內(nèi)容是基本數(shù)據(jù)元素,不可再分.連接符month=1.12表示month可取112中的任意值* *表示注釋兩個星號之間的內(nèi)容為注釋信息表表3.5 3.5 數(shù)據(jù)字典中的基本符號及含義中的基本符號及含義3.5.1 數(shù)據(jù)字典的描述第3章 軟件需求分析與建模2021-10-25 773.5.2 數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)字典中的條目及說明格式 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)流圖中各種成分詳細定義的信息集合,可將其按照說明對象的類型劃分為四類條目,分別為數(shù)據(jù)流條目、數(shù)據(jù)項條目、數(shù)據(jù)文件條目和數(shù)據(jù)加工條目。 為了便于軟件開發(fā)人員方便地查找所
43、需的條目,應(yīng)按照一定的順序?qū)?shù)據(jù)字典中的不同條目進行排列。下面分別對各類條目的內(nèi)容及說明格式進行介紹。第3章 軟件需求分析與建模2021-10-25 783.5.2 數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)字典中的條目及說明格式 數(shù)據(jù)流在數(shù)據(jù)流圖中主要用于說明數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)中的作用和流動方向,因此數(shù)據(jù)流也被稱作“流動的數(shù)據(jù)結(jié)構(gòu)流動的數(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ù)流條目數(shù)據(jù)流條目第3章 軟件需求分析與建模2021-10-25 793.5.
44、2 數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)流名稱出勤表數(shù)據(jù)流別名無說 明由人事部門每月月底上報的職工考勤統(tǒng)計數(shù)字數(shù)據(jù)流來源人事部門數(shù)據(jù)流流向加工1.2(計算應(yīng)發(fā)工資)數(shù)據(jù)流組成出勤表 = 年份+月份+職工號+出勤時數(shù)+病假時數(shù)+事假時數(shù)+曠工時數(shù)數(shù)據(jù)流量1份/月表表3.6 出勤表數(shù)據(jù)流的描述表第3章 軟件需求分析與建模2021-10-25 803.5.2 數(shù)據(jù)字典中的條目及說明格式數(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ù)項
45、別名、說明、類型、長度、取值范圍及含義等。明、類型、長度、取值范圍及含義等。 例如例如:出勤表中的職工號職工號數(shù)據(jù)項在數(shù)據(jù)字典中的條目描述為2. 數(shù)據(jù)項條目數(shù)據(jù)項條目第3章 軟件需求分析與建模2021-10-25 813.5.2 數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)項名稱職工號數(shù)據(jù)項別名zg_no說 明本單位職工的惟一標(biāo)識類 型字符串長 度6取值范圍及含義12位(00.99)為部門編號:36位(XX0001.XX9999)為人員編號表3.7 出勤表中的職工號數(shù)據(jù)項條目描述表第3章 軟件需求分析與建模2021-10-25 823.5.2 數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)字典中的
46、條目及說明格式 數(shù)據(jù)文件是數(shù)據(jù)流圖中數(shù)據(jù)結(jié)構(gòu)的載體。數(shù)據(jù)字典的數(shù)據(jù)文件條目中應(yīng)包含的主要內(nèi)容有:數(shù)據(jù)文件名稱、說明、數(shù)據(jù)文件名稱、說明、數(shù)據(jù)文件組成、組織方式、存取方式、存取頻率等。數(shù)據(jù)文件組成、組織方式、存取方式、存取頻率等。 例如:工資系統(tǒng)中的職工工資檔案文件在數(shù)據(jù)字典中的條目描述為: 3. 數(shù)據(jù)文件條目數(shù)據(jù)文件條目第3章 軟件需求分析與建模2021-10-25 833.5.2 數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)文件名稱工資檔案數(shù)據(jù)文件別名Zgda表說 明單位職工的基本工資、各項津貼及補貼信息數(shù)據(jù)文件組成職工號+國家工資+國家津貼+職務(wù)津貼+職齡津貼+交通補貼+部門補
47、貼+其他補貼組 織 方 式按職工號從小到大排列存 取 方 式順序存 取 頻 率1次/月表3.8 職工工資檔案文件描述表第3章 軟件需求分析與建模2021-10-25 843.5.2 數(shù)據(jù)字典中的條目及說明格式數(shù)據(jù)字典中的條目及說明格式 在數(shù)據(jù)流圖中只簡單給出了每個加工的名稱,在數(shù)據(jù)字典中通過數(shù)據(jù)加工條目主要是要說明每個加工是用來“做什么”的。數(shù)據(jù)字典的數(shù)據(jù)文件條目中應(yīng)包含的主要內(nèi)容有: 數(shù)據(jù)加工名稱、加工編號、說明、輸入數(shù)據(jù)流、輸出數(shù)數(shù)據(jù)加工名稱、加工編號、說明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流、加工邏輯等。據(jù)流、加工邏輯等。 例如:工資系統(tǒng)中的計算應(yīng)發(fā)工資計算應(yīng)發(fā)工資這個加工在數(shù)據(jù)字典中的條目描述為:
48、 4. 數(shù)據(jù)加工條目數(shù)據(jù)加工條目第3章 軟件需求分析與建模2021-10-25 85數(shù)據(jù)加工名稱計算應(yīng)發(fā)工資數(shù)據(jù)加工編號1.2說 明根據(jù)職工的工資檔案及本月獎金發(fā)放表數(shù)據(jù)計算每個職工的應(yīng)發(fā)工資輸入數(shù)據(jù)流獎金發(fā)放表及工資檔案輸出數(shù)據(jù)流應(yīng)發(fā)工資表加 工 邏 輯DO WHILE 工資檔案文件指針未指向文件尾 從工資檔案中取出當(dāng)前職工工資的各項基本數(shù)據(jù)進行累加; 在獎金發(fā)放表中按職工號查找到該職工的獎金數(shù); 對獎金數(shù)與工資基本數(shù)據(jù)的累加和進行求和得到該職工的應(yīng)發(fā)工資數(shù)ENDDO表3.9 計算應(yīng)發(fā)工資加工描述表第3章 軟件需求分析與建模2021-10-25 863.5 數(shù)據(jù)字典練習(xí)題:試定義你開發(fā)的系統(tǒng)
49、的數(shù)據(jù)字典。(1) 建立數(shù)據(jù)字典的概念(2)數(shù)據(jù)字典的描述本節(jié)小結(jié):第3章 軟件需求分析與建模2021-10-25 873.5.3 編寫加工規(guī)格說明 加工規(guī)格說明用于描述描述底層數(shù)據(jù)流圖的加加工工,包括敘述性正文、加工算法、數(shù)學(xué)方程、敘述性正文、加工算法、數(shù)學(xué)方程、表或圖表等表或圖表等,它可以成為編寫軟件需求規(guī)格說明的第一步,并為加工的程序設(shè)計提供指南。通常,加工規(guī)格說明采用結(jié)構(gòu)化語言結(jié)構(gòu)化語言、判斷樹判斷樹和判斷判斷表等進行描述。 第3章 軟件需求分析與建模2021-10-25 883.5.3 編寫加工規(guī)格說明 結(jié)構(gòu)化語言是一種介于自然語言和形式化語言之間的半形式半形式化語言,化語言,例如例
50、如,上面對計算應(yīng)發(fā)工資條目中加工邏輯的描述就是采用的結(jié)構(gòu)化語言。它是在自然語言的基礎(chǔ)上加入了一定的限制,通過使用有限的詞匯和有限的語句來較為嚴格地描述加工邏輯。 描述時可以使用的詞匯包括:數(shù)據(jù)字典中定義的名字、基本數(shù)據(jù)字典中定義的名字、基本控制結(jié)構(gòu)中的關(guān)鍵詞、自然語言中具有明確意義的動詞和少量的控制結(jié)構(gòu)中的關(guān)鍵詞、自然語言中具有明確意義的動詞和少量的自定義詞匯等自定義詞匯等。盡量不使用形容詞或副詞,可以使用一些簡單的算術(shù)或邏輯運算符。1. 結(jié)構(gòu)化語言結(jié)構(gòu)化語言第3章 軟件需求分析與建模2021-10-25 893.5.3 編寫加工規(guī)格說明 (1)(1)順序結(jié)構(gòu)順序結(jié)構(gòu):由自然語言中的簡單祈使語
51、句序列構(gòu)成。 (2)(2)選擇結(jié)構(gòu)選擇結(jié)構(gòu):通常采用IFTHENELSEENDIF和CASEOFENDCASE結(jié)構(gòu)。 (3)(3)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):通常采用DO WHILEENDDO和REPEATUNTIL結(jié)構(gòu)。結(jié)構(gòu)化語言中的三種基本結(jié)構(gòu)三種基本結(jié)構(gòu)的描述方法如下:第3章 軟件需求分析與建模2021-10-25 903.5.3 編寫加工規(guī)格說明 當(dāng)某一加工的實現(xiàn)需要同時依賴多個邏輯條件的取值時,對加工邏輯的描述就會變得較為復(fù)雜,很難采用結(jié)構(gòu)化語言清楚地將其描述出來,而采用判定表則能夠完整且清晰地表達復(fù)雜的條件組合與由此產(chǎn)生的動作之間的對應(yīng)關(guān)系。 判定表通常由用雙線分隔開的四個部分構(gòu)成判定表通常
52、由用雙線分隔開的四個部分構(gòu)成:左上部左上部用于列出所有相關(guān)的條件;左下部左下部用于列出所有可能產(chǎn)生的動作;右上部右上部用于列出所有可能的條件組合;右下部右下部用于列出在各種組合條件下需要進行的動作。 2. 判定表判定表第3章 軟件需求分析與建模2021-10-25 913.5.3 編寫加工規(guī)格說明 下面以描述某單位工資檔案管理系統(tǒng)中“職務(wù)津貼計算職務(wù)津貼計算”加工邏輯為例說明判定表的寫法。由于篇幅限制,在下面的例子中假定職工的職稱只分為助工、工程師和高工助工、工程師和高工三種,對應(yīng)的判定表見表3.10。條件列表條件列表條件組合條件組合動作列表對應(yīng)的動作 通常把表中任意一個條件組合的特定取值及其
53、相應(yīng)要執(zhí)行的動作稱為規(guī)則規(guī)則。判定表的一般格式如下所示。 第3章 軟件需求分析與建模2021-10-25 923.5.3 編寫加工規(guī)格說明 表表3.10 “3.10 “職務(wù)津貼計算職務(wù)津貼計算”判定表判定表第3章 軟件需求分析與建模2021-10-25 933.5.3 編寫加工規(guī)格說明 要生成上面的判定表,具體的步驟如下: (1) 確定確定規(guī)則的個數(shù)。例子中有三個條件,每個條件有三種取值,故規(guī)則個數(shù)為33=9。 (2) 列出列出所有的條件和動作。 (3) 列出列出所有的條件組合。 (4) 填寫填寫每種條件組合下對應(yīng)的動作。 (5) 若表中存在不同規(guī)則對應(yīng)相同動作且其條件組合存在某種關(guān)系時,需要
54、對表進行必要的化簡化簡。第3章 軟件需求分析與建模2021-10-25 943.5.3 編寫加工規(guī)格說明 判定樹是判定表的圖形表示,它與判定表的作用大致相同,但比判定表更加直觀,更易于理解和掌握。例如,圖3.23是采用判定樹對“基本獎金計算基本獎金計算”加工邏輯的描述。 3. 判定樹判定樹第3章 軟件需求分析與建模2021-10-25 953.5.3 編寫加工規(guī)格說明 工齡10年獎金基數(shù)為350元工齡在1020年間獎金基數(shù)為350元且上浮20%工齡20年獎金基數(shù)為350元且上浮30%工齡10年獎金基數(shù)為400元工齡在1020年間獎金基數(shù)為400元且上浮20%工齡20年獎金基數(shù)為400元且上浮3
55、5%助工工程師工齡10年獎金基數(shù)為500元工齡在1020年間獎金基數(shù)為500元且上浮30%工齡20年獎金基數(shù)為500元且上浮40%高工基本獎金計算圖3.23 “基本獎金計算”判定樹第3章 軟件需求分析與建模2021-10-25 963.6 結(jié)構(gòu)化分析過程結(jié)構(gòu)化分析過程 結(jié)構(gòu)化分析結(jié)構(gòu)化分析(SA,Structure Analysis)過程實過程實質(zhì)上就是質(zhì)上就是創(chuàng)建數(shù)據(jù)模型、功能模型和行為模型創(chuàng)建數(shù)據(jù)模型、功能模型和行為模型,其中其中數(shù)據(jù)建模數(shù)據(jù)建模的工具是的工具是實體關(guān)系圖實體關(guān)系圖,功能建模功能建模的工具是的工具是數(shù)據(jù)流圖數(shù)據(jù)流圖,行為建模行為建模的工具是的工具是狀態(tài)轉(zhuǎn)狀態(tài)轉(zhuǎn)換圖換圖,另外
56、使用,另外使用數(shù)據(jù)字典數(shù)據(jù)字典定義系統(tǒng)的所有定義系統(tǒng)的所有數(shù)據(jù)數(shù)據(jù)項項。 第3章 軟件需求分析與建模2021-10-25 973.6 結(jié)構(gòu)化分析過程結(jié)構(gòu)化分析過程 為了理解和學(xué)會使用這些建模工具,我為了理解和學(xué)會使用這些建模工具,我們結(jié)合一個們結(jié)合一個“學(xué)生成績管理系統(tǒng)學(xué)生成績管理系統(tǒng)”的實例講的實例講解整個分析過程,并給出部分解整個分析過程,并給出部分實體關(guān)系圖、實體關(guān)系圖、數(shù)據(jù)流圖、狀態(tài)轉(zhuǎn)換圖和數(shù)據(jù)字典數(shù)據(jù)流圖、狀態(tài)轉(zhuǎn)換圖和數(shù)據(jù)字典。第3章 軟件需求分析與建模2021-10-25 983.6 結(jié)構(gòu)化分析過程結(jié)構(gòu)化分析過程下面列出用戶對學(xué)生成績管理系統(tǒng)的要求下面列出用戶對學(xué)生成績管理系統(tǒng)的要
57、求:教務(wù)人員錄入學(xué)生信息、課程信息和成績教務(wù)人員錄入學(xué)生信息、課程信息和成績信息;信息;學(xué)生可以隨時查詢自己所選課程的成績;學(xué)生可以隨時查詢自己所選課程的成績;由于學(xué)生成績屬于敏感信息,系統(tǒng)必須提由于學(xué)生成績屬于敏感信息,系統(tǒng)必須提供必要的安全措施以防非法存取。供必要的安全措施以防非法存取。第3章 軟件需求分析與建模2021-10-25 993.6 結(jié)構(gòu)化分析過程結(jié)構(gòu)化分析過程(1 1)在需求收集的過程中,要求客戶列出應(yīng)用在需求收集的過程中,要求客戶列出應(yīng)用軟件或業(yè)務(wù)過程涉及到的軟件或業(yè)務(wù)過程涉及到的 事物事物 ,將其演化成數(shù),將其演化成數(shù)據(jù)對象;據(jù)對象;(2 2)一次考慮一個對象,分析員和客
58、戶定義這一次考慮一個對象,分析員和客戶定義這個對象和其他對象之間是否存在連接;個對象和其他對象之間是否存在連接;(3 3)如果存在連接,應(yīng)創(chuàng)建一個或多個關(guān)系;如果存在連接,應(yīng)創(chuàng)建一個或多個關(guān)系;(4 4)對每一個關(guān)系,確定其關(guān)聯(lián)類型;對每一個關(guān)系,確定其關(guān)聯(lián)類型; 數(shù)據(jù)建模步驟數(shù)據(jù)建模步驟第3章 軟件需求分析與建模2021-10-25 1003.6 結(jié)構(gòu)化分析過程結(jié)構(gòu)化分析過程(5 5)重復(fù)步驟(重復(fù)步驟(2 2)到步驟()到步驟(4 4),直到定義),直到定義了所有關(guān)系。了所有關(guān)系。(6 6)定義每個實體的屬性;定義每個實體的屬性;(7 7)形式化并復(fù)審實體關(guān)系圖;形式化并復(fù)審實體關(guān)系圖;(
59、8 8)重復(fù)步驟(重復(fù)步驟(1 1)到()到(7 7),直到數(shù)據(jù)建模),直到數(shù)據(jù)建模完成。完成。 數(shù)據(jù)建模數(shù)據(jù)建模步驟步驟第3章 軟件需求分析與建模2021-10-25 1013.6 結(jié)構(gòu)化分析過程結(jié)構(gòu)化分析過程 實例分析:實例分析:學(xué)生成績管理系統(tǒng)學(xué)生成績管理系統(tǒng) 實體:實體:學(xué)生、課程、成績。學(xué)生、課程、成績。 實體屬性定義:實體屬性定義:學(xué)生學(xué)生:學(xué)號、姓名、性別、院系、專業(yè)、入學(xué)年月:學(xué)號、姓名、性別、院系、專業(yè)、入學(xué)年月課程課程:課程編號、課程名稱、課程學(xué)時:課程編號、課程名稱、課程學(xué)時, ,課程學(xué)分、課課程學(xué)分、課程描述程描述成績成績:學(xué)號、課程編號、分數(shù)、考核日期:學(xué)號、課程編號
60、、分數(shù)、考核日期 3.6.1 3.6.1 創(chuàng)建實體關(guān)系圖創(chuàng)建實體關(guān)系圖 第3章 軟件需求分析與建模2021-10-25 1023.6 結(jié)構(gòu)化分析過程結(jié)構(gòu)化分析過程3.6.1 3.6.1 創(chuàng)建實體關(guān)系圖創(chuàng)建實體關(guān)系圖 顯然,顯然,學(xué)生、課程和成績學(xué)生、課程和成績都是系統(tǒng)的實都是系統(tǒng)的實體,并且可以初步定義它們的屬性。體,并且可以初步定義它們的屬性。 教務(wù)人員雖然是系統(tǒng)的用戶,但其信息教務(wù)人員雖然是系統(tǒng)的用戶,但其信息與系統(tǒng)處理無關(guān),因此不用作為實體。與系統(tǒng)處理無關(guān),因此不用作為實體。 由于由于成績成績信息包含了選課信息,因此選信息包含了選課信息,因此選課信息不用單獨記錄。課信息不用單獨記錄。 因
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保護環(huán)境珍惜資源的建議書
- 中秋節(jié)聯(lián)歡會的精彩致辭范文(12篇)
- 中秋晚會幼兒活動主持詞范文(5篇)
- 五好職工先進事跡材料(16篇)
- 損傷病人的護理-習(xí)題題庫
- 輪胎噪聲測試方法 轉(zhuǎn)鼓法 編制說明
- 攝影感想課件教學(xué)課件
- 《魯賓遜漂流記》讀后感
- 憲法教育課件教學(xué)課件
- 三年級數(shù)學(xué)計算題專項練習(xí)匯編及答案
- 二年級排球教案
- 2024版抗菌藥物DDD值速查表
- 小學(xué)二年級數(shù)學(xué)上冊期中試卷(全套)
- DB11T 1580-2018 生產(chǎn)經(jīng)營單位安全生產(chǎn)應(yīng)急資源調(diào)查規(guī)范
- 各省中國鐵路限公司2024招聘(目前38183人)高頻難、易錯點500題模擬試題附帶答案詳解
- 2024二十屆三中全會知識競賽題庫及答案
- 預(yù)防接種工作規(guī)范(2023年版)解讀課件
- 醫(yī)院檢驗外包服務(wù)項目招標(biāo)文件
- 檔案整理及數(shù)字化服務(wù)方案
- 正高級會計師答辯面試資料
- 光伏冬季施工方案(1)(完整版)
評論
0/150
提交評論