系統分析及設計new第5章_第1頁
系統分析及設計new第5章_第2頁
系統分析及設計new第5章_第3頁
系統分析及設計new第5章_第4頁
系統分析及設計new第5章_第5頁
已閱讀5頁,還剩67頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第五章系統分析Copyright◎南京郵電大學經管學院系統分析4.需求建模

2.事件和事物的描述1系統分析概述3.對象及其關系和屬性

Copyright◎南京郵電大學經管學院5.1系統分析概述◆系統分析的用戶視圖◆模型驅動的分析方法◆系統分析中使用的邏輯模型Copyright◎南京郵電大學經管學院系統分析的用戶視圖

系統分析階段數據、功能和交互行為板塊的用戶視圖

Copyright◎南京郵電大學經管學院系統分析的用戶視圖

系統分析階段建立的文檔庫(UML類圖)

模型驅動的分析方法以UML為代表的面向對象系統分析方法是典型的模型驅動的分析方法,即建立起由功能模型、對象模型和動態模型構成的分析模型。其中,功能模型由用例圖表示,對象模型由類圖表示,動態模型由狀態圖和順序圖表示Copyright◎南京郵電大學經管學院模型驅動的分析方法用例圖:功能視圖功能模型:模型對象模型:模型動態模型:模型狀態圖:功能視圖類圖:數據視圖順序圖:功能視圖分析模型:模型系統分析中的邏輯模型系統分析階段的目標是通過建立模型來“定義系統需求”這些模型定義了系統需求,但并不局限于某一具體技術,稱之為邏輯模型。Copyright◎南京郵電大學經管學院系統分析中使用的邏輯模型事件和事件表以商務過程中的事件為關注點,將用戶所描述的事件用更簡潔的語句列舉出來,以便下一步找出這些事件的觸發原因、消息來源、所完成的動作、所做出的響應和事件要達到的目的,形成完整的事件列表數據流定義將事件中涉及到的要傳遞的數據集合明確表示出來,并給出數據集合的名稱。數據元素定義在數據流中分解出各個數據項,給出其描述,如名稱、類型、范圍以及相應的說明等。數據流圖表示系統邏輯功能和信息聯系,并且獨立于硬件、軟件、數據結構和文件組織的一種圖形,只用四個基本部件組成:外部實體、數據處理、數據存儲和數據流。實體-關系圖又叫做E-R圖,表示系統要素之間關系的一種圖形,主要用于數據庫系統的概念設計。在UML中,實體-關系圖常常被類圖、對象圖以及用例之間的關聯圖所替代。系統分析中使用的邏輯模型Copyright◎南京郵電大學經管學院系統分析中使用的邏輯模型數據流圖及其簡單的例子

Copyright◎南京郵電大學經管學院類圖(對象圖)類和對象在UML中是離散的概念,類是具有相同結構、行為和關系的一組對象的描述符號,對象是類的實例,我們認為對象具有可激發的行為。類和對象都擁有身份、狀態、行為和關系,類和對象是面向對象系統組織結構的核心。用例圖用例是外部可見的系統功能單元,這些功能單元由系統單元所提供,并通過一系列系統單元與一個或多個參與者之間交換的消息所表達。UML系統分析中使用的邏輯模型Copyright◎南京郵電大學經管學院系統分析中使用的邏輯模型用例圖和用例之間的關系Copyright◎南京郵電大學經管學院協作圖

協作圖與順序圖是可以方便地相互轉化的,協作圖用來快速地瀏覽相互協作以支持一個特定場景的所有對象,強調的是對象之間的關系組織,而不是對象之間消息傳遞的時間性。為了克服這一缺點,協作圖中要求將消息名稱前面加上順序號,表示消息發生的先后順序。狀態圖

狀態圖描述一個對象的狀態變化,從其對象屬性值的變化中看出狀態的變化。狀態圖說明的是這種“事件-響應-對象狀態的變化”的過程。注意,狀態圖表現的是一個對象對待外部事件刺激的內部變化,所以常常是對象屬性值的改變。系統分析中使用的邏輯模型Copyright◎南京郵電大學經管學院系統分析中使用的邏輯模型順序圖順序圖用來顯示場景或用例的事件表中所發生的交互,它側重于對消息時序的描述,所以又稱為時序圖。Copyright◎南京郵電大學經管學院系統分析中使用的邏輯模型包含了嵌套的狀態圖激活預熱冷卻閑置準備/開關合上溫度達到過熱(所要溫度)加熱過冷(所要溫度)溫度達到過熱(所要溫度)過冷(所要溫度)Copyright◎南京郵電大學經管學院系統分析中使用的邏輯模型活動圖活動圖是狀態機的另一種形式,它表現的是與一組事件相連的多個對象的狀態變化,強調的是計算過程中順序的和并發的步驟,我們把它稱為工作流。活動圖作為狀態機的一個要素是活動狀態(動作狀態),表示工作流中各個動作的執行,比如一個計算或者真實世界中不間斷的操作;而狀態機的另一個要素轉換則由這個動作的完成來觸發。在狀態內部處理以后,至少有一個輸出來完成轉換,也就是說,活動狀態應當是原子狀態,即它們不會被轉換中斷。狀態圖和活動圖本質上都是狀態機。Copyright◎南京郵電大學經管學院系統分析中使用的邏輯模型帶有泳道的活動圖

Copyright◎南京郵電大學經管學院5.2事件和事物的描述◆事件和系統需求◆事件的類型◆識別事件◆事件列表

Copyright◎南京郵電大學經管學院事件和系統需求事件指發生在確定的時間和地點、可以描述、并應該被系統記錄下來的事實。之所以稱其“應該”,是因為建模過程是對現實的一個抽象的過程,系統中發生的事件很多,有的與系統的功能沒有關系或者關系不大,不值得記錄。主事件直接激發系統行為的事件子事件后序事件Copyright◎南京郵電大學經管學院事件和系統需求影響電話訂貨系統內外部事件的例子

Copyright◎南京郵電大學經管學院外部事件即系統之外發生的事件.外部事件的發生是由外部實體或者動作參與者所引發。所謂外部實體或者外部參與者是指系統外部的組織或者人員,他為系統提供數據或者從系統獲取數據。考查外部事件的關鍵點是:1、外部實體對系統的數據輸入2、由外部實體的需要而觸發的系統內部的事務處理3、外部實體想要獲取某些信息4、外部實體的變化引發系統內部數據需要更新。外部事件一般不因起北部元素組成的變化,而在特殊條件下也能導致組成變化;屬性變化也能引起組成變化。事件的類型-(externalevent)(補)外部事件在系統之外發生,通常是由外部的人或組織激發的事件,這些人或組織是數據的提供者和接收者。比如圖書館流通系統中的讀者外部事件能夠導出系統需要處理的關鍵事務(補)尋找外部事件首先要確定外部實體,然后再分析。外部實體需要一個事務處理比如讀者借書外部實體需要系統提供某些信息比如讀者查閱書目某些數據改變了,系統需要更新它們比如書籍的位置改變管理過程需要某些信息比如制訂新的采購計劃需要流通統計情況Copyright◎南京郵電大學經管學院定時事件指的是時間點所觸發的事件,即由于到達了某一時刻系統內部自動發生的事件。信息系統應當在預定時間間隔中產生一些輸出結果。定時事件在正常情況下不引起內部組成結構的變化,只有在異常狀態下才會出現;而異常狀態也只能由定時事件觸發。定時事件與外部事件最大的不同點在于不需要觸發事件的實體,是系統自動引發所需要的處理,產生信息或其他輸出結果。

事件的類型-(temporalevent)

(補)定時事件當系統時間到達某一刻時發生的事件,這些事件通常要求系統能定時自動地完成某些輸出或處理。如:圖書館流通系統中的按月發布逾期催還名單。如:每天晚上12:00定時轉換歸檔醫療圖像。注意命名時必須包含所要完成的處理和規定期限事件的類型-(stateevent)狀態事件是系統內部由于某個要素狀態的改變而觸發其他要素狀態改變的事件。按照預先定義,系統內部要素應當由一個狀態轉移到另一個狀態,這樣才能完成系統的功能。狀態事件無法定義發生的時刻。識別臨時事件和狀態事件的關鍵點是:1、內部處理需要的臨時輸出結果2、系統應當對外給出的結果3、系統內部相關要素的狀態依賴關系(補)狀態事件系統內部的變化觸發系統對某個處理的需要,這種情況的發生稱為狀態事件比如:銷售系統中庫存數一旦低于控制點就產生訂貨單狀態事件一般是外部事件的結果,它的發生是不定時的Copyright◎南京郵電大學經管學院識別事件客戶走向銀行的柜臺客戶詢問能否用現金繳納電費柜員回答只能用信用卡繳納電費客戶將電卡和信用卡交給柜員柜員將電卡號碼輸入電費繳納系統柜員將信用卡插入讀卡機客戶輸入密碼柜員將繳費發票和兩張卡還給客戶客戶離開1、準確區分事件、條件、響應和行為。2、列出事件的時間順序3、技術選擇和系統控制(補)識別事件的規律區分事件與具體響應過程

事件響應中的一系列交互過程是完整具體的實現,而不是獨立的一個事件。例如:拿信用卡交費跟蹤關鍵業務的整個生命周期來發現事件

跟蹤讀者實現從圖書館借書的全部過程暫時忽略技術性依賴事件和系統控制事件

如管理員登錄系統,修改口令,每天的備份事件列表事件列表包括行和列,行代表事件,列代表事件的詳細信息。事件列表便于區分事件和由事件所引起的系統的其他的行為和響應。事件名;觸發器;來源;動作;響應;目的地事件列表觸發器:使得系統知道事件發生的觸發消息。是事件與系統的接口。動作:事件發生了的消息傳遞給系統后,系統引發的一系列動作和行為。相應:系統對所發生事件的輸出結果(一個或一系列)。目的地:系統產生結果的送達地。事件列表繪制網上訂單系統的事件列表(1)客戶希望檢查產品可訂量(2)客戶建立一個訂單(3)客戶改變或作廢訂單(4)客戶和管理層檢查訂單狀態(5)為訂單發貨(6)客戶退貨(7)未來客戶需要目錄(8)客戶更新基本信息(9)市場部給客戶發送促銷材料(10)調整產品目錄(11)每日交易匯總(12)每周訂單匯總事件名稱觸發點事件源活動響應結果事件目的地客戶希望檢查產品可訂量產品的查詢請求客戶查詢產品的可用量產品可用量詳細情況客戶客戶建立一個訂單新訂單客戶建立新訂單實時連接訂單確認訂單細節交易信息信用卡處理系統客戶發裝部門銀行客戶改變或作廢訂單修改訂單的請求客戶更新訂單修改確認訂單修改細節交易信息客戶發裝部門銀行客戶和管理層檢查訂單狀態訂單狀態的查詢請求客戶或管理部門查詢訂單的狀態訂單狀態的詳細情況客戶或管理部門為訂單發貨訂單發貨通知發裝部記錄訂單的執行客戶退貨訂單退貨通知客戶建立退貨記錄退貨確認交易信息客戶銀行網上訂單系統的事件表事件名稱觸發點事件源活動響應結果事件目的地未來客戶需要目錄產品目錄的查詢請求未來客戶提供產品目錄信息產品目錄未來客戶客戶更新基本信息客戶信息修改通知客戶更新客戶基本信息市場部給客戶發送促銷材料促銷產品細節市場部分發促銷單促銷單客戶和未來客戶調整產品目錄產品目錄更新細節銷售部更新產品目錄每日交易匯總每天末產生交易匯總報告交易匯總報告財務部每周訂單匯總每周末產生訂單匯總報告訂單匯總報告管理部門網上訂單系統的事件表Copyright◎南京郵電大學經管學院5.3事物、對象及其關系和屬性

◆事物的類型◆對象之間的關系

◆對象的屬性Copyright◎南京郵電大學經管學院事物的類型Copyright◎南京郵電大學經管學院

對象之間的關系一對一的關系

在每個端點上都有一個重數1。兩個類之間是一對一的關系,意味著在每個類的實例間恰好只存在一個連接,例如,一個電子錢包只對應一個客戶賬號。一對多的關系

在一個端點有一個重數1,而另一個端點有一個重數0..n(也可以用*表示)或者1..n。兩個類之間的一對多關系表示前一個類的一個實例對應于后一個類的好幾個實例。例如,一個客戶可以在不同銀行申辦電子錢包,而這些電子錢包只對應于這一個客戶。多對多的關系

在每個端點上都有一個重數0..n(或者*),兩個類之間的多對多關系表示這兩個類的實例之間可能存在著任意數目的連接。例如,多個銀行都可對客戶配發電子錢包。多對多的關系是關系中最復雜的類型。Copyright◎南京郵電大學經管學院對象之間的關系重數的例子

Copyright◎南京郵電大學經管學院對象之間的關系關系類型UML符號功能和示例依賴關系(使用)兩個模型元素之間的關系,一個元素需要別的元素提供適當的功能如,汽車使用汽油聚集關系(有一個)整體與部分的關聯如,汽車有一個發動機如,汽車有車軸(中空的菱形代表只有參考部分,實心的菱形表示整個實體對象的全部)關聯關系類實例間連接的描述如,汽車由交通管理部門發放牌照泛化關系(是一個(isakindof)更概括的描述和更具體的種類之間的描述如,汽車是一種機動車

UML描述關系類型用的四種主要結構

Copyright◎南京郵電大學經管學院對象之間的關系關系的一個例子

Copyright◎南京郵電大學經管學院對象的屬性

類和對象除了具有名稱以外,還要有其特征的描述,這些特定的信息稱為屬性,屬性是與類(對象)結合在一起并勾畫出類(對象)基本特性的數據字段。在這些字段中最重要的、能唯一標識該類和對象特點的屬性稱為關鍵屬性(關鍵字),或者標識符。選取對象屬性的時候應當問下面兩個問題:1對目標系統中的一個對象真正需要了解和記住的是哪些事情?2這些事情真正能顯現出對象的特性嗎?Copyright◎南京郵電大學經管學院5.4需求建模◆需求的概念◆需求描述的工具◆功能分析Copyright◎南京郵電大學經管學院需求的概念系統分析階段主要從概念上刻畫目標系統包括對分析系統的需求,以用例模型的方式描述系統的功能需求,以及對目標系統的內部結構和行為進行描述。

需求的概念Copyright◎南京郵電大學經管學院需求的概念需求應當包括從用戶角度(系統外部行為)和從系統開發者的角度(一些內部特性)描述的“用戶為解決某個問題或為實現某一目標,要求軟件必須滿足的條件或能力”。用面向對象方法描述需求的最大好處,是在于考慮問題的思路是從現實世界的人類思維習慣出發的,也就是采用我們在現實生活中習慣的思維方式,從人類考慮問題的角度出發,用某種特定的、規范的表達方式把用戶解決問題(即需求)的思維方式逐步翻譯成機器能夠理解的思維方式的過程。通過這一步步的翻譯的過程,逐步設計好了所需要的軟件條件和能力。信息系統的需求可以分為約束條件、功能需求與非功能需求。

Copyright◎南京郵電大學經管學院需求的概念信息系統需求的層次

Copyright◎南京郵電大學經管學院需求描述的工具◆建立領域模型◆建立業務模型◆需求說明的補充UML需求描述=事件表+類圖+用例圖+交互圖(順序圖、協作圖)+狀態圖Copyright◎南京郵電大學經管學院建立領域模型建立領域模型是從事件表轉化到類圖的工作。領域模型能捕獲系統環境中最重要的對象類型,描述對象類型之間的關系,所以領域模型主要的表現形式是UML類圖(以及對象圖)。領域對象代表了系統工作的環境中存在的事情和發生的事件。

建立領域模型

領域中一般有三種對象類:現實世界的對象,表示現實世界中要通過系統處理的事物,如貨物、地點等;業務對象,表示業務中需要進行操作的事務,如訂單、合同、賬戶等;發生和將要發生的事件,表示能夠引發系統工作或對系統產生影響的事實,如貨物抵達、申請遞交等。Copyright◎南京郵電大學經管學院建立領域模型從事件到系統的領域模型Copyright◎南京郵電大學經管學院建立業務模型有助于理解組織中業務過程,同時它還有助于組織業務過程的改善和提高。業務模型的建立除了要用到類圖和對象圖以外,還應當畫出用例圖、活動圖、順序圖和狀態圖。

建立業務模型建立業務模型—用例圖用例圖從使用的角度來描述系統,概括了系統如何向用戶和向哪些用戶提供有價值的功能。用例模型側重于從功能的角度來描述組織所包含的業務過程信息,能以清晰的方式表達組織中各個業務過程的各個功能的組成部分,并確定業務的參與者所使用的業務用例。Copyright◎南京郵電大學經管學院建立業務模型—用例圖一個電話訂貨系統的用例圖

注意用例圖不顯示系統的流入流出及其內部的信息。(這些內容利用順序圖和協作圖等交互圖表示)順序圖重點放在消息本身細節上,強調信息的時間關系協作圖強調的是所涉及的對象狀態圖刻畫了對象本身執行功能的狀態轉移Copyright◎南京郵電大學經管學院用例圖、類圖、順序圖和狀態圖之間的關系

建立業務模型關于活動圖可以從兩個角度來描述業務過程1,描述不同業務用例之間的協作和交互過程,重點在不同用例之間的關系和執行,包括任何從一個起始點開始,通過一系列業務用例的交互來完成組織的特定功能2,描述每個業務用例的細節過程,即描述單個用例的整個執行過程和用例中不同業務活動之間的協調和交互。Copyright◎南京郵電大學經管學院建立業務模型創建和確認訂單的活動圖

Copyright◎南京郵電大學經管學院需求說明的補充對于非功能需求,一般不用UML的圖形表示,這時候可以采用傳統的描述手段進行說明,以便和UML的模型一起用于分析與設計。補充的內容包括:可用性是指用戶可以使用系統的時間百分比,可用性強的產品能夠被用戶更容易的理解和掌握,主要包括故障恢復能力、帶病工作能力,以及用戶使用的方便性,如界面標準、操作簡單、運行規范等等。可靠性是指信息系統能否始終一貫地正確運行,可靠性強的產品準確度高、平均無故障時間長、軟件缺陷少,以及系統可用性強、抗風險能力強、健壯性好。性能是對信息系統功能所增加的條件,如存貯容量、響應時間、傳輸帶寬、時延等。Copyright◎南京郵電大學經管學院需求說明的補充可支持性表明系統為了保持其可維護性、可擴展性而必須達到的一些條件和要求,例如編碼規范和標準、系統的公共類庫、版本控制工具、分發渠道等。設計約束是對系統設計所進行的限制,例如擴展能力和維護要求、對遺留系統(老系統)數據的利用要求、開發平臺和語言工具、系統架構,甚至軟件硬件產品的選擇要求等。接口需求與系統相關的外部項目、遺留系統的接口要求,如軟件接口、硬件接口、通信接口等。其他需求包括在線幫助、法律條款、所用軟件產品的許可權利等。Copyright◎南京郵電大學經管學院功能分析◆識別參與者◆定義系統邊界◆識別系統用例◆識別用例間的關系◆建立用例模型◆給出用例的優先級Copyright◎南京郵電大學經管學院參與者(actor)是UML中的一個專門術語,指的是系統外部的一個主動介入系統的實體,可能是人員,也可能是設備或者另外一個系統,用火柴棒小人表示。參與者作為向系統輸入和請求系統輸出某些事件來觸發系統用例執行的角色出現,因此,同樣一個實體,在不同系統或者不同用例前面所擔負的角色是不同的。識別參與者

識別參與者業務模型建成以后,可以根據業務模型中的業務用例,由分析人員提煉出對應的角色作為參與者。提煉角色可以從介入實際業務過程的工作人員比對產生,步驟為:

1、考慮所有可能的與系統運行有關的人員、設備和其他系統2、確定系統數據的輸入輸出方面的參與者3、確定系統操作和維護的參與者4、將參與者-用戶-角色掛起鉤來5、代表扮演觸發系統用例執行起來的角色(避免憑空想象的參與者)6、進行合理的組織和合并,減少功能重疊,以便形成參與者和角色的類別7、對參與者命名,名字要有實際意義、易于理解并前后一致Copyright◎南京郵電大學經管學院定義系統邊界系統邊界標識了什么在系統之內,什么在系統之外,并進而識別系統的職責,UML中用一個大的方框表示,系統職責寫在框架內明顯的地方,我們把圖加上方框,就界定了系統的邊界。從不同角度看待整個系統,可能會得到不一樣的系統邊界范圍,這對后續的設計和開發工作會產生影響的。Copyright◎南京郵電大學經管學院識別系統用例識別系統用例

Copyright◎南京郵電大學經管學院識別用例間的關系用面向對象的觀點看,用例也是對象,所以對象之間的使用、關聯、聚集、泛化等關系在用例之間也可以使用。除此之外,用例之間還有兩種更常使用的特殊關系:包含(include)和擴展(extend)。

包含關系表示所觸發用例的完成需要調用其他一些描述同樣功能的子用例,即后者對于別的用例也是可以調用的,使用包含關系可以降低用例的冗余。擴展關系是減少復雜性的又一個手段,擴展關系表示可以選擇的行為集合、特定條件下才發生的行為集合或者不同流程,從而使用例變得更短和更容易理解,開發人員能夠分別處理每種功能。區分包含于擴展在邏輯上,包含關系和擴展關系的區別在于相關的程度,擴展關系表示一種可能的需要,而包含關系則表示只要有就必須完成的功能。在結構上,包含和擴展是類似的,其主要差別在關系的方向。在包含關系中,使目標用例啟動的條件是在主用例中的,它的作用好像事件流中的事件一樣,箭頭方向從主

溫馨提示

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

評論

0/150

提交評論