RUP (Rational Unified Process)
RUP (Rational Unified Process)
merupakan suatu Software engineering process hasil kerja awal dari “Three
Amigos” –Ivar Jacobson, Grady Booch, dan James Rumbaugh- yang bertujuan untuk
memastikan kualitas yang terbaik pada suatu produksi software dengan
memperkirakan jadwal dan biaya yang harus dikeluarkan. RUP merupakan process
product dari Rational® Software dengan konsep utamanya adalah tentang model,
workflow dan workers, serta tentang phase dan iterasi.
Aktifitas yang dilakukan oleh
Rational Unified Process adalah membuat dan memelihara model. RUP juga meliputi pembahasan dari
implementasi UML (Unified Modelling Language) secara luas dan memfokuskan dirinya pada
software yang memiliki metodologi berorientasi objek. Sehingga dapat kita
bedakan dengan UML bahwa RUP merupakan sebuah proses yang dilakukan dalam
rekayasa perangkat lunak sedangkan UML adalah bahasa standar yang digunakan
untuk memvisualisasikan, mendeskripsikan, membangun, dan mendokumentasikan
perangkat yang akan digunakan dalam membangun sebuah perangkat lunak. RUP dibutuhkan
sebagai pedoman untuk menggunakan UML secara efektif. Sedangkan UML berfungsi
sebagai standardisasi notasi yang berorientasi objek untuk mengkomunikasikan
kebutuhan/requirement, architectures, dan desain secara jelas dengan user. Oleh
karena itu, hubungan antara RUP dan UML sangatlah dekat.
Aktifitas yang dilakukan dalam
Software development merupakan sebuah pekerjaan team. Karena perubahan
teknologi yang cepat sehingga memerlukan spesialisasi tertentu dalam
pelaksanaannya. Produktivitas team ini
dapat ditingkatkan dengan menggunakan RUP dalam mendukung pembangunan sebuah
software. Mengapa? Karena setiap anggota team akan dibekali oleh pengetahuan
dasar yang sama mengenai guidelines dan template dalam aktifitas software development,
sehingga saat membangun sebuah sistem akan dijamin bahwa setiap anggota team
akan menggunakan bahasa yang sama untuk merepresentasikan requirement yang
diminta user. Jika telah ada standar yang digunakan dalam proses pembangunan
sebuah software, diharapkan dapat mengoptimalkan hasil yang diperoleh.
D
alam membangun sebuah
software, kita membutuhkan tahapan-tahapan yang harus dipenuhi selama proses
men-develop software. Tahapan yang harus
dilalui itu dapat kita gambarkan sebagai berikut :
Semua tahapan tersebut dapat
dilalui dengan berbagai metode. Salah satu metode yang biasa digunakan adalah
Waterfall workflow. Diagramnya adalah sebagai berikut :
Namun dengan metode ini
dirasakan kurang efektif karena membutuhkan lebih banyak cost sampai
menghasilkan sistem yang baik. Hal ini dapat terjadi karena modul yang ada
dalam sistem tidak dibagi-bagi terlebih dahulu dalam pengujian software. Masalah ini dapat diatasi dengan menggunakan
metode iteration incremental yang membagi modul-modul sehingga kesalahan dapat
diatasi sejak dini. Metode ini yang digunakan dalam RUP.
Keuntungan yang didapat dengan
menggunakan pendekatan iterasi diantaranya adalah : mengurangi resiko lebih
awal, perubahan yang dilakukan lebih mudah diatur, higher level of reuse,
project team memiliki waktu lama untuk memahami sistem yang akan dibangun, dan
menghasilkan kualitas yang lebih baik di segala aspek.
RUP menawarkan berbagai
kemudahan dalam membangun sebuah sotfware, ada yang disebut Six Best Practices yang terdiri dari :
- Develop Iteratively
- Manage Requirement
- Use Component-based Architecture
- Model Visually
- Verify Quality
- Control Changes to software
Semua proses yang dilakukan oleh RUP akan
memberikan keuntungan pada tahapan membangun sebuah software. Yang akan kita
bahas di bagian lain dari makalah ini.
Saat melakukan perancangan sebuah
perangkat lunak, tentunya setiap tahapan akan mendapatkan masalah. Biasanya
gejala/symptom yang menunjukkan ada masalah dalam proses perancangan software
seperti berikut :
- Ketidak akuratan dalam memahami kebutuhan end-user.
- Ketidakmampuan untuk menyetujui perubahan kebutuhan yang diajukan.
- Modul-modul yang dibutuhkan tidak dapat dihubungkan.
- Software yang sulit untuk dibangun atau diperluas.
- Terlambat menemukan kerusakan project yang serius.
- Kualitas software yang buruk.
- Kemampuan software yang tidak dapat diterima.
Team members yang bekerja sendiri-sendiri
sulit untuk mengetahui perubahan yang telah dilakukan karena ada perbedaan
dalam membangun software tersebut.
- Ada ketidakpercayaan dalam membangun dan me-release proses.
Usaha untuk menghilangkan symptom
ini tidak akan menyelesaikan masalah yang dihadapi software developer karena
gejala ini dapat terjadi oleh adanya penyebab utama masalah yang timbul saat
membangun sebuah sistem, yaitu :
- Requirement management yang tidak mencukupi
- Komunikasi yang ambigu dan tidak tepat
- Arsitektur yang rapuh
- Kompleksitas yang sangat besar
- Tidak terdeteksinya ketidakkonsistenan antara requirement,desain, dan implementasi
- Pengetesan yang tidak mencukupi
- Penilaian status project yang subjektif
- Keterlambatan pengurangan resiko yang disebabkan waterfall development
- Perkembangan yang tidak terkontrol
- Otomatisasi yang kurang
Semua hambatan yang ditemui
saat membangun software akan dapat diatasi dengan menggunakan best practise
yang telah disebutkan di awal pembahasan. Dengan menggunakan best practise yang
diterapkan oleh Rational Unified Process, akar masalah yang menyebabkan
timbulnya symptom dalam software developer akan teratasi dengan baik.
0 komentar:
Posting Komentar