Pemodelan dengan UML - Unified Modeling Language Pembahasan Lengkap
"The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system.
The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software
components."
Unified Modelling Language (UML) adalah suatu alat untuk memvisualisasikan dan mendokumentasikan hasil analisa dan desain yang berisi sintak dalam memodelkan sistem secara visual (Braun, et. al. 2001).
Juga merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whitten, et. al. 2004).
"The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system.
The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software
components."
Unified Modelling Language (UML) adalah suatu alat untuk memvisualisasikan dan mendokumentasikan hasil analisa dan desain yang berisi sintak dalam memodelkan sistem secara visual (Braun, et. al. 2001).
Juga merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whitten, et. al. 2004).
Tujuan Penggunaan UML
- Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.
- Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
- Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
- UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).
Sejauh ini para pakar merasa lebih mudah dalam menganalisa dan mendesain atau memodelkan suatu sistem karena UML memiliki seperangkat aturan dan notasi dalam bentuk grafis yang cukup spesifik (Sugrue J. 2009).
Komponen atau notasi UML diturunkan dari 3 (tiga) notasi yang telah ada sebelumnya yaitu Grady Booch, OOD (Object-Oriented Design), Jim Rumbaugh, OMT (Object Modelling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
Komponen atau notasi UML diturunkan dari 3 (tiga) notasi yang telah ada sebelumnya yaitu Grady Booch, OOD (Object-Oriented Design), Jim Rumbaugh, OMT (Object Modelling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
BAGIAN-BAGIAN UML
Bagian-bagian utama dari UML adalah view, diagram, model element, dan general mechanism.
a. 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.
b. 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 diagramsdan kadang-kadang
dengan activity diagrams. Viewini digunakan terutama untuk pelanggan,
perancang (designer), pengembang (developer), dan penguji sistem
(tester).
c. Logical view
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis
(class, object,danrelationship ) 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).
d. 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).
e. 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).
f. Deployment view
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana hubungannya dengan lainnya.
View ini digambarkan dalam deployment diagramsdan digunakan untuk
pengembang (developer), pengintegrasi (integrator), dan penguji
(tester).
g. 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 :
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. Use casemerupakan konstruksi untuk
mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan
use case diagram memfasilitasi komunikasi diantara analis dan pengguna
serta antara analis dan client.
2. 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.
3. Component Diagram
Component software merupakan bagian fisik dari sebuah system, karena
menetap di komputer tidak berada di benak para analis. Komponent
merupakan implementasi software dari sebuah atau lebih class. 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.Sehingga component diagram merepresentasikan
dunia riil yaitu component software yang mengandung component, interface
dan relationship.
4. Deployment Diagram
Menggambarkan tata letak sebuah system secara fisik, menampakkan
bagian-bagian software yang berjalan pada bagian-bagian hardware,
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.
5. 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 stateyang berbeda.
6. Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah
scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim
antara object juga interaksi antaraobject, sesuatu yang terjadi pada
titik tertentu dalam eksekusi sistem.
7. Collaboration Diagram
Menggambarkan kolaborasi dinamis sepertisequence diagrams. Dalam
menunjukkan pertukaran pesan, collaboration
diagrams menggambarkan objectdan hubungannya (mengacu ke konteks). Jika
penekannya pada waktu atau urutan gunakansequencediagrams, tapi jika
penekanannya pada konteks gunakan collaboration diagram.
8. 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 caseatau
interaksi.
Perangkat lunak yang mendukung pembuatan diagaram UML
- StarUML (http://staruml.sourceforge.net/en/)
StarUML adalah sebuah proyek open source untuk mengembangkan cepat,
fleksibel, extensible, featureful, dan bebas-tersedia UML / platform MDA
berjalan pada platform Win32.Tujuan dari proyek StarUML adalah untuk
membangun sebuah alat pemodelan perangkat lunak dan juga platform yang
menarik adalah pengganti alat UML komersial seperti Rational Rose,
Bersama dan sebagainya
2. Acceleo (http://www.acceleo.org/pages/home/en)
Acceleo adalah generator kode yang mengubah model menjadi kode. Acceleo
mudah digunakan dan menyediakan “dari rak” generator (Jee,. Bersih, Php
…) dan template editor untuk Eclipse.
3. ArgoUML (http://argouml.tigris.org/)
ArgoUML adalah open source UML modeling tool terkemuka dan termasuk
dukungan untuk semua diagram UML standar 1,4. Ini berjalan pada setiap
platform Java dan tersedia dalam bahasa sepuluh. ArgoUML ditulis
seluruhnya di Jawa dan menggunakan Java Kelas Foundation.Hal ini
memungkinkan ArgoUML untuk berjalan di hampir semua platform
PROSES MEMBANGUN UMLLangkah-Langkah Penggunaan UML Batasan sistem harus ditentukan terlebih dahulu, tujuannya agar pemakai mengetahui dengan lingkungan mana saja sistem mereka berhubungan, untuk itu setiap komponen actor, (sumber atau tujuan) ini harus diberi nama sesuai dengan lingkungan luar yang mempengaruhi sistem ini.
Berikut ini tahapan penggunaan UML (Dharwiyanti. 2008) :
- Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul dengan menentukan item-item data apa saja yang akan ditempatkan dalam sistem.
- Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
- Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
- Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
- Berdasarkan use case diagram, mulailah membuat activity diagram.
- Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.
- Buatlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.
- Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodenya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
- Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan classmenjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
- Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
- Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
- Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu. Lakukan uji modul dan uji integrasi serta perbaiki model berserta code-nya. Model harus selalu sesuai dengan code yang aktual.
- Piranti lunak siap dirilis.
Tutorial UML ini semoga bermanfaat, buat kita semua
Informasi lebih lengkap:
oleh fsakti
FASANA IT | Tutorial Computer
Updated at :
21.27
Anda suka artikel di atas ???
Klik salah satu atau ketiga tombol di bawah ini :
Klik salah satu atau ketiga tombol di bawah ini :
0 komentar:
Posting Komentar