UML merupakan bahasa modeling standar dalam software / system development yang berbasiskan konsep object oriented. UML lahir karena banyaknya modeling language sehingga sulit sekali untuk mengembangkan suatu desain software yang berbasis object oriented. Model yang satu dengan yang lain mempunyai standar notasi yang berbeda untuk maksud yang sama sehingga bisa membingungkan pada saat implementasi.
The objective of UML is to provide system architects, software engineers and software developers with tools for the analysis, design and implementation of software-based systems, as well as for modeling business and similar processes.
UML merupakan bahasa pemodelan yang memadukan tiga modeling terbesar saat itu, yaitu OMT, Booch, dan OOSE. Saat ini UML menjadi standar seluruh dunia dalam pemodelan sistem/software di bawah naungan Object Management Group (OMG), sebuah organisasi nirlaba yang mengawasi Ommon Object Request Broker Architecture (CORBA).
Karena UML merupakan bahasa pemodelan, maka untuk implementasinya tergantung dari metode dan kebutuhanya. Memang seringkali terjadi perselisihan persepsi dalam menggunakan UML, hal ini bisa dihindari dengan pemahaman UML dan menggunakan cara pandang (metode) yang sama. Beberapa contoh metode yang dapat digunakan antara lain IBM Rational Unified Process (RUP), Abstraction, Dynamic System Development, ICONIX Process, dan sebagainya.
Keuntungan menngunakan UML, antara lain :
- Formal Languange, memiliki definisi arti yang kuat sehingga membuat kita nyaman dalam memodelkan sistem karena mengurangi kesalahpahaman.
- Concise, notasi yang sederhana dan mudah.
- Comprehensive, menggambarkan semua aspek penting dari sistem.
- Scalable, dapat disesuaikan dengan kebutuhan project besar atau kecil.
- Built on Lessons Learned, puncak dari praktek-praktek terbaik komunitas object oriented.
- Standard, dikontrol oleh grup open standard dengan kontribusi aktif dari vendor dan akademisi di seluruh dunia.
Software Development Process
Proses software development adalah resep yang digunakan untuk membangun ketergantungan dan kemampuan software tersebut, bagaimana dia dibangun, siapa dan apa yang dikerjakan, dan time frame seluruh aktivitasnya. Proses bertujuan untukmembawa disiplin dan perkiraan terhadap software development, meningkatkan tingkat kesuksesan dari sebuah project.
Berikut merupakan beberapa software development process yang tekenal, antara lain :
1. Waterfall
Yaitu proses sekuensial dimana proses mengalir ke bawah seperti air terjun. Setelah mengumpulkan requirement, desain software dibuat secara keseluruhan. Tahap setelah desain selesai adalah implementasi. Pada Waterfall, jika terjadi perubahan requirement maka keseluruhan project yang telah dibuat akan teganggu sehingga harus dilakukan perubahan dari awal.
2. Iterative and Incremental
Yaitu psroses dengan siklus berulan dan dengan porsi yang lebih kecil terus menerus. Unified process dikenal sebagai iterative process. Pada Iterative and Incremental mengandung beberapa fase dan setiap fase terdiri atas sejumlah aktivitas seperti : requirement, desain, dan implementasi. Proses ini menggunakan UML dari sketsa sampai blueprint.
3. Agile Method
Yaitu berdasarkan metode iterative tetapi requirement dan solusi berkembang melalui kolaborasi di dalam organisasi lintas tim fungsional secara ekstrim. Agile method menggunakan UML sebagai sebuah sketsa.
Model Diagram UML
Banyak cara untuk memecah model diagram UML ke dalam perspektif yang menangkap salah satu bagian dari system, salah satunya adalah model 4+1 nya Philippe Kruchten, yaitu logical view, process view, development view, physical view, dan use case view.
Logical View
Menggambarkan deskripsi abstrak dari bagian sistem. Digunakan untuk memodelkan sistem apa yang dibuat dan bagaimana setiap bagian saling berinteraksi. Diagram UML yang membangun tipe ini termasuk class, object, state machine, dan iteraction diagram.
Process View
Menjabarkan proses-proses di dalam sistem. Membantu dalam menggambarkan apa yang harus terjadi di dalam sistem. View ini menggunakan activity diagram.
Development View
Menampilkan bagaimana bagian-bagian sistem diatur ke dalam modul dan komponen. View ini berguna dalam mengatur layer system architecture. Biasanya menggunakan Package dan Component Diagram.
Physical View
Menggambarkan bagaimana desain sistem sebagaimana yang dijabarkan oleh tiga view sebelumnya, dibawa ke dunia nyata. Diagram di dalam view ini menunjukkan bagaimana bagian yang abstrak dipetakan ke dalam deployed system akhir. Diagram yang digunakan adalah Depolyment Diagram.
Use Case View
Menampilkan fungsionalitas sitem yang sedang dimodelkan dipandang dari perseptif dunia luar. View ini dibutuhkan untuk menggambarkan apa yang sistem harus lakukan. Semua view bergantung pada view ini, itulah mengapa konsep yang disebut 4+1. Diagram yang dipakai pada view ini adalah Use Case, Descryption, dan Overview Diagram.


The Latest Comments