RUP & UML
RUP & UML
Topik bahasan pada pertemuan kali ini adalah RUP (Rational Unified Process), UML (Unified Modeling Language), dan fase-fase dalam RUP.
- Rational Unified Process
Sejarah perkembangan RUP :
1. Rational Machines yang diciptakan oleh Paul Levy dan Mike Devlin pada tahun 1981. Mereka meyedaiakan tools untuk pengembangan software engineering, terintegrasi dengan ADA Programming Language.
2. Grady Booch, menciptakan Object Oriented Design (OOD)
RUP merupakan pedoman-pedoman umum dalam pembuatan software dengan difokuskan pada analisa kebutuhan dan desain.
RUP terdiri dari 2 dimensi, antara lain Time dan Komponen Process.
Time bertujuan untuk pembagian life cycle menjadi fase-fase sedangkan Komponen Process adalah rutan langkah-langkah dalam pembangunan sebuah software.
Proses mendefinisikan siapa (WHO) melakukan apa (WHAT), kapan (WHEN), dimana (WHERE), dan bagaimana (HOW) untuk mencapai sebuah tujuan.
Berikut gambaran proses pembangunan software :
Business Modeling = mengidentifikasi kemampuan sistem yang akan dibuat dan keinginan user.
Requirment = narasi tujuan bersama tentang kebutuhan fungsional dan kebutuhan dan fungsional.
Analysis dan Design = gambaran tentang bagaimana sistem akan dibuat pada tahap implementasi.
Implementation = proses coding dengan hasil berupa exe.
Test = verifikasi sistem secara menyeluruh.
Deployment = pemasangan sistem dan training user.
- Unified Modeling Language merupakan bagian dari RUP. UML pertama kali ada pada Oktober 1995. UML merupakan model yang mendeskripsikan sistem secara lengkap dari perspektif tersendiri. Salah satu diantaranya adalah use case diagram, yang mengilustrasikan proses yang dapat diakses oleh seorang aktor.
Aktor merupakan sesuatu atau seseorang diluar sistem yang berinteraksi dengan sistem itu sendiri.
Keuntungan use case antara lain yaitu ringkas, sederhana dan dipahami oleh berbagai pihak. Use case membantu sinkronasi isi model yang berbeda. Use case mengatur sejumlah aktifitas dalam proses : pembuatan dan validasi model desain, perencanaan iterasi, pembuatan dokumentasi bagi pengguna, dan sistem deployment.
Flow of event merupakan urutan proses yang harus dilakukan pada sebuah event atau aktifitas dalam sistem.
- Fase-fase RUP :
Inception adalah fase planning dan pemetaan kebutuhan .Fase inception merupakan fase permulaan jika pembuatan software menggunakan
metode Unifide Proses. Kegiatan utama yang dilakukan fase insepsi adalah
pembuatan bisnis model dan persyaratan (requirements). Fase insepsi juga
sudah terdapat alur kerja atau kegiatan yang baru dimulai sedikit, yaitu
analisa dan desain, serta uji coba.Pada
fase inception, pengembang perangkat lunak melakukan perbandingan dengan
berbagai sistem yang ada, sebagai langkah awal untuk mengidentifikasi
kebutuhan-kebutuhan sistem dan membuat alur sistem yang hendak dibuat. Alur
sistem berbicara tentang ke arah mana dan ke siapa data dialirkan pada sistem.
Sehingga sistem yang akan dibuat dapat berfungsi secara maksimal sesuai dengan
kebutuhan pengguna. Kemudian dilakukan analisa secara garis besar terhadap
permasalahan dan kebutuhan sistem yang telah diidentifikasi sebelumnya. Setelah
itu, barulah masuk pada tahapan desain dimana sistem dimodelkan secara umum
atau secara garis besar.
Pada tahap implementasi membuat prototipe konsep dari program. Sedangkan pada
tahap test,
belum terdapat ujicoba yang dilakukan.
Elaboration merupakan fase desain yang biasanya diisi dengan desain tabel, mock up, pembahasan sistem lama dan baru, dll. Fase elaboration terjadi saat fase insepsi
dinyatakan selesai. Fase elaborasi ini juga merupakan fase yang paling kritis
karena tujuannya adalah untuk menganalisa masalah dan melakukan semua proses
alur kerja yang terdapat pada Unified Process. Kegiatan dengan porsi
terbesar terletak pada persyaratan serta analisis dan desain. Analisa dan
desain dimulai setelah mendapatkan pemahaman awal tentang sistem bersamaan
dengan implementasi dan uji coba.
Pada fase elaboration dilakukan pematangan konsep-konsep yang dibentuk pada fase inception. Pematangan konsep yang dilakukan berupa perbaikan terhadap kebutuhan sistem, seperti penambahan fitur atau penambahan alur sistem. Pada tahap dapat didesain dengan maksimal. Pada tahap implementasi, hasil dari analisa dan desain yang telah dibuat pada tahapan sebelumnya mulai dibangun pada program.
Construction adalah fase coding atau pembangunan software. Fase Construction memiliki tujuan utama untuk mengembangkan proyek dalam
bentuk koding. Itulah sebabnya, proses implementasi menduduki puncak tertinggi
pada fase ini. Sebaliknya, bisnis model mulai menurun bersamaan dengan
persyaratan serta analisis dan desain, sedangkan uji coba dan pengembangan
meningkat.
Pada
fase construction dilakukan implementasi berupa coding, dimana pembuatan sistem
mengacu kepada hal-hal yang telah ditentukan pada fase-fase sebelumnya. Pada
tahap business modeling, pengembang menyelidiki dan melakukan perbaikan
terhadap kebutuhan sistem yang belum terpikirkan sebelumnya. Pada tahap
analysis dilakukan
penyempurnaan analisis model, pada tahap desain dilakukan penyelesaian desain
model. Pada tahap test dilakukan pengetesan terhadap operasi sistem yang telah
dibuat. Test
yang dilakukan akan menjadi lebih sering dilakukan pada saat mendekati akhir
fase.
Transition merupakan fase perubahan dan koreksi apabila ada kesalahan atau kekurangan setelah proses testing. Setelah semua selesai dan benar maka proses deployment akan dilakukan, yaitu memberikan produk software kepada customer. Tujuan utama fase transisi adalah untuk
peralihan proyek dari tangan pembuat system menuju tangan pengguna akhir
sistem. Puncak tertinggi terdapat pada proses uji coba dan pengembangan atau
proses instalasi
Pada fase ini dilakukan penyelesaian implementasi
dan melakukan testing secara berulang-ulang untuk mematangkan program akhir
yang telah selesai dibuat. Pematangan program perlu dilakukan untuk menganalisa
apakah program yang telah selesai dibuat sesuai dengan kebutuhan pengguna serta
melakukan perbaikan jika terdapat bug. Tahap business modeling dan analysis
sudah tidak diperlukan karena sudah merupakan fase akhir, tetapi tetap dapat
dilakukan apabila masih terdapat kebutuhan. Pada tahap desain
dapat sedikit diubah jika ditemukan masalah selama masa testing. Pada tahap implementasi dan test, dilakukan
penyesuaian sesuai dengan hasil uji coba dari sisi pengguna dan setiap masukan
yang didapat adalah perkembangan untuk aplikasi.
Comments
Post a Comment