版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
梁昌勇信息系統(tǒng)分析、設計與開發(fā)方法第4章面向對象的系統(tǒng)分析4.1面向對象的基本過程
4.2面向對象分析的特點 4.3需求分析陳述4.4面向對象的系統(tǒng)分析活動 4.5建立對象模型4.6建立動態(tài)模型4.7建立功能模型4.8案例目錄面向對象分析(Object-OrientedAnalysis,OOA),就是抽取和整理用戶需求,按照面向對象的思想來分析問題,最后建立問題域的精確模型。分析的過程就是識別問題域和系統(tǒng)責任提取系統(tǒng)需求的過程,分析工作包括3項內(nèi)容,即理解、表達、驗證。分析過程得出的最重要的文檔資料是軟件需求規(guī)格說明,在面向對象分析中,主要由對象模型、動態(tài)模型和功能模型組成。
4.1面向對象分析的基本過程4.1.1概述問題域(problemdomain)就是被開發(fā)系統(tǒng)的應用領域,即軟件系統(tǒng)所能處理的現(xiàn)實世界中業(yè)務范圍。系統(tǒng)責任(systemresponsibilities)即所開發(fā)的軟件系統(tǒng)應該具備的職能.4.1面向對象分析的基本過程4.1.1概述OOA分析的過程就是提取需求的過程,主要包括理解、表達和驗證。OOA過程模型4.1面向對象分析的基本過程4.1.2基本過程OOA過程由5項主要活動組成:(1)識別問題域中的類和對象(2)確定結構(3)確定主題(4)定義屬性(5)定義服務4.1面向對象分析的基本過程4.1.2基本過程OOA模型由5個層組成:(1)主題層,按模塊進行劃分,從而降低模型的復雜程度;(2)類與對象層,描述了系統(tǒng)中的類與對象;(3)結構層,描述了類之間的繼承關系和“整體-部分”結構;(4)屬性層,描述了屬性以及類和對象之間的實例連接;(5)服務層,描述了方法以及類和對象之間的消息連接。OOA過程的5項活動分別對應OOA模型的5個層次,這5項活動和5個層次又繼續(xù)貫穿在OOD(面向對象的設計)過程中。4.1面向對象分析的基本過程4.1.2基本過程4.1面向對象分析的基本過程4.1面向對象的基本過程 4.2面向對象分析的特點
4.3需求分析陳述4.4面向對象的系統(tǒng)分析活動 4.5建立對象模型4.6建立動態(tài)模型4.7建立功能模型4.8案例目錄OOA的主要原則(1)抽象原則。系統(tǒng)中的對象是對現(xiàn)實世界中事物的抽象;類是系統(tǒng)中對象的抽象。(2)分類原則。就是把具有相同屬性和服務的對象劃分為一類,用類作為這些對象的抽象描述。(3)聚合原則。聚合將一個復雜的事物看成由若干比較簡單的事物組合形成的,從而簡化對復雜事物的描述。4.2面向對象分析的特點OOA的主要原則(4)關聯(lián)原則。在面向對象分析過程中,運用關聯(lián)原則可以
在系統(tǒng)模型中明確地標識對象之間的靜態(tài)聯(lián)系。(5)消息通信原則。這一原則要求對象之間只能通過消息進行通信,而不允許在對象之外直接地存取對象內(nèi)部的屬性。通過消息進行通信是由于封裝原則而引起的。(6)粒度控制原則。人在面對一個復雜的問題域時,需要控制自己的視野:考慮全局時,注意其大的組成部分,暫時不詳察每一部分的具體的細節(jié);考慮某部分的細節(jié)時則暫時撇開其余的部分。4.2面向對象分析的特點OOA的主要優(yōu)點(1)OOA是在人類思維組織的基本方法框架下定義并表達需求,直觀性好。(2)便于分析人員集中精力于問題空間的理解和分析,有利于超越系統(tǒng)的復雜性困難。(3)把屬性和有關服務方法作為對象整體來看待,比較自然。(4)使用對象間的最小相關性來分析和說明。這有利于實行封裝性原則,并使OOA適應開發(fā)需求的變化,也有利于制作和提取可復用的部件。4.2面向對象分析的特點OOA的主要優(yōu)點(5)通過對共性的顯式表示而提高表達能力。抽象層次與后續(xù)OOP結合,編程思路清晰,特別是有利于提高程序效率。(6)分析法與設計法的一致性,密切配合建造一個問題域模型。(7)對系統(tǒng)族的適用性和可擴展性強4.2面向對象分析的特點4.1面向對象的基本過程 4.2面向對象分析的特點 4.3需求分析陳述4.4面向對象的系統(tǒng)分析活動 4.5建立對象模型4.6建立動態(tài)模型4.7建立功能模型4.8案例目錄面向對象系統(tǒng)分析的基本出發(fā)點是問題域及用戶需求。研究問題域及用戶需求的主要目的是通過對問題域的深入研究,建立一個能夠滿足用戶需求的系統(tǒng)模型。面向對象分析強調(diào)系統(tǒng)模型與問題域的緊密對應,對問題域的研究貫穿于整個面向對象分析工作中。對問題域的研究一般可以通過以下工作來完成:親臨現(xiàn)場,通過觀察掌握第一手材料;認真聽取問題域專家的見解;閱讀與問題論域有關的材料,學習相關領域的基本知識;借鑒相關或相似問題論域已有系統(tǒng)的OOA文檔。4.3需求分析陳述用戶需求就是用戶對所要開發(fā)的系統(tǒng)提出的各種要求和期望。用戶需求大致可以分為2類:技術需求(功能需求、非功能需求、可用性需求等)非技術需求(系統(tǒng)交付時間、資源使用限制等)4.3需求分析陳述功能需求和非功能需求是系統(tǒng)分析人員首先要考慮的因素。功能需求描述了系統(tǒng)可以做什么或被期望做什么,描述了系統(tǒng)的功能,在OOA中可以使用用例來描述系統(tǒng)功能;非功能需求描述了系統(tǒng)如何更好地提供功能服務,可以從性能、安全性、可靠性、可用性等方面來描述。在對用戶需求的研究中,系統(tǒng)分析員需要解決如下問題:系統(tǒng)需要提供哪些功能,要達到何種性能指標以及可靠性、安全性要求,人機交互要求,系統(tǒng)的對外接口等。Usercase是用來收集和描述用戶需求的最好方法。即先標識使用該系統(tǒng)的不同的參與者(actor)。參與者所提出的每個使用場景(或功能)稱為一個用例,所有的用例則構成完整的系統(tǒng)需求。在這個過程中,很可能需要快速建立起原型系統(tǒng),以便與用戶更有效地交流。4.3需求分析陳述需求陳述的內(nèi)容包括:問題范圍,功能需求,性能需求,應用環(huán)境及假設條件等。書寫需求陳述時,要盡力做到語法正確,而且應該慎重選用名詞、動詞、形容詞和同義詞。4.3需求分析陳述用例名:購買商品參與者:出納員簡要描述:顧客帶著所要購買的商品來到收款處。收款員記錄下商品信息并收款。付款完成后,顧客帶著所購買的商品和收據(jù)離開。用例的簡要描述購買商品收款員4.3需求分析陳述對“取款”用例的非正式描述1)用戶插入ATM卡并輸入密碼2)用戶選擇取款并輸入取款數(shù)量3)系統(tǒng)吐出現(xiàn)金,并從賬號余額中扣除取款數(shù)4.3需求分析陳述4.3需求分析陳述對“取款”用例的完整描述主參與者:信用卡用戶目標:用戶使用信用卡從ATM機獲取現(xiàn)金范圍:銀行ATM系統(tǒng)前置條件:用戶將信用卡插入ATM觸發(fā)事件:用戶希望從ATM機上取現(xiàn)金主事件流:1)用戶插入信用卡到ATM機2)ATM系統(tǒng)識別卡的ID和賬號,并用主銀行系統(tǒng)驗證其有效性3)用戶輸入密碼,ATM驗證其有效性4)用戶選擇取款,并輸入提取金額,該數(shù)額必須在50~5000之間,50的倍數(shù)4.3需求分析陳述對“取款”用例的完整描述主事件流:5)ATM系統(tǒng)通知賬戶所在的主銀行系統(tǒng),傳遞賬號和取款金額,并接受返回的確認信息和賬戶余額6)ATM系統(tǒng)發(fā)放現(xiàn)金、卡,并打印收據(jù)7)ATM將事務記入日志4.3需求分析陳述對“取款”用例的完整描述備選事件流:
2a:該卡不能在此ATM機上使用3a:密碼不正確3b:用戶沒有及時輸入密碼4a:金額不是50的倍數(shù),或不在指定范圍5a:主機死機或網(wǎng)絡癱瘓5b:賬戶余額不足發(fā)生頻率:一天1000次4.1面向對象的基本過程 4.2面向對象分析的特點 4.3需求分析陳述
4.4面向對象的系統(tǒng)分析活動
4.5建立對象模型4.6建立動態(tài)模型4.7建立功能模型4.8案例目錄獲取對象和類確定關聯(lián)確定主題確定屬性確定方法
4.4面相對象的系統(tǒng)分析活動獲取對象和類
面向對象系統(tǒng)分析過程如人的認識過程一樣,從個別事物認識上升到一般概念的歸納過程,這就是認識事物的抽象過程。然后,在一般概念的指導下,再對事物進行認識與分析。在OO建模和OOP中,所有的對象都是通過類來描述的,類是具有相同屬性和操作的一組對象的集合。OOA活動的最終目標是建立所有對象的類。4.4面相對象的系統(tǒng)分析活動在識別問題域可能有用的候選對象時,可以從以下三個面入手:從問題域方面出發(fā),可以啟發(fā)分析員發(fā)現(xiàn)對象的因素包括:人員、組織、物品、設備、事件、表格、結構等。從系統(tǒng)邊界方面出發(fā),應該考慮的因素包括:人員、設備和外部系統(tǒng),它們是否與所要開發(fā)的系統(tǒng)有交互行為,如果有,那么它們就是候選對象。從系統(tǒng)責任出發(fā),對照系統(tǒng)責任所要求的每一項功能,查看是否可以由已找出的對象來完成該功能,在不能滿足要求時增加相應的對象,可以使系統(tǒng)分析員盡可能全地找出所需的各種對象。4.4面相對象的系統(tǒng)分析活動4.4.1獲取對象和類4.4面相對象的系統(tǒng)分析活動4.4面相對象的系統(tǒng)分析活動4.4面相對象的系統(tǒng)分析活動在找到許多可能有用的候選對象之后,需要對它們進行逐個審查,分析它們是否是OOA模型所真正需要的,從而篩選掉一些對象,或精簡及合并一些對象,以及將一些對象推遲到OOD階段再進行考慮。系統(tǒng)對象判斷的標準就是這些對象是否為系統(tǒng)提供了有用的屬性和服務。確定最終對象的原則:需要保留的信息、需要的服務、具有多個屬性、具有公共屬性及操作。4.4面相對象的系統(tǒng)分析活動4.4.1獲取對象和類抽象出對象類的常見問題:
(1)類的屬性或服務不適合該類的全部對象(不完全)
;
(2)出現(xiàn)屬性和服務相似的類(冗余)
;
(3)出現(xiàn)對同一事物的重復描述。4.4面相對象的系統(tǒng)分析活動4.4.1獲取對象和類OOA中要正確運用抽象原則:首先是擯棄與系統(tǒng)責任無關的事物,專注于系統(tǒng)責任所涉及的事物,把它們作為系統(tǒng)責任的候選對象。其次,描述候選對象的相應特征,對這些特征進行認真分析,舍棄與系統(tǒng)責任無關的特征,只保留與系統(tǒng)責任有關的特征,然后將這些特征抽象為對象的屬性和操作。4.4面相對象的系統(tǒng)分析活動4.4.1獲取對象和類判斷問題域事物是否與系統(tǒng)責任有關,可以從以下3方面進行:是否向系統(tǒng)輸入信息,也就是說,系統(tǒng)是否要保留或管理這些信息。是否從系統(tǒng)接受信息,或者說事物是否需要系統(tǒng)提供信息。既向系統(tǒng)輸入信息,也需要系統(tǒng)提供信息。4.4.1獲取對象和類4.4面相對象的系統(tǒng)分析活動關聯(lián)是指問題域的復雜性和連接關系。當兩個或多個類之間有相互依賴、相互作用的關系就是關聯(lián)。一個面向對象的系統(tǒng)中,類之間存在以下四種關系:一般——特殊整體——部分關聯(lián)依賴關系4.4面相對象的系統(tǒng)分析活動4.4.2確定關聯(lián)1.一般—特殊結構
一般—特殊關系又稱類屬關系,是現(xiàn)實世界中一般對象和特殊對象之間的關系,反映了現(xiàn)實世界中事物之間的分類關系。前者稱為父類,后者稱為子類,子類繼承父類的特性(屬性、操作、關聯(lián)等),同時又擁有自己的特性。4.4面相對象的系統(tǒng)分析活動4.4.2確定關聯(lián)1.一般—特殊結構
確定了類中應該定義的屬性之后,就可以利用繼承機制共享公共性質(zhì),并對系統(tǒng)中眾多的類加以組織。建立繼承關系的方式:(1)自底向上:抽象出現(xiàn)有類的共同性質(zhì)泛化出父類,這個過程實質(zhì)上模擬了人類歸納思維過程。(2)自頂向下:把現(xiàn)有類細化成更具體的子類,這模擬了人類的演繹思維過程。
4.4面相對象的系統(tǒng)分析活動4.4面相對象的系統(tǒng)分析活動4.4面相對象的系統(tǒng)分析活動4.4.2確定關聯(lián)例如圖書借閱管理系統(tǒng)中,對象類“人員”是類“管理員”和“借閱者”類的父類,而子類“管理員”又是類“系統(tǒng)維護人員”和類“一般操作人員”的父類。一般——特殊關系4.4面相對象的系統(tǒng)分析活動4.4.2確定關聯(lián)2.整體—部分對象實例之間的整體—部分關系,反映了現(xiàn)實世界中的事物之間的構成關系。整體—部分關聯(lián)又可以從兩個方面來反映:聚合關系表示對象實例之間的整體與部分的關系,作為整體的對象擁有作為部分的對象。組合關系是聚合關系的一種特殊形式。在組合關系中,整體和部分之間有著很緊密的關系和一致的生命周期。4.4面相對象的系統(tǒng)分析活動4.4.2確定關聯(lián)4.4面相對象的系統(tǒng)分析活動4.4.2確定關聯(lián)3.關聯(lián)表示對象實例之間的靜態(tài)聯(lián)系,這兩個對象實例之間存在某種語義上聯(lián)系。例如,員工為公司工作,一個公司有許多部門,因此,可以認為員工和公司、公司和部門之間存在某種語義上的聯(lián)系,如下圖所示。4.4面相對象的系統(tǒng)分析活動4.4.2確定關聯(lián)4.依賴關系一個模型元素的變化影響另一個模型元素,則兩個元素之間存在依賴關系。以X和Y兩個元素為例,當修改X的定義時,引起Y的定義的修改,則稱Y依賴于X。4.4面相對象的系統(tǒng)分析活動4.4.2確定關聯(lián)主題是指事物的總體概貌和總體分析模型。在開發(fā)大型、復雜系統(tǒng)的過程中,為了降低復雜程度,人們習慣于把復雜系統(tǒng)進一步劃分為幾個不同的主題,即在概念上把系統(tǒng)包含的內(nèi)容分解成幾個小的范疇。對于一個復雜的系統(tǒng),一般情況下在獲取對象與類、確定結構之后,然后劃分主題。這樣有利于系統(tǒng)開發(fā)人員觀察整個系統(tǒng)模型。主題的劃分不是按照功能進行分解的,而是按照問題域進行劃分的。另外,遵循最少原則進行主題劃分,即不同主題內(nèi)的對象之間依賴和交互關系最少。4.4面相對象的系統(tǒng)分析活動4.4.3確定主題從本質(zhì)上講,屬性定義了對象??蓮膯栴}的陳述中或通過對類的理解而標識出屬性。
對象的屬性是描述對象靜態(tài)特征的,確定對象屬性時要從問題域和目標系統(tǒng)兩方面進行。一般說來,確定屬性的過程包括分析和選擇兩個步驟。4.4面相對象的系統(tǒng)分析活動4.4.4確定屬性1.分析從以下角度去確定對象應具有的屬性:按一般常識,該對象應具有哪些屬性;在當前問題論域中,該對象應具有哪些屬性;根據(jù)系統(tǒng)責任的要求,該對象應具有哪些屬性;建立該對象是為了保存和管理哪些信息;對象為了在服務中實現(xiàn)其功能,需要增設哪些屬性;是否需要增設屬性來區(qū)別對象的不同狀態(tài);用什么屬性來表示對象的整體-部分聯(lián)系和實例連接4.4面相對象的系統(tǒng)分析活動4.4.4確定屬性2.選擇刪掉不正確的或不必要的屬性,通常有以下幾種常見情況:誤把對象當作屬性;如果某個實體的獨立存在比它的值更重要,則應把它作為一個對象而不是對象的屬性。在具體應用領域中具有自身性質(zhì)的實體,必然是對象。誤把關聯(lián)類的屬性當作一般對象的屬性;如果某個性質(zhì)依賴于某個關聯(lián)鏈的存在;則該性質(zhì)是關聯(lián)類的屬性,在分析階段不應該把它作為一般對象的屬性。把限定誤當成屬性;正確使用限定詞往往可以減少關聯(lián)的重數(shù)。4.4面相對象的系統(tǒng)分析活動4.4.4確定屬性誤把內(nèi)部狀態(tài)當成了屬性;如果某個性質(zhì)是對象的非公開的內(nèi)部狀態(tài),則應該從對象模型中刪掉這個屬性。過于細化;在分析階段應該忽略那些對大多數(shù)操作都沒有影響的屬性。存在不一致的屬性;類應該是簡單而且一致的。如果得出一些看起來與其他屬性毫不相關的屬性,則應該考慮把該類分解成兩個不同的類。4.4面相對象的系統(tǒng)分析活動4.4.4確定屬性方法,也稱服務、操作或行為等,用來描述對象的動態(tài)特征。有的面向對象的程序設計語言中,又將服務稱之為類的成員函數(shù)或簡稱函數(shù)。一般從以下幾個方面發(fā)現(xiàn)和定義對象方法:系統(tǒng)責任問題域對象狀態(tài)(狀態(tài)機圖)4.4面相對象的系統(tǒng)分析活動4.4.5確定方法1.系統(tǒng)責任在OOA模型中,對象的操作是最直接體現(xiàn)系統(tǒng)責任并實現(xiàn)用戶需求的成分,分析研究用戶需求中提出的每一項功能要求,這些功能要求應該由哪對象來提供,從而在該對象中設立相應的方法。從對象的角度出發(fā),分析這個對象是否應該設立,它能完成哪些功能。由該對象完成的功能就是這個對象的方法。從信息的輸入、加工、輸出的流程出發(fā),在整個信息流中涉及哪些對象?這些對象是如何處理這些信息的?對象完成信息處理的功能就是對象的方法。4.4面相對象的系統(tǒng)分析活動4.4.5確定方法2.問題域從問題域出發(fā),考慮每個對象所代表的實際事物在問題域中呈現(xiàn)哪些行為?這些行為是否與系統(tǒng)責任有關?在系統(tǒng)中應該為這些對象設立何種方法?3.對象狀態(tài)對象從創(chuàng)建到撤銷要經(jīng)歷一系列的狀態(tài),從一種狀態(tài)轉移為另一種狀態(tài)是由某個操作引起的。對象的狀態(tài)和狀態(tài)之間的轉移可以通過狀態(tài)機圖來描繪。狀態(tài)機圖就是確定對象操作的手段之一。4.4面相對象的系統(tǒng)分析活動4.4.5確定方法4.1面向對象的基本過程 4.2面向對象分析的特點 4.3需求分析陳述
4.4面向對象的系統(tǒng)分析活動 4.5建立對象模型4.6建立動態(tài)模型4.7建立功能模型4.8案例目錄面向對象分析首要的工作,是建立問題域的對象模型。這個模型描述了現(xiàn)實世界中的“類與對象”以及它們之間的關系,表示了目標系統(tǒng)的靜態(tài)數(shù)據(jù)結構。OOA基本模型分為三個層次:對象層——給出系統(tǒng)中所有反映問題域和系統(tǒng)責任的對象。特征層——給出類(對象)的內(nèi)部特征,即類的屬性和操作關系層——給出各類(對象)之間的關系,即類之間的四種關系。4.5建立對象模型1.類圖類圖描述系統(tǒng)中類的靜態(tài)結構,它不僅定義系統(tǒng)中的類,表示類之間的關系(如關聯(lián)、依賴、聚集等),也表達類的內(nèi)部結構(即類的屬性和操作)。類圖描述的這種靜態(tài)關系涉及軟件系統(tǒng)開發(fā)的整個生命周期。4.5建立對象模型1.類圖
類一般包含3個組成部分:類名、屬性、方法。4.5建立對象模型建筑設計院公文審批類圖
類圖使用方式對系統(tǒng)的靜態(tài)對象建模。如圖書借閱系統(tǒng)的Book類、reader類,學生管理系統(tǒng)的Student類等。對簡單的協(xié)作建模。協(xié)作是一些共同行為的類、接口和其他元素的群體。對邏輯數(shù)據(jù)庫模式建模。在很多領域中,都需要在關系數(shù)據(jù)庫或面向對象數(shù)據(jù)庫中存儲永久信息,系統(tǒng)分析者可以用類圖對這些需要永久化的實體建模。4.5建立對象模型類的表示方式有兩種即:全部顯示類的屬性和操作,或者隱藏屬性部分或操作部分,或者兩者都隱藏。4.5建立對象模型2.對象圖對象圖表示在某一時刻系統(tǒng)對象的狀態(tài)、對象之間的聯(lián)系的狀態(tài)以及對象行為的靜態(tài)方面的狀態(tài)。對象圖和類圖一樣反映系統(tǒng)的靜態(tài)過程,但它是從實際的或原型化的情景來表達的。對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。它們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時間段存在。4.5建立對象模型2.對象圖4.5建立對象模型:辦公室工作人員:辦公室主任對象只有兩個分欄(名稱、屬性);對象的名稱形式為“對象名:類名”;匿名對象的名稱形式為“:類名”;對象只定義了屬性的當前值;對象圖中不包含操作;對象使用鏈連接,鏈擁有名稱、角色,但是沒有多重性。對象圖的用途:捕獲實例和連接在分析和設計階段創(chuàng)建捕獲交互的靜態(tài)部分舉例說明數(shù)據(jù)/對象結構詳細描述瞬態(tài)圖由分析人員、設計人員和代碼實現(xiàn)人員開發(fā)4.5建立對象模型2.對象圖包(Package)是一種常規(guī)用途的組合機制。UML中的一個包直接對應于Java中的一個包。在Java中,一個包可能含有其他包、類或者同時含有這兩者。進行建模時,通常使用邏輯性的包,用于對模型進行組織;使用物理性的包,用于轉換成系統(tǒng)中的Java包。每個包的名稱對這個包進行了惟一性的標識。4.5建立對象模型3.包圖包圖建模:將一個框架的所有類放置在相同的包中;將相同繼承層次的類放在相同的包中;彼此間有聚集或組成關系的類通常放在相同的包中;彼此合作頻繁的類、信息能夠通過UML順序圖和UML合作圖反映出來的類,通常放在相同的包中;確定包與包之間的依賴關系或泛化關系。4.5建立對象模型4.1面向對象的基本過程 4.2面向對象分析的特點 4.3需求分析陳述
4.4面向對象的系統(tǒng)分析活動 4.5建立對象模型4.6建立動態(tài)模型4.7建立功能模型4.8案例目錄動態(tài)模型是與時間和變化有關的系統(tǒng)性質(zhì)。該模型描述了系統(tǒng)的控制結構,它表示了瞬間的、行為化的系統(tǒng)控制性質(zhì),它關心的是系統(tǒng)的控制,操作的執(zhí)行順序,它表示從對象的事件和狀態(tài)的角度出發(fā),表現(xiàn)了對象的相互行為。該模型描述的系統(tǒng)屬性是觸發(fā)事件、事件序列、狀態(tài)、事件與狀態(tài)的組織。使用狀態(tài)圖作為描述工具。它涉及到事件、狀態(tài)、操作等重要概念。4.6建立動態(tài)模型事件;事件是指定時刻發(fā)生的某件事。狀態(tài);狀態(tài)是對象屬性值的抽象。對象的屬性值按照影響對象顯著行為的性質(zhì)將其歸并到一個狀態(tài)中去。狀態(tài)指明了對象對輸入事件的響應。各對象之間相互觸發(fā)(即作用)就形成了一系列的狀態(tài)變化。把一個觸發(fā)行為稱作一個事件。狀態(tài)有持續(xù)性,它占用一段時間間隔。狀態(tài)與事件密不可分,一個事件分開兩個狀態(tài),一個狀態(tài)隔開兩個事件。事件表示時刻,狀態(tài)代表時間間隔。4.6建立動態(tài)模型狀態(tài)圖;狀態(tài)圖是一個標準的計算機概念,它是有限自動機的圖形表示,這里把狀態(tài)圖作為建立動態(tài)模型的圖形工具。狀態(tài)圖反映了狀態(tài)與事件的關系。當接收一事件時,下一狀態(tài)就取決于當前狀態(tài)和所接收的該事件,由該事件引起的狀態(tài)變化稱為轉換。狀態(tài)圖是一種圖,用結點表示狀態(tài),結點用圓圈表示;圓圈內(nèi)有狀態(tài)名,用箭頭連線表示狀態(tài)的轉換,上面標記事件名,箭頭方向表示轉換的方向。4.6建立動態(tài)模型4.6建立動態(tài)模型電話狀態(tài)圖建立動態(tài)模型的步驟:第一步,是編寫典型交互行為的腳本。雖然腳本中不可能包括每個偶然事件,但至少必須保證不遺漏常見的交互行為。第二步,從腳本中提取出事件,確定觸發(fā)每個事件的動作對象以及接受事件的目標對象。第三步,排列事件發(fā)生的次序,確定每個對象可能有的狀態(tài)及狀態(tài)間的轉換關系,并用狀態(tài)圖描繪它們。最后,比較各個對象的狀態(tài)圖,檢查它們之間的一致性,確保事件之間的匹配。4.6建立動態(tài)模型4.1面向對象的基本過程 4.2面向對象分析的特點 4.3需求分析陳述
4.4面向對象的系統(tǒng)分析活動 4.5建立對象模型4.6建立動態(tài)模型4.7建立功能模型
4.8案例目錄功能模型描述了系統(tǒng)的所有計算,著重于系統(tǒng)內(nèi)部數(shù)據(jù)的傳送和處理,功能模型定義“做什么”,動態(tài)模型定義“何時做”,對象模型定義“對誰做”。功能模型表明一個計算如何從輸入值得到輸出值,它不考慮計算的次序。功能模型由多張數(shù)據(jù)流圖組成。數(shù)據(jù)流圖用來表示從源對象到目標對象的數(shù)據(jù)值的流向,它不包含控制信息,控制信息在動態(tài)模型中表示,同時數(shù)據(jù)流圖也不表示對象中值的組織,值的組織在對象模型中表示。4.7建立功能模型公文發(fā)文數(shù)據(jù)流圖3種模型之間的關系:針對每個類建立的動態(tài)模型,描述了類實例的生命周期或運行周期。狀態(tài)轉換驅使行為發(fā)生,這些行為在數(shù)據(jù)流圖中被映射成處理,在用例圖中被映射成用例,它們同時與類圖中的服務相對應。功能模型中的處理(或用例)對應于對象模型中的類所提供的服務。數(shù)據(jù)流圖中的數(shù)據(jù)存儲,以及數(shù)據(jù)的源點/終點,通常是對象模型中的對象。4.7建立功能模型3種模型之間的關系:數(shù)據(jù)流圖中的數(shù)據(jù)流,往往是對象模型中對象的屬性值,也可能是整個對象。用例圖中的行為者,可能是對象模型中的對象。功能模型中的處理(或用例)可能產(chǎn)生動態(tài)模型中的事件。對象模型描述了數(shù)據(jù)流圖中的數(shù)據(jù)流、數(shù)據(jù)存儲以及數(shù)據(jù)源點/終點的結構。4.7建立功能模型4.1面向對象的基本過程 4.2面向對象分析的特點 4.3需求分析陳述
4.4面向對象的系統(tǒng)分析活動 4.5建立對象模型4.6建立動態(tài)模型4.7建立功能模型4.8案例目錄項目概述
某建筑設計院立項開發(fā)工程設計綜合項目管理信息系統(tǒng),總體目標是對設計院核心業(yè)務流程進行梳理和優(yōu)化,規(guī)范工作流程和管理制度,并運用計算機技術和信息技術實現(xiàn)設計院經(jīng)營管理和工程設計的信息化,提高運營效率,以適應不斷變化的市場需求,更好地為社會提供一流的產(chǎn)品和服務。辦公自動化系統(tǒng)是該系統(tǒng)的一個子系統(tǒng),其中公文管理模塊要求實現(xiàn)公文收、發(fā)文處理、審批、公告、督辦催辦、歸檔、查詢等功能。工作流技術采用JBPM工作流引擎,系統(tǒng)開發(fā)采用Struts2.0+Spring2.5+Hibernate3.2+DWR2.0框架技術,服務器是JBoss服務器。4.8案例通過對用戶需求調(diào)研分析,公文發(fā)文業(yè)務流程如圖所示。4.8案例1.系統(tǒng)需求通過對問題域的認真分析,識別出公文發(fā)文系統(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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分期車回收合同范例
- 市政井蓋工程合同范例
- 婚紗禮服館合同范例
- 律師刑事合同模板
- 姐妹房屋贈予合同模板
- 壁布施工合同范例
- 廠房租賃合同范例范文
- 大宗商品轉讓合同范例
- 單位車輛過戶合同范例
- 商鋪產(chǎn)權轉讓合同范例
- 《現(xiàn)代漢語語法》PPT課件(完整版)
- 5G智慧農(nóng)業(yè)建設方案
- 航海學天文定位第四篇天文航海第1、2章
- 浙江大學學生社團手冊(08)
- 水利水電工程專業(yè)畢業(yè)設計(共98頁)
- 公司內(nèi)部審批權限一覽表
- 人教版統(tǒng)編高中語文“文學閱讀與寫作”學習任務群編寫簡介
- 六年級語文命題比賽一等獎作品
- 初中物理實驗室課程表
- 貴州省建筑業(yè)營改增建筑工程計價依據(jù)調(diào)整實施意見(試行)解讀519
- GB∕T 15829-2021 軟釬劑 分類與性能要求
評論
0/150
提交評論