首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

三級(jí)信息管理技術(shù)分章節(jié)考試要點(diǎn):第二章


3.軟件需求分析的原則
近年來(lái)已提出了許多軟件分析與說(shuō)明的方法,雖然各種分析方法都有其獨(dú)特的描述方法,但總的看來(lái),所有分析方法還是有它們共同適用的基本原則。
(1)必須能夠表達(dá)和理解問(wèn)題的數(shù)據(jù)域和功能域
所有軟件定義與開發(fā)工作最終是為了解決數(shù)據(jù)處理問(wèn)題,就是將一種形式的數(shù)據(jù)轉(zhuǎn)換成另一種形式的數(shù)據(jù)。其轉(zhuǎn)換過(guò)程必定經(jīng)歷輸入、加工數(shù)據(jù)和產(chǎn)生結(jié)果數(shù)據(jù)等步驟。對(duì)于計(jì)算機(jī)程序處理的數(shù)據(jù),其數(shù)據(jù)域應(yīng)包括數(shù)據(jù)流、數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu)。
數(shù)據(jù)流即數(shù)據(jù)通過(guò)一個(gè)系統(tǒng)時(shí)的數(shù)據(jù)存儲(chǔ)(如磁盤文件或內(nèi)存緩沖區(qū))中引入附加數(shù)據(jù)。對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換是程序中應(yīng)有的功能或子功能。兩個(gè)轉(zhuǎn)換功能之間的數(shù)據(jù)傳遞就確定了功能間的接口。
數(shù)據(jù)內(nèi)容即數(shù)據(jù)項(xiàng)。例如,學(xué)生名冊(cè)包含了班級(jí)、人數(shù)、每個(gè)學(xué)生的學(xué)號(hào)、姓名、性別、各科成績(jī)等。學(xué)生名冊(cè)的內(nèi)容由它所包含的項(xiàng)定義。為了理解對(duì)學(xué)生名冊(cè)的處理,必須要理解它的數(shù)據(jù)內(nèi)容。
數(shù)據(jù)結(jié)構(gòu)即各種數(shù)據(jù)項(xiàng)的邏輯組織。數(shù)據(jù)是組織成表格,還是組織成有層次的樹型結(jié)構(gòu)?在結(jié)構(gòu)中數(shù)據(jù)項(xiàng)與其他哪些數(shù)據(jù)項(xiàng)相關(guān)?所有數(shù)據(jù)是在一個(gè)數(shù)據(jù)結(jié)構(gòu)中,還是在幾個(gè)數(shù)據(jù)結(jié)構(gòu)中?一個(gè)結(jié)構(gòu)中的數(shù)據(jù)與其他結(jié)構(gòu)中的數(shù)據(jù)如何聯(lián)系?這些問(wèn)題都由數(shù)據(jù)結(jié)構(gòu)分析來(lái)解決。
(2)必須按自項(xiàng)向下、逐層分解的方式對(duì)問(wèn)題進(jìn)行分解和不斷細(xì)化
如果將軟件要處理的問(wèn)題作為一個(gè)整體來(lái)看,顯得太大太復(fù)雜很難理解。如果把問(wèn)題以某種方式分解為幾個(gè)較易理解的部分,并確定各部分間的接口,從而實(shí)現(xiàn)整體功能。
在需求分析階段,軟件的功能域和信息域都能做進(jìn)一步的分解。這種分解可以是同一層次上的,稱為橫向分解;也可以是多層次的縱向分解。
例如,把一個(gè)功能分解成幾個(gè)子功能,并確定這些子功能與父功能的接口,就屬于橫向分解。但如果繼續(xù)分解,把某些子功能又分解為小的子功能,某個(gè)小的子功能又分解為更小的功能,這就屬于縱向分解了。
(3)要給出系統(tǒng)的邏輯視圖和物理視圖
給出系統(tǒng)的邏輯視圖(邏輯模型)和物理視圖(物理模型),這對(duì)系統(tǒng)滿足處理需求所提出的邏輯限制條件和系統(tǒng)中其他成分提出的物理限制條件是必不可少的。軟件需求的邏輯視圖給出軟件要達(dá)到的功能和要處理的數(shù)據(jù)之間的關(guān)系,而不是實(shí)現(xiàn)的細(xì)節(jié)。例如,一個(gè)商店的銷售處理系統(tǒng)要從顧客那里獲取訂單,系統(tǒng)讀取訂單的功能并不關(guān)心訂單數(shù)據(jù)的物理形式和用什么設(shè)計(jì)讀入,也就是說(shuō)無(wú)需關(guān)心輸入的機(jī)制,只是讀取顧客的訂單而已。類似的,系統(tǒng)中檢查庫(kù)存的功能只關(guān)心庫(kù)存文件的數(shù)據(jù)結(jié)構(gòu),而不關(guān)心在計(jì)算機(jī)中的具體存儲(chǔ)方式。軟件需求的邏輯描述是軟件設(shè)計(jì)的基礎(chǔ)。
軟件需求的物理視圖給出處理功能和數(shù)據(jù)結(jié)構(gòu)的實(shí)際表示形式,這往往是由設(shè)備決定的,如一些軟件靠終端鍵盤輸入數(shù)據(jù),另一些軟件靠模擬數(shù)據(jù)轉(zhuǎn)換設(shè)備提供數(shù)據(jù)。分析員必須弄清系統(tǒng)元素對(duì)軟件的限制并考慮功能和信息結(jié)構(gòu)的物理表示。
4.軟件需求分析方法
需求分析方法由對(duì)軟件的數(shù)據(jù)域和功能域的系統(tǒng)分析過(guò)程及其表示方法組成。大多數(shù)的需求分析方法是由數(shù)據(jù)驅(qū)動(dòng)的,也就是說(shuō),這些方法提供了一種表示數(shù)據(jù)域的機(jī)制。分析員根據(jù)這種表示,確定軟件功能及其他特性,最終建立一個(gè)待開發(fā)軟件的抽象模型,即目標(biāo)系統(tǒng)的邏輯模型。數(shù)據(jù)域具有3種屬性:數(shù)據(jù)流、數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu)。通常,一種需求分析方法總要利用其中的一種或幾種屬性。
目前已經(jīng)出現(xiàn)了許多需求分析方法,每一種分析方法都引入了不同的記號(hào)和分析策略。但是它們?nèi)跃哂幸韵碌墓残?
(1)支持?jǐn)?shù)據(jù)域分析的機(jī)制
盡管每種方法進(jìn)行數(shù)據(jù)域分析的方式不同,但它們?nèi)杂幸恍┕餐c(diǎn)。所有的方法都直接或間接地涉及到數(shù)據(jù)流、數(shù)據(jù)內(nèi)容或數(shù)據(jù)結(jié)構(gòu)域的屬性。在多數(shù)情況下,數(shù)據(jù)流特征是用將輸入轉(zhuǎn)換成輸出的變換(功能)過(guò)程來(lái)描述的,數(shù)據(jù)內(nèi)容可以用數(shù)據(jù)詞典機(jī)制明確表示,或者通過(guò)描述數(shù)據(jù)或數(shù)據(jù)對(duì)象的層次結(jié)構(gòu)隱含地表示。
(2)功能表示的方法
功能一般用數(shù)據(jù)變換或加工來(lái)表示,每項(xiàng)功能可用規(guī)定的記號(hào)(圓圈或方框)標(biāo)識(shí)。功能的說(shuō)明可以用自然語(yǔ)言文本來(lái)表達(dá),也可以用形式化的規(guī)格說(shuō)明語(yǔ)言來(lái)表達(dá),還可以用上述的兩種方式的混合方式———結(jié)構(gòu)化語(yǔ)言來(lái)描述。
(3)接口的定義
接口的說(shuō)明通常是數(shù)據(jù)表示和功能表示的直接產(chǎn)物。某個(gè)具體功能的流進(jìn)和流出數(shù)據(jù)流應(yīng)是其他相關(guān)功能的流出或流入的數(shù)據(jù)流。因此,通過(guò)數(shù)據(jù)流的分析可以確定功能間的接口。
(4)問(wèn)題分解的機(jī)制以及對(duì)抽象的支持
問(wèn)題分解和抽象主要依靠分析員在不同抽象層次上表示數(shù)據(jù)域和功能域,以逐層細(xì)化的手段建立分層結(jié)構(gòu)來(lái)實(shí)現(xiàn)。例如,無(wú)論使用哪種分析方法,都能表示“計(jì)算職工每月工資”之類的功能,并在這個(gè)抽象層次上操縱這個(gè)功能。另外,所有的分析方法都提供逐層分解的機(jī)制,把“計(jì)算職工每月工資”功能劃分成一些子功能,如計(jì)算房租、計(jì)算用電費(fèi)、計(jì)算用水費(fèi)、計(jì)算養(yǎng)老保險(xiǎn)費(fèi)等等。其中,每項(xiàng)子功能還可以在更低的一級(jí)抽象層次上表示。
(5)邏輯視圖和物理視圖
大多數(shù)方法允許分析員在著手問(wèn)題的邏輯解決方案之前先分析物理視圖。通常,同一種表示法既可用來(lái)表示邏輯視圖,也可用來(lái)表示物理視圖。
(6)系統(tǒng)抽象模型
為了能夠比較精確地定義軟件需求,可以建立待開發(fā)軟件的一個(gè)抽象的模型,用基于抽象模型的術(shù)語(yǔ)來(lái)描述軟件系統(tǒng)的功能和性能,形成軟件需求規(guī)格說(shuō)明。這種抽象的模型是從外部現(xiàn)實(shí)世界的問(wèn)題領(lǐng)域抽象而來(lái),在高級(jí)層次上描述和定義系統(tǒng)的服務(wù)。
對(duì)于比較簡(jiǎn)單的問(wèn)題,不必建立抽象系統(tǒng)模型。或者可以認(rèn)為,系統(tǒng)模型在分析員頭腦中形成,直接由分析員寫成規(guī)格說(shuō)明。但對(duì)于比較復(fù)雜的問(wèn)題,僅有在頭腦中想象的模型是不夠的,必須建立適當(dāng)?shù)谋容^形式化的抽象系統(tǒng)模型,才能準(zhǔn)確全面地反映問(wèn)題領(lǐng)域中各種復(fù)雜的要求。不同類型的問(wèn)題有不同的需要解決的中心問(wèn)題,因而要建立不同類型的系統(tǒng)模型。對(duì)于數(shù)學(xué)軟件,設(shè)計(jì)的中心問(wèn)題是算法,軟件人員主要力量要花在數(shù)學(xué)模式算法的考慮上。對(duì)于數(shù)據(jù)通信軟件,中心問(wèn)題是數(shù)據(jù)傳送和過(guò)程控制,實(shí)現(xiàn)算法簡(jiǎn)單,采用數(shù)據(jù)流模型比較合適。對(duì)于涉及大量數(shù)據(jù)的數(shù)據(jù)處理軟件,中心問(wèn)題是數(shù)據(jù)處理,包括數(shù)據(jù)的采集、數(shù)據(jù)的傳送、存儲(chǔ)、變換、輸出等,一旦了解了數(shù)據(jù)結(jié)構(gòu),與它相關(guān)的算法就很簡(jiǎn)單了。如果系統(tǒng)要求有數(shù)據(jù)支持,通過(guò)數(shù)據(jù)庫(kù)獲取和存放信息,還需要考慮數(shù)據(jù)在數(shù)據(jù)庫(kù)中的組織方式和存取方法,建立數(shù)據(jù)庫(kù)模型。因此,在分析過(guò)程中數(shù)據(jù)模型是首先要集中精力考慮的問(wèn)題。
系統(tǒng)模型的建立是對(duì)現(xiàn)實(shí)世界中存在的有關(guān)實(shí)體和活動(dòng)的抽象和精化,其建立過(guò)程包括觀察分析、模型表示和模型檢查3個(gè)階段。
首先,分析員和用戶合作,從各方面觀察現(xiàn)實(shí)世界中的有關(guān)實(shí)體和活動(dòng),建立理解的共同基準(zhǔn),分清哪些概念與系統(tǒng)相關(guān),必須納入系統(tǒng)模型,哪些是系統(tǒng)模型不必關(guān)心的,分析員和用戶在共同理解的基礎(chǔ)上,建立系統(tǒng)模型,包括系統(tǒng)提供的各種系統(tǒng)服務(wù),模型表示的細(xì)節(jié)應(yīng)有:系統(tǒng)輸入、系統(tǒng)輸出、系統(tǒng)數(shù)據(jù)處理、系統(tǒng)控制等。
建立系統(tǒng)模型以后,還要進(jìn)行檢查。除了靜態(tài)檢查之外,系統(tǒng)描述可以部分地模擬執(zhí)行,將執(zhí)行情況與對(duì)外部現(xiàn)實(shí)世界系統(tǒng)觀察得到的系統(tǒng)跟蹤信息進(jìn)行對(duì)照,檢查模型是否符合要求。這種建立系統(tǒng)模型并模擬執(zhí)行和檢查的方法叫做系統(tǒng)原型開發(fā)。
(三)結(jié)構(gòu)化分析方法
結(jié)構(gòu)化分析是面向數(shù)據(jù)流進(jìn)行需求分析的方法。20世紀(jì)70年代末,經(jīng)Yourdon E.、Conˉstantine L.、DeMarco T.等人提出和發(fā)展,至今已得到廣泛應(yīng)用。結(jié)構(gòu)化分析方法的一些重要概念也滲透在其他開發(fā)方法中。例如,結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)(Structured Analysis and Design Technique,SADT)、面向?qū)ο蠹夹g(shù)(Object-Oreinted Technique,OOT)、IDEF方法等。
結(jié)構(gòu)化分析方法適合于數(shù)據(jù)處理類型軟件的需求分析。由于利用圖形表達(dá)需求,顯得清晰、簡(jiǎn)明,易于學(xué)習(xí)和掌握。具體來(lái)說(shuō),結(jié)構(gòu)化分析方法就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。根據(jù)DeMarco的論述,結(jié)構(gòu)化分析方法使用的工具有:數(shù)據(jù)流圖、數(shù)據(jù)詞典、結(jié)構(gòu)化英語(yǔ)、判定表、判定樹。結(jié)構(gòu)化分析方法有兩個(gè)明顯特點(diǎn):(1)自頂向下逐層分解。
采用簡(jiǎn)明易懂、直觀的描述方式
1.數(shù)據(jù)流圖
數(shù)據(jù)流圖也稱為Bubble Chart或data Flow Graph。是描述數(shù)據(jù)處理過(guò)程的工具。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。
(1)數(shù)據(jù)流圖的主要圖形元素
從數(shù)據(jù)流圖中可知,數(shù)據(jù)流圖的基本圖形元素有4種。
數(shù)據(jù)流是沿箭頭方向傳送數(shù)據(jù)的通道,它們大多是在加工之間傳輸加工數(shù)據(jù)的命名通道,也有連接數(shù)據(jù)存儲(chǔ)文件和加工的沒有命名的數(shù)據(jù)通道。這些數(shù)據(jù)流雖然沒有命名,但因聯(lián)接著有名加工和有名文件,所以其含意也是清楚的。同一數(shù)據(jù)流圖上不能有同名的數(shù)據(jù)流。多個(gè)數(shù)據(jù)流可以指向同個(gè)加工,也可以從一個(gè)加工散發(fā)出許多數(shù)據(jù)流。
加工是以數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)內(nèi)容作為加工對(duì)象的。加工的名字通常是一個(gè)動(dòng)詞短語(yǔ),簡(jiǎn)明扼要地表明完成的是什么加工。
文件在數(shù)據(jù)流圖中起保存數(shù)據(jù)的作用,因而稱為數(shù)據(jù)存儲(chǔ)(Data Store)。它可以是數(shù)據(jù)庫(kù)文件或任何形式的數(shù)據(jù)組織。指向文件的數(shù)據(jù)流可理解為寫入文件或查詢文件,從文件中引出的數(shù)據(jù)流可理解為從文件讀取數(shù)據(jù)或得到查詢結(jié)果。
數(shù)據(jù)流圖中第4種元素是數(shù)據(jù)源點(diǎn)或匯點(diǎn),它表示圖中要處理數(shù)據(jù)的輸入來(lái)源及處理結(jié)果要送往何處。由于它在圖中的出現(xiàn)僅僅是一個(gè)符號(hào),并不需要以軟件的形式進(jìn)行設(shè)計(jì)和實(shí)現(xiàn),因而,它只是數(shù)據(jù)流圖的外圍環(huán)境中的實(shí)體,故稱外部實(shí)體。在實(shí)際問(wèn)題中它可能是計(jì)算機(jī)外圍設(shè)備或是傳感裝置。
(2)數(shù)據(jù)流與加工之間的關(guān)系
在數(shù)據(jù)流圖中,如果有兩個(gè)以上的數(shù)據(jù)流指向一個(gè)加工,或是從一個(gè)加工中引出兩個(gè)以上的數(shù)據(jù)流,這些數(shù)據(jù)流之間往往存在一定的關(guān)系。
(3)分層的數(shù)據(jù)流圖
為了表達(dá)數(shù)據(jù)處理過(guò)程的數(shù)據(jù)加工情況,用一個(gè)數(shù)據(jù)流圖是不夠的。為表達(dá)稍為復(fù)雜的實(shí)際問(wèn)題需要按照問(wèn)題的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。
先把整個(gè)數(shù)據(jù)處理過(guò)程暫且看成一個(gè)加工,它的輸入數(shù)據(jù)和輸出數(shù)據(jù)實(shí)際上反映了系統(tǒng)與外界環(huán)境的接口。這就是分層數(shù)據(jù)圖的頂層。但只此一圖并未表明數(shù)據(jù)的加工要求,需要進(jìn)一步細(xì)化。如果這個(gè)數(shù)據(jù)處理包括3個(gè)子系統(tǒng),就可以畫出表示這3個(gè)子系統(tǒng)1、2、3的加工及其相關(guān)的數(shù)據(jù)流。這是頂層下面的第一層數(shù)據(jù)流圖,記為DFD/L1。繼續(xù)分解這3個(gè)子系統(tǒng),可得到第二層數(shù)據(jù)流圖DFD/L2.1、DFD/L2.2、及DFD/L2.3,它們分別是子系統(tǒng)。1、2和3的細(xì)化。僅以DF/2為例,其中的4個(gè)加工的編號(hào)均可聯(lián)系到其上層圖中的子系統(tǒng)2。這樣得到的多層數(shù)據(jù)流圖可十分清晰地表達(dá)整個(gè)數(shù)據(jù)加工系統(tǒng)的真實(shí)情況。對(duì)任何一層數(shù)據(jù)流圖來(lái)說(shuō),稱它的上層圖為父圖,在它下一層的圖則稱為子圖。
在多層數(shù)據(jù)流圖中,可以把頂層流圖、底層流圖和中間層流圖區(qū)分開。頂層流圖僅包含一個(gè)加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)的輸出數(shù)據(jù)。頂層流圖的作用在于表明被開發(fā)系統(tǒng)的范圍,以及它和周圍環(huán)境的數(shù)據(jù)交換關(guān)系。底層流圖是指其加工不須再做分解的數(shù)據(jù)流圖,其加工稱為“原子加工”。中間層流圖則表示對(duì)其上層父圖的細(xì)化。它的每一加工可以繼續(xù)細(xì)化,形成子圖。中間層次的多少視系統(tǒng)的復(fù)雜程度而定。
上一頁(yè)  1 2 3 4 5 6 7 8 9 10 11 下一頁(yè)
文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。