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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

?2008

BUPTTSEG軟件工程

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

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

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

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

?2008

BUPTTSEG北京郵電大學通信軟件工程中心實體—關系圖

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

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

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

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

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

?2008

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

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

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

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

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

BUPTTSEG北京郵電大學通信軟件工程中心一個X與一個Y相關聯一個X與一個或多個Y相關聯一個X與零個或一個Y相關聯一個X與零個、一個或多個Y相關聯零個或一個X與零個或一個Y相關聯零個或多個X與零個或多個Y相關聯多個X與多個Y相關聯實體關系表示符號§5.2分析模型的結構示例?2008

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

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

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

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構(1)數據流圖的結構?2008

BUPTTSEG北京郵電大學通信軟件工程中心數據流圖的基本結構§5.2分析模型的結構從數據流圖中可知,數據流圖有四種基本元素?2008

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構(2)數據流與加工之間的關系

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

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

?2008

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

?2008

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

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

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

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

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

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

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

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

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

對應關系;?2008

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

工對應,兩者的輸入數據流和輸出數據流必須

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

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

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

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

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

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

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

要數據流。?2008

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

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

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

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

示例2:制造車間的數據和控制流的頂層流圖?2008

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

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

?2008

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

?2008

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

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

?2008

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

示例1:?2008

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

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

?2008

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

?2008

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

?2008

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

?2008

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

(1)數據詞典的構成數據流詞條描述數據流是數據結構在系統(tǒng)內傳播的路徑。?2008

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

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

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

數據文件是數據結構保存的地方。?2008

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

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

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

?2008

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

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

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

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

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

重復

重復

可選

基本數據元素

連結符

例如,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中至少出現3次a,至多出現8次a。

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

在數據詞典的定義式中出現的符號§5.2分析模型的結構示例:銀行存折數據結構描述?2008

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

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

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

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

注:“1”表示普通戶,

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

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

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

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

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

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

?2008

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

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

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

IFtheaccounthasanyinvoicemorethan60daysoverdueTHEN Theconfirmationpendingresolutionofthedebt

ELSE(accountisingoodstanding) Issueconfirmationandinvoice

ENDIFELSE(invoiceequals$500orless)

IFtheaccounthasanyinvoicemorethan60daysoverdueTHEN Issueconfirmation,voiceandwritemessageoncreditactionreport

ELSE(accountisingoodstanding) Issueconfirmationandinvoice

ENDIFENDIF?2008

BUPTTSEG北京郵電大學通信軟件工程中心§5.2分析模型的結構

在具體的使用過程當中,除了控制結構關鍵詞使用英語之外,其他的組成部份可使用邏輯表達清晰的中文進行描述。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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論