35
email Fasilkom|| 10/7/2013 DESIGN SYSTEM WITH UML Defri Kurniawan M.Kom REKAYASA PERANGKAT LUNAK LANJUT

DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

Embed Size (px)

Citation preview

Page 1: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

DESIGN SYSTEM WITH UMLDefri Kurniawan M.Kom

REKAYASA PERANGKAT LUNAK LANJUT

Page 2: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Content

UML Process (EA Sparx) System Analysis and Design with UML Class Diagram Deployment Diagram User Interface Design

Page 3: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

UML Process (EA Sparx)

1. Use Cases Diagram2. Activity Diagram3. Sequence Diagram4. Class Diagram5. Deployment Diagrams

Page 4: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

System Analysis and Design with UML

1. System Analysis1. Business Process Identification

Use Case Diagram

2. Business Process Modeling Activity Diagram

3. Business Process Realization Sequence Diagram

2. System Design1. Program Design

1. Class Diagram2. Package Diagram (Gabungan class yang sesuai)

3. Deployment Diagram (arsitektur software dari sistem yang dibangun)

2. User Interface Design (Buat UI design)

3. Entity-Relationship Model (Buat ER diagram)

Page 5: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Class Diagram

Class diagram mendeskripsikan jenis-jenis objekdalam sistem dan berbagai macam hubungan statisyang terdapat di antara mereka

Class diagram juga menunjukkan property danoperasi sebuah Class dan batasan-batasan yang terdapat dalam hubungan-hubungan dengan obyektersebut

Page 6: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Class Diagram

Class diagram membantu pengembangmendapatkan struktur sistem dan menghasilkanrancangan (design) sistem yang baik

Page 7: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Class Diagram

Perbedaan Class dan Object Class seperti cetakan kue, dimana kue yg dihasilkan

dari cetakan kue itu adalah object Warna kue bisa bermacam-macam meskipun berasal

dari cetakan yang sama

Page 8: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Class Diagram

variablekecepatan

gir

tampilkan kecepatan

ubah gir method

Class Sepeda

Class = Method + Variable

Page 9: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Class Diagram

instance variable

kecepatan = 10km/jam

gir = 3

tampilkan kecepatan ()kecepatan = 10 km/jam

ubah gir (2)gir = 5

instance method

Object Sepedaku

Object = Method + Variable yg Memiliki Nilai

Page 10: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Class Diagram - Contoh

Page 11: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Class Diagram = property + operasi

Property:Topi, Baju, Jaket, Tas Punggung, Tangan, Kaki, Mata

Operasi:Cara Jalan ke DepanCara Jalan MundurCara Belok ke KiriCara Memanjat

Page 12: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Properti dapat dinyatakan dengan dua notasi yang berbeda: Atribut Asosiasi

Namun dua hal tersebut memperlihatkan hal yang sama = properti

Properti mewakili fitur-fitur struktural dari sebuahclass

Property

Page 13: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Properti - Susunan Atribut & Asosiasi

Properti yang ditunjukkan oleh cara yang berbeda

Page 14: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Name, age, dan weight adalah atribute (variabel) dari class Person

Variable digunakan untuk menyimpan nilai yang nantinya akan digunakan pada program

Variable memiliki jenis (tipe), nama dan nilai

Properti - Attribute

Page 15: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Properti - Attribute

Attribute:Ban, Stir, Pedal Rem, Pedal Gas,Warna, Tahun Produksi

Behavior:Cara Menghidupkan MesinCara Manjalankan MobilCara Memundurkan Mobil

Attribute Variable(Member)Behavior Method(Fungsi)

Page 16: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Properti - Asosiasi

Cara lain menotasikan properti adalah asosiasi Asosiasi merupakan garis solid antara dua class,

ditarik dari class sumber ke class target Tujuan akhir sebuah asosiasi menghubungkan

dengan class yang merupakan jenis properti

Page 17: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Properti - Pertanyaan

Dengan adanya dua notasi untuk hal yang sama, mengapa harus menggunakan salah satu di antaramereka?

[Martin Fowler] “Saya cenderung menggunakan atribut untuk hal-hal

kecil, seperti date atau bolean, type nilai dan asosiasi untuk class yang lebih significan, seperti

pelanggan & pesanan. Saya juga cenderung untuk menggunakan kotak-

kotak class untuk class yang tidak signifikan didiagram”

Page 18: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Relasi

Class diagram mendeskripsikan jenis-jenis objekdalam sistem dan berbagai macam hubungan statisyang terdapat di antara mereka

Secara umum hubungan/relasi antar class, meliputi: Association / Asosiasi Dependency / Dependensi Generalization / Generalisasi Aggregation / Aggregasi Composition / Komposisi

Page 19: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Relasi - Asosiasi

Asosiasi memungkinkan suatu kelas untukmenggunakan atau mengetahui atribut atau operasiyang dimiliki oleh kelas lain

Asosiasi juga menggambarkan interaksi yang mungkin terjadi antara satu kelas dengan kelas yang lain.

Asosiasi ada beberapa jenis, antara lain: Directional Association / Asosiasi 1 arah Bidirectional Association / Asosiasi 2 arah

Page 20: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Directional Association / Asosiasi 1 arah

Asosiasi ini menggambar bahwa pesan atau urutankejadian terjadi hanya dari salah satu kelassedangkan kelas yang lain pasif (dari kelas sumberke kelas tujuan)

Asosiasi 1 arah

Page 21: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Bidirectional Association / Asosiasi 2 arah

Asosiasi ini terjadi ketika salah satu kelasmengirimkan pesan kepada kelas yang lain kemudian kelas yang lain mengirimkan pesankepada kelas yang mengirimnya pesan

Orang Mobil

Asosiasi Bidireksional

Pemilik

Page 22: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Dependency / Depedensi

Relasi jenis ini menunjukkan bahwa sebuah kelasmengacu kepada kelas lainnya.

Class TargetMarketing tergantung padaKebijakanPerusahaan

Page 23: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Generalization / Generalisasi

Relasi jenis ini menunjukkan bahwa sebuah kelasmengacu kepada kelas lainnya.

MountainBike dan RacingBikemerupakan kelas turunan dari kelas

Bicycle

Parent/Induk

Child/Anak

Page 24: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Agregation / Agregasi

Aggregasi dapat diartikan bahwa suatu kelasmerupakan bagian dari kelas yang lain namunbersifat tidak wajib

Contohnya sebuah buku memiliki pengarang, daftarpustaka,namun bisa saja suatu buku tidak memilikidaftar pustaka. Namun tetap sebagai buku.

Page 25: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Composition / Komposisi

Komposisi diartikan bahwa suatu kelas merupakanbagian yang wajib dari kelas yang lain. Eksistensi(keberadaan) kelas tersebut, mempengaruhikeberadaan kelas yang lain

Contoh kasus yaitu pada sebuah buku, sudah pastiterdapat halaman isi sekurang-kurangnya satu

Page 26: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Multiplicity

Pada relasi terdapat suatu penanda yang disebutmultiplicity.

Multiplicity ini akan mengindikasikan berapa banyakobyek dari suatu kelas terelasi ke obyek lain

Multiplicity memiliki batas bawah dan batas atas Jika batas bawah dan batas atas bernilai sama yaitu 1..1,

maka hanya ditulis 1 Sedangkan * merupakan kependekan dari 0..* Dan 0 merupakan kependekan dari 0..0

Default nilai multiplicity relasi class diagram adalah 1

Page 27: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Multiplicity

Multiplicity Arti* = 0..* Banyak/tak terhingga0 = 0..0 Nol1 = 1..1 Tepat Satu, bisa ditulis bisa tidak (default)

1..* Antara Satu sampai Banyak

0..1 Nol atau Satu

Notasi UML Class Diagram untuk Multiplicity

Page 28: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Multiplicity - Contoh

Person Car0..1 own *

Page 29: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Method adalah urutan instruksi yang mengakses data dari object

Method melakukan:1. Manipulasi data2. Perhitungan matematika3. Memonitor kejadian dari suatu event

Method

Page 30: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Class Diagram – Study Case ATM System

Account

Balance

KotakKartu

KotakKuitansiKotakUangLogin

MenuLogout

MenuMengambilUang

MenuMengecekSaldo

MenuMentransferUang

MenuPIN

MenuUtama

ProsesLogoutProsesMengambilUang

+ m_Account: Account+ m_Balance: Balance+ m_Transaksi: Transaksi

+ ambilUang() : void+ ProsesMengambi lUang()

ProsesMengecekSaldo

+ lihatSaldo() : void

ProsesMentransferUang

+ m_Account: Account+ m_Balance: Balance+ m_Transaksi: Transaksi

+ ProsesMentransferUang()+ transferUang() : void

ProsesValidasiAccount

ProsesValidasiKartu

Transaksi

SistemATM

menampilkan

melakukan

memilikimemiliki

melakukan

mewarisi

mewarisi

melakukan

mewarisi

melakukan

mewarisi

memil iki

memil iki

mengakses

melakukanmengakses

melakukan

Page 31: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Deployment Diagram

Deployment Diagram menunjukkan susunan fisiksebuah sistem, menunjukkan bagian perangkatlunak mana yang berjalan pada perangkat kerasmana.

Hal utama dalam diagram tersebut adalah pusat-pusat yang dihubungkan oleh jalur komunikasi.

Page 32: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

Deployment Diagram – ATM System

«device»Sistem ATM (Client)

Kotak Kartu

Kotak KuitansiKotak Uang

«device»Database Server

«interface»Database Serv er::

Account

Layar

«TCP/IP»

Page 33: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

User Interface Design – ATM System

Page 34: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013

User Interface Design with Netbeans

Page 35: DESIGN SYSTEM WITH UML - dinus.ac.iddinus.ac.id/.../file_2013-10-07_17:49:08_Defri...System_with_UML.pdf · System Analysis and Design with UML

email Fasilkom|| 10/7/2013