Jumat, 27 Juni 2014

UML (Unified Modeling Language)



Pemodelan (modeling) adalah proses merancang peranti lunak (software) sebelum melakukan pengkodean (coding). Model peranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting, karena orang tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin kompleks sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. Dengan menggunakan model di harapkan pengembangan peranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability,robustness, security, dan sebagainya.
Unified Modeling Language (UML) adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem peranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem pengembangan software berbasis OO (Object-Oriented). Secara konsep dasar, UML mendefinisikan delapan diagram sebagai berikut. UML tidak hanya merupakan sebuah bahasa pemograman dalam bentuk visual saja, namun juga dapat dihubungkan ke berbagai bahasa pemograman, seperti contohnya JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. Secara konsep dasar, UML mendefinisikan diagram sebagai berikut.

2.9.1    Use Case Diagram

            Use Case Diagram menggambarkan fungsionalitas dari sebuah sistem (apa fungsinya), yang merepresentasikan sebuah interaksi antara aktor dengan sistem (sebuah pekerjaan). Misalnya menambah data/membuat laporan. Aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan terntentu. Sebuah use case dapat meng-include fungsionalitas use case lain. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviournya sendiri.

 
2.9.2    Class Diagram

Class adalah sebuah spesifikasi objek, yang memiliki atribut/properti dan layanan/fungsional (metode/fungsi). Class diagram menggambarkan struktur dan deskripsi kelas, package dan objek beserta hubungan satu sama lain, seperti containment, pewarisan,asosiasi dan lain-lain. Kelas memiliki tiga hal pokok : Nama ( dan stereotype), Atribut, dan Metode.
Hubungan antar kelas:
·         Asosiasi, yaitu hubungan statis antarkelas, biasanya menggambarkan kelas yang memiliki atribut berupa kelas lain. Terdapat banyak jenis asosiasi, misalnya :
Ø  asosiasi sederhana : bentuk asosiasi sederhana.
Ø  agregasi yaitu hubungan yang menyatakan bagian, biasanya hubungan data master dan detailnya.
Ø  navigability menunjukan arah query/komunikasi antar-objek, bisa satu atau dua arah, terlihat pada tanda panahnya.
Ø  campuran/composit : campuran aosiasi
·         Generalisasi, yaitu hubungan hierarkis antara anak dan bapak, karena kelas dapat di turunkan dari kelas lain dan mewarisi semua atribut dan metode kelas asalnya serta menambahkan fungsioanlitas baru
·          Implementasi (Realization) yaitu hubungan antara objek yang menjamin adanya pola khusus dalam perilaku anggota objek lainnya. Ini dapat diwujudkan dengan adanya kelas yang mengimplementasikan interface tertentu
·         Ketergantungan (depency) yaitu sebuah kelas yang membutuhkan objek lain untuk bisa memfungsikan dirinya sendiri dengan baik.

2.9.3    Activity Diagram

Diagram ini menggambarkan berbagai aktivitas dalam sistem yang sedang di rancang, mulai dari titik awal, melalui kondisi (decision) yang mungkin terjadi, kemudian sampai titik akhir. Diagram ini juga mampu menggambarkan proses pararel yang mungkin terjadi pada beberapa eksekusi. Diagram ini tidak menggambarkan perilaku/proses internal sebuah sistem maupun interaksi antar-subsistem, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas secara umum (global).
Diagram ini dilambangkan dengan segi empat dengan sudut membuat (lebih bulat dari statechart) untuk menggambarkan aktivitas, dan memiliki kondisi (decision) yang di gunakan untuk mengambil keputusan /percabangan. Untuk mengilustrasikan proses-proses paralel di gunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikali.

2.9.4    Sequence Diagram

Diagram ini menggambarkan interaksi antarobjek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang di gambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang di lakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari sebuah aktivitas tertentu, kemudian berproses mengikuti urutan tertentu, yang bisa terlihat melalui messae antar objeknya.

2.9.5    Collaboration Diagram

Collaboration diagram juga menggambarkan interaksi antarobjek seperti sequnce diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memliki urutan angka, level tertinggi dimulai dari nomor 1,sedangkan untuk message dari level yang sama memiliki prefiks yang sama.

Tidak ada komentar:

Posting Komentar