Selasa, 15 April 2014

RUP (Rational Unified Process)

RUP (Rational Unified Process)

RUP (Rational Unified Process) merupakan suatu software engineering process hasil kerja awal dari "There 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 dikeluarkan. RUP merupakan process produk dari Rational software dengan konsep utamanya adalah tentang model, workflow, dan workers, serta tentang phase dan iterasi.


Aktivitas 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 kita dapat 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 dunakan dalam membangunsebuah perangkat lunak. RUP dibutuhkan sebagai pedoman untuk menggunakan UML secara efektif . sedangkan UML berfungsi sebagai standardisasi notasi yang berorientasi objek untuk mengkomunikasikan kebutuhan/requirement, architecture dan desain secara jelas dengan user. Oleh karena itu, hubungan antara RUP dan UML sangatlah dekat.

Dalam 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  sejak dini metode yang digunakan dalam RUP.


Keuntungan yang didapat dengan menggunakan pendekatan iterasi diantaranya adalah : mengurangi resiko lebih awal, perubahan yang dilakukan lebih mudah diatur, higheer level of reuse, projek team memiliki waktu lama untuk memahami sistem yang akan dibangun, dan menghassilkan kualitas yang lebih baik di segala aspek.


Dalam wikipedea disebutkan bahwa cara kerja RUP itu didasarkan pada 6 kunci prinsip bagi perkembangan bisnis yang terkendali yaitu :


  1. Mengadaptasi proses
  2. Menyeimbangkan prioritas dari pada stakeholder
  3. Melakukan kolaborasi dalam tim
  4. Mendemontrasikan hasil-hasil yang ada secara berulang ulang
  5. Menaikan level abstraksi dari sebuah software 
  6. Memfokuskan pada kualitas secara terus menerus

RUP menawarkan berbagai kemudahan dalam membangun sebuah software, ada yang disebut Six Best Practices yang terdiri dari :


  • Develop iteratively
  • Manage requirement
  • Use Componen-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 dalam 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 keruskan projek yang serius 
  • kualitas software yang buruk
  • Kemampuan software yang tidak dapat diterima

Team member yang bekerja sendiri-sendiri sulit untuk mengetahui perubahan yang telah dilakukan karena ada dalam perbedaan dalam membangun software tersebut


  • Ada ketidakpercayaan dalam membangun dan me-release proses


Usaha untuk menghilakan symptom ini tidak akan menyelesaikan masalah yang dihadapi pada software developer karena gejalan 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 ketidak konsistenan antara requirement ,desain dan implementassi 
  • Penegtesan yang tidak mencukupi 
  • Penilaian status project yang subjektif
  • Keterlambatan pengurangan resiko yang disebabkan  waterfall development
  • Perkembangan yang tidak terkontrol
  • Otomatisasi yang kurang


Rational Unified Process menawarkan dan menjelaskan penerapan six best practise yang efektif pada software development, diantaranya adalah :


  1. Develop Software Iteratively , Pendekatan secara iterative digunakan untuk mengurangi resiko yang dapat terjadi selama lifecycle. Setiap iterasi akan diperoleh executable  release yang memungkinkan keterlibatan end user dan feed back yang diberikan secara terus menerus. Pendekatan ini juga mempermudahkan penyesuaian perubahan kebutuhan , features, maupun jadwalnya.
  2. Manage Requirement , RUP mendeskripsikan bagaimana mendapatkan, mengorganisasikan, dan mendokumentasikan fungsionalitas dan batasan yang dibutuhkan. sehingga akan memudahkan dalam memahami dan mengkomunikasikan kebutuhan bisnis
  3. Use component-based Architecture , RUP menggunakan pendekatan sistematis dalam mendefinisikan arsitektur yang menggunakan component. Karena memang proses yang dilakukan difokuskan pada awal pembangunan sebuah software. Dalam proses ini akan mendeskripsikan bagaimana menyusun arsitektur yang fleksibel, mudah dipahami, dan mengembangkan efektif software reuse
  4. Visually Model Software, proses yang dilakukan menunjukkan bagaimana memvisualisasikan model yang mencakup struktur dan kelakuan dari arsitektur dan komponen
  5. Verify Software Quality , Appilcation performance dan kemampuan tahap uji yang buruk dapat meghalangi diterimanya sebuah apliasi software. Sehingga diperlukan penelaan lebih lanjut tentang kualitas software dengan mematuhi kebutuhan aplikasi berdasarkan kemampuan tahap uji, fungsionalitas, application performance, system performance.
  6. Control changes to software , Proses akan mendeskripsikan bagaimana mengontrol dan memonitor perubahan untuk kesuksesan iterative development. Selain itu, proses juga akan memandu kita bagaimana menyusun workspace yang aman bagi developer dengan mengisolasi perubahan yang dilakukan di workspace lain dan dengan mengontrol perubahan pada seluruh software artifact. Sehingga membuat team bekerja sebagai unit tersendiri dengan mendeskripsikan bagaimana mengintegrasikan dan membangun management secara otomatis

Keuntungan menggunakan RUP :

  • Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim
  • Menyediakan petunjuk bagaimana menggunakan UML secara efektif
  • Mendukung proses pengulangan dalam pengembangan software
  • Memungkinkan adanya penambahan-penambahan pada proses 
  • Memungkinkan untuk secara sistematismengontrol perubahan-perubahan yang terjadi pada software selama proses pengembangannya

Kelemahan menggunan RUP
Metodologi ini  hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modelling Language).


Dapat disimpulkan metodologi RUP sangat cocok digunakan pada pengembangan perangkat lunak yang berorientasi objek.  Karena Rational Unified Process merupakan suatu produk proses yang membawa sangat banyak pengetahuan, selalu terbaru, dan dalam wujud "e-coach atau pelatih elektronok




Sumber :
-     http://aih25.blogspot.com/2013/03/rup-rational-unified-process.html
-     http://networkedblogs.com/1szT7
-     http://rzskatepunkers.blogspot.com/2013/03/rup-rational-unified-process.html

Tidak ada komentar:

Posting Komentar