Friday, June 20, 2014

UNIFIED MODELING LANGUAGE (UML)

 
1.     PENGERTIAN UNIFIED MODELING LANGUAGE (UML)
Unified Modeling Language (UML) merupakan bahasa spesifikasi standar untuk mendokumentasikan, memvisualisasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat (tool) untuk mendukung pengembangan sistem tersebut. Bahasa UML sendiri menggunakan notasi grafis untuk mengekspresikan desain dari proyek perangkat lunak. UML mempermudah penggunanya untuk saling berkomunikasi, mengeksplorasi desain yang potensial, dan memvalidasi desain arsitektural dari perangkat lunak tersebut.
Tujuan utama dari UML adalah:
a.     Menyediakan bahasa visual modeling yang ekspresif dan siap digunakan sehingga penggunanya dapat mengembangkan dan saling berbagi model yang sesuai.
b.     Menyediakan perluasan dan spesialisasi mekanisme untuk memperluas konsep dasar.
c.      Menjadi suatu bahasa pemrograman dan proses pengembangan yang berdiri sendiri (independent).
d.     Menyediakan basis formal untuk memahami bahasa modeling (modeling language) .
e.     Memacu pertumbuhan dari OO tools market.
f.       Mendukung konsep pengembangan level tinggi seperti, kolaborasi, frameworks, pola, dan komponen-komponen.
g.      Mengintegrasikan penggunaan terbaik.
Dengan semakin berkembangnya nilai strategis penggunaan perangkat lunak bagi berbagai macam perusahaan, industri mencari teknik untuk mengotomatisasi produksi perangkat lunak dan untuk meningkatkan kualitas dan mengurangi biaya dan waktu untuk memasarkannya. Teknik tersebut termasuk teknologi komponen, pemrograman visual, pola-pola, dan frameworks. Dunia bisnis juga mencari teknik untuk mengatur kompleksitas dari sistem-sistem bersamaan dengan peningkatan area dan ukuran mereka. Secara khusus, mereka menyadari kebutuhan untuk menyelesaikan masalah-masalah arsitektural yang terus menerus muncul, seperti distribusi fisik, kesamaan pendapat (concurrency), penggandaan, keamanan,  penyeimbangan beban, dan toleransi kesalahan. Sebagai tambahan, perkembangan dari World Wide Web, sembari membuat beberapa hal menjadi lebih ringkas, telah memperburuk problem arsitektural dari hal tersebut. Oleh karena itu, UML diciptakan untuk menjawab kebutuhan untuk menyelesaikan masalah-masalah tersebut.

  1. SEJARAH UNIFIED MODELING LANGUAGE (UML)
Bahasa modeling berbasis objek yang teridentifikasi mulai muncul sekitar pertengahan 1970 dan dia akhir era 1980an sebagai berbagai macam metodologist bereksperimen dengan berbagai endekatan yang berbeda terhadap analisa dan desain yang berbasis objek. Jumlah bahasa modeling yang teridentifikasi meningkat dari kurang dari 10 menjadi lebih dari 50 dalam periode 1989 – 1994. Pengguna dari metode OO belum merasa puas dari masing-masing bahasa modeling yang muncul tersebut, dan memicu munculnya “perang metode”. Pada pertengahan era 1990an perulangan dari metode-metode tersebut kembali muncul dan mulai saling menyatukan masing-masing teknik, dan sedikit demi sedikit muncul metode yang lebih menjanjikan.
Perkembangan dari UML sendiri dimulai di akhir 1994 dimana dua orang dari Rational Software Corporation memulai pekerjaan mereka menyatukan metode Booch dan OMT (Object Modeling Technique). Pada musim semi 1995, Ivar Jacobson dan perusahaannya bergabung dengan Rational Software Corp. Dan memasukkan metode OOSE (Object-Oriented Software Engineering).
Sebagai pencipta dari metode Booch, OMT, dan OOSE, Grady Booch, Jim Rumbaugh, dan Ivar Jacobson termotivasi untuk menciptakan gabungan bahasa modeling dengan tiga alasan, yaitu:
1.     Metode-metode tersebut sudah berkembang terhadap satu sama lain secara independen. Tentu saja sangat masuk akal untuk melanjutkan evolusi tersebut secara bersamaan, dan mengeliminasi potensi dari  perbedaan yang tak dibutuhkan yang dapat membingungkan penggunanya.
2.     Dengan menggabungkan semantik-semantik dan notasi, mereka dapat menstabilkan pasar sistem berbasis objek, membiarkan proyek untuk menentukan satu bahasa modeling yang telah berkembang dan membiarkan tool builders tetap fokus untuk menciptakan lebih banyak fitur-fitur yang berguna.
3.     Mereka mengharapkan hasil kolaborasi mereka dapat memicu perbaikan dari tiga metode sebelumnya, membantu mereka menangkap hal-hal yang dipelajari dan menjawab masalah yang tidak bisa ditangani oleh metode-metode mereka yang sebelumnya.

2.1. UML 0.XX
Usaha dari Booch, Rumbaugh, dan Jacobson menghasilkan dokumentasi UML 0.9 dan 0.91 pada bulan juni dan oktober 1996 . selama tahun 1996 tersebut, para pencipta UML diundang dan menerima respond dari komunitas umum. Mereka menyatukan  respond-respond tersebut, dan melihat bahwa atensi tambahan masih dibutuhkan.
Saat Rational Software Corp. Menggabungkan UML, usaha lain juga sedang dilakukan untuk mencapai tujuan yang lebih luas bahasa modeling yang berstandar industri. Pada awal 1995, Jacobson dan Richard Soley (Chief Technology Officer dari OMG) memutuskan untuk mempercepat pencapaian standarisasi dari metode-metode ini. Pada juni 1995, Pertemuan para pencipta metode-metode yang diselenggarakan oleh OMG menghasilkan persetujuan internasional pertama untuk menetapkan standarisasi metode, dibawah pengawasan OMG.

2.2.UML 1.XX
Dalam tahun 1996 tersebut, telah terlihat bahwa beberapa organisasi memandang UML sebagai salah satu bentuk dari strategi bisnis mereka. Request for Proposal (RFP) yang dikeluarkan Object Management Group (OMG) menyediakan katalis bagi organisasi-organisasi tersebut untuk bergabung dan memberikan respon terhadap RFP tersebut. Rational Corp. Menyelenggarakan Konsorsium Rekanan UML  dengan beberapa organisasi yang bersedia menyediakan sumber sumber untuk menciptakan UML 1.0. Organisasi yang paling banyak berkontribusi antara lain: Digital Equipment Corp., HP, i-logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software, TI, dan Unisys. Kolaborasi ini menghasilkan UML 1.0, bahasa modeling yang terdefinisi dengan baik, ekspresif, powerful, dan dapat diaplikasikan secara umum. UML 1.0 diserahkan ke OMG  pada Januari 1997 sebagai hasil dari inisiasi respon RFP.
Pada Januari 1997, IBM, ObjecTime, Platinum Technology Ptech, Taskon, Reich Technologies dan Softeam juga menyerahkan respon terpisah dari RPF kepada OMG. Perusahaan-perusahaan tersebut bergabung ke dalam rekanan UML untuk mengkontribusikan ide-ide mereka bersama dengan seluruh rekanan memproduksi UML 1.1 yang sudah terevisi. Inti dari perilisan UML 1.1 adalah untuk meningkatkan kejelasan dari semantik semantik UML 1.0 dan menggabungkan kontribusi dari rekanan-rekanan yang baru. UML 1.1 diserahkan ke OMG, dan diterima pada musim gugur 1997.
     Sebagai notasi modeling, pengaruh dari notasi OMT mendominasi (contohnya: menggunakan pengkotakan untuk masing-masing kelas dan objek). Walaupun notasi “awan” dari Booch tidak digunakan, kemampuan Booch menspesifikasikan detail desain level rendah tetap digunakan. Notasi  Use case (salah satu langkah/tindakan dalam sistem software) dari Objectory dan notasi komponen dari Booch diintegrasikan dengan notasi lainnya, namun integrasi semantik masih terlihat lemah di UML 1.1 dan tidak diperbaiki dengan benar sampai dengan revisi di UML 2.0.
Konsep dari berbagai macam metode OO juga secara umum terintegrasi dengan UML dengan tujuan agar UML dapat mesuk ke semua metode. Banyak juga yang mengkontribusikan,  dengan pendekatan mereka yang memberi atmosfir terhadap model yang sedang beredar saat itu, termasuk: Tony Wasserman dan Peter Pircher dengan notasi “Object-Oriented Structured Design (OOSD)”, Ray Buhr dengan “ Systems Design with Ada”, Archie Bowen dengan use case dan timing analysis, Paul Ward dengan data analysis, dan David Harel dengan “Statecharts”; bersamaan dengan percobaan untuk memastikan perluasan cakupan terhadap sistem domain real-time. Hasilnya, UML berguna dalam berbagai macam masalah teknik,  dari proses tunggal, aplikasi-aplikasi pengguna tunggal yang bersamaan, sistem terdistribusi, yang membuat UML sangat luas cakupannya.

2.3.UML 2.x
UML telah berkembang secara signifikan sejak beberapa revisi dari UML 1.1 (UML 1.3, 1.4, dan 1.5) memperbaiki shortcomings dan bugs yang ada pada versi UML pertama, diikuti dengan revisi yang cukup besar yang dilakukan OMG pada tahun 2005.
Walaupun UML 2.1 tidak pernah dikeluarkan secara resmi, versi 2.1.1 dan 2.1.2 muncul di 2007, diikuti dengan UML 2.2 pada Februari 2009. Kemudian UML 2.3 diperkenalkan secara resmi pada Mei 2010. Untuk UML 2.4, sampai dengan Maret 2011 masih dalam tahap beta.
Ada 4 bagian dari spesifikasi UML 2.X, yaitu :
  1. The Superstrukture, yang menjelaskan notasi dan semantik untuk diagram dan elemen modelnya.
  2. The Infrastructure, yang menjelaskan metamodel dasar dimana The Superstructure berbasis.
  3. The Object Constraint Language (OCL), untuk menjelaskan aturan dari elemen model.
  4. The UML Diagram Interchange, yang menjelaskan bagaimana 2 buah layout diagram UML saling bertukar.
Versi terakhir yang beredar dari standar ini yaitu: UML Superstructure versi 2.3, UML Infrastructure Versi 2.3, OCL versi 2.2, dan UML Diagram Interchange versi 1.0.
Walaupun banyak UML tools yang mendukung fitur terbaru dari UML 2.x, OMG tidak menyediakan fasilitas test untuk menguji kecocokan dengan masing-masingSpesifikasi tersebut.

  1. TIPE-TIPE DIAGRAM UML
Masing-masing diagram UML didesain agar para pengembang dan pengguna dpat melihat sistem software dari perspektif yang berbeda dan dalam berbagai level abstraksi. Diagram UML biasanya dibuat dengan visual modeling tools termasuk yang berikut:
  1. Diagram Use Case (Use Case Diagram), menunjukan hubungan antara aktor dan use cases
  2. Diagram Kelas, (Class Diagram), menunjukkan struktur kelas model dan isinya menggunakan elemen desain seperti kelas-kelas, paket, dan objek. Diagram ini juga menunjuk hubungan seperti peraturan,  warisan, asosiasi, dan lainnya
  3. Diagram Interaksi (Interaction Diagrams), yang terbagi menjadi dua, yaitu:
1.     Diagram Urutan (Sequence Diagram), menunjukkan urutan-urutan dari objek yang berpartisipasi dalam interaksi. Diagram ini mengandung dimensi vertikal dan horizontal.
2.     Diagram Kolaborasi (Collaboration Diagram), menunjukan interaksi yang terorganisir di sekitar objek dan garis hubungan antara satu dan yang lainnya.
  1. Diagram Kondisi (State Diagram), menunjukkan urutan kondisi dari objek yang mengalami interaksi beserta respon dan tindakannya.
  2. Diagram Aktifitas (Activity Diagram), menunjukkan diagram kondisi yang spesial dimana kondisi yang terjadi hampir semuanya berupa tindakan dan hampir semua transisinya dipicu oleh penyelesaian tindakan dari kondisi sumbernya. Diagram ini fokus terhadap aliran dari proses internal.
  3. Diagram Fisik (Physical Diagrams), yang terbagi 2 yaitu:
1.     Diagram Komponen (Component Diagram), menunjukkan struktur paket level tinggi dari kode itu sendiri. Ketergantungan antar komponen juga ditunjukkan, termasuk kode sumber komponen, kode binary componen, dan komponen yang dapat di eksekusi. Beberapa komponen muncul pada waktu pengumpulan, penghubungan, dan saat pemakaian lebih dari satu kali.
2.     Diagram Persiapan (Deployment Diagram), menunjukkan konfigurasi dari elemen pemrosesan run-time dan komponen-komponenin software, proses, dan objek yang ada padanya.  Bagian Komponen software tesebut mewakili manifestasi run-time dari unit-unit kode.



 
Sumber :
http://www.uml.org/

No comments:

Post a Comment