05 Pemodelan dan Kakas Pemodelan (2).pptx

Post on 25-Dec-2015

355 views 13 download

Transcript of 05 Pemodelan dan Kakas Pemodelan (2).pptx

PEMODELAN & KAKAS

PEMODELAN (LANJ.)

Rekayasa Perangkat Lunak

Sem. Genap 2013/2014

nur.zahrati@polibatam.ac.id

OVERVIEW Kelas Objek Communication diagram Sequence diagram

KELAS Kelas digunakan untuk memodelkan

abstraksi yang berasal dari persoalan yang ingin kita selesaikan (terutama pada saat analisis).

KELAS SEBAGAI STRUKTUR STATIS• Kelas merupakan pengkapsulan

(pembungkusan) nilai-nilai atribut dan layanan-layanan eksklusifnya.

• Objek adalah instan dari kelas. Sehingga kelas merupakan deskripsi satu objek atau lebih dengan sekumpulan atribut dan layanan yang seragam.

• Perbedaan kelas dan objek adalah objek merupakan entitas konkret yang ada secara ruang dan waktu, sedangkan kelas merupakan representasi abstraksi.

PROPERTI – PROPERTI KELAS Kelas memiliki properti-properti berikut:

Nama untuk membedakan dengan kelas lain

AtributOperasi / method implementasi layananTanggung jawab (responsibilities) kontrak

atau kewajiban kelasMahasiswa

-nim-nama-alamat-tanggalLahir

+setNama()+getNama()+getUmur()

KLASIFIKASI KELAS Ada beberapa macam kelas sesuai

perannya dalam sistem Dapat digambarkan dengan notasi

stereotype<<….>>

Beberapa jenis kelas yang membantu dalam pembuatan Communication diagram:<<entity>><<control>><<boundary>>

<<ENTITY>> Merepresentasikan situasi yang spesifik

terhadap domain aplikasi, atau objek di dunia nyata, biasanya data dari sistem

Biasanya memiliki banyak sekali atribut Memiliki banyak operasi primitif

(getAttr(), setAttr(), dll) Tidak memiliki operasi kompleks Hanya memiliki sedikit state Contoh: Kontrak, Pelanggan, Mahasiswa

<<CONTROL>> Merepresentasikan aliran kerja, kontrol, atau

proses perhitungan tertentu Biasanya tidak memiliki/memiliki sedikit atribut

miliknya sendiri Biasanya masa hidupnya singkat, yakni hanya

hidup pada waktu proses yang dikontrolnya dilakukan

Sering memiliki akses ke kelas-kelas entity, untuk meminta data, menulis kembali hasil perhitungan, dll.

Memiliki operasi kompleks Terkadang tidak punya state, Tapi terkadang memiliki state yang kompleks yang

menggambarkan proses yang komprehensif

<<BOUNDARY>> Digunakan untuk memodelkan interaksi

antara sistem dengan lingkungan sekitarnya, misal: aktor, atau layanan eksternal

Tidak memiliki operasi sendiri, hanya meneruskan pemanggilan operasi

OBJEK Objek adalah instan dari kelas Contoh: pada sistem penggajian, objek

Adi adalah instan dari kelas Karyawan.

OBJECT

Karyawan

Pak Adi Bu Susi Mbak Dini Pak Roni

Objek dari kelas karyawan

Kelas karyawan

OBJEK• Struktur dan perilaku objek yang serupa

didefinisikan dalam satu kelas• Ciri-ciri objek Mempunyai:

– Identitas: properti objek yang membedakannya dari semua objek yang lain

– State: semua properti objek (biasanya statis) ditambah nilai properti saat itu (biasanya dinamis)

– Perilaku (peran dan tanggung jawab): bagaimana objek-objek beraksi dan bereaksi dalam perubahan status dan pelewatan pesan.

PENGGAMBARAN OBJEK DI UML

COMMUNICATION DIAGRAM Pada UML 1.x disebut Collaboration

diagram Menunjukkan pertukaran pesan antar

instan (objek) dari kelas-kelas yang berbeda pada suatu waktu

Pesan-pesan dapat diberi nomor untuk menunjukkan urutan

CONTOH:(DARI KEHIDUPAN SEHARI-HARI)

Zaki adalah mahasiswa Poltek. Ia ingin mengajukan

cuti akademik selama 2 semester. Ia menemui

dosen walinya mambahas hal tersebut. Setelah

disetujui secara lisan oleh dosen wali, Zaki pergi ke

bagian Akademik untuk mengajukan permohonan

cuti secara resmi. Bagian Akademik kemudian

meminta tanda tangan persetujuan kepada Dosen

Wali. Setelah itu, surat permohonan dimintakan

persetujuan KPS dan Kajur sebelum dilakukan

update pada datanya sebagai mahasiswa Poltek.

SIAPA SAJA YANG TERLIBAT?

Zaki : Mahasiswa : DosenWali

: Akademik

kpsIF : KPS

KajurIF : Kajur

PESAN APA SAJA YANG DISAMPAIKAN?

Pengajuan Cutisd

Zaki : Mahasiswa : DosenWali

: Akademik

kpsIF : KPS

KajurIF : Kajur

1 : meminta saran()

2 : saran cuti()

3 : memohon status cuti()

4 : minta persetujuan()

5 : persetujuan dosen wali()

6 : minta persetujuan()

7 : persetujuan kps()

9 : persetujuan kajur()

8 : minta persetujuan()

10 : update status mahasiswa()

framelifeline

pesan (message)

BEGITU PULA DALAM PERANGKAT LUNAK

Operator

Login

Kelas apa saja yang terlibat dalam use case Login?

<<boundary>> ?

<<control>> ?

<<entity>>?

COMMUNICATION: LOGIN

: User<<entity>>

: GUILogin<<boundary>>

: ProsesLogin<<control>>

: Operator

Bagaimana komunikasi yang terjadi?

Loginsd

SEQUENCE DIAGRAM

: Operator

: GUILogin : ProsesLogin : User

Login(username,password) Login(username,password) Verifikasi user

(username,password)

BooleanstatusLogin

statusLogin

message

return message

lifeline

execution

MACAM-MACAM MESSAGEBerdasarkan tipe aksinya: Synchronous call: mengirim pesan

dan menunggu respons sebelum melakukan eksekusi lainnya

Reply message: respons

MACAM-MACAM MESSAGE Asynchronous call: mengirim pesan

tanpa menunggu respons

Create: digunakan untuk menciptakan lifeline lain

MACAM-MACAM MESSAGE Delete: untuk mengakhiri lifeline lain

COMMUNICATION VS SEQUENCE Keduanya menggambarkan urutan

pertukaran pesan antar objek saat run-time

Sequence diagram:Urutan waktu dari pertukaran pesan lebih

mudah diikutiHubungan antar elemen lebih sulit dilihatMemungkinkan penggambaran iterasiSulit menggambarkan, jika banyak objek

yang terlibat

COMMUNICATION VS SEQUENCE Communication diagram:

Menggambarkan lebih jelas interaksi antar objek

Urutan pesan lebih sulit dilihat, apalagi jika ada banyak objek dan banyak interaksi. Pesan harus dinomori dengan seksama

Iterasi hanya dapat ditambahkan dengan pesan tambahan dan notasi tertentu

Dapat diintegrasikan dengan mudah untuk menggambarkan arsitektur global

COMMUNICATION VS SEQUENCEGunakan sequence diagram: Jika kita memiliki sedikit objek, dan

interaksi yang kompleks dan panjang Jika ada iterasi

Gunakan communication diagram: Jika ada banyak objek dan interaksi

(kolaborasi) antar objek dianggap penting Jika kita bermaksud mengintegrasikan

semua diagram menjadi representasi arsitektur global yang dinamis

TUGAS Buatlah communication diagram dan

sequence diagram dari topik aplikasi PA1 masing-masing.

Manakah yang lebih cocok digunakan pada rancangan perangkat lunak Anda?