Object Oriented Technology

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.
หลักการและแนวคิดการนำ สื่ออิเล็กทรอนิกส์ มาใช้ใน การเรียนการสอน ผศ. นพ. ทรงพล ศรีสุโข 30 ก. ย
คำสั่ง 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.
PROFESSIONAL ANDROID™ 2 APPLICATION DEVELOPMENT นำเสนอโดย นางณพัชร์วดี แสงบุญนำ หงษ์ทอง อาจารย์ประจำคณะ เทคโนโลยีสารสนเทศ 1.
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
Educational Objectives
Chapter 8 : Logic Modeling & Data Modeling
Chapter 9 : Designing Approach
Graphical User Interface charturong.ee.engr.tu.ac.th/CN208
Braille OCR Mobile Application
Basic programming (JAVA)
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
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
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.
Burapha University, 2003 Object-Oriented Analysis and Design Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams Seree Chinodom.
Stored Procedure.
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 7 การทดสอบโปรแกรม
CSE323 การวิเคราะห์และออกแบบระบบ (Systems Analysis and Design)
Create the Knowledge Management Blueprint
Dynamic Link Library (DLL)
July Lecture Side Lecture by Suradet Tantrairatn Lecturer and Researcher Chapter Four June 2010 Definitions, Goals, and Objective.
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ ผศ. บุรินทร์ รุจจน พันธุ์.. ปรับปรุง 19 ตุลาคม 2555 Introduction to Batch.
แบบฝึกหัดก่อนเรียน ให้นักศึกษาเขียนแผนภาพ Context Diagram จาก
Menu and Interactive with Powerpoint ให้นำเรื่อง Input /Output Technology มา จัดทำ การนำเสนอ โดยใช้หลักการ Menu and Interactive with powerpoint มาประยุกต์
ตัวแปรในภาษา GML ง การสร้างเกม คอมพิวเตอร์.
วิธีการ Auto ship.
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
1-1: Software Project Management การจัดการโครงงานซอฟต์แวร์ Software Project Management การจัดการโครงงานซอฟต์แวร์ ความหมายการจัดการโครงงาน.
วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec09 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams State Diagrams Activity Diagram Last.
วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec10 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams State Diagrams Activity Diagram Last.
Nattapong Songneam BankAccount – Example Nattapong Songneam
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
วันที่ 3 กรกฎาคม 2555 Forecasting technique การพยากรณ์
Chapter 3 Simple Supervised learning
Control Statements.
21 August ดรุณี ศมาวรรตกุล 1 2. ADT List - Unsorted list ADT - list implementation - Sorted List - Circular list - Doubly linked list.
Java Array and String Jarungjit Parnjai
Object-Oriented Programming with Java Burapha University, 2001 Java Array and String Week #3 Jarungjit Parnjai.
Object-Oriented Programming with Java Burapha University, 2001 Java Exceptions Week #9 Jarungjit Parnjai.
Burapha University, 2001 Object-Oriented Analysis and Design Design Patterns Iterator Week #11 Jarungjit Parnjai.
Lecture 3 ฟอร์ม, คอนโทรล. Initial Visual Basic Screen.
 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
Unified Modeling Language
State Diagram Wattanapong suttapak, Software Engineering,
การออกแบบส่วนต่อประสาน
Microsoft Visual Basic 2010
การวิเคราะห์ซอฟต์แวร์
การออกแบบระบบ System Design.
การเขียนโปรแกรมคอมพิวเตอร์
Object-Oriented Analysis and Design
Kapi’olani Community College
Use Case Diagram ระบบเบิก-รับเวชภัณฑ์
Forces and Laws of Motion
Workday Merit Process - Approvers
Lesson 7-6: Function Operations
ใบสำเนางานนำเสนอ:

Object Oriented Technology Behavioral Modeling with UML Behavioral Modeling State Transition Diagram Week #6 Jarungjit Parnjai

State-Transition Diagram Object-Oriented Technology Lecture Outline Behavioral Diagrams State-Transition Diagram

UML has 9 kinds of diagrams Object-Oriented Technology 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 เป็นโครงสร้างแบบ dynamic 4 diagrams ได้แก่ Object-Oriented Technology Behavioral Diagrams Behavioral Diagrams เป็นโครงสร้างแบบ dynamic 4 diagrams ได้แก่ Sequence Diagram Collaboration Diagram State-transition Diagram Activity Diagram c Interaction Diagrams

A State-Transition Diagram Object-Oriented Technology 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 Object-Oriented Technology An Activity Diagram Show MessageBox “Printing” on Screen Create postscript file Send postscript file to printer Remove displayer sampler Swimlane Example Ordinary Example

Object-Oriented Technology State Diagram

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

ตัวอย่างการเปลี่ยนแปลงสถานภาพ (State Transition) Object-Oriented Technology State Transition ตัวอย่างการเปลี่ยนแปลงสถานภาพ (State Transition) เมื่อกดสวิทซ์ไฟ หลอดไฟฟ้าจะเปลี่ยนสถานะจาก “มืด” ไปเป็น” สว่าง” เมื่อกดปุ่มวางสายโทรศัพท์ โทรศัพท์จะเปลี่ยนสถานะจาก “กำลังโทร” ไปเป็น “วางสาย” เมื่อถอนเงินเกินยอดบัญชีคงเหลือ สถานะของบัญชี จะเปลี่ยนสถานะจาก “ปกติ” ไปเป็น “เบิกเกินบัญชี” เมื่อเวลาผ่านไประยะหนึ่ง เครื่องซักผ้า จะเปลี่ยนสถานะจาก “ซักน้ำ” ไปเป็น “ปั่นแห้ง”

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

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

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

Component of State diagram Object-Oriented Technology Component of State diagram องค์ประกอบของ State Diagram จุดเริ่มต้น /จุดสิ้นสุด สถานะต่างๆ (States) เส้นแสดงการเปลี่ยนสถานะ (Transition Line) เหตุการณ์ (Event) และ/หรือ เงื่อนไข (condition) State-A State-B Event หรือ condition

State diagram notation (1) Object-Oriented Technology 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) Object-Oriented Technology 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) Object-Oriented Technology State diagram notation (3) Event(attribute) Initial state State-B Start State End State Start state ไม่มี event ใดที่ก่อให้เกิดการเปลี่ยนสถานะสู่ start state อาจมี branch conditions End state สิ้นสุด state machine

Example : State transitions for GUI Object-Oriented Technology Example : State transitions for GUI Initializing Working Select Shut Down Turn PC on Shutting Down

Object-Oriented Technology Triggering an Event การกระตุ้นให้เกิดการเปลี่ยนแปลงสถานภาพ (Triggering an Event) และ การเปลี่ยนแปลงสถานภาพ โดยไม่มีเหตุการณ์เข้าไปกระตุ้น (Triggerless Event) Initializing Working Select Shut Down Turn PC On do : startup Shutting Down

Object-Oriented Technology Guard Condition การเปลี่ยนแปลงสถานภาพด้วยเงื่อนไขทางตรรกะ ทำได้โดยอาศัย Guard Condition Guard Condition หมายถึง ลักษณะการกำหนดเงื่อนไขทางตรรกะบางอย่าง เช่น อาจใช้ระยะเวลาเป็นตัวกำหนด เป็นต้น Initializing Working Select Shut Down Turn PC On do : startup Shutting Down [is time out] Keypressed or mouse movement Screen Saving

Example : State transitions for an order Object-Oriented Technology 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

Example : State transitions for an order Object-Oriented Technology 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” Object-Oriented Technology 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

สถานะการทำงานย่อย (SubState) แบ่งเป็น 2 ประเภท คือ Object-Oriented Technology SubState สถานะการทำงานย่อย (SubState) แบ่งเป็น 2 ประเภท คือ Sequential เป็นการเปลี่ยนสถานะการทำงานอย่างเป็นลำดับ จากสถานะหนึ่ง ไปสู่อีกสถานะหนึ่ง Concurrent มีหลาย ๆ สถานะที่มีการเปลี่ยนแปลงพร้อมๆ กัน

Sequential SubState Sequential SubState Object-Oriented Technology Sequential SubState Sequential SubState เป็นการเปลี่ยนสถานะการทำงานอย่างเป็นลำดับ จากสถานะหนึ่ง ไปสู่อีกสถานะหนึ่ง Awaiting User Input Registering Input Visualizing Working

Concurrent SubState Concurrent SubState Object-Oriented Technology Concurrent SubState Concurrent SubState มีหลาย ๆ สถานะที่มีการเปลี่ยนแปลงพร้อมๆ กัน Awaiting User Input Registering Input Visualizing Working Watch System Clock Update display [is interval out]

State diagram notation (4) Object-Oriented Technology State diagram notation (4) Superstate Event A State-A State-B State-B Event C Event B Composite state: ประกอบด้วย Sequential substates

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

Example: Payment authorization in class Order Object-Oriented Technology Example: Payment authorization in class Order 2 parallel processes: - authorization - order handling Authorizing [ payment not ok ] do: check payment [ payment ok ] Authorized Rejected Delivered

Concurrent state diagram for the class Order Object-Oriented Technology Concurrent state diagram for the class Order Checking Waiting Dispatching Authorizing Authorized Cancelled Delivered Rejected

State diagram notation (5) Object-Oriented Technology State diagram notation (5) Superstate State-A State-B Event A Event B Event C H History state เป็นตัวบอกว่าเมื่อมีการเปลี่ยนกลับมาสถานะเดิม จะให้กลับมาที่จุดใด เริ่มต้นด้วย substate หลังสุดที่ทำงานก่อนที่จะออกจาก composite state

Awaiting User Input Registering Input Visualizing Working Initializing Object-Oriented Technology Awaiting User Input Registering Input Visualizing Working Initializing Turn PC On Shutting Down [is time out] Keypressed or mouse movement Screen Saving H Select Shut Down

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

State-Transition Diagram Object-Oriented Technology Summary Behavioral Diagrams State-Transition Diagram