

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程導論第五課 結(jié)構(gòu)化分析,教師:杜 瑾信息學院 軟件工程系Email:xian_dj@126.com,NO.2,一、結(jié)構(gòu)化分析簡介二、數(shù)據(jù)流圖與數(shù)據(jù)字典三、實體一關系圖 四、狀態(tài)轉(zhuǎn)化圖,本節(jié)課內(nèi)容,,,,,,NO.3,,,,,,,,第一部分結(jié)構(gòu)化分析簡介,NO.4,結(jié)構(gòu)化分析發(fā)展歷史,六十年代未、七十年代初結(jié)構(gòu)化設計盛行,結(jié)構(gòu)化分析以結(jié)構(gòu)化設計附產(chǎn)品的身份出現(xiàn)。七十年代未期 Douglas Ross提出結(jié)構(gòu)化分
2、析的術語 DeMarco[DEM79] 進行推廣,給出分析員可以創(chuàng)建信息流模型的主要圖形記號,建議將“數(shù)據(jù)字典”和“處理說明”作為信息流模型的補充,並提供方法應用的實例;八十年代初期Page-Jones[PAG80],Gane[GAN82]等人提出結(jié)構(gòu)化分析方法的一些變種,用于信息系統(tǒng)的開發(fā);八十年代中期 Ward、Mellor[WAR85]、Hatiy和Pirbhai[HAT87]對結(jié)構(gòu)化分析進行擴充支持實時、控制和嵌入式系統(tǒng)
3、的開發(fā);Harel & Pnueli研制了面向復雜實時反應式系統(tǒng)(Complex Real-time Reactive System)的開發(fā)環(huán)境 STATEMATE。,NO.5,,結(jié)構(gòu)化的分析模型,NO.6,結(jié)構(gòu)化的分析模型,核心 數(shù)據(jù)字典 描述軟件工程項目的所有數(shù)據(jù)對象中間層 實體-關系圖、數(shù)據(jù)流圖、狀態(tài)-變遷圖實體-關系圖 描述數(shù)據(jù)對象之間的關系數(shù)據(jù)流圖 功能建模的基礎系統(tǒng)或子系統(tǒng)對數(shù)據(jù)實施的變
4、換、變換的功能提供信息分析的信息狀態(tài)-變遷圖 行為建模的基礎系統(tǒng)的行為模式(稱“狀態(tài)”)以及狀態(tài)變遷的方式,NO.7,結(jié)構(gòu)化的分析模型,最外層數(shù)據(jù)對象描述、加工規(guī)格說明PSPEC、控制規(guī)格說明CSPEC數(shù)據(jù)對象 表示實體-關系圖中每個數(shù)據(jù)對象的屬性加工規(guī)格說明PSPEC 描述數(shù)據(jù)流圖的每個功能。 控制規(guī)格說明CSPEC 描述軟件控制的附加信息,NO.8,,,,,,,,第
5、二部分數(shù)據(jù)流圖與數(shù)據(jù)字典,NO.9,數(shù)據(jù)流圖與數(shù)據(jù)字典,基于計算機的信息處理系統(tǒng)由數(shù)據(jù)流和一系列的加工構(gòu)成,這些加工將輸入數(shù)據(jù)流加工為輸出數(shù)據(jù)流數(shù)據(jù)流圖描述數(shù)據(jù)流和加工數(shù)據(jù)流圖用圖形符號表示數(shù)據(jù)流、加工、數(shù)據(jù)源及外部實體數(shù)據(jù)流圖具有層次結(jié)構(gòu),支持問題分解、逐步求精的分析方法它是數(shù)據(jù)驅(qū)動的數(shù)據(jù)流圖既可以表示基于計算機的系統(tǒng),也可以表示軟件,NO.10,數(shù)據(jù)流圖標記,,NO.11,分層的數(shù)據(jù)流圖,NO.12,在多層數(shù)據(jù)流圖中,頂
6、層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層中間層流圖則表示對其上層父圖的細化。它的每一加工可能繼續(xù)細化,形成子圖。,NO.13,數(shù)據(jù)流圖中每個成分的命名是否恰當,直接影響數(shù)據(jù)流圖的可理解性,因此,給這些成分起名字時應該仔細推敲。下面講述在命名時應注意的問題。1為數(shù)據(jù)流(或數(shù)據(jù)存儲)命名名字應代表整個數(shù)據(jù)流(或數(shù)據(jù)存儲)的
7、內(nèi)容,而不是僅僅反映它的某些成分。不要使用空洞的、缺乏具體含義的名字(如“數(shù)據(jù)”、“信息”、“輸入”之類)。如果在為某個數(shù)據(jù)流(或數(shù)據(jù)存儲)起名字時遇到了困難,則很可能是因為對數(shù)據(jù)流圖分解不恰當造成的,應該試試重新分解,看是否能克服這個困難。,數(shù)據(jù)流圖的命名,NO.14,2為處理命名通常先為數(shù)據(jù)流命名,然后再為與之相關聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習慣的“由表及里”的思考過程。名字應該反映整個處理的
8、功能,而不是它的一部分功能。名字最好由一個具體的及物動詞,加上一個具體的賓語組成。應該盡量避免使用“加工”、“處理”等空洞籠統(tǒng)的動詞作名字。通常名字中僅包括一個動詞,如果必須用兩個動詞才能描述整個處理的功能,則把這個處理再分解成兩個處理可能更恰當些。如果在為某個處理命名時遇到困難,則很可能是發(fā)現(xiàn)了分解不當?shù)嫩E象,應考慮重新分解。,數(shù)據(jù)流圖的命名,NO.15,數(shù)據(jù)字典,定義 數(shù)據(jù)字典由數(shù)據(jù)條目組成,數(shù)據(jù)字典描述、組織
9、和管理數(shù)據(jù)流圖的數(shù)據(jù)流、加工、數(shù)據(jù)源及外部實體。數(shù)據(jù)字典用簡潔、清晰、易理解的文字描述條目,說明數(shù)據(jù)流圖的加工功能、性能、要求及設計約束等。數(shù)據(jù)流圖與數(shù)據(jù)字典配套使用,完整地描述軟件需求。,NO.16,數(shù)據(jù)詞典,數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達數(shù)據(jù)處理的要求詞條描述 —— 對于在數(shù)據(jù)流圖中每一個被命名的圖形元素,均加以定義,其內(nèi)容有: 名字,別名或編號,分類,描述,定義,位置,其它,等,NO.17,(1)數(shù)據(jù)流詞條描述,
10、數(shù)據(jù)流名:說明:簡要介紹作用即它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來源:來自何方數(shù)據(jù)流去向:去向何處數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)量流通量:數(shù)據(jù)量,流通量,NO.18,(2)數(shù)據(jù)元素詞條描述,數(shù)據(jù)元素名:類型:數(shù)字(離散值,連續(xù)值),文字(編碼類型)長度:取值范圍:相關的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):,NO.19,(3)數(shù)據(jù)文件詞條描述,數(shù)據(jù)文件名:簡述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)存儲方式:順序,直接,關
11、鍵碼存取頻率:,NO.20,(4)加工邏輯詞條描述,加工名:加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡述加工程序,加工順序,NO.21,(5)源點及匯(終)點詞條描述,名稱:外部實體名簡要描述:什么外部實體有關數(shù)據(jù)流:數(shù)目:,NO.22,數(shù)據(jù)結(jié)構(gòu)的描述,NO.23,存折格式,NO.24,存折=戶名+所號+帳號+開戶日+性質(zhì)+(印密)+1{存取行}50戶名=2{字母}24
12、所號=“001”..“999” 帳號=“00000001”..“99999999”開戶日=年+月+日性質(zhì)=“1”..“6” 注:“1”表示普通戶,“5”表示工資戶等印密=“0” 注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復核,NO.25,,對數(shù)據(jù)流圖的每一個基本加工,必須有一個基本加工邏輯說明基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則加工邏輯說明必須描述
13、實現(xiàn)加工的策略而不是實現(xiàn)加工的細節(jié)加工邏輯說明中包含的信息應是充足的,完備的,有用的,無冗余的,基本加工邏輯說明,NO.26,用于寫加工邏輯說明的工具,結(jié)構(gòu)化英語 判定表 判定樹,NO.27,(1)結(jié)構(gòu)化英語,結(jié)構(gòu)化英語的詞匯表由 英語命令動詞 數(shù)據(jù)詞典中定義的名字 有限的自定義詞 邏輯關系詞 IF_THEN_ELSE、 CASE_OF 、 WHILE_DO、 REPEAT_UNTIL等組成。,
14、NO.28,是一種介于自然語言和形式化語言之間的語言語言的正文用基本控制結(jié)構(gòu)進行分割,加工中的操作用自然語言短語來表示其基本控制結(jié)構(gòu)有三種:簡單陳述句結(jié)構(gòu):避免復合語句;重復結(jié)構(gòu):while_do 或 repeat_until 結(jié)構(gòu)。判定結(jié)構(gòu):if_then_else 或case_of 結(jié)構(gòu);,NO.29,實例:商店業(yè)務處理系統(tǒng)中“檢查發(fā)貨單”,if 發(fā)貨單金額超過$500 then if 欠款超
15、過了60天 then 在償還欠款前不予批準 else (欠款未超期) 發(fā)批準書,發(fā)貨單 else (發(fā)貨單金額未超過$500) if 欠款超過60天 then 發(fā)批準書,發(fā)貨單及賒欠報告 else (欠款未超期) 發(fā)批準書,發(fā)貨單,NO.30,(2)判定表,如果數(shù)據(jù)流圖的加工需要
16、依賴于多個邏輯條件的取值,使用判定表來描述比較合適,NO.31,以“檢查發(fā)貨單”為例,NO.32,簡化的決策表,,NO.33,NO.34,(3)判定樹,判定樹也是用來表達加工邏輯的一種工具。有時侯它比判定表更直觀。,檢查發(fā)貨單,金額>$500,金額?$500,欠款>60天,,不發(fā)出批準書,欠款?60天,,發(fā)貨單,,,發(fā)出批準書、,欠款>60天,,發(fā)出批準書、,發(fā)貨單及賒欠報告,欠款?60天,,發(fā)出批準書、,發(fā)貨
17、單,,,,,NO.35,數(shù)據(jù)字典的管理,大型軟件項目的數(shù)據(jù)字典規(guī)模龐大,利用數(shù)據(jù)流分析的CASE工具對數(shù)據(jù)字典實施管理(1)對新數(shù)據(jù)條目進行重名檢查。(2)維護數(shù)據(jù)字典和數(shù)據(jù)流圖的一致性。(3)自動完成數(shù)據(jù)條目查詢。如 該條目在何處使用?修改數(shù)據(jù)流圖會對哪些數(shù)據(jù)條目產(chǎn)生影響?修改某個數(shù)據(jù)條目又會造成哪些影響?,NO.36,數(shù)據(jù)及數(shù)據(jù)庫需求,在數(shù)據(jù)詞典中,強調(diào)對數(shù)據(jù)存儲結(jié)構(gòu)的邏輯設計,并用數(shù)據(jù)結(jié)構(gòu)表達數(shù)據(jù)項之間的邏輯
18、關系。但任何一個軟件系統(tǒng)都可能有成千上萬個數(shù)據(jù)項,僅僅描述這些數(shù)據(jù)項是不夠的,更重要的是如何把它們以最優(yōu)的方式組織起來,以滿足系統(tǒng)對數(shù)據(jù)的要求。,NO.37,有關數(shù)據(jù)庫的基本概念,在軟件系統(tǒng)中需要處理的數(shù)據(jù)是現(xiàn)實世界中存在的事物及其聯(lián)系的反映。人們通常將與數(shù)據(jù)處理有關的的領域分為三個世界: 現(xiàn)實世界 信息世界 數(shù)據(jù)世界,NO.38,現(xiàn)實世界是存在于人們頭腦之外的客觀世界,現(xiàn)實世界中的事物可分成對象和性質(zhì)兩大類。對象可以是人、
19、是物,還可以是實際的東西或概念的東西,例如,大學、城市等。對象還可以指事物與事物間的聯(lián)系。性質(zhì)則是指事物的性質(zhì)或特征。,NO.39,信息世界也叫做觀念世界,是現(xiàn)實世界在人們頭腦中的反映??陀^世界中的事物在信息世界中叫做實體,反映事物之間聯(lián)系的叫做實體模型。實體是由若干屬性的屬性值組成。屬性是實體某一方面的特征,相應于事物的性質(zhì)。例如,一個學生實體是如下的一個5元組:,( 951149, 袁秋慧, 女, 19, 軟件),NO.40,
20、5元組中每一元素是學生的某一屬性的屬性值。他們對應的屬性集合是:這些屬性集合表征了“學生”實體的類型,叫做實體型。同一類型的實體的集合叫做實體集。數(shù)據(jù)世界則是信息世界中信息的數(shù)據(jù)化,現(xiàn)實世界中的事物及其聯(lián)系在數(shù)據(jù)世界中用數(shù)據(jù)模型描述。,(學號, 姓名, 性別, 年齡, 專業(yè)),NO.41,描述每一實體的數(shù)據(jù)稱為記錄,描述屬性的數(shù)據(jù)叫做數(shù)據(jù)項或字段。與實體集相對應的稱為文件。例如,學生文件就由多個記錄組成,這些記錄放在一起構(gòu)成一
21、個二維表。表中每一橫排叫做一個記錄或元組,每一縱列叫做一個屬性。,NO.42,,NO.43,記錄由數(shù)據(jù)項組成,正如實體由若干屬性的屬性值組成一樣。一般數(shù)據(jù)項沿用屬性名。用做屬性名時表示觀念信息,用做數(shù)據(jù)項名時表示數(shù)據(jù)信息。每個數(shù)據(jù)項包括兩個特征:即數(shù)據(jù)類型和數(shù)據(jù)長度。若干同類型的記錄構(gòu)成文件。為了對文件中的記錄有效組織和存取,通常指定一個數(shù)據(jù)項進行區(qū)別,這個數(shù)據(jù)項叫做關鍵字。,NO.44,,,,,,,,第三部分實體-關系圖,NO
22、.45,實體—關系圖,需求分析的重要任務是,對復雜的數(shù)據(jù)及數(shù)據(jù)關系進行分析、建模。實體—關系圖是數(shù)據(jù)模型的基礎,它描述數(shù)據(jù)對象、屬性、及其關系。,NO.46,數(shù)據(jù)對象、屬性與關系,數(shù)據(jù)對象數(shù)據(jù)屬性數(shù)據(jù)關系數(shù)據(jù)對象、屬性與關系,NO.47,數(shù)據(jù)對象,數(shù)據(jù)對象 現(xiàn)實世界具有不同特征和屬性的實體或事務的標識,計算機軟件描述并處理的一組信息。如,事件、行為、角色、組織、地點、結(jié)構(gòu)等。數(shù)據(jù)對象只封裝數(shù)據(jù),包括:數(shù)據(jù)
23、流、數(shù)據(jù)源、外部實體的數(shù)據(jù)部分,不封裝操作。數(shù)據(jù)對象是相互關聯(lián)的。,NO.48,2 數(shù)據(jù)對象的屬性,屬性 用“標識符、符號串和值”標識,描述數(shù)據(jù)對象的性質(zhì)。包括:(1)命名 標識數(shù)據(jù)對象(2)描述 描述數(shù)據(jù)對象的性質(zhì)(3)引用 建立數(shù)據(jù)對象之間的聯(lián)系數(shù)據(jù)對象的屬性是原子數(shù)據(jù)項,不包含內(nèi)部數(shù)據(jù)結(jié)構(gòu)。 數(shù)據(jù)對象的任何屬性有且僅有一個屬性值?,F(xiàn)實世界的實體具有許多屬性,分析人
24、員只能考慮與應用問題有關的屬性。,NO.49,數(shù)據(jù)對象描述,例 汽車銷售管理問題的數(shù)據(jù)對象描述表. 汽車屬性 制造商 型號 標識碼 車體類型 顏色 買主,,NO.50,3 數(shù)據(jù)對象的關系,關系數(shù)據(jù)對象按照某種關系相互連接用對象-關系偶描述數(shù)據(jù)對象關系的命名及內(nèi)涵應反映描述的問題刪除與問題無關的關系,NO.51,數(shù)據(jù)對象、屬性與關系,例 汽車銷售問題的數(shù)據(jù)對象、屬性與關系
25、 數(shù)據(jù)對象 數(shù)據(jù)對象 關系 制造商 汽車 生產(chǎn) 購車用戶 汽車 購買,NO.52,,聯(lián)系分類一對一聯(lián)系(1∶1)一對多聯(lián)系(1∶N)多對多聯(lián)系(M∶N)聯(lián)系也可能有屬性,NO.53,實體—關系圖,通常,使用實體—關系圖(EntityRelationship Diagram)來建立數(shù)據(jù)模型,可以把實體
26、—關系圖簡稱為ER圖,相應地,用ER圖描繪的數(shù)據(jù)模型也可以稱為ER模型。 ER圖中包含了實體(即數(shù)據(jù)對象)、關系和屬性等三種基本成分:通常用矩形框代表實體用連接相關實體的菱形框表示關系用橢圓形或圓角矩形表示實體(或關系)的屬性并用無向邊把實體(或關系)與其屬性連接起來。,,NO.54,實例:某校教學管理ER圖,NO.55,其它幾種ER圖表示-部分整體關系,,NO.56,其它幾種ER圖表示-層次結(jié)構(gòu)關系,,NO.5
27、7,創(chuàng)建實體---關系圖,過程 (1)客戶列出業(yè)務過程中的事物,它對應一組輸入/輸出數(shù)據(jù)對象,及生產(chǎn)/消費信息的外部實體 (2)系統(tǒng)分析員和客戶逐個定義對象及對象間的連接 (3)根據(jù)對象間的連接標識對象-關系偶 (4)確定對象-關系偶的聯(lián)系類別 (5)重復(2)-(4)直至創(chuàng)建所有的對象-關系偶 (6)描述實體屬性 (7)復審實體-關系圖 (8)重復(1)-(7)完成數(shù)據(jù)建模,NO.58,
28、,,,,,,,第四部分狀態(tài)轉(zhuǎn)換圖,NO.59,狀 態(tài),狀態(tài)轉(zhuǎn)換圖(簡稱為狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。在狀態(tài)圖中用圓形框或橢圓框表示狀態(tài),通常在框內(nèi)標上狀態(tài)名。狀態(tài)規(guī)定了系統(tǒng)對事件的響應方式。系統(tǒng)對事件的響應,既可以是做一個(或一系列)動作,也可以是僅僅改變系統(tǒng)本身的狀態(tài)。通常,在表示狀態(tài)的框內(nèi)用關鍵字do(后接冒
29、號)標明進入該狀態(tài)時系統(tǒng)的行為(即所做的動作)。,NO.60,事件是在某個特定時刻發(fā)生的事情,它是對引起系統(tǒng)從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)的外界事件的抽象。簡而言之,事件就是引起系統(tǒng)狀態(tài)轉(zhuǎn)換的控制信息。事件表示: 在狀態(tài)圖中,從一個狀態(tài)到另一個狀態(tài)的轉(zhuǎn)換用箭頭線表示,箭頭表明轉(zhuǎn)換方向,箭頭線上標上事件名。必要時可在事件名后面加一個方括號,括號內(nèi)寫上狀態(tài)轉(zhuǎn)換的條件。也就是說,僅當方括號內(nèi)所列出的條件為真時,該事件的發(fā)生才引起箭頭所示的狀
30、態(tài)轉(zhuǎn)換。,事 件,NO.61,狀態(tài)圖中使用的主要符號,,NO.62,電話系統(tǒng)的狀態(tài)圖,NO.63,作業(yè),某銀行計算機儲蓄系統(tǒng)的工作過程如下:儲戶填寫的存款單或取款單由業(yè)務員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存款單給儲戶;如果是取款且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算機利息并印出利息清單給儲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第五課
- 周練(第五課)
- 地理教案第五課
- 團隊建設——第五課
- 第五課時
- 第五課詹天佑
- 第五課-交友的智慧
- applicationessay寫作第五課writingconclusions
- applicationessay寫作第五課writingintroductions
- 第五課 航空科幻畫
- 第五課 等距變換(2)
- 復習第五課時
- 軟件工程導論第五章課后答案
- 第五課我國基本制度
- 第五課透過現(xiàn)象看本質(zhì)
- 第五課把握思維的奧妙
- 第五課透過現(xiàn)象認識本質(zhì)
- 經(jīng)濟常識第五課練習集
- 第五課透過現(xiàn)象認識本質(zhì)
- 第五課-透過現(xiàn)象認識本質(zhì)
評論
0/150
提交評論