UML : Menggunakan Relasi dependency pada Diagram Kelas

UML

UML digunakan untuk memodelkan sistem apa yang akan kita bangun nanti.
UML ini terdiri dari banyak diagram dan salah satunya adalah diagram kelas.
Diagram kelas digunakan untuk menggambarkan kelas apa saja yang ada pada sistem kita dan bagaimana relasinya dengan kelas yang lain.
Relasinya pun macam-macam jenisnya dan salah satunya adalah yang akan saya bahas pada tulisan ini yakni relasi dependency 😀

Agar lebih meyakinkan maka saya sertakan sumber rujukannya berupa buku dengan judul UML and The Unified Process
hehee

Berdasarkan buku tersebut hubungan dependency antar kelas pada diagram kelas UML terjadi apabila
1. Sebuah operation (maksudnya method) pada kelas A membutuhkan kelas B sebagai parameter
2. Sebuah operation (method) pada kelas A memiliki nilai kembalian (return value) berupa kelas B
3. Sebuah operation (method) pada kelas A menggunakan kelas B namun kelas B bukan merupakan sebuah attribut

Jika boleh saya tambahkan maka untuk poin 1 dan 2 pun akan ada kata-kata “dan kelas B bukan merupakan sebuah attribut”. Kenapa?
Kalau suatu kelas merupakan attribut pada kelas yang lain maka relasi yang ada namanya association dan association itu sudah pasti ada dependency (sumber : http://martinfowler.com/bliki/DependencyAndAssociation.html )

Relasi dependency ini digambarkan dengan simbol garis putus-putus yang memiliki anak panah dimana arah anak panah menunjukkan dependensinya.

Berikut adalah contohnya

Class Diagram

Dari gambar diatas terlihat dengan gamblang kalau interface BookDao dan kelas BookDaoImpl memiliki hubungan dependency dengan kelas Book
Dan dapat dilihat juga dengan jelas baik interface BookDao maupun kelas BookDaoImpl tidak memiliki attribut berupa kelas Book.

Nahh demikian
semoga membantu dalam mempelajari UML dan juga Object Oriented Design 😀

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

Leave a Reply

Your email address will not be published. Required fields are marked *