版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
項目三需求分析任務(wù)一認識需求分析任務(wù)二熟悉需求分析圖形工具任務(wù)三掌握結(jié)構(gòu)化分析技術(shù)任務(wù)四編寫文檔
任務(wù)一認識需求分析
需求分析也稱為軟件需求分析、系統(tǒng)需求分析或需求分析工程等,是開發(fā)人員經(jīng)過深入細致的調(diào)研和分析,準確理解用戶和項目的功能、性能、可靠性等具體要求,將用戶非形式的需求表述轉(zhuǎn)化為完整的需求定義,從而確定系統(tǒng)必須做什么的過程。它的基本任務(wù)是準確地回答“系統(tǒng)必須做什么?”這個問題。在需求分析階段產(chǎn)生的文檔是軟件需求規(guī)格說明書,它以書面形式準確地描述軟件需求。
目前,有很多用于需求分析的結(jié)構(gòu)化分析方法,所有這些分析方法都遵守下述準則:
(1)必須理解并描述問題的信息域(建立數(shù)據(jù)模型)。
(2)必須定義軟件應(yīng)完成的功能(建立功能模型)。
(3)必須描述作為外部事件結(jié)果的軟件行為(建立行為模型)。
(4)必須對描述信息、功能和行為的模型進行分解,用層次的方式展示細節(jié)。
一、需求分析概述
需求分析是指開發(fā)人員要準確理解用戶的要求,進行細致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程。需求分析雖處于軟件開發(fā)過程的開始階段,但它對于整個軟件開發(fā)過程以及軟件產(chǎn)品質(zhì)量是至關(guān)重要的。在計算機發(fā)展的早期,所求解問題的規(guī)模小,需求分析容易被忽視。
1.需求分析的難點
難點主要體現(xiàn)在以下幾個方面:
(1)問題的復(fù)雜性。
(2)交流障礙。
(3)不完備性和不一致性。
(4)需求易變性。
2.需求分析的基本原則
(1)必須能夠表達和理解問題的數(shù)據(jù)域和功能域。數(shù)據(jù)域包括數(shù)據(jù)流(即數(shù)據(jù)通過一個系統(tǒng)時的變化方式)數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu),而功能域反映上述三方面的控制信息。
(2)可以把一個復(fù)雜問題按功能進行分解并可逐層細化。
(3)建模。模型可以幫助分析人員更好地理解軟件系統(tǒng)的信息、功能和行為,這些模型也是軟件設(shè)計的基礎(chǔ)。
結(jié)構(gòu)化分析方法和面向?qū)ο蠓治龇椒ǘ甲裱陨显瓌t。
3.需求分析的任務(wù)
軟件需求分析的任務(wù)是:深入描述軟件的功能和性能,確定軟件設(shè)計的約束和軟件同其他系統(tǒng)元素的接口細節(jié),定義軟件的其他有效性需求,借助當前系統(tǒng)的邏輯模型導(dǎo)出目標系統(tǒng)邏輯模型,解決目標系統(tǒng)“做什么”的問題。在可行性研究和項目開發(fā)計劃階段對這個問題的回答是概括的、粗略的。
1)確定系統(tǒng)的綜合需求
系統(tǒng)分析員和用戶共同確定對問題綜合需求。表3-1給出了綜合需求的類別、定義和相關(guān)舉例,其中最重要的是功能需求,其應(yīng)確定系統(tǒng)必須完成的所有功能。在確定功能需求的基礎(chǔ)上,還應(yīng)根據(jù)組織機構(gòu)和使用用戶的具體情況,確定系統(tǒng)在性能、運行等方面的一系列需求。
2)分析系統(tǒng)的數(shù)據(jù)要求
任何一個軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息在很大程度上決定了系統(tǒng)的面貌,對軟件設(shè)計有深遠影響,因此,必須分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求分析的一個重要任務(wù)。分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法。
軟件系統(tǒng)復(fù)雜的數(shù)據(jù)由許多基本的數(shù)據(jù)元素組成,數(shù)據(jù)元素之間的邏輯關(guān)系用數(shù)據(jù)結(jié)構(gòu)來表示。利用數(shù)據(jù)字典可以全面準確地定義數(shù)據(jù),但是數(shù)據(jù)字典的缺點是不夠直觀。為了提高可理解性,常常利用圖形工具輔助描繪數(shù)據(jù)結(jié)構(gòu)。常用的圖形工具有層次方框圖和Warnier圖。
3)導(dǎo)出系統(tǒng)的邏輯模型
綜合上述兩項分析結(jié)果可以導(dǎo)出系統(tǒng)詳細的邏輯模型,通常用數(shù)據(jù)流圖、實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述這個邏輯模型。
4)修正系統(tǒng)開發(fā)計劃
根據(jù)在分析過程中獲得的對系統(tǒng)的更深入更具體的了解,可以比較準確地估計系統(tǒng)開發(fā)的成本和進度,修正以前制定的開發(fā)計劃。
5)開發(fā)原型系統(tǒng)
快速原型系統(tǒng)核心思想是:在軟件開發(fā)的早期快速建立目標軟件的原型,讓用戶對原型進行評估并提出修改意見,當原型幾經(jīng)改進最終確定后,它將由軟件設(shè)計和編碼階段進化成軟件產(chǎn)品;或者設(shè)計和編碼人員遵循原型所確立的外部特征實現(xiàn)軟件產(chǎn)品。
4.需求分析的步驟
1)問題識別
問題識別是指從系統(tǒng)的角度來理解軟件并評審軟件范圍是否恰當,確定對目標系統(tǒng)的綜合要求,即軟件的需求,提出這些需求實現(xiàn)條件,以及需求應(yīng)達到的標準。問題識別的另一項工作是建立分析所需要的通信途徑(如圖3-1所示),以保證能順利地對問題進行分析。
圖3-1問題識別的通信途徑
2)分析與綜合,導(dǎo)出軟件的邏輯模型
分析人員對獲取的需求,進行一致性的分析檢查,在分析、綜合中逐步細分軟件功能,劃分成各個子功能。
3)編寫文檔
編寫文檔的步驟如下:
(1)編寫“需求說明書”,把雙方共同的理解與分析結(jié)果用規(guī)范的方式描述出來,作為今后各項工作的基礎(chǔ)。
(2)編寫初步用戶使用手冊,著重反映被開發(fā)軟件的用戶功能界面和用戶使用的具體要求,用戶手冊能強制分析人員從用戶使用的角度考慮軟件。
(3)編寫確認測試計劃,作為今后確認和驗收的依據(jù)。
(4)修改完善項目開發(fā)計劃。在需求分析階段對開發(fā)的系統(tǒng)有了更進一步的了解,所以能更準確地估計開發(fā)成本、進度及資源要求,因此對原計劃要進行適當修正。
4)需求評審
需求評審的內(nèi)容包括:系統(tǒng)定義的目標是否與用戶的要求一致;系統(tǒng)需求分析階段提供的文檔資料是否齊全;文檔中的所有描述是否完整、清晰、準確反映用戶要求;與所有其他系統(tǒng)成分的重要接口是否都已經(jīng)描述;被開發(fā)項目的數(shù)據(jù)流與數(shù)據(jù)結(jié)構(gòu)是否足夠確定;所有圖表是否清楚,在不補充說明時能否被理解;主要功能是否已包括在規(guī)定的軟件范圍之內(nèi),是否都已充分說明;設(shè)計的約束條件或限制條件是否符合實際;開發(fā)的技術(shù)風險是什么;是否考慮過軟件需求的其他方案;是否考慮過將來可能會提出的軟件需求;是否詳細制定了檢驗標準,它們能否對系統(tǒng)定義是否成功進行確認。
二、需求分析方法
需求分析的過程如圖3-2所示。需求分析方法有功能分解方法、結(jié)構(gòu)化分析方法、信息建模方法和面向?qū)ο蠓治龇椒ǖ取?/p>
圖3-2需求分析的過程
1.功能分解方法
功能分解方法是將一個系統(tǒng)看成是由若干功能構(gòu)成的一個集合,每個功能又可劃分成若干個加工(即子功能),一個加工又進一步分解成若干加工步驟(即子加工)。因此,功能分解方法有功能、子功能和功能接口三個組成要素。它的關(guān)鍵策略是利用已有的經(jīng)驗,對一個新系統(tǒng)預(yù)先設(shè)定加工和加工步驟,著眼點放在這個新系統(tǒng)需要進行什么樣的加工上。
這種方法存在一些問題,它需要人工來完成從問題空間到功能和子功能的映射,即沒有顯式地將問題空間表現(xiàn)出來,也無法對表現(xiàn)的準確程度進行驗證,而問題空間中的一些重要細節(jié)更是無法提示出來??梢钥闯?,功能分解方法缺乏對客觀世界中相對穩(wěn)定的實體結(jié)構(gòu)進行描述,而將基點放在相對不穩(wěn)定的實體行為上,因此,基點是不穩(wěn)定的,難以適應(yīng)需求的變化。
2.結(jié)構(gòu)化分析方法
結(jié)構(gòu)化分析方法(StructuredMethod)是一種軟件開發(fā)方法,一般利用圖形表達用戶需求,強調(diào)開發(fā)方法的結(jié)構(gòu)合理性以及所開發(fā)軟件的結(jié)構(gòu)合理性。結(jié)構(gòu)化分析方法是一種從問題空間到某種表示的映射方法,它由數(shù)據(jù)流圖表示,是結(jié)構(gòu)化重要的、被普遍接受的表示系統(tǒng),它由數(shù)據(jù)流圖和數(shù)據(jù)詞典構(gòu)成。這種方法簡單實用,適于數(shù)據(jù)處理領(lǐng)域。
該方法的一個難點是確定數(shù)據(jù)流之間的變換,而且數(shù)據(jù)詞典的規(guī)模也是一個問題,它會引起所謂的“數(shù)據(jù)詞典爆炸”,同時對數(shù)據(jù)結(jié)構(gòu)的強調(diào)很少。
3.信息建模方法
信息建模方法是從數(shù)據(jù)的角度來對現(xiàn)實世界建立模型的,它對問題空間的認識是很有幫助的。該方法的基本工具是ER圖(實體關(guān)系圖),其基本要素由實體、屬性和關(guān)系構(gòu)成。該方法的基本策略是從現(xiàn)實世界中找出實體,然后再用屬性來描述這些實體。
4.面向?qū)ο蠓治龇椒?/p>
面向?qū)ο蠓治龇椒ㄊ前袳R圖中的概念與面向?qū)ο蟪绦蛟O(shè)計語言中的主要概念結(jié)合在一起而形成的一種分析方法。
三、需求獲取方法
1.訪談
訪談是最早開始使用的獲取用戶需求的技術(shù),也是迄今為止仍然廣泛使用的需求分析技術(shù)。
訪談有兩種基本形式,分別是正式的和非正式的訪談。正式訪談時,系統(tǒng)分析員將提出一些事先準備好的具體問題。在非正式訪談中,分析員將提出一些用戶可以自由回答的開放性問題,以鼓勵被訪問人員說出自己的想法。
在訪問用戶的過程中往往使用情景分析技術(shù)。所謂情景分析就是對用戶將來使用目標系統(tǒng)解決某個具體問題的方法和結(jié)果進行分析。該技術(shù)非常有效,主要體現(xiàn)在下述兩個方面:
(1)它能在某種程度上演示目標系統(tǒng)的行為,從而便于用戶理解,而且還可能進一步揭示出一些分析員目前還不知道的需求。
(2)情景分析較易為用戶所理解,使用戶在需求分析過程中始終扮演一個積極主動的角色,以獲得更多的用戶需求。
2.面向數(shù)據(jù)流自頂向下求精
軟件系統(tǒng)的基本功能都是把輸入數(shù)據(jù)轉(zhuǎn)變成需要的輸出數(shù)據(jù),從本質(zhì)看,數(shù)據(jù)決定了系統(tǒng)的處理和算法,因而,數(shù)據(jù)是需求分析的出發(fā)點。
需求分析的目標之一就是把可行性研究得到的數(shù)據(jù)流和數(shù)據(jù)存儲定義到元素級(足夠小數(shù)據(jù))。
通常把自頂向下逐步求精分析過程中得到的相關(guān)數(shù)據(jù)元素的信息記錄在數(shù)據(jù)字典中,把對算法的簡明描述記錄在IPO(輸入—處理—輸出)圖中。經(jīng)過分析而補充的數(shù)據(jù)流、數(shù)據(jù)存儲和處理,也應(yīng)該添加到數(shù)據(jù)流圖的適當位置上。
通過用戶對數(shù)據(jù)流的復(fù)查與驗證,可補充未知的數(shù)據(jù)元素,或修正原有的數(shù)據(jù)元素。
通過自頂向下逐步求精的功能分解,可以完成數(shù)據(jù)流圖的細化。
反復(fù)進行上述分析過程,分析員將越來越深入具體地定義目標系統(tǒng),最終達到對系統(tǒng)數(shù)據(jù)和功能要求的充分了解。圖3-3粗略地概括了上述分析過程。
圖3-3自頂向下逐步求精分析過程
3.快速建立軟件原型
快速建立軟件原型是最準確、最有效和最強大的需求分析技術(shù)。
快速原型就是根據(jù)用戶需求,快速建立起可運行的目標系統(tǒng)。其要點是:它應(yīng)該實現(xiàn)用戶看得見的功能(如屏幕顯示或打印報表),省略“隱含”的功能(如修改文件)。
快速原型應(yīng)該具備以下特性:
(1)快速。
(2)容易修改。
為了快速地構(gòu)建和修改原型,通常使用下述三種方法和工具:
(1)第四代技術(shù)。第四代技術(shù)包括眾多數(shù)據(jù)庫查詢和報表語言、程序和應(yīng)用系統(tǒng)生成器以及其他非常高級的非過程語言。
(2)可重用的軟件構(gòu)件??焖贅?gòu)建原型的另一種方法,是使用一組已有的軟件構(gòu)件(也稱為組件)來裝配(而不是從頭構(gòu)造)原型。軟件構(gòu)件可以是數(shù)據(jù)結(jié)構(gòu)(或數(shù)據(jù)庫)或軟件體系結(jié)構(gòu)構(gòu)件(即程序)或過程構(gòu)件(即模塊)。
(3)形式化規(guī)格說明和原型環(huán)境。
任務(wù)二熟悉需求分析圖形工具
一、數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlowDiagram,DFD)從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達工具及用于表示軟件模型的一種圖示方法。數(shù)據(jù)流圖是一種圖形化技術(shù),它對系統(tǒng)的邏輯功能進行描繪,圖中沒有任何具體的物理元素,只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。
1.基本概念和符號
數(shù)據(jù)流圖有四種基本符號,如表3-2所示。
2.繪制數(shù)據(jù)流圖的步驟
繪制數(shù)據(jù)流圖有以下兩步:
(1)繪制系統(tǒng)的輸入/輸出(即頂層)數(shù)據(jù)流圖。
(2)繪制系統(tǒng)內(nèi)部(即下層)數(shù)據(jù)流圖。一般將層號從0開始編號,遵循自頂向下、由外向內(nèi)的原則
3.繪制數(shù)據(jù)流圖的注意事項
(1)命名。
(2)編號。
(3)每個處理(加工)至少有一個輸入和輸出數(shù)據(jù)流。
(4)畫數(shù)據(jù)流而不是控制流。
(5)父圖與子圖的平衡。
(6)局部數(shù)據(jù)存儲。
(7)可理解性。
二、數(shù)據(jù)字典
數(shù)據(jù)字典(Datadictionary)是指對數(shù)據(jù)的數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯、外部實體等進行定義和描述,其目的是對數(shù)據(jù)流圖中的各個元素作出詳細的說明,使用數(shù)據(jù)字典為簡單的建模項目。簡而言之,數(shù)據(jù)字典是描述數(shù)據(jù)信息的集合,是對系統(tǒng)中使用的所有數(shù)據(jù)元素定義的集合。
數(shù)據(jù)字典的作用是給數(shù)據(jù)流圖上每個成分加以定義和說明。換句話說,數(shù)據(jù)流圖只能給出系統(tǒng)邏輯功能的一個總框架,而缺乏詳細、具體的內(nèi)容。數(shù)據(jù)字典對數(shù)據(jù)流圖的各種成分起注解、說明作用,給這些成分賦予實際的內(nèi)容。除此之外,數(shù)據(jù)字典還要對系統(tǒng)分析中其他需要說明的問題進行定義和說明。
1.數(shù)據(jù)字典的內(nèi)容
數(shù)據(jù)字典的內(nèi)容包括五個方面:數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)元素、外部項、加工。其中,數(shù)據(jù)元素是組成數(shù)據(jù)流的基本成分。
數(shù)據(jù)流由一個或一組固定的數(shù)據(jù)元素組成。定義數(shù)據(jù)流時,不僅要說明數(shù)據(jù)流的名稱、組成等,還應(yīng)指明它的來源、去向和流通量等。
數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留的場所。數(shù)據(jù)存儲只是描述數(shù)據(jù)的邏輯存儲的結(jié)構(gòu),不涉及物理組織。通常包括編號、名稱、簡述、組成、關(guān)鍵字和相關(guān)聯(lián)的處理等。
數(shù)據(jù)元素又稱為數(shù)據(jù)項,是數(shù)據(jù)的最小單位。數(shù)據(jù)應(yīng)從靜態(tài)及動態(tài)兩個方面去分析。在數(shù)據(jù)字典中,主要是對數(shù)據(jù)的靜態(tài)特性加以定義。
外部項包括外部項名稱、編號、簡述及有關(guān)數(shù)據(jù)流的輸入和輸出。
加工是對數(shù)據(jù)流圖中最底層的處理邏輯加以說明,內(nèi)容包括加工名稱、簡述、輸入、處理過程、輸出和處理頻率。
2.定義數(shù)據(jù)的方法
數(shù)據(jù)字典中的定義就是對數(shù)據(jù)自頂向下的分解,應(yīng)把數(shù)據(jù)分解到什么程度,一般以其含義清楚作為標準。
由數(shù)據(jù)項(元素)組成數(shù)據(jù)的方式有四種類型:
(1)順序:以確定次序連接兩個或多個分量;
(2)選擇:從兩個或多個可能的元素中選擇一個;
(3)重復(fù):指定的分量重復(fù)零次或多次;
(4)可選:一個分量是可有可無的。
數(shù)據(jù)字典中常用的一些符號如下:
“=”:等價于(定義為);
“+”:和(連接兩個分量);
“[?]”:或(選其中之一);
“{?}”:重復(fù);
“(?)”:可選(可有可無)。
3.實例
以下列出本系統(tǒng)部分主要數(shù)據(jù)流、數(shù)據(jù)元素、數(shù)據(jù)存儲及加工的數(shù)據(jù)字典。
數(shù)據(jù)流的數(shù)據(jù)字典如表3-3所示。
數(shù)據(jù)存儲的數(shù)據(jù)字典如表3-4所示。
數(shù)據(jù)元素的數(shù)據(jù)字典如表3-5所示。
外部項的數(shù)據(jù)字典如表3-6所示。
加工的數(shù)據(jù)字典如表3-7所示。
三、實體-關(guān)系圖
為了清楚、準確地描述用戶對數(shù)據(jù)的要求,分析員通常建立一個概念性的數(shù)據(jù)模型(也稱信息模型)——實體-關(guān)系模型(Entity-RelationshipModel,E-R模型),它是一種面向問題的數(shù)據(jù)模型,是按用戶的觀點對數(shù)據(jù)建立的模型。
1.基本概念和符號
數(shù)據(jù)模型包含3種信息:數(shù)據(jù)對象、數(shù)據(jù)對象的屬性及數(shù)據(jù)對象彼此間相互連接的關(guān)系。
1)數(shù)據(jù)對象(實體)
數(shù)據(jù)對象是對軟件的復(fù)合信息的抽象,它是指具有一系列不同性質(zhì)或?qū)傩缘氖挛铮瑑H有單個值的事物(如寬度)不是數(shù)據(jù)對象。
數(shù)據(jù)對象可以是外部實體(產(chǎn)生或使用信息的任何事物)、事物(如報表)、行為(如打電話)、事件(如響警報)、角色(如教師、學生)、單位(如會計科)、地點(如倉庫)或結(jié)構(gòu)(如文件)等。
2)屬性
屬性是數(shù)據(jù)對象或聯(lián)系所具有的性質(zhì)。一個數(shù)據(jù)對象通常由若干個屬性來刻畫,如:學生有學號、姓名、性別、系、年級等。聯(lián)系也可能有屬性,如學生“學”某門課程。
3)關(guān)系
關(guān)系是數(shù)據(jù)對象彼此之間相互連接的方式。關(guān)系分為3種類型:
(1)一對一關(guān)系(1∶1),如:一個部門有一個經(jīng)理。
(2)一對多關(guān)系(1∶N),如:教師與課程。
(3)多對多關(guān)系(M∶N),如:學生與課程。
4)實體-關(guān)系圖(Entity-Relationshipdiagram,E-R圖)的符號
通常用矩形框代表實體,菱形框表示聯(lián)系,用橢圓形或圓角矩形表示實體(或關(guān)系)的屬性,如圖3-4所示。圖3-4實體-關(guān)系圖的符號
2.E-R圖實例
數(shù)據(jù)庫設(shè)計中十分重視數(shù)據(jù)分析、抽象與概念結(jié)構(gòu)的設(shè)計,概念結(jié)構(gòu)的設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。用于描述概念結(jié)構(gòu)模型的工具是E-R模型。需求分析采用自頂向下的結(jié)構(gòu)設(shè)計方法,而概念結(jié)構(gòu)設(shè)計通常采用自底向上的設(shè)計方法,這種方法是首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成,得到全局的概念結(jié)構(gòu),即從需求分析的數(shù)據(jù)流(DFD)、數(shù)據(jù)字典DD概念結(jié)構(gòu)設(shè)計中的分E-R圖總E-R圖。
概念模型的特點:是對現(xiàn)實世界的抽象和概括;簡潔、明晰、獨立于機器,很容易理解;易于更動;容易向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。
概念模型最常用的表示方法是實體-關(guān)系方法。以某中學的教務(wù)管理信息系統(tǒng)為例,按照數(shù)據(jù)庫的概念設(shè)計本系統(tǒng)的E-R圖(見圖3-5)。
圖3-5教務(wù)管理信息系統(tǒng)的實體-關(guān)系圖
四、狀態(tài)轉(zhuǎn)換圖
狀態(tài)轉(zhuǎn)換圖簡稱狀態(tài)圖,是描述行為模型的常用工具。它通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。此外,狀態(tài)圖還指明了事件將做的動作(如處理數(shù)據(jù))。因此,狀態(tài)圖提供了在需求分析過程中建立軟件系統(tǒng)的行為模型的機制。
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)圖中只能有一個初態(tài),而終態(tài)則可以有0至多個。
2.事件
事件是在某個特定時刻發(fā)生的事情,它是對引起系統(tǒng)做動作或(和)從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)的外界事件的抽象,是一種控制信息,沒有持續(xù)時間,是瞬間完成的。
例如,敲擊鍵盤或點擊鼠標等都是事件。
3.符號
初態(tài)用實心圓·表示。
終態(tài)用一對同心圓(內(nèi)圓為實心圓)⊙表示。
中間狀態(tài)用圓角矩形表示,可以用兩條水平橫線把它分成上、中、下3個部分。上面部分為狀態(tài)的名稱,是必須有的;中間部分為狀態(tài)變量的名字和值,是可選的;下面部分是活動表,是可選的。
狀態(tài)轉(zhuǎn)換圖如圖3-6所示。
圖3-6狀態(tài)轉(zhuǎn)換圖
圖3-6中活動表的語法格式為:事件名(參數(shù)表)/動作表達式。
在活動表中經(jīng)常使用3種標準事件:entry、exit和do。entry事件指定進入該狀態(tài)的動作,exit事件指定退出該狀態(tài)的動作,而do事件則指定在該狀態(tài)下的動作。
守衛(wèi)條件是一個布爾表達式。如果同時使用事件說明和守衛(wèi)條件,則當且僅當事件發(fā)生且布爾表達式為真時,狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條件為真狀態(tài)轉(zhuǎn)換就發(fā)生。
動作表達式是一個過程表達式,當狀態(tài)轉(zhuǎn)換開始時執(zhí)行該表達式。
4.例子
打電話時的系統(tǒng)狀態(tài)圖如圖3-7所示。
圖3-7表明,沒有人打電話時電話處于閑置狀態(tài);有人拿起聽筒則進入撥號音狀態(tài),到達這個狀態(tài)后,電話的行為是響起撥號音并計時;這時如果拿起聽筒的人改變主意不想打了,他把聽筒放下(掛斷),電話重又回到閑置狀態(tài);如果拿起聽筒很長時間不撥號(超時),則進入超時狀態(tài)……
圖3-7電話系統(tǒng)的狀態(tài)轉(zhuǎn)換圖
任務(wù)三掌握結(jié)構(gòu)化分析技術(shù)
一、結(jié)構(gòu)化分析技術(shù)人在求解問題時,首要需要做的是理解問題,并且對問題理解得越透徹,這個問題就越容易解決。所謂模型,就是為了理解問題而對問題做的一種符號抽象??梢园涯P涂醋饕环N思維工具,利用這種工具可以把問題規(guī)范地表示出來。
模型一般由一組圖示符號和組織這些符號的規(guī)則組成。因此,分析時期的建模,就是針對用戶需求、系統(tǒng)需求等,采用圖示方式進行直觀描述。軟件問題往往是復(fù)雜的,而建模可以使問題簡化。人的頭腦每次只能處理一定數(shù)量的信息,模型通過把系統(tǒng)分解成人的頭腦一次能處理的若干個子部分,從而減少系統(tǒng)的復(fù)雜程度。分析時期建立軟件模型的作用是多方面的,可以通過模型實現(xiàn)由用戶需求向系統(tǒng)需求的過渡,并可通過模型獲得對系統(tǒng)需求的更具細節(jié)性的推論。實際上,分析時期產(chǎn)生的模型還可以被引用到系統(tǒng)設(shè)計中去,作為設(shè)計前導(dǎo)。
二、實例分析
在對教務(wù)管理信息系統(tǒng)調(diào)研階段的業(yè)務(wù)流程圖進行分析的基礎(chǔ)上,從系統(tǒng)的科學性、管理的合理性、實際運行的可行性等角度出發(fā),將信息處理功能和彼此之間的聯(lián)系自頂向下、逐層分解,從邏輯上精確地描述
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度干粉砂漿生產(chǎn)技術(shù)合作合同3篇
- 二零二五年度房地產(chǎn)企業(yè)財務(wù)外包與投資分析服務(wù)合同2篇
- 二零二五年度新能源汽車充電樁建設(shè)合同協(xié)議3篇
- 2025年度物流設(shè)備融資租賃合同保證人物流效率擔保協(xié)議2篇
- 2025版食堂經(jīng)營權(quán)轉(zhuǎn)讓合同3篇
- 二零二五年度廢舊電子設(shè)備回收與環(huán)保處理合同3篇
- 2025年新材料研發(fā)領(lǐng)域股權(quán)合作合同范本
- 軟件開發(fā)原理 課程設(shè)計
- 二零二五年度文化旅游項目可行性研究報告咨詢服務(wù)合同3篇
- 運營管理課課程設(shè)計
- S7-200SMARTPLC應(yīng)用技術(shù)PPT完整全套教學課件
- 22G101平法識圖培訓試題庫2022
- 當代世界經(jīng)濟與政治學習通課后章節(jié)答案期末考試題庫2023年
- 2023-2024學年山東省臨沂市小學語文六年級期末評估考試題附參考答案和詳細解析
- 設(shè)備到貨簽收單
- 2021傳播心理學課程教學大綱
- 農(nóng)學技能高考【種植類】復(fù)習題庫大全-2、《植物生產(chǎn)與環(huán)境》-下(判斷題)
- 艾瑞咨詢2023年中國脾虛人群白皮書
- 抖音直播電商項目計劃書抖音電商創(chuàng)業(yè)商業(yè)計劃書抖音直播帶貨計劃書抖音電商運營方案
- 26個英文字母描紅字帖
- TCPQS XF003-2023 滅火器產(chǎn)品維修、更換及售后服務(wù)
評論
0/150
提交評論