《軟件工程》課件第05章_第1頁
《軟件工程》課件第05章_第2頁
《軟件工程》課件第05章_第3頁
《軟件工程》課件第05章_第4頁
《軟件工程》課件第05章_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ZLL數(shù)據(jù)流圖的圖形記號外部實體位于軟件系統(tǒng)邊界之外的信息生產(chǎn)者或消費者轉(zhuǎn)換轉(zhuǎn)換數(shù)據(jù)流的處理過程,又稱泡(bubble)數(shù)據(jù)源數(shù)據(jù)流為一個或多個轉(zhuǎn)換提供數(shù)據(jù)源或數(shù)據(jù)存儲服務(wù)的緩沖區(qū)、文件或數(shù)據(jù)庫在轉(zhuǎn)換之間有向流動的數(shù)據(jù)項或數(shù)據(jù)項集合

“與”,即同時輸入/出;

+“或”,即至少一項輸入/出;⊕“異或”,即非同時輸入/出*ZLL數(shù)據(jù)流圖數(shù)據(jù)流圖提供了層次結(jié)構(gòu),讓分析人員能夠方便地表示任意抽象級別上的信息系統(tǒng)或其子系統(tǒng),并支持問題分解、逐步求精的分析方法。初始時,整個信息處理系統(tǒng)可以用圖5-1-2所示的頂級(第0級)數(shù)據(jù)流圖表示。ZLL“家庭保安系統(tǒng)”頂級數(shù)據(jù)流圖警報類別顯示信息電話撥號音頻傳感數(shù)據(jù)用戶命令家庭保安系統(tǒng)控制面板傳感器顯示器電話機警報器ZLL

隨著需求分析活動的逐漸深入,較高抽象級別上的復雜轉(zhuǎn)換可以精化為一系列相互關(guān)聯(lián)的數(shù)據(jù)流和子轉(zhuǎn)換,如圖5-1-3所示。在數(shù)據(jù)流方法中,對數(shù)據(jù)(數(shù)據(jù)流)的精化是伴隨著對轉(zhuǎn)換的逐步精化而同步進行的。Z2Y2X2N1M1D1D1C1C1E1E1B0A0A0F1F3FF2F4F5F41F42F43F44B0第0級第1級第2級數(shù)據(jù)流圖的精化與層間平衡ZLL建立數(shù)據(jù)流模型要遵循以下的原則1.每個加工至少應(yīng)有一個輸入數(shù)據(jù)流(反映被處理數(shù)據(jù)的來源)和一個輸出數(shù)據(jù)流(反映加工的結(jié)果)。2.數(shù)據(jù)流圖中各構(gòu)成元素的名稱必須具有明確的含義且能夠代表對應(yīng)元素的內(nèi)容或功能。3.對某個加工進行細化生成的下層數(shù)據(jù)流圖,稱為其上層圖的子圖。應(yīng)保證分層數(shù)據(jù)流圖中任意對應(yīng)的父圖和子圖的輸入/輸出數(shù)據(jù)流保持一致。4.應(yīng)按照層次給每個加工編號,用于表明該加工所處的層次及上、下層的父圖與子圖的關(guān)系。編號的規(guī)則為:頂層加工不用編號;第一層加工的編號為1,2,…,n。第二層加工的編號為11,12,…,21,22,…,n1,n2,…,等,以此類推。ZLL建立數(shù)據(jù)流模型要遵循以下的原則5.在父圖中不要出現(xiàn)子圖中涉及的局部數(shù)據(jù)存儲文件。通常除底層數(shù)據(jù)流圖中需表明所有數(shù)據(jù)存儲外,為保持畫面整潔,各中間層數(shù)據(jù)流圖只需顯示處于加工之間的接口文件即可。6.數(shù)據(jù)流圖只能由四種基本符號組成,是實際業(yè)務(wù)流程的客觀映象,用于說明系統(tǒng)應(yīng)該“做什么”,而不需要指明系統(tǒng)“如何做”。7.數(shù)據(jù)流圖的分解速度應(yīng)保持適中。通常一個加工每次可分解為2~4個子加工,最多不要超過七個,否則會增加用戶的理解難度。同時要注意,逐層精化必須適可而止。8.如果為了便于數(shù)據(jù)流圖在計算機上的輸入和輸出,應(yīng)免除斜線、弧線、圓等符號。ZLL數(shù)據(jù)字典數(shù)據(jù)流圖機制沒有描述數(shù)據(jù)流的內(nèi)容。數(shù)據(jù)流圖必須與描述并組織數(shù)據(jù)條目的數(shù)據(jù)字典配套使用。數(shù)據(jù)字典中的基本符號及其含義符號含義說明=表示定義為用于對=左邊的條目進行確切的定義+表示與關(guān)系X=a+b表示X由a和b共同構(gòu)成[|]或[,]表示或關(guān)系X=[a|b]與X=[a,b]的等價,表示X由a或b組成()表示可選項X=(a)表示a可以在X中出現(xiàn),也可以不出現(xiàn){}表示重復大括號中的內(nèi)容重復0到多次m{}n表示規(guī)定次數(shù)的重復重復的次數(shù)最少m次,最多n次“”表示基本數(shù)據(jù)元素“”中的內(nèi)容是基本數(shù)據(jù)元素,不可再分..連接符Month=1..12表示month可取1~12中的任意值**表示注釋兩個星號之間的內(nèi)容為注釋信息ZLL數(shù)據(jù)字典中每一數(shù)據(jù)條目包含的內(nèi)容1.數(shù)據(jù)流圖中標識數(shù)據(jù)流、數(shù)據(jù)源或外部實體的名稱與別名;2.數(shù)據(jù)類型;3.所有以它作為輸入流或輸出流的轉(zhuǎn)換的列表;4.如何使用該數(shù)據(jù)條目的簡要說明;5.數(shù)據(jù)條目的解釋性說明;6.其他補充說明,例如取值范圍與缺省值有關(guān)的設(shè)計約束等。ZLL支持數(shù)據(jù)流分析的CASE工具具備數(shù)據(jù)字典管理功能包括:1.一般性檢查。例如:自動進行重名檢查,可避免數(shù)據(jù)流圖中不一致的數(shù)據(jù)定義。2.可根據(jù)已有的數(shù)據(jù)流圖生成相關(guān)轉(zhuǎn)換的列表。并且,隨著數(shù)據(jù)流圖的進化,可自動修改該列表,以便數(shù)據(jù)字典和數(shù)據(jù)流圖在任何時刻都保持一致。3.自動完成有關(guān)數(shù)據(jù)條目的各種查詢。例如:該數(shù)據(jù)條目在何處使用?修改某一部分數(shù)據(jù)流圖將會影響哪些數(shù)據(jù)條目?修改某數(shù)據(jù)條目又會造成哪些影響?這將有助于分析人員在需求模型的進化過程中維持模型的一致性。ZLL數(shù)據(jù)字典數(shù)據(jù)條目的定義必須遵循以下原則:精確、簡潔,能為用戶方和軟件開發(fā)方共同理解。例如,可以使用形式語言中的語法定義機制描述數(shù)據(jù)條目的內(nèi)容。原子語法成分則用簡單明了的自然語言予以描述。ZLL數(shù)據(jù)字典舉例家庭保安系統(tǒng)中的“電話號碼”數(shù)據(jù)條目可以定義如下:<電話號碼>=<分機號>|<外線號碼><分機號>=1816|1817|…|1858<外線號碼>=9+(<市話號碼>|<長話號碼>)<長話號碼>=0+(<區(qū)號>+<市話號碼>)<區(qū)號>=*任何長度為3的數(shù)字串*<市話號碼>=<局號>+<分局號><局號>=395|396|397|303|304|305<分局號>=*任何長度為4的數(shù)字串*ZLL數(shù)據(jù)流圖與數(shù)據(jù)字典①利用數(shù)據(jù)字典可以對數(shù)據(jù)流圖中的數(shù)據(jù)流、數(shù)據(jù)源以及外部實體進行描述、組織和管理。②對于轉(zhuǎn)換,也需要一種比圖形記號更為詳盡的表示機制,這就是結(jié)構(gòu)化的文字描述。分析人員可以在數(shù)據(jù)流圖的任一轉(zhuǎn)換上附加一段文字,用以說明轉(zhuǎn)換的功能、性能要求及設(shè)計約束等,這種說明應(yīng)盡可能簡潔、清晰、易于理解。ZLL5.2實體-關(guān)系圖在數(shù)據(jù)密集型應(yīng)用問題中,對復雜數(shù)據(jù)及數(shù)據(jù)之間復雜關(guān)系的分析和建模將成為需求分析的重要任務(wù)。實體-關(guān)系圖——在數(shù)據(jù)流分析方法中適合于復雜數(shù)據(jù)建模的工具。5.2.1數(shù)據(jù)對象、屬性與關(guān)系數(shù)據(jù)對象:是現(xiàn)實世界中實體的數(shù)據(jù)表現(xiàn);是省略了功能和行為的實體。數(shù)據(jù)源;數(shù)據(jù)對象包括:外部實體的數(shù)據(jù)部分;數(shù)據(jù)流的內(nèi)容。ZLL5.2.1數(shù)據(jù)對象、屬性與關(guān)系數(shù)據(jù)對象由其屬性刻畫。通常屬性包括:

1.命名性屬性:對數(shù)據(jù)對象的實例命名,必含有一個或一組關(guān)鍵屬性,以便唯一標識數(shù)據(jù)對象的實例。

2.描述性屬性:對數(shù)據(jù)對象實例的性質(zhì)進行刻畫。

3.引用性屬性:將自身與其他數(shù)據(jù)對象的實例關(guān)聯(lián)起來。一般而言,現(xiàn)實世界中任何給定實體都具有許多屬性,分析人員應(yīng)當并且只能考慮與應(yīng)用問題有關(guān)的屬性。例如,在汽車銷售管理問題中,汽車的屬性可能有:制造商、型號、標識碼、車體類型、顏色和買主。ZLL5.2.1數(shù)據(jù)對象、屬性與關(guān)系應(yīng)用問題中的任何數(shù)據(jù)對象都不是孤立的,它們與其他數(shù)據(jù)對象一定存在各種形式的關(guān)聯(lián)。例如,在汽車銷售管理問題中,“制造商”與“汽車”之間存在“生產(chǎn)”關(guān)系,“購車者”與“汽車”之間存在“購買”關(guān)系。當然,關(guān)系的命名及內(nèi)涵因具體問題而異。分析人員必須善于剔除與應(yīng)用問題無關(guān)的關(guān)系?;跀?shù)據(jù)對象、屬性與關(guān)系,分析人員可以為應(yīng)用問題建立數(shù)據(jù)模型。ZLL5.2.1數(shù)據(jù)對象、屬性與關(guān)系建立數(shù)據(jù)模型的規(guī)范化規(guī)則:確保一致性并消除冗余

1.數(shù)據(jù)對象的任何實例對每個屬性必須有且僅有一個屬性值。

2.屬性是原子數(shù)據(jù)項,不能包含內(nèi)部數(shù)據(jù)結(jié)構(gòu)。

3.如果數(shù)據(jù)對象的關(guān)鍵屬性多于一個,那么其他的非關(guān)鍵屬性必須表示整個數(shù)據(jù)對象而不是部分關(guān)鍵屬性的特征。

4.所有的非關(guān)鍵屬性必須表示整個對象而不是部分屬性的特征。例如,在“汽車”數(shù)據(jù)對象中增加“經(jīng)銷商”屬性并將其與標識碼一起作為關(guān)鍵屬性。如再添加“經(jīng)銷商地址”屬性就違背了規(guī)則3。因其僅僅是“經(jīng)銷商”的特征,它與汽車的“標識碼”無關(guān)。例如,在“汽車”數(shù)據(jù)對象中,增加“油漆名稱”屬性,就違背了規(guī)則4,因為它僅僅與“顏色”有關(guān),而不是整個“汽車”的特征。ZLL5.2.2實體-關(guān)系圖實體-關(guān)系(Entity-Relation)圖簡稱E-R圖,是表示數(shù)據(jù)對象及其之間關(guān)系的圖形語言機制。數(shù)據(jù)對象(實體)用長方形、關(guān)系用菱形、屬性用橢圓表示。數(shù)據(jù)對象之間數(shù)量上的對應(yīng)關(guān)系的表示如下圖所示:0:11:10:多1:多為了便于區(qū)分,在E-R模型中的實體、關(guān)系和屬性都應(yīng)在對應(yīng)的框中寫上各自的名字。ZLL模態(tài):必須模態(tài):可選課程教師教基數(shù):1位教師基數(shù):多門課程如圖所示,實體“教師”旁有兩條豎線,靠近實體“教師”的豎線代表了“1位教師”;另一條豎線代表了“必須”由教師來教課程。另一個實體“課程”旁有多分支線和圓圈,多分支線代表了“多”門課程,圓圈代表了“可以教也可以不教”課程。也就是說一個教師可以教多門課程,也可以不教課程;但是,課程必須由教師來教。5.2.2實體-關(guān)系圖ZLL實體-關(guān)系圖實例制造商生產(chǎn)經(jīng)銷商汽車經(jīng)銷存儲標識碼顏色型號制造商車體類型買主5.2.2實體-關(guān)系圖ZLL5.3基于數(shù)據(jù)流的分析方法

5.3.1創(chuàng)建數(shù)據(jù)流模型數(shù)據(jù)流圖是目標軟件系統(tǒng)中各個處理子功能以及它們之間的數(shù)據(jù)流動的圖形表示。數(shù)據(jù)流圖的精化過程實際上是處理子功能和數(shù)據(jù)流的細化過程。隨著這一過程的進行,用戶需求逐步精確化、一致化和完備化。創(chuàng)建用戶需求的數(shù)據(jù)流模型應(yīng)遵循以下5條規(guī)則:1)首先建立頂級數(shù)據(jù)流圖,其中只含有一個代表目標軟件系統(tǒng)整體處理功能的轉(zhuǎn)換。根據(jù)軟件系統(tǒng)與外部環(huán)境的關(guān)系確定頂級數(shù)據(jù)流圖中的外部實體以及它們與軟件系統(tǒng)之間的數(shù)據(jù)流。ZLL“家庭保安系統(tǒng)”頂級數(shù)據(jù)流圖警報類別顯示信息電話撥號音頻傳感數(shù)據(jù)用戶命令家庭保安系統(tǒng)控制面板傳感器顯示器電話機警報器ZLL創(chuàng)建數(shù)據(jù)流模型的5條規(guī)則2)對用戶需求的文字描述進行語法分析,其中的名詞和名詞短語構(gòu)成潛在的外部實體、數(shù)據(jù)源或數(shù)據(jù)流,動詞構(gòu)成潛在的處理功能。結(jié)合分析人員對問題域和用戶需求的理解,確定軟件系統(tǒng)的主要功能以及它們之間的數(shù)據(jù)流,產(chǎn)生“家庭保安系統(tǒng)”1級數(shù)據(jù)流圖如圖5-3-1所示。ZLL“家庭保安系統(tǒng)”1級數(shù)據(jù)流圖警報類別電話撥號音頻傳感信息配置數(shù)據(jù)傳感數(shù)據(jù)配置數(shù)據(jù)原口令口令有效/口令無效口令配置數(shù)據(jù)配置命令顯示信息啟動/停止時的顯示信息口令有效啟動/停止命令用戶命令配置信息控制面板用戶命令處理系統(tǒng)配置口令核對信息顯示啟動/停止處理顯示面板傳感器監(jiān)測傳感器警報器電話機ZLL創(chuàng)建數(shù)據(jù)流模型的5條規(guī)則3)采用通常的功能分解方法,按照“強內(nèi)聚、松耦合”的原則逐個對處理功能進行精化;與此同時逐步完成對數(shù)據(jù)流的精化,并針對被精化的處理功能生成下一級數(shù)據(jù)流圖。“強內(nèi)聚、松耦合”的原則對于目標軟件系統(tǒng)的可修改性、可擴充性大有益處,因為開發(fā)人員可以縮小軟件修改或擴充的影響傳播范圍。對數(shù)據(jù)流的精化包含兩個方面的意義。首先,伴隨著功能分解的進行,數(shù)據(jù)流的內(nèi)容及各項特征將逐步彰顯,所以要將其作為數(shù)據(jù)字典的一個條目,并不斷精化、調(diào)整內(nèi)容。其次,在父數(shù)據(jù)流圖中的復合數(shù)據(jù)項可被分解為子數(shù)據(jù)項,這種數(shù)據(jù)流分解不能違背平衡原則。ZLL“家庭保安系統(tǒng)”2級數(shù)據(jù)流圖:對“傳感器監(jiān)測”的分解傳感器ID,類別傳感數(shù)據(jù)(內(nèi)部表示)傳感數(shù)據(jù)報警信息電話撥號音頻配置數(shù)據(jù)報警類別電話號碼傳感信息配置信息讀取傳感數(shù)據(jù)生成報警信號異常數(shù)據(jù)判別電話撥號ZLL創(chuàng)建數(shù)據(jù)流模型的5條規(guī)則4)精化過程中必須維持各級數(shù)據(jù)流圖之間的數(shù)據(jù)流平衡。5)精化過程應(yīng)適可而止,避免涉及軟件設(shè)計細節(jié)。一般說來,如果某子功能可以用一段簡潔、精確的文字描述清楚,就無需進一步分解。ZLL5.3.2過程規(guī)格說明對于數(shù)據(jù)流圖中不再分解的處理功能,分析人員要借助結(jié)構(gòu)化自然語言對其功能進行精確、簡潔的描述。圖5-3-1中“口令核對”子功能分解出來的“設(shè)置口令”子功能可描述如下頁:ZLL過程規(guī)格說明舉例——“設(shè)置口令”子功能1.參數(shù):口令;類別:字符串2.處理步驟:

1)檢查系統(tǒng)是否已有口令。若有,則驗證用戶輸入口令的有效性。如果有效,則顯示提示信息要求輸入新口令;否則,顯示失敗信息并退出。

2)檢查口令長度是否合法。如果非法,則顯示提示信息要求重新輸入。

3)要求用戶再次鍵入合法口令,以便用戶確認和記憶。如果兩次鍵入的口令不符,則返回。

4)將確認后的口令按某種加密方法轉(zhuǎn)換為另一字符串存放于系統(tǒng)配置文件中。顯示成功信息并退出。3.約束條件:在上述1)、2)、3)步驟中,用戶重試的機會不超過3次。ZLL5.4基于數(shù)據(jù)流圖的需求分析CASE工具使用前述方法進行需求分析時,需要計算機在數(shù)據(jù)流圖的繪制、數(shù)據(jù)字典的存儲、檢索及一致性檢查等方面提供幫助。本節(jié)給出一個基于數(shù)據(jù)流圖的需求分析CASE工具的藍本DFA_Tool。下面就來介紹使用DFA_Tool進行需求分析的方法。ZLL5.4.1DFA_Tool的核心思想DFA_Tool的核心思想可歸納為:多視點需求分析、可視形式化和可執(zhí)行的需求規(guī)格說明語言。1.多視點需求分析

DFA_Tool從相互關(guān)聯(lián)的結(jié)構(gòu)、功能和行為三個方面分別為目標軟件系統(tǒng)建立模型。1)在結(jié)構(gòu)視點,分析人員可根據(jù)系統(tǒng)的物理結(jié)構(gòu)或軟件結(jié)構(gòu)(例如,物理構(gòu)件、軟件模塊、任務(wù)等)進行層次分解,并標識系統(tǒng)各部分之間的數(shù)據(jù)流,進而建立系統(tǒng)的結(jié)構(gòu)圖。ZLL5.4.1DFA_Tool的核心思想2)在功能視點,分析人員利用功能分解方法刻畫系統(tǒng)的活動(類似于數(shù)據(jù)流圖中的轉(zhuǎn)換)以及活動之間可能出現(xiàn)的數(shù)據(jù)流,以逐層精化的方式建立系統(tǒng)的活動圖。與數(shù)據(jù)流圖一樣,DFA_Tool的活動圖不包括任何動態(tài)性質(zhì)。它既不關(guān)心活動是如何啟動和終止的,也不關(guān)心活動能否與其他活動并行執(zhí)行。至于數(shù)據(jù)流,活動圖只說明它們可以在某些活動之間流動,并不指明何時流動ZLL5.4.1DFA_Tool的核心思想3)應(yīng)用系統(tǒng)在時間坐標系中的所有控制行為均由行為視點描述。對于層次結(jié)構(gòu)中的每一級活動圖,均有一個相應(yīng)的行為圖,它們刻畫系統(tǒng)的動態(tài)行為,包括:①由于各時間點上事件的刺激,某些活動被啟動或終止,并引發(fā)新的事件;②對活動的活躍情況及數(shù)據(jù)的流動情況進行連續(xù)監(jiān)測,據(jù)此決定系統(tǒng)的下一步行為。ZLL5.4.1DFA_Tool的核心思想

系統(tǒng)的活動圖(功能視點)和行為圖(行為視點)是緊密耦合的,它們共同構(gòu)成系統(tǒng)的概念模型。結(jié)構(gòu)圖與活動圖之間的關(guān)系是簡單而直接的:結(jié)構(gòu)圖中的某些構(gòu)件負責實現(xiàn)活動圖中的某些功能。功能視點數(shù)據(jù)流與功能分解方法行為視點事件驅(qū)動與時序關(guān)系概念模型結(jié)構(gòu)模型物理構(gòu)件及其信息流圖DFA_Tool的模型結(jié)構(gòu)ZLL5.4.1DFA_Tool的核心思想2.可視形式化與文字相比,圖形更為直觀、簡潔。因此,需求分析活動往往離不開圖形機制的支持,例如前述的數(shù)據(jù)流圖。DFA_Tool的結(jié)構(gòu)圖、活動圖及狀態(tài)圖均基于一組共同的簡單圖形記號,并且都具有形式化語義。因此,DFA_Tool兼?zhèn)淞藞D形的簡單直

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論