วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec09 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams State Diagrams Activity Diagram Last.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
E-COMMERCE WEBSITE Smartzap Co., Ltd.. Company Profile บริษัท สมาร์ทแซป จำกัด ก่อตั้งเมื่อปี 2543 (13 ปี ) ในช่วงยุค Internet เพิ่ง เริ่มต้น เป็นบริษัทที่ดำเนินงานทางด้าน.
Advertisements

Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Probabilistic Robotics
คำสั่ง DISPLAY รูปแบบที่ 1 DISPLAY identifier-1, identifier-2 … literal-1 literal-2 [ UPON mnemonic-name ]  ตัวอย่าง DISPLAY STUDENT-NAME. DISPLAY.
1 C Programming An Introduction. 2 Preprocessing Directives เขียนได้ 2 รูปแบบ #include คอมไพเลอร์จะทำ การค้นหาเฮดเดอร์ไฟล์ที่ระบุ จากไดเร็คทอรีที่ใช้
Arithmetic Verb Template. ADD MOVE ZERO TO NO. ADD 1 TO NO. 0 1.
INC 551 Artificial Intelligence Lecture 2. Review Environment Action Sense, Perceive Make Decision Agent World Model Deliberative Agent.
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
Educational Objectives
Supreeya Wongtra-ngan,MD.,MHPEd. CLINICAL COMPETENCIES  Factual Knowledge  Technical Skill  Problem Solving Skill  Communication Skill  Manners &
Chapter 9 : Designing Approach
Graphical User Interface charturong.ee.engr.tu.ac.th/CN208
Penetration Testing – A Case Study of Khon Kaen University Networks
Braille OCR Mobile Application
นายรังสฤษดิ์ตั้งคณา รหัส นายวสันต์ ชานุชิต รหัส อาจารย์ที่ปรึกษาโครงการ ผศ. ดร. ดารณี หอมดี อาจารย์ที่ปรึกษาโครงการร่วม ดร. วาธิส.
VARIABLES, EXPRESSION and STATEMENTS. Values and Data Types Value เป็นสิ่งพื้นฐาน มีลักษณะเป็น ตัวอักษร หรือ ตัวเลข อาทิ 2+2 หรือ “Hello world” Value.
Data Structures and Algorithms
ระบบการจัดเก็บในคลังสินค้า
ออโตมาตาจำกัด FINITE AUTOMATA
FINITE STATE AUTOMATA WITH OUTPUT
REGULAR EXPRESSION การบรรยายแบบสม่ำเสมอ
บทที่ 3. ขั้นตอนการพัฒนาซอฟต์แวร์
Inductive, Deductive Reasoning ผศ.( พิเศษ ) น. พ. นภดล สุชาติ พ. บ. M.P.H.
Course Software Engineering SE Overview and Introduction.
Object-Oriented Analysis and Design
Computer Graphics.
คำสั่ง READ รูปแบบ READ file-name RECORD [INTO identifier] [AT END imperative- statement] ตัวอย่าง READ STUDENT-FILE AT END GO TO END-PROCESS. READ CUSTOMER-FILE.
INC 637 Artificial Intelligence Lecture 13 Reinforcement Learning (RL) (continue)
INC341 Steady State Error Lecture 6.
MK380 Marketing Information System
Burapha University, 2003 Object-Oriented Analysis and Design Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams Seree Chinodom.
Strategic Brand Communication Campaigns
CSE323 การวิเคราะห์และออกแบบระบบ (Systems Analysis and Design)
วันศุกร์ที่ 23 มีนาคม 2550 เวลา น. ณ ห้องประชุมมาสุข.
Create the Knowledge Management Blueprint
Dynamic Link Library (DLL)
แบบฝึกหัดก่อนเรียน ให้นักศึกษาเขียนแผนภาพ Context Diagram จาก
Menu and Interactive with Powerpoint ให้นำเรื่อง Input /Output Technology มา จัดทำ การนำเสนอ โดยใช้หลักการ Menu and Interactive with powerpoint มาประยุกต์
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
วิธีการ Auto ship.
Lecture on Grading. Instructor: Ajarn Neill Grant Office: Room Course Website: (NO
iWaLL โดย 1. นายวีกิจ สัจจะมโนรมย์
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
The ServerSocket Class ใช้ในการจัดทำเครื่องที่เป็นการบริการ ใช้ในการจัดทำเครื่องที่เป็นการบริการ โดยจะมี ช่วงชีวิตดังนี้ โดยจะมี ช่วงชีวิตดังนี้
1-1: Software Project Management การจัดการโครงงานซอฟต์แวร์ Software Project Management การจัดการโครงงานซอฟต์แวร์ ความหมายการจัดการโครงงาน.
วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec10 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams State Diagrams Activity Diagram Last.
Java Array And String โดย อ. นัฐพงศ์ ส่งเนียม
Nattapong Songneam BankAccount – Example Nattapong Songneam
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
เอกสารเรียนวันที่ 27 มกราคม 2555
เอกสารเรียนวันที่ 7 กันยายน 2555
Chapter 3 Simple Supervised learning
21 August ดรุณี ศมาวรรตกุล 1 2. ADT List - Unsorted list ADT - list implementation - Sorted List - Circular list - Doubly linked list.
Double loop learning Jirawit Yanchinda.
Object Oriented Technology
 Mr.Nitirat Tanthavech.  HTML forms are used to pass data to a server.  A form can contain input elements like text fields, checkboxes, radio-buttons,
Modeling and Activity Diagram
State Diagram Wattanapong suttapak, Software Engineering,
Timed Math Quiz. โปรแกรมสุ่มคำนวณเลขแข่งกับ เวลา.
การวิเคราะห์ซอฟต์แวร์
การออกแบบระบบ System Design.
Object-Oriented Analysis and Design
Kapi’olani Community College
Integrated Mathematics
<insert problem title>
Forces and Laws of Motion

Lesson 7-6: Function Operations
Description of Training
ใบสำเนางานนำเสนอ:

วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec09 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams State Diagrams Activity Diagram Last Updated :: 17/04/2551 Mr. Nattapong Songneam xnattapong@hotmail.com http://www.siam2dev.com

Lecture Outline Behavioral Diagrams State-Transition Diagram Activity Diagram

UML has 9 kinds of diagrams Class Diagram Object Diagram Component Diagram Deployment Diagram Use Case Diagram Sequence Diagram Collaboration Diagram StateTransition Diagram Activity Diagram Structural Diagrams Behavioral Diagrams

Behavioral Diagrams Behavioral Diagrams เป็นโครงสร้างแบบ dynamic Sequence Diagram Collaboration Diagram State-transition Diagram Activity Diagram Interaction Diagrams

A State-Transition Diagram Initialization Open entry: Register student exit: Increment count Closed Canceled do: Initialize course do: Finalize course do: Notify registered students Add Student / Set count = 0 Add student[ count < 10 ] [ count = 10 ] Cancel

An Activity Diagram Show MessageBox “Printing” on Screen Create postscript file Send postscript file to printer Remove displayer sampler Swimlane Example Ordinary Example

State Diagram

State diagram แสดงพฤติกรรมของวัตถุใดๆ วัตถุหนึ่งที่สร้างขึ้นจากคลาส แสดงสถานะ (states) ทั้งหมดที่เป็นไปได้ของวัตถุ แสดงการเปลี่ยนแปลงสถานะของวัตถุ ที่เป็นผลจาก message ที่วัตถุนั้นได้รับ ชื่ออื่นๆ ของ State Diagram ได้แก่ State transition diagram Harel diagram (statecharts)

Object states สถานะ (State) = ชุดของค่าที่ บ่งบอกถึง วัตถุ (รวมทั้ง condition และ situation ของวัตถุ) ที่เวลาใดเวลาหนึ่ง สถานะถูกกำหนดโดยค่าของ attribute ในวัตถุ overdrafted Account balance : Float states ok

State changes (1) สถานะอาจเปลี่ยนแปลง เมื่อมีเหตุการณ์ (event) เกิดขึ้นกับวัตถุ State transition หมายถึงความสัมพันธ์ที่ระบุการเปลี่ยนแปลงของสถานะ overdrafted withdraw(sum) deposit(sum) ok

State changes (2) เหตุการณ์ (Events) หมายถึง Message หรือ signal ที่วัตถุได้รับ Events อาจจะทำให้สถานะของวัตถุเปลี่ยนแปลง หรือไม่ก็ได้ Self-transition overdrafted ok deposit withdraw

State diagram notation (1) entry / entry-action เมื่อเข้ามายัง State นี้ให้ทำ entry-action do / activity-action หลังจากเข้ามายัง State นี้แล้ว หากไม่มีเงื่อนไขอื่นใดให้ทำ activity-action exit / exit-action ขณะที่จะออกจาก State นี้ ให้ทำ activity-action conditon / condition-action ขณะที่อยู่ภายใน State นี้ ให้ทำ condition-action ตามเงื่อนไขที่กำหนด State name entry / entry-action condition /conditiont-action exit / exit-action do / activity-A event1(a:T)[exp]: action1 state variable(s) eventn(a:T)[exp]: actionn …

State diagram notation (2) State-A State-B Event(arguments) [condition]/action Event หมายถึง เหตุการณ์ที่เกิดขึ้นใน time และ space ก่อให้เกิด (trigger) การเปลี่ยนสถานะ (transition) อาจเป็น signals, calls, ช่วงเวลา หรือ การเปลี่ยนสถานะ Condition Transition อาจเกิดขึ้นเมื่อ condition เป็นจริงเท่านั้น Action หมายถึง กระบวนการที่เกิดขึ้นโดยอย่างรวดเร็ว โดยไม่ถูกขัดจังหวะ

State diagram notation (3) Event(attribute) Initial state State-B Start State End State Start state ไม่มี event triggers อาจมี branch conditions อาจเปลี่ยนสถานะจาก start states End state สิ้นสุด state machine

Example : State transitions for an invoice Unpaid Paid Destroyed Created

Example : State transitions for an order Checking do : check item Dispatching do : initiate delivery Waiting Delivered / get first item Item received [someitems not in stock ] Item received [ all items available] [ All items checked && some items not in stock] [ All items checked && all items availables ] [ not all items checked ] / get next item

Transitions to “cancelled” Dispatching do: initiate delivery Waiting Delivered Item received [ some items not in stock ] Item received [ all items available ] Cancelled Checking do: check item [ not all items checked ] / get next item / get first item [ All items checked && some items not in stock ] [ All items checked && all cancelled

State diagram notation (4) Superstate Event A State-A State-B State-B Event C Event B Composite state: Sequential substates

Superstate / Substates Active [ not all items checked ] / get next item Item received [someitems not in stock ] [ All items checked && some items not in stock] / get first item Checking cancelled Waiting do : check item Cancelled [ All items checked && all items availables ] There are also concurrent substates Item received [ all items available] Delivered Dispatching Delivered do : initiate delivery

Exercises ให้สร้าง State diagram สำหรับ an elevator a soccer game an ATM a mobile phone …

Activity Diagram

Activity diagram ใช้สำหรับอธิบาย Activities Similar to Petri nets กระแสการไหลของการทำงาน (workflow) การประมวลผลแบบขนาน (parallel processing) Activities conceptual: task to be done specification/implementation: method of a class Similar to Petri nets

Structure of activity diagrams Synchronization bar: outbound triggers: activities can be carried out in parallel (any order) default: outbound triggers occur when all incoming triggers occurred (i.e. all predecessors finished) Activity diagram shows partial order of activities Concurrent fork Activity Synchronization Bar Activity Activity [synchronization condition] Concurrent join Activity

Example of activity diagrams The Coffee Pot

Activity diagram Find coffee Put coffee Add water in filter to reservoir Put filter in machine Turn on machine

Conditions in activity diagrams Find coffee Sequential branch unguarded transition Put coffee Check water in filter in reservoir [not enough water] Put water in the reservoir Put filter in machine [else] [filter with coffee in machine and reservoir contains water] Turn on machine

Structure of activity diagrams [condition 1] Activity Guard expression Branch Activity [condition 2] Activity Activity Strictly UML: forks  joins branch  merge No synchronization condition [synchronization condition] Activity

Swimlanes Identify responsibilities Customer Sales Warehouse Request product Identify responsibilities Example: Modeling workflows for business units Process order Pull material Ship order

Customer Sales Warehouse Request product Process Order Pull Material Continue Work Ship Order Recieve Order Bill Customer Pay Bill Close Order

o:Order [in progress] o:Order [filled] b:Bill [unpaid] b:Bill [paid] Warehouse Customer Sales Request product Process Order Pull Material Continue Work o:Order [in progress] Ship Order o:Order [filled] Recieve Order Bill Customer b:Bill [unpaid] Pay Bill b:Bill [paid] Close Order

Summary Software Modeling Require and Domain Analysis Model Design Model Brief Overview of Unified Modeling Language (UML) Use Case Model