《軟件工程實踐與項目管理》課件第4章_第1頁
《軟件工程實踐與項目管理》課件第4章_第2頁
《軟件工程實踐與項目管理》課件第4章_第3頁
《軟件工程實踐與項目管理》課件第4章_第4頁
《軟件工程實踐與項目管理》課件第4章_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

4.1需求分析的目標

4.2需求分析的任務

4.3需求分析的步驟4.4數(shù)據(jù)流圖

4.5數(shù)據(jù)字典4.6《需求分析報告》的書寫格式4.7需求分析的特性4.8需求管理工具

第4章軟件需求分析4.1需求分析的目標軟件需求分析的基本目的是確定系統(tǒng)必須完成什么工作,也就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。軟件需求分析建立在軟件可行性報告基礎上,項目分析員通過與用戶密切合作、充分交流、完整準確地理解項目中用戶信息及信息的處理過程,詳細了解用戶需求,最終寫出用戶認可的需求分析報告。為此,軟件需求分析人員應該具備如下能力:

(1)具備系統(tǒng)的硬件和軟件的應用能力;

(2)具備良好的書面和口頭形式進行討論和交換意見的溝通能力;

(3)具備“既能看到樹木,又能看到森林”的洞察能力。4.2需求分析的任務軟件需求分析階段的任務包括:分析系統(tǒng)的信息和數(shù)據(jù)要求,確定系統(tǒng)的綜合要求,使用數(shù)據(jù)流圖和數(shù)據(jù)字典導出目標系統(tǒng)的邏輯模型,修正系統(tǒng)開發(fā)計劃,開發(fā)原型系統(tǒng)。

1.分析系統(tǒng)的信息和數(shù)據(jù)要求

1)分析系統(tǒng)的信息要求系統(tǒng)的信息要求分析主要圍繞以下幾方面進行:

(1)信息內(nèi)容和關系。信息內(nèi)容包括單個數(shù)據(jù)和控制對象。

(2)信息流。信息流是系統(tǒng)中數(shù)據(jù)和控制的流向。

(3)信息結構。信息結構指不同的數(shù)據(jù)和控制項的內(nèi)部結構。

2)分析數(shù)據(jù)要求任何一個軟件系統(tǒng)本質(zhì)上都是一個數(shù)據(jù)處理系統(tǒng),都包括數(shù)據(jù)的輸入、處理與輸出過程,因此,軟件需求分析階段必須考慮數(shù)據(jù)和數(shù)據(jù)處理方面的有關問題,即弄清系統(tǒng)涉及哪些數(shù)據(jù)、數(shù)據(jù)間的聯(lián)系、數(shù)據(jù)性質(zhì)、數(shù)據(jù)結構,數(shù)據(jù)處理的類型、數(shù)據(jù)處理的邏輯功能等。

2.確定系統(tǒng)的綜合要求系統(tǒng)的綜合要求包括如下幾個方面:

(1)系統(tǒng)功能要求。系統(tǒng)的功能要求是系統(tǒng)最主要的需求,它確定了系統(tǒng)必須完成的功能。

(2)系統(tǒng)性能要求。性能要求包括可靠性、聯(lián)機系統(tǒng)的響應時間、存儲容量、安全性等,應該根據(jù)具體系統(tǒng)而定。

(3)系統(tǒng)運行要求。運行要求指系統(tǒng)運行的環(huán)境要求,如系統(tǒng)軟件、數(shù)據(jù)庫管理系統(tǒng)軟件、外存和數(shù)據(jù)通信接口等。

(4)系統(tǒng)擴充要求。對將來可能提出的系統(tǒng)擴充及修改要求作準備。

3.導出目標系統(tǒng)的邏輯模型在分析完系統(tǒng)的功能需求后,應該建立目標的邏輯模型。邏輯模型的主要任務是建立系統(tǒng)的數(shù)據(jù)字典、實體關系圖(即E-R圖)、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)流圖。如圖4-1所示。圖4-1需求分析模型結構圖具體分析如下:

(1)數(shù)據(jù)描述。數(shù)據(jù)描述主要利用實體關系圖(E-R圖)和數(shù)據(jù)字典來描述。

E-R圖中的基本圖形符號如表4-1所示。表4-1E-R圖的基本圖形符號及含義現(xiàn)以“課程管理系統(tǒng)”為例,來說明教師、課程、學生之間的實體關系。如圖4-2所示。圖4-2課程管理系統(tǒng)實體關系圖關于數(shù)據(jù)字典的設計在本章節(jié)后面部分將作詳細介紹。

(2)控制描述??刂泼枋鲋饕褂脿顟B(tài)轉(zhuǎn)換圖來表示。狀態(tài)圖是是用來說明事物的狀態(tài)、事件和它們之間的關系的。狀態(tài)圖由狀態(tài)組成,各狀態(tài)由轉(zhuǎn)移鏈接在一起。狀態(tài)是對象執(zhí)行某項活動或等待某個事件時的條件。關于狀態(tài)圖的設計詳細介紹見第6章。

(3)處理描述。處理描述主要使用數(shù)據(jù)流圖和數(shù)據(jù)字典來表示。關于數(shù)據(jù)流圖的設計也將在本章節(jié)后面部分作詳細介紹。

4.修正系統(tǒng)開發(fā)計劃修正系統(tǒng)開發(fā)計劃是根據(jù)分析過程中獲得的對軟件需求更深入、更具體的認識,對目標系統(tǒng)的成本及進度進行更準確的估算,從而對系統(tǒng)開發(fā)計劃進一步進行修正。

5.開發(fā)原型系統(tǒng)一般地,在一種新產(chǎn)品投產(chǎn)之前,通常先制造一個“樣機”,試機成功后再進行批量生產(chǎn)。原型化系統(tǒng)開發(fā)思想是從“樣機”中借鑒過來的,即在目標系統(tǒng)開發(fā)之前,先構造一個原型系統(tǒng),以便通過較少的投入和較短的時間,讓用戶盡快感受到目標系統(tǒng)的主要功能,用戶也可以通過對原型系統(tǒng)的了解更準確地提出和確定對所開發(fā)的軟件的要求。4.3需求分析的步驟軟件需求分析階段的工作可以分為以下五個部分:獲取項目需求,分析與綜合,編制需求分析文檔,綜合評審,管理需求變更。

1.獲取項目需求項目需求包括下面幾個方面的內(nèi)容:

(1)功能需求。功能需求指所開發(fā)的目標系統(tǒng)應該完成什么功能,是最主要的需求。

(2)性能需求。性能需求給出目標系統(tǒng)的技術性能指標,包括存儲容量限制、響應速度限制等。

(3)環(huán)境需求。目標系統(tǒng)運行時對運行環(huán)境的要求。例如在硬件方面,對機型、外部設備、數(shù)據(jù)通信接口等的要求。在軟件方面,對支持目標系統(tǒng)運行的系統(tǒng)軟件(操作系統(tǒng)、網(wǎng)絡軟件、數(shù)據(jù)庫管理系統(tǒng)等)的要求。在使用方面,對使用部門的制度及其操作人員的技術水平的要求等。

(4)可靠性需求。不同軟件運行時,失效的影響不同。在需求分析時應按實際的運行環(huán)境對目標系統(tǒng)運行時發(fā)生故障的概率提出要求。對于重要系統(tǒng),或是運行失效會造成嚴重后果的系統(tǒng),應提出較高的可靠性需求。

(5)安全保密需求。不同的用戶對系統(tǒng)的安全、保密的要求也不盡相同。應當對用戶這方面的需求恰當?shù)刈鞒鲆?guī)定,以便對待開發(fā)系統(tǒng)進行特殊的設計,使其滿足用戶對安全保密性方面的要求。

(6)用戶界面需求。如果軟件具有友好的用戶界面,用戶就能夠方便、有效、愉快地使用該軟件。從市場角度看,具有友好用戶界面的軟件系統(tǒng)具有較強的競爭力。因此,在需求分析時,必須對細致地規(guī)定用戶界面應達到的標準。

(7)資源使用需求。這是指目標系統(tǒng)運行時對數(shù)據(jù)、軟件、內(nèi)存空間等各項資源的要求。另外,軟件系統(tǒng)開發(fā)時所需要的人力、支撐軟件、開發(fā)設備等都屬于軟件開發(fā)的資源,需要在需求分析時加以確定。

(8)軟件成本消耗與開發(fā)進度需求。在軟件項目立項后,要根據(jù)合同規(guī)定,對軟件開發(fā)的進度和各步驟的費用提出要求,以作為開發(fā)管理的依據(jù),并預先估計以后系統(tǒng)可能達到的目標。這樣,在開發(fā)過程中,可以為系統(tǒng)將來的擴充與修改做好準備。一旦有擴充或修改需要時,就比較容易進行補充和修改。獲取項目需求唯一和最好的方法是深入現(xiàn)場(帶上錄音筆和調(diào)研問題列表,見表4-2),傾聽用戶對目標系統(tǒng)的要求。系統(tǒng)分析員絕不能坐在辦公室憑空想象用戶的需求而進行“閉門造車”。表4-2調(diào)研問題列表與用戶溝通交流的方式有會議、電話、電子郵件、小組討論、模擬演示(或場景表演)等。與用戶的每一次交流都一定要有記錄(或錄音),交流的結果還應該進行分類,以便后續(xù)的分析活動。例如,可以將需求細分為功能需求、非功能需求(如響應時間、平均無故障工作時間、自動恢復時間等)、環(huán)境限制、設計約束等類型。

2.分析與綜合分析與綜合是需求分析階段的第二步工作,系統(tǒng)分析員需要從信息流和信息結構出發(fā),逐步細化軟件的所有功能,找出系統(tǒng)各元素之間的聯(lián)系、接口特性和設計上的約束,分析它們是否滿足功能要求、是否合理,并依據(jù)功能、性能、運行環(huán)境等需求,最終制定出系統(tǒng)的解決方案和目標系統(tǒng)的詳細邏輯模型。分析與綜合工作要反復地進行,直到分析人員與用戶雙方對系統(tǒng)的解決方案和目標系統(tǒng)的詳細邏輯模型都無異議為止。

3.編制需求分析文檔對在分析與綜合過程中已經(jīng)確定了的需求應當用文字清晰準確地進行描述,形成需求分析文檔。這些文檔應作為軟件文檔存檔,需求分析文檔通常由以下四部分構成:

(1)軟件需求規(guī)格說明書:主要描述目標系統(tǒng)的概貌、功能需求、性能需求、數(shù)據(jù)需求(主要包括數(shù)據(jù)字典、數(shù)據(jù)流圖等)、運行需求和將來可能的擴充需求。

(2)初步的用戶手冊:主要包括系統(tǒng)的使用步驟和方法等。

(3)軟件開發(fā)實施計劃。

4.綜合評審綜合評審是需求分析階段工作的復查手段,綜合評審過程中,要對系統(tǒng)各項需求的正確性、完整性和清晰性給予評價。在需求評審中主要評審以下內(nèi)容:

(1)設計方案的正確性、先進性和經(jīng)濟性;

(2)系統(tǒng)組成、系統(tǒng)要求及系統(tǒng)內(nèi)部接口的合理性;

(3)系統(tǒng)外部接口的合理性;

(4)采用的設計準則、規(guī)范和標準的合理性;

(5)系統(tǒng)可靠性、可維護性、安全性等要求是否合理;

(6)關鍵技術的落實情況;

(7)編制的質(zhì)量保證計劃是否可行。

5.需求變更在開發(fā)的過程中,需求的變更是不可避免的,軟件系統(tǒng)在設計、編碼以及測試的任何階段都可能發(fā)生需求變更。如何以可控的方式管理軟件的需求變更,對于項目的順利進行有著重要的意義。如果匆匆忙忙地完成用戶調(diào)研與分析,則往往意味著需求分析過程沒有得到充分的執(zhí)行。所以需求管理要保證需求分析的各個活動都得到了充分的執(zhí)行,以求得到正確的需求。為了保證軟件開發(fā)的順利進行,對軟件系統(tǒng)需求的變更要按照流程進行嚴格管理,如圖4-3所示。圖4-3需求變更流程首先進行變更發(fā)起。變更的發(fā)起者可以是用戶,也可以是開發(fā)方。用戶或者開發(fā)方在開發(fā)過程感到某些地方不滿意時,都可以發(fā)起變更要求。在考慮是否提出需求變更時,建議遵循如下原則:

(1)減少頻繁變更。不要輕易進行需求變更。

(2)處理過程規(guī)范化。如果確實需要變更,必須首先寫出“變更申請書”書面申請,經(jīng)過項目組討論確定之后才可以實施變更。在用戶向項目組遞交“變更申請書”后,項目組要進行需求變更的影響分析和評價,評價的結果可能是批準,也可能是拒絕“變更申請書”的變更。如果批準變更,有可能要對項目的計劃進度或人員等進行相應變更,所以要進行重新計劃。最后,是執(zhí)行相應的變更計劃。4.4數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlowDiagram,DFD)是描述系統(tǒng)的邏輯模型的主要形式。它不涉及硬件、軟件、數(shù)據(jù)結構與文件組織,與系統(tǒng)的物理描述無關,只是用一種圖形及與此相關的注釋來表示系統(tǒng)的邏輯功能,即所開發(fā)的系統(tǒng)在信息處理方面“要做什么”。由于圖形描述簡明、清晰,不涉及到技術細節(jié),所描述的內(nèi)容是面向用戶的,即使完全不懂信息技術的用戶單位的人員也容易理解,因此數(shù)據(jù)流圖是系統(tǒng)分析人員與用戶之間進行交流的有效手段,也是系統(tǒng)設計(即建立所開發(fā)的系統(tǒng)的物理模型)的主要依據(jù)之一。

1.數(shù)據(jù)流圖使用的符號數(shù)據(jù)流圖中有四種基本元素,其符號表示如圖4-4所示。符號①描述一個源點或終點,其中注明源點或終點的名稱。符號②描述一個變換數(shù)據(jù)的處理,輸入數(shù)據(jù)在此進行變換產(chǎn)生輸出數(shù)據(jù),其中需注明處理的名稱。符號③描述一個數(shù)據(jù)存儲,通常用于代表一個數(shù)據(jù)表,其中注明數(shù)據(jù)表的名稱。符號④描述一個數(shù)據(jù)流,即表示被加工的數(shù)據(jù)及其流向,流線上注明數(shù)據(jù)名稱,箭頭代表數(shù)據(jù)流動方向。注意,數(shù)據(jù)流與程序流程圖的畫法不能混淆。在數(shù)據(jù)流圖中只有“數(shù)據(jù)源(或稱做外部項)、數(shù)據(jù)處理(或稱做加工)、數(shù)據(jù)存儲、數(shù)據(jù)流”這四種圖形元素,不能隨意創(chuàng)造任何其他圖形符號。一個數(shù)據(jù)存儲并不等同于一個文件,它可以表示一個文件、文件的一部分、數(shù)據(jù)庫的元素或記錄的一部分等。數(shù)據(jù)流由一個或一組確定的數(shù)據(jù)組成。數(shù)據(jù)流的表示應該注意以下事項:

(1)數(shù)據(jù)流名應能直觀地反映數(shù)據(jù)流的含義。

(2)數(shù)據(jù)流的流向。

(3)數(shù)據(jù)流可以同名,也可以有相同的數(shù)據(jù)結構,但不同的數(shù)據(jù)具有不同的含義。

(4)兩個符號(加工、外部項、數(shù)據(jù)存儲)之間可以有多個數(shù)據(jù)流存在。

(5)避免錯誤的數(shù)據(jù)流命名方法。

(6)當數(shù)據(jù)存儲需要重復時,為了避免可能引起的誤解,如果代表同一個事物的相同符號在圖中出現(xiàn)在n個地方,則在這個符號的一個角上畫n-1條短斜線做標記。加工又稱處理(亦稱變換),它表示對數(shù)據(jù)流的操作。加工的符號分成上、下兩部分,從上到下分別是標識部分和功能描述部分(見后面的圖4-7所示)。標識部分用于標注加工編號,以“P”開頭;功能描述部分用來寫加工名。數(shù)據(jù)源點和終點(又稱端點)是系統(tǒng)外的實體,稱做外部項。它們存在于環(huán)境之中,與系統(tǒng)有信息交流,從源點到系統(tǒng)的信息叫系統(tǒng)的輸入;從系統(tǒng)到終點的信息稱系統(tǒng)的輸出。同一個端點可以是人或其他系統(tǒng)。在數(shù)據(jù)流圖中引入源點和終點是為了便于理解系統(tǒng),所以不需要詳細描述它們,但可以有編號。

如果數(shù)據(jù)源點和終點相同,可以只用一個符號代表數(shù)據(jù)的源點和終點,這樣至少將有兩個箭頭和這個符號相連(一個進一個出),如后面的圖4-7中的S1。

2.繪制數(shù)據(jù)流圖的步驟繪制數(shù)據(jù)流圖過程示意如圖4-5所示。

圖4-5繪制數(shù)據(jù)流圖過程示意圖具體繪制步驟如下:

(1)確定所開發(fā)的系統(tǒng)的外部項(外部實體),即系統(tǒng)的數(shù)據(jù)來源和去處。

(2)確定整個系統(tǒng)的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流,把系統(tǒng)作為一個加工環(huán)節(jié),畫出關聯(lián)圖。

(3)確定系統(tǒng)的主要信息處理功能,按此將整個系統(tǒng)分解成幾個加工環(huán)節(jié)(子系統(tǒng))確定每個加工的輸入與輸出數(shù)據(jù)流以及與這些加工有關的數(shù)據(jù)存儲。

(4)根據(jù)自頂向下,逐層分解的原則,對上層圖中全部或部分加工環(huán)節(jié)進行分解。

(5)重復步驟(4),直到逐層分解結束。

(6)對圖進行檢查和合理布局,主要檢查分解是否恰當、徹底,數(shù)據(jù)流圖中各層是否有遺漏、重復、沖突之處,命名、編號是否確切和合理,對錯誤與不當之處進行修改。

(7)與用戶進行交流,在用戶完全理解數(shù)據(jù)圖的內(nèi)容的基礎上征求用戶的意見。

3.數(shù)據(jù)流圖舉例下面以儲戶到銀行取款的過程為例來分析繪制數(shù)據(jù)流圖的步驟,其過程描述如下:首先儲戶填好取款單,然后把取款單和存折一起交給銀行柜臺人員。銀行柜臺人員做如下處理:

(1)審核存折是否合格,取款金額是否有效,如果不合格或無效,將儲戶的存折、取款單退回儲戶。

(2)如果上述兩個條件都驗證成功,則進行取款并修改賬目,然后將存折及現(xiàn)金交給儲戶,同時將取款單存檔。該業(yè)務過程的數(shù)據(jù)流圖描述如下:

(1)畫出頂層的數(shù)據(jù)流圖—銀行取款處理數(shù)據(jù)流圖(如圖4-6所示)。圖4-6銀行取款處理頂層數(shù)據(jù)流圖

(2)逐層分解加工,畫出下層數(shù)據(jù)流圖,即取款的第2層數(shù)據(jù)流圖(如圖4-7所示)。圖4-7取款的第2層數(shù)據(jù)流圖4.5設計數(shù)據(jù)字典

1.數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典一般包括以下五類元素(或條目)。

1)數(shù)據(jù)流在一個數(shù)據(jù)流圖中,數(shù)據(jù)以數(shù)據(jù)流為單位進行傳輸。其主要內(nèi)容為:編號:數(shù)據(jù)流名稱:說明(簡要介紹作用及其產(chǎn)生的原因和結果):數(shù)據(jù)流來源:數(shù)據(jù)流去向:數(shù)據(jù)流組成:2)數(shù)據(jù)元素(數(shù)據(jù)項)數(shù)據(jù)元素也稱數(shù)據(jù)項,是數(shù)據(jù)的最小單位。其主要內(nèi)容為:編號:數(shù)據(jù)元素名稱:類型:長度:取值范圍:數(shù)據(jù)結構:3)數(shù)據(jù)存儲數(shù)據(jù)存儲是數(shù)據(jù)保留或保存的地方。其主要內(nèi)容為:編號:數(shù)據(jù)存儲名稱:簡述(存放的是什么數(shù)據(jù)):輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)存儲組成:存儲方式(查詢、更新、關鍵碼):4)處理(加工)處理就是一個處理過程,其主要內(nèi)容為:編號:處理名稱:簡要描述(功能簡述):輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:處理邏輯(處理算法、處理順序):5)外部實體(數(shù)據(jù)源和數(shù)據(jù)終點)外部實體是系統(tǒng)的“人—機”界面。數(shù)據(jù)流由外部實體流入,又從系統(tǒng)向外部實體流出。其主要內(nèi)容為:編號:外部實體名稱:簡要描述:從外部實體輸入:向外部實體輸出:2.舉例現(xiàn)以圖4-7為例,來設計有關的數(shù)據(jù)字典。數(shù)據(jù)字典如下:1)數(shù)據(jù)流編號:F2數(shù)據(jù)流名稱:存折和現(xiàn)金說明:本數(shù)據(jù)流是經(jīng)“取款處理”后的結果數(shù)據(jù)流來源:取款處理數(shù)據(jù)流去向:儲戶數(shù)據(jù)流組成:存折?=?存折號?+?開戶行名稱?+?戶名?+?交易金額?+?交易日期?+?余額?+?操作人?+?復核人

2)數(shù)據(jù)存儲編號:D1數(shù)據(jù)存儲名稱:賬目記錄簡述:主要存儲有關賬戶信息。輸入數(shù)據(jù):客戶取款后更新賬務數(shù)據(jù)。輸出數(shù)據(jù):用于款項更新、打印和賬務查詢。數(shù)據(jù)存儲組成:賬目數(shù)據(jù)=操作日期+貸記方+借記方+余額+操作人+復核人3)處理編號:P1處理名稱:取款審核簡要描述:審核賬戶是否本行賬戶、取款金額是否小于存折余額。輸入數(shù)據(jù)流:F1輸出數(shù)據(jù)流:F1.1,F(xiàn)1.24)外部實體(數(shù)據(jù)源)編號:S1數(shù)據(jù)源名稱:儲戶簡要描述:拿存折和取款單取款。從數(shù)據(jù)源輸入:客戶提供取款金額等信息。

3.總結數(shù)據(jù)流圖只描述了系統(tǒng)的“分解”,并沒有表達圖中的數(shù)據(jù)、處理等具體含義。對數(shù)據(jù)流圖上各項目含義的不同理解將對以后的開發(fā)和維護工作造成不便。數(shù)據(jù)字典是對數(shù)據(jù)流圖中的所有數(shù)據(jù)、處理等進行精確定義。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構成系統(tǒng)的邏輯模型。數(shù)據(jù)字典是需求分析階段的工具,數(shù)據(jù)字典最重要的用途是用戶通過它可以清楚地了解分析員對系統(tǒng)數(shù)據(jù)和處理的詳細說明。不同的開發(fā)人員或不同的開發(fā)小組之間可以通過數(shù)據(jù)字典對數(shù)據(jù)的理解達成一致,從而避免定義混亂。數(shù)據(jù)字典對處理的描述也是很有價值的,如果改變了某個數(shù)據(jù)的定義,就會對處理產(chǎn)生相應影響。數(shù)據(jù)字典也是下一步設計的依據(jù),如果所有開發(fā)人員都根據(jù)數(shù)據(jù)字典的定義去設計模塊,則能避免許多麻煩的接口問題。4.6“需求分析報告”的書寫格式下面給出“需求分析報告”的書寫格式以供參考。

1.目的和對象闡明編寫需求說明書的目的,指明讀者對象

2.項目背景描述

(1)項目的委托單位、開發(fā)單位和主管部門;

(2)該軟件系統(tǒng)與其他系統(tǒng)的關系,描述本項目的適用場合及業(yè)務處理情況;

(3)項目名稱:本項目的名稱,包括項目的全名、簡稱、代號、版本號;

(4)名詞定義:列出文檔中用到的專門術語的定義和縮寫詞的原文,對重要的或是具有特殊意義的名詞進行定義;

(5)調(diào)研情況介紹:描述主要的調(diào)研活動及對象。

3.用戶情況

1)用戶特點介紹本項目用戶(或潛在用戶)的情況,包括:

(1)用戶的組織結構及職責;

(2)用戶的技術水平。

2)業(yè)務工作流程

(1)業(yè)務工作流程圖:畫出用戶業(yè)務流程圖;

(2)業(yè)務情況描述:描述用戶工作中每個業(yè)務情境;

(3)用戶原有系統(tǒng)的情況:介紹用戶現(xiàn)在使用的軟件系統(tǒng)的主要功能。

4.任務概述

1)目標闡明本項目所需達到的目的。

2)作用范圍以及其他應向讀者說明的有關該軟件開發(fā)的背景解釋被開發(fā)軟件與其他有關軟件之間的關系。如果本軟件產(chǎn)品是一項獨立的軟件,而且全部內(nèi)容自含,則說明這一點即可。如果所定義的產(chǎn)品是一個更大的系統(tǒng)的一個組成部分,則應說明本產(chǎn)品與該系統(tǒng)中其他各組成部分之間的關系,為此可使用一張方框圖來說明該系統(tǒng)的組成和本產(chǎn)品同其他各部分的聯(lián)系和接口。

5.運行環(huán)境

1)硬件環(huán)境詳細列出本軟件運行時所必須的最低硬件配置、推薦硬件配置(如主機、顯示器、外部設備等)以及其他特殊設備。

2)軟件環(huán)境包括操作系統(tǒng)、網(wǎng)絡軟件、數(shù)據(jù)庫系統(tǒng)以及其他特殊軟件要求。

3)條件與限制說明本軟件產(chǎn)品在實現(xiàn)時所必須滿足的條件和所受的限制,以及相應的原因。必須滿足的條件包括輸入數(shù)據(jù)的范圍以及格式,所受的限制包括軟件環(huán)境、硬件環(huán)境等方面的內(nèi)容。

4)主要特點說明本軟件產(chǎn)品與同類產(chǎn)品相比的特點,如賣點(僅限于自主產(chǎn)品)。

6.功能需求與功能分析

1)功能劃分從用戶的角度將產(chǎn)品按功能劃分成不同的部分,但這些部分并不對應于最終程序?qū)崿F(xiàn)時的功能模塊。

2)功能描述細化由功能劃分所生成的各部分的內(nèi)容,應包括下列內(nèi)容:

(1)必須完成的功能以及對此功能的詳細描述:按功能類型分類,逐條列出本軟件所能完成的各項功能以及對此功能的詳細描述;

(2)不支持的功能以及相應的原因:列出本軟件所不支持的各項功能以及相應的原因。此部分內(nèi)容務必詳細準確、無二義性,以作為將來驗收和測試的標準。用列表的方式逐項定量和定性地敘述對軟件所提出的功能要求,說明軟件可支持的終端數(shù)和可支持的并行操作的用戶數(shù)。

7.需求分析

1)用戶需求用例分析畫出業(yè)務系統(tǒng)的UML用例圖。給出業(yè)務的角色和用例對應關系。

2)業(yè)務系統(tǒng)的活動圖描述業(yè)務系統(tǒng)的UML活動圖。

3)功能分析從系統(tǒng)分析角度介紹采用什么新技術,采用哪種對策來解決將來出現(xiàn)或可能出現(xiàn)的問題。

(1)按照業(yè)務需求或功能特性畫出系統(tǒng)結構圖;

(2)采用逐步求精方法分解系統(tǒng)功能結構,畫出各子系統(tǒng)的功能結構圖,并進行文字描述。

8.數(shù)據(jù)描述

1)靜態(tài)數(shù)據(jù)靜態(tài)數(shù)據(jù)指長時間不發(fā)生改變或臨時存儲的數(shù)據(jù)。例如身份證號碼等。

2)動態(tài)數(shù)據(jù)動態(tài)數(shù)據(jù)指經(jīng)常發(fā)生改變的數(shù)據(jù)。

3)外部數(shù)據(jù)信號、文件、數(shù)據(jù)庫等數(shù)據(jù)的處理和輸入規(guī)定。

4)輸入/輸出數(shù)據(jù)說明輸入/輸出數(shù)據(jù)的類型及格式。

5)數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度描述系統(tǒng)的數(shù)據(jù)流圖(此數(shù)據(jù)流圖不包含任何有關實現(xiàn)的內(nèi)容,只是從最上層對有關內(nèi)容加以描述)。

6)數(shù)據(jù)詞典對數(shù)據(jù)流圖中出現(xiàn)所有被命名的圖形元素(數(shù)據(jù)的源點/終點、數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)處理)在數(shù)據(jù)詞典中加以定義,使得每一個圖形元素的名字都有一個確切的解釋。

9.性能需求

1)數(shù)據(jù)精確度根據(jù)實際情況,確定產(chǎn)品最終輸出數(shù)據(jù)(包括傳輸中)的數(shù)據(jù)精確度。

2)時間特性說明產(chǎn)品(尤其是交互式產(chǎn)品)在響應時間、更新處理時間、數(shù)據(jù)轉(zhuǎn)換與傳輸時間、運行時間等方面所需達到的時間特性。

3)適應性

(1)復用性。說明本產(chǎn)品是否可以復用已有軟件或最終產(chǎn)品是否可為其他產(chǎn)品復用。

(2)靈活性。說明在運行環(huán)境、與其他軟件的接口以及開發(fā)計劃等發(fā)生變化時,具有的適應能力。如:操作方式上的變化,運行環(huán)境的變化,同其他軟件的接口的變化,精度和有效時限的變化,計劃的變化或改進。對于為了提供這些靈活性而進行專門設計的部分應該加以標明。

10.運行需求

1)用戶界面說明本產(chǎn)品的人機界面風格。如屏幕格式、報表格式、菜單格式、輸入/輸出格式等。

2)硬件接口說明該產(chǎn)品與硬件之間各接口的邏輯特點及運行該軟件的硬件設備特征。列出運行該軟件所需要的硬件設備。說明其中的新型設備及其專門功能,包括:處理器型號及內(nèi)存容量;外存容量;媒體及其存儲格式;設備的型號及數(shù)量;輸入及輸出設備的型號和數(shù)量;數(shù)據(jù)通信設備的型號和數(shù)量;其他專用硬件。

3)軟件接口列出系統(tǒng)的支撐軟件(包括中間件),列出用到的操作系統(tǒng)、開發(fā)環(huán)境、數(shù)據(jù)庫和測試軟件等。說明該產(chǎn)品與其他軟件之間接口,對于涉及到的軟件產(chǎn)品應指出規(guī)格說明、版本號等。

4)故障處理列出可能出現(xiàn)的軟件、硬件故障以及對各項性能而言所產(chǎn)生的后果和對故障處理的要求。說明本產(chǎn)品在健壯性方面所能達到的目標。

11.不確定的問題說明目前尚未確定的問題及處理的計劃。

12.風險分析說明本項目面臨的主要風險。例如:時間進度風險、人力資源風險等。

13.其他需求其他需求如易用性、安全保密性、可維護性、可移植性等。

14.同類產(chǎn)品簡介(限自主產(chǎn)品)描述同類產(chǎn)品的特點,如工作流程、運行環(huán)境、限制條件等。

15.用戶手冊提交初步用戶操作手冊(或軟件使用說明書)。

16.編寫人員及編寫日期列出參與編寫的人員的名字及編寫日期和版本號等,并標明項目負責人。

17.參考資料

(1)項目經(jīng)核準的計劃任務書、合同或上級機關的批文;

(2)文檔所引用的資料、標準和規(guī)范等。列出這些資料的作者、標題、編號、發(fā)表日期、出版單位等。4.7需求分析的特性編寫一個高質(zhì)量的“需求分析報告”應該具有以下五個特性:

1.正確性每個需求必須精確地描述要交付的功能。需求的正確性取決于是否反映了用戶的真正意圖。

2.可行性在已知的能力、有限的系統(tǒng)及其環(huán)境中,每個需求必須是可實現(xiàn)的。為了避免需求的不可行性,在需求分析階段必須有技術人員參與。

3.優(yōu)先級對用戶需求進行優(yōu)先排隊,并指出具體的產(chǎn)品版本中優(yōu)先實現(xiàn)的需求。

4.明確性需求敘述對于多個讀者應能達成共識。要避免使用一些對于讀者不清楚的主觀詞匯或形容詞,如用戶友好性、輕易、簡單、快速、有效、幾個、藝術級、改善的、最大、最小等。每寫一個需求都應簡潔、直觀,并采用用戶熟知的術語,不要采用過于專業(yè)的術語或網(wǎng)絡語言。

5.可驗證性可以使用測試手段驗證產(chǎn)品中每個需求是否正確地實現(xiàn)。編寫優(yōu)秀的需求分析報告是沒有公式可循的。這里給出編寫高質(zhì)量需求分析報告的建議:

(1)句子和段落要簡短。采用主動語氣。使用正確的語法、拼寫和標點。使用術語要保持一致性,并在術語表或數(shù)據(jù)字典中定義。

(2)換位思考。要看需求是否被有效定義,要和用戶進行換位思考。

(3)需求的細化和合并。努力正確地把握細化程度??梢钥紤]將多個比較小的需求合并為一個大的需求。

(4)需求中的定義要一致。需求分析報告的術語在定義上要保持一致。4.8需求管理工具需求管理是項目團隊工作的起點,很多研發(fā)團隊開發(fā)過程混亂的源頭都在于需求管理沒有做好。項目需求管理應從需求采集開始,貫于整個項目生命周期,力圖實現(xiàn)最終產(chǎn)品同需求的最佳結合。需求管理工具是項目團隊工作的利器。考察一個需求管理工具軟件,可以從下面幾點出發(fā):(1)需求基本信息是否完備。(2)需求的層次組織,即需求本身是如何組織在一起的。(3)需求的評審及權限控制。(4)需求和版本、測試是如何關聯(lián)的。(5)需求變更的支持。本節(jié)介紹幾款國內(nèi)外流行的需求管理工具。它們是IBM公司的RationalRequisitePro、TelelogicDOORS、BorlandCaliberRM、統(tǒng)御需求管理軟件oKit四個工具。讀者可以根據(jù)自己的項目特點來選擇使用。4.8.1常用工具介紹1.RationalRequisiteProIBM的RationalRequisitePro解決方案是一種需求和用例管理工具,它能幫助項目團隊改進項目目標的溝通,增強協(xié)作開發(fā),降低項目風險,并可以在部署前提高應用程序的質(zhì)量。通過與MicrosoftWord的高級集成,RationalRequisitePro可以為需求的定義和組織提供熟悉的環(huán)境。RationalRequisitePro還提供數(shù)據(jù)庫與Word文檔的實時同步能力,為需求的組織、集成和分析提供方便;支持需求詳細屬性的定制和過濾,以最大化各個需求的信息價值;提供了詳細的可跟蹤性

溫馨提示

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

評論

0/150

提交評論