第3章 需求分析.ppt_第1頁
第3章 需求分析.ppt_第2頁
第3章 需求分析.ppt_第3頁
第3章 需求分析.ppt_第4頁
第3章 需求分析.ppt_第5頁
已閱讀5頁,還剩126頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程,1。第3章,需求分析,獲取需求1。需求獲取原則2。需求獲取技術(shù)3。需求調(diào)查方法4。需求獲取步驟5。需求表達(dá)和安排6。需求確認(rèn)需求分析1。需求分析目標(biāo)2。需求分析任務(wù)3。需求分析方法4。需求分析流程。5.需求建模1)功能建模2)數(shù)據(jù)建模3)行為建模6。結(jié)構(gòu)化方法-電子關(guān)系圖-數(shù)據(jù)字典-狀態(tài)-轉(zhuǎn)換圖7。案例需求規(guī)范需求評(píng)審,軟件工程,2,3.1需求獲取,1。需求獲取原則2。需求獲取技術(shù)。需求研究方法4。需求獲取步驟5。需求表達(dá)和安排。需求確認(rèn),軟件工程,3.3.1.1需求定義,用于識(shí)別用戶需求。系統(tǒng)分析過程的第一步是識(shí)別用戶需求。分析師必須考慮以下問題:(1)功能和性能的可靠性和質(zhì)量;(

2、2)總系統(tǒng)目標(biāo)成本和進(jìn)度限制;(3)制造需求市場(chǎng)和競爭技術(shù)未來可能的擴(kuò)展;(3)所需功能和性能范圍的識(shí)別;確定系統(tǒng)的功能、性能、約束和接口;軟件工程,4,3.1.2。需求獲取的基本原則,需求獲取應(yīng)該盡可能的全面和詳細(xì)。獲得的需求是一個(gè)完整的集合,系統(tǒng)真正實(shí)現(xiàn)的是一個(gè)子集。仔細(xì)的研究并不意味著所有的研究內(nèi)容都會(huì)在分析過程中被納入到新的系統(tǒng)中,但是它有利于以后的擴(kuò)展。以過程為主線在與用戶交流的過程中,所有的內(nèi)容都應(yīng)該與過程串聯(lián)在一起。如信息、組織結(jié)構(gòu)、處理規(guī)則等。這便于交流。軟件工程,5,過程的描述應(yīng)該既有宏觀的也有微觀的。也就是說,有必要強(qiáng)調(diào)整個(gè)業(yè)務(wù)流程和整個(gè)生命周期的業(yè)務(wù)流程,并對(duì)流程進(jìn)行細(xì)化

3、和擁有分支業(yè)務(wù)流程。需求獲取可能是軟件開發(fā)中最困難、最關(guān)鍵、最容易出錯(cuò)和最面向通信的方面。它表現(xiàn)在:需求的不穩(wěn)定性:軟件需求在整個(gè)軟件生命周期中會(huì)隨著時(shí)間而變化;需求的不準(zhǔn)確性:隨著使用系統(tǒng)實(shí)現(xiàn)業(yè)務(wù)流程的實(shí)踐,用戶和開發(fā)人員的理解將逐漸提高,而且一開始不可能想象所有的事情。只有通過有效的客戶/開發(fā)人員合作,需求獲取才能成功。軟件工程,6.3.1.3需求獲取技術(shù),需求獲取是在問題和最終解決方案之間搭建橋梁的第一步。獲得需求的一個(gè)基本結(jié)果是對(duì)項(xiàng)目中描述的客戶需求的一般理解。一旦理解了需求,分析師、開發(fā)人員和客戶就可以探索各種解決方案來描述這些需求。需求獲取技術(shù)包括兩個(gè)方面:(1)建立獲取用戶需求的

4、方法框架;支持和監(jiān)控需求獲取過程的機(jī)制。軟件工程,7,1。了解軟件需求的層次,業(yè)務(wù)需求反映組織或客戶開展相關(guān)業(yè)務(wù)的工作流程和業(yè)務(wù)規(guī)則,是對(duì)系統(tǒng)和產(chǎn)品的高層次目標(biāo)需求,與組織或客戶的業(yè)務(wù)領(lǐng)域相關(guān)。用戶需求描述了用戶在使用軟件時(shí)需要完成的任務(wù),這可以通過用例圖或場(chǎng)景描述來闡明。功能性非功能性需求定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能,但非功能性需求如表:軟件工程8.2所示。產(chǎn)品功能、性能要求和過程要求,軟件工程,9.3.1.4。需求研究方法,研究用戶的組織結(jié)構(gòu)、崗位設(shè)置和職責(zé)定義,區(qū)分多少個(gè)子系統(tǒng)是功能性的,劃分系統(tǒng)的一般范圍。調(diào)查各子系統(tǒng)的工作流程、功能和處理規(guī)則,收集原始信息,用數(shù)據(jù)流表達(dá)物流、資金

5、流和信息流之間的關(guān)系。提前準(zhǔn)備好研究內(nèi)容,向不同管理層次的用戶提出不同的問題,并列出問題。la行動(dòng)的要求需求調(diào)查的主要方式:發(fā)送問卷;召開調(diào)查會(huì)議;與用戶領(lǐng)域的專家進(jìn)行個(gè)人咨詢;現(xiàn)場(chǎng)調(diào)查,跟蹤現(xiàn)場(chǎng)業(yè)務(wù)流程;檢查與待開發(fā)系統(tǒng)相關(guān)的信息;使用各種調(diào)查工具等。軟件工程,11。由于軟件開發(fā)項(xiàng)目和組織文化的不同,需求開發(fā)沒有簡單和公式化的方法。下面列出了指導(dǎo)需求獲取活動(dòng)的九個(gè)步驟。3.1.5需求獲取步驟,軟件工程,12。定義項(xiàng)目的視圖和范圍,包括每個(gè)部門的組織結(jié)構(gòu)圖和職位/角色列表。確定用戶類別包括人員/責(zé)任矩陣。確定目標(biāo)系統(tǒng)的業(yè)務(wù)流程,包括物流、資金流和信息流,建立業(yè)務(wù)流程模型。使用需求來獲得技術(shù)開發(fā)

6、用例(或數(shù)據(jù)流圖),并設(shè)置優(yōu)先級(jí)來掌握主要的業(yè)務(wù)規(guī)則。從用戶那里收集質(zhì)量特征信息和其他非功能性需求,并將性能、安全性、可靠性和其他設(shè)計(jì)約束與業(yè)務(wù)規(guī)則相結(jié)合,形成功能性需求。軟件工程,13,對(duì)用例(或數(shù)據(jù)流圖)中涉及的數(shù)據(jù)進(jìn)行分類,包括數(shù)據(jù)的組成和數(shù)據(jù)之間的關(guān)系。精心設(shè)計(jì)用例(或數(shù)據(jù)流圖),建立功能模型,并審查它們,以闡明獲得需求的參與者對(duì)需求的理解。開發(fā)和評(píng)估界面原型,包括輸入設(shè)備、輸出設(shè)備、顯示樣式、顯示模式、輸出格式等。并建立接口規(guī)范和信息流傳輸規(guī)則。根據(jù)功能描述和用例開發(fā)概念測(cè)試用例,以驗(yàn)證用例(或數(shù)據(jù)流圖)、功能需求和原型。軟件工程,14,3.1.6。需求排序和表達(dá)方法,使用窮舉方法可

7、以避免遺漏。采用歸納法,通過對(duì)各種情況的綜合分類,可以將問題組織起來。通過采用抽象的方法,我們可以發(fā)現(xiàn)問題的本質(zhì),把握問題的主要矛盾,忽略次要矛盾。需求排序可以通過各種方式共享,如組織結(jié)構(gòu)圖、業(yè)務(wù)流程圖、多樹樹、關(guān)系矩陣、文本描述、表格、圖形等。需求描述包括組織結(jié)構(gòu)與崗位定義的關(guān)系、業(yè)務(wù)流程、處理規(guī)則、數(shù)據(jù)項(xiàng)、功能以及以上五個(gè)方面。軟件工程,15,3.1.7。需求確認(rèn),這將使用戶的需求規(guī)格明確。軟件工程,16,3.2需求分析,是軟件定義階段的最后一個(gè)階段,其基本任務(wù)是準(zhǔn)確理解用戶的需求,進(jìn)行詳細(xì)的調(diào)查和分析,將用戶的非正式需求聲明轉(zhuǎn)化為完整的需求定義,然后將需求定義轉(zhuǎn)化為相應(yīng)的形式,即準(zhǔn)確回答

8、“系統(tǒng)必須做什么?”這個(gè)問題,軟件工程,17,軟件開發(fā)是實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型。需求分析的任務(wù)是借助當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,并解決目標(biāo)系統(tǒng)做什么的問題。軟件工程,18,需要在信息領(lǐng)域和功能領(lǐng)域的信息流,能夠表達(dá)和理解問題:當(dāng)數(shù)據(jù)和控制通過系統(tǒng)時(shí)是如何變化的。兩個(gè)功能之間的數(shù)據(jù)/控制傳輸決定了功能之間的接口。信息內(nèi)容:單個(gè)數(shù)據(jù)或控制對(duì)象,它們構(gòu)成了由軟件轉(zhuǎn)換生成的更大的信息集合。信息結(jié)構(gòu):各種數(shù)據(jù)和控制項(xiàng)目的內(nèi)部組織。3.2.1需求分析原理,軟件工程,19,以分層方式分解和提煉問題,縱向分解,橫向分解,軟件工程,20,計(jì)算機(jī)系統(tǒng)工程,基于計(jì)算機(jī)的系統(tǒng)系統(tǒng)是一些元素的集合或排列,

9、這些元素被組織起來通過處理信息來實(shí)現(xiàn)某種方法、過程或控制。分析師必須考慮以下問題:基于計(jì)算機(jī)的系統(tǒng)的系統(tǒng)要素包括硬件、軟件、人員、數(shù)據(jù)庫、文檔和流程。、軟件工程、21、基于計(jì)算機(jī)系統(tǒng)的系統(tǒng)元件、輸入、系統(tǒng)、過程、硬件、軟件、文檔、人、數(shù)據(jù)庫、輸出、軟件工程、22、軟件計(jì)算機(jī)程序、硬件電子計(jì)算設(shè)備(例如中央處理器和存儲(chǔ)器)和外部機(jī)電設(shè)備(例如傳感器和電機(jī)等)。);人類硬件和軟件的用戶;大量有組織的信息收集;用于描述系統(tǒng)使用和操作的文件手冊(cè)、表格和其他信息;過程定義了每個(gè)系統(tǒng)元素的具體使用步驟,或者系統(tǒng)所在的過程環(huán)境。系統(tǒng)的層次結(jié)構(gòu),基于計(jì)算機(jī)的系統(tǒng)本身可以成為更大的基于計(jì)算機(jī)的系統(tǒng)中的一個(gè)元素,

10、并被稱為該更大系統(tǒng)的宏元素。軟件工程,24,計(jì)算機(jī)系統(tǒng)工程,計(jì)算機(jī)系統(tǒng)工程是一項(xiàng)解決問題的活動(dòng),旨在揭示和分析預(yù)期的功能,并將其分配給各個(gè)系統(tǒng)元素。與用戶合作,確定用戶的目標(biāo)和約束;導(dǎo)出功能、性能、接口、設(shè)計(jì)約束和信息結(jié)構(gòu)的表示;將它們分配給每個(gè)系統(tǒng)元素。軟件工程,25,3.2.2,系統(tǒng)分析的目標(biāo),確定用戶需求以評(píng)估系統(tǒng)的可行性,進(jìn)行經(jīng)濟(jì)分析和技術(shù)分析,將功能分配給硬件、軟件、人員、數(shù)據(jù)庫和其他系統(tǒng)元素,建立成本和進(jìn)度約束,生成系統(tǒng)規(guī)范,并形成所有后續(xù)項(xiàng)目的基礎(chǔ),軟件工程,26,系統(tǒng)建模,并使用“結(jié)構(gòu)模板”開發(fā)系統(tǒng)模型。系統(tǒng)工程師將各種系統(tǒng)元素分配給模板中的五個(gè)處理區(qū)域:用戶界面;進(jìn)入;系統(tǒng)功

11、能和控制;產(chǎn)出;維護(hù)和自檢。結(jié)構(gòu)模板可以幫助分析師建立一個(gè)層次結(jié)構(gòu)。軟件工程,27,系統(tǒng)結(jié)構(gòu)上下文圖ACD位于層次結(jié)構(gòu)的頂部,軟件工程,28,系統(tǒng)結(jié)構(gòu)上下文圖建立了要實(shí)現(xiàn)的系統(tǒng)和系統(tǒng)運(yùn)行上下文環(huán)境之間的信息邊界。自動(dòng)呼叫分配器定義了系統(tǒng)使用的所有信息的外部生產(chǎn)者,以及系統(tǒng)建立的所有信息的外部用戶通過接口進(jìn)行通信或?qū)嵤┚S護(hù)和自我測(cè)試。軟件工程,29,示例:CLSS,提取功能如下:1)讀取條形碼輸入信息;2)讀入脈沖計(jì)數(shù)器信號(hào);3)翻譯零件代碼數(shù)據(jù);4)數(shù)據(jù)庫查詢;5)確定料箱的位置;6)為分流機(jī)構(gòu)產(chǎn)生控制信號(hào)。軟件工程,30,CLSS的ACD圖,軟件工程,31,每個(gè)方框代表一個(gè)外部實(shí)體,即系統(tǒng)信

12、息的生產(chǎn)者或使用者。整個(gè)系統(tǒng)(或位于較低層的特殊子系統(tǒng))的符號(hào)用圓角矩形表示。因此,CLSS表現(xiàn)在加工和控制領(lǐng)域的自動(dòng)呼叫分配器。自動(dòng)呼叫分配器中帶有名稱的箭頭表示外部實(shí)體和CLSS系統(tǒng)之間傳輸?shù)男畔?數(shù)據(jù)或控制)。外部實(shí)體“條形碼閱讀器”生成條形碼輸入信息。本質(zhì)上,自動(dòng)呼叫分配器將任何系統(tǒng)置于其外部環(huán)境中。軟件工程,32歲,系統(tǒng)工程師,詳細(xì)分析自動(dòng)呼叫分配器圖中的矩形,并改進(jìn)自動(dòng)呼叫分配器圖。建立各種專業(yè)子系統(tǒng),完成輸電線路分類系統(tǒng)的功能(CLSS)。從自動(dòng)呼叫分配器導(dǎo)出的架構(gòu)流程圖自動(dòng)呼叫分配器中定義了專門的子系統(tǒng)。通過自動(dòng)呼叫分配器的每個(gè)矩形的信息流可以幫助系統(tǒng)工程師開發(fā)更詳細(xì)的自動(dòng)呼叫

13、分配器的CLSS“圖”。系統(tǒng)結(jié)構(gòu)流程圖顯示了各專業(yè)子系統(tǒng)和重要信息流。軟件工程,33,軟件工程,34,結(jié)構(gòu)模板將子系統(tǒng)處理分為五個(gè)處理區(qū)域。每個(gè)子系統(tǒng)可以包含一個(gè)或多個(gè)系統(tǒng)元素(如硬件、軟件和人員),這些元素由系統(tǒng)工程師分配給子系統(tǒng)。系統(tǒng)結(jié)構(gòu)模板還可以包含“結(jié)構(gòu)字典”,它列出了模板中出現(xiàn)的每個(gè)信息項(xiàng)及其描述。結(jié)構(gòu)字典是需求中數(shù)據(jù)字典的系統(tǒng)級(jí)版本。軟件工程,35,軟件工程,36,3.2軟件需求分析是軟件定義階段的最后階段,其基本任務(wù)是準(zhǔn)確回答“系統(tǒng)必須做什么?”這個(gè)問題。軟件工程,37,軟件工程,38,需求分析的任務(wù)是發(fā)現(xiàn)、提煉、建模和規(guī)范的過程。包括確定系統(tǒng)的綜合要求(發(fā)現(xiàn));細(xì)化項(xiàng)目開發(fā)計(jì)劃

14、中規(guī)定的軟件范圍;分析系統(tǒng)的數(shù)據(jù)要求;創(chuàng)建所需的數(shù)據(jù)模型、功能模型和控制模型;分析備選解決方案,并將其分配給不同的軟件組件。3.2.1需求分析的任務(wù),軟件工程,39。需求分析的過程可以分為四個(gè)階段:問題識(shí)別(需求獲取)以描述軟件的功能和性能需求;明確的用戶界面要求;指出軟件和其他系統(tǒng)元素之間的接口要求;建立軟件必須滿足的約束。從系統(tǒng)的角度理解軟件,并檢查用于生成計(jì)劃評(píng)估的軟件范圍是否合適;確定目標(biāo)系統(tǒng)的需求;提出這些要求的實(shí)現(xiàn)條件和要求應(yīng)滿足的標(biāo)準(zhǔn);修改系統(tǒng)開發(fā)計(jì)劃。3.2.2需求分析的過程,軟件工程,40,問題識(shí)別的另一個(gè)任務(wù)是建立分析所需的溝通渠道,以確保問題的順利分析。管理,用戶,分析師

15、,軟件開發(fā)團(tuán)隊(duì),軟件需求描述,軟件實(shí)施計(jì)劃,原型,軟件實(shí)施計(jì)劃,軟件需求描述,軟件需求描述,原型,原型,軟件工程,41。分析和綜合,導(dǎo)出軟件的邏輯模型(需求建模),以檢查各種需求的一致性;逐步完善所有軟件功能;分解數(shù)據(jù)字段并將其分配給每個(gè)子功能;找出系統(tǒng)組件、接口特性和設(shè)計(jì)限制之間的關(guān)系。確定是否存在不合理的用戶需求或用戶尚未提出的潛在需求。綜合系統(tǒng)解決方案,給出目標(biāo)系統(tǒng)的詳細(xì)邏輯模型。軟件工程,42,在需求分析階段準(zhǔn)備文檔軟件需求規(guī)范;初步用戶手冊(cè);確認(rèn)測(cè)試計(jì)劃;修訂和改進(jìn)軟件開發(fā)計(jì)劃。需求評(píng)審作為需求分析階段評(píng)審工作的一種手段,應(yīng)該評(píng)估功能的正確性、文檔的一致性、完整性、準(zhǔn)確性和清晰性以及

16、其他需求。軟件工程,43,系統(tǒng)的邏輯視圖和物理視圖軟件需求的邏輯視圖給出了軟件要實(shí)現(xiàn)的功能和要處理的數(shù)據(jù)之間的關(guān)系,而不是實(shí)現(xiàn)的細(xì)節(jié)。軟件需求的邏輯描述是軟件設(shè)計(jì)的基礎(chǔ)。軟件需求的物理視圖給出了處理功能和數(shù)據(jù)結(jié)構(gòu)的實(shí)際表達(dá),這通常由設(shè)備本身決定,因此它被推遲到設(shè)計(jì)階段。軟件工程,44,5。需求排序和表達(dá)方法,使用窮舉方法可以避免遺漏。采用歸納法,通過對(duì)各種情況的綜合分類,可以將問題組織起來。通過采用抽象的方法,我們可以發(fā)現(xiàn)問題的本質(zhì),把握問題的主要矛盾,忽略次要矛盾。需求排序可以通過各種方式共享,如組織結(jié)構(gòu)圖、業(yè)務(wù)流程圖、多樹樹、關(guān)系矩陣、文本描述、表格、圖形等。需求描述包括組織結(jié)構(gòu)與崗位定義的關(guān)系、業(yè)務(wù)流程、處理規(guī)則、數(shù)據(jù)項(xiàng)、功能以及以上五個(gè)方面。軟件工程,45,3.3常用分析方法,面向數(shù)據(jù)流的結(jié)構(gòu)化方法(SA),面向數(shù)據(jù)結(jié)構(gòu)的杰克遜方法(JSD),面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD),面向?qū)ο蟮姆治龇椒?OOA)等。軟件工程,46,結(jié)構(gòu)化方法最初只關(guān)注數(shù)據(jù)流,從上到下分解,并建立系統(tǒng)處理流程。經(jīng)過擴(kuò)展,建模技術(shù)擴(kuò)展到數(shù)據(jù)建模、功能建模和行為建模。以實(shí)體關(guān)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論