Metode Rational
Unified Process (RUP) merupakan metode pengembangan perangkat lunak yang iterative dan incremental serta berfokus pada arsitektur. Metode RUP dapat
menangani risiko yang berhubungan dengan pengembangan kebutuhan sistem
berdasarkan perubahan yang diinginkan oleh klien. Untuk mengurangi risiko
tersebut dilakukan dengan pengujian pada setiap akhir tahapan RUP, sehingga
akan mudah melakukan perubahan sebelum mencapai tahap akhir. Metode RUP juga
mengutamakan kepuasan pengguna sehingga lebih sering melakukan interaksi dengan
pengguna[1].
Rational Unified Process merupakan
pengembangan perangkat lunak yang dilakukan berulang-ulang (iterative), berfokus pada arsitektur (architecture-centric), dan lebih
diarahkan berdasarkan penggunaan kasus (use
case driven). RUP menyediakan pendefinisian struktur yang baik untuk lifecycle proyek perangkat lunak. Model
proses pengembangan
perangkat lunak RUP
dapat dilihat pada
Gambar 2.2 berikut.
Arsitektur rational
unified process[2].
RUP memiliki empat tahap yaitu inception, elaboration, construction, dan transition[3]. Berikut penjelasan mengenai empat
tahap pengembangan RUP.
1.
Inception
Tahap ini lebih pada memodelkan
proses bisnis yang dibutuhkan (business
modeling),
mendefinisikan
kebutuhan akan
sistem yang akan dibuat
(requirement)
serta analisis dan desain.
2.
Elaboration
Tahap ini lebih difokuskan pada
perencanaan arsitektur sistem. Tahap ini juga
dapat mendeteksi apakah arsitektur
sistem yang diinginkan dapat dibuat
atau tidak. Tahap ini lebih pada
analisis dan desain sistem serta implementasi sistem yang fokus
pada purwarupa sistem (prototype).
3.
Construction
Tahap ini fokus pada pengembangan
komponen dan fitur- fitur sistem. Tahap
ini lebih pada implementasi dan
pengujian sistem yang
fokus pada implementasi perangkat lunak pada kode
program.
4.
Transition
Tahap ini lebih pada deployment atau instalasi sistem agar dapat dimengerti oleh
user.
Aktivitas pada tahap ini termasuk pada pelatihan user
dan pengujian
sistem apakah
sudah memenuhi harapan
user.
RUP memiliki sembilan core workflows yang merepresentasikan kegiatan pengembangan. Terbagi menjadi dua
kategori yaitu Core Process Workflows dan Core
Supporting Workflows.
Core Process Workflows terdiri
dari business modelling, requirement, analysis
& design, implementation, test, dan deployment.
Core Supporting
Workflows terdiri dari project management, configuration & change management, dan environment.
Core Process Workflow merupakan kegiatan yang bersifat pokok. Berikut
penjelasan lebih lengkap:
1.
Business Modelling
Dalam
business modelling
terdapat pendokumentasian proses bisnis menggunakan kasus penggunaan bisnis (Business Use Case). Business Modelling digunakan untuk menemukan
dan
menganalisis persyaratan sistem, memahami tujuan dari organisasi target.
2.
Requirements
Requirements untuk menggambarkan apa yang
harus dilakukan oleh sistem. Pengembang
dan
pengguna harus memiliki pemahaman yang
sama terhadap
kebutuhan sistem, sehingga sistem dapat dibangun sesuai keinginan dan kebutuhan pengguna.
3.
Analysis & Design
Analysis
& design merupakan kegiatan menunjukkan bagaimana sistem akan
direalisasikan dalam tahap implementasi. Menghasilkan
model desain yang
berfungsi sebagai abstraksi kode program. Analysis & design yang baik dapat
menggambarkan arsitektur sistem yang terstruktur sesuai kebutuhan sistem.
4.
Implementation
Mengintegrasikan hasil pengodean menjadi sebuah sistem yang dapat
dieksekusi atau digunakan. Implementation yang baik akan menghasilkan sistem sesuai kebutuhan
pengguna, sistem yang
mudah dikelola, dan dapat digunakan kembali
atau dikembangkan.
5.
Test
Test merupakan kegiatan pengujian kualitas perangkat lunak
untuk mendeteksi kesalahan
pada setiap
proses pengembangan.
Karakteristik
RUP
menerapkan konsep perulangan, yang berarti melakukan proses pengujian terhadap
keseluruhan proses pengembangan secara berulang.
6.
Deployment
Deployment merupakan kegiatan menyebarkan rilis produk dan mengirimkan
produk ke pengguna. Kegiatan deployment yang baik tidak hanya melakukan rilis produk, tetapi memberikan dukungan (misal dokumentasi penggunaan)
kepada
pengguna.
Core Supporting
Workflow merupakan kegiatan yang
bersifat pelengkap.
Dapat tidak dikerjakan jika memang tidak diperlukan. Berikut penjelasan lebih
lengkap:
1.
Project Management
Project management adalah metode untuk mengelola risiko
dan mengatasi kendala melalui perencanaan, penjadwalan,
penempatan staff,
pelaksanaan, dan pemantauan
proyek.
2.
Configuration
& Change Management
Configuration & change management adalah kegiatan mengontrol produk
yang melibatkan banyak orang
pada suatu proyek. Hal ini membantu menghindari
kebingungan dan memastikan bahwa produk yang
dihasilkan tidak saling
bertentangan.
3.
Environment
Environment adalah kegiatan untuk menyediakan lingkungan pengembangan
perangkat lunak,
berupa proses dan alat-alat yang
dibutuhkan. Hal ini memberikan
panduan, template, dan alat yang diperlukan untuk proses pengembangan perangkat lunak.Dari penelitian yang dilakukan menggunakan metode RUP dapat diketahui beberapa karakteristik RUP yang membedakannya dengan metode pengembangan yang lain yaitu sebagai berikut:
1. Setiap proses pada RUP seperti business modelling, reuirements, analysis and design dan yang lainnya bisa dilakukan pada setiap tahapan RUP yaitu inception, elaboration, constuction, and transition. Misalnya jika requirement pada tahap inception diketahui masih ada penambahan setelah memasuki tahap elaboration, maka proses requirements dilakukan lagi pada tahap pertama elaboration, sehingga tidak perlu kembali ke tahap inception, hanya prosesnya saja yang di lakukan lagi di tahap elabortaion.
2. Pengujian RUP dilakukan pada setiap
tahapan. Pada tahap inception
dilakukan pengujian untuk validasi kebutuhan dan use case diagram sistem
yang dirancang. Tahap elaboration
dilakukan pengujian untuk validasi fitur sistem. Untuk tahap construction dilakukan pengujian suitability dengan menggunakan black box testing, dan untuk tahap transition dilakukan pengujian usability sistem dengan menggunakan
kuesioner.
3. Pengembang diharuskan untuk sesering mungkin berinteraksi dengan klien, karena pada metode ini semua hal yang dilakukan per tahapnya harus di validasi oleh klien sehingga harus sesuai dengan kebutuhan klien.
4. Ketika terdapat kebutuhan sistem
pada tahap inception yang masih perlu
dilakukan perubahan atau penambahan, maka proses perubahannya bisa cepat karena
dilakukan pada tahap awal elaboration.
5. Untuk tim, metode RUP membebaskan
jumlah timnya. Seperti pada penelitian yang dilakukan hanya dilakukan sendiri
tanpa tim. Namun tetap harus disesuaikan dengan scope project yang dibangun. Scope
project yang dilakukan pada penelitian ini masih dalam kategori kecil
sampai menengah, sehingga masih bisa dilakukan sendiri.
Referensi:
[1] P. Kroll and P. Kruchten, The Rational
Unified Process Made Easy. 2003.
[2] A. A. D. I. Nugroho, “Analisis dan
Pengembangan Sistem Ujian Akhir Semester Berbasis Komputer di SMK Negeri 1
Magelang,” Universitas Negeri Yogyakarta, 2018.