版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章需求分析
內(nèi)容提要3.1
需求分析的目標(biāo)和任務(wù)3.2
軟件需求的獲取方法3.3
需求分析的基本過程3.4
結(jié)構(gòu)化需求分析的方法3.5
支持需求分析的原型化方法需求分析需求分析是軟件生命周期中最重要的一步,也是最關(guān)鍵的一步。它將可行性研究階段產(chǎn)生的軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明。而軟件需求規(guī)格說明是軟件開發(fā)的基礎(chǔ),它關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。軟件需求分析也是一個不斷認(rèn)識“問題”,逐步細(xì)化系統(tǒng)“做什么”的過程。在該過程中,要將軟件定義和規(guī)劃階段所確定的軟件范圍逐步細(xì)化到可詳細(xì)定義的程度,分析和提出各種不同的軟件元素,然后為這些元素找到可行的解決方法。用戶和系統(tǒng)分析員在軟件需求分析階段均充當(dāng)著重要角色。需求分析的目標(biāo)和任務(wù)需求分析的基本任務(wù)就是細(xì)化“系統(tǒng)必須做什么”,準(zhǔn)確地回答“系統(tǒng)必須做什么”。需求分析實際上分兩個階段:需求理解獲取階段和需求表達(dá)階段需求分析的目標(biāo)和任務(wù)需求分析的任務(wù)確定系統(tǒng)必須完成哪些工作,也就是對新系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。系統(tǒng)分析員以可行性研究階段產(chǎn)生的數(shù)據(jù)流圖(邏輯模型)為出發(fā)點,在實現(xiàn)系統(tǒng)基本功能的基礎(chǔ)上,對這些功能仔細(xì)研究,從而進(jìn)一步將功能具體化。需求分析階段結(jié)束時提交的文檔,應(yīng)包括詳細(xì)的數(shù)據(jù)流圖、數(shù)據(jù)詞典。需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出新系統(tǒng)的邏輯模型,確定新系統(tǒng)“做什么”的問題。需求分析的目標(biāo)和任務(wù)軟件需求分析階段的具體任務(wù)
1.確定軟件系統(tǒng)的綜合需求軟件系統(tǒng)綜合需求有:系統(tǒng)功能需求、系統(tǒng)性能需求、系統(tǒng)環(huán)境需求、可靠性需求、安全保密性需求、用戶界面需求以及將來可能提出的需求等。
2.分析系統(tǒng)的數(shù)據(jù)需求任何一個軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),都經(jīng)過數(shù)據(jù)的輸入、處理與輸出的過程。系統(tǒng)要求處理的信息和輸出的信息在很大程度上決定了系統(tǒng)的概貌。因此,分析系統(tǒng)的數(shù)據(jù)需求是一個重要任務(wù)。復(fù)雜的數(shù)據(jù)是由許多基本數(shù)據(jù)元素組成的,數(shù)據(jù)元素之間的邏輯關(guān)系可由數(shù)據(jù)結(jié)構(gòu)表示,可以利用數(shù)據(jù)詞典全面地定義數(shù)據(jù)。需求分析的目標(biāo)和任務(wù)構(gòu)造原型系統(tǒng)的目的是:用較少的投入和較短的時間,讓用戶看到新系統(tǒng)的主要功能,從而使用戶可以更準(zhǔn)確地提出和確定對新系統(tǒng)的要求。6.編寫軟件需求規(guī)格說明書軟件需求分析階段結(jié)束后要編寫軟件需求規(guī)格說明書,它明確地表達(dá)了用戶與系統(tǒng)分析員對軟件系統(tǒng)的共同理解。
3.2軟件需求的獲取方法軟件需求的獲取方法軟件需求分析首先要進(jìn)行需求理解的獲取。通常,獲取軟件需求的一般途徑和方法有以下幾個方面:1.用戶訪談和會議。在系統(tǒng)分析員和用戶之間存在這樣一個問題:用戶熟悉業(yè)務(wù),但不熟悉計算機技術(shù),而系統(tǒng)分析員熟悉計算機技術(shù),卻不了解用戶業(yè)務(wù)。因此就會出現(xiàn)用戶提出的所有要求并不一定都合理,而系統(tǒng)分析員對一些用戶要求又模糊不清的問題。這就需要系統(tǒng)分析員和用戶反復(fù)交談,共同討論,必要時系統(tǒng)分析員可以通過深入現(xiàn)場,開座談會的方式,了解用戶對軟件系統(tǒng)的各種要求。澄清模糊的需求認(rèn)識,去掉那些無法實現(xiàn)的和不合理的要求,然后再決定采納哪些要求。對于去掉的要求,應(yīng)向用戶做充分的解釋,以求得諒解。3.3軟件需求的基本過程3.3軟件需求的基本過程軟件需求分析的基本過程可以分成以下四步:問題識別、分析與綜合、編制文檔和綜合評審。3.3.1問題識別首先,系統(tǒng)分析員要研究可行性分析報告(如果有的話)和軟件項目實施計劃。主要是從系統(tǒng)的角度來理解軟件,確定對目標(biāo)系統(tǒng)的綜合要求,即軟件的需求。還要提出這些需求實現(xiàn)的條件,以及需求應(yīng)達(dá)到的標(biāo)準(zhǔn)。也就是解決待開發(fā)系統(tǒng)需要“做什么”,“做到什么程度”的問題。這些需求包括:
(1)功能需求:提出目標(biāo)系統(tǒng)在職能上應(yīng)該做什么,這是最主要的需求。(2)性能需求:給出目標(biāo)系統(tǒng)的技術(shù)性能指標(biāo),包括存儲容量限制、運行時間限制等。3.3軟件需求的基本過程(3)環(huán)境需求:給出目標(biāo)系統(tǒng)運行時所需的環(huán)境要求。例如,在硬件方面,采用的機型、外部設(shè)備、數(shù)據(jù)通信接口等。在軟件方面,支持系統(tǒng)運行的系統(tǒng)軟件(操作系統(tǒng)、網(wǎng)絡(luò)軟件、數(shù)據(jù)庫管理系統(tǒng)等)。在使用方面,使用部門的制度和操作人員的技術(shù)水平應(yīng)具備的條件等。(4)可靠性需求:不同的軟件在運行時,失效的影響各不相同。在需求分析時應(yīng)對目標(biāo)系統(tǒng)投入運行后不發(fā)生故障的概率按實際的運行環(huán)境提出要求。對于重要系統(tǒng),或是運行失效會造成嚴(yán)重后果的系統(tǒng),應(yīng)提出較高的可靠性需求。
3.3軟件需求的基本過程(7)資源使用需求:這是指對目標(biāo)系統(tǒng)運行時所需的數(shù)據(jù)、軟件、內(nèi)存空間等各項資源的要求。另外,軟件系統(tǒng)開發(fā)時所需要的人力、支撐軟件、開發(fā)設(shè)備等都屬于軟件開發(fā)的資源,需要在需求分析時加以確定。(8)軟件成本消耗與開發(fā)進(jìn)度需求:在軟件項目立項后,要根據(jù)合同規(guī)定,對軟件開發(fā)的進(jìn)度和各步驟的費用提出要求,作為開發(fā)管理的依據(jù)。(9)預(yù)先估計以后系統(tǒng)可能達(dá)到的目標(biāo)。這樣,在開發(fā)過程中,可以對系統(tǒng)將來可能的擴充與修改做準(zhǔn)備。一旦需要時,就比較容易進(jìn)行補充和修改。3.3軟件需求的基本過程3.3.2分析與綜合問題分析和方案的綜合是需求分析第二個方面的工作。系統(tǒng)分析員必須從信息流和信息結(jié)構(gòu)出發(fā),逐步細(xì)化所有的軟件功能,找出系統(tǒng)各元素之間的聯(lián)系、接口特性和設(shè)計上的約束,分析它們是否滿足功能要求、是否合理。依據(jù)功能需求、性能需求、運行環(huán)境需求等,除去不合理的部分,增加需要部分。最終綜合成系統(tǒng)的解決方案,給出目標(biāo)系統(tǒng)的詳細(xì)邏輯模型。
3.3軟件需求的基本過程
在這個步驟中,分析和綜合工作應(yīng)反復(fù)地進(jìn)行。在對現(xiàn)行問題和期望的信息(輸入和輸出)進(jìn)行分析的基礎(chǔ)上,系統(tǒng)分析員開始綜合出一個或幾個解決方案,然后檢查它的工作是否符合軟件計劃中規(guī)定的范圍,若有不符再進(jìn)行修改??傊?,對問題進(jìn)行分析和綜合的過程將一直持續(xù)到系統(tǒng)分析員與用戶雙方都認(rèn)為可以正確地制定該軟件的規(guī)格說明為止。3.3軟件需求的基本過程(2)數(shù)據(jù)要求:主要包括通過需求分析建立起來的數(shù)據(jù)詞典以及描繪數(shù)據(jù)結(jié)構(gòu)的層次方框圖和對存儲信息(數(shù)據(jù)庫和普通文件)分析的結(jié)果。(3)用戶系統(tǒng)描述:這份文檔從用戶使用系統(tǒng)的角度來描述系統(tǒng),相當(dāng)于一份初步的用戶手冊。其內(nèi)容包括對系統(tǒng)功能和性能的簡要描述,使用系統(tǒng)的主要步驟和方法以及系統(tǒng)用戶的責(zé)任等。這份初步的用戶手冊使未來的用戶能從使用的角度檢查該項目系統(tǒng),從而使他們比較易于判斷這個系統(tǒng)是否符合他們的需要。(4)修正的開發(fā)計劃:經(jīng)過需求分析階段的工作,系統(tǒng)分析員對目標(biāo)系統(tǒng)有了更深入更具體的認(rèn)識,因此,可以對系統(tǒng)的成本和進(jìn)度做出更準(zhǔn)確的估計。在此基礎(chǔ)上應(yīng)該對開發(fā)計劃進(jìn)行修正。包括修正后的成本計劃、資源和進(jìn)度計劃等。3.3軟件需求的基本過程3.3.4綜合評審需求分析階段工作的復(fù)查是綜合評審。綜合評審就是對功能的正確性、完整性、清晰性以及其他需求給予評價。評審的主要內(nèi)容如下:(1)系統(tǒng)定義的目標(biāo)是否與用戶的需求一致;
(2)系統(tǒng)需求分析階段提供的文檔資料是否齊全;
(3)文檔中的所有描述是否完整、清晰、準(zhǔn)確地反映了用戶需求;(4)與所有其他系統(tǒng)成分的重要接口是否都已經(jīng)描述;3.3軟件需求的基本過程
(5)待開發(fā)項目的數(shù)據(jù)流與數(shù)據(jù)結(jié)構(gòu)是否完全確定;(6)所有圖表是否清楚,在不補充說明時能否理解;
(7)主要功能是否已包括在規(guī)定的軟件范圍之內(nèi),是否都已充分說明;(8)設(shè)計的約束條件或限制條件是否符合實際。除系統(tǒng)分析員之外,用戶.需求者、開發(fā)部門的管理者以及軟件設(shè)計、實現(xiàn)、測試人員都應(yīng)當(dāng)參加評審工作。評審結(jié)束時應(yīng)有評審負(fù)責(zé)人的結(jié)論意見及簽字。結(jié)構(gòu)化需求分析的方法需求分析常用的方法有:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法、面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法、結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法、面向?qū)ο蟮姆治龇椒ǖ?,對于要求時序的調(diào)度類軟件,還可使用狀態(tài)遷移圖、Petri網(wǎng)等。
3.4.1面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法(StructuredAnalysis,簡稱SA方法)是20世紀(jì)70年代由E.Yourdon等人提出的一種系統(tǒng)化的軟件開發(fā)方法。三十多年來,結(jié)構(gòu)化分析方法一直在軟件設(shè)計中起著重要的作用,它的一些重要概念,也應(yīng)用于其他開發(fā)方法中。結(jié)構(gòu)化需求分析的方法
結(jié)構(gòu)化分析方法的核心思想:采用“自頂向下,逐步求精”的技術(shù),對系統(tǒng)進(jìn)行劃分。最初,把整個系統(tǒng)表示成一張環(huán)境總圖,指出系統(tǒng)所有的輸入、輸出和邊界。然后,逐步對系統(tǒng)進(jìn)行細(xì)化,每細(xì)化一次,就把一些復(fù)雜的功能分解成較簡單的功能,并增加細(xì)節(jié)描述。繼續(xù)細(xì)化,直到所有的功能都足夠簡單,不需要再細(xì)化為止。面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法中的常用工具:
數(shù)據(jù)詞典和結(jié)構(gòu)化語言結(jié)構(gòu)化需求分析的方法3.4.2數(shù)據(jù)詞典及其功能顧名思義,數(shù)據(jù)詞典是數(shù)據(jù)的集合,它對數(shù)據(jù)流圖中的各個元素作出完整的定義和說明,是數(shù)據(jù)流圖的補充工具。數(shù)據(jù)流圖和數(shù)據(jù)詞典共同構(gòu)成系統(tǒng)的邏輯模型,兩者缺一不可。
1.數(shù)據(jù)詞典的內(nèi)容一般說來,數(shù)據(jù)詞典應(yīng)包括以下6類元素的定義。
(1)數(shù)據(jù)流在一個數(shù)據(jù)流圖中,數(shù)據(jù)以數(shù)據(jù)流為單位進(jìn)行傳輸。定義的主要內(nèi)容有:數(shù)據(jù)流名稱及其編號、別名、數(shù)據(jù)流的來源、數(shù)據(jù)流的去向、數(shù)據(jù)流的組成結(jié)構(gòu)化需求分析的方法(4)數(shù)據(jù)存儲數(shù)據(jù)存儲是保留或保存數(shù)據(jù)的地方。定義的主要內(nèi)容有:數(shù)據(jù)存儲名稱及其編號、數(shù)據(jù)存儲的組成(它所包含的數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu))、組織方式。(5)加工邏輯定義加工邏輯的主要內(nèi)容有:名稱及其編號、加工邏輯的輸入和輸出、加工邏輯的說明(對加工邏輯的功能做明確的描述,常采用的工具有:結(jié)構(gòu)化語言、判定樹、判定表等)。(6)外部實體外部實體是系統(tǒng)的“人—機”界面。數(shù)據(jù)流由外部實體輸入,又從系統(tǒng)向外部實體輸出。定義的主要內(nèi)容有:外部實體的名稱及其編號、外部實體的簡述、與外部實體有關(guān)的數(shù)據(jù)流。結(jié)構(gòu)化需求分析的方法
2.數(shù)據(jù)詞典中使用的符號為了定義簡明,在詞典中允許使用5種關(guān)系符號和1種注釋符號。符號含義
=
等于,定義為
+加
[]選擇符號,表示對[]中列舉的值可以任選其一{}重復(fù)符號,表示對{}中的內(nèi)容可視需要重復(fù)使用()可選符號,表示對()中的內(nèi)容可由設(shè)計者決定取舍*…*
注釋符號,表示兩個*之間的內(nèi)容是對條目的注釋結(jié)構(gòu)化需求分析的方法
3.加工邏輯的說明通常采用結(jié)構(gòu)化語言、判定表或判定樹等工具來描述加工邏輯。(1)結(jié)構(gòu)化語言自然語言加上結(jié)構(gòu)化的形式就構(gòu)成了結(jié)構(gòu)化語言,這是一種介于自然語言與程序設(shè)計語言之間的語言。結(jié)構(gòu)化程序有順序、選擇、循環(huán)等控制結(jié)構(gòu)。結(jié)構(gòu)化需求分析的方法(2)判定表在一些數(shù)據(jù)處理中,數(shù)據(jù)流圖的加工需要經(jīng)過多個邏輯條件組合的取值才能確定,此時運用判定表描述就比較清晰明了。判定表由四部分組成,各部分功能如下:左上部:列出所有條件。左下部:列出所有可能做的工作。右上部:每一列表表示各種條件的一種可能組合。右下部:每一列表表示與每一種條件組合所對應(yīng)的工作。(3)判定樹判定樹也是用來表達(dá)加工邏輯的工具,有時比判定表更直觀,更易于接受。下面以一個具體實例來說明以上三種加工邏輯的應(yīng)用。結(jié)構(gòu)化需求分析的方法4.數(shù)據(jù)詞典的功能數(shù)據(jù)詞典最重要的功能就是作為分析階段的工具。用戶通過它可以清楚地了解系統(tǒng)分析員對系統(tǒng)數(shù)據(jù)和加工邏輯的詳細(xì)說明。不同的開發(fā)人員或不同的開發(fā)小組之間可以通過對數(shù)據(jù)做出一致的定義來避免定義的混亂。數(shù)據(jù)詞典中對加工邏輯的描述很有價值,若改變了某個數(shù)據(jù)的定義,則很容易看出對加工邏輯所產(chǎn)生的影響,并且可方便地對受影響的加工邏輯做出相應(yīng)的改變。數(shù)據(jù)詞典也是下一步設(shè)計的依據(jù),若要求所有的開發(fā)人員都按照數(shù)據(jù)詞典的定義去設(shè)計模塊,則會避免麻煩的接口問題。結(jié)構(gòu)化需求分析的方法5.數(shù)據(jù)詞典的實現(xiàn)通常,實現(xiàn)數(shù)據(jù)詞典有三種途徑。(1)人工方法:采用人工方法實現(xiàn)時,把每一詞典條目(即每一個數(shù)據(jù)定義或每一個加工邏輯說明)寫在一張卡片上,由專人管理和維護(hù)。為了便于搜索,所有卡片按數(shù)據(jù)名稱排序。人工方法的優(yōu)點是容易實現(xiàn)。(2)自動方法:把詞典存在計算機中,用計算機對它搜索和維護(hù)。現(xiàn)有多種“詞典管理程序”如PLS.PSA。用計算機管理詞典質(zhì)量高,搜索、維護(hù)方便。(3)人工和自動混合的方法:在人工過程中可使用正文編寫程序、報告生成程序等幫助完成。結(jié)構(gòu)化需求分析的方法3.4.3數(shù)據(jù)流圖的細(xì)化經(jīng)過需求獲取階段的工作,分析員更加清楚地確定了系統(tǒng)邊界,即系統(tǒng)與外界或環(huán)境的輸入和輸出。因此可以酌情對它進(jìn)行完善,從而得到頂層數(shù)據(jù)流圖。由于它表示了系統(tǒng)的環(huán)境,因此也稱為系統(tǒng)環(huán)境圖。
1.數(shù)據(jù)流圖的細(xì)化有了頂層數(shù)據(jù)流圖后,接下來的工作就是自頂向下畫出各層的數(shù)據(jù)流圖。具體地說,就是對加工邏輯進(jìn)行“逐步分解”或“逐層細(xì)化”,直到底層的加工足夠簡單,功能清晰易懂,不必再繼續(xù)分解為止。結(jié)構(gòu)化需求分析的方法
2.數(shù)據(jù)流圖和加工的編號問題為了便于管理,對于所有的數(shù)據(jù)流圖和加工均需要編號。編號原則為:在整個系統(tǒng)中每一編號是惟一的。我們采用以下的編號規(guī)則:
(1)數(shù)據(jù)流圖的編號規(guī)則:頂層不參加編號,從0層開始所有的子圖均有一個編號,其編號采用所分解的父圖和相應(yīng)加工的編號。結(jié)構(gòu)化需求分析的方法(2)加工編號規(guī)則:頂層加工不編號,0層的加工編號為1,2,3…,從1層開始所有加工的編號由相應(yīng)的子圖號、小數(shù)點和加工在子圖中的順序組成。
3.數(shù)據(jù)流圖的補充和完善經(jīng)過細(xì)化的數(shù)據(jù)流圖,并沒有對數(shù)據(jù)和加工進(jìn)行詳細(xì)的說明。因此,我們還必須在數(shù)據(jù)詞典中完成以下工作:(1)定義各層數(shù)據(jù)流圖中所包含的數(shù)據(jù)流和數(shù)據(jù)存儲。(2)定義最底層數(shù)據(jù)流圖中的所有加工。3.5支持需求分析的原型化方法3.5支持需求分析的原型化方法在需求分析階段很難得到一個完整的規(guī)格說明,對于一些大型軟件項目更是如此。究其原因,一方面,在軟件開發(fā)初期用戶想法模糊,很難完全準(zhǔn)確地表達(dá)系統(tǒng)的全面需求;另一方面,軟件開發(fā)者不熟悉應(yīng)用環(huán)境,對問題的認(rèn)識更是模糊不清。雖然經(jīng)過詳細(xì)的討論和分析也許能夠得到一份較好的規(guī)格說明,但它很難能將系統(tǒng)的各個方面都描述得完整、準(zhǔn)確且與環(huán)境相符合。環(huán)境發(fā)生了變化,開發(fā)者遇到了事先未預(yù)料到的困難,就需要改變需求來解決,因此規(guī)格說明難以完善。需求的變更以及通信中的模糊和誤解,都會成為軟件開發(fā)的障礙。為了解決上述問題,逐漸形成了軟件系統(tǒng)快速原型化的概念。在工業(yè)產(chǎn)品中,原型就是“樣機”,在軟件開發(fā)中,原型則是軟件的一個早期可運行的版本。它必須反映出最終系統(tǒng)的重要特性。3.5支持需求分析的原型化方法軟件原型化方法:在獲得一組基本需求說明后,經(jīng)過快速分析構(gòu)造出一個滿足用戶基本要求的小型的軟件系統(tǒng)(原型系統(tǒng))。用戶運行該系統(tǒng),從中得到感受和啟發(fā),進(jìn)而對該系統(tǒng)做出反應(yīng)和評價,然后開發(fā)者根據(jù)用戶的意見對原型加以改進(jìn)。隨著不斷地實驗、糾錯、使用、評價和修改,不斷獲得新的原型版本。如此反復(fù),逐步減少分析和通話中的誤解,彌補不足之處,進(jìn)一步確定各種需求細(xì)節(jié),適應(yīng)需求的變更,從而提高最終產(chǎn)品的質(zhì)量。3.5支持需求分析的原型化方法
3.5.1軟件原型的分類軟件原型化方法雖然是在系統(tǒng)分析階段產(chǎn)生的,但它也面向軟件開發(fā)的其他階段。根據(jù)軟件項目的特點和運行原型的目的不同,原型有兩種類型:1.廢棄(throwaway)型:先構(gòu)造一個功能簡單而且質(zhì)量要求不高的模型系統(tǒng)。針對這個模型系統(tǒng)反復(fù)進(jìn)行分析和修改,從而形成比較好的設(shè)計思想。據(jù)此設(shè)計出更加完整、準(zhǔn)確、一致、可靠的最終系統(tǒng)。系統(tǒng)構(gòu)造完成后,原來的模型就被廢棄。
2.追加(addon)型:先構(gòu)造一個功能簡單而且質(zhì)量要求不高的模型系統(tǒng),作為最終系統(tǒng)的核心,然后,不斷地擴充、修改,逐步追加新需求,最后發(fā)展成為最終系統(tǒng)。3.5支持需求分析的原型化方法
3.5.2快速原型開發(fā)模型原型的開發(fā)和使用過程叫做原型生存期。下頁圖(a)所示的是原型生存期模型,下頁圖(b)所示的是模型的細(xì)化過程。
1.快速分析在系統(tǒng)分析員和用戶的緊密配合下,快速確定軟件系統(tǒng)的基本需求。根據(jù)原型所要體現(xiàn)的特性(或界面形式、或處理功能、或總體結(jié)構(gòu)、或模擬性能等),描述基本規(guī)格說明,以滿足開發(fā)原型的需要??焖俜治龅年P(guān)鍵在于要注意選取分析和描述的內(nèi)容。3.5支持需求分析的原型化方法3.5支持需求分析的原型化方法2.構(gòu)造原型在快速分析的基礎(chǔ)上,根據(jù)基本規(guī)格說明,盡快實現(xiàn)一個可運行的系統(tǒng)。為此需要強有力的軟件工具的支持,例如,采用高級語言實現(xiàn)原型,或者引入以數(shù)據(jù)庫為核心的開發(fā)工具等。此時主要考慮原型系統(tǒng)應(yīng)充分反映系統(tǒng)的待評價特性,而對于最終系統(tǒng)在某些細(xì)節(jié)上的要求,如安全性、健壯性、異常處理等可忽略。提交一個初始原型所需要的時間應(yīng)盡量短,最長不宜超過兩個月。3.5支持需求分析的原型化方法3.運行和評價原型這是頻繁通信、發(fā)現(xiàn)問題、消除誤解的重要階段。其目的是驗證原型的正確程度,進(jìn)而修改原有的需求并增補新需求。用戶應(yīng)在開發(fā)者的指導(dǎo)下試用原型。原型必須通過所有相關(guān)人員的檢查、評價和測試。在試用的過程中應(yīng)考核、評價的內(nèi)容有:運行結(jié)果是否滿足規(guī)格說明的要求;規(guī)格說明的描述是否滿足用戶的愿望;過去交互中是否有誤解和錯誤;是否還需要增補新的需求,以滿足因環(huán)境變化而產(chǎn)生的新需求或用戶的新設(shè)想。3.5支持需求分析的原型化方法4.修正和改進(jìn)對原型系統(tǒng)根據(jù)修改意見進(jìn)行修正。若原型運行的結(jié)果未能滿足規(guī)格說明中的需求,則說明對規(guī)格說明存在著不一致的理解或?qū)崿F(xiàn)方案不夠合理。若因為嚴(yán)重的理解錯誤而使正常操作的原型與用戶需求相違背,則有可能會產(chǎn)生廢品。如果發(fā)現(xiàn)是廢品,應(yīng)當(dāng)立即放棄。大多數(shù)原型不合適的部分可以修正,使之成為新模型的基礎(chǔ)。如果是由于規(guī)格說明不準(zhǔn)確(有多義性或者未反映用戶需求)、不完整(有遺漏)、不一致,或者需求有所變動或增加,則首先要修改并確定規(guī)格說明,然后再重新構(gòu)造或修改原型。如果用修改原型的過程代替快速分析,就形成了原型開發(fā)的迭代過程。開發(fā)者和用戶在一次次的迭代過程中不斷完善原型,以接近系統(tǒng)的最終需求。3.5支持需求分析的原型化方法
5.判定原型完成經(jīng)過修正或改進(jìn)的原型,如果獲得參與者的一致認(rèn)可,則原型開發(fā)的迭代過程可以結(jié)束。為此,應(yīng)判斷有關(guān)應(yīng)用的實質(zhì)是否已經(jīng)掌握,迭代周期是否可以結(jié)束等。判定的結(jié)果有兩個不同的轉(zhuǎn)向:一是繼續(xù)迭代驗證;一是進(jìn)行詳細(xì)說明。
6.判斷原型細(xì)部是否需要說明判斷組成原型的細(xì)部是否需要嚴(yán)格地加以說明。原型化方法允許對系統(tǒng)的必要成分進(jìn)行嚴(yán)格詳細(xì)地說明,如將需求轉(zhuǎn)化為報表,給出統(tǒng)計數(shù)字等。對于這些不能通過模型進(jìn)行說明的成分,如果必要,需提供說明,并利用屏幕等工具進(jìn)行討論和確定。3.5支持需求分析的原型化方法7.原型細(xì)部的說明對于所有那些不能通過原型說明的部分,例如,系統(tǒng)的輸入、輸出、加工、系統(tǒng)的邏輯功能、數(shù)據(jù)庫組織、系統(tǒng)的可靠性、用戶地位等,仍需通過文件加以說明。原型化對于完成嚴(yán)格的規(guī)格說明是有幫助的,如輸入、輸出記錄都可以通過屏幕進(jìn)行統(tǒng)計和討論。嚴(yán)格說明的成分要作為原型化方法的模型編入詞典,以得到一個統(tǒng)一、連貫的規(guī)格說明。
8.判定原型效果考察新加入的用戶需求信息和細(xì)部說明信息,判斷這些信息是否會影響模塊的有效性。如果使模型效果受到影響,甚至導(dǎo)致模型失效,則要進(jìn)行修正和改進(jìn)。3.5支持需求分析的原型化方法
9.整理原型和提供文檔整理原型的目的是為進(jìn)一步開發(fā)提供依據(jù)。原型的初期需求模型是一個自動的文檔??傊迷突夹g(shù),可為軟件的開發(fā)提供一種完整、靈活、近似動態(tài)的規(guī)格說明方法。3.6需求分析的結(jié)果及其描述
3.6需求分析的結(jié)果及其描述
3.6.1需求分析結(jié)果的描述在描述復(fù)雜的關(guān)系時,圖形比文字?jǐn)⑹鰞?yōu)越得多,它形象、直觀、一目了然,下面簡要介紹在需求分析階段可能用到的圖形工具。
1.層次方框圖層次方框圖是采用樹型結(jié)構(gòu)的多層次的矩形框來描述數(shù)據(jù)結(jié)構(gòu)的層次結(jié)構(gòu)。樹型結(jié)構(gòu)的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的每層矩形框代表這個數(shù)據(jù)結(jié)構(gòu)的子集,最底層的各個框代表組成這個數(shù)據(jù)結(jié)構(gòu)的實際數(shù)據(jù)元素,這些元素不可再分割。隨著結(jié)構(gòu)的精細(xì)化,層次方框圖對數(shù)據(jù)結(jié)構(gòu)也描繪得越來越細(xì),這種模式非常適合需求階段的描述。3.6需求分析的結(jié)果及其描述2.warnier圖
warnier圖是由法國計算機科學(xué)家J.D.Warnier提出的表示數(shù)據(jù)結(jié)構(gòu)的另一種層次結(jié)構(gòu)的圖形工具。它和層次方框圖很類似,但它比層次方框圖更靈活。3.IPO圖
IPO圖是輸入.處理.輸出圖的簡稱,IPO圖是美國IBM公司發(fā)展完善起來的一種圖形工具,它能夠方便地表述輸入數(shù)據(jù)、數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。
IPO圖包括三個矩形框,左邊框列出所有的輸入數(shù)據(jù),中間框列出主要的處理,右邊框列出輸出數(shù)據(jù)。三個框中間用粗箭頭指出數(shù)據(jù)通信情況。3.6需求分析的結(jié)果及其描述3.6.2需求分析規(guī)格說明書的內(nèi)容及編寫指導(dǎo)需求分析應(yīng)交付的主要文檔是需求規(guī)格說明書。軟件需求規(guī)格說明書的內(nèi)容及一般格式如下。
1.引言(1)編寫目的:闡明編寫需求說明書的目的,指明讀者對象。(2)背景說明:給出待開發(fā)的軟件產(chǎn)品的名稱;說明本項目的提出者、開發(fā)者及用戶;說明該軟件產(chǎn)品將做什么。(3)術(shù)語定義:列出文檔中所用到的專門術(shù)語的定義和縮寫詞的原文。(4)參考資料:列出本文檔中所用到的全部資料,如:項目的計劃任務(wù)書、合同或上級機關(guān)的批文;項目開發(fā)計劃;文檔所引用的資料、標(biāo)準(zhǔn)和規(guī)范。3.6需求分析的結(jié)果及其描述2.項目概述(1)項目的目的。(2)運行環(huán)境:描述軟件的運行環(huán)境,包括硬件平臺、硬件要求、操作系統(tǒng)和版本,以及其他的軟件或與其共存的應(yīng)用程序等。(3)條件與限制:給出開發(fā)人員在設(shè)計軟件時的約束條件。如:必須使用或避免使用的特定技術(shù)、工具、編程語言和數(shù)據(jù)庫;硬件限制;所要求的開發(fā)規(guī)范或標(biāo)準(zhǔn)。
3.6需求分析的結(jié)果及其描述
3.功能需求(1)功能劃分:列出所開發(fā)的軟件能實現(xiàn)的全部功能??刹捎梦淖?、層次方框圖、數(shù)據(jù)流圖等多種方法進(jìn)行描述。(2)功能描述:對各個功能進(jìn)行詳細(xì)地描述。3.6需求分析的結(jié)果及其描述4.數(shù)據(jù)描述(1)靜態(tài)數(shù)據(jù)。(2)動態(tài)數(shù)據(jù):包括輸入數(shù)據(jù)和輸出數(shù)據(jù)。(3)數(shù)據(jù)庫描述:給出所用數(shù)據(jù)庫的名稱和類型。
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024物流配送員勞動協(xié)議3篇
- 2024版網(wǎng)絡(luò)游戲開發(fā)與運營權(quán)轉(zhuǎn)讓合同2篇
- 2024押證不押車商業(yè)地產(chǎn)項目貸款合同范本9篇
- 2025年度建筑安全評價與施工監(jiān)理一體化合同范本3篇
- 2025廠區(qū)食堂承包合同:廠區(qū)文化建設(shè)與餐飲服務(wù)融合協(xié)議3篇
- 二零二五版北京市金融行業(yè)勞動合同法實施標(biāo)準(zhǔn)2篇
- 2024離婚財產(chǎn)分割保險保障合同
- 2024施工現(xiàn)場環(huán)境信息公開與共享協(xié)議3篇
- 2025年MLB棒球帽定制加工及品牌合作框架協(xié)議3篇
- 2025年度智能制造生產(chǎn)線操作工勞動合同3篇 - 副本
- 2024版?zhèn)€人私有房屋購買合同
- 2025年山東光明電力服務(wù)公司招聘筆試參考題庫含答案解析
- 2024爆炸物運輸安全保障協(xié)議版B版
- 《神經(jīng)發(fā)展障礙 兒童社交溝通障礙康復(fù)規(guī)范》
- 2025年中建六局二級子企業(yè)總經(jīng)理崗位公開招聘高頻重點提升(共500題)附帶答案詳解
- 2024年5月江蘇省事業(yè)單位招聘考試【綜合知識與能力素質(zhì)】真題及答案解析(管理類和其他類)
- 注漿工安全技術(shù)措施
- 《食品與食品》課件
- 2024年世界職業(yè)院校技能大賽“食品安全與質(zhì)量檢測組”參考試題庫(含答案)
- 讀書分享會《白夜行》
- 2023上海高考英語詞匯手冊單詞背誦默寫表格(復(fù)習(xí)必背)
評論
0/150
提交評論