Rabu, 26 Oktober 2016

UML Rekayasa Perangkat Lunak



Assalamu'alaikum Wr. Wb.
Selamat datang kembali bloger se alam maya, pada kesempatan ini ane bakal share artikel mengenai UML Rekayasa Perangkat Lunak.
UML (Unified Modeling Language) merupakan pengganti dari metode analisis berorientasi object dan design berorientasi object (OOA&D) yang dimunculkan sekitar akhir tahun 80-an dan awal tahun 90-an. UML merupakan gabungan dari metode Booch, Rumbaugh (OMT) dan Jacobson. Tetapi UML ini akan mencakup lebih luas daripada OOA&D. Pada pertengahan pengembangan UML dilakukan standarisasi proses dengan OMG (Object Management Group) dengan harapan UML akan menjadi bahasa standar pemodelan pada masa yang akan datang. UML disebut sebagai bahasa pemodelan bukan metode. Kebanyakan metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa pemodelan (sebagian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat. Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian  kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain dengan seseorang, maka Anda hanya membutuhkan bahasa pemodelan bukan proses yang digunakan untuk mendapatkan desain. UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat lunak.
UML (Unified Modeling Language) adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak lainnya.
UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat lunak.


1. Use Case Diagram
 Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai.


Diagram Use Case berguna dalam tiga hal :
 Menjelaskan fasilitas yang ada (requirement)
  • Komunikasi dengan klien
  • Membuat test dari kasus-kasus secara umum\
 Kelebihan:
  • Interaksi antara pengguna dan system lain dengan system yang akan di buat cukup tergambar dengan baik.
  • Penggambaran dengan sederhana membuat identifikasi kebutuhan dengan use case dapat dengan lebih mudah untuk dipahami.
  • Pendekatan identifikasi kebutuhan dapat berdasarkan top down (keinginan dari manajemen level atas) maupun bottom up (keinginan pengguna akhir).
  • Dapat meng-include (memasukkan) fungsionalitas use case lain sebagai bagian dari proses dalam dirinya.
  • dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
  • Dapat meng-extend (memperpanjang) use case lain dengan behaviour-nya sendiri.
  • Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Kelemahan:
  • Kekurangan mengenai data masih kurang teridentifikasi dengan baik.
2. Activity Diagram
Activity diagram menyediakan analis dengan kemampuan untuk memodelkan proses dalam suatu sistem informasi. Activity diagram dapat digunakan untuk alur kerja model, use case individual, atau logika keputusan yang terkandung dalam metode individual3. Activity diagram juga menyediakan pendekatan untuk proses pemodelan paralel. Activity diagram lebih lanjut .
Pada dasarnya, diagram aktifitas canggih dan merupakan diagram aliran data yang terbaru. Secara teknis, diagram aktivitas menggabungkan ide-ide proses pemodelan dengan teknik yang berbeda termasuk model acara, statecharts, dan Petri Nets.

Notasi yang digunakan dalam activity diagram adalah sebagai barikut:
  1. Activity: Notasi yang menggambarkan pelaksanaan dari beberapa proses dalam aliran pekerjaan.
  2. Transition: Notasi yang digunakan untuk memperlihatkan jalan aliran control dari activity ke activity.
  3. Decision: Notasi yang menandakan kontro cabang aliran berdasarkan decision point.
  4. Synchronization bars: Aliran kerja notasi ini menandakan bahwa beberapa aktivitas dapat diselesaikan secara bersamaan (pararel).
3. Package Diagram
Package diagram utamanya digunakan untuk mengelompokkan elemen diagram UML yang berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram paket pada dasarnya adalah diagram kelas yang hanya menampilkan paket, disamping kelas, dan hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada diagram kelas.
Sebagai contoh, jika kita memiliki sistem pendaftaran untuk kantor dokter, mungkin masuk akal untuk kelompok kelas pasien dengan kelas sejarah medis pasien bersama-sama untuk membentuk paket kelas pasien. Selain itu, dapat berguna untuk membuat paket perawatan yang mengandung gejala penyakit, penyakit, dan obat-obatan khas yang diresepkan untuk mereka.

4. State Diagram

State diagram menggambarkan urutan keadaan yang dilalui objek dalam suatu kelas, karena suatu kejadian menyababkan suatu perpindahan aktivitas/state. State dari objek adalah penggolongan dari satu atau lebih nilai attribute pada kelas.
Bersifat dinamis. Diagram state ini memperlihatkan statestate pada system, memuat state, transisi, event, serta aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi dan terutama penting pada pemodelan system – system yang reaktif.
contoh :“Peminjaman Barang””
  • Seorang peminjam yang akan meminjam akan mengisi form peminjaman.
  • Sistem akan megecek keadaan barang. Barang tersebut tersedia apa tidak, atau barang tersebut dapat di pinjam atau tidak
  • Setelah barang tersedia, sistem akan memvalidasi persetujuan peminjaman barang dan menyerahkan barang kepada peminjam.
  • Sistem juga akan mencari informasi tentang barang yang akan dipinjam, maka akan dilakukan permintaan akan informasi barang.
  • Jika informasi yang diterima masih kurang, akan dilakukan permintaan ulang sampai seluruh informasi yang dibutuhkan didapatkan.
  • Saat informasi sudah cukup, informasi tersebut akan diserahkan kepada peminjam barang tersebut.
5. Sequence Diagram
Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.
Bersifat dinamis. Diagram urutan adalah interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.
Sequence diagram menekankan penyusunan berbasis waktu untuk kegiatan yang dilakukan dengan satu set dari objek yang berkolaborasi. Sequence diagram sangat berguna dalam membantu analis, memahami spesifikasi real-time dan menggunakan kasus yang rumit (lihat di bawah). Diagram ini dapat diguanakan untuk mendeskripsikan baik secara fisik dan logis interaksi antara objek.

Pada contoh
sequence diagram diatas digambarkan contoh use case investasi perdagangan. Pada diagram tersebut obyek yang berinteraksi adalah user, userinterface sistem, dan interface terhadap sistem eksternal.Pada diagram tersebut terlihat aliran secara umum,yakni :
  1. User memilih account investment.
  2. Kemudian, sistem akan mengirimkan pesan pada sistem investor untukmelakukan query harga saham dari investasi pada account user.
  3. Sistem akan menampilkan harga saham pada account investasi user.
  4. User memilih investasi dan jumlah saham yang akan dijual.
  5. Sistem akan mengirimkan pesan kepada sistem investor untukmenyampaikan permintaan untuk menjual saham yang telah ditentukan oleh user.
6. Class Diagram (Class Diagram)
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system.
Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan system berorientasi objek.
Kelas Diagram berfungsi untuk menjelaskan tipe dari object sistem dan hubungannya dengan object yang lain. Object adalah nilai tertentu dari setiap attribute kelas entity. Pada penggambaran kelas diagram ada dikenal dengan kelas analisis yaitu kelas ber-stereotype. Tapi yang biasanya dipakai adalah kelas diagram tanpa stereotype.

Kelemahan:
  • Sulit untuk penentuan antara atribut atau kelas, sering terjadi kesalahan
  • Pengimplementasian struktur data sukar dilakukan
Class memiliki 3 area pokok :
  1. Name (dan stereotype);
  2. Attribute;
  3. Method.
Penjelasan dari gambar di atas yaitu class pegawai memiliki hubungan langsung dengan slass department, class pelanggan memiliki keteterhubungan langsung dengan class transaksi, class transaksi tidak akan bisa tanpa adanya class departemen, begitu pun class produk yang dapat terbentuk tanpa adanya class transaksi, lalu class perlengkapan, makanan dan minuman dihungungkan menggunakan generalisasi ke class produk.
7. Communication Diagram
Communication diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki Nomor 1. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
Contoh : Diagram Collaboration “Pemesanan kamar di Hotel”
.
8. Composite Structure Diagram
Diagram struktur komposit adalah diagram yang menunjukan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari system. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifier. Diagram struktur komposit merupakan jenis diagram struktur yang statis dalam UML, yang menggambarkan struktur internal kelas dan kolaborasi.

Struktur komposit dapat digunakan untuk menjelaskan:
  • Struktur dari bagian-bagian yang saling berkaitan;
  • Run-time struktur yang saling berhubungan.
9. Object Diagram
Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah system pada satu titik waktu. Karena lebih menonjolkan perintah-perintah dari pada class, object diagram lebih sering disebut sebagai sebuah diagram perintah.
Object diagram sangat mirip dengan diagram kelas. Perbedaan utama adalah bahwa diagram objek menggambarkan objek dan hubungan mereka. Tujuan utama dari diagram objek adalah untuk memungkinkan analis untuk mengungkap rincian tambahan kelas. Dalam beberapa kasus, pernyataan variabel dari sebuah class diagram dapat membantu pengguna atau analis dalam menemukan atribut tambahan yang relevan, hubungan, dan atau operasi, atau mungkin menemukan bahwa beberapa atribut, hubungan, atau operasi yang salah tempat.
Bersifat statis. Diagram ini mempelihatkan objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas.

10. Timing Diagram
Memperlihatkan interaksi ketika tujuan utama diagram adalah waktu. Menggambarkan perubahan dalam state atau kondisi dari pengelompokkaninstance atau tugas berlebihan. Biasanya dipakai untuk memperlihatkan perubahan dalam state objectberlebihan dalam merespon ke external events. Dipakai untuk memperlihatkan perilaku dari sebuah/ beberapa object melaluiperiode waktu.
Ada 2 jenisTiming diagram yaitu 
  1. Concise/simple notation: Dipakai untuk mengeksplorasi sebuah/beberapa object melalui periode waktu
  2. Robust notation
Diagram tersebut akan menjadi ideal ketika kita mampu menyeimbangkan ke-6 elemen yang ada, bukan menariknya ke satu atau dua arah saja. Tiap orang biasanya punya satu elemen yang dominan, tinggal bagaimana mengoptimalkan elemen-elemen yang lain saja.

11. Component Diagram
Diagram ini bila dikombinasikan dengan diagram penyebaran dapat digunakan untuk menggambarkan distribusi fisik dari modul perangkat lunak melalui jaringan. Misalnya, ketika merancang sistem client-server, hal ini berguna untuk menunjukkan mana kelas atau paket kelas akan berada pada node klien dan mana yang akan berada di server.
Diagram komponen juga dapat berguna dalam merancang dan mengembangkan sistem berbasis komponen. Karena berfokus pada analisis sistem berorientasi objek dan desain.

12. Deployment Diagram
Deployment diagram menggambarkan detail bagaimana komponen di deploy dalam infrastruktur system, dimana komponen akan terletak (pada mesin, server atau piranti keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Hubungan antar node ( misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

13. Interaction Overview Diagram
Interaction Overview Diagram adalah pecangkolan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan
Oke sekian artikel dari ane semoga bermanfaat

Wassalamu'alaikum Wr. Wb,

Sumber:
http://smartandro91.blogspot.co.id/2013/01/andro-max-i.html
http://blogs.unpas.ac.id/anharfirdaus/2014/12/11/jenis-jenis-diagram-uml-rpl/



Tidak ada komentar: