Labels

RSS

Apa itu RUP?



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.
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar

Blogger news

Popular Posts