1. กระบวนการพัฒนาเชิงวัตถุสำหรับเรียลไทม์ (Real-time OODP) : เป็นเทคนิคหนึ่งสำหรับการพัฒนา software ภาษาที่ใช้ก็จะเป็นภาษาเชิงวัตถุเช่น c++, java โดยมีวิธีการดังนี้
      1. จัดเตรียมโมเดลคร่าวๆของระบบ
      2. เขียนโครงสร้างโดยรวมและฟังก์ชั่นการทำงาน อย่างคร่าวๆ
      3. ดูว่าจะเปลี่ยนความต้องการของลูกค้าให้เป็นโมเดลได้อย่างไร
      4. ทำการเขียนโค้ด หลังจากที่พัฒนาโมเดลสำเร็จแล้ว
      5. ทั้งสามเฟสใช้ diagram UML เดียวกันมีเพียงรายละเอียดในแต่ละขั้นตอนเท่านั้นที่แตกต่างกัน

Finite State Machine เป็นวิธีที่ดีที่สุดในการอธิบายถึงเส้นทางการทำงานของระบบ แต่ Sequence diagramจะเหมาะกับคนที่มีความรู้ไม่มากเช่น ลูกค้า โดยในขั้นตอนแรกของการออกแบบ การทำ use-case diagram ต้องทำ class และ sequence diagram ควบคู่กันไปด้วย เพราะ sequence diagram จะแสดงถึงการแลกเปลี่ยนข้อความระหว่างวัตถุ ซึ่งบอกถึง flow of control

  1. วัตถุ (Object) : เป็นลักษณะของ container ที่เก็บข้อมูลและพฤติกรรมที่เกี่ยวข้อง โดยจะใช้การส่งข้อความในการสื่อสารกับวัตถุอื่นๆ ซึ่งเป็นลักษณของ client-sever ข้อมูลที่อยู่ใน object จะเป็นความลับเฉพาะคลาสนั้น โดยอาจจะมี เมธอดช่วยเหลือในการเข้าถึงข้อมูลการหา object ในขั้นตอนการออกแบบจะดูจากความต้องการ แล้วหา noun services real-world item device concept transaction data ทำการศึกษา object ที่หาได้มาแต่ละตัว ดูพฤติกรรมการทำงานของมัน แล้วทำการรวมกลุ่ม object ที่คล้ายคลึงกันเข้าไว้ด้วยกัน แต่ทำการแยก passive ออกจาก active object เพราะ passive object จะพึ่งการทำงานจาก active object โดยตัว passive จะเสนอ method/attr ให้ object อื่นใช้ ระบบที่มี active object มากๆ สามารถพัฒนาเป็น multi-thread ได้ เพราะจะมีการสื่อสารข้อมูลไปพร้อมๆกันเป็นจำนวนมากคุณลักษณะของวัตถุ
    1. Attribute (data)
    2. Behavior (method)
    3. State (memory)
    4. Identity (อธิบายถึงลักษณของคลาส)
    5. Responsibility (ความรับผิดชอบของคลาส สามารถทำอะไรได้บ้าง)
  2. คลาส (Class) : เป็นลักษณะของประเภทของวัตถุที่มีโครงสร้าง หน้าที่การทำงานและ ความสัมพันธ์ที่คล้ายกัน บางครั้งอาจจะเรียกกว่า ADT ในคลาสจะประกอบไปด้วย Atrribute และ Method โดยเราสามารถแบ่งคลาสออกได้เป็น Boundary, Entity และ Control
    1. Boundary : เป็นส่วนของอินเตอร์เฟสที่เชื่อมต่อกับ I/O มนุษย์ หรือ software ภายนอกอื่นๆ การทำงานจะใช้ interrupt เป็นหลัก
    2. Entity : เป็นคลาสของข้อมูลที่มีหน้าที่เก็บข้อมูลและพฤติกรรม เช่น class customer
    3. Control : ช่วยเหลือในการควบคุม รวม object ต่างๆเข้าไว้ด้วยกันเพื่อสร้าง dynamic application
  3. อินเตอร์เฟส (Interfaces) : เป็นคลาสที่ไม่มีข้อมูลใดๆอยู่นอกจาก method ต่างๆ มีหน้าที่คือเป็นตัวกลางในการติดต่อสื่อสารระหว่างคลาสอื่นๆที่เอา interface นี้ไปใช้งาน
  4. การส่งข้อความ (Messaging) : เป็นการกระทำของวัตถุในการติดต่อระหว่างกัน เช่นการเรียก function การเกิด interrupt การใช้ semaphore
  5. ความสัมพันธ์ (Relation) : class object และ interface ต่างเชื่อมโยงกันด้วยความสัมพันธ์ เพื่อการทำงาน แลกเปลี่ยนข้อมูลข่าวสารซึ่งกันและกัน โดย UML แบ่งความสัมพันธ์ออกเป็น 3 แบบ คือ
    1. Association : ความสัมพันธ์ระหว่างคลาสโดยสามารถเป็นไปได้ทั้ง uni และ bi-direction
        ลักษณะความสัมพันธ์แบบทางเดียวคืออีกฝ่ายนึงจะทำการเรียกข้อมูลจากอีกคลาสนึง โดยที่คลาสนั้น(ฝั่งที่มีหัวลูกศร) จะไม่รู้จักคลาสที่มาเรียกข้อมูลเลย 

      1. Aggregation : เป็นลักษณะหนึ่งของ association ที่อธิบายความสัมพันธ์แบบ whole-part ระหว่างสองคลาส ฝั่งที่เป็น whole จะมีสัญลักษณ์เป็นข้าวหลามตัดสีขาว
      2. Composition : คล้ายกับ aggregation แต่จะหนักแน่นกว่านั่นคือ คลาสที่มีข้าวหลามตัดสีดำ คือคลาสหลัก หากคลาสที่ไม่มีข้าวหลามตาย คลาสหลักก็ไม่สามารถทำงานต่อได้
    2. Generalization :
    3. Dependency : การเปลี่ยนแปลงในโมเดลส่งผลกระทบต่อโมเดลที่พึ่งความสัมพันธ์นั้น โดยใช้เส้นประลากเชื่อมต่อระหว่างกันแล้วมีข้อความกำกับเช่น <<use>>
  6. ปฏิสัมพันธ์ (interaction) : คือการรวบรวมพฤติกรรมของหลายๆคลาสเข้ามาไว้ด้วยทำ แสดงให้เห็นการทำงานซึ่งกันและกัน โดยสามารถอธิบายได้ด้วย diagram ดังต่อไปนี้
    1. Sequence
    2. Communication
    3. Timing
  7. Sequence Diagram : ตัวdiagram จะแสดง interaction บางอย่าง ซึ่งประกอบไปด้วยคลาสหลายๆคลาส แสดงให้เห็นถึงโครงสร้างโดยรวมของการทำงานว่าใครส่งข้อความไปหาใคร แต่ข้อความนี้ไม่ได้บอกถึงระยะเวลาที่ทำงาน เพียงแต่บอกลำดับการทำงานบางส่วนเท่านั้น ไม่สามารถบอกได้ว่าว่า ณ จุดที่ 10 object 1 และ 2 ส่งข้อควมพร้อมกันหรือไม่ โดยจะใช้เส้น life line กำกับ ข้อความที่ส่งถึงกันจะใช้เส้นตรงมีหัวลูกศร ซึ่งอาจจะเป็น synchronous หรือ asynchronous ก็ได้ เมื่อมีการร้องขอแบบ sync คนที่ร้องขอจะถูก block การทำงานจนกว่าจะได้รับค่าคืนมา
  8. พฤติกรรม (behavior) : อาจะแบ่งได้เป็นสามลักษณะคือ
    1. Simple : เป็นลักษณะที่ไม่มีการเก็บว่าเคยให้บริการไปแล้วหรือไม่
    2. State : ทำงานตามสถานะที่กำหนด ซึ่งก็ขึ้นกับ condition ที่กำหนดไว้ว่าจะให้ทำอะไรเมื่อเป็นอย่างไร
    3. Continuous : เช่น PID controller ที่ทำงานโดยใช้ข้อมูลจากการทำงานครั้งที่แล้ว
  9. Finite State Diagram : แสดงถึงการเปลี่ยนแปลงของ state ต่างๆในระบบ ซึ่งอาจจะเกิดจากการเปลี่ยนแปลงของ I/O หรือ interrupt ก็ได้
  10. Hierarchical State Chart : ช่วยแก้ปัญหาที่มีความซับซ้อนมากๆ โดยแบ่งออกเป็น substate หลายๆอัน ซึ่งจะมี state ย่อยๆอยู่
  11. concurrent FSM : เป็นการทำงานไปพร้อมๆกัน แบ่งแยกออกเป็น thread การสื่อสารระหว่าง state สามารถทำได้โดยการใช้ share event global var