第12章 狀態機圖 12-1 狀態機圖的基礎 12-2 狀態機圖的符號 12-3 再談狀態與轉換 12-4 狀態機圖的塑模範例

Slides:



Advertisements
Similar presentations
办公室保健指南. 减少辐射篇 ❤显示器散发出的辐射多数不是来自它的正面,而是侧面和后面。因此,不要 把自己显示器的后面对着同事的后脑或者身体的侧面。 ❤常喝绿茶。茶叶中含有的茶多酚等活性物质,有助吸收放射性物质。 ❤尽量使用液晶显示器。
Advertisements

通知 作业:以你熟悉的(本地)非物质文 化遗产为例,说明其保护与管理现状 考试: 11 月 12 日晚 7 点,地点 、
教學與行政收費 E 化平台建置 總務處出納組 102/4/25. 前言 本校學雜、學分及招生報名費外之公 款繳納方式,由繳款人透過開立於中 信商銀 401 專戶辦理匯款 ( 金融機構或 ATM) 入帳,或親至出納組辦理。 為因應數位化及現代生活習慣,擬設 置繳費 E 化平台,同時收款通路將增 加全國四大超商、線上刷卡或網路.
月號 臺東林區管理處政風室 資訊安全維護 公務機密 在網路購買商品,應慎選有安全交易機制網站 非法影片 … 連結部落格 挨告侵權 駭客入侵境外商務網站 資安時事案例 烏龍露個資 – 洩密又挨告 村里可否設置村里民聯絡電話簿? 輕鬆學資安 資安動畫金像獎 資安小叮嚀 個人資料保護法 第一章.
1 97 年度新住民子女教育研討會 九十七年十月二十九日 柯伯儒 [1] 詹雅琄 [2] [1] [2] [1] [1] 國立台北教育大學課程與教學研究所博士生、 彰化縣二林鎮廣興國小主任 [2] [2] 國立台中教育大學課程與教學研究所研究生、 彰化縣二林鎮廣興國小教師 有效提升國小新住民子女 語文學習的策略.
語文教學分享心得 組員: B 蘇品綺 B 張慈真 B 陳怡君 B 蕭美玲 B 王雅萍 B 蔡佳珍.
魏 饴. 处级干部培训班讲座 一、卓越干部的德行素质  常修为政之德、常思贪欲之害、常怀律己之心!  孔老夫子有个观点 “ 为政以德,譬如北辰居其所而众星拱之。 ”  司马光《资治通鉴》 “ 才者,德之资也;德者,才之帅也。 ” “ 德 ” 胜 “ 才 ” 谓之 “ 君子 ” , “ 才 ”
青蘋果的代價 參考資料 : 國中性教育教學輔助媒體 (Power Point) 教師手冊. 影片欣賞 -- 愛的晚霞 單純的阿霞人生第一次的愛情,卻是帶來身心嚴重 的傷害,阿霞要如何面對感染愛滋後的生活 …
香港笼屋: 繁华光鲜的另一面 香港笼屋,笼屋俗称「床屋」,分 布在深水步等旧楼,居民一般是新 移民或者年长者,是一群老弱贫苦 的社会底层人士生活在罐头似的 「贫民窟」里,一张张床位被铁丝 网团团围住,犹如一个个笼子; 「笼子」里边除了床具外,还有各 种生活用品。这些住在「笼子」里 的人被形象地称为「笼民」。
環保 環保問題社會病態行為 從選購產品方面 家庭廢棄物的處理 住家的節約能源方面. 環保問題社會病態行為 社會功利主義過盛,疏忽善盡設備的責任; 缺乏惜福愛物的觀念,以自我為重心,任 意破壞使用資源; 「家」的觀念過度狹隘,只顧裝修生活的 表面,缺乏公同經營人類共有的家 — 地球 的概念; 無正確的理財觀念,而以金錢的謀取為目.
一、真愛密碼 二、尋求真愛 三、有自尊的愛. 。如果雙方對愛情產生 質疑、困惑時,則表示 彼此之間的愛情關係仍 有 待加強或釐清,千萬別 急著為自己的人生大事 下決定。 我是一個 16 歲的未婚媽媽,發現自 己懷孕時,已經五個月大了,我知 道自己沒能力照顧孩子,在驚訝之 於,大人們只好坦然接受,幫我找.
縮短公共工程工期之 招標決標策略及作法 行政院公共工程委員會 1. 簡報大綱 壹、前言 貳、招標決標策略及作法 参、適用案件類型 肆 、 結語 2.
大地遊戲王 課程實錄.
從小王子到東坡愛花到凡爾賽玫瑰 ˙第一節課:小王子和玫瑰及相關問題、續書 ˙第二節課:東坡詞中的花? ˙第三節課:凡爾賽玫瑰介紹
情緒管理與壓力調適 連廷嘉.
加強水銀體溫計稽查管制及回收 回收作業須知及緊急應變措施
中州技術學院附設專科進修學校 榮民榮眷就學服務.
相聲啦咧 課程設計者: 斗六國中 沈美慧老師.
金融商品與服務之基本模式 時間 資金投入 風險 金融商品與服務 資金產出 2. 金融商品與服務之基本模式 時間 資金投入 風險 金融商品與服務 資金產出 2.
我不在圖書館, 就是在 往圖書館的路上 圖書館館長 韓柏檉.
研究性学习课程实施策略 ——研究性学习36条建议
第4章 分錄及日記簿 4-1 借貸法則 4-2 日記簿的格式及記錄方法 4-3 分錄的意義及記錄方法 4-4 常見分錄題型分析
壹、相見歡 貳、成立班親會組織 參、導師報告 肆、臨時動議 伍、散會
307暑假作業 自選部份,各項的範例!.
哭泣的史瑞克.
金融产品认知 09会计3班 刘碧莲.
影片鉴赏.
第十三屆 Step.1 我們的目標 Step.2 我們的角色 Step.4 權利與義務 義務 權利 年繳會費五百元整
國立空中大學台南中心  註冊工作簡報.
如何培養優良的下一代 親子教育系列—讀書心得報告 講題二.
102學年度 第1學期 第十二屆 學生自治會期初大會.
财务管理.
初中思想品德知识培训 ————初四第二单元《关注国家的发展》.
——“手牵手——农村青少年阅读行动”全民读书活动的探索与思考
第10章 面向对象的设计方法 教学目的:了解面向对象设计的概念和方法 教学重点:理解面向对象的设计的基本原理,掌 握面向对象的设计方法。
导 论.
植物保护 课程整体设计 汇报 申报省级精品资源共享课建设 植物保护课程组.
大学生安全防范教育.
大学生安全防范教育 济宁职业技术学院 安全保卫处.
健康新路 第9课: 解决问题 大家好,很高兴我们又见面了,我们今天的课程题目是解决问题,本次课程在手册的45页。
《调酒与品酒》说课 说课人:陈基香.
政府扶持资金通览 技术改造篇.
商業概論 第一章 緒論 第一節 商業的意義.
第八單元 台灣當代舞團 林懷民與雲門舞集.
节日安全指导手册.
网点常规审计管理办法.
科教兴国 祖先烧过多少兴国的香火, 好儿孙有过多少兴国的求索。 昨天的兴衰震撼着今天的你和我 落后就要挨打的教训千万要记着。
2015年第一季度主题改善活动 车辆交付.
本科生医保资料的提交.
統計圖表的製作.
第12章 使用者介面塑模.
管理信息系统 第九章 面向对象的系统开发方法.
《结构力学认知实验》(授课形式)的上课时间改为: 5月5日(周二)晚上18:00~19:30和19:30~21:00,
《结构力学认知实验》(授课形式)的上课时间改为: 5月7日(周四)晚上18:30~20:00和20:00~21:30,
第13章 設計模型 13-1 再談物件導向設計 13-2 建立互動圖 13-3 建立狀態機圖 13-4 設計模型的類別圖
2019/4/26 值得您列入生涯規劃的 一個重要選項 參加國家考試 考選部國家考試宣導小組.
不願面對的真相 心得報告 報告人:廖文楠
畢業資格審查系統 操作步驟說明.
教學構想與目的 本課程設計是以大一學生為對象,課程內容以銜接高三國防科技概論課程作規劃,著重於武器原理與性能介紹,同時並以我國現役武器裝備及世界尖端武器為對象,期使同學對國家之國防現況具有正確認知,並對現代化武器能有更深刻之體認;並據此認知與體認,以增進其對國防之信心,啟發其未來投入國防科技研究之興趣。
新制退休實務計算說明- 現職人員退休範例說明
107年高三升學 宣導說明會 註冊組長 陳智弘 2018/5/10-5/11.
國立空中大學台南中心  註冊工作簡報.
霧台--魯凱族祕境.
河口生態系 紅樹林.
106 學年度新生入學說明會 國立臺灣海洋大學 教務處簡介
學士學位畢業論文說明 逢 學 大 甲 土 理 管 地 2009/10/05.
高雄市97年度國民小學閱讀計畫創新教學-教案達人創新教學方案
網路智慧財產權 著作權法.
106學年度四技二專技優甄審入學報名說明 1 1.
資格審查登錄系統-首次登入設定通行碼 若考生先前已於「繳費身分審查系統」設定過通行碼,則無須再行設定,直接登入系統即可.
Presentation transcript:

第12章 狀態機圖 12-1 狀態機圖的基礎 12-2 狀態機圖的符號 12-3 再談狀態與轉換 12-4 狀態機圖的塑模範例 12-5 繪製狀態機圖 12-6 綜合練習

12-1 狀態機圖的基礎-說明 UML活動圖和狀態機圖(State Machine Diagrams)都可以描述系統物件的動態行為,不過,活動圖是描述物件行為的流程;狀態機圖則是描述單一物件行為的狀態,也就是物件生命周期之中觸發事件造成的狀態轉換。 狀態機圖可以呈現4+1觀點軟體系統模型的邏輯觀點,如下圖所示:

12-1 狀態機圖的基礎-種類 行為狀態機(Behavioral State Machines):使用狀態、事件和轉換來描述單一物件的行為。 協定狀態機(Protocol State Machines):描述一系列觸發事件和物件回應的狀態,但沒有顯示狀態轉換的行為,換句話說,協定狀態機不包含任何行為實作的內容,而只是描述事件和回應狀態的合法順序,例如:資料庫存取介面物件和通訊協定TCP/IP。

12-1 狀態機圖的基礎-目的 一般來說,我們使用狀態機圖的主要目的,如下所示: 塑模系統的動態行為。 描述一個物件生命周期中的不同狀態。 定義狀態機圖來塑模一個物件的狀態。

12-2 狀態機圖的符號 12-2-1 狀態 12-2-2 轉換

12-2 狀態機圖的符號 描述登入(Login)物件輸入使用者帳號和密碼登入系統的狀態機圖,如右圖所示:

12-2-1 狀態-簡單狀態 狀態(States)也稱為簡單狀態(Simple State),它是指物件在其生命周期中處於特殊立場或滿足一些條件,可以執行指定動作或等待一些事件,隨著時間的改變,物件的狀態也會跟著轉變。 狀態可以決定物件如何回應事件,也就是說,從一個狀態,在觸發事件後,轉換至另一個狀態,它是使用圓角長方形來表示,內容是唯一的狀態名稱,如下圖所示:

12-2-1 狀態-起始虛擬狀態與終止狀態 狀態機圖使用和活動圖相同的起始與終止符號代表起始和終止狀態,不過,狀態機圖的起始狀態稱為起始虛擬狀態(Initial Pseudostate),可以表示從一個虛擬的起始狀態轉換至一個真實狀態,簡單的說,起始虛擬狀態表示一連串狀態轉變的開始,如下圖所示:

12-2-2 轉換-說明 轉換(Transitions)是兩個狀態之間的關係(Relationship),它是使用箭頭連接線來連接兩個狀態,表示從來源狀態因觸發轉換至目的狀態,如下圖所示:

12-2-2 轉換-語法 在轉換連接線上方可以標示轉換原因的觸發、條件和動作(如果不只一個,請使用「,」分隔),其基本語法如下所示: 觸發[防衛條件]/動作 上述語法的觸發(Trigger)是轉換原因,可能是事件(Event)或訊號(Signal),之後的方括號是防衛條件,如果有防衛條件,表示當條件為真true時,才允許狀態轉換,在「/」斜線後是動作,如果有,表示我們需要執行動作來完成狀態轉換。

12-2-2 轉換-語法(觸發) 觸發就是狀態轉換原因的事件,當連接線上標示觸發,表示當此事件發生時,就從來源狀態轉換至目的狀態。事件是在某一時間點發生的事,可以是呼叫物件的方法、滿足布林運算式、時間條件(after 30秒)或訊號等。 例如:在本節前狀態機圖的移動滑鼠(Move)、送出(Submit)、重試(Retry)和取消(Cancel)等事件。

12-2-2 轉換-語法(防衛條件) 防衛條件是狀態轉換的條件,當觸發產生時,還需要防衛條件為真true,才執行狀態轉換。

12-2-2 轉換-語法(動作) 動作是在觸發產生且防衛條件為真true時,就執行此動作來完成狀態轉換,換句話說,我們需要執行完動作,才會進入轉換的目的狀態。

12-3 再談狀態與轉換 12-3-1 內部轉換 12-3-2 狀態轉換的種類 12-3-3 自身轉換 12-3-4 虛擬狀態 12-3-5 訊號 12-3-6 組合狀態

12-3-1 內部轉換-說明 內部轉換(Internal Transitions)是顯示在狀態中的轉換,因為並不會轉換其目前的狀態,所以沒有使用連接線來表示狀態改變,例如:在輸入密碼狀態中,按下按鍵是一個事件,但此事件不會導至轉換輸入密碼狀態,我們可以使用內部轉換keypress來進一步描述狀態的內容。

12-3-1 內部轉換-符號 內部轉換是顯示在狀態圓角長方形的下半部分,如下圖所示:

12-3-1 內部轉換-語法 內部轉換的基本語法,如下所示: 動作名稱/行為 上述語法的動作名稱是發生的內部事件,當產生此事件後,執行位在「/」斜線之後的行為。在狀態機圖的內部轉換有幾種標準動作,其說明如下所示: Entry(進入):進入狀態後第一件發生的事,可以觸發此動作指定的行為,以輸入密碼狀態為例就是「設定回應字元為「*」號且重設密碼欄位」。 Exit(離開):離開狀態最後一件發生的事,以輸入密碼狀態為例就是「設定回應字元為正常」。 Do(做):在狀態存在時所做的事,例如:輸入密碼狀態是在取得密碼,和播放DVD的播放狀態是在讀取DVD等。

12-3-2 狀態轉換的種類- 說明 在狀態機圖執行狀態轉換時,因為轉換條件有觸發和防衛條件,所以筆者準備使用播放DVD的狀態機圖為例,說明各種不同組合下的狀態轉換,如下圖所示:

12-3-2 狀態轉換的種類- 沒有觸發和沒有防衛條件的轉換 轉換如果沒有指定觸發和防衛條件,當來源狀態的內部轉換完成後,就會立刻轉換至目的狀態,例如:在播放狀態播完DVD後,就轉換至停止狀態,如下圖所示:

12-3-2 狀態轉換的種類- 只有觸發的轉換 轉換如果有指定觸發但沒有指定防衛條件,當觸發產生時,就馬上執行狀態轉換,例如:在暫停狀態按播放鍵,可以轉換至播放狀態,如右圖所示:

12-3-2 狀態轉換的種類- 只有防衛條件的轉換 轉換可以只使用防衛條件來作選擇,當防衛條件為真true時,就執行狀態轉換。在第12-3-3節的狀態機圖片斷就是只有防衝條件的轉換。

12-3-2 狀態轉換的種類- 同時有觸發和防衛條件的轉換 轉換如果有指定觸發和防衛條件,當觸發產生時,需要滿足防衛條件,才會執行狀態轉換,例如:在停止狀態按播放鍵,而且必須已經置入DVD後,才會轉換至播放狀態,如下圖所示:

12-3-3 自身轉換 自身轉換(Self-Transitions)是指擁有轉換至自己本身的轉換,例如:自動換片CD播放機的播放狀態就擁有自身轉換,如下圖所示:

12-3-4 虛擬狀態-說明 虛擬狀態(Pseudostates)除了狀態機圖的起始虛擬狀態外,還提供多種虛擬狀態,可以讓我們連接多個轉換、使用條件決定轉換和平行處理多個轉換。

12-3-4 虛擬狀態-連接虛擬狀態 連接虛擬狀態(Junction Pseudostate)是用來連接多個轉換,其符號和起始狀態相同,我們可以使用連接虛擬狀態來合併多個狀態,換句話說,連接虛擬狀態可以有1到多個進入轉換,但只有1個離開轉換。例如:從圖書館借一本書的狀態機圖,如下圖所示:

12-3-4 虛擬狀態-選擇虛擬狀態 選擇虛擬狀態(Choice Pseudostate)可以使用布林條件判斷執行的轉換,使用活動圖的決策節點,在選擇虛擬狀態的每一條離開轉換加上防衛條件來判斷下一步的轉換,和連接虛擬狀態的差異在於只顯示分歧而沒有合併情況,例如:修改第12-3-3節自動換片CD播放機,如下圖所示:

12-3-4 虛擬狀態-終止虛擬狀態 終止虛擬狀態(Terminate Pseudostate)隱含狀態機的物件生命已經結束,它是使用大X符號表示,換句話說,進入終止虛擬狀態如同執行消滅物件的操作,如下圖所示:

12-3-5 訊號-說明 訊號(Signal)可以非同步在物件之間傳遞,當狀態機圖需要強調轉換和轉換行為時,觸發可以使用接收訊號和送出訊號來驅動轉換,如下所示: 送出訊號(Sending Signal):代表非同步傳送一個送出訊號的動作,擁有一個進入轉換和一個離開轉換。 接收訊號(Receipt Signal):代表一種沒有內部轉換的狀態,表示接收到一個訊息來導致離開轉換的產生。

12-3-5 訊號-範例1 狀態機圖是使用和活動圖相同的訊號符號,例如:在銀行帳戶提款,如果餘額不足,就送出訊號來處理帳戶餘額不足,如下圖所示:

12-3-5 訊號-範例2 在另一個狀態機圖的片斷可以接收訊號來進行處理,如下圖所示:

12-3-6 組合狀態-說明 組合狀態(Composite State)是用來擴充狀態元素,可以在同一個狀態中擁有一至多個狀態機,也稱為巢狀狀態機。當組合狀態同時擁有多個狀態機,而且每一個狀態機是位在不同區域(Region),區域之間使用虛線分隔,則每一個區域的狀態機稱為子狀態(Substates)。

12-3-6 組合狀態-簡單組合狀態 簡單組合狀態只包含一個區域的組合狀態,通常是因為狀態太過複雜,我們需要在狀態中使用子狀態來表示,例如:撥打室內電話的狀態機圖,如下圖所示:

12-3-6 組合狀態-進入點 進入點(Entry Point)是一種虛擬狀態,它是進入組合狀態的進入點,在組合狀態的每一個區域只允許一個進入點。一般來說,當沒有使用起始虛擬狀態進入子狀態時,我們可以使用進入點來轉換至子狀態,如下圖所示:

12-3-6 組合狀態-離開點 離開點(Exit Point)類似進入點也是一個虛擬狀態,可以代替終止狀態來離開組合狀態,通常都是因為錯誤產生,所以使用離開點來離開組合狀態,如下圖所示:

12-4 狀態機圖的塑模範例 12-4-1 客戶追蹤的狀態機圖 12-4-2 ATM提款的狀態機圖 12-4-3 訂單的狀態機圖

12-4-1 客戶追蹤的狀態機圖-問題描述 客戶追蹤是在記錄目前公司客戶的狀態,以便從眾多客戶中找出有價值的優良客戶,其問題描述如下所示: 公司客戶在登記後,但未下訂單前,其狀態是登記狀態,等到客戶第一次下訂單,其狀態改為有交易狀態,如果在半年之內消費一萬元,就是優良客戶,其狀態是優良狀態,但是,如果客戶付款有延遲,就會改為觀察狀態,優良客戶如果退貨2次,就會改為有交易客戶。

12-4-1 客戶追蹤的狀態機圖-步驟一 Step 1:從起始虛擬狀態開始,公司在輸入客戶資料後,預設狀態是登記狀態,如下圖所示:

12-4-1 客戶追蹤的狀態機圖-步驟二 Step 2:當客戶第一次下訂單且成功建立訂單後,產生下訂單事件,客戶狀態轉換至有交易狀態,如右圖所示:

12-4-1 客戶追蹤的狀態機圖-步驟三 Step 3:客戶訂單如果延遲付款,就觸發轉換至觀察狀態,這些客戶是需要特別注意的客戶,如下圖所示:

12-4-1 客戶追蹤的狀態機圖-步驟四 Step 4:如果客戶在半年內交易超過一萬元,就轉換至優良狀態的客戶,這些是公司最有價值的客戶,如右圖所示:

12-4-1 客戶追蹤的狀態機圖-步驟五 Step 5:優良客戶的訂單如果延遲付款,也會轉換至觀察狀態;如果退貨超過2次,就會轉換至有交易狀態,如右圖所示:

12-4-2 ATM提款的狀態機圖-可能狀態 當使用者在ATM自動櫃員機操作提款作業流程的活動圖,請參閱第7-2-4節,以ATM角度(不是使用者角度)可能產生的一些狀態,即ATM物件的可能狀態,如下所示: 卡片進入 取得密碼 歸還卡片 確認密碼 取得金額 送出款項

12-4-2 ATM提款的狀態機圖-狀態機圖

12-4-3 訂單的狀態機圖-問題描述 訂單狀態機圖是針對訂單Order物件建立狀態轉換的狀態機圖,其問題描述如下所示: 訂單在建立但尚未付款前是位在已收到狀態,等到收到付款後,就轉換至已確認狀態,訂單如果取消就進入已取消狀態,否則包裝進入已裝箱狀態和準備送貨,在送貨後轉換至已送貨狀態,不論是取消或完成送貨的訂單都需要在一個月內歸檔。

12-4-3 訂單的狀態機圖-狀態機圖

12-5 繪製狀態機圖 12-5-1 繪製狀態與轉換 12-5-2 繪製內部轉換 12-5-3 繪製組合狀態

12-5-1 繪製狀態與轉換-新增狀態 在「工具箱」視窗拖拉【起始虛擬狀態】、【狀態】或【終止狀態】至編輯區域後,即可新增狀態和輸入狀態名稱,如下圖所示:

12-5-1 繪製狀態與轉換-新增轉換 在狀態機圖的狀態之間建立連接線就是【邊線/轉換】,請在「工具箱」視窗選【邊線/轉換】,然後在來源狀態上按一下,拖拉至目的狀態上,放開滑鼠按鍵,可以建立轉換之間的箭頭連接線,如下圖所示:

12-5-1 繪製狀態與轉換- 在轉換上輸入轉換原因的觸發、防衛條件和動作 選轉換,然後移動滑鼠游標至連接線上方,可以看到一個長方形淺藍色長方形,按二下可以直接輸入轉換原因的觸發、防衛條件和動作,事實上,我們就是在指定轉換名稱,如下圖所示:

12-5-2 繪製內部轉換 狀態的內部轉換是在「屬性」視窗的【狀態】標籤建立,如下圖所示:

12-5-3 繪製組合狀態 在「工具箱」視窗拖拉【組合狀態】至編輯區域後,即可新增組合狀態,和輸入組合狀態名稱,目前它和前述的簡單狀態並沒有什麼不同,如下圖所示:

12-6 綜合練習-租片物件的狀態機圖

12-6 綜合練習-購物訂單物件的狀態機圖

12-6 綜合練習-課程物件的狀態機圖

End