Posted by: Budi Daryatmo | November 28, 2007

Penerapan Rational Unified Process dalam Proses Pengembangan Aplikasi (Seluler)

Begitu banyaknya aplikasi seluler yang dikembangkan para developer untuk dapat dinikmati para pemakai ponsel ataupun PDA. Seperti halnya aplikasi pada umumnya, aplikasi seluler ini juga mengalami suatu siklus pengembangan dari tahap konsep hingga berada di pasaran. Lalu bagaimana tahapan pengembangan untuk aplikasi-aplikasi tersebut? Tentunya begitu beragam proses pengembangan yang dapat diterapkan oleh para developer atau manajer software, yang pada umumnya diadopsi dari metodologi pengembangan yang telah dikenal luas, seperti XP (eXtreme Programming), RUP (Rational Unified Process), MSF (Microsoft Solutions Framework), AUP (Agile Unified Process), dan lain sebagainya. Metodologi pengembangan aplikasi menyediakan pedoman-pedoman (mekanisme yang perlu dilakukan pada tiap tahap siklus pengembangan, berbagai best practice, mekanisme uji aplikasi, standar pemrograman, standar analisis dan disain, dll.) bagi para developer sehingga diharapkan dapat bekerja lebih terstruktur, efisien, dan efektif, serta menghasilkan aplikasi yang lebih berkualitas.

Tiap metodologi pengembangan aplikasi memiliki karakteristik tersendiri dengan kelebihan dan kekurangannya dibanding metodologi yang lainnya. Karena karakteristik yang dimiliki belum tentu tepat sepenuhnya, perusahaan-perusahaan memiliki kebebasan untuk melakukan kustomisasi proses pengembangan dari metodologi yang dipilih, yang disesuaikan dengan karakteristik perusahaan di dalam mengembangkan aplikasi. Aktivitas-aktivitas di setiap tahap proses pengembangan yang telah ditentukan tersebut umumnya disesuaikan lagi dengan aplikasi yang dikembangkan.

RUP : Metodologi Pengembangan Perangkat Lunak
RUP adalah metodologi pengembangan perangkat lunak, yang diformulasikan oleh Rational Software Corporation (sekarang menjadi salah satu divisi IBM), yang menggunakan UML (Unified Modeling Language) sebagai bahasa pemodelan selama periode pengembangan dan iterative incremental sebagai model siklus pengembangan perangkat lunak. Model ini membagi suatu sistem aplikasi menjadi beberapa komponen sistem dan memungkinkan para developer aplikasi untuk menerapkan metoda iterative (analisis, disain, implementasi dan pengujian) pada tiap komponen. Dengan menggunakan model ini, RUP membagi tahapan pengembangan perangkat lunaknya ke dalam 4 fase sebagai berikut.

  • Inception, merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem eksisting, perumusan sistem target, penentuan arsitektur global target, identifikasi kebutuhan, perumusan persyaratan (fungsional, performansi, keamanan, GUI, dll.), perumusan kebutuhan pengujian (level unit, integrasi, sistem, performansi, fungsionalitas, keamanan, dll.), pemodelan diagram UML (diagram use case dan activity), dan pembuatan dokumentasi.
  • Elaboration, merupakan tahap untuk melakukan disain secara lengkap berdasarkan hasil analisis di tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan disain arsitektur subsistem (architecture pattern), disain komponen sistem, disain format data (protokol komunikasi), disain database, disain antarmuka/tampilan, disain peta aliran tampilan, penentuan design pattern yang digunakan, pemodelan diagram UML (diagram sequence, class, component, deployment, dll.), dan pembuatan dokumentasi.
  • Construction, merupakan tahap untuk mengimplementasikan hasil disain dan melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan disain, terutama disain pada domain perilaku (diagram sequence) dan domain struktural (diagram class, component, deployment). Apabila disain yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil analisis dan disain (misal menggunakan Class Responsibility Collaborator untuk kasus pemrograman berorientasi obyek), pendataan kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan / perbaikan lebih lanjut, dan pembuatan dokumentasi.
  • Transition, merupakan tahap untuk menyerahkan sistem aplikasi ke konsumen (roll-out), yang umumnya mencakup pelaksanaan pelatihan kepada pengguna dan testing beta aplikasi terhadap ekspetasi pengguna.

Responses

  1. Mas budi, pernah tahu tentang iconix process? wikipedia bilang itu terletak diantara RUP dan XP. bisakah itu disebut metodologi pengembangan sistem? tks

  2. makasih atas infonya
    berguna banget
    klo boleh tau referensi tentang RUP soalnya agak susah nyarinya..!!!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: