軟件工程理論與實踐 課件 4結構化分析_第1頁
軟件工程理論與實踐 課件 4結構化分析_第2頁
軟件工程理論與實踐 課件 4結構化分析_第3頁
軟件工程理論與實踐 課件 4結構化分析_第4頁
軟件工程理論與實踐 課件 4結構化分析_第5頁
已閱讀5頁,還剩39頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

XXXXXX大學軟件工程SOFTWARE

ENGINEERING教師:XXXXX2024教學目標:(1)理解結構化分析過程;(2)掌握數據模型、功能模型和行為模型的建模方法;(3)能夠利用結構化分析描述工具編寫軟件需求文檔。第4章結構化分析4.1結構化分析概述4.1.1結構化分析過程要對一個系統進行結構化分析,首先要明確這一階段的任務是要搞清楚“做什么”。結構化分析的過程可以分為如下4個步驟。1.建立當前系統的物理模型2.抽象出當前系統的邏輯模型3.建立目標系統的邏輯模型4.進一步補充和優化4.1.2結構化分析模型結構化分析方法用抽象模型的概念,按照軟件內部數據傳遞和變換的關系,自頂向下逐層分解,直到找到滿足功能需求的所有可實現的軟件元素為止。結構化分析模型,如圖4-1所示,分為數據模型、功能模型和行為模型。為了定義軟件的功能,建立功能模型;為了理解和表示問題的信息域,建立數據模型;為了表示軟件的行為,建立行為模型。結構化分析模型的核心是數據字典,用來描述軟件使用或產生的所有數據對象。功能模型使用數據流圖進行描述;數據模型使用實體-關系圖進行描述;行為模型使用狀態轉換圖進行描述。4.2數據流圖4.2.1數據流圖的基本成分1.數據的源點/終點2.加工3.文件4.數據流4.2.2數據流圖的實現1.數據流圖表示2.數據流圖實現方法(1)找出系統的輸入和輸出(2)繪制系統的內部(3)繪制加工的內部3.數據流圖實例【例4-1】某高校教材管理系統。某高校教材管理系統工作過程如下:教師填寫領書單,經主管審查簽名批準后,教師到教材科領取教材;教材科管理員檢查領書單是否符合審批手續,不合格的領書單退還教師,領書單合格則辦理領書手續,進行登記,修改庫存量并發放教材;當某種教材的庫存量低于事先規定的臨界值時,登記需求采購教材的訂貨信息,為教材科采購員提供一張訂書單。(1)繪制數據流圖頂層把整個系統視為一個大的加工,然后根據數據系統從哪些外部實體接收數據流,以及系統發送數據流到哪些外部實體,就可以繪制出輸入輸出圖,這張圖也就是數據流圖頂層圖。列出教材管理系統的全部數據源點和數據終點。源點包括教師;終點包括教材科管理員和教材科采購員。然后將系統加工處理過程作為一個整體,可以得到頂層數據流圖。教材管理系統頂層數據流圖。(2)繪制各層數據流圖

把頂層圖的加工分解成若干個加工,并用數據流將這些加工連接起來,使得頂層圖的輸入數據經過若干加工處理后,變成頂層圖的輸出數據流。這張圖被稱為第1層數據流圖。從輸入端開始,根據教材科業務工作流程,繪制出數據流流經的各加工框,逐步繪制出輸出端,得到1層數據流圖。教材管理系統1層數據流圖。

然后需要分解和細化各加處理過程,可以得到分解數據流圖。教材管理系統加工1分解數據流圖。(3)繪制總體數據流圖將各層數據流圖進行合并,形成總體數據流圖。教材管理系統總體數據流圖。4.3實體-關系圖4.3.1數據對象數據對象是對軟件必須理解的復合信息的表示。所謂復合信息是指具有一系列不同性質或屬性的事務,僅有單個值的事務不是數據對象,例如長度、寬度等。數據對象只封裝了數據而沒有對作用于數據上的操作的引用,這是數據對象與面向對象方法中所描述的“類”或“對象”的顯著區別。數據對象可以是外部實體、事物、行為、事件、角色、單位、地點、結構等。例如,學生成績管理系統中的教師、學生和課程都可以認為是數據對象,它們都可以由一組屬性來定義。“數據對象描述”中包含了數據對象及它們的所有屬性,數據對象彼此之間是有關聯的。4.3.2屬性屬性定義了數據對象的性質。一個數據對象往往具有很多屬性,應該根據對所要解決問題的理解,來確定數據對象的一組合適的屬性。例如,教材管理系統中描述數據對象“教師”的屬性包括工號、姓名和密碼等。但如果在教師信息管理系統中,同樣的“教師”這個數據對象,但是用上述這些屬性描述就不滿足系統需求了,應該添加一些屬性,例如職稱、年齡、籍貫、身份證號等。4.3.3關系數據對象彼此之間是有關聯的,也被稱為關系。例如,數據對象“教師”和“教材”之間的連接關系是“領用”。這種關聯的形態有以下3種:(1)一對一關聯。例如,一個高校只有一個教材科,而一個教材科只能屬于某一所高校,所以高校與教材科的聯系是一對一的。(2)一對多關聯。例如,一個出版社可以出版多本教材,但某一本教材只能由一個出版社出版發行,所以出版社與教材之間的聯系是一對多的。(3)多對多關聯。例如,一名教師可以領用多門課程的教材,一門課程的教材也可以被多名教師領用,所以教師與教材之間的聯系是多對多的。4.3.4實體-關系圖的實現1.實體-關系圖表示E-R圖有以下3個要素:(1)實體:就是現實世界的事物,用矩形表示。(2)屬性:定義了實體的性質,用橢圓形表示。(3)關系:是實體之間相互連接的方式,用菱形表示。實體之間存在著三種關系類型,分別是一對一、一對多、多對多,它們反映到E-R圖中就是相應的關系類型,即1:1、1:n和m:n。2.實體-關系圖實現方法實體關系圖是以迭代的方式構造出來的,可以采用以下步驟實現。(1)在需求獲取的過程中,要求用戶列出業務流程中涉及的“事物”,將這些“事物”演化為一組輸入和輸出的數據對象,以及生產和消費信息的外部實體。(2)一次考慮一個對象,檢查這個對象和其他對象間是否存在連接。(3)當連接存在時,應創建一個或多個實體-關系對。(4)對每個實體-關系對考察其基數,并將基數改成關聯的形態。(5)迭代地進行步驟(2)到步驟(4),直到定義了所有的實體-關系對。在這個過程中發現遺漏是正常的。進行若干次迭代時,將會不斷地增加新的實體和關系。(6)定義每個實體的屬性。(7)繪制并審核實體-關系圖。(8)重復步驟(1)到步驟(7),直到數據建模完成。3.實體-關系圖實例【例4-2】高校教材績管理系統實體-關系設計。通過對某高校教材管理系統進行調研分析,其中共有教師、管理員、教材、課程、專業共5個實體。教師實體的屬性包括工號、密碼和姓名;管理員實體的屬性包括編號、密碼和用戶名;教材實體的屬性包括教材編號、教材名稱、出版社編號、出版社名稱和庫存量;課程實體的屬性包括課程編號和課程名稱;專業實體的屬性包括專業編號和專業名稱;領用關系有時間和領書數量屬性,訂購關系具有訂書數量屬性。教師與教材是領用關系,每種教材可以由多位教師領用,每位教師可以領用多本教材,因此領用是多對多關系;管理員與教材是訂購關系,每種教材允許多位管理員訂購,且每位管理員可以訂購多種教材,因此訂購是多對多關系;專業與課程是開設關系,每個專業可以開設多門課程;課程與教材是選用關系,每門課程只可以選用一本教材。高校教材管理系統實體-關系圖。4.4狀態轉換圖行為模型可用狀態轉換圖(StatusTransferDiagram,STD)描述。狀態轉換圖是一種描述系統對內部或外部事件響應的行為模型。并不是所有的實體都需要繪制狀態轉換圖,有些實體有一些意義明確的狀態,并且其行為在不同的狀態時有所改變,此時才需要繪制狀態轉換圖。例4-1中,教材管理系統領書過程狀態轉換圖。首先找出教師領書過程的所有狀態,然后分析引起每種狀態轉換的具體行為,最后繪制出狀態轉換圖。4.5數據字典4.5.1數據字典的定義與用途數據字典(DataDictionary,DD)是結構化分析的一個有力工具。數據字典是對數據流圖中出現的所有數據元素、數據流、文件、加工的定義的集合,其中對于加工的描述被稱為“加工邏輯說明”。1.數據字典的定義數據字典是關于數據信息的集合,是數據流圖中所有元素嚴格定義的場所,每個元素要對應數據字典中的一個條目。數據字典中的條目應按一定次序排列,以方便查閱。2.數據字典的用途數據字典的作用是在軟件分析和設計過程中提供數據描述,是數據流圖必不可少的輔助資料。數據流圖和數據字典一起構成了系統的邏輯模型。沒有數據字典,數據流圖就不嚴格;沒有數據流圖,數據字典就沒有作用。數據字典的重要用途就是作為分析階段的工具。在數據字典中建立嚴密一致的定義有助于分析人員和用戶之間的交流。同樣,將數據流圖中的每個元素的精確定義放在一起,就構成了系統的、完整的需求規格說明的主體。在軟件設計階段,數據字典是存儲文件或數據庫設計的基礎。在實施階段,還可參照數據字典描述數據。隨著系統的改進,字典中的信息也會發生變化,新的信息會隨時加入進來。4.5.2數據字典的內容和格式1.數據流詞條

數據流是數據結構在系統內傳播的路徑。一個數據流詞條應有以下幾項內容。數據流名稱:要求與數據流圖中出現的名稱一致;描述:簡要介紹該數據流在系統中的作用;數據流來源:數據流來自哪個加工或哪個外部實體;數據流去向:數據流流向哪個加工或哪個外部實體;數據流組成(定義):描述該數據流的數據結構;注釋:相關事項。例如,“教材管理系統”中對數據流“訂書單”可用以下詞條進行定義和描述。2.數據存儲詞條數據存儲文件是保存數據的地方,一個數據存儲詞條應有以下幾項內容。數據存儲名稱:要求與數據流圖中出現的名稱一致;編號:該數據存儲在數據流圖中的編號;描述:簡要介紹該數據存儲存放的是什么數據;數據存儲組成(定義):描述該數據存儲的數據結構;數據存儲方式:索引文件。例如,“教材管理系統”中對數據存儲文件“庫存信息”可用以下詞條進行定義和描述。3.數據元素詞條數據流圖中每一個數據結構都是由數據元素構成的,數據元素是數據處理中最小的、不可再分的單位,它直接反映事物的某一特征。組成數據結構的這些數據元素也必須在數據字典中給出描述,一個數據元素詞條應有以下幾項內容。數據元素名稱;描述:簡要介紹該數據元素的含義;數據元素類型:字符型、數值型、布爾型等;數據元素長度(或精度):數據元素的大小;數據元素取值范圍:例如取值范圍定義為1至60,表示為1..60;數據元素缺省值:例如定義數據元素“領書日期”的初始值默認為系統的當前日期;數據元素組成(定義):描述該數據元素的相關數據元素及數據結構。例如,“教材管理系統”中對數據元素“教材編號”可用以下詞條進行定義和描述。4.數據加工詞條加工可以使用諸如判斷表、判定樹和結構化語言等形式表達,一個數據加工詞條應有以下幾項內容。加工名稱:要求與數據流圖中出現的名稱一致;加工編號:要求與數據流圖中出現的編號一致;描述:簡要介紹該加工的處理功能;輸入:指明該加工的輸入數據流;輸出:指明該加工的輸出數據流;加工邏輯:簡述該數據加工的處理邏輯(此項描述也可以單獨形成一份“數據加工邏輯說明”。例如,“教材管理系統”中對數據加工“處理合格領書單”可用以下詞條進行定義和描述。

4.6數據加工邏輯說明4.6.1結構化語言【例4-3】某系統教師津貼費處理。某校對不同職稱的教師,根據其是本校專職教師還是外聘兼職教師,決定其課時津貼費用。本校專職教師每課時津貼費:教授100元,副教授80元,講師60元,助教50元。外聘兼職教師每課時津貼費:教授120元,副教授100元,講師80元,助教60元。4.6.2判定表4.6.3判定樹4.7應用案例——高校財務問答系統結構化分析4.7.1功能需求4.7.2高校財務問答系統數據流圖4.7.3高校財務問答系統數據字典1.數據流(1)數據流名稱:教職工信息描述:用戶端用戶信息定義:教職工信息=工號+用戶名+密碼(2)數據流名稱:問題信息描述:用于傳遞問題及答案信息定義:問題信息=問題類型+問題內容+答案內容+文件名+文件路徑+視頻路徑(3)數據流名稱:類別信息描述:用于傳遞問題類別信息定義:類別信息=類型名稱(4)數據流名稱:反饋信息描述:用于傳遞教職工在用戶端提交的反饋信息定義:反饋信息=姓名+單位+電話+問題+時間(5)數據流名稱:統計信息描述:用于統計教職工在用戶端查詢某問題的次數定義:統計信息=問題內容+查詢次數2.數據存儲(1)數據存儲名稱:教職工信息編號:D01描述:用于存儲教職工數據定義:教職工信息=ID+工號+用戶名+密碼存儲方式:數據庫表,以“ID”為主鍵(2)數據存儲名稱:問題信息編號:D02描述:用于存儲問題及答案數據定義:問題信息=ID+問題類型+問題內容+答案內容+文件名+文件路徑+視頻路徑+查詢次數存儲方式:數據庫表,以“ID”為主鍵(3)數據存儲名稱:類別信息編號:D03描述:用于存儲問題類別數據定義:類別信息=ID

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論