版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章4需求分析4.1需求分析概述
需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)不是確定系統(tǒng)怎樣完成它的工作,而是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。并在需求分析階段結(jié)束之前,由系統(tǒng)分析員寫出軟件需求規(guī)格說明書,以書面形式準(zhǔn)確地描述軟件需求。即:
----準(zhǔn)確地回答“系統(tǒng)必須做什么?”在分析軟件需求和書寫軟件需求規(guī)格說明書的過程中,分析員和用戶都起著關(guān)鍵的、必不可少的作用。
4.1.1軟件需求的重要性
軟件需求無疑是當(dāng)前軟件工程中的關(guān)鍵問題,沒有需求就沒有軟件。因而,需求分析是軟件開發(fā)的基礎(chǔ),所產(chǎn)生的需求規(guī)格說明書是以后各階段開發(fā)工作的依據(jù)。美國(guó)于1995年開始對(duì)全國(guó)范圍內(nèi)的8000個(gè)軟件項(xiàng)目進(jìn)行跟蹤調(diào)查。
分析失敗的原因發(fā)現(xiàn),與需求過程相關(guān)的原因占了45%,而其中缺乏最終用戶的參與以及不完整的需求又是兩大首要原因,各占13%和12%。未完成完成未實(shí)施完成需求分析的重要性軟件開發(fā)的基礎(chǔ)和前提最終目標(biāo)軟件系統(tǒng)驗(yàn)收的標(biāo)準(zhǔn)避免或者盡早剔除早期的錯(cuò)誤4.1.2需求分析的困難軟件需求是軟件工程中最復(fù)雜的過程之一:應(yīng)用領(lǐng)域的廣泛性,它的實(shí)施無疑與各個(gè)應(yīng)用行業(yè)的特征密切相關(guān)。非功能性需求建模技術(shù)的缺乏,及其與功能性需求有著錯(cuò)綜復(fù)雜的聯(lián)系,大大增加了需求工程的復(fù)雜性。溝通上的困難,由于系統(tǒng)分析員、需求分析員等各方面人員有不同的著眼點(diǎn)和不同的知識(shí)背景,給需求工程的實(shí)施增加了人為的難度。需求內(nèi)容一般包括:功能需求性能需求環(huán)境需求可靠性需求安全保密要求用戶界面需求資源使用需求成本消耗需求開發(fā)進(jìn)度需求預(yù)先估計(jì)以后系統(tǒng)可能達(dá)到的目標(biāo)軟件需求用戶需求系統(tǒng)需求功能需求非功能需求領(lǐng)域需求由客戶管理員、用戶等提出軟件需求的內(nèi)容軟件需求內(nèi)容功能需求它是對(duì)系統(tǒng)應(yīng)該提供的服務(wù)、功能以及系統(tǒng)在特定條件下的行為的描述。它與軟件系統(tǒng)的類型、使用系統(tǒng)的用戶等相關(guān),有時(shí)需要詳細(xì)描述系統(tǒng)的功能、輸入/輸出、異常等,有時(shí)還需要申明系統(tǒng)不應(yīng)該做什么。領(lǐng)域需求是由軟件系統(tǒng)的應(yīng)用領(lǐng)域所決定的特有的功能需求,或是對(duì)功能的約束。4.1.3需求分析的任務(wù)需求分析的任務(wù)通過對(duì)應(yīng)用問題及其環(huán)境的理解和分析,準(zhǔn)確、一致和完全地刻劃用戶需求,形成軟件需求規(guī)格說明書(SRS:SoftwareRequirementSpecification)。借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的“做什么”的問題。需求分析階段(需求分析過程)的基本活動(dòng)獲取和理解用戶需求。深入實(shí)際,在充分理解用戶需求的基礎(chǔ)上,獲取系統(tǒng)需求。描述和分析用戶需求。進(jìn)行需求建模、對(duì)模型或原型進(jìn)行分析。對(duì)用戶需求進(jìn)行評(píng)審。確認(rèn)需求,進(jìn)化需求。確保需求說明準(zhǔn)確、完整地表達(dá)系統(tǒng)的主要特性,且客戶的需要總是不斷(連續(xù))增長(zhǎng)的,進(jìn)化需求是必要的。步驟1:獲取和理解用戶需求階段任務(wù)獲取并理解用戶需求,清除用戶需求的不一致性,模糊性和歧義性,幫助用戶發(fā)現(xiàn)潛在的需求原則和用戶進(jìn)行交流和合作將對(duì)原始問題理解與軟件開發(fā)經(jīng)驗(yàn)結(jié)合步驟2:描述和分析用戶需求階段任務(wù)對(duì)用戶需求進(jìn)行建模,生成SRS和初步用戶手冊(cè)SRS:用戶需求(功能,行為,性能等)用戶手冊(cè):如何操作和使用目標(biāo)軟件,界面描述和使用初步構(gòu)想,目的…原則確保SRS的完整性、一致性和準(zhǔn)確性鼓勵(lì)用戶參與SRS以及用戶手冊(cè)的制定盡可能做到SRS結(jié)構(gòu)清晰,措辭準(zhǔn)確和簡(jiǎn)潔步驟3:對(duì)用戶需求進(jìn)行評(píng)審任務(wù)多方人員一起對(duì)SRS進(jìn)行復(fù)核和評(píng)審,以確保用戶手冊(cè)和SRS全面、準(zhǔn)確、一致地反映用戶需求原則支持各方(用戶,需求分析人員、設(shè)計(jì)人員)共同參與評(píng)審工作獲取需求的方法訪談面向數(shù)據(jù)流自頂向下求精簡(jiǎn)易的應(yīng)用規(guī)格說明技術(shù)快速建立軟件原型(1).訪談?wù)降脑L談
---系統(tǒng)分析員將提出一些事先準(zhǔn)備好的具體問題。非正式的訪談
---分析員將提出一些用戶可以自由回答的開放性問題,以鼓勵(lì)被訪問人員說出自己的想法。當(dāng)需要調(diào)查大量人員的意見時(shí),向被調(diào)查人分發(fā)調(diào)查表是一個(gè)十分有效的做法。在訪問用戶的過程中使用情景分析技術(shù)往往非常有效。所謂情景分析就是對(duì)用戶將來使用目標(biāo)系統(tǒng)解決某個(gè)具體問題的方法和結(jié)果進(jìn)行分析。情景分析技術(shù)的用處主要體現(xiàn)在下述兩個(gè)方面:(1)它能在某種程度上演示目標(biāo)系統(tǒng)的行為,從而便于用戶理解,而且還可能進(jìn)一步揭示出一些分析員目前還不知道的需求。(2)由于情景分析較易為用戶所理解,使用這種技術(shù)能保證用戶在需求分析過程中始終扮演一個(gè)積極主動(dòng)的角色。需求分析的目標(biāo)是獲知用戶的真實(shí)需求,而這一信息的惟一來源是用戶,因此,讓用戶起積極主動(dòng)的作用對(duì)需求分析工作獲得成功是至關(guān)重要的。有辦法嗎?有!GoNext!
問題:使用傳統(tǒng)的訪談或面向數(shù)據(jù)流自頂向下求精方法定義需求時(shí),用戶處于被動(dòng)地位而且往往有意無意地與開發(fā)者區(qū)分“彼此”。由于不能像同一個(gè)團(tuán)隊(duì)的人那樣齊心協(xié)力地識(shí)別和精化需求,這兩種方法的效果有時(shí)并不理想。
這種方法提倡用戶與開發(fā)者密切合作,共同標(biāo)識(shí)問題,提出解決方案要素,商討不同方案并指定基本需求。(3).簡(jiǎn)易的應(yīng)用規(guī)格說明技術(shù)
---
一種面向團(tuán)隊(duì)的需求收集法使用簡(jiǎn)易的應(yīng)用規(guī)格說明技術(shù)
分析需求的典型過程1.初步的訪談,通過用戶對(duì)基本問題的回答,初步確定待解決的問題的范圍和解決方案。2.開發(fā)者和用戶分別寫出“產(chǎn)品需求”。3.開發(fā)者和用戶開會(huì)討論,共同創(chuàng)建一張意見一致的組合列表。4.把與會(huì)者分成更小的小組,每個(gè)小組的工作目標(biāo)是為每張列表中的項(xiàng)目制定小型規(guī)格說明。小型規(guī)格說明是對(duì)列表中包含的單詞或短語(yǔ)的準(zhǔn)確說明。5.每個(gè)小組向全體與會(huì)者展示他們制定的小型規(guī)格說明,討論,以創(chuàng)建出意見一致的確認(rèn)標(biāo)準(zhǔn)。6.由一名或多名與會(huì)者根據(jù)會(huì)議成果起草完整的軟件需求規(guī)格說明書。快速構(gòu)建和修改原型,
通常使用下述3種方法和工具:第四代技術(shù)(2)可重用的軟件構(gòu)件(3)形式化規(guī)格說明和原型環(huán)境因此系統(tǒng)應(yīng)該具備以下功能:⑴基本數(shù)據(jù)維護(hù)功能⑵基本業(yè)務(wù)功能⑶數(shù)據(jù)庫(kù)管理功能⑷信息查詢功能例1:有一個(gè)大學(xué)圖書管理系統(tǒng),該系統(tǒng)除了一般的圖書管理功能外,還能夠?yàn)閷W(xué)生和教工從其他圖書館借閱圖書和文獻(xiàn)資料提供服務(wù)。1.功能需求⑴基本數(shù)據(jù)維護(hù)功能:提供使用者錄入,修改并進(jìn)行維護(hù)基本數(shù)據(jù)的途徑。基本數(shù)據(jù)包括讀者的信息、圖書資料的相關(guān)信息,可以對(duì)這些信息進(jìn)行修改,更新。⑵基本業(yè)務(wù)功能:讀者借、還書籍的登記管理功能,隨時(shí)根據(jù)讀者借、還書籍的情況更新數(shù)據(jù)庫(kù)系統(tǒng),如果書籍已經(jīng)借出,可以進(jìn)行預(yù)留操作,書籍的編目、入庫(kù)、更新等操作。⑶數(shù)據(jù)庫(kù)管理功能:對(duì)所有圖書信息及讀者信息進(jìn)行統(tǒng)一管理維護(hù)的功能,對(duì)書籍的借還也要進(jìn)行詳細(xì)的登記,以便協(xié)調(diào)整個(gè)圖書館的運(yùn)作。⑷信息查詢功能:提供對(duì)各類信息的查詢功能,如對(duì)本圖書館的用戶借書信息,還書的信息,書籍源信息,預(yù)留信息等進(jìn)行查詢,對(duì)其他圖書館的書籍、資料源信息的查詢功能。2.非功能需求①系統(tǒng)安全性需求:為保證系統(tǒng)安全性,對(duì)本圖書館的各項(xiàng)功能進(jìn)行分級(jí)、分權(quán)限操作,對(duì)各類用戶進(jìn)行確認(rèn)。對(duì)其它圖書館借閱圖書和文獻(xiàn)資料服務(wù)控制訪問范圍:如限IP、限用戶等。②對(duì)系統(tǒng)可用性的需求:為了方便使用者,要求對(duì)所有交互操作提供在線幫助功能。③對(duì)系統(tǒng)查詢速度的需求:要求系統(tǒng)在20S之內(nèi)響應(yīng)查詢服務(wù)請(qǐng)求。
④對(duì)系統(tǒng)可靠性的需求:要求系統(tǒng)失敗發(fā)生率小于1%。3.領(lǐng)域需求例如:對(duì)“大學(xué)圖書管理系統(tǒng)”,提出一些與圖書管理的業(yè)務(wù)相關(guān)的需求:⑴圖書編目要求按照《中國(guó)圖書館分類法》進(jìn)行;⑵由于版權(quán)限制,某些文獻(xiàn)資料只能在圖書館規(guī)定的閱覽室閱讀,并限制復(fù)制和打印。第一條需求是對(duì)遵循我國(guó)圖書管理的規(guī)定,執(zhí)行對(duì)圖書的分類管理的標(biāo)準(zhǔn)。而第二條需求則是版權(quán)法對(duì)圖書館文獻(xiàn)資料的保護(hù)的需要,描述了對(duì)一類文獻(xiàn)資料有限制的使用和服務(wù)。
4.1.4需求分析的方法功能解析法結(jié)構(gòu)化分析法信息建模法面向?qū)ο蠓治龇üδ芙馕龇▽⒁粋€(gè)系統(tǒng)堪稱由若干功能構(gòu)成的集合,每個(gè)功能又可劃分成若干個(gè)加工(即子功能),一個(gè)加工又進(jìn)一步可分解成若干個(gè)子加工功能分解法由功能、子加工和功能接口三要素組成本質(zhì)是用過程抽象的觀點(diǎn)看待系統(tǒng)需求結(jié)構(gòu)化分析法一種從問題空間到某種表示的映射方法由數(shù)據(jù)流圖和數(shù)據(jù)字典組成適用于數(shù)據(jù)處理領(lǐng)域的問題信息建模法從數(shù)據(jù)角度對(duì)現(xiàn)實(shí)世界進(jìn)行建模基本工具是E-R圖,由實(shí)體、屬性和聯(lián)系三個(gè)基本要素組成E-R圖中,數(shù)據(jù)不封閉,沒有繼承性和消息傳遞機(jī)制面向?qū)ο蠓治龇ㄊ前袳-R圖中的概念與面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的主要概念結(jié)合起來形成的一種分析方法既采用實(shí)體、屬性、關(guān)系等信息建模方法中的概念,又采用了封閉、類結(jié)構(gòu)和繼承性等面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的概念4.2結(jié)構(gòu)化分析法一種面向數(shù)據(jù)流的傳統(tǒng)軟件開發(fā)方法以數(shù)據(jù)流為中心構(gòu)建軟件的分析模型和設(shè)計(jì)模型分為:結(jié)構(gòu)化分析(StructuredAnalysis簡(jiǎn)稱SA)結(jié)構(gòu)化設(shè)計(jì)(StructuredDesign簡(jiǎn)稱SD)結(jié)構(gòu)化程序設(shè)計(jì)(StructuredProgramming簡(jiǎn)稱SP)4.2.1結(jié)構(gòu)化分析(SA)概述1.自頂向下逐層分解的分析策略基本思想:抽象與自頂向下的逐層分解
(控制復(fù)雜性的兩個(gè)基本手段)抽象:在每個(gè)抽象層次上忽略問題的內(nèi)部復(fù)雜性,只關(guān)注整個(gè)問題與外界的聯(lián)系分解:將問題不斷分解為較小的問題,直到每個(gè)最底層的問題都足夠簡(jiǎn)單為止結(jié)構(gòu)化分析方法中的抽象與分解抽象:從作為整體的軟件系統(tǒng)開始(頂層),每一抽象層次上只關(guān)注于系統(tǒng)的輸入輸出分解:將系統(tǒng)不斷分解為子系統(tǒng)、模塊……隨著分解層次的增加,抽象的級(jí)別越來越低,也越接近問題的解(算法和數(shù)據(jù)結(jié)構(gòu))2.42.32.22.121431.31.21.1X結(jié)構(gòu)化分析過程理解當(dāng)前的現(xiàn)實(shí)環(huán)境,獲得當(dāng)前系統(tǒng)的具體模型(物理模型)從當(dāng)前系統(tǒng)的具體模型抽象出當(dāng)前系統(tǒng)的邏輯模型分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,建立目標(biāo)系統(tǒng)的邏輯模型為目標(biāo)系統(tǒng)的邏輯模型作補(bǔ)充2.結(jié)構(gòu)化分析工具數(shù)據(jù)流圖(DataFlowDiagram,DFD)。用于描述系統(tǒng)分解,即描述系統(tǒng)由哪些部分組成,各部分間有什么聯(lián)系等數(shù)據(jù)字典(DataDictionary,DD)。用于定義數(shù)據(jù)流圖中的數(shù)據(jù)和加工。加工規(guī)格描述(ProcessSpecification,PS)。描述加工邏輯的結(jié)構(gòu)化語(yǔ)言、判定樹、判定表等,是描述數(shù)據(jù)流圖中不能被再分解的每一個(gè)基本加工的處理邏輯。結(jié)構(gòu)化分析模型的描述工具數(shù)據(jù)字典是模型的核心,包含軟件使用和產(chǎn)生所有數(shù)據(jù)的描述。數(shù)據(jù)流圖:用于功能建模,描述系統(tǒng)的輸入數(shù)據(jù)流如何經(jīng)過一系列的加工變換逐步變換成系統(tǒng)的輸出數(shù)據(jù)流。ER圖:用于數(shù)據(jù)建模,描述數(shù)據(jù)字典中數(shù)據(jù)之間的關(guān)系。實(shí)體-關(guān)系圖數(shù)據(jù)流圖狀態(tài)轉(zhuǎn)換圖控制規(guī)約數(shù)據(jù)字典加工規(guī)約數(shù)據(jù)對(duì)象描述狀態(tài)轉(zhuǎn)換圖:用于行為建模,描述系統(tǒng)接收哪些外部事件,以及在外部事件的作用下的狀態(tài)遷移情況。3.SA分析步驟(1)建立當(dāng)前系統(tǒng)的物理模型(2)抽象出當(dāng)前系統(tǒng)人的邏輯模型去掉模型中非本質(zhì)因素,抽取本質(zhì)因素(固有的,不依賴運(yùn)行環(huán)境變化而變化的因素)(3)建立目標(biāo)系統(tǒng)的邏輯模型分析比較目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,將改變的部分抽象為一個(gè)加工(4)作進(jìn)一步補(bǔ)充和優(yōu)化4.2.2數(shù)據(jù)流圖DFD數(shù)據(jù)流圖(DataFlowDiagram,簡(jiǎn)稱DFD)是結(jié)構(gòu)化系統(tǒng)分析的主要工具,它能圖形化地顯示出系統(tǒng)中數(shù)據(jù)的使用,表達(dá)數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向以及系統(tǒng)的邏輯功能和數(shù)據(jù)的邏輯變換數(shù)據(jù)流圖有四種基本符號(hào):數(shù)據(jù)源、數(shù)據(jù)流、加工和數(shù)據(jù)存儲(chǔ)數(shù)據(jù)流圖數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)數(shù)據(jù)源加工數(shù)據(jù)流圖數(shù)據(jù)源(source/externalentity)是指不受系統(tǒng)控制的,在系統(tǒng)以外的人、程序、機(jī)構(gòu)或其他實(shí)體,數(shù)據(jù)源與系統(tǒng)通過數(shù)據(jù)交互,表達(dá)了該數(shù)據(jù)的外部來源或去處
確定系統(tǒng)的數(shù)據(jù)源,實(shí)際上就是確定系統(tǒng)與外界的分界線數(shù)據(jù)流圖數(shù)據(jù)流(dataflow)就是一束按特定的方向從源點(diǎn)流到終點(diǎn)的數(shù)據(jù),它指出了數(shù)據(jù)及其流動(dòng)方向
對(duì)每一條數(shù)據(jù)流都要給予簡(jiǎn)單的描述數(shù)據(jù)流圖數(shù)據(jù)流的畫法示例數(shù)據(jù)流圖加工(process)是對(duì)數(shù)據(jù)進(jìn)行變換操作,即把流向它的數(shù)據(jù)進(jìn)行一定的變換處理,產(chǎn)生出新的數(shù)據(jù)處理過程對(duì)數(shù)據(jù)的操作主要有兩類:變換數(shù)據(jù)的結(jié)構(gòu),如將數(shù)據(jù)的格式重新排列;在原有數(shù)據(jù)內(nèi)容基礎(chǔ)上產(chǎn)生新的數(shù)據(jù)內(nèi)容,如對(duì)數(shù)據(jù)進(jìn)行累計(jì)或計(jì)算平均值。數(shù)據(jù)流圖數(shù)據(jù)存儲(chǔ)(datastore)指出了數(shù)據(jù)保存的地方這里所說的地方,并不指保存數(shù)據(jù)的物理地點(diǎn)或物理存儲(chǔ)介質(zhì),而是數(shù)據(jù)存儲(chǔ)的邏輯描述數(shù)據(jù)流圖的建立—自頂向下擴(kuò)展方法:先用少數(shù)幾個(gè)處理過程高度概括、抽象地描述整個(gè)系統(tǒng)的邏輯功能,然后針對(duì)處理過程逐步地分解、擴(kuò)展,從而詳細(xì)地加以描述數(shù)據(jù)流圖可在不同的層次上描述,以表示系統(tǒng)在該層的內(nèi)容數(shù)據(jù)流圖的建立—自頂向下擴(kuò)展建立方法:
——決定系統(tǒng)或處理過程的范圍,即通過輸入、輸出數(shù)據(jù)確定系統(tǒng)的邊界或處理過程的范圍——決定系統(tǒng)或處理過程內(nèi)部的細(xì)節(jié),并加以描述數(shù)據(jù)流圖的建立—自頂向下擴(kuò)展示例:銷售部門接到顧客送來的訂貨單后,根據(jù)庫(kù)存情況向用戶發(fā)貨——訂貨單處理——確定發(fā)貨量——開發(fā)貨單及其相關(guān)處理——填寫暫存訂貨單——對(duì)照暫存訂貨單訂貨處理—頂層DFD顧客銷售處理訂貨單發(fā)貨單庫(kù)存帳4.2.2數(shù)據(jù)流分析技術(shù)顧客1驗(yàn)收訂貨單訂貨單庫(kù)存帳2確定發(fā)貨量合格訂貨單3開發(fā)貨單修改庫(kù)存可發(fā)貨的訂貨單應(yīng)收帳訂貨單存檔4填寫暫存訂貨單5對(duì)照暫存訂貨單暫存訂貨單未滿足的訂貨單采購(gòu)部門到貨通知顧客發(fā)貨單訂貨處理—第0層DFD不合格訂貨單4.2.2數(shù)據(jù)流分析技術(shù)數(shù)據(jù)流圖的建立—建立原則建立原則:數(shù)據(jù)流圖的建立過程必須遵循自頂向下、逐層分解的原則分層的數(shù)據(jù)流圖總是由頂層、中間層和底層組成的(或:上下文圖+0級(jí)圖+n級(jí)圖):頂層數(shù)據(jù)流圖確定了系統(tǒng)的邊界中層圖描述了某個(gè)處理過程的分解,而它的組成部分又要進(jìn)一步被分解底層圖描述的是無須分解的基本處理過程4.2.2數(shù)據(jù)流分析技術(shù)確定系統(tǒng)的數(shù)據(jù)源及系統(tǒng)正常運(yùn)行時(shí)的輸入與輸出,在高層的數(shù)據(jù)流圖中只反映主要的、正常的邏輯功能,突出系統(tǒng)的總體情況由外向里、從左到右地畫數(shù)據(jù)流圖,先在左側(cè)畫數(shù)據(jù)源,然后畫出由該數(shù)據(jù)源產(chǎn)生的數(shù)據(jù)流和其對(duì)應(yīng)的處理過程,接收系統(tǒng)數(shù)據(jù)的數(shù)據(jù)源一般畫在數(shù)據(jù)流圖的右側(cè)數(shù)據(jù)流圖的建立—建立原則4.2.2數(shù)據(jù)流分析技術(shù)適當(dāng)?shù)孛敖o出編號(hào),有利于系統(tǒng)的理解。對(duì)處理過程的編號(hào),隨著逐層展開,也應(yīng)反映出它的層次關(guān)系應(yīng)集中精力于主要的數(shù)據(jù)流,對(duì)一些諸如例外情況、出錯(cuò)處理等問題不必花較多精力分析下去,只需標(biāo)出即可數(shù)據(jù)流圖的建立—建立原則4.2.2數(shù)據(jù)流分析技術(shù)一個(gè)數(shù)據(jù)流圖中所包含的處理過程應(yīng)限在七個(gè)以內(nèi),經(jīng)驗(yàn)證明,多于七個(gè)將會(huì)影響分解效果數(shù)據(jù)流圖逐層分解時(shí),應(yīng)在概念上合理、清晰、自然,不影響圖的易理解性。合理的分解是將一個(gè)問題分成相對(duì)獨(dú)立的幾個(gè)部分,減少相互之間的聯(lián)系。分解應(yīng)力求均勻,避免在同一張數(shù)據(jù)流圖中,有些處理過程描述的是細(xì)節(jié),而另一些描述的卻是較高層的抽象數(shù)據(jù)流圖的建立—建立原則4.2.2數(shù)據(jù)流分析技術(shù)分解是處理功能的分解,我們稱某一處理過程細(xì)化后的圖是該處理的子圖,該處理所在的圖為子圖的父圖。子圖與父圖應(yīng)保持輸入與輸出數(shù)據(jù)流的一致隨著數(shù)據(jù)流圖的細(xì)化,圖越來越復(fù)雜,為便于閱讀和繪圖,允許以父圖和子圖對(duì)應(yīng)的方式分別繪圖,也可以將幾個(gè)子圖繪制在一張圖中。為保證各子圖的整體性,子圖之間應(yīng)通過公共的數(shù)據(jù)存儲(chǔ)聯(lián)系起來數(shù)據(jù)流圖的建立—建立原則4.2.2數(shù)據(jù)流分析技術(shù)在數(shù)據(jù)流圖中,數(shù)據(jù)存儲(chǔ)的輸入來源與輸出去向不能是數(shù)據(jù)源,而只能是處理過程數(shù)據(jù)流圖與程序流程圖不同。前者不反映時(shí)間的順序,只反映數(shù)據(jù)的流向、邏輯處理和必要的邏輯數(shù)據(jù)存儲(chǔ);后者有嚴(yán)格的時(shí)間順序,有起始點(diǎn)和終止點(diǎn)數(shù)據(jù)流圖的建立—建立原則4.2.2數(shù)據(jù)流分析技術(shù)理解一個(gè)問題總要經(jīng)過從不正確到正確,從不恰當(dāng)?shù)角‘?dāng)?shù)倪^程,系統(tǒng)分析人員要隨時(shí)準(zhǔn)備修改甚至拋棄舊的數(shù)據(jù)流圖,而用更好的來替代。分析階段重畫幾張圖的代價(jià)是小的,倘若草草了事,留下隱患,那么到開發(fā)后期再去糾正,代價(jià)就太大了數(shù)據(jù)流圖不反映判斷和控制條件,不應(yīng)在數(shù)據(jù)流圖上出現(xiàn)表明控制邏輯的數(shù)據(jù)流數(shù)據(jù)流圖的建立—建立原則4.2.2數(shù)據(jù)流分析技術(shù)數(shù)據(jù)流圖的擴(kuò)充符號(hào)描述一個(gè)加工的多個(gè)數(shù)據(jù)流之間的關(guān)系星號(hào)(*):表示數(shù)據(jù)流之間存在“與”關(guān)系所有輸入數(shù)據(jù)流同時(shí)存在時(shí),才能進(jìn)行加工處理或加工處理的結(jié)果是同時(shí)產(chǎn)生所有輸出數(shù)據(jù)流加號(hào)(+):表示數(shù)據(jù)流之間存在“或”關(guān)系至少存在一個(gè)輸入數(shù)據(jù)流時(shí)才能進(jìn)行加工處理或加工處理的結(jié)果是至少產(chǎn)生一個(gè)輸出數(shù)據(jù)流異或(⊕):表示數(shù)據(jù)流之間存在“異或”(互斥)關(guān)系必須存在且僅存在一個(gè)輸入數(shù)據(jù)流時(shí),才能進(jìn)行加工處理或加工處理的結(jié)果是產(chǎn)生且僅產(chǎn)生一個(gè)輸出數(shù)據(jù)流數(shù)據(jù)流圖的擴(kuò)充符號(hào)TAB*CTAB*CTAB+CTAB+CTABC+TABC+*與
+
或互斥+對(duì)數(shù)據(jù)流圖進(jìn)行分層根據(jù)自頂向下逐層分解的思想將數(shù)據(jù)流圖畫成層次結(jié)構(gòu)。數(shù)據(jù)流圖的層次大致分為頂層圖、0層圖、中間層和底層圖。每個(gè)層次畫在獨(dú)立的數(shù)據(jù)流圖中,加工個(gè)數(shù)可大致控制在“7加減2”的范圍中。數(shù)據(jù)流圖的各個(gè)層次頂層圖只有代表整個(gè)軟件系統(tǒng)的1個(gè)加工,描述了軟件系統(tǒng)與外界(數(shù)據(jù)源)之間的數(shù)據(jù)流頂層圖中的加工經(jīng)分解后的圖稱為0層圖(只有1張)中間層圖中至少有一個(gè)加工(也可以有多個(gè))在下層圖中分解成一張子圖處于最底層的圖稱為底層圖,其中所有的加工不再分解成新的子圖圖和加工的編號(hào)頂層圖只有一個(gè)代表整個(gè)軟件系統(tǒng)的加工,該加工不必編號(hào)。0層圖中的加工編號(hào)分別為1,2,3,…子圖號(hào):若父圖中的加工號(hào)x分解成某一子圖,則該子圖號(hào)記為“圖x”子圖中加工的編號(hào):若父圖中的加工號(hào)為x的加工分解成某一子圖,則該子圖中的加工編號(hào)分別為x.1、x.2、x.3…畫分層數(shù)據(jù)流圖的步驟1.畫系統(tǒng)的輸入和輸出2.畫系統(tǒng)內(nèi)部3.畫加工內(nèi)部4.重復(fù)第3步,直至每個(gè)尚未分解的加工都足夠簡(jiǎn)單(即不必再分解)分層數(shù)據(jù)流圖示例——
資格和水平考試的考務(wù)處理系統(tǒng)簡(jiǎn)化的資格和水平考試的考務(wù)處理系統(tǒng)分成多個(gè)級(jí)別,如初級(jí)程序員、程序員、高級(jí)程序員、系統(tǒng)分析員等,凡滿足一定條件的考生都可參加某一級(jí)別的考試考試的合格標(biāo)準(zhǔn)將根據(jù)每年的考試成績(jī)由考試中心確定考試的閱卷由閱卷站進(jìn)行,因此,閱卷工作不包含在軟件系統(tǒng)中資格和水平考試的考務(wù)處理系統(tǒng)
—功能需求1.對(duì)考生送來的報(bào)名單進(jìn)行檢查2.對(duì)合格的報(bào)名單編好準(zhǔn)考證號(hào)后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站3.對(duì)閱卷站送來的成績(jī)清單進(jìn)行檢查,并根據(jù)考試中心制訂的合格標(biāo)準(zhǔn)審定合格者4.制作考生通知單送給考生5.進(jìn)行成績(jī)分類統(tǒng)計(jì)(按地區(qū)、年齡、文化程度、職業(yè)、考試級(jí)別等分類)和試題難度分析,產(chǎn)生統(tǒng)計(jì)分析表資格和水平考試的考務(wù)處理系統(tǒng)
—部分?jǐn)?shù)據(jù)流的組成報(bào)名單=地區(qū)+序號(hào)+姓名+文化程度+職業(yè)+考試級(jí)別+通信地址正式報(bào)名單=準(zhǔn)考證號(hào)+報(bào)名單準(zhǔn)考證=地區(qū)+序號(hào)+姓名+準(zhǔn)考證號(hào)+考試級(jí)別+考場(chǎng)考生名單={準(zhǔn)考證號(hào)+考試級(jí)別}
其中{w}表示w重復(fù)多次考生名冊(cè)=正式報(bào)名單統(tǒng)計(jì)分析表=分類統(tǒng)計(jì)表+難度分析表考生通知單=準(zhǔn)考證號(hào)+姓名+通信地址+考試級(jí)別+考試成績(jī)+合格標(biāo)志系統(tǒng)的輸入輸出(頂層圖)確定源:考生、閱卷站和考試中心頂層圖唯一的加工:軟件系統(tǒng)(考務(wù)處理系統(tǒng))確定數(shù)據(jù)流:系統(tǒng)的輸入/輸出信息輸入數(shù)據(jù)流:報(bào)名單(來自考生)、成績(jī)清單(來自閱卷站)、合格標(biāo)準(zhǔn)(來自考試中心)輸出數(shù)據(jù)流:準(zhǔn)考證(送往考生)、考生名單(送往閱卷站)、考生通知書(送往考生)、統(tǒng)計(jì)分析表(送往考試中心)額外的輸出流(考慮系統(tǒng)的健壯性):不合格報(bào)名單(返回給考生),錯(cuò)誤成績(jī)清單(返回給閱卷站)頂層圖通常沒有數(shù)據(jù)存儲(chǔ)考務(wù)處理系統(tǒng)頂層圖考務(wù)處理系統(tǒng)考試中心考生不合格報(bào)名單閱卷站錯(cuò)誤成績(jī)清單成績(jī)清單考生名單合格標(biāo)準(zhǔn)報(bào)名單準(zhǔn)考證考生通知單統(tǒng)計(jì)分析表系統(tǒng)內(nèi)部(0層圖)-1以下確定加工、數(shù)據(jù)流、文件、數(shù)據(jù)源的一般方法適用于0層圖及其各層子圖確定加工:將父圖中某加工分解而成的子加工根據(jù)功能分解來確定加工:將一個(gè)復(fù)雜的功能分解成若干個(gè)較小的功能,較多應(yīng)用于高層DFD中的分解根據(jù)業(yè)務(wù)處理流程確定加工:分析父圖中待分解加工的業(yè)務(wù)處理流程,業(yè)務(wù)流程中的每一步都可能是一個(gè)子加工特別要注意在業(yè)務(wù)流程中數(shù)據(jù)流發(fā)生變化或數(shù)據(jù)流的值發(fā)生變化的地方,應(yīng)該存在一個(gè)加工,例如:編制
準(zhǔn)考證號(hào)正式報(bào)名單合格報(bào)名單系統(tǒng)內(nèi)部(0層圖)-2確定數(shù)據(jù)流在父圖中某加工分解而成的子圖中,父圖中相應(yīng)加工的輸入/輸出數(shù)據(jù)流都是且僅是子圖邊界上的輸入/輸出數(shù)據(jù)流分解后的子加工之間應(yīng)增添相應(yīng)的新數(shù)據(jù)流表示加工過程中的中間數(shù)據(jù)如果某些中間數(shù)據(jù)需要保存以備后用,那么可以成為流向文件的數(shù)據(jù)流同一個(gè)源或加工可以有多個(gè)數(shù)據(jù)流流向一個(gè)加工,如果它們不是一起到達(dá)和一起加工的,那么可以將它們分成若干個(gè)數(shù)據(jù)流,例如:讀取銀行卡信息客戶銀行卡數(shù)據(jù)密碼系統(tǒng)內(nèi)部(0層圖)-3確定文件(數(shù)據(jù)存儲(chǔ))如果父圖中該加工存在讀寫文件的數(shù)據(jù)流,則相應(yīng)的文件和數(shù)據(jù)流都應(yīng)畫在子圖中在分解子圖中,如果需要保存某些中間數(shù)據(jù)以備后用,則可以將這些數(shù)據(jù)組成一個(gè)新的文件新文件(首次出現(xiàn)的文件)至少應(yīng)有一個(gè)加工為其寫入記錄,同時(shí)至少存在另一個(gè)加工來讀該文件的記錄注意:從父圖中繼承下來的文件在子圖中可能只對(duì)其進(jìn)行讀,或只進(jìn)行寫系統(tǒng)內(nèi)部(0層圖)-4確定數(shù)據(jù)源0層圖和其它子圖中通常不必畫出數(shù)據(jù)源有時(shí)為提高可讀性,可將頂層圖中的數(shù)據(jù)源畫在0層圖中最終得到考務(wù)處理系統(tǒng)0層圖根據(jù)功能分解方法識(shí)別出兩個(gè)加工:考試報(bào)名、統(tǒng)計(jì)成績(jī)數(shù)據(jù)流繼承頂層圖中的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流定義二個(gè)加工之間的數(shù)據(jù)流:由于這二個(gè)加工分別在考試前后進(jìn)行,因此登記報(bào)名單所產(chǎn)生的結(jié)果“考生名冊(cè)”應(yīng)作為文件保存以便考試后由統(tǒng)計(jì)成績(jī)加工引用考務(wù)處理系統(tǒng)0層圖考生名冊(cè)1考試報(bào)名報(bào)名單考生名單不合格報(bào)名單準(zhǔn)考證2統(tǒng)計(jì)成績(jī)統(tǒng)計(jì)分析表合格標(biāo)準(zhǔn)考生通知單錯(cuò)誤成績(jī)清單成績(jī)清單加工內(nèi)部(1…n層圖)復(fù)雜的加工可以繼續(xù)分解成1張DFD子圖分解方法將該加工看作一個(gè)小系統(tǒng),該加工的輸入/輸出數(shù)據(jù)流就是這個(gè)假設(shè)的小系統(tǒng)的輸入/輸出數(shù)據(jù)流然后采用畫0層圖的方法,畫出該加工的子圖以0層圖中加工1(考試報(bào)名)為例根據(jù)業(yè)務(wù)處理流程來確定由加工1的分解與加工1相關(guān)的業(yè)務(wù)流程:首先檢查考生送來的報(bào)名單,然后編準(zhǔn)考證號(hào),并產(chǎn)生準(zhǔn)考證,最后產(chǎn)生考生名單和考生名冊(cè)(文件)考務(wù)處理系統(tǒng)加工1子圖3個(gè)子加工:檢查報(bào)名單、編準(zhǔn)考證號(hào)、登記考生“合格報(bào)名單”和“正式報(bào)名單”是新增加的數(shù)據(jù)流,其它數(shù)據(jù)流都是加工1原有的在加工1的分解中沒有新的文件產(chǎn)生1.3登記考生考生名單1.2編準(zhǔn)考證號(hào)準(zhǔn)考證正式報(bào)名單1.1檢查報(bào)名單合格報(bào)名單報(bào)名單不合格報(bào)名單考生名冊(cè)考務(wù)處理系統(tǒng)加工2子圖2.5分析試題難度難度分析表2.4分類統(tǒng)計(jì)成績(jī)分類統(tǒng)計(jì)表考生名冊(cè)2.3制作通知單考生通知單2.2審定合格者正式成績(jī)清單合格標(biāo)準(zhǔn)試題得分清單2.1檢查成績(jī)清單成績(jī)清單正確成績(jī)清單錯(cuò)誤成績(jī)清單分層數(shù)據(jù)流圖的審查檢查圖中是否存在錯(cuò)誤或不合理(不理想)的部分一致性:分層DFD中不存在矛盾和沖突完整性:分層DFD本身的完整性,即是否有遺漏的數(shù)據(jù)流、加工等元素可從分層DFD的一致性和完整性、構(gòu)造分層DFD時(shí)需注意的問題以及分解程度等幾個(gè)方面來說明如何審查分層DFD的合理性分層數(shù)據(jù)流圖的一致性父圖與子圖平衡
任何一張DFD子圖邊界上的輸入/輸出數(shù)據(jù)流必須與其父圖中對(duì)應(yīng)的加工的輸入/輸出數(shù)據(jù)流保持一致數(shù)據(jù)守恒一個(gè)加工所有輸出數(shù)據(jù)流中的數(shù)據(jù),必須能從該加工的輸入數(shù)據(jù)流中直接獲得,或者能通過該加工的處理而產(chǎn)生多余的數(shù)據(jù)流:加工未使用其輸入數(shù)據(jù)流中的某些數(shù)據(jù)項(xiàng)局部文件
一個(gè)加工的輸出數(shù)據(jù)流不能與該加工的輸入數(shù)據(jù)流同名父圖與子圖不平衡的實(shí)例加工2的輸入數(shù)據(jù)流有M和N,輸出數(shù)據(jù)流是T而子圖(右圖)邊界上的輸入數(shù)據(jù)流是N,輸出數(shù)據(jù)流是S和T123ABCMNT2.12.22.3NPSTQ父圖與子圖平衡的實(shí)例注意:如果父圖某加工的一個(gè)數(shù)據(jù)流,對(duì)應(yīng)于子圖中幾個(gè)數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項(xiàng)全體正好等于父圖中的這個(gè)數(shù)據(jù)流,那么它們?nèi)运闶瞧胶獾膃2.52.42.32.22.1b2b1acdb21acde(a)父圖(b)子圖a:考生通知單;b:統(tǒng)計(jì)分析表;b1:分類統(tǒng)計(jì)表;b2:難度分析表;c:錯(cuò)誤成績(jī)清單;d成績(jī)清單;e合格標(biāo)準(zhǔn)。數(shù)據(jù)不守恒的實(shí)例
由于“正式成績(jī)清單”中缺少“考生通知單”中的姓名、通信地址等數(shù)據(jù),這些數(shù)據(jù)也無法由加工2.3自己產(chǎn)生,因此,加工2.3不滿足數(shù)據(jù)守恒的條件考生名冊(cè)2.5分析試題難度難度分析表2.4分類統(tǒng)計(jì)成績(jī)分類統(tǒng)計(jì)表2.3制作通知單考生通知單2.2審定合格者正式成績(jī)清單合格標(biāo)準(zhǔn)試題得分清單2.1檢查成績(jī)清單成績(jī)清單正確成績(jī)清單錯(cuò)誤成績(jī)清單由此可見:
1.數(shù)據(jù)流的組成對(duì)DFD是有影響的2.構(gòu)建DFD與建立數(shù)據(jù)字典應(yīng)交替進(jìn)行,以便于對(duì)分層DFD的校驗(yàn)局部文件考慮分層數(shù)據(jù)流中一個(gè)文件應(yīng)畫在哪些DFD中,而不該畫在哪些DFD中任何一個(gè)文件都應(yīng)同時(shí)包含讀和寫該文件的數(shù)據(jù)流,除非該文件是當(dāng)前系統(tǒng)與另一個(gè)軟件系統(tǒng)所共享在一張DFD中當(dāng)一個(gè)文件作為若干個(gè)加工之間的交界面(一個(gè)寫另一個(gè)讀)時(shí)該文件應(yīng)畫出在一張DFD中當(dāng)一個(gè)文件僅與一個(gè)加工進(jìn)行讀寫操作,并且在該DFD的父(祖先)圖中未出現(xiàn)過該文件則該文件是相應(yīng)加工的內(nèi)部文件,在當(dāng)前DFD中不應(yīng)畫出一個(gè)文件一旦在某張DFD中畫出,那么在它的子孫圖中應(yīng)根據(jù)父圖與子圖平衡的原則畫出該文件局部文件示例
“試題得分清單”文件是加工2的局部文件,根據(jù)抽象原則不應(yīng)該將這類表示加工細(xì)節(jié)的局部文件畫在其父圖(如圖c)中,正確的畫法是圖a和b21(a)父圖考生名冊(cè)(b)子圖2.52.42.32.22.1試題得分清單考生名冊(cè)(c)含局部文件的父圖21試題得分清單考生名冊(cè)加工的輸出數(shù)據(jù)流不能與該加工的輸入數(shù)據(jù)流同名同一個(gè)加工的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流即使組成成份相同,仍應(yīng)對(duì)它們?nèi)〔煌拿?,以表示它們是不同?shù)據(jù)流例如,“報(bào)名單”和“合格報(bào)名單”允許一個(gè)加工有二個(gè)相同的數(shù)據(jù)流分別流向二個(gè)不同的加工分層數(shù)據(jù)流圖的完整性每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流在整套分層數(shù)據(jù)流中,每個(gè)文件應(yīng)至少有一個(gè)加工讀該文件,有另一個(gè)加工寫該文件分層數(shù)據(jù)流圖中的每個(gè)數(shù)據(jù)流和文件都必須命名(除了流入或流出文件的數(shù)據(jù)流),并保持與數(shù)據(jù)字典的一致分層DFD中的每個(gè)基本加工(即不再分解子圖的加工)都應(yīng)有一個(gè)加工規(guī)約其它需注意的問題-1適當(dāng)命名:每個(gè)數(shù)據(jù)流、加工、文件、源和宿都應(yīng)被適應(yīng)地命名,名字應(yīng)符合被命名對(duì)象的實(shí)際含義名字應(yīng)反映整個(gè)對(duì)象(如數(shù)據(jù)流、加工),而不是僅反映它的某一部分避免使用空洞的、含義不清的名字,如數(shù)據(jù)、信息、處理、統(tǒng)計(jì)等如果發(fā)現(xiàn)某個(gè)數(shù)據(jù)流或加工難以命名時(shí),往往是DFD分解不當(dāng)?shù)恼髡?,此時(shí)應(yīng)考慮重新分解畫數(shù)據(jù)流而不是畫控制流判斷準(zhǔn)則:這條線上是否有數(shù)據(jù)流過其它需注意的問題-2避免一個(gè)加工有過多的數(shù)據(jù)流當(dāng)一個(gè)加工存在許多數(shù)據(jù)流時(shí)往往意味著分解不合理解決辦法:重新分解1)把需要重新分解的某張圖(含有該復(fù)雜加工的圖)的所有子圖連接成一張圖2)把連接后的圖重新劃分成幾個(gè)部分,使各部分之間的聯(lián)系最小3)重新定義父圖,即第2)步中的每個(gè)部分作為父圖中的一個(gè)加工4)重新建立各子圖,即第2)步中的每個(gè)部分都是一張子圖5)為所有的加工重新命名和編號(hào)數(shù)據(jù)流圖重新分解示例(b)原加工2子圖2.22.12.32.42.5HJICKLEMN(d)重新分解后的父圖452′32″1ABHGJICKLDEMFPN(a)原父圖34512HABJICKLDEMFPNG(c)合并4532.42.52.22.12.31FABHJICKLDEMPNG其它需注意的問題-3分解盡可能均勻理想目標(biāo):任何兩個(gè)加工的分解層數(shù)之差不超過1應(yīng)盡可能使分解均勻,對(duì)于分解不均勻的情況應(yīng)重新分解先考慮穩(wěn)定狀態(tài),忽略瑣碎的枝節(jié)先考慮穩(wěn)定狀態(tài)下的各種問題,暫時(shí)不考慮系統(tǒng)如何啟動(dòng)、如何結(jié)束、出錯(cuò)處理以及性能等問題隨時(shí)準(zhǔn)備重畫對(duì)于一個(gè)復(fù)雜的軟件系統(tǒng),往往要經(jīng)過反復(fù)多次的重畫和修改才能構(gòu)造出完整、合理、滿足用戶需求的分層DFD分析階段遺漏下來的一個(gè)錯(cuò)誤,到開發(fā)后期要化費(fèi)幾百倍代價(jià)來糾正這個(gè)錯(cuò)誤分解的程度可參照以下幾條與分解有關(guān)的原則:7加減2分解應(yīng)自然,概念上合理、清晰只要不影響DFD的易理解性,可適當(dāng)多分解幾個(gè)加工,以減少層數(shù)一般說來,上層分解得快些(即多分解幾個(gè)加工),下層分解得慢些(即少分解幾個(gè)加工)分解要均勻4.2.3數(shù)據(jù)字典數(shù)據(jù)流圖與數(shù)據(jù)字典是密不可分的,兩者結(jié)合起來構(gòu)成軟件的邏輯模型(分析模型)數(shù)據(jù)字典由字典條目組成,每個(gè)條目描述DFD中的一個(gè)元素?cái)?shù)據(jù)字典條目包括:數(shù)據(jù)流、文件、數(shù)據(jù)項(xiàng)(組成數(shù)據(jù)流和文件的數(shù)據(jù))、加工、數(shù)據(jù)源加工邏輯的詳細(xì)說明可以用“加工邏輯描述”來表示數(shù)據(jù)字典的描述符號(hào)符號(hào)名稱舉例=定義為x=…表示x由…組成+與a+b表示a和b[…,…]或[a,b]表示a或b[…│…]或[a│b]表示a或b{…}重復(fù){a}表示a重復(fù)0或多次{…}重復(fù){a}表示a重復(fù)3到8次(…)可選(a)表示a重復(fù)0或1次″…″基本數(shù)據(jù)元素″a″表a是基本數(shù)據(jù)字典條目不同的開發(fā)組織或團(tuán)隊(duì)可以根據(jù)項(xiàng)目的需要定義字典條目的描述內(nèi)容字典條目中的描述內(nèi)容主要包括DFD元素的基本信息(名稱、別名、簡(jiǎn)述、注解)定義(數(shù)據(jù)類型、數(shù)據(jù)組成)使用特點(diǎn)(取值范圍、使用頻率、激發(fā)條件)控制信息(來源、去向、訪問權(quán)限)等數(shù)據(jù)流條目的描述內(nèi)容名稱:數(shù)據(jù)流名(可以是中文名或英文名)別名:名稱的另一個(gè)名字簡(jiǎn)述:對(duì)數(shù)據(jù)流的簡(jiǎn)單說明數(shù)據(jù)流組成:描述數(shù)據(jù)流由哪些數(shù)據(jù)項(xiàng)組成數(shù)據(jù)流來源:描述數(shù)據(jù)流從哪個(gè)加工或源流出數(shù)據(jù)流去向:描述數(shù)據(jù)流流入哪個(gè)加工或宿數(shù)據(jù)量:系統(tǒng)中該數(shù)據(jù)流的總量如考務(wù)處理系統(tǒng)中“報(bào)名單”的總量是100000張或者單位時(shí)間處理的數(shù)據(jù)流數(shù)量,如80000張/天峰值:某時(shí)段處理的最大數(shù)量如每天上午9:00至11:00處理60000張表單注解:對(duì)該數(shù)據(jù)流的其它補(bǔ)充說明數(shù)據(jù)流組成數(shù)據(jù)流組成是數(shù)據(jù)流條目的核心,它列出組成該數(shù)據(jù)流的各數(shù)據(jù)項(xiàng),例如:培訓(xùn)報(bào)名單=姓名+單位+課程運(yùn)動(dòng)員報(bào)名單=隊(duì)名+姓名+性別+{參賽項(xiàng)目}當(dāng)一個(gè)數(shù)據(jù)流的組成比較復(fù)雜時(shí),可以將其分解成幾個(gè)數(shù)據(jù)流,例如:課程=課程名+任課教師+教材+時(shí)間地點(diǎn)時(shí)間地點(diǎn)={星期幾+第幾節(jié)+教室}31數(shù)據(jù)流組成示例(發(fā)票)發(fā)票=單位名稱+{商品名+數(shù)量+單價(jià)+金額}
+總金額+日期+(營(yíng)業(yè)員)
單位名稱商品名數(shù)量單價(jià)金額總金額日期營(yíng)業(yè)員
51文件條目的描述內(nèi)容名稱:文件名別名:同數(shù)據(jù)流條目簡(jiǎn)述:對(duì)文件的簡(jiǎn)單說明文件組成:描述文件的記錄由哪些數(shù)據(jù)項(xiàng)組成(與數(shù)據(jù)流條目中的文件組成描述方法相同)寫文件的加工:描述哪些加工寫文件讀文件的加工:描述哪些加工讀文件文件組織:描述文件的存儲(chǔ)方式(順序、索引),排序的關(guān)鍵字使用權(quán)限:描述各類用戶對(duì)文件讀、寫、修改的使用權(quán)限數(shù)據(jù)量:文件的最大記錄個(gè)數(shù)存取頻率:描述對(duì)該文件的讀寫頻率注解:對(duì)該文件的其它補(bǔ)充說明數(shù)據(jù)項(xiàng)條目的描述內(nèi)容名稱:數(shù)據(jù)項(xiàng)名別名:同數(shù)據(jù)流條目簡(jiǎn)述:對(duì)數(shù)據(jù)項(xiàng)的簡(jiǎn)單描述數(shù)據(jù)類型:描述數(shù)據(jù)項(xiàng)的類型,如整型、實(shí)型、字符串等計(jì)量單位:指明數(shù)據(jù)項(xiàng)值的計(jì)量單位,如公斤、噸等取值范圍:描述數(shù)據(jù)項(xiàng)允許的值域,如1…100編輯方式:描述該數(shù)據(jù)項(xiàng)外部表示的編輯方式,如23,345.67與其它數(shù)據(jù)項(xiàng)的關(guān)系:描述該數(shù)據(jù)項(xiàng)與數(shù)據(jù)字典中其它數(shù)據(jù)項(xiàng)的關(guān)系注解:對(duì)數(shù)據(jù)項(xiàng)的其它補(bǔ)充說明加工邏輯描述的內(nèi)容名稱:加工名別名:同數(shù)據(jù)流條目加工號(hào):加工在DFD中的編號(hào)簡(jiǎn)述:對(duì)加工的功能的簡(jiǎn)要說明輸入數(shù)據(jù)流:描述加工的輸入數(shù)據(jù)流,包括讀哪些文件名輸出數(shù)據(jù)流:描述加工的輸出數(shù)據(jù)流,包括寫哪些文件名加工邏輯:簡(jiǎn)要描述加工邏輯,或者對(duì)加工規(guī)約的索引基本加工的加工邏輯用加工邏輯描述,在加工條目中可填寫對(duì)加工規(guī)約的索引非基本加工分解而成的DFD子圖已反映了它的加工邏輯,不必書寫加工邏輯描述異常處理:描述加工過程中可能出現(xiàn)的異常情況,及處理方式加工激發(fā)條件:描述執(zhí)行加工的條件,如,“身份認(rèn)證正確”,“收到報(bào)名單”執(zhí)行頻率:描述加工的執(zhí)行頻率,如,每月執(zhí)行一次注解:對(duì)加工的其它補(bǔ)充說明數(shù)據(jù)源條目的描述內(nèi)容名稱:數(shù)據(jù)源的名(外部實(shí)體名)別名:同數(shù)據(jù)流條目簡(jiǎn)要描述:對(duì)數(shù)據(jù)源的簡(jiǎn)要描述(包括指明該外部實(shí)體在DFD中是用作“源”,還是“宿”,還是“既是源又是宿”)輸入數(shù)據(jù)流:描述源向系統(tǒng)提供哪些輸入數(shù)據(jù)流輸出數(shù)據(jù)流:描述系統(tǒng)向宿提供哪些輸出數(shù)據(jù)流注解:對(duì)數(shù)據(jù)源的其它補(bǔ)充說明別名條目的描述內(nèi)容只有那些有必要補(bǔ)充說明的別名才給出相應(yīng)的別名條目別名:別名的名字類型:指出別名屬于那個(gè)種類(數(shù)據(jù)流、文件、數(shù)據(jù)、加工、數(shù)據(jù)源)基本名:別名的正式名稱(原名)簡(jiǎn)述:同正式名稱的簡(jiǎn)述說明:對(duì)別名的補(bǔ)充說明示例原始的數(shù)據(jù)項(xiàng)條目如下:數(shù)據(jù)項(xiàng)名稱:開戶日期別名:開設(shè)日期簡(jiǎn)述:客戶建立帳戶的日期類型:日期注解:年≥1949
其別名條目如下:別名:開設(shè)日期類型:數(shù)據(jù)項(xiàng)基本名:開戶日期簡(jiǎn)述:客戶建立帳戶的日期說明:1986年以后不再使用此別名數(shù)據(jù)字典的實(shí)現(xiàn)提倡采用專用的軟件工具或者常用的實(shí)用程序(如正文編輯程序、電子表格)來建立數(shù)據(jù)字典的電子文檔,其好處是便于字典條目的檢索,字典的管理和維護(hù)如果數(shù)據(jù)字典由輔助繪制DFD的工具自動(dòng)產(chǎn)生的話,那么可以利用數(shù)據(jù)字典來檢查DFD的一致性和完整性,并保持?jǐn)?shù)據(jù)字典與DFD的一致如果數(shù)據(jù)字典是由人工制作的,可以為每個(gè)字典條目制作一張卡片,所有卡片按字典條目的種類(數(shù)據(jù)流、文件、加工等)分類成冊(cè),每類卡片按某種約定排序例子:編寫學(xué)籍管理的DD例子:編寫學(xué)籍管理的DD4.2.4加工邏輯描述加工邏輯描述是基本加工的規(guī)約說明,應(yīng)精確地描述用戶要求一個(gè)加工“做什么”包括加工的激發(fā)條件、加工邏輯、優(yōu)先級(jí)、執(zhí)行頻率、出錯(cuò)處理等最基本的部分是加工邏輯,即該加工的輸出數(shù)據(jù)流與輸入數(shù)據(jù)流之間的邏輯關(guān)系加工邏輯不是對(duì)加工的設(shè)計(jì),不涉及數(shù)據(jù)結(jié)構(gòu)、算法實(shí)現(xiàn)、編程語(yǔ)言等與設(shè)計(jì)和實(shí)現(xiàn)有關(guān)的細(xì)節(jié)加工邏輯的描述方法結(jié)構(gòu)化語(yǔ)言:介于自然語(yǔ)言和形式語(yǔ)言之間的一種半形式語(yǔ)言判定表:適用于加工邏輯包含多個(gè)條件,而不同的條件組合需做不同的動(dòng)作判定樹:判定表的變種,它本質(zhì)上與判定表是相同的,只是表示形式不同結(jié)構(gòu)化語(yǔ)言沒有嚴(yán)格的語(yǔ)法加工規(guī)約分為若干個(gè)段落,每個(gè)段落可分為內(nèi)外兩層:外層有嚴(yán)格的語(yǔ)法來描述它的控制結(jié)構(gòu)如結(jié)構(gòu)化英語(yǔ)中可使用if_then_else、while_do、repeat_until、for_do、case等結(jié)構(gòu)內(nèi)層可以用自然語(yǔ)言來描述允許使用嵌套結(jié)構(gòu)“計(jì)算信用度”的結(jié)構(gòu)化英語(yǔ)描述Case1(NoBounced-ChecksinCustomerRecord):WriteExemplary-Customer―CitationtoAnnual―Summary.Case2(OneBounced-check):IfYearly―Average―Balanceexceeds$1000.RemoveBounced―CheckfromCustomer―Record.Otherwise. RecuceCredit―Limitby10%.Case3(MultipleBounced-Checks):ForeachBounced―Check.RecuceCredit―Limitby15%.SetCredit―RatingtoDeadbeat.WriteScathing―CommenttoAnnual―Summary.WriteCustomer―Name―and―AddresstoIRS―Enemies―List.結(jié)構(gòu)化語(yǔ)言書寫加工規(guī)約注意事項(xiàng)語(yǔ)句力求精煉語(yǔ)句必須易讀、易理解、無二義主要使用祈使句,祈使句中的動(dòng)詞要明確表達(dá)要執(zhí)行的動(dòng)作所有名字必須是數(shù)據(jù)字典中有定義的名字不使用形容詞、副詞等修飾語(yǔ)不使用含義相同的動(dòng)詞,如“修改”、“修正”等可以使用常用的算術(shù)和關(guān)系運(yùn)算符總之要盡可能精確、無二義、簡(jiǎn)明扼要、易理解判定表判定表的組成元素條件框:列出各種條件的對(duì)象,如發(fā)貨單金額,賒欠天數(shù)等,每行寫一個(gè)條件對(duì)象條件條目:列出各條件對(duì)象的取值,條件條目的每一列表示了一個(gè)可能的條件組合動(dòng)作框:列出所有可能采取的動(dòng)作,如發(fā)出發(fā)貨單等,每行寫一個(gè)動(dòng)作動(dòng)作條目:列出各種條件組合下應(yīng)采取的動(dòng)作
條件框條件條目動(dòng)作框動(dòng)作條目構(gòu)造判定表的步驟提取問題中的條件標(biāo)出條件的取值計(jì)算所有條件的組合數(shù)N提取可能采取的動(dòng)作和措施制作判定表完善判定表發(fā)貨單金額>500≤500-賒欠天數(shù)>60>60≤60發(fā)不批準(zhǔn)通知√發(fā)出批準(zhǔn)書√√發(fā)出發(fā)貨單√√發(fā)出賒欠報(bào)告√“審批發(fā)貨單”加工的簡(jiǎn)化判定表“審批發(fā)貨單”加工的判定表發(fā)貨單金額>500>500≤500≤500賒欠天數(shù)>60≤60>60≤60發(fā)不批準(zhǔn)通知√發(fā)出批準(zhǔn)書√√√發(fā)出發(fā)貨單√√√發(fā)出賒欠報(bào)告√判定表的其它形式發(fā)貨單金額≤5000011發(fā)貨單金額>5001100賒欠天數(shù)≤600101賒欠天數(shù)>601010發(fā)不批準(zhǔn)通知√發(fā)出批準(zhǔn)單√√√發(fā)出發(fā)貨單√√√發(fā)出賒欠報(bào)告√“審批發(fā)貨單”加工的另一種判定表判定樹本質(zhì)上與判定表是相同的,只是表示形式不同例如“審批發(fā)貨單”加工邏輯的判定樹描述入下:
1992年由Jacobson提出了Usecase的概念及可視化的表示方法—Usecase圖,并加入由他提出的面向?qū)ο蟮能浖こ?OOSE)。Usecase的概念受到了IT界的歡迎,被廣泛應(yīng)用到了面向?qū)ο蟮南到y(tǒng)分析中?;谟美男枨蠓椒?,已成為面向?qū)ο蟮姆治龇椒ǖ闹髁鳌?/p>
用例模型被推薦為獲取和識(shí)別需求的首選工具!!基于用例的方法4.3面向?qū)ο蟮姆治龇椒?OOA)Usecase圖采用“基于用例的方法”來識(shí)別和獲取需求,是從外部的角度來看系統(tǒng)功能,建立系統(tǒng)的Usecase模型。描述外部執(zhí)行者(Actor)所理解的系統(tǒng)功能。即待開發(fā)系統(tǒng)的功能需求。用例—表示一個(gè)子系統(tǒng),或者系統(tǒng)一個(gè)獨(dú)立的功能。角色—表示外部的“執(zhí)行者”。描述方法:用例:角色:連接:用例ATM機(jī)驗(yàn)證儲(chǔ)戶身份的Usecase圖創(chuàng)建用例模型的工作包括:
定義系統(tǒng)、確定執(zhí)行者和用例、描述用例、定義用例間的關(guān)系、確認(rèn)模型。3.2.2面向?qū)ο蟮姆治龇椒?OOA)案例3網(wǎng)上拍賣系統(tǒng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省2024廣東省農(nóng)業(yè)科學(xué)院設(shè)施農(nóng)業(yè)研究所招聘勞動(dòng)合同制人員1人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)
- 出售冷庫(kù)模具合同范本
- 海外訪學(xué)合同范本
- 高光加工合同范本
- 簡(jiǎn)單企業(yè)旅游合同范本
- 合同范本模板間距要求
- 工程勘察合同范本二
- 外協(xié)注膠合同范本
- 消防管安裝合同范本
- 物料租賃銷售合同范本
- 特種作業(yè)安全工作培訓(xùn)課件
- 住宅電梯更新項(xiàng)目可行性研究報(bào)告
- 廣東省廣州市天河區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末道德與法治試題(含答案)
- 2024-2025學(xué)年塔里木職業(yè)技術(shù)學(xué)院?jiǎn)握小队⒄Z(yǔ)》考前沖刺練習(xí)試題附答案詳解【培優(yōu)B卷】
- 手榴彈使用課件
- 《新聞學(xué)概論》試卷及答案
- 工會(huì)勞動(dòng)爭(zhēng)議調(diào)解會(huì)議記錄范本
- 2025年數(shù)字化營(yíng)銷顧問職業(yè)素養(yǎng)測(cè)評(píng)試卷及答案解析
- 2025年保密試題問答題及答案
- 建設(shè)工程工程量清單計(jì)價(jià)標(biāo)準(zhǔn)(2024版)
- 代建項(xiàng)目管理流程與責(zé)任分工
評(píng)論
0/150
提交評(píng)論