·
Pengenalan
UML
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.
·
Sejarah
Singkat UML
UML dimulai secara resmi pada oktober 1994, ketika
Rumbaugh bergabung dengan Booch pada Relational Software Corporation. Proyek
ini memfokuskan pada penyatuan metode Booch dan OMT. UML versi 0.8 merupakan
metode penyatuan yang dirilis pada bulan Oktober 1995. Dalam waktu yang sama,
Jacobson bergabung dengan Relational dan cakupan dari UML semakin luas sampai
diluar perusahaan OOSE. Dokumentasi UML versi 0.9 akhirnya dirilis pada bulan
Juni 1996. Meskipun pada tahun 1996 ini melihat dan menerima feedback dari
komunitas Software Engineering. Dalam waktu tersebut, menjadi lebih jelas bahwa
beberapa organisasi perangkat lunak melihat UML sebagai strategi dari
bisnisnya. Kemudian dibangunlah UML Consortium dengan beberapa organisasi yang
akan menyumbangkan sumber dayanya untuk bekerja, mengembangkan, dan melengkapi
UML.
Di sini beberapa partner yang
berkontribusi pada UML 1.0, diantaranya Digital Equipment Corporation,
Hewlett-Packard, I -Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse,
Microsoft, Oracle, Relational, Texas Instruments dan Unisys. Dari kolaborasi
ini dihasilkan UML 1.0 yang merupakan bahasa pemodelan yang ditetapkan secara
baik, expressive, kuat, dan cocok untuk lingkungan masalah yang luas. UML 1.0
ditawarkan menjadi standarisasi dari Object Management Group (OMG). Dan pada
Januari 1997 dijadikan sebagai standar bahasa pemodelan.
Antara Januari–Juli 1997 gabungan
group tersebut memperluas kontribusinya sebagai hasil respon dari OMG dengan
memasukkan Adersen Consulting, Ericsson, ObjectTimeLimeted, Platinum Technology,
Ptech, Reich Technologies, Softeam, Sterling Software dan Taskon. Revisi dari
versi UML (versi 1.1) ditawarkan kepada OMG sebagai standarisasi pada bulan
Juli 1997. Dan pada bulan September 1997, versi ini dierima oleh OMG Analysis
dan Design Task Force (ADTF) dan OMG ArchitectureBoard. Dan Akhirnya pada Juli
1997 UML versi 1.1 menjadi standarisasi.
Pemeliharaan UML terus dipegang oleh OMG Revision
Task Force (RTF) yang dipimpin oleh Cris Kobryn. RTP merilis editorial dari UML
1.2 pada Juni 1998. Dan pada tahun 1998 RTF juga merilis UML 1.3 disertai
dengan user guide dan memberikan technical cleanup.
·
Pengertian
UML
Unified Modeling Language (UML) adalah bahasa untuk
menspesifikasi, memvisualisasi, membangun dan mendokumentasikan artifacts (bagian
dari informasi yang digunakan atau dihasilkan oleh proses pembuatan perangkat
lunak, artifact tersebut dapat berupa model, deskripsi atau perangkat lunak)
dari sistem perangkat lunak, seperti pada pemodelan bisnis dan sistem non
perangkat lunak lainnya [HAN98]. Selain itu UML adalah bahasa pemodelan yang
menggunakan konsep orientasi object. UML dibuat oleh Grady Booch, James
Rumbaugh, dan Ivar Jacobson di bawah bendera Rational Software Corp [HAN98].
UML menyediakan notasi-notasi yang membantu memodelkan sistem dari berbagai
perspektif. UML tidak hanya digunakan dalam pemodelan perangkat lunak, namun
hampir dalam semua bidang yang membutuhkan pemodelan..
Bagian-bagian Dari UML Bagian-bagian utama dari UML
adalah view, diagram, model element, dan general mechanism.
1.
View View
digunakan untuk melihat sistem yang dimodelkan dari
beberapa aspek yang berbeda. View bukan melihat grafik, tapi merupakan suatu
abstraksi yang berisi sejumlah diagram.
Beberapa jenis view
dalam UML antara lain: use case view, logical view, component view, concurrency
view, dan deployment view. Use case
view Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai
yang diinginkan external actors. Actor yang berinteraksi dengan sistem dapat
berupa user atau sistem lainnya. View ini digambarkan dalam use case diagrams
dan kadang-kadang dengan activity diagrams. View ini digunakan terutama untuk
pelanggan, perancang (designer), pengembang (developer), dan penguji sistem
(tester).
·
Logical view
Mendeskripsikan bagaimana fungsionalitas dari
sistem, struktur statis (class, object, dan relationship ) dan kolaborasi
dinamis yang terjadi ketika object mengirim pesan ke object lain dalam suatu
fungsi tertentu. View ini digambarkan dalam class diagrams untuk struktur statis
dan dalam state, sequence, collaboration, dan activity diagram untuk model
dinamisnya. View ini digunakan untuk
perancang (designer) dan pengembang (developer).
·
Component
view
Mendeskripsikan implementasi dan ketergantungan
modul. Komponen yang merupakan tipe lainnya dari code module diperlihatkan
dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan
informasi administrative lainnya. View ini digambarkan dalam component view dan
digunakan untuk pengembang (developer).
·
Concurrency
view
Membagi sistem ke dalam proses dan prosesor. View
ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan
activity diagrams) dan diagram implementasi (component dan deployment diagrams)
serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan
penguji (tester).
·
Deployment
view
Mendeskripsikan fisik dari sistem seperti komputer
dan perangkat (nodes) dan bagaimana hubungannya dengan lainnya. View ini
digambarkan dalam deployment diagrams dan digunakan untuk pengembang
(developer), pengintegrasi (integrator), dan penguji (tester).
2.
Diagram
Diagram berbentuk grafik yang menunjukkan simbol
elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu
dari sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan
ketika digambarkan biasanya dialokasikan untuk view tertentu. Adapun jenis
diagram antara lain :
·
Use
Case Diagram
Menggambarkan sejumlah external actors dan
hubungannya ke use case yang diberikan oleh sistem. Use case adalah deskripsi
fungsi yang disediakan oleh sistem dalam bentuk teks sebagai dokumentasi dari
use case symbol namun dapat juga dilakukan dalam activity diagrams. Use case
digambarkan hanya yang dilihat dari luar oleh actor (keadaan lingkungan sistem
yang dilihat user) dan bukan bagaimana fungsi yang ada di dalam sistem.
·
Class
Diagram
Menggambarkan struktur statis class di dalam sistem.
Class merepresentasikan sesuatu yang ditangani oleh sistem. Class dapat
berhubungan dengan yang lain melalui berbagai cara: associated (terhubung satu
sama lain), dependent (satu class tergantung/menggunakan class yang lain),
specialed (satu class merupakan spesialisasi dari class lainnya), atau package
(grup bersama sebagai satu unit). Sebuah sistem biasanya mempunyai beberapa
class diagram.
·
State
Diagram
Menggambarkan semua state (kondisi) yang dimiliki
oleh suatu object dari suatu class dan keadaan yang menyebabkan state berubah.
Kejadian dapat berupa object lain yang mengirim pesan. State class tidak
digambarkan untuk semua class, hanya yang mempunyai sejumlah state yang
terdefinisi dengan baik dan kondisi class berubah oleh state yang berbeda.
·
Sequence
Diagram
Menggambarkan kolaborasi dinamis antara sejumlah
object. Kegunaanya untuk menunjukkan rangkaian pesan yang dikirim antara object
juga interaksi antara object, sesuatu yang terjadi pada titik tertentu dalam
eksekusi sistem.
·
Collaboration
Diagram
Menggambarkan kolaborasi dinamis seperti sequence
diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams
menggambarkan object dan hubungannya (mengacu ke konteks). Jika penekannya pada
waktu atau urutan gunakan sequence diagrams, tapi jika penekanannya pada
konteks gunakan collaboration diagram.
·
Activity
Diagram
Menggambarkan rangkaian aliran dari aktivitas,
digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi
sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case atau
interaksi.
·
Component
Diagram
Menggambarkan struktur fisik kode dari komponent.
Komponent dapat berupa source code, komponent biner, atau executable component.
Sebuah komponent berisi informasi tentang logic class atau class yang
diimplementasikan sehingga membuat pemetaan dari logical view ke component
view.
·
Deployment
Diagram
Menggambarkan arsitektur fisik dari perangkat keras
dan perangkat lunak sistem, menunjukkan hubungan komputer dengan perangkat
(nodes) satu sama lain dan jenis hubungannya. Di dalam nodes, executeable
component dan object yang dialokasikan untuk memperlihatkan unit perangkat
lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.
Gambaran
dari UML
·
UML sebagai Bahasa Pemodelan
UML merupakan bahasa pemodelan yang memiliki
pembendaharaan kata dan cara untuk mempresentasikan secara fokus pada
konseptual dan fisik dari suatu sistem. Contoh untuk sistem software yang
intensive membutuhkan bahasa yang menunjukkan pandangan yang berbeda dari
arsitektur sistem, ini sama seperti menyusun/mengembangkan software development
life cycle. Dengan UML akan memberitahukan kita bagaimana untuk membuat dan
membaca bentuk model yang baik, tetapi UML tidak dapat memberitahukan model apa
yang akan dibangun dan kapan akan membangun model tersebut. Ini merupakan
aturan dalam software development process.
·
UML sebagai bahasa untuk Menggambarkan
Sistem (Visualizing)
UML tidak hanya merupakan rangkaian simbol grafikal,
cukup dengan tiap simbol pada notasi UML merupakan penetapan semantik yang
baik. Dengan cara ini, satu pengembang dapat menulis model UML dan pengembang
lain atau perangkat yang sama lainnya dapat mengartikan bahwa model tersebut
tidak ambigu. Hal ini akan mengurangi error yang terjadi karena perbedaan
bahasa dalam komunikasi model konseptual dengan model lainnya.
UML menggambarkan model yang dapat
dimengerti dan dipresentasikan ke dalam model tekstual bahasa pemograman.
Contohnya kita dapat menduga suatu model dari sistem yang berbasis web tetapi
tidak secara langsung dipegang dengan mempelajari code dari sistem. Dengan
model UML maka kita dapat memodelkan suatu sistem web tersebut dan direpresentasikan
ke bahasa pemrograman. UML merupakan
suatu model eksplisit yang menggambarkan komunikasi informasi pada sistem.
Sehingga kita tidak kehilangan informasi code implementasi yang hilang
dikarenakan developer memotong coding dari implementasi.
·
UML sebagai bahasa untuk
Menspesifikasikan Sistem (Specifying)
Maksudnya membangun model yang sesuai, tidak ambigu
dan lengkap. Pada faktanya UML menunjukan semua spesifikasi keputusan analisis,
desain dan implementasi yang penting yang harus dibuat pada saat pengembangan
dan penyebaran dari sistem software intensif.
·
UML sebagai bahasa untuk Membangun
Sistem (Constructing)
UML bukan bahasa pemograman visual, tetapi model UML dapat dikoneksikan secara langsung
pada bahasa pemograman visual. Maksudnya membangun model yang dapat dimapping
ke bahasa pemograman seperti java, C++, VB
atau tabel pada database relational atau penyimpanan tetap pada database
berorientasi object.
·
UML sebagai bahasa untuk
Pendokumentasian Sistem (Documenting)
Maksudnya UML menunjukan dokumentasi dari arsitektur
sistem dan detail dari semuanya.UML hanya memberikan bahasa untuk
memperlihatkan permintaan dan untuk tes UML menyediakan bahasa untuk memodelkan
aktifitas dari perencanaan project dan manajemen pelepasan (release
management).
Area
Penggunaan UML
UML digunakan paling efektif pada domain seperti :
- Sistem
Informasi Perusahaan
- Sistem
Perbankan dan Perekonomian
- Bidang
Telekomunikasi
- Bidang
Transportasi
- Bidang
Penerbangan
- Bidang
Perdagangan
- Bidang
Pelayanan Elekronik
- Bidang
Pengetahuan
- Bidang
Pelayanan Berbasis Web Terdistribusi
Komentar
Posting Komentar