版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
上海大學計算機學院12023/12/10本章目標?掌握面向對象分析的過程
?掌握對象建模、動態(tài)建模、功能建模方法?了解服務定義方法?能夠根據需求陳述建立分析模型上海大學計算機學院22023/12/10主要內容面向對象分析的基本過程需求陳述建立對象模型建立動態(tài)模型建立功能模型定義服務上海大學計算機學院32023/12/10內容線索面向對象分析的基本過程需求陳述建立對象模型建立動態(tài)模型建立功能模型定義服務上海大學計算機學院42023/12/10面向對象分析概述…面向對象分析,就是抽取和整理用戶需求并建立問題域精確模型的過程三個子模型靜態(tài)結構(對象模型)交互次序(動態(tài)模型)數據變換(功能模型)上海大學計算機學院52023/12/10…面向對象分析概述主題(SubjectLayer)類-對象(Class與ObjectLayer)結構(StructureLayer)屬性(AttributeLayer)方法(ServiceLayer)對象模型的五個層次上海大學計算機學院62023/12/10面向對象分析的基本過程…識別結構識別結構定義屬性識別主題識別類與對象對象+關聯
需求陳述建立動態(tài)模型、功能模型、行為上海大學計算機學院72023/12/10…面向對象分析的基本過程識別類與對象(找出問題中的實體)識別結構(類或對象之間的關系)識別主題(指導讀者理解大型、復雜模型的一種機制)定義屬性(對象的屬性)建立動態(tài)模型建立功能模型定義服務(類所能提供的服務,即行為)上海大學計算機學院82023/12/10內容線索面向對象分析的基本過程需求陳述建立對象模型建立動態(tài)模型建立功能模型定義服務上海大學計算機學院92023/12/10需求陳述需求陳述的內容問題范圍,功能需求,性能需求,應用環(huán)境及假設條件等“做什么”而不是“怎樣做”書寫需求陳述時,需要注意:(1)盡量做到語法正確,而且應該慎重選用名詞、動詞、形容詞和同義詞(2)盡量把需求與實現策略區(qū)分開需求陳述僅僅是一個理解用戶需求的出發(fā)點,而不是一成不變的文檔上海大學計算機學院102023/12/10儲戶ATM系統(tǒng)網絡拓撲圖ATM帳戶柜員終端儲戶柜員ATMATM中央計算機分行計算機分行計算機帳戶帳戶帳戶上海大學計算機學院112023/12/10ATM系統(tǒng)的需求陳述…
某銀行擬開發(fā)一個自動取款機(ATM)系統(tǒng),它是由一個自動取款機、中央計算機、分行計算機及柜員終端組成的網絡系統(tǒng)。ATM和中央計算機由總行投資購買。總行擁有多臺ATM,分別設在全市各主要街道上。分行負責提供分行計算機和柜員終端。柜員終端設在分行營業(yè)廳及下屬的各儲蓄所內。該系統(tǒng)的軟件開發(fā)成本由各分行分攤。
銀行柜員使用柜員終端處理儲戶提交的儲蓄事務。儲戶可以用現金或支票向自己的某個帳戶內存款或開新帳戶。儲戶也可以從自己的帳戶取款。
上海大學計算機學院122023/12/10…ATM系統(tǒng)的需求陳述…
通常,一個儲戶可能擁有多個賬戶。柜員負責把儲戶提交的存款或取款事務輸進柜員終端,接收儲戶交來的現金或支票,或付給儲戶現金。柜員終端與相應的分行計算機通信,分行計算機具體處理針對某個賬戶的事務并且維護賬戶。 擁有銀行賬戶的儲戶有權申請領取現金兌換卡。使用現金兌換卡可以通過ATM訪問自己的賬戶。目前僅限于用現金兌換卡在ATM上提取現金(即取款),或查詢有關自己賬戶的信息(例如,某個指定賬戶上的余額)。將來可能還要求使用ATM辦理轉賬、存款等事務。
上海大學計算機學院132023/12/10…ATM系統(tǒng)的需求陳述…
所謂現金兌換卡就是一張?zhí)刂频拇趴ǎ厦嬗蟹中写a和卡號。分行代碼唯一標識總行下屬的一個分行,卡號確定了這張卡可以訪問哪些賬戶。通常,一張卡可以訪問儲戶的若干個賬戶,但是不一定能訪問這個儲戶的全部賬戶。每張現金兌換卡僅屬于一個儲戶所有,但是,同一張卡可能有多個副本,因此,必須考慮同時在若干臺ATM上使用同樣的現金兌換卡的可能性。也就是說,系統(tǒng)應該能夠處理并發(fā)的訪問。
上海大學計算機學院142023/12/10…ATM系統(tǒng)的需求陳述
當用戶把現金兌換卡插入ATM之后,ATM就與用戶交互,以獲取有關這次事務的信息,并與中央計算機交換關于事務的信息。首先,ATM要求用戶輸入密碼,接下來ATM把從這張卡上讀到的信息以及用戶輸入的密碼傳給中央計算機,請求中央計算機核對這些信息并處理這次事務。中央計算機根據卡上的分行代碼確定這次事務與分行的對應關系,并且委托相應的分行計算機驗證用戶密碼。如果用戶輸入的密碼是正確的,ATM就要求用戶選擇事務類型(取款、查詢等)。當用戶選擇取款時,ATM請求用戶輸入取款額。最后,ATM從現金出口吐出現金,并且打印出賬單交給用戶。
上海大學計算機學院152023/12/10內容線索面向對象分析的基本過程需求陳述建立對象模型建立動態(tài)模型建立功能模型定義服務上海大學計算機學院162023/12/10對象模型面向對象分析首要的工作,是建立問題域的對象模型對象模型描述了現實世界中的“類與對象”以及它們之間的關系,表示了目標系統(tǒng)的靜態(tài)數據結構通常使用類圖表示對象模型類圖描述類及類與類之間的靜態(tài)關系上海大學計算機學院172023/12/10類圖的基本符號類名類名屬性屬性行為/服務行為/服務上海大學計算機學院182023/12/10類間關系1.關聯(Association)2.聚集(Aggregation)3.泛化(Generalization)4.依賴和細化(DependencyandRealization)上海大學計算機學院192023/12/101、關聯…兩個類的對象之間的某種語義上的聯系。關聯名:WorkFor關聯方向:?角色:employee,employer重數: 1..*,*重數(multiplicity)0..1表示0到1個對象0..*或*表示0到多個對象1+或1..*表示1到多個對象1..15表示1到15個對象3 表示3個對象PersonCompanyWorkFor?*1..*employeeemployer上海大學計算機學院202023/12/10…關聯WorkForSalaryJobTitleStartDate限定關聯關聯類:當關聯本身具有屬性時PersonCompanyWorkFor?*1..*employeeemployer上海大學計算機學院212023/12/102、聚集類與類之間的整體與部分的關系(Partof)(1)共享聚集項目組組員1..**(2)組合聚集上海大學計算機學院222023/12/103、泛化類與類之間的“一般-特殊”關系(Isa)ShapeLineColorLineTypeDrawComputerAreaRectangleLeftBottomRightTopDrawComputerAreaCircleRadiusDrawComputerAreaTrianglePoint1Point2Point3DrawComputerArea上海大學計算機學院232023/12/10不同理解照相手機普通手機照相機照相手機(1)普通手機照相機照相手機(2)普通手機照相手機照相機照相機照相手機普通手機(3)上海大學計算機學院242023/12/104、依賴A依賴B:A使用B,或B的變化會影響到A上海大學計算機學院252023/12/104、細化細化關系(實現關系)B細化了A:B是在A的基礎上的更詳細的描述上海大學計算機學院262023/12/10類圖示例
一幅工程藍圖包括許多圖形,圖形可以是直線、圓、多邊形或組合圖,多邊形由直線組成,而組合圖由各種圖形混合而成藍圖圖形組合圖多邊形直線圓由..組成▼*▲由..組成*由..組成?*上海大學計算機學院272023/12/10同步練習請說出下面的各種類關聯,并在RationalRose中畫出這些類圖上海大學計算機學院282023/12/10關聯ManagesJobbossworkeremployeeemployer1..***0..1CompanyPersonJobSalary角色名重數關聯名稱關聯類二元關聯自關聯上海大學計算機學院292023/12/10具有重數的三元關聯上海大學計算機學院302023/12/10受限關聯上海大學計算機學院312023/12/10關聯類上海大學計算機學院322023/12/10聚集PolygonPoint13..*pointsContainsPolygon聚集WindowSlider12ScrollbarHeader1Title11Panel1Body組合上海大學計算機學院332023/12/10泛化上海大學計算機學院342023/12/10課外閱讀:Rose的使用[1]ROSE是美國Rational公司的面向對象建模工具,利用這個工具,我們可以建立用UML描述的軟件系統(tǒng)的模型,而且可以自動生成和維護C++、Java、VB、Oracle等語言和系統(tǒng)的代碼ROSE的界面分為三個部分——Browser窗口、Diagram窗口和Document窗口Browser窗口用來瀏覽、創(chuàng)建、刪除和修改模型中的模型元素;Diagram窗口用來顯示和創(chuàng)作模型的各種圖;而Document窗口則是用來顯示和書寫各個模型元素的文檔注釋上海大學計算機學院352023/12/10Browser窗口Diagram窗口Document窗口Specification對話框工具欄工具箱Rose的使用[2]上海大學計算機學院362023/12/10Browser窗口有四個視圖:UseCaseLogicalComponentDeploymentRose的使用[3]上海大學計算機學院372023/12/10在UseCase視圖的圖的類型有:用例圖、順序圖、協作圖和活動圖。Rose的使用[4]上海大學計算機學院382023/12/10在Logical視圖中的類型有:類圖和狀態(tài)圖。Rose的使用[5]上海大學計算機學院392023/12/10Rose的使用[6]在Component視圖的圖的類型有:構件圖。上海大學計算機學院402023/12/10Rose的使用[7]在Deployment視圖的圖的類型有:部署圖。上海大學計算機學院412023/12/10Rose的使用[8]-用例視圖用例圖順序圖協作圖活動圖上海大學計算機學院422023/12/10Rose的使用[9]-邏輯視圖類圖狀態(tài)圖上海大學計算機學院432023/12/10Component視圖和Deployment視圖構件圖部署圖上海大學計算機學院442023/12/10各種圖之間的關系靜態(tài)視圖(類圖,對象圖),物理視圖(實現視圖,部署視圖)是描述系統(tǒng)的靜態(tài)結構用例圖是描述系統(tǒng)的外部視圖活動圖描述系統(tǒng)的外部/內部視圖交互視圖(順序圖,協作圖)描述系統(tǒng)的內部視圖狀態(tài)圖描述單個類的動態(tài)行為UML的基本概念總結上海大學計算機學院452023/12/10上機實驗4時間:第七-八周,4月24日,4月30日(星期一),8:00-10:30地點:602,612內容:對象建模,畫出系統(tǒng)的類圖步驟:1、教師演示例子2、附錄三,三、對象建模要求:1、建模工具:RationalRose2、團隊操練形式,分工協作完成3、第七周上交用例圖,第九周上交類圖等上海大學計算機學院462023/12/10回顧面向對象分析任務:做什么基本過程:3個子模型和5個層次需求陳述對象建模:類圖
同類相從,同聲相應,固天之理也。
——《莊子·漁父》上海大學計算機學院472023/12/10類圖上海大學計算機學院482023/12/10上海大學計算機學院492023/12/10建立對象模型的方法非正式分析方法以需求陳述為依據,把陳述中的名詞作為類與對象的候選者形容詞作為確定屬性的線索動詞作為服務(操作)的候選者上海大學計算機學院502023/12/10建立對象模型的工作步驟第一步:確定類與對象第二步:確定關聯第三步:劃分主題第四步:確定屬性第五步:識別繼承關系第六步:確定類中的服務反復修改上海大學計算機學院512023/12/10第一步:確定類與對象自動取款機、中央計算機、分行計算機、柜員終端、總行、分行、柜員、儲戶、事務、帳戶、現金兌換卡1.2篩選(去除冗余、無關、籠統(tǒng)、屬性、操作等)銀行、自動取款機、系統(tǒng)、中央計算機、分行計算機、柜員終端、網絡、總行、市、街道、分行、營業(yè)廳、儲蓄所、軟件、成本、柜員、儲戶、事務、現金、支票、帳戶、現金兌換卡、余額、磁卡、分行代碼、卡號、副本、訪問、用戶、信息、密碼、關系、類型、取款額、帳單隱含的對象:通信鏈路和事務日志1.1找出候選的類-對象上海大學計算機學院522023/12/101.1找出候選的類與對象
34:銀行,自動取款機(ATM),系統(tǒng),中央計算機,分行計算機,柜員終端,網絡,總行,市,街道,分行,營業(yè)廳,儲蓄所,軟件,成本,柜員,儲戶,事務,現金,支票,賬戶,現金兌換卡,余額,磁卡,分行代碼,卡號,副本,訪問,用戶,信息,密碼,類型,取款額,賬單分析員還應該提取領域知識或常識隱含的類與對象出來。如:ATM系統(tǒng)中的沒寫的“通信鏈路”和“事務日志”上海大學計算機學院532023/12/101.2篩選類與對象…刪除不正確或不必要的類與對象冗余兩個候選類表達了同樣的信息,保留最富于描述力的名稱無關目標系統(tǒng)僅關心與本問題密切相關的類與對象籠統(tǒng)把籠統(tǒng)的或模糊的候選類去掉屬性操作實現上海大學計算機學院542023/12/10…1.2篩選類與對象…34:銀行、自動取款機、系統(tǒng)、中央計算機、分行計算機、柜員終端、網絡、總行、市、街道、分行、營業(yè)廳、儲蓄所、軟件、成本、柜員、儲戶、事務、現金、支票、帳戶、現金兌換卡、余額、磁卡、分行代碼、卡號、副本、訪問、用戶、信息、密碼、類型、取款額、帳單31:銀行、自動取款機、系統(tǒng)、中央計算機、分行計算機、柜員終端、網絡、總行、市、街道、分行、營業(yè)廳、儲蓄所、軟件、成本、柜員、儲戶、事務、現金、支票、帳戶、現金兌換卡、余額、分行代碼、卡號、訪問、信息、密碼、類型、取款額、帳單去除冗余兩個類表達了同樣的信息,應該保留最富于描述力的名稱1上海大學計算機學院552023/12/10…1.2篩選類與對象…31:銀行、自動取款機、系統(tǒng)、中央計算機、分行計算機、柜員終端、網絡、總行、市、街道、分行、營業(yè)廳、儲蓄所、軟件、成本、柜員、儲戶、事務、現金、支票、帳戶、現金兌換卡、余額、分行代碼、卡號、訪問、信息、密碼、類型、取款額、帳單26:銀行、自動取款機、系統(tǒng)、中央計算機、分行計算機、柜員終端、網絡、總行、分行、軟件、柜員、儲戶、事務、現金、支票、帳戶、現金兌換卡、余額、分行代碼、卡號、訪問、信息、密碼、類型、取款額、帳單去除無關與當前要解決的問題無關,同樣也應該把它們刪除2上海大學計算機學院562023/12/10…1.2篩選類與對象…26:銀行、自動取款機、系統(tǒng)、中央計算機、分行計算機、柜員終端、網絡、總行、分行、軟件、柜員、儲戶、事務、現金、支票、帳戶、現金兌換卡、余額、分行代碼、卡號、訪問、信息、密碼、類型、取款額、帳單20:自動取款機、中央計算機、分行計算機、柜員終端、總行、分行、柜員、儲戶、事務、現金、支票、帳戶、現金兌換卡、余額、分行代碼、卡號、密碼、類型、取款額、帳單去除籠統(tǒng)籠統(tǒng)的、泛指的名詞3上海大學計算機學院572023/12/10…1.2篩選類與對象…20:自動取款機、中央計算機、分行計算機、柜員終端、總行、分行、柜員、儲戶、事務、現金、支票、帳戶、現金兌換卡、余額、分行代碼、卡號、密碼、類型、取款額、帳單11:自動取款機、中央計算機、分行計算機、柜員終端、總行、分行、柜員、儲戶、事務、帳戶、現金兌換卡去除屬性陳述中有些名詞用來描述其他對象的屬性4上海大學計算機學院582023/12/10…1.2篩選類與對象11:自動取款機、中央計算機、分行計算機、柜員終端、總行、分行、柜員、儲戶、事務、帳戶、現金兌換卡自動取款機、中央計算機、分行計算機、柜員終端、總行、分行、柜員、儲戶、事務、帳戶、現金兌換卡去除操作既可作為名詞又可作為動詞的詞語,到底是類還是操作?5去除實現分析階段不需要考慮具體實現6通信鏈路和事務日志11上海大學計算機學院592023/12/10課外閱讀:識別類的方法名詞識別法系統(tǒng)實體識別法從用例中識別類利用分解與抽象技術上海大學計算機學院602023/12/10系統(tǒng)實體識別法上海大學計算機學院612023/12/10從用例中識別類上海大學計算機學院622023/12/10利用分解與抽象技術上海大學計算機學院632023/12/10大多數關聯可以通過直接提取需求陳述中的動詞詞組而得出分析需求陳述,能發(fā)現一些在陳述中隱含的關聯分析員應該與用戶及領域專家討論問題域實體間的相互依賴、相互作用關系,根據領域知識再進一步補充一些關聯第二步:確定關聯上海大學計算機學院642023/12/102.1初步確定關聯…ATM,中央計算機,分行計算機及柜員終端組成網絡。總行擁有多臺ATM。ATM設在主要街道上。分行提供分行計算機和柜員終端。柜員終端設在分行營業(yè)廳及儲蓄所內。分行分攤軟件開發(fā)成本。儲戶擁有賬戶。柜員輸入針對賬戶的事務。柜員終端與分行計算機通信。分行計算機處理針對賬戶的事務。分行計算機維護賬戶。上海大學計算機學院652023/12/102.1…初步確定關聯…系統(tǒng)處理并發(fā)的訪問。ATM與用戶交互。ATM與中央計算機交換關于事務的信息。ATM讀現金兌換卡。中央計算機確定事務與分行的對應關系。ATM吐出現金。ATM打印賬單。上海大學計算機學院662023/12/10…2.1初步確定關聯需求陳述中隱含的關聯19.總行由各個分行組成。20.分行保管賬戶。21.總行擁有中央計算機。22.系統(tǒng)維護事務日志。23.系統(tǒng)提供必要的安全性。24.儲戶擁有現金兌換卡。根據問題域知識得出的關聯25.
現金兌換卡訪問賬戶。26.分行雇用柜員。上海大學計算機學院672023/12/102.2篩選關聯2.2.1刪除與已刪去的類之間的關聯2.2.2刪除與問題無關或應在實現階段考慮的關聯2.2.3刪除瞬時事件2.2.4分解三元關聯2.2.5刪除派生關聯上海大學計算機學院682023/12/102.2.1刪除已刪去的類之間的關聯…ATM,中央計算機,分行計算機及柜員終端組成網絡。總行擁有多臺ATM。ATM設在主要街道上。分行提供分行計算機和柜員終端。柜員終端設在分行營業(yè)廳及儲蓄所內。分行分攤軟件開發(fā)成本。儲戶擁有賬戶。柜員輸入針對賬戶的事務。柜員終端與分行計算機通信。分行計算機處理針對賬戶的事務。分行計算機維護賬戶。系統(tǒng)處理并發(fā)的訪問。ATM與用戶交互。ATM與中央計算機交換關于事務的信息。ATM讀現金兌換卡。中央計算機確定事務與分行的對應關系。ATM吐出現金。ATM打印賬單。系統(tǒng)網絡市街道成本軟件事務日志現金營業(yè)廳儲蓄所帳單訪問等上海大學計算機學院692023/12/10…2.2.1刪除已刪去的類之間的關聯19.總行由各個分行組成。20.分行保管賬戶。21.總行擁有中央計算機。22.
系統(tǒng)維護事務日志。23.
系統(tǒng)提供必要的安全性。24.儲戶擁有現金兌換卡。25.現金兌換卡訪問賬戶。26.分行雇用柜員。系統(tǒng)網絡市街道成本軟件事務日志現金營業(yè)廳儲蓄所帳單訪問等上海大學計算機學院702023/12/10篩選結果1總行擁有多臺ATM。分行提供分行計算機和柜員終端。儲戶擁有賬戶。柜員輸入針對賬戶的事務。柜員終端與分行計算機通信。分行計算機處理針對賬戶的事務。分行計算機維護賬戶。ATM與用戶交互。ATM與中央計算機交換關于事務的信息。ATM讀現金兌換卡。中央計算機確定事務與分行的對應關系??傂杏筛鱾€分行組成。分行保管賬戶。總行擁有中央計算機。儲戶擁有現金兌換卡。現金兌換卡訪問賬戶。分行雇用柜員。上海大學計算機學院712023/12/102.2.2刪除瞬時事件關聯描述問題域的靜態(tài)結構,不應是瞬時事件總行擁有多臺ATM。分行提供分行計算機和柜員終端。儲戶擁有賬戶。柜員輸入針對賬戶的事務。柜員終端與分行計算機通信。分行計算機處理針對賬戶的事務。分行計算機維護賬戶。ATM與用戶交互。ATM與中央計算機交換關于事務的信息。ATM讀現金兌換卡。中央計算機確定事務與分行的對應關系??傂杏筛鱾€分行組成。分行保管賬戶??傂袚碛兄醒胗嬎銠C。儲戶擁有現金兌換卡?,F金兌換卡訪問賬戶。分行雇用柜員。上海大學計算機學院722023/12/10篩選結果2總行擁有多臺ATM。分行提供分行計算機和柜員終端。儲戶擁有賬戶。柜員輸入針對賬戶的事務。柜員終端與分行計算機通信。分行計算機處理針對賬戶的事務。分行計算機維護賬戶。ATM與中央計算機交換關于事務的信息。中央計算機確定事務與分行的對應關系??傂杏筛鱾€分行組成。分行保管賬戶??傂袚碛兄醒胗嬎銠C。儲戶擁有現金兌換卡?,F金兌換卡訪問賬戶。分行雇用柜員。上海大學計算機學院732023/12/102.2.3分解三元關聯總行擁有多臺ATM。分行提供分行計算機和柜員終端。儲戶擁有賬戶。柜員輸入針對賬戶的事務。柜員終端與分行計算機通信。分行計算機處理針對賬戶的事務。分行計算機維護賬戶。ATM與中央計算機交換關于事務的信息。中央計算機確定事務與分行的對應關系。總行由各個分行組成。分行保管賬戶。總行擁有中央計算機。儲戶擁有現金兌換卡?,F金兌換卡訪問賬戶。分行雇用柜員。“柜員輸入事務”“事務修改賬戶”“ATM與中央計算機通信”“ATM輸入事務”“分行保管賬戶”
“事務修改賬戶”“中央計算機與分行通信”上海大學計算機學院742023/12/10篩選結果3總行擁有多臺ATM。分行提供分行計算機和柜員終端。儲戶擁有賬戶。柜員輸入事務。事務修改賬戶。柜員終端與分行計算機通信。分行保管賬戶。分行計算機維護賬戶。ATM與中央計算機通信。ATM輸入事務。中央計算機與分行通信。總行由各個分行組成。總行擁有中央計算機。儲戶擁有現金兌換卡?,F金兌換卡訪問賬戶。分行雇用柜員。上海大學計算機學院752023/12/102.2.4刪除派生關聯總行擁有多臺ATM。分行提供分行計算機和柜員終端。儲戶擁有賬戶。柜員輸入事務事務修改賬戶柜員終端與分行計算機通信。分行保管賬戶分行計算機維護賬戶。ATM與中央計算機通信ATM輸入事務中央計算機與分行通信總行由各個分行組成。總行擁有中央計算機。儲戶擁有現金兌換卡?,F金兌換卡訪問賬戶。分行雇用柜員。上海大學計算機學院762023/12/10篩選結果4分行提供分行計算機和柜員終端。儲戶擁有賬戶。柜員輸入事務事務修改賬戶柜員終端與分行計算機通信。分行保管賬戶ATM與中央計算機通信ATM輸入事務中央計算機與分行通信總行由各個分行組成??傂袚碛兄醒胗嬎銠C。儲戶擁有現金兌換卡?,F金兌換卡訪問賬戶。分行雇用柜員。上海大學計算機學院772023/12/102.3進一步完善篩選后的關聯…正名應該仔細選擇含義更明確的名字作為關聯名分解為了能夠適用于不同的關聯,必要時應該分解以前確定的類與對象補充發(fā)現了遺漏的關聯就應該及時補上標明重數應該初步判定各個關聯的類型,并粗略地確定關聯的重數上海大學計算機學院782023/12/10…2.3進一步完善篩選后的關聯分行提供分行計算機和柜員終端。儲戶擁有賬戶。柜員輸入事務事務修改賬戶柜員終端與分行計算機通信。分行保管賬戶ATM與中央計算機通信ATM輸入事務中央計算機與分行通信總行由各個分行組成。總行擁有中央計算機。儲戶擁有現金兌換卡。現金兌換卡訪問賬戶。分行雇用柜員。柜員事務遠程事務柜員輸入柜員事務柜員事務輸進柜員終端ATM輸入遠程事務現金兌換卡授權遠程事務柜員事務修改賬戶遠程事務修改賬戶上海大學計算機學院792023/12/10篩選關聯:篩選結果分行提供分行計算機分行擁有柜員終端。儲戶擁有賬戶。柜員輸入柜員事務柜員事務輸進柜員終端柜員事務修改賬戶遠程事務修改賬戶柜員終端與分行計算機通信。分行保管賬戶ATM與中央計算機通信ATM輸入遠程事務現金兌換卡授權遠程事務中央計算機與分行通信總行由各個分行組成。總行擁有中央計算機。儲戶擁有現金兌換卡。現金兌換卡訪問賬戶。分行雇用柜員。上海大學計算機學院802023/12/10ATM系統(tǒng)初始對象模型上海大學計算機學院812023/12/10第三步:劃分主題按問題域而不是用功能分解方法來確定主題按照使不同主題內的對象相互間依賴和交互最少的原則來確定主題上海大學計算機學院822023/12/10上海大學計算機學院832023/12/10第四步:確定屬性在分析階段不要用屬性來表示對象間的關系分析選擇上海大學計算機學院842023/12/10屬性分析需求陳述中的名詞詞組表示屬性,形容詞表示可枚舉的具體屬性“汽車的顏色”或“光標的位置”“紅色的”、“打開的”領域知識和常識上海大學計算機學院852023/12/10屬性選擇常見錯誤屬性誤把對象當作屬性在郵政目錄中,“城市”是一個屬性,而在人口普查中卻應該把“城市”當作對象把鏈屬性誤作為屬性把限定誤當成屬性誤把內部狀態(tài)當成了屬性過于細化不一致的屬性分行計算機1+1..*1..*1..*1..*1..*擁有通信雇傭保管擁有組成通信通信擁有輸入修改1..*1..*1..*現金兌換卡1..*輸入授權訪問1..*1..*1..*修改擁有擁有分行代碼總行總行名分行分行名卡號賬戶余額限額類型儲戶姓名地址分行代碼中央計算機ATM現有金額付出金額遠程事務類型日期金額遠程事務類型日期金額1..*密碼柜員姓名站號站號發(fā)放柜員終端1..*賬號雇員號站號上海大學計算機學院872023/12/10第五步識別繼承關系兩種方式歸納抽象出現有類的共同性質泛化出父類“遠程事務”和“柜員事務”
“事務”“ATM”和“柜員終端”
“輸入站”演繹帶有形容詞修飾的名詞詞組往往暗示了一些具體類在分析階段應該避免過度細化現金兌換卡1..*1..*密碼輸入站ATM現有金額付出金額柜員終端分行代碼站號分行代碼總行總行名分行分行名雇員號卡號站號分行計算機柜員事務遠程事務柜員姓名站號賬號賬戶余額限額類型儲戶姓名地址通信通信通信擁有擁有組成擁有雇傭保管擁有1..*擁有發(fā)放輸入1..*輸入1..*1..*授權1..*訪問修改1..*事務類型日期金額上海大學計算機學院892023/12/10反復修改1233現金兌換卡1..*1..*密碼輸入站ATM現有金額付出金額柜員終端分行代碼中央計算機站號分行代碼總行總行名分行分行名雇員號卡號站號分行計算機柜員事務遠程事務柜員姓名站號賬號賬戶余額限額類型儲戶姓名地址通信通信通信擁有擁有組成擁有雇傭保管擁有1..*擁有發(fā)放輸入1..*輸入1..*1..*授權1..*訪問修改1..*更新更新卡權限密碼限額事務類型日期金額ATM現有金額付出金額分行代碼總行總行名1..*現金兌換卡密碼輸入站柜員終端分行分行名雇員號卡號柜員事務遠程事務柜員姓名站號賬號賬戶余額限額類型儲戶姓名地址組成擁有雇傭保管擁有1..*擁有發(fā)放輸入1..*輸入1..*啟動1..*修改1..*卡權限密碼限額事務日期更新金額類型組成1..*擁有1..*1..*1..*訪問標識1..*1..*1..*上海大學計算機學院912023/12/10上機實驗4時間:第八周,4月30日(星期一),8:00-10:30地點:602,612內容:對象建模,畫出系統(tǒng)的類圖步驟:1、教師演示例子2、實驗指導中的榜樣3、自己選定項目的類圖要求:1、建模工具:RationalRose2、團隊操練形式,分工協作完成,五一后(5月8日)上交實驗階段性成果——類圖上海大學計算機學院922023/12/10內容小結學習了對象建模1、確定類與對象2、確定關聯3、劃分主題4、確定屬性5、識別繼承關系反復修改應該掌握為給定需求進行對象建模,得到類圖的方法與技術上海大學計算機學院932023/12/10回顧對象建模第一步:確定類與對象第二步:確定關聯第三步:劃分主題第四步:確定屬性第五步:識別繼承關系反復修改ATM現有金額付出金額分行代碼總行總行名1..*現金兌換卡密碼輸入站柜員終端分行分行名雇員號卡號柜員事務遠程事務柜員姓名站號賬號賬戶余額限額類型儲戶姓名地址組成擁有雇傭保管擁有1..*擁有發(fā)放輸入1..*輸入1..*啟動1..*修改1..*卡權限密碼限額事務日期更新金額類型組成1..*擁有1..*1..*1..*訪問標識1..*1..*1..*上海大學計算機學院952023/12/10內容線索面向對象分析的基本過程需求陳述建立對象模型----靜態(tài)結構----對誰做建立動態(tài)模型----交互次序----什么時候做建立功能模型----數據變換----做什么定義服務上海大學計算機學院962023/12/10動態(tài)模型動態(tài)模型:基于事件共享而相互關聯的一組狀態(tài)圖的集合事件跟蹤圖和狀態(tài)圖系統(tǒng)的動態(tài)行為:對象通過通信相互協作的方式以及系統(tǒng)中的對象在系統(tǒng)生命期中改變狀態(tài)的方式。上海大學計算機學院972023/12/10建立動態(tài)模型的步驟1、編寫腳本:編寫典型交互行為的腳本2、畫事件跟蹤圖:從腳本中提取出事件,確定觸發(fā)每個事件的動作對象以及接受事件的目標對象3、畫狀態(tài)圖:排列事件發(fā)生的次序,確定每個對象可能有的狀態(tài)及狀態(tài)間的轉換關系,并用狀態(tài)圖描繪它們4、審查動態(tài)模型:比較各個對象的狀態(tài)圖,檢查它們之間的一致性,確保事件之間的匹配上海大學計算機學院982023/12/10第1步:編寫腳本腳本描述用戶(或其他外部設備)與目標系統(tǒng)之間的一個或多個典型的交互過程,以便對目標系統(tǒng)的行為有更具體的認識目的:保證不遺漏重要的交互步驟,有助于確保整個系統(tǒng)交互過程的正確性和清晰性編寫腳本步驟編寫正常情況的腳本考慮特殊情況考慮出錯情況上海大學計算機學院992023/12/10ATM系統(tǒng)的正常情況腳本ATM請儲戶插卡;儲戶插入現金兌換卡。ATM讀卡上的分行代碼和卡號。ATM要求儲戶輸入密碼;儲戶輸入密碼“1234”
。ATM請求總行驗證卡號和密碼;總行要求“39”號分行核對儲戶密碼,然后通知ATM說這張卡有效。ATM要求儲戶選擇事務類型(取款、查詢等);儲戶選擇“取款”。ATM要求儲戶輸入取款額;儲戶輸入“3000”。ATM確認取款額在規(guī)定的限額內,然后要求總行處理這個事務;總行把請求轉給分行,分行成功地處理完這項事務并返回該賬戶的新余額。ATM吐出現金;儲戶拿走現金。ATM問儲戶是否繼續(xù)這項事務;儲戶選擇“不”。ATM打印賬單,退出現金兌換卡;儲戶取走賬單和卡。ATM請儲戶插卡。上海大學計算機學院1002023/12/10ATM系統(tǒng)的異常情況腳本ATM請儲戶插卡;儲戶插入現金兌換卡。ATM讀卡上的分行代碼和卡號。ATM要求密碼;儲戶輸入“8888”。ATM請求總行驗證輸入的數字和密碼;總行在向有關分行咨詢之后拒絕這張卡。ATM顯示“密碼錯”,并請儲戶重新輸入密碼;儲戶輸入“1234”;ATM請總行驗證后知道這次輸入的密碼正確。ATM請儲戶選擇事務類型;儲戶選擇“取款”。ATM詢問取款額;儲戶改變主意,他敲“取消”鍵。ATM退出現金兌換卡;儲戶拿走他的卡。ATM請儲戶插卡。上海大學計算機學院1012023/12/10設想用戶界面向儲戶顯示的信息0123456789ENTERCLEARCANCEL帳單出口現金出口上海大學計算機學院1022023/12/10第2步:畫事件跟蹤圖用事件跟蹤圖把事件序列以及事件與對象的關系表示出來事件跟蹤圖實質上是擴充的腳本,可以認為事件跟蹤圖是簡化的UML順序圖方法從腳本中提取出事件,確定觸發(fā)每個事件的動作對象以及接受事件的目標對象畫出事件跟蹤圖上海大學計算機學院1032023/12/10確定事件…事件包括系統(tǒng)與用戶(或外部設備)交互的所有信號、輸入、輸出、中斷、動作等傳遞信息的對象的動作應該把對控制流產生相同效果的那些事件組合在一起作為一類事件,并給它們取唯一的名字儲戶插入現金兌換卡、儲戶輸入密碼、ATM吐出現金等吐出現金:現金金額不同上海大學計算機學院1042023/12/10…確定事件對控制流有不同影響的那些事件區(qū)分開來,不要組合在一起確定每類事件的發(fā)送對象和接受對象賬戶有效、賬戶無效、密碼錯ATM請儲戶插卡;儲戶插入現金兌換卡發(fā)送對象接受對象上海大學計算機學院1052023/12/10ATM系統(tǒng)正常情況腳本的事件跟蹤圖:儲戶:ATM:總行:分行插卡要求密碼輸入密碼驗證用戶帳戶有效驗證用戶帳戶有效要求事務類型輸入類型要求輸入取款額輸入取款額請求處理事務請求處理分行事務分行事務成功事務成功吐出現金請求拿走現金拿走現金請求繼續(xù)此事務結束印賬單退卡請求拿走卡拿走卡顯示主屏幕對象事件事件的發(fā)送對象時間向下遞增用戶類名事件的接受對象上海大學計算機學院1062023/12/10同步練習請畫出ATM系統(tǒng)異常情況腳本的事件跟蹤圖ATM請儲戶插卡;儲戶插入現金兌換卡。ATM讀卡上的分行代碼和卡號。ATM要求密碼;儲戶輸入“8888”。ATM請求總行驗證輸入的數字和密碼;總行在向有關分行咨詢之后拒絕這張卡。ATM顯示“密碼錯”,并請儲戶重新輸入密碼;儲戶輸入“1234”;ATM請總行驗證后知道這次輸入的密碼正確。ATM請儲戶選擇事務類型;儲戶選擇“取款”。ATM詢問取款額;儲戶改變主意,他敲“取消”鍵。ATM退出現金兌換卡;儲戶拿走他的卡。ATM請儲戶插卡。上海大學計算機學院1072023/12/10ATM系統(tǒng)異常情況腳本的事件跟蹤圖:儲戶:ATM:總行:分行帳戶無效插卡要求密碼輸入密碼驗證用戶驗證用戶帳戶無效取消請求拿走卡拿走卡顯示主屏幕要求重新輸入密碼顯示密碼錯要求事務類型輸入類型要求輸入取款額輸入密碼驗證用戶驗證用戶帳戶有效帳戶有效上海大學計算機學院1082023/12/10回憶:狀態(tài)圖的基本符號活動表事件名(參數表)/動作表達式事件:entry,exit和do事件表達式事件說明[守衛(wèi)條件]/動作表達式事件說明:事件名(參數表)???初態(tài)終態(tài)中間狀態(tài)上海大學計算機學院1092023/12/10舉例上海大學計算機學院1102023/12/10第3步:畫狀態(tài)圖…狀態(tài)圖:描繪對象的狀態(tài)、觸發(fā)狀態(tài)轉換的事件以及對象的行為每個類的動態(tài)行為用一張狀態(tài)圖來描繪針對事件跟蹤圖的類射入線狀態(tài)圖中的事件射出線狀態(tài)圖中的狀態(tài)的行為兩個事件之間的間隔就是一個狀態(tài)上海大學計算機學院1112023/12/10…畫狀態(tài)圖…do:要求密碼do:驗證帳戶輸入密碼插卡主屏do:顯示主屏儲戶ATM總行插卡要求密碼請求驗證帳戶輸入密碼射入線狀態(tài)圖中的事件射出線狀態(tài)圖中的狀態(tài)的行為上海大學計算機學院1122023/12/10…畫狀態(tài)圖…do:驗證帳戶do:要求類型do:要求金額do:處理事務:ATM:總行插卡要求密碼輸入密碼驗證用戶帳戶有效要求事務類型輸入類型要求輸入取款額輸入取款額請求處理事務事務成功吐出現金請求拿走現金拿走現金請求繼續(xù)此事務結束印賬單退卡請求拿走卡拿走卡顯示主屏幕do:要求密碼輸入密碼插卡主屏do:顯示主屏do:吐出現金do:請求繼續(xù)結束do:打印帳單退卡do:退卡帳戶有效輸入類型輸入金額事務成功拿走現金結束拿走卡上海大學計算機學院1132023/12/10…畫狀態(tài)圖腳本的分支點帳戶有效輸入類型輸入金額輸入密碼do:要求密碼do:驗證帳戶插卡主屏do:顯示主屏do:要求類型do:要求金額do:處理事務do:吐出現金do:請求繼續(xù)結束do:打印帳單退卡do:退卡事務成功拿走現金結束拿走卡密碼錯取消do:顯示取消信息取消上海大學計算機學院1142023/12/10從事件跟蹤圖出發(fā)畫狀態(tài)圖…考慮完正常事件之后再考慮邊界情況和特殊情況“超時”事件出錯處理上海大學計算機學院1152023/12/10…從事件跟蹤圖出發(fā)畫狀態(tài)圖當狀態(tài)圖覆蓋了所有腳本,包含了影響某類對象狀態(tài)的全部事件時,該類的狀態(tài)圖就構造出來了利用這張狀態(tài)圖可能會發(fā)現一些遺漏的情況上海大學計算機學院1162023/12/10ATM類的狀態(tài)圖ATM類的狀態(tài)圖do/顯示分行代碼錯分行代碼錯上海大學計算機學院1172023/12/10總行類狀態(tài)圖:ATM:總行:分行驗證用戶驗證用戶帳戶有效帳戶有效請求處理事務請求處理分行事務分行事務成功事務成功:ATM:總行:分行帳戶無效驗證用戶驗證用戶帳戶無效驗證用戶驗證用戶帳戶有效帳戶有效do/請求處理分行事務分行事務失敗分行事務成功do/驗證分行代碼驗證賬戶[代碼無效]do/請求分行驗卡[有效代碼]無效賬戶密碼錯賬戶有效上海大學計算機學院1182023/12/10分行類狀態(tài)圖:ATM:總行:分行驗證用戶驗證用戶帳戶有效帳戶有效請求處理事務請求處理分行事務分行事務成功事務成功do/更新賬戶請求處理分行事務[失敗][成功]do/驗證卡號請求分行驗卡[無效]do/驗證密碼[有效][錯][正確]上海大學計算機學院1192023/12/10第4步:審查動態(tài)模型各個類的狀態(tài)圖通過共享事件合并起來,構成了系統(tǒng)的動態(tài)模型在完成了每個具有重要交互行為的類的狀態(tài)圖之后,應該檢查系統(tǒng)級的完整性和一致性一般說來,每個事件都應該既有發(fā)送對象又有接受對象對于沒有前驅或沒有后繼的狀態(tài)應該著重審查,如果這個狀態(tài)既不是交互序列的起點也不是終點,則發(fā)現了一個錯誤上海大學計算機學院1202023/12/10示例總行中的“分行代碼錯”在ATM類的狀態(tài)圖中并沒有一個狀態(tài)接受這個事件在ATM類的狀態(tài)圖中補充一個狀態(tài)“do/顯示分行代碼錯信息”,后繼狀態(tài)為“退卡”上海大學計算機學院1212023/12/10思考題面向對象分析中的狀態(tài)圖和傳統(tǒng)方法需求分析階段的狀態(tài)轉換圖有什么不同?
電話系統(tǒng)的狀態(tài)圖上海大學計算機學院1222023/12/10同步練習一個文件對象File,其狀態(tài)為Opened(打開)和Closed(關閉)兩種狀態(tài)。事件create(創(chuàng)建文件)、open(打開文本)、close(關閉文件)、read(讀文件)、write(寫文件)和destroy(釋放對象)導致了File對象狀態(tài)的轉移。請用狀態(tài)圖將File對象的生命周期表示出來。
上海大學計算機學院1232023/12/10答案上海大學計算機學院1242023/12/10同步練習一個簡單的編輯器可被視為有限的狀態(tài)機,其狀態(tài)為
Empty(空)、Waitingforacommand(等待命令)和
Waitingfortext(等待文本)。事件
Loadfile(裝載文件)、Inserttext(插入文本)、Insertcharacter(插入字符)和
Saveandquit(保存并退出)導致了狀態(tài)機中的轉移。
上海大學計算機學院1252023/12/10答案EmptyWaitforacommandWaitfortextLoadfileInserttextInsertacharaterSaveandquit上海大學計算機學院1262023/12/10課外練習…牙科診所管理系統(tǒng)的需求陳述王大夫在小鎮(zhèn)上開了一家牙科診所。他有一個牙科助手、一個牙科保健員和一個接待員。王大夫需要一個軟件系統(tǒng)來管理預約。當病人打電話預約時,接待員將查閱預約登記表,如果病人申請的就診時間與已定下的預約時間沖突,則接待員建議一個就診時間以安排病人盡早得到診治。如果病人同意建議的就診時間,接待員將輸入約定時間和病人的名字。系統(tǒng)將核實病人的名字并提供記錄的病人數據,數據包括病人的病歷號等。在每次治療或清洗后,助手和保健員將標記相應的預約診治已經完成,如果必要的話會安排病人的下一個再來。上海大學計算機學院1272023/12/10…課外練習牙科診所管理系統(tǒng)的需求陳述請寫出牙科診所管理系統(tǒng)的腳本,并畫出其狀態(tài)圖系統(tǒng)能夠按病人姓名和按日期進行查詢,能夠顯示記錄的病人數據和預約信息。接待員可以取消預約,可以打印出前兩天預約尚未接診的病人清單。系統(tǒng)可以從病人記錄中獲知病人的電話號碼,接待員還可以打印出關于所有病人的每天和每周的工作安排。上海大學計算機學院1282023/12/10上機實驗5時間:第九周,5月8日(星期二),8:00-10:30地點:602,612內容:動態(tài)建模,畫狀態(tài)圖、序列圖步驟:1、教師演示例子2、附錄三,四、動態(tài)建模3、自己選定項目的狀態(tài)圖、序列圖要求:1、建模工具:RationalRose2、團隊操練形式,分工協作完成,第十周(5月15日)之前上交實驗階段性成果——狀態(tài)圖、序列圖上海大學計算機學院1292023/12/10課外閱讀:合作圖合作圖用于描述相互合作的對象間的交互關系和連接關系。用帶有消息串的消息來描述對象間的交互表示對象之間的關系組成、聚集、限定以及導航關系消息號發(fā)送的消息上海大學計算機學院1302023/12/10合作圖概述上海大學計算機學院1312023/12/10合作圖中的模型元素——對象上海大學計算機學院1322023/12/10合作圖中的模型元素——鏈接上海大學計算機學院1332023/12/10合作圖中的模型元素——消息上海大學計算機學院1342023/12/10應用:電路設計上海大學計算機學院1352023/12/10應用:統(tǒng)計銷售結果上海大學計算機學院1362023/12/10內容線索面向對象分析的基本過程需求陳述建立對象模型建立動態(tài)模型建立功能模型定義服務上海大學計算機學院13720
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版白酒銷售顧問銷售數據分析合同3篇
- 2025年度個人自用房產交易合同范本4篇
- 二零二五版建筑公司員工勞動合同范本3篇
- 一個簡短的自我介紹四篇
- 2024年中級經濟師考試題庫含答案(b卷)
- 擋墻及護坡施工方案
- 訓練音樂節(jié)奏課程設計
- 2025年度退休員工專業(yè)培訓與指導合同3篇
- 輸電線路防雷施工方案
- 二零二五版合伙購買二手房裝修及改造協議3篇
- 中小銀行上云趨勢研究分析報告
- 機電安裝工程安全培訓
- 洗浴部前臺收銀員崗位職責
- 2024年輔警考試公基常識300題(附解析)
- GB/T 43650-2024野生動物及其制品DNA物種鑒定技術規(guī)程
- 暴發(fā)性心肌炎查房
- 工程質保金返還審批單
- 【可行性報告】2023年電動自行車項目可行性研究分析報告
- 五月天歌詞全集
- 商品退換貨申請表模板
- 實習單位鑒定表(模板)
評論
0/150
提交評論