軟件工程(張海藩)第3章.ppt
《軟件工程(張海藩)第3章.ppt》由會員分享,可在線閱讀,更多相關(guān)《軟件工程(張海藩)第3章.ppt(60頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第3章需求分析,3.1需求分析的任務(wù)3.2與用戶溝通獲取需求的方法3.3分析建模與規(guī)格說明3.4實體-聯(lián)系圖3.5數(shù)據(jù)規(guī)范化3.6狀態(tài)轉(zhuǎn)換圖3.7其他圖形工具3.8驗證軟件需求3.9小結(jié),1,如何準確有效地得到用戶的需求,,為什么要進行需求分析,在需求階段修復(fù)一個錯誤的費用是編碼階段的1/5到1/10,是維護階段修復(fù)費用的1/100到1/200。因此,我們可以認為,設(shè)計錯誤的修復(fù)費用要遠遠高于編碼錯誤的修復(fù)費用。,通過“分析”,理解用戶的各種問題,通過“規(guī)格說明”把問題表達出來。要求大家:(1)掌握具體的步驟和方法(2)提高分析問題和解決問題的能力(3)熟練運用一些圖形工具,2,基本概念開發(fā)過程的兩大階段(1)正確地確定問題(2)為問題尋找合適的解答目的澄清用戶的各種需求基本任務(wù)用戶和軟件人員雙方一起來充分理解用戶的要求,并把雙方共同的理解明確地表達成一份書面文檔——軟件需求規(guī)格說明書。,3,在軟件生命期的每個階段中,分析階段是面向“問題”的,它主要是對用戶的業(yè)務(wù)活動進行分析,明確在用戶的業(yè)務(wù)環(huán)境中,軟件系統(tǒng)應(yīng)該“做什么”。,4,,需求分析的任務(wù),確定對系統(tǒng)的綜合要求,1.確定系統(tǒng)的功能要求提出系統(tǒng)必須完成的全部所有功能2.確定系統(tǒng)的性能要求(1)系統(tǒng)的響應(yīng)時間(2)系統(tǒng)需要的存儲容量(3)后援存儲器容量、系統(tǒng)重新啟動(4)系統(tǒng)的安全性和可靠性3.確定系統(tǒng)的運行要求(1)支持系統(tǒng)運行的軟件環(huán)境(2)工具軟件和系統(tǒng)軟件(3)支持系統(tǒng)運行的硬件環(huán)境(4)外存儲器、通信接口、輸入和輸出4.確定系統(tǒng)的擴充要求,5,分析系統(tǒng)的數(shù)據(jù)要求建立數(shù)據(jù)模型(層次方框圖、Warnier圖)導(dǎo)出系統(tǒng)的邏輯模型數(shù)據(jù)流圖實體—聯(lián)系圖狀態(tài)轉(zhuǎn)換圖數(shù)據(jù)字典主要的處理算法修正系統(tǒng)開發(fā)計劃,,6,需求分析的過程需求分析階段可分為四個過程:調(diào)查研究、分析與綜合、書寫需求分析的文檔和評審。(1)調(diào)查研究目的:通過各種途徑獲取用戶需求信息產(chǎn)生《用戶需求說明書》角色與職責(zé):需求分析員調(diào)查、分析用戶的需求,客戶與最終用戶提供必要需求信息,7,(2)分析與綜合從信息流和信息結(jié)構(gòu)出發(fā),逐步細化所有的軟件功能,找出系統(tǒng)各元素之間的聯(lián)系、接口特性和設(shè)計上的約束,分析它們是否滿足功能要求。(3)書寫需求分析文檔軟件需求說明書數(shù)據(jù)要求說明書初步的用戶手冊修改、完善與確定軟件開發(fā)實施計劃,8,(4)需求分析的評審系統(tǒng)定義的目標是否與用戶的要求一致系統(tǒng)需求分析階段提供的文檔資料是否齊全文檔中的所有描述是否完整、清晰、準確反應(yīng)用戶要求與所有其它系統(tǒng)成分的重要接口是否都已經(jīng)描述,9,需求獲取的方法系統(tǒng)分析員建立需求的過程中所遇到的困難⑴分析員與領(lǐng)域?qū)<医涣鞯倪^程中,容易產(chǎn)生誤解⑵大型系統(tǒng)有時會有不同的用戶群體,他們往往會提出相互矛盾的要求,分析員要尋求令所有用戶滿意的答案很難⑶需求永遠不會穩(wěn)定。系統(tǒng)工程環(huán)境一旦改變,用戶對軟件的需求也會改變,而且這種需求往往無法預(yù)測。,10,訪談訪談有正式訪談和非正式訪談兩種形式。非正式訪談以一種較自由的形式,交換對問題的看法,主要是了解問題的性質(zhì)、需要解決的方案、所需的人數(shù)和能力,關(guān)注客戶的目標和收益。正式訪談將根據(jù)一些事先準備好的議題全面展開討論,得出結(jié)論性的意見。,11,情景(場景)分析是從軟件系統(tǒng)的一個交互情景示例中得到需求分析信息,然后將其以形式化方式表示出來。情景分析是用戶在某種程度上演示產(chǎn)品的應(yīng)用“樣本”,通過交互實例片斷細節(jié)(情景)的描述,實現(xiàn)對某個目標產(chǎn)品的表述。每個情景可能包含一個或多個交互,它們能在不同的細節(jié)層次上提供不同類型的情景信息。情景開始于一個框架,在導(dǎo)出過程中,細節(jié)被逐漸增加,直到產(chǎn)生交互的一個完整的描述。,12,場景(情景)內(nèi)容通常,一個場景(情景)可能包括:①在場/情景開始部分有一個系統(tǒng)狀態(tài)描述;②一個關(guān)于標準事件流的描述;③一個關(guān)于哪兒會出錯,以及如何處理錯誤的描述;④有關(guān)其他可能在同一時間進行的活動的信息;⑤在場/情景完成后系統(tǒng)狀態(tài)的描述。,13,面向數(shù)據(jù)流自頂向下求精結(jié)構(gòu)化分析方法(SA)就是面向數(shù)據(jù)流自頂向下逐步求精進行需求分析的方法?!敖Y(jié)構(gòu)化分析”(“StructuredAnalysis”)是一個簡單實用,使用廣泛的方法。它適用于分析大型的數(shù)據(jù)處理系統(tǒng),尤其是企事業(yè)管理方面的系統(tǒng),這個方法通常與設(shè)計階段的結(jié)構(gòu)化設(shè)計方法(SD)銜接起來。,14,軟件工程技術(shù)中,控制復(fù)雜性的兩個基本手段是“分解”和“抽象”。分解:把大問題分割成若干個小問題,然后分別解決。,15,對于一個復(fù)雜的系統(tǒng)(比如銀行管理系統(tǒng))如何理解和表達它的功能呢?SA方法使用了“自頂向下逐層分解”的方法。,16,“逐層分解”體現(xiàn)了分解和抽象的原則,它使我們不至于一下子陷入細節(jié),而是有控制地逐步地了解更多的細節(jié),這是有助于理解問題的。無論系統(tǒng)多么復(fù)雜,分析工作都可以有計劃有步驟、有條不紊地來進行,系統(tǒng)規(guī)模再大,分析工作的復(fù)雜程度不會隨之增大,而只是多分解幾層而已,所以SA方法有效地控制了復(fù)雜性。,18,描述方式SA方法采用了介于形式語言和自然語言之間的描述方式。用SA方法獲得的需求說明書由以下幾部分組成:一套分層的數(shù)據(jù)流圖一本數(shù)據(jù)字典一組小說明補充材料,19,“數(shù)據(jù)流圖”描述系統(tǒng)的分解,即描述系統(tǒng)由哪些部分組成,每個部分之間有什么樣的聯(lián)系等;“數(shù)據(jù)字典”描述系統(tǒng)中的每一個數(shù)據(jù);“小說明”詳細描述系統(tǒng)中的每一個加工;“補充材料”是根據(jù)需要對系統(tǒng)的補充。以上就可以明確而完整地描述一個系統(tǒng)的功能,20,結(jié)構(gòu)化分析方法在描述上的特點:盡量采用圖形表示,比較形象、直觀和易于理解。,21,系統(tǒng)的分析過程理解當(dāng)前的現(xiàn)實環(huán)境,獲得當(dāng)前人工系統(tǒng)的具體模型從當(dāng)前系統(tǒng)的具體模型抽象出當(dāng)前系統(tǒng)的邏輯模型分析目標系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,建立目標系統(tǒng)的邏輯模型為目標系統(tǒng)的邏輯模型作補充,22,小說明SA方法的基本思想:將一個大型復(fù)雜的系統(tǒng)逐層分解成許多個足夠簡單的基本加工,然后分別理解每個基本加工,并為每個基本加工詳盡地寫下“小說明”,再將所有這些“小說明”組織起來,就得到了整個系統(tǒng)的說明書。,23,小說明中應(yīng)精確地描述用戶要求一個加工“做什么”,這包括加工的激發(fā)條件、加工邏輯、優(yōu)先級、執(zhí)行頻率、出錯處理等等。其中最基本的部分是加工邏輯。,24,注意對一個加工應(yīng)描述的是用戶要求這個加工“做什么”,而不是用編程語言來描述具體的加工過程。,25,快速原型法基本思想:在很短的時間內(nèi)建立起一個只包含基本數(shù)據(jù)庫和一些基本功能的原型給用戶使用,然后根據(jù)用戶意見對原型進行修改,直到滿意為止。,26,,,短時間內(nèi)建立原型,,用戶滿意,,,修改,完善原型,,,否,,是,完成原型,27,結(jié)構(gòu)化分析模型的體系結(jié)構(gòu),28,實體-聯(lián)系圖實體“實體”是信息世界中描述客觀事物的概念。實體可以是現(xiàn)實世界的人、物、抽象的概念、事物之間的聯(lián)系等。如一個人,一件物品,一個部門,一種思想等都可以是實體。(實體有總體和個體之分)2.屬性“屬性”是指實體具有的某種特性。屬性是對實體的進一步描述。如學(xué)生實體可由學(xué)號、姓名、年齡、性別、系、年級等屬性來刻畫。(屬性有屬性名和屬性值的概念),29,3.聯(lián)系現(xiàn)實世界里的事物總是存在著這樣或那樣的聯(lián)系,這種聯(lián)系必然要在信息世界中得到反映。在信息世界中,事物之間的聯(lián)系可分為兩類:一是實體內(nèi)部的聯(lián)系,如組成實體的各屬性之間的關(guān)系;另一是實體之間的聯(lián)系,這里我們主要討論實體與實體之間的聯(lián)系,30,系統(tǒng)建模的一個重要方面是定義系統(tǒng)處理的數(shù)據(jù)的邏輯結(jié)構(gòu)。實體—關(guān)系模型描述數(shù)據(jù)實體、關(guān)聯(lián)以及實體屬性。該模型用實體-關(guān)系圖描述現(xiàn)實世界中的實體,而不涉及實體在系統(tǒng)中的實現(xiàn)方法。實體彼此間的聯(lián)系分為三類:一對一(1:1)聯(lián)系,一對多(1:N)聯(lián)系,多對多(M:N)聯(lián)系。,31,設(shè)A,B為兩個包含若干個體的總體,其間建立了某種聯(lián)系,其聯(lián)系方式可分為三類:一對一聯(lián)系、一對多聯(lián)系(包括多對一聯(lián)系)、多對多聯(lián)系。,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,A,B,,,1:n,n:m,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,A,B,33,一對一聯(lián)系:如果對于A中的每一個實體,B中至多有一個實體與其對應(yīng);B中的每一個實體也至多對應(yīng)A中的一個實體,則稱A與B是一對一的,記作1:1。比如:,學(xué)校,校長,,領(lǐng)導(dǎo),,,1,1,工廠,廠長,,管理,,,1,1,科室主任,病區(qū),,負責(zé),,,1,1,屬性1,屬性n,,,屬性1,屬性n,,,校名,屬性n,,,屬性1,,校址,,姓名,,職稱,,屬性1,,屬性n,,屬性1,,屬性n,,屬性1,,屬性n,,屬性1,,屬性n,,34,,一對多聯(lián)系:如果對于A中的一個實體,B中有一個以上的實體與之對應(yīng);B中的每一個實體至多對應(yīng)A中的一個實體,則稱A與B是一對多的,記作1:n。比如:,學(xué)校,班級,,下設(shè),,,1,n,工廠,車間,,有,,,1,n,病區(qū),醫(yī)生,,擁有,,,1,n,屬性1,屬性n,,,屬性1,屬性n,,,屬性1,屬性n,,,校名,,校址,,屬性1,,屬性n,,屬性1,,屬性n,,班名,,人數(shù),,屬性1,,屬性n,,屬性1,,屬性n,,35,多對多聯(lián)系(M∶N)如果A中有實體對應(yīng)B中一個以上實體;B中也有實體對應(yīng)A中一個以上實體,則稱A與B為多對多的,記作m:n。比如:,學(xué)生,課程,,選課,,,m,n,項目,職工,,參加,,,m,n,醫(yī)生,病人,,診治,,,m,n,成績,,屬性1,屬性n,,,記錄,,學(xué)號,,姓名,,屬性1,,屬性n,,屬性1,,屬性n,,課程號,,課程名,,屬性1,,屬性n,,屬性1,,屬性n,,36,實體——矩形框——聯(lián)系——菱形框——屬性——橢圓形——,4.符號,,,,37,4.如何設(shè)計E-R圖考察客觀事物及其聯(lián)系,抽象出實體,并一一命名(不能重名)根據(jù)需求確定實體的屬性根據(jù)屬性外在的聯(lián)系,描述實體間的聯(lián)系先作出局部E-R圖,再綜合產(chǎn)生總體E-R圖??傮wE-R圖不是各局部E-R圖的簡單拼合,而是有可能增加了某些聯(lián)系,也有可能減少了某些聯(lián)系,38,4.實例一個學(xué)生管理系統(tǒng)的實體-關(guān)系圖【步驟】(1)考察客觀事物及其聯(lián)系,抽象出實體,并一一命名(不能重名)實體:教師,學(xué)生,課程(2)根據(jù)需求確定實體的屬性教師:教工號,姓名,性別,職稱,職務(wù)學(xué)生:學(xué)號,姓名,性別,系,年級課程:課程號,課名,學(xué)時,學(xué)分,39,(3)根據(jù)屬性外在的聯(lián)系,描述實體間的聯(lián)系教:教師教課程學(xué):學(xué)生學(xué)課程(4)畫出E-R圖,40,,狀態(tài)轉(zhuǎn)換圖,狀態(tài)模型是一種描述系統(tǒng)對內(nèi)部或者外部事件響應(yīng)的行為模型。它描述系統(tǒng)狀態(tài)和事件,以及事件引發(fā)系統(tǒng)在狀態(tài)間的轉(zhuǎn)換。狀態(tài)模型一般采用狀態(tài)轉(zhuǎn)換圖(狀態(tài)圖)標記方法。狀態(tài)圖提供了行為建模機制。狀態(tài)圖描述了系統(tǒng)中某些復(fù)雜對象的狀態(tài)變化,主要有狀態(tài)、變遷和事件三種描述。,41,(1)狀態(tài),狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對事件的響應(yīng)方式。系統(tǒng)對事件的響應(yīng)可以是做一個(或一系列)動作,也可以只是改變系統(tǒng)本身的狀態(tài),還可以既改變狀態(tài)又做動作。狀態(tài)圖中定義的狀態(tài)有:初態(tài)、終態(tài)和中間狀態(tài);在一張狀態(tài)圖中只能有一個初態(tài),而終態(tài)可以有若干個。(2)事件事件是引起系統(tǒng)做動作或轉(zhuǎn)換狀態(tài)的控制信息,42,(4)實例,【一】電話系統(tǒng)狀態(tài)圖,43,【二】CPU分配的進程狀態(tài)轉(zhuǎn)換圖,運行,等待,就緒,,,,,t1,t2,t3,t4,44,【三】一個復(fù)印機控制軟件簡化的狀態(tài)圖,缺紙,45,其他圖形工具(一)層次方框圖層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。,46,(二)Warnier圖由法國專家Warnier提出用樹形結(jié)構(gòu)描繪信息表明了信息的邏輯組織結(jié)構(gòu),47,(三)IPO圖描述輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)形式:左邊框——輸入數(shù)據(jù)中間框——主要處理右邊框——輸出數(shù)據(jù),48,驗證軟件需求驗證軟件需求的正確性一致性:所有的需求一致,任何一條不能和別的沖突完整性:應(yīng)考慮到用戶要求的所有功能和性能現(xiàn)實性:在現(xiàn)有技術(shù)的基礎(chǔ)上應(yīng)能實現(xiàn)需求有效性:能解決用戶遇到的問題驗證軟件需求的方法用于需求分析的軟件工具RSL(需求陳述語言)PSL/PSA(問題陳述語言/問題陳述分析程序),,49,結(jié)構(gòu)化分析步驟,⑴問題描述⑵畫分層的數(shù)據(jù)流圖⑶決定哪些部分需要計算機化和怎樣計算機化⑷數(shù)據(jù)細節(jié)描述⑸定義處理邏輯⑹定義物理資源⑺確定輸入/輸出規(guī)格說明,確定有關(guān)數(shù)值⑻確定硬件需求⑼根據(jù)結(jié)構(gòu)化分析模型,建立系統(tǒng)規(guī)格說明文檔,50,,,用結(jié)構(gòu)化分析方法分析圖書館系統(tǒng)【問題描述】①一個圖書館藏有圖書和期刊雜志兩大類書籍,每種圖書/雜志可以有多冊。②圖書館可以維護(注冊、更新和刪除)圖書資料。③圖書館管理員負責(zé)與借書者打交道。④借書者可以預(yù)約目前借不到的書或雜志。⑤所有人員都可以瀏覽圖書館的圖書信息和各種告示。⑥系統(tǒng)能在流行的技術(shù)環(huán)境下運行,有一個良好的圖形交互界面。⑦系統(tǒng)應(yīng)具有良好的可擴展性。,51,【功能分析】①瀏覽功能:所有人員都可以瀏覽圖書館的圖書信息。②借還功能:借書者可以借/續(xù)借、還、預(yù)約圖書。③圖書管理功能:圖書管理人員可以做錄入、更新和銷毀等圖書信息維護工作。④借書者管理:系統(tǒng)管理人員可以進行注冊、更改、注銷借書者信息等維護工作。,52,【建立數(shù)據(jù)流圖】,分析圖書館系統(tǒng)有哪些外部用戶,即角色。圖書館系統(tǒng)主要有一般瀏覽者、借書者、一般管理員和系統(tǒng)管理員四類外部用戶。,53,【借/還功能數(shù)據(jù)流圖】,54,,【維護功能數(shù)據(jù)流圖】,55,【借書功能細化的數(shù)據(jù)流圖】,56,【建立實體-關(guān)系圖】,圖書館系統(tǒng)有“圖書”和“借書者”兩個實體。在數(shù)據(jù)流圖的分析中發(fā)現(xiàn)“圖書”實體,沒有真正區(qū)別借書和預(yù)約的關(guān)系。借書者是借一本具體的書,即“書目”,而預(yù)約圖書指的是此類書,而不是指具體的某冊書目。因此,要用“標題”實體區(qū)分二者,即預(yù)約的是書的“標題”,而不是“書目”。外部實體除了“借書者”,還有“系統(tǒng)管理員”。因此,必須考慮有嚴格授權(quán)進入的權(quán)限。,57,【圖書館系統(tǒng)實體-關(guān)系圖】,58,【建立狀態(tài)轉(zhuǎn)換圖】,圖書可借條件:圖書館庫存的該圖書的可借冊數(shù)(n)大于預(yù)約該圖書的借書者數(shù)目(m)。,59,,【建立數(shù)據(jù)字典】,圖書館系統(tǒng)的圖書信息分為“標題”和“書目”。標題描述抽象的書的信息,書目則是具體的每一本書的信息。,60,- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 軟件工程 張海藩
鏈接地址:http://kudomayuko.com/p-11547217.html