Container Icon

Apa sih UML ?

APA SIH UML ITU?

UML singkatan dari Unified Modeling Language. UML adalah bahasa standar industri pengembangan software untuk melakukan spesialisasi, visualisasi, konstruksi dan dokumentasi artefak software system.
    Dengan menggunakan UML, Programmer, Team Leaders, Analyst, Architects membuat semacam cetak-biru untuk sebuah project yang nantinya akan memudahkan dalam proses pengembangannya.

Pendek cerita UML bisa dibayangkan 'mirip-mirip' dengan flowchart pada waktu mau bikin skema proses jaman dulu...8-) Cuma UML lebih kompleks dari sekedar flow chart. Jadi UML bukan bahasa pemrograman. Diagram-diagram yang kita buat dengan UML bisa diimplementasikan dengan bahasa pemrograman berorientasi object seperti Java, C#, C++, Delphi, dll.

UML sendiri bisa dibuat dengan paper-pencil-system atau dengan tool-tool yang sudah canggih-canggih... Bahkan sekarang, Client pun seharusnya 'bisa' membaca UML agar mengerti proses aplikasi yang dikerjakan vendor untuk-nya. Jadi tidak sekedar membeli 'aplikasi dalam karung' yang tidak berapa lama sudah tidak sesuai lagi dengan kebutuhannya. Dari sisi pengembang pun bisa
mengurangi development cycle akibat client terlalu banyak melakukan perubahan.

Jadi kelebihannya secara umum ya lebih teratur dan terstruktur dalam pembuatan software atau aplikasi, lebih cepat karena segala sesuatunya sudah jelas, dll. Namun UML dipandang masih mempunyai kekurangan karena masih terdapatnya kekurangan dalam meng-generate kode program secara komplit.
Kenapa hal ini terjadi? Dalam analisis yang saya coba lakukan, hal ini karena kurangnya cara memodelkan aspek kelakuan internal perangkat lunak untuk dipetakan ke dalam kode program. Seperti yang kita ketahui, diagram UML yang dapat menghasilkan kode hanyalah diagram class, namun itupun hanya baru sebatas kerangka kodennya saja dan tidak bisa meng-generate badan program-nya.


Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
1.Use Case Diagram untuk memodelkan proses bisnis.
2.Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
3.Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
4.Collaboration Diagram untuk memodelkan interaksi antar objects.
5.State Diagram untuk memodelkan perilaku objects di dalam sistem.
6.Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
7.Class Diagram untuk memodelkan struktur kelas.
8.Object Diagram untuk memodelkan struktur object.
9.Component Diagram untuk memodelkan komponen object.
10.Deployment Diagram untuk memodelkan distribusi aplikasi.


Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.[4]

Use Case Diagram
Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. [4]Use case diagram terdiri atas diagram untuk use case dan actor.[4] Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.[4]
Use case merepresentasikan operasi-operasi yang dilakukan oleh actor.[4] Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.[4]

Sequence Diagram
Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.[5]



Collaboration diagram
dipakai untuk memodelkan interaksi antar object di dalam sistem.[4] Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object.[4]

Class Diagram
Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek.[5] Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan.[5]

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar

Apa pendapatmu??^^

B_E_T_Z