需求分析(傳統(tǒng)結(jié)構(gòu)化方法)_第1頁(yè)
需求分析(傳統(tǒng)結(jié)構(gòu)化方法)_第2頁(yè)
需求分析(傳統(tǒng)結(jié)構(gòu)化方法)_第3頁(yè)
需求分析(傳統(tǒng)結(jié)構(gòu)化方法)_第4頁(yè)
需求分析(傳統(tǒng)結(jié)構(gòu)化方法)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

...wd......wd......wd...2.2需求分析需求分析是通過(guò)開(kāi)發(fā)人員的分析概括,抽象為完整的需求定義,再形成一系列文檔的過(guò)程。2.2.1需求分析的目的與意義需求分析是一個(gè)非常重要的過(guò)程,它完成的好壞直接影響后續(xù)軟件開(kāi)發(fā)的質(zhì)量。有效的需求分析通常都具有一定的難度。需求分析不僅僅是屬于軟件開(kāi)發(fā)生命周期早期的一項(xiàng)工作,而且還應(yīng)該貫穿于整個(gè)生命周期中,它應(yīng)該隨著工程的深入而不斷地變化。此外,為了方便后續(xù)的評(píng)審和測(cè)試等工作,需求的描述應(yīng)該盡量做到:具體、詳細(xì)、可以測(cè)量和可以實(shí)現(xiàn),并且基于時(shí)間。

2.2.2需求分析的步驟遵循科學(xué)的需求分析步驟可以使需求分析工作更高效。需求分析的一般步驟如圖2-3所示。

圖2-3需求分析的步驟需求涉及的方面:在功能方面,需求包括系統(tǒng)要做什么,相對(duì)于原系統(tǒng)目標(biāo)系統(tǒng)需要進(jìn)展哪些修改,目標(biāo)用戶有哪些,以及不同用戶需要通過(guò)系統(tǒng)完成何種操作等。在性能方面,需求包括用戶對(duì)于系統(tǒng)執(zhí)行速度、響應(yīng)時(shí)間、吞吐量和并發(fā)度等指標(biāo)的要求。在運(yùn)行環(huán)境方面,需求包括目標(biāo)系統(tǒng)對(duì)于網(wǎng)絡(luò)設(shè)置、硬件設(shè)備、溫度和濕度等周圍環(huán)境的要求,以及對(duì)操作系統(tǒng)、數(shù)據(jù)庫(kù)和瀏覽器等軟件配置的要求。在界面方面,需求涉及數(shù)據(jù)的輸入/輸出格式的限制及方式、數(shù)據(jù)的存儲(chǔ)介質(zhì)和顯示器的分辨率要求等問(wèn)題。1.獲取需求,識(shí)別問(wèn)題開(kāi)發(fā)人員從功能、性能、界面和運(yùn)行環(huán)境等多個(gè)方面識(shí)別目標(biāo)系統(tǒng)要解決哪些問(wèn)題,要滿足哪些限制條件,這個(gè)過(guò)程就是對(duì)需求的獲取。開(kāi)發(fā)人員通過(guò)調(diào)查研究,要理解當(dāng)前系統(tǒng)的工作模型和用戶對(duì)新系統(tǒng)的設(shè)想與要求。遺漏需求是最難修訂的需求錯(cuò)誤。獲取需求是需求分析的根基。為了能有效地獲取需求,開(kāi)發(fā)人員應(yīng)該采取科學(xué)的需求獲取方法。在實(shí)踐中,獲取需求的方法有很多種,比方,問(wèn)卷調(diào)查、訪談、實(shí)地操作、建設(shè)原型和研究資料等。問(wèn)卷調(diào)查法是采用調(diào)查問(wèn)卷的形式來(lái)進(jìn)展需求分析的一種方法。通過(guò)對(duì)用戶填寫(xiě)的調(diào)查問(wèn)卷進(jìn)展匯總、統(tǒng)計(jì)和分析,開(kāi)發(fā)人員便可以得到一些有用的信息。采用這種方法時(shí),調(diào)查問(wèn)卷的設(shè)計(jì)很重要。一般在設(shè)計(jì)調(diào)查問(wèn)卷時(shí),要合理地控制開(kāi)放式問(wèn)題和封閉式問(wèn)題的比例。開(kāi)放式問(wèn)題的答復(fù)不受限制,自由靈活,能夠激發(fā)用戶的思維,使他們能盡可能地闡述自己的真實(shí)想法。但是,對(duì)開(kāi)放式問(wèn)題進(jìn)展匯總和分析的工作會(huì)比擬復(fù)雜。封閉式問(wèn)題的答案是預(yù)先設(shè)定的,用戶從假設(shè)干答案中進(jìn)展選擇。封閉式問(wèn)題便于對(duì)問(wèn)卷信息進(jìn)展歸納與整理,但是會(huì)限制用戶的思維。訪談通過(guò)開(kāi)發(fā)人員與特定的用戶代表進(jìn)展座談,進(jìn)而了解到用戶的意見(jiàn),是最直接的需求獲取方法。為了使訪談?dòng)行?,在進(jìn)展訪談之前,開(kāi)發(fā)人員要首先確定訪談的目的,進(jìn)而準(zhǔn)備一個(gè)問(wèn)題列表,預(yù)先準(zhǔn)備好希望通過(guò)訪談解決的問(wèn)題。在訪談的過(guò)程中,開(kāi)發(fā)人員要注意態(tài)度誠(chéng)懇,并保持虛心求教的姿態(tài),同時(shí)還要對(duì)重點(diǎn)問(wèn)題進(jìn)展深入的討論。由于被訪談的用戶身份可能多種多樣,開(kāi)發(fā)人員要根據(jù)用戶的身份特點(diǎn),進(jìn)展提問(wèn),給予啟發(fā)。當(dāng)然,進(jìn)展詳細(xì)的記錄也是訪談過(guò)程中必不可少的工作。訪談完成后,開(kāi)發(fā)人員要對(duì)訪談的收獲進(jìn)展總結(jié),澄清已解決的和有待進(jìn)一步解決的問(wèn)題。關(guān)注用戶的行為而不是他們的言語(yǔ)。為了深入地了解用戶需求,有時(shí)候開(kāi)發(fā)人員還會(huì)以用戶的身份直接參與到現(xiàn)有系統(tǒng)的使用過(guò)程中,在親身實(shí)踐的根基上,更直接地體會(huì)現(xiàn)有系統(tǒng)的弊端以及新系統(tǒng)應(yīng)該解決的問(wèn)題,這種需求獲取方法就是實(shí)地操作。通過(guò)實(shí)地操作得到的信息會(huì)更加準(zhǔn)確和真實(shí),但是這種方法會(huì)比擬費(fèi)時(shí)間。當(dāng)用戶本身對(duì)需求的了解不太清晰的時(shí)候,開(kāi)發(fā)人員通常采用建設(shè)原型系統(tǒng)的方法對(duì)用戶需求進(jìn)展挖掘。原型系統(tǒng)就是目標(biāo)系統(tǒng)的一個(gè)可操作的模型。在初步獲取需求后,開(kāi)發(fā)人員會(huì)快速地開(kāi)發(fā)一個(gè)原型系統(tǒng)。通過(guò)對(duì)原型系統(tǒng)進(jìn)展模擬操作,開(kāi)發(fā)人員能及時(shí)獲得用戶的意見(jiàn),從而對(duì)需求進(jìn)展明確。利用原型系統(tǒng)獲取需求的方法的示意圖如圖2-4所示。

〔點(diǎn)擊查看大圖〕圖2-4利用原型系統(tǒng)獲取需求2.分析需求,建設(shè)目標(biāo)系統(tǒng)的邏輯模型在獲得需求后,開(kāi)發(fā)人員應(yīng)該對(duì)問(wèn)題進(jìn)展分析抽象,并在此根基上從高層建設(shè)目標(biāo)系統(tǒng)的邏輯模型。模型是對(duì)事物高層次的抽象,通常由一組符號(hào)和組織這些符號(hào)的規(guī)則組成。常用的模型圖有數(shù)據(jù)流圖、E-R圖、用例圖和狀態(tài)轉(zhuǎn)換圖等,不同的模型從不同的角度或不同的側(cè)重點(diǎn)描述目標(biāo)系統(tǒng)。繪制模型圖的過(guò)程,既是開(kāi)發(fā)人員進(jìn)展邏輯思考的過(guò)程,也是開(kāi)發(fā)人員更進(jìn)一步認(rèn)識(shí)目標(biāo)系統(tǒng)的過(guò)程。3.將需求文檔化獲得需求后要將其描述出來(lái),即將需求文檔化。對(duì)于大型的軟件系統(tǒng),需求階段一般會(huì)輸出三個(gè)文檔:系統(tǒng)定義文檔〔用戶需求報(bào)告〕;系統(tǒng)需求文檔〔系統(tǒng)需求規(guī)格說(shuō)明書(shū)〕;軟件需求文檔〔軟件需求規(guī)格說(shuō)明書(shū)〕。對(duì)于簡(jiǎn)單的軟件系統(tǒng)而言,需求階段只需要輸出軟件需求文檔〔即軟件需求規(guī)格說(shuō)明書(shū)〕就可以了。軟件需求規(guī)格說(shuō)明書(shū)主要描述軟件的需求,從開(kāi)發(fā)人員的角度對(duì)目標(biāo)系統(tǒng)的業(yè)務(wù)模型、功能模型和數(shù)據(jù)模型等內(nèi)容進(jìn)展描述。作為后續(xù)的軟件設(shè)計(jì)和測(cè)試的重要依據(jù),需求階段的輸出文檔應(yīng)該具有清晰性、無(wú)二義性和準(zhǔn)確性,并且能夠全面和確切地描述用戶需求。4.需求驗(yàn)證需求驗(yàn)證是對(duì)需求分析的成果進(jìn)展評(píng)估和驗(yàn)證的過(guò)程。為了確保需求分析的正確性、一致性、完整性和有效性,提高軟件開(kāi)發(fā)的效率,為后續(xù)的軟件開(kāi)發(fā)做好準(zhǔn)備,需求驗(yàn)證的工作非常必要。在需求驗(yàn)證的過(guò)程中,可以對(duì)需求階段的輸出文檔進(jìn)展多種檢查,比方,一致性檢查、完整性檢查和有效性檢查等。同時(shí),需求評(píng)審也是在這個(gè)階段進(jìn)展的。

2.3構(gòu)造化需求分析的方法構(gòu)造化需求分析是20世紀(jì)70年代由Yourdon、Constaintine及DeMarco提出的一種面向數(shù)據(jù)流的需求分析方法。它基于"分解"和"抽象"的根本思想,逐步建設(shè)目標(biāo)系統(tǒng)的邏輯模型,進(jìn)而描繪出滿足用戶要求的軟件系統(tǒng)。"分解"是指對(duì)于一個(gè)復(fù)雜的系統(tǒng),為了將復(fù)雜性降低到可以掌握的程度,可以把大問(wèn)題分解為假設(shè)干個(gè)小問(wèn)題,然后再分別解決。圖2-5演示了對(duì)目標(biāo)系統(tǒng)X進(jìn)展自頂向下逐層分解的示意圖。

〔點(diǎn)擊查看大圖〕圖2-5自頂向下逐層分解最頂層描述了整個(gè)目標(biāo)系統(tǒng),中間層將目標(biāo)系統(tǒng)劃分為假設(shè)干個(gè)模塊,每個(gè)模塊完成一定的功能,而最底層是對(duì)每個(gè)模塊實(shí)現(xiàn)方法的細(xì)節(jié)性描述??梢?jiàn),在逐層分解的過(guò)程中,起初并不考慮細(xì)節(jié)性的問(wèn)題,而是先關(guān)注問(wèn)題最本質(zhì)的屬性,隨著分解自頂向下進(jìn)展,才逐漸考慮越來(lái)越具體的細(xì)節(jié)。這種用最本質(zhì)的屬性表示一個(gè)軟件系統(tǒng)的方法就是"抽象"。抽象是一種人類處理復(fù)雜問(wèn)題的根本方法。分解和抽象是構(gòu)造化需求分析的根本指導(dǎo)思想。在構(gòu)造化需求分析的過(guò)程中,通常還需要借助數(shù)據(jù)流程圖、數(shù)據(jù)字典、E-R圖、構(gòu)造化語(yǔ)言、判定表、判定樹(shù)等工具。接下來(lái)我們介紹數(shù)據(jù)流圖、數(shù)據(jù)字典和E-R圖的相關(guān)知識(shí)。

2.4構(gòu)造化需求分析的工具2.4.1數(shù)據(jù)流圖數(shù)據(jù)流圖〔DataFlowDiagram,DFD〕是描述系統(tǒng)中數(shù)據(jù)流的圖形工具,是一種用來(lái)表示信息流和信息變換過(guò)程的圖解方法,可以標(biāo)識(shí)一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理。數(shù)據(jù)流圖把軟件系統(tǒng)看成是由數(shù)據(jù)流聯(lián)系的各種功能的組合,在需求分析的過(guò)程中,可以用來(lái)建設(shè)目標(biāo)系統(tǒng)的邏輯模型。構(gòu)造化需求分析采用的是"自頂向下,由外到內(nèi),逐層分解"的思想,開(kāi)發(fā)人員要先畫(huà)出系統(tǒng)頂層的數(shù)據(jù)流圖,然后再逐層畫(huà)出低層的數(shù)據(jù)流圖。頂層的數(shù)據(jù)流圖要定義系統(tǒng)范圍,并描述系統(tǒng)與外界的數(shù)據(jù)聯(lián)系,它是對(duì)系統(tǒng)架構(gòu)的高度概括和抽象。底層的數(shù)據(jù)流圖是對(duì)系統(tǒng)某個(gè)局部的精細(xì)描述。數(shù)據(jù)流圖的目的是在用戶和系統(tǒng)開(kāi)發(fā)人員之間提供語(yǔ)義的橋梁。--KennethKozar按照Gane-Sarson法,在繪制數(shù)據(jù)流圖的過(guò)程中,主要用到了4個(gè)根本符號(hào),如表2-1所示。表2-1數(shù)據(jù)流圖的根本符號(hào)

1SA法概述SA法也是一種建模的活動(dòng),主要是根據(jù)軟件內(nèi)部的數(shù)據(jù)傳遞、變換關(guān)系,自頂向下逐層分解,描繪出滿足功能要求的軟件模型。1.SA法的根本思想構(gòu)造化分析〔StructuredAnalysis,簡(jiǎn)稱SA法〕是面向數(shù)據(jù)流的需求分析方法,是70年代由Yourdon,Constaintine及DeMarco等人提出和開(kāi)展,并得到廣泛的應(yīng)用。構(gòu)造化分析方法的根本思想是“分解〞和“抽象〞。分解:是指對(duì)于一個(gè)復(fù)雜的系統(tǒng),為了將復(fù)雜性降低到可以掌握的程度,可以把大問(wèn)題分解成假設(shè)干小問(wèn)題,然后分別解決。圖4是自頂向下逐層分解的示意圖。頂層抽象地描述了整個(gè)系統(tǒng),底層具體地畫(huà)出了系統(tǒng)的每一個(gè)細(xì)節(jié),而中間層是從抽象到具體的逐層過(guò)渡。抽象:分解可以分層進(jìn)展,即先考慮問(wèn)題最本質(zhì)的屬性,暫把細(xì)節(jié)略去,以后再逐層添加細(xì)節(jié),直至涉及到最詳細(xì)的內(nèi)容,這種用最本質(zhì)的屬性表示一個(gè)自系統(tǒng)的方法就是“抽象〞。2.SA法的步驟⑴建設(shè)當(dāng)前系統(tǒng)的“具體模型〞;系統(tǒng)的“具體模型〞就是現(xiàn)實(shí)環(huán)境的忠實(shí)寫(xiě)照,即將當(dāng)前系統(tǒng)用DFD圖描述出來(lái)。這樣的表達(dá)與當(dāng)前系統(tǒng)完全對(duì)應(yīng),因此用戶容易理解。⑵抽象出當(dāng)前系統(tǒng)的邏輯模型;分析系統(tǒng)的“具體模型〞,抽象出其本質(zhì)的因素,排除次要因素,獲得用DFD圖描述的當(dāng)前系統(tǒng)的“邏輯模型〞。⑶建設(shè)目標(biāo)系統(tǒng)的邏輯模型;分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差異,從而進(jìn)一步明確目標(biāo)系統(tǒng)“做什么〞,建設(shè)目標(biāo)系統(tǒng)的“邏輯模型〞〔修改后的DFD圖〕。⑷為了對(duì)目標(biāo)系統(tǒng)作完整的描述,還需要考慮人機(jī)界面和其它一些問(wèn)題。3.SA法的描述工具⑴分層的數(shù)據(jù)流圖⑵數(shù)據(jù)詞典⑶描述加工邏輯的構(gòu)造化語(yǔ)言、判定表或判定樹(shù)。2數(shù)據(jù)流圖數(shù)據(jù)流圖〔DataFlowDiagram,簡(jiǎn)稱DFD〕是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標(biāo)識(shí)了一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換邏輯輸出所需的加工處理。1.?dāng)?shù)據(jù)流圖的圖符數(shù)據(jù)流圖有以下4種根本圖形符號(hào):箭頭表示數(shù)據(jù)流,圓或橢圓表示加工。雙杠或者單杠表示數(shù)據(jù)存儲(chǔ),矩形框表示數(shù)據(jù)的源點(diǎn)或終點(diǎn),即外部實(shí)體。⑴數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,由一組成固定的數(shù)據(jù)項(xiàng)組成。除了與數(shù)據(jù)存儲(chǔ)〔文件〕之間的數(shù)據(jù)流不用命名外,其余數(shù)據(jù)流都應(yīng)該用名詞或名詞短語(yǔ)命名。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,也可以從源點(diǎn)流向加工或從加工流向終點(diǎn)。⑵加工也稱為數(shù)據(jù)處理,它對(duì)數(shù)據(jù)流進(jìn)展某些操作或變換。每個(gè)加工也要有名字,通常是動(dòng)詞短語(yǔ),簡(jiǎn)明地描述完成什么加工。在分層的數(shù)據(jù)流圖中,加工還應(yīng)有編號(hào)。⑶數(shù)據(jù)存儲(chǔ)指暫時(shí)保存的數(shù)據(jù),它可以是數(shù)據(jù)庫(kù)文件或任何形式的數(shù)據(jù)組織。流向數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)流可理解為寫(xiě)入文件,或查詢文件,從數(shù)據(jù)存儲(chǔ)流出的數(shù)據(jù)可理解為從文件讀數(shù)據(jù)或得到查詢結(jié)果。⑷數(shù)據(jù)源點(diǎn)和終點(diǎn)是軟件系統(tǒng)外部環(huán)境中的實(shí)體〔包括人員、組織或其他軟件系統(tǒng)〕,統(tǒng)稱為外部實(shí)體。一般只出現(xiàn)在數(shù)據(jù)流圖的頂層圖中。還有一些輔助的圖例:例1:畫(huà)出圖書(shū)預(yù)定系統(tǒng)的DFD圖。現(xiàn)有一圖書(shū)預(yù)定系統(tǒng),接收由顧客發(fā)來(lái)的訂單,并對(duì)訂單進(jìn)展驗(yàn)證,驗(yàn)證過(guò)程是根據(jù)圖書(shū)目錄檢查訂單的正確性,同時(shí)根據(jù)顧客檔案確定是新顧客還是老顧客,是否有信譽(yù)。經(jīng)過(guò)驗(yàn)證的正確訂單,暫存放在待處理的訂單文件中。對(duì)訂單進(jìn)展成批處理,根據(jù)出版社檔案,將訂單按照出版社進(jìn)展分類匯總,并保存訂單存根,然后將匯總訂單發(fā)往各出版社。畫(huà)圖步驟是:⑴首先確定外部實(shí)體〔顧客、出版社〕及輸入、輸出數(shù)據(jù)流〔訂單、出版社訂單〕。⑵再分解頂層的加工〔驗(yàn)證訂單、匯總訂單〕。⑶確定所使用的文件〔圖書(shū)目錄文件、顧客檔案等5個(gè)文件〕。⑷用數(shù)據(jù)流將各局部連接起來(lái),形成數(shù)據(jù)封閉。特別要注意的是:數(shù)據(jù)流圖不是傳統(tǒng)的流程圖或框圖,數(shù)據(jù)流也不是控制流。數(shù)據(jù)流圖是從數(shù)據(jù)的角度來(lái)描述一個(gè)系統(tǒng),而框圖則是從對(duì)數(shù)據(jù)進(jìn)展加工的工作人員的角度來(lái)描述系統(tǒng)。數(shù)據(jù)流圖中的箭頭是數(shù)據(jù)流,而框圖中的箭頭則是控制流,控制流表達(dá)的是程序執(zhí)行的次序。以下列圖是培訓(xùn)中心管理系統(tǒng)的數(shù)據(jù)流圖,由于只有一層,因此分解的加工較多不易理解,而且如果其中某個(gè)加工較復(fù)雜,例如編號(hào)為3的加工“付款〞和編號(hào)為7的加工“復(fù)審〞仍很復(fù)雜,一時(shí)難以理解,如果不繼續(xù)分解下去,直到每個(gè)加工都足夠簡(jiǎn)單易于理解為止,則會(huì)影響需求分析結(jié)果的可讀性。1.畫(huà)分層DFD圖的方法如圖2.8所示,如果系統(tǒng)規(guī)模較大,僅用一個(gè)DFD圖難以描述,會(huì)使得系統(tǒng)變得復(fù)雜,且難以理解。為了降低系統(tǒng)的復(fù)雜性,采取“逐層分解〞的技術(shù),畫(huà)分層的DFD圖。畫(huà)分層DFD圖的一般原則是:“先全局后局部,先整體后細(xì)節(jié),先抽象后具體〞。通常將這種分層的DFD圖,分為頂層、中間層、底層。頂層圖說(shuō)明了系統(tǒng)的邊界,即系統(tǒng)的輸入和輸出數(shù)據(jù)流,頂層圖只有一張。底層圖由一些不能再分解的加工組成,這些加工都已足夠簡(jiǎn)單,稱為根本加工。在頂層和底層之間的是中間層。中間層的數(shù)據(jù)流圖描述了某個(gè)加工的分解,而它的組成局部又要進(jìn)一步分解。畫(huà)各層DFD圖時(shí),應(yīng)“由外向內(nèi)〞。畫(huà)分層DFD圖的具體步驟:⑴先確定系統(tǒng)范圍,畫(huà)出頂層的DFD圖。⑵逐層分解頂層DFD圖,獲得假設(shè)干中間層DFD圖。⑶畫(huà)出底層的DFD圖。在畫(huà)分層數(shù)據(jù)流圖時(shí),首先遇到的問(wèn)題就是應(yīng)該如何分解不能夠一下子把一個(gè)加工分解成它所有的根本加工,一張圖中畫(huà)出過(guò)多的加工是使人難以理解的,但是如果每次只是將一個(gè)加工分解成兩個(gè)或三個(gè)加工,又可能需要分解過(guò)多的層次,也會(huì)影響系統(tǒng)的可理解性。一個(gè)加工每次分解成多少個(gè)子加工才適宜呢?根據(jù)經(jīng)歷“最多不要超過(guò)7個(gè)〞。統(tǒng)計(jì)結(jié)果證明,人們能有效地同時(shí)處理7個(gè)或7個(gè)以下的問(wèn)題,但當(dāng)問(wèn)題多于7個(gè)時(shí),處理效果就會(huì)下降。當(dāng)然也不能機(jī)械地應(yīng)用,關(guān)鍵是要使數(shù)據(jù)流圖易于理解。同時(shí)還有幾條原則可供參考:分解應(yīng)自然,概念上要合理、清晰。只要不影響數(shù)據(jù)流圖的“易理解性〞,可以適當(dāng)?shù)囟喾纸獬蓭拙植?,這樣分層圖的層數(shù)就可少些。一般來(lái)說(shuō),在上層可以分解得快些,而在中、下層則應(yīng)分解得慢些,因?yàn)樯蠈邮且恍┚C合性的描述,“易理解性〞相對(duì)地說(shuō)不太重要。下節(jié)我們以一個(gè)實(shí)例來(lái)說(shuō)明畫(huà)分層DFD圖的方法。2分層DFD圖的改良分層數(shù)據(jù)流圖是一種比擬嚴(yán)格又易于理解的描述方式,它的頂層描繪了系統(tǒng)的總貌,底層畫(huà)出了系統(tǒng)所有的細(xì)部,而中間層則給出了從抽象到具體的逐步過(guò)渡。1.畫(huà)分層DFD圖的根本原則⑴.?dāng)?shù)據(jù)守恒與數(shù)據(jù)封閉原則所謂數(shù)據(jù)守恒是指加工的輸入輸出數(shù)據(jù)流是否匹配,即每一個(gè)加工既有輸入數(shù)據(jù)流又有輸出數(shù)據(jù)流。或者說(shuō)一個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流,一個(gè)輸出數(shù)據(jù)流。⑵加工分解的原則自然性:概念上合理、清晰;均勻性:理想的分解是將一個(gè)問(wèn)題分解成大小均勻的幾個(gè)局部;分解度:一般每一個(gè)加工每次分解最多不要超過(guò)7個(gè)子加工,應(yīng)分解到根本加工為止。⑶子圖與父圖的“平衡〞父圖中某個(gè)加工的輸入輸出數(shù)據(jù)流應(yīng)該同相應(yīng)的子圖的輸入輸出一樣(相對(duì)應(yīng)),分層數(shù)據(jù)流圖的這種特點(diǎn)稱為子圖與父圖“平衡〞。例1考察以下列圖中子父圖的平衡顯然,圖2.13中子圖與父圖不平衡。子圖是父圖中加工2的分解,加工2有輸入數(shù)據(jù)流R和M,輸出數(shù)據(jù)流T,而子圖則只有一個(gè)輸入數(shù)據(jù)流N,卻有兩個(gè)輸出數(shù)據(jù)流T與S。圖2.14中,子圖是父圖中加工4的分解,雖然外表上加工4只有一個(gè)輸入數(shù)據(jù)流“訂貨單〞,而子圖卻有三個(gè)輸入數(shù)據(jù)流,但是如果“訂貨單〞是由“客戶〞、“帳號(hào)〞和“數(shù)量〞三局部組成,即有如下數(shù)據(jù)條目:訂貨單=客戶+帳號(hào)+數(shù)量〔2.2.5數(shù)據(jù)詞典〕,則子、父圖平衡。⑷合理使用文件當(dāng)文件作為某些加工之間的交界面時(shí),文件必須畫(huà)出來(lái),一旦文件作為數(shù)據(jù)流圖中的一個(gè)獨(dú)立成份畫(huà)出來(lái)了為了對(duì)數(shù)據(jù)流圖有更直觀的認(rèn)識(shí),我們以一個(gè)考試成績(jī)管理系統(tǒng)為例,介紹它的數(shù)據(jù)流圖。某單位進(jìn)展招聘考試,應(yīng)聘者報(bào)名后,單位的招聘委員會(huì)將每位應(yīng)聘者的根本情況輸入系統(tǒng)。招聘考試完畢后,招聘委員會(huì)需要將應(yīng)聘者的成績(jī)輸入系統(tǒng),并按照成績(jī)對(duì)應(yīng)聘者進(jìn)展排序,將成績(jī)單發(fā)放給每位應(yīng)聘者,并發(fā)放錄用通知書(shū)。該考試成績(jī)管理系統(tǒng)頂層和底層的數(shù)據(jù)流圖分別如圖2-6和圖2-7所示。

〔點(diǎn)擊查看大圖〕圖2-6考試成績(jī)管理系統(tǒng)頂層數(shù)據(jù)流圖

〔點(diǎn)擊查看大圖〕圖2-7考試成績(jī)管理系統(tǒng)底層數(shù)據(jù)流圖在繪制數(shù)據(jù)流圖的過(guò)程中,要注意以下幾點(diǎn)。(1)數(shù)據(jù)的處理不一定是一個(gè)程序或一個(gè)模塊,也可以是一個(gè)連貫的處理過(guò)程。(2)數(shù)據(jù)存儲(chǔ)是指輸入或輸出文件,但它不僅僅可以是文件,還可以是數(shù)據(jù)項(xiàng)或用來(lái)組織數(shù)據(jù)的中間數(shù)據(jù)。(3)數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)是不同狀態(tài)的數(shù)據(jù)。數(shù)據(jù)流是流動(dòng)狀態(tài)的數(shù)據(jù),而數(shù)據(jù)存儲(chǔ)是指處于靜止?fàn)顟B(tài)的數(shù)據(jù)。(4)當(dāng)目標(biāo)系統(tǒng)的規(guī)模較大時(shí),為了描述的清晰和易于理解,通常采用逐層分解的方法,畫(huà)出分層的數(shù)據(jù)流圖。在分解時(shí),要考慮到自然性、均勻性和分解度幾個(gè)概念。自然性是指概念上要合理和清晰。均勻性是指盡量將一個(gè)大問(wèn)題分解為規(guī)模均勻的假設(shè)干局部。分解度是指分解的維度,一般每一個(gè)加工每次分解最多不宜超過(guò)7個(gè)子加工,應(yīng)分解到根本的加工為止。(5)數(shù)據(jù)流圖分層細(xì)化時(shí)必須保持信息的連續(xù)性,即細(xì)化前后對(duì)應(yīng)功能的輸入和輸出數(shù)據(jù)必須一樣。關(guān)于數(shù)據(jù)流圖的詳細(xì)繪制方法,本章的實(shí)踐局部會(huì)詳細(xì)介紹。2.4.2數(shù)據(jù)字典用數(shù)據(jù)流圖來(lái)表示系統(tǒng)的邏輯模型直觀且形象,但是缺乏細(xì)節(jié)描述,也就是說(shuō)它沒(méi)有準(zhǔn)確和完整地定義各個(gè)圖元??梢杂脭?shù)據(jù)字典〔datadictionary,DD〕來(lái)對(duì)數(shù)據(jù)流圖做出補(bǔ)充和完善。數(shù)據(jù)字典用于定義數(shù)據(jù)流圖中各個(gè)圖元的具體內(nèi)容,為數(shù)據(jù)流圖中出現(xiàn)的圖形元素做出確切的解釋。數(shù)據(jù)字典包含4類條目:數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)項(xiàng)和數(shù)據(jù)加工。這些條目按照一定的規(guī)則組織起來(lái)便構(gòu)成了數(shù)據(jù)字典。定義規(guī)則時(shí),常用的符號(hào)如表2-2所示。表2-2數(shù)據(jù)字典符號(hào)符號(hào)含義例如=被定義為+與X=a+b表示X由a和b組成[…|…]或X=[a|b]表示X由a或b組成m{…}n或重復(fù)X=2{a}6或表示重復(fù)2~6次a{…}重復(fù)X={a}表示X由0個(gè)或多個(gè)a組成(…)可選X=(a)表示a在X中可能出現(xiàn),也可能不出現(xiàn)“…〞根本數(shù)據(jù)元素X=“a〞表示X是取值為字符a的數(shù)據(jù)元素..連接符X=1..9表示X可取1到9中的任意一個(gè)值

例如,數(shù)據(jù)流"應(yīng)聘者名單"由假設(shè)干應(yīng)聘者姓名、性別、年齡、專業(yè)和聯(lián)系等信息組成,那么"應(yīng)聘者名單"可以表示為:應(yīng)聘者名單={應(yīng)聘者姓名+性別+年齡+專業(yè)+聯(lián)系}。數(shù)據(jù)項(xiàng)考試成績(jī)可以表示為:考試成績(jī)=0..100。再如,某教務(wù)系統(tǒng)的學(xué)生成績(jī)庫(kù)文件的數(shù)據(jù)字典描述可以表示為以下形式。文件名:學(xué)生成績(jī)庫(kù)記錄定義:學(xué)生成績(jī)=學(xué)號(hào)+姓名+{課程代碼+成績(jī)+[必修|選修]}學(xué)號(hào):由6位數(shù)字組成姓名:2~4個(gè)漢字課程代碼:8位字符串成績(jī):1~3位十進(jìn)制整數(shù)文件組織:以學(xué)號(hào)為關(guān)鍵字遞增排列

2.4.3E-R圖E-R圖用于描述應(yīng)用系統(tǒng)的概念構(gòu)造數(shù)據(jù)模型,它是進(jìn)展需求分析,并歸納、整理、表達(dá)和優(yōu)化現(xiàn)實(shí)世界中數(shù)據(jù)及其聯(lián)系的重要工具。在建模的過(guò)程中,E-R圖以實(shí)體、聯(lián)系和屬性三個(gè)根本概念概括數(shù)據(jù)的根本構(gòu)造。實(shí)體就是現(xiàn)實(shí)世界中的事物,多用矩形框來(lái)表示,框內(nèi)含有相應(yīng)的實(shí)體名稱。比方,在一個(gè)教務(wù)系統(tǒng)中,"學(xué)生"就是一個(gè)實(shí)體,如圖2-8所示。

圖2-8學(xué)生實(shí)體屬性多用橢圓形表示,并用無(wú)向邊與相應(yīng)的實(shí)體聯(lián)系起來(lái),表示該屬性歸某實(shí)體所有??梢哉f(shuō),實(shí)體是由假設(shè)干個(gè)屬性組成的,每個(gè)屬性都代表了實(shí)體的某些特征。學(xué)生實(shí)體的屬性如圖2-9所示。

〔點(diǎn)擊查看大圖〕圖2-9學(xué)生實(shí)體的屬性聯(lián)系用菱形表示,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),以此描述實(shí)體之間的關(guān)系。實(shí)體之間存在著三種聯(lián)系類型,分別是一對(duì)一、一對(duì)多、多對(duì)多,它們反映到E-R圖中就為相應(yīng)的聯(lián)系類型,即1:1、1:n和m:n。(1)一對(duì)一聯(lián)系是指甲實(shí)體的任何一個(gè)實(shí)例只能對(duì)應(yīng)到乙實(shí)體的一個(gè)實(shí)例,并且乙實(shí)體的任何一個(gè)實(shí)例只能對(duì)應(yīng)到甲實(shí)體的一個(gè)實(shí)例。比方,在一個(gè)座位分配系統(tǒng)中,"學(xué)生"實(shí)體和"座位"實(shí)體之間的關(guān)系就是一對(duì)一的,如圖2-10所示。(2)一對(duì)多聯(lián)系是指甲實(shí)體的任何一個(gè)實(shí)例能夠?qū)?yīng)到乙實(shí)體的多個(gè)實(shí)例,而乙實(shí)體的任何一個(gè)實(shí)例只能對(duì)應(yīng)到甲實(shí)體的一個(gè)實(shí)例。比方,在一個(gè)住宿管理系統(tǒng)中,一個(gè)"學(xué)生"只能分配到一間"宿舍",而一間"宿舍"可以容納多個(gè)"學(xué)生",如圖2-11所示。

〔點(diǎn)擊查看大圖〕圖2-10一對(duì)一聯(lián)系

〔點(diǎn)擊查看大圖〕圖2-11一對(duì)多聯(lián)系(3)多對(duì)多聯(lián)系是指甲實(shí)體的任何一個(gè)實(shí)例能夠?qū)?yīng)到乙實(shí)體的假設(shè)干個(gè)實(shí)例,而乙實(shí)體的任何一個(gè)實(shí)例也可以對(duì)應(yīng)到甲實(shí)體的假設(shè)干個(gè)實(shí)例。比方,在一個(gè)選課系統(tǒng)中,一個(gè)"學(xué)生"可以選修假設(shè)干門(mén)"課程",同時(shí)一門(mén)"課程"也可以被假設(shè)干個(gè)"學(xué)生"選修,如圖2-12所示。

〔點(diǎn)擊查看大圖〕圖2-12多對(duì)多聯(lián)系

需要指出的是,同一個(gè)系統(tǒng)的E-R圖不具有唯一性,即不同的軟件開(kāi)發(fā)人員所設(shè)計(jì)出來(lái)的E-R圖可能不同。

2.5利用Visio繪制網(wǎng)上書(shū)店系統(tǒng)的數(shù)據(jù)流圖〔1〕網(wǎng)上書(shū)店是一種新型的書(shū)店模式,它不僅是傳統(tǒng)銷售渠道的開(kāi)展和補(bǔ)充,也是未來(lái)圖書(shū)銷售的開(kāi)展方向。目前,我國(guó)運(yùn)作和銷售較好的大型網(wǎng)上書(shū)店有很多,如當(dāng)當(dāng)、卓越亞馬遜等,其中當(dāng)當(dāng)網(wǎng)上書(shū)店在價(jià)格和品種方面的優(yōu)勢(shì)眾所周知;卓越亞馬遜網(wǎng)上書(shū)店創(chuàng)造流行的能力比擬強(qiáng)。國(guó)外影響較大的網(wǎng)上書(shū)店有美國(guó)的亞馬遜、德國(guó)的貝塔斯曼等,其中亞馬遜網(wǎng)上書(shū)店在1998年擁有450萬(wàn)名顧客,而到2002年就有將近32億人網(wǎng)上購(gòu)書(shū),銷售額到達(dá)了78億美元。網(wǎng)上售書(shū)將成為圖書(shū)銷售的主要渠道。下面我們將以一個(gè)小型的"網(wǎng)上書(shū)店系統(tǒng)"為例,對(duì)軟件工程開(kāi)發(fā)實(shí)踐方法和相關(guān)工具的使用進(jìn)展介紹。該網(wǎng)上書(shū)店系統(tǒng)旨在實(shí)現(xiàn)圖書(shū)銷售的電子商務(wù)模式并滿足經(jīng)銷商和用戶進(jìn)展電子交易的需求,從而充分發(fā)揮網(wǎng)上交易的優(yōu)勢(shì)。它的目標(biāo)是保證經(jīng)銷商和用戶之間快速的信息交流。本節(jié)主要是實(shí)踐利用Visio2007來(lái)繪制網(wǎng)上書(shū)店系統(tǒng)的數(shù)據(jù)流圖。利用Visio2007創(chuàng)立Gane-Sarson數(shù)據(jù)流圖,可以選擇"軟件和數(shù)據(jù)庫(kù)"模板,然后再選擇"數(shù)據(jù)流模型圖",創(chuàng)立之后可以看到Gane-Sarson有4種根本符號(hào),如表2-1所示。在繪制系統(tǒng)數(shù)據(jù)流圖的過(guò)程中,構(gòu)造化需求分析方法通常強(qiáng)調(diào)"自頂向下,逐層分析"的思想。對(duì)于大規(guī)模的軟件系統(tǒng)而言,需要采用多層的數(shù)據(jù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論