32
Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS [email protected] +6281329571612 Pengenalan UML Object Oriented Analysis and Design

Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS [email protected] +6281329571612

  • Upload
    lynhan

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Teknik Informatika S1

Disusun Oleh:Egia Rosi Subhiyakto, M.Kom, M.CSTeknik Informatika [email protected]+6281329571612

Pengenalan UML

Object Oriented Analysis and Design

Page 2: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Evolution of OO Development Methods

Page 3: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

History of OOAD leading to UML

Page 4: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

History of UML

Page 5: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

More on UML...

Specifying - UML provides the means tomodel precisely, unambiguously and completely,the system in question.

Constructing - models built with UML have a “design” dimension to it; these are Language independent and can be implemented in any programming language.

Page 6: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

More on UML...

Documenting - every software projectinvolves a lot of documentation - from the

inception phase to the deliverables.

Documentation is(among others) for:•Requirements•Design•Tests

Page 7: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Model Konseptual UML❖ Building Blocks

• Things

• Relationships

• Diagrams

❖ Rules

❖ Common Mechanisms

• Specifications

• Adornments

• Common Divisions

• Extensibility Mechanisms

Page 8: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Structural Things(contd.)

Active Class - a class whose instance is an active object;

objek aktif adalah obyek yang memiliki proses atau thread (unit

eksekusi)

Notation:

Component - bagian fisik (biasanya memanifestasikan dirinyasebagai bagian dari perangkat lunak) dari sistem.

Notation:

Page 9: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Structural Things(contd.)

Node - elemen fisik yang ada pada saat run-time dan merupakan

sumber daya komputasi (biasanya, sumber daya perangkat keras).

Notation:

Page 10: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Behavioral Things

Verba model UML; Biasanya bagian yang dinamis dari

sistem yang bersangkutan.

Interaction - beberapa perilaku dibentuk oleh pertukaran pesan

antara objek-objek; pertukaran pesan adalah dengan tujuan

untuk mencapai beberapa tujuan.

Notation:

Page 11: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Behavioral Things (contd.)

State machine - a behavior that specifies the sequence of

“states” an object goes through, during its lifetime. A “state” is a

condition or situation during the lifetime of an object during

which it exhibits certain characteristics and/ or performs some

function.

Notation:

Page 12: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Grouping ThingsBagian organisasi dari model UML; memberikan tingkat yang lebih

tinggi dari abstraksi (granularity).

Package - tujuan umum yang terdiri dari elemen UML - struktural,

perilaku atau bahkan pengelompokan.

Package adalah pengelompokan konseptual dari sistem dan tidak perlu harus

dilaksanakan sebagai modul software kohesif.

Notation:

Page 13: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

An notational ThingsBagian yang jelas dari model UML; menambahkan informasi/ makna

pada elemen model.

Note - notasi grafis untuk memasang kendala dan/ atau komentar untuk

elemen model.

Notation:

Page 14: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

RelationshipsMengartikulasikan makna hubungan antara hal-hal.

Dependency - hubungan semantik di mana perubahan dalam satu hal (hal

independen) menyebabkan perubahan dalam semantik hal lainnya (hal

dependen).

Notation:

Association - hubungan struktural yang menggambarkan hubungan antara dua hal.

Notation:

Arrow-head points to the independent thing

Page 15: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Relationships (contd.)

Generalisation - hubungan antara hal umum (disebut "orang tua" atau

"superclass") dan jenis yang lebih spesifik hal itu (disebut "anak" atau

"subclass"), sehingga subclass dapat menggantikan superclass.

Notation:Arrow-head points to the superclass

Page 16: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Relationships (contd.)

Realization - hubungan semantik antara dua hal di mana dalam

satu menentukan perilaku yang akan dilakukan, dan yang

lainnya melakukan perilaku.

“a collaboration realizes a Use Case”

Notation:

Use Case menentukan perilaku (fungsi) yang akandilaksanakan (disediakan), dan kolaborasi benar-benarmenerapkan perilaku itu.

Arrow-head points to the thing being realized

Page 17: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

DiagramsPresentasi grafis dari model. Direpresentasikan sebagai sebuah

graf terhubung - simpul (hal) yang terhubung oleh busur (hubungan).

UML mencakup sembilan diagram - masing menangkap dimensi yang

berbeda dari arsitektur perangkat lunak sistem.

• Class Diagram

• Object Diagram

• Use Case Diagram

• Sequence Diagram

• Collaboration Diagram

• State chart Diagram

• Activity Diagram

• Component Diagram

• Deployment Diagram

Page 18: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

More on Diagrams...➢ Class Diagram - diagram yang paling umum ditemukan di

OOAD, menunjukkan satu set kelas, interface, kolaborasi dan

hubungan mereka. Model pandangan statis dari sistem.

➢ Object Diagram - snapshot dari diagram kelas; model contoh

dari hal-hal yang terkandung dalam diagram kelas.

➢ Use Case Diagram - menunjukkan satu set “Use Case" (set

fungsi yang dilakukan oleh sistem), "aktor" (biasanya, orang/

sistem yang berinteraksi dengan sistem ini [masalah-domain])

dan hubungan mereka. Models WHAT the system is expected to

do.

Page 19: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

More on Diagrams...➢ Sequence Diagram - model aliran kontrol dengan waktu

pemesanan; menggambarkan interaksi antara berbagai objek

dengan pesan berlalu, dengan dimensi temporal untuk itu.

➢ Collaboration Diagram - model interaksi antara objek,

tanpa dimensi temporal; hanya menggambarkan pesan lewat

antara objek.

➢ State chart Diagram - shows the different state machines

and the events that leads to each of these state machines.

State chart diagrams show the flow of control from state to

state.

Page 20: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

More on Diagrams...Activity Diagram - menunjukkan aliran dari kegiatan kegiatan;

suatu "kegiatan" adalah eksekusi non-atom yang sedang berlangsung

dalam state machine.

Component Diagram - menunjukkan kemasan fisik perangkat

lunak dalam hal komponen dan dependensi di antara mereka.

Deployment Diagram - menunjukkan konfigurasi node

pengolahan di run-time dan komponen yang hidup pada mereka.

Page 21: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Dimensions...

. . .of Software Architecture

Page 22: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Diagrams and Process

Page 23: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Diagrams and Process

Use Case Diagrams

Page 24: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Diagrams and Process

Class & Package Diagrams

Page 25: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Diagrams and Process

Interaction Diagrams (Scenarios)

Page 26: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Diagrams and Process

Activity Diagrams (Workflow, Interclass Behavior)

Page 27: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Diagrams and Process

State Transition Diagrams (Intraclass Behavior)

Page 28: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Texts and Process

Source Code

Page 29: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Diagrams and Process

Deployment Diagrams

Page 30: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

Why Modeling?

Business Process

Modeling menangkap bagian penting dari sistem(James Rumbaugh)

Computer System

Modeling

Page 31: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

UML 2.0 Diagram

Page 32: Object Oriented Analysis and Design - dinus.ac.id · Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6281329571612

TERIMA KASIH