軟件工程課件-第五章-結(jié)構(gòu)化需求分析_第1頁
軟件工程課件-第五章-結(jié)構(gòu)化需求分析_第2頁
軟件工程課件-第五章-結(jié)構(gòu)化需求分析_第3頁
軟件工程課件-第五章-結(jié)構(gòu)化需求分析_第4頁
軟件工程課件-第五章-結(jié)構(gòu)化需求分析_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

?2008

BUPTTSEG軟件工程

SoftwareEngineering第五章結(jié)構(gòu)化需求分析結(jié)構(gòu)化分析發(fā)展簡史分析模型的結(jié)構(gòu)軟件需求規(guī)格說明書?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.1結(jié)構(gòu)化分析發(fā)展簡史StructuredAnalysis(SA):面向數(shù)據(jù)流進行需求分析。適合于數(shù)據(jù)處理類型軟件的需求分析最初由DouglasRoss提出,由DeMarco進行了推廣。

DeMarco引入并命名了使得分析員可以創(chuàng)建信息流模型的關(guān)鍵圖形符號、提出了使用這些符號的模型。之后的幾年中,Jones、Gane和Sarson等人提出了結(jié)構(gòu)化分析方法的一些變種,在這些變種中,結(jié)構(gòu)化方法關(guān)注于信息系統(tǒng)的應(yīng)用,而沒有提供足夠的符號來表示實時工程問題中的控制和行為方面。20世紀80年代中期,Ward和Mellor以及后來的HatIey和Pirbhai引入了實時“擴展”,這些擴展有效地加強了結(jié)構(gòu)化的分析方法。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心結(jié)構(gòu)化分析發(fā)展簡史分析模型的結(jié)構(gòu)軟件需求規(guī)格說明書?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心實體—關(guān)系圖

數(shù)據(jù)詞典狀態(tài)—遷移圖數(shù)據(jù)流圖數(shù)據(jù)對象描述控制規(guī)格說明加工規(guī)格說明系統(tǒng)的分析模型結(jié)構(gòu)§5.2分析模型的結(jié)構(gòu)模型的核心是數(shù)據(jù)字典,圍繞著這個核心有三種不同的圖。實體—關(guān)系圖(EntityRelationship,ER)

描述數(shù)據(jù)對象間的關(guān)系,ER是用來進行數(shù)據(jù)建?;顒拥谋硎?,在ER中出現(xiàn)的每個數(shù)據(jù)對象的屬性可以使用“數(shù)據(jù)對象描述”來表達。數(shù)據(jù)流圖(DFD)服務(wù)于兩個目的:(1)指明數(shù)據(jù)在系統(tǒng)中移動時如何被變換(2)描述對數(shù)據(jù)流進行變換的功能(和子功能)。狀態(tài)遷移圖(STD)

指明作為外部事件的結(jié)果,系統(tǒng)將如何動作,為此STD表示了系統(tǒng)的各種行為模式(稱為狀態(tài))以及在狀態(tài)間進行變遷的方式,STD是行為建模的基礎(chǔ)。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)1.數(shù)據(jù)建模與范式為了把用戶的數(shù)據(jù)要求清晰明確地表達出來,軟件開發(fā)人員通常建立一個概念性的數(shù)據(jù)模型(也稱為信息模型)。概念性模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點來對數(shù)據(jù)和信息建模。它描述了從用戶角度看到的數(shù)據(jù),反映了用戶的現(xiàn)實環(huán)境,但與在軟件系統(tǒng)中的實現(xiàn)方法無關(guān)。最常用的表示概念性數(shù)據(jù)模型的方法,是實體/關(guān)系方法(EntityRelationshipApproach)。這種方法用ER圖描述現(xiàn)實世界中的實體,而不涉及這些實體在系統(tǒng)中的實現(xiàn)方法。用這種方法表示的概念性數(shù)據(jù)模型又稱為ER模型。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)(1)數(shù)據(jù)對象、屬性和關(guān)系數(shù)據(jù)對象可能是一個外部實體(例如,生產(chǎn)或消費信息的任何事物)、一個事物(例如,報告或顯示)、一次發(fā)生(例如,一個電話呼叫)或事件(例如,一個警報)、一個角色(例如,銷售人員)、一個組織單位(例如,統(tǒng)計部門)、一個地點(例如,倉庫)或一個結(jié)構(gòu)(例如,文件)。數(shù)據(jù)對象描述包括了數(shù)據(jù)對象及其所有屬性。通常將數(shù)據(jù)對象簡稱為“實體”。數(shù)據(jù)對象是相互關(guān)聯(lián)的,關(guān)系是由被分析問題的語境定義的。數(shù)據(jù)對象只封裝數(shù)據(jù),數(shù)據(jù)對象中沒有指向作用于數(shù)據(jù)的操作的引用。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心數(shù)據(jù)對象的表格表示§5.2分析模型的結(jié)構(gòu)屬性屬性定義了數(shù)據(jù)對象的性質(zhì),它可以具有三種不同的特性,可以用來:(1)為數(shù)據(jù)對象的實例命名;(2)描述這個實例;(3)建立對另一個表中的另一個實例的引用。一個或多個屬性應(yīng)被定義為標識符,也就是說,當(dāng)需要找到數(shù)據(jù)對象的一個實例時,標識符屬性成為一個“關(guān)鍵字”。在有些情況下,標識符的值是唯一的,盡管這不是必須的。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)關(guān)系客觀世界中的事物彼此間通常是以某種方式進行關(guān)聯(lián)的。例如,教師與課程之間存在“教課”這種聯(lián)系,而學(xué)生與課程之間存在“上課”或者“聽課”這種聯(lián)系。客觀世界中的事物在軟件系統(tǒng)中通常以數(shù)據(jù)對象來表示,數(shù)據(jù)對象之間的相互連接的方式稱為關(guān)系。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)基數(shù)(Cardinality)數(shù)據(jù)模型必須能夠表示在一個給定的關(guān)系中實體出現(xiàn)的次數(shù),即對象—關(guān)系對的基數(shù)。基數(shù)是關(guān)于一個(實體)可以與另一個(實體)出現(xiàn)次數(shù)相關(guān)聯(lián)的規(guī)約。兩個(實體)可能的關(guān)聯(lián)如下:一對一(1:1):(實體)A的一次出現(xiàn)可以并且只能關(guān)聯(lián)到(實體)B的一次出現(xiàn),B的一次出現(xiàn)只能關(guān)聯(lián)到A的一次出現(xiàn)。一對多(1:N):(實體)A的一次出現(xiàn)可以關(guān)聯(lián)到(實體)B的零次、一次或多次出現(xiàn).但B的一次出現(xiàn)只能關(guān)聯(lián)到A的一次出現(xiàn)。多對多(M:N):(實體)A的一次出現(xiàn)可以關(guān)聯(lián)列(實體)B的一次或多次出現(xiàn).同時B的一次出現(xiàn)也可以關(guān)聯(lián)到A的一次或多次出現(xiàn)。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)實體關(guān)系圖(ER圖)ER圖的主要目的是以圖形的形式表示實體以及實體之間的關(guān)系。ER圖最初是由PeterChen為關(guān)系數(shù)據(jù)庫系統(tǒng)的設(shè)計提出的,并被其他的人進行了擴展。ER圖標識了一組基本的構(gòu)件:實體、屬性、關(guān)系。帶標記(或名稱)的矩形表示實體,連接實體的線表示關(guān)系。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心陳品山,于國立臺灣大學(xué)畢業(yè),之后赴美國深造。1970年獲哈佛大學(xué)計算機科學(xué)和應(yīng)用數(shù)學(xué)碩士學(xué)位,1973年獲哈佛大學(xué)計算機科學(xué)和應(yīng)用數(shù)學(xué)博士學(xué)位。1976年3月ACM,發(fā)表了《TheEntity-RelationshipModel--TowardaUnifiedViewofData》一文,由于大眾廣泛使用實體聯(lián)系模型,而這篇文章已成為計算機科學(xué)38篇被廣泛引用的論文中之一。且被譽為全世界最具計算機軟件開發(fā)技術(shù)的16位科學(xué)家之一個人主頁:/~chen/chen.html§5.2分析模型的結(jié)構(gòu)?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心一個X與一個Y相關(guān)聯(lián)一個X與一個或多個Y相關(guān)聯(lián)一個X與零個或一個Y相關(guān)聯(lián)一個X與零個、一個或多個Y相關(guān)聯(lián)零個或一個X與零個或一個Y相關(guān)聯(lián)零個或多個X與零個或多個Y相關(guān)聯(lián)多個X與多個Y相關(guān)聯(lián)實體關(guān)系表示符號§5.2分析模型的結(jié)構(gòu)示例?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心教學(xué)管理系統(tǒng)數(shù)據(jù)模型§5.2分析模型的結(jié)構(gòu)(2)數(shù)據(jù)結(jié)構(gòu)規(guī)范化規(guī)范化的目的是消除數(shù)據(jù)冗余,即消除實體表中數(shù)據(jù)的重復(fù)。消除多義性,使關(guān)系中的屬性含義清楚、單一;使關(guān)系單純化,讓每個數(shù)據(jù)項只是簡單的數(shù)或字符串,方便操作。使數(shù)據(jù)的插入、刪除與修改操作可行且方便;使關(guān)系模式更靈活,易于實現(xiàn)接近自然語言的查詢方式。關(guān)系規(guī)范化的程度通常按屬性間的依賴程度來區(qū)分,并以范式(NormalForm,NF)來表達。范式是符合某一種級別的關(guān)系模式的集合。目前關(guān)系數(shù)據(jù)庫有六種范式。一般說來,數(shù)據(jù)庫只需滿足第三范式(3NF)就可以達到設(shè)計的要求了。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)第一范式(1NF)關(guān)系中所有屬性都是“單純域”,即不出現(xiàn)“表中有表”;即實體中的某個屬性不能有多個值或者不能有重復(fù)的屬性。簡而言之,第一范式就是無重復(fù)的列。第二范式(2NF)非主屬性完全函數(shù)依賴于關(guān)鍵字。滿足第二范式必須先滿足第一范式。

2NF要求數(shù)據(jù)庫表中的每個實例或行必須可以被唯一地區(qū)分。簡而言之,第二范式就是非主屬性非部分依賴于主關(guān)鍵字。第三范式(3NF)非主屬性相互獨立,即任何非主屬性間不存在函數(shù)依賴。滿足第三范式必須先滿足第二范式。簡而言之,第三范式就是屬性不依賴于其它非主屬性。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)2.功能建模與數(shù)據(jù)流圖當(dāng)數(shù)據(jù)或信息“流”過計算機系統(tǒng)時將會被系統(tǒng)的功能所處理、加工或變換后再將處理或變換后的數(shù)據(jù)從系統(tǒng)輸出。數(shù)據(jù)流圖是描述信息流和數(shù)據(jù)從輸入移動到輸出時被系統(tǒng)的功能變換的圖形化技術(shù)。數(shù)據(jù)流圖可以被用來抽象地表示系統(tǒng)或軟件,既能提供功能建模的機制,也可提供數(shù)據(jù)流建模的機制,并可以自頂向下的機制表示層級的功能細節(jié)和數(shù)據(jù)變換細節(jié)。DFD也被稱為數(shù)據(jù)流圖(DataFlowDiagram)或泡泡圖(BubbleChart)。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)(1)數(shù)據(jù)流圖的結(jié)構(gòu)?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心數(shù)據(jù)流圖的基本結(jié)構(gòu)§5.2分析模型的結(jié)構(gòu)從數(shù)據(jù)流圖中可知,數(shù)據(jù)流圖有四種基本元素?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心輸入數(shù)據(jù)在此被處理和變換并產(chǎn)生輸出數(shù)據(jù)數(shù)據(jù)輸入的源點或者是數(shù)據(jù)輸出的匯點被加工的數(shù)據(jù)與流向,箭頭邊應(yīng)給出數(shù)據(jù)流名稱數(shù)據(jù)存儲文件§5.2分析模型的結(jié)構(gòu)數(shù)據(jù)流:是沿箭頭方向傳送數(shù)據(jù)的通道,大多是在加工之間傳輸加工數(shù)據(jù)的命名通道,也有連接數(shù)據(jù)存儲文件和加工的沒有命名的數(shù)據(jù)通道。加工:是以數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)內(nèi)容作為加工對象的。加工的名字通常是一個動詞短語,簡明扼要地表明完成的是什么加工。數(shù)據(jù)存儲:在數(shù)據(jù)流圖中起保存數(shù)據(jù)的作用,因而稱為數(shù)據(jù)存儲(Datastore)。它可以是數(shù)據(jù)庫文件或任何形式的數(shù)據(jù)組織。數(shù)據(jù)源點或匯點:它表示圖中要處理數(shù)據(jù)的輸入來源或處理結(jié)果要送往何處。它只是數(shù)據(jù)流圖的外圍環(huán)境中的實體,故稱外部實體。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)(2)數(shù)據(jù)流與加工之間的關(guān)系

在數(shù)據(jù)流圖中,如果有兩個以上數(shù)據(jù)流指向一個加工,或是從一個加工中引出兩個以上的數(shù)據(jù)流,這些數(shù)據(jù)流之間往往存在一定的關(guān)系。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心數(shù)據(jù)流與加工之間關(guān)系的符號表示§5.2分析模型的結(jié)構(gòu)(3)分層的數(shù)據(jù)流圖為表達稍為復(fù)雜的實際問題,需要按照問題的層次結(jié)構(gòu)進行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。在多層數(shù)據(jù)流圖中,可以把頂層流圖、底層流圖和中間層流圖區(qū)分開來。頂層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng)。底層流圖是指其加工不須再做分解的數(shù)據(jù)流圖,其加工稱為“原子加工”。中間層流圖則表示對其上層父圖的細化。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心分層數(shù)據(jù)流圖的一種表示頂層流圖,代表系統(tǒng)F中間層流圖,對上層父圖的細化底層流圖,不須再做分解§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心只有一個加工,代表系統(tǒng)對上層數(shù)據(jù)流圖進行細化底層加工不再進行細化。分層數(shù)據(jù)流圖的另一種表示§5.2分析模型的結(jié)構(gòu)(4)數(shù)據(jù)流圖的畫法

自外向內(nèi),自頂向下,逐層細化,完善求精。1) 先找系統(tǒng)的數(shù)據(jù)源點與匯點。它們是外部實體,由它們確定系統(tǒng)與外界的接口。2) 找出外部實體的輸出數(shù)據(jù)流與輸入數(shù)據(jù)流。3) 在圖的邊上畫出系統(tǒng)的外部實體。4) 從外部實體的輸出數(shù)據(jù)流(即系統(tǒng)的源點)出發(fā),按照系統(tǒng)的邏輯需要,逐步畫出一系列邏輯加工,直到找到外部實體所需的輸入數(shù)據(jù)流(即系統(tǒng)的匯點),形成數(shù)據(jù)流的封閉。(先畫頂層數(shù)據(jù)流圖,再細化。)5) 按照上述步驟再從各加工出發(fā),畫出所需的子圖。6) 按照數(shù)據(jù)流圖檢查原則進行檢查和修改。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)(5)數(shù)據(jù)流圖的檢查和修改原則

1) 數(shù)據(jù)流圖上所有圖形符號只限于四種基本圖形

元素; 2) 數(shù)據(jù)流圖的主圖必須包括前述四種基本元素,

缺一不可; 3) 數(shù)據(jù)流圖的主圖上的數(shù)據(jù)流必須封閉在外部實

體之間,外部實體可以不只一個; 4) 每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)

據(jù)流; 5) 在數(shù)據(jù)流圖中,需按層給加工框編號,表明該

加工處在哪一層,以及上下層的父圖與子圖的

對應(yīng)關(guān)系;?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu) 6) 任何一個數(shù)據(jù)流子圖必須與它上一層的一個加

工對應(yīng),兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須

一致。此即父圖與子圖的平衡。它表明了在細

化過程中輸入與輸出不能有丟失和添加。(數(shù)

據(jù)流圖的平衡原則) 7) 圖上每個元素都必須有名字。表明數(shù)據(jù)流和數(shù)

據(jù)文件是什么數(shù)據(jù),加工做什么事情; 8) 數(shù)據(jù)流圖中不可夾帶控制流。因為數(shù)據(jù)流圖是

實際業(yè)務(wù)流程的客觀映象,說明系統(tǒng)“做什么

”而不是要表明系統(tǒng)“如何做”,因此不是系

統(tǒng)的執(zhí)行順序,不是程序流程圖; 9) 初畫時可以忽略瑣碎的細節(jié),以集中精力于主

要數(shù)據(jù)流。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)(6)實時系統(tǒng)的數(shù)據(jù)流圖Ward&Mellor對實時系統(tǒng)的數(shù)據(jù)流圖進行相應(yīng)的擴展,除了原有的數(shù)據(jù)流之外還引入了控制流及連續(xù)的數(shù)據(jù)流等符號。這種擴展可以適應(yīng)實時系統(tǒng)提出的以下要求:①在時間連續(xù)的基礎(chǔ)上接收或產(chǎn)生數(shù)據(jù)流;②貫穿系統(tǒng)的控制信息和相關(guān)的控制處理;③在多任務(wù)的情況下可能會遇到同一個加工的多個實例;④系統(tǒng)狀態(tài)以及導(dǎo)致系統(tǒng)狀態(tài)遷移的機制。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心擴展的圖形符號。這些符號可以與原來的數(shù)據(jù)流圖的圖形符號混用?!?.2分析模型的結(jié)構(gòu)?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心控制項或事件。時間上間隔發(fā)生的數(shù)據(jù)流,取布爾值或離散值。連續(xù)數(shù)據(jù)流。時間上連續(xù)發(fā)生的數(shù)據(jù)流,用做加工的輸入或輸出。控制加工。由事件驅(qū)動的控制處理過程,接受控制和輸入,產(chǎn)生控制作為輸出??刂拼鎯?。為一個或多個控制提供事件源或事件存儲服務(wù)的庫。加工。同一個加工的多個對等的實例。在多任務(wù)系統(tǒng)中當(dāng)產(chǎn)生多個加工時使用。它相當(dāng)于一些進程?!?.2分析模型的結(jié)構(gòu)示例1:基于計算機的水溫控制系統(tǒng)的處理?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心時間連續(xù)的數(shù)據(jù)流與普通數(shù)據(jù)流§5.2分析模型的結(jié)構(gòu)

示例2:制造車間的數(shù)據(jù)和控制流的頂層流圖?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心使用Ward&Mellor符號的數(shù)據(jù)流和控制流§5.2分析模型的結(jié)構(gòu)(7)數(shù)據(jù)流圖示例——醫(yī)院就診管理系統(tǒng)?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心醫(yī)院就診管理系統(tǒng)”頂層數(shù)據(jù)流圖§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心醫(yī)院就診管理系統(tǒng)”第一層數(shù)據(jù)流圖§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心“掛號子系統(tǒng)”的第二層數(shù)據(jù)流圖§5.2分析模型的結(jié)構(gòu)3.系統(tǒng)行為建模為了直觀地分析系統(tǒng)的動作,從特定的視點出發(fā)描述系統(tǒng)的行為,需要采用動態(tài)分析的方法。最常用的動態(tài)分析方法:狀態(tài)遷移圖(STD,StateTransitionDiagram)時序圖(UML中的序列圖)Petri網(wǎng)(1962年由德國人CarlAdamPetri提出來的)?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)(1)狀態(tài)遷移圖(STD)利用狀態(tài)遷移圖(STD)或狀態(tài)遷移表來描述系統(tǒng)或?qū)ο蟮臓顟B(tài),以及導(dǎo)致系統(tǒng)或?qū)ο蟮臓顟B(tài)改變的事件,從而描述系統(tǒng)的行為。每一個狀態(tài)代表系統(tǒng)或?qū)ο蟮囊环N行為模式。狀態(tài)遷移圖指明系統(tǒng)的狀態(tài)如何相應(yīng)外部的信號(事件)進行變化。在狀態(tài)遷移圖中,用圓圈“○”表示可得到的系統(tǒng)狀態(tài),用箭頭“→”表示從一種狀態(tài)向另一種狀態(tài)的遷移。在箭頭上要寫上導(dǎo)致遷移的信號或事件的名字。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心狀態(tài)遷移圖與其等價的狀態(tài)遷移表例§5.2分析模型的結(jié)構(gòu)

示例1:?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心進程狀態(tài)遷移圖§5.2分析模型的結(jié)構(gòu)示例2:?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心門的狀態(tài)遷移圖§5.2分析模型的結(jié)構(gòu)狀態(tài)遷移圖指明了作為特定事件的結(jié)果(狀態(tài))。在狀態(tài)中包含可能執(zhí)行的行為(活動或加工),因此當(dāng)發(fā)生狀態(tài)轉(zhuǎn)移時,會伴隨著相應(yīng)的處理。如果系統(tǒng)比較復(fù)雜,可以把狀態(tài)遷移圖分層表示。在狀態(tài)遷移圖中,由一個狀態(tài)和一個事件所決定的下一狀態(tài)可能會有多個。實際會遷移到哪一個是由更詳細的內(nèi)部狀態(tài)和更詳細的事件信息來決定的。此時,可采用狀態(tài)遷移圖的一種變形,比如加進判斷框和處理框等。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心狀態(tài)遷移圖的網(wǎng)狀態(tài)遷移圖的變形§5.2分析模型的結(jié)構(gòu)(2)Petri網(wǎng)Petri網(wǎng)是由德國人CarlAdamPetri于1962年提出來的,最初是用來表達異步系統(tǒng)的控制規(guī)則的圖形表示法,后來Petri網(wǎng)在計算機科學(xué)中也得到廣泛的應(yīng)用。Petri網(wǎng)簡稱PNG(PetriNetGraph),是一種有向圖,包含四種基本元素,一組位置P(Place)、一組轉(zhuǎn)換T(Transition)、輸入函數(shù)I(Input)以及輸出函數(shù)O(Output)。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心帶標記的Petri網(wǎng)§5.2分析模型的結(jié)構(gòu)位置P在圖中用圓圈代表。轉(zhuǎn)換在圖中用短直線表示。轉(zhuǎn)換的輸入函數(shù),用由位置指向轉(zhuǎn)換的箭頭表示。轉(zhuǎn)換的輸出函數(shù),用由轉(zhuǎn)換指向位置的箭頭表示。Petri網(wǎng)位置中如果加了一個黑點,稱之為標記(token)。標記在位置中的出現(xiàn)表明了處理要求的到來,表明系統(tǒng)或?qū)ο螽?dāng)前正處于此位置。對于一個轉(zhuǎn)換,當(dāng)每個輸入位置所擁有的標記數(shù)大于等于從該位置到轉(zhuǎn)換的線數(shù)時,就允許轉(zhuǎn)換。Petri網(wǎng)中標記總數(shù)不是固定不變的Petri網(wǎng)具有非確定性,即如果幾個轉(zhuǎn)換都達到了激發(fā)條件,則其中任意一個都可以被激發(fā)。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心環(huán)形鐵路示例§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心環(huán)形鐵路運行的PNG示例§5.2分析模型的結(jié)構(gòu)4.數(shù)據(jù)詞典(DD,DataDictionary)數(shù)據(jù)詞典的作用是對于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在數(shù)據(jù)詞典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。數(shù)據(jù)詞典中所有的定義應(yīng)是嚴密的、精確的,不可有半點含混并消除二義性。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

(1)數(shù)據(jù)詞典的構(gòu)成數(shù)據(jù)流詞條描述數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳播的路徑。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心數(shù)據(jù)流名稱唯一標識數(shù)據(jù)流的名稱簡要描述簡要介紹該數(shù)據(jù)流的作用,即它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來源來源于何處數(shù)據(jù)流去向流向何處數(shù)據(jù)流組成描述該數(shù)據(jù)流的內(nèi)部數(shù)據(jù)元素的組成備注需要的情況下描述數(shù)據(jù)流量和流通量等信息§5.2分析模型的結(jié)構(gòu)數(shù)據(jù)元素詞條描述

數(shù)據(jù)流圖中的每一個數(shù)據(jù)結(jié)構(gòu)都是由數(shù)據(jù)元素構(gòu)成的,數(shù)據(jù)元素是數(shù)據(jù)處理中的最小單元且不可再細分,它直接反映事物的某一特征。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心數(shù)據(jù)元素名稱唯一標識數(shù)據(jù)元素的名稱或編號簡要描述簡要描述該數(shù)據(jù)元素的作用,以及位于哪一個數(shù)據(jù)結(jié)構(gòu)內(nèi)類型數(shù)字、字符等類型長度該數(shù)據(jù)類型規(guī)定的取值范圍,例如姓名的長度為60個字符取值范圍該姓名的取值范圍必須大于2個字符且小于60個字符備注§5.2分析模型的結(jié)構(gòu)數(shù)據(jù)文件詞條描述

數(shù)據(jù)文件是數(shù)據(jù)結(jié)構(gòu)保存的地方。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心數(shù)據(jù)文件名稱唯一標識數(shù)據(jù)文件的名稱簡要描述簡要描述該數(shù)據(jù)文件存放的是什么數(shù)據(jù)輸入數(shù)據(jù)寫入該數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容或數(shù)據(jù)結(jié)構(gòu)輸出數(shù)據(jù)從該數(shù)據(jù)文件讀出的數(shù)據(jù)內(nèi)容或數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)文件組成描述該數(shù)據(jù)文件的數(shù)據(jù)結(jié)構(gòu)組成存儲方式數(shù)據(jù)文件的操作方式以及關(guān)鍵字備注§5.2分析模型的結(jié)構(gòu)加工邏輯詞條描述

數(shù)據(jù)流圖中的每一個加工除了要進行基本信息的描述之外,還必須對該加工的邏輯或規(guī)則進行描述,采用的方法有判定表、判定樹或結(jié)構(gòu)化英語等。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心加工名稱唯一標識加工的名稱簡要描述描述加工邏輯和規(guī)則以及功能簡述加工編號反映該加工的層次輸入數(shù)據(jù)流描述進入該加工的一個或多個數(shù)據(jù)流輸出數(shù)據(jù)流描述流出該加工的一個或多個數(shù)據(jù)流加工邏輯簡述該加工的邏輯或規(guī)則(判定表、判定樹或結(jié)構(gòu)化英語等)備注§5.2分析模型的結(jié)構(gòu)外部實體詞條描述

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心外部實體名稱唯一標識外部實體的名稱簡要描述指明該實體的性質(zhì)以及與系統(tǒng)之間的關(guān)系有關(guān)數(shù)據(jù)流指明該外部實體與系統(tǒng)之間交互的數(shù)據(jù)流有哪些備注§5.2分析模型的結(jié)構(gòu)(2)數(shù)據(jù)詞典的使用可以通過數(shù)據(jù)名稱方便地查問數(shù)據(jù)的定義;可以按各種要求,隨時列出各種表,以滿足分析員的需要;可以按描述內(nèi)容(或定義)來查詢數(shù)據(jù)的名稱;通過檢查各個加工的邏輯功能,可以實現(xiàn)和檢查在數(shù)據(jù)與程序之間的一致性和完整性;在以后的設(shè)計與實現(xiàn)階段,以至于到維護階段,都需要參考數(shù)據(jù)詞典進行設(shè)計、修改和查詢。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)(3)數(shù)據(jù)結(jié)構(gòu)的描述定義式?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心符號含義解釋=

[...,...][...|...]{...}m{...}n

(...)“...”..被定義為

重復(fù)

重復(fù)

可選

基本數(shù)據(jù)元素

連結(jié)符

例如,x=a+b,表示x由a和b組成。

例如,x=[a,b],x=[a|b],表示x由a或由b組成。

例如,x={a},表示x由0個或多個a組成。例如,x=3{a}8,表示x中至少出現(xiàn)3次a,至多出現(xiàn)8次a。

例如,x=(a),表示a可在x中出現(xiàn),也可不出現(xiàn)。例如,x=“a”,表示x為取值為a的數(shù)據(jù)元素。例如,x=1..9,表示x可取1到9之中的任一值。

在數(shù)據(jù)詞典的定義式中出現(xiàn)的符號§5.2分析模型的結(jié)構(gòu)示例:銀行存折數(shù)據(jù)結(jié)構(gòu)描述?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心存折格式§5.2分析模型的結(jié)構(gòu)存折=戶名+所號+帳號+開戶日+性質(zhì)+(印密)+1{存取行}50戶名=2{字母}24所號=“001”..“999”

注:儲蓄所編碼,規(guī)定三位數(shù)字帳號=“00000001”..“99999999”

注:帳號規(guī)定由八位數(shù)

字組成開戶日=年+月+日性質(zhì)=“1”..“6”

注:“1”表示普通戶,

“5”表示工資戶等印密=“0”

注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)日期=年+月+日年=“00”..“99”月=“01”..“12”日=“01”..“3l”摘要=1{字母}4支出=金額金額=“0000000.01”..“9999999.99”

注:金額規(guī)定不超過 9999999.99元操作=“00001”..“99999”……字母=[“a”..“z”|“A”..“Z”]?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)Warnier圖Warnier圖是表示數(shù)據(jù)層次結(jié)構(gòu)的一種圖形工具,它用樹形結(jié)構(gòu)來描繪數(shù)據(jù)結(jié)構(gòu)。在Warnier圖中,用花括號“{”表示層次關(guān)系,在同一括號下,自上到下是順序排列的數(shù)據(jù)項。在有些數(shù)據(jù)項名字后面附加了圓括號,給出該數(shù)據(jù)項重復(fù)的次數(shù)。Warnier圖可以通過細化組合數(shù)據(jù)項進一步分解信息域。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)(4)加工邏輯說明基本加工(原子加工):數(shù)據(jù)流圖最底層的加工;對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明;基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則;加工邏輯說明必須描述實現(xiàn)加工的策略而不是實現(xiàn)加工的細節(jié);加工邏輯說明中包含的信息應(yīng)是充足的,完備的,有用的,無冗余的。用于加工邏輯說明的工具:結(jié)構(gòu)化英語判定表判定樹?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)結(jié)構(gòu)化英語(StructuredEnglish)結(jié)構(gòu)化英語也稱為PDL(過程設(shè)計語言),是一種介于自然語言和形式化語言之間的半形式化語言結(jié)構(gòu)化英語的詞匯表由英語命令動詞、數(shù)據(jù)詞典中定義的名字、有限的自定義詞和控制結(jié)構(gòu)關(guān)鍵詞IF_THEN_ELSE、WHILE_DO、REPEAT_UNTIL、CASE_OF等組成結(jié)構(gòu)化英語基本控制結(jié)構(gòu)有簡單陳述句結(jié)構(gòu)、判定結(jié)構(gòu)和重復(fù)結(jié)構(gòu)。?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)示例:商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨票”功能IFtheinvoiceexceeds$500THEN

IFtheaccounthasanyinvoicemorethan60daysoverdueTHEN Theconfirmationpendingresolutionofthedebt

ELSE(accountisingoodstanding) Issueconfirmationandinvoice

ENDIFELSE(invoiceequals$500orless)

IFtheaccounthasanyinvoicemorethan60daysoverdueTHEN Issueconfirmation,voiceandwritemessageoncreditactionreport

ELSE(accountisingoodstanding) Issueconfirmationandinvoice

ENDIFENDIF?2008

BUPTTSEG北京郵電大學(xué)通信軟件工程中心§5.2分析模型的結(jié)構(gòu)

在具體的使用過程當(dāng)中,除了控制結(jié)構(gòu)關(guān)鍵詞使用英語之外,其他的組成部份可使用邏輯表達清晰的中文進行描述。IF

發(fā)貨單金額超過$500THEN

IF

欠款超過了60天THEN

在償還欠款前不予批準

ELSE(欠款未超期)

發(fā)批準書,發(fā)貨票

ENDIFELSE

(發(fā)貨票金額未超過$500)

IF

欠款超過60天THEN

發(fā)批準書,發(fā)貨票及賒欠報告

ELSE(欠款未超期)

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論