RUP Random Upstream Process
RUP Random Upstream Process
MENURUT RUP
(RATIONAL UNIFIED PROCESS)
Rational Unified Process (RUP) merupakan suatu metode rekayasa perangkat lunak
yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam
industri pengembangan perangkat lunak. Ciri utama metode ini adalah menggunakan usecase driven dan pendekatan iteratif untuk siklus pengembangan perangkat lunak. RUP
menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan
model dengan menggunakan Unified Model Language (UML).
Untuk memperoleh manfaat maksimal dari UML beberapa yang sebaiknya menjadi
bahan pertimbangan dalam proses pembuatan software adalah :
Phase RUP
Metode dari RUP ada empat phase sebagai berikut :
Inception
Penyusunan sebuah bisnis case untuk proyek.
Menentukan Ruang lingkup proyek.
Membuat Business Case.
Menjawab pertanyaan apakah yang dikerjakan dapat menciptakan good business sense
sehingga proyek dapat dilanjutkan.
Elaboration
Penyusunan sebuah project plan dan sound architecture.
Menganalisa berbagai persyaratan dan resiko.
Menetapkan base line.
Merencanakan fase berikutnya yaitu construction.
Construction
Perkembangan sistem.
Melakukan sederetan iterasi.
Pada setiap iterasi akan melibatkan proses berikut: analisa desain, implementasi dan
testing.
Transition
Menyediakan sistem untuk end user dari sistem tersebut.
Membuat apa yang sudah dimodelkan menjadi suatu produk jadiDalam fase ini
dilakukan:
Beta dan performance testing.
Membuat dokumentasi tambahan seperti; training, user guides dan sales kit.
Aturan pertama
2.
3.
Aturan Kedua
Aturan Ketiga
4.
Aturan Keempat
Hasil Workflow
Seperti apa yang tertulis sebelumnya bahwa RUP salah satunya terdiri dari workflow
yang menghasilkan model diantaranya : requirements, analysis, design/deployment,
implementation, test. Penjelasan dari tiap model yang dihasilkan dari workflow akan
ditampilkan di sini.
Requirements
Implikasi dari aktivitas dalam pembuatan model requirement dapat terlihat dalam
sekema berikut :
Aktivitas
Artifak
Daftar kandidat
Daftar Fitur
requirements.
Memahami konteks
sistem.
Model Bisnis/domain
Memahami requirements
fungsionalitas.
Memahami requirements
kualitas dan bisnis.
Supplementary
Requirements.
user)
dan
organisasi
Analysis
Hubungan Requirements dengan Analysis dapat dilihat pada bagan di bawah ini:
Analysis Model
Analisa class-class dan/atau subsystems :
Fokus pada fungsional requirement
Konseptual, granularity yang besar
Model desain akan mempunyai elemen model
Minimal interface operasi
Definisi responsibilities (textual)
Atribute pada high level
Relasi konseptual
Boundary (interaksi dengan actor), control (koordinasi, sequencing, transaksi)
atau entity (long-lived real-life object atau event) class-class.
Desain/Deployment
Aktivitas pada saat desain meliputi :
Menentukan bentuk sistem arsitektur yang memenuhi semua requirements.
Memahami isu pada requirements non-fungsional dan batasan teknologi.
Mengidentitaskan subsystem ( semua struktur, requirement, interface, classclass) yang membolehkan implementasi konkuren.
Membuat abstraksi yang tak terlihat pada implementasi sistem.
Implementasi menambah isi ke arsitektur yang stabil.
Menyediakan visualisasi implementasi.
Implementasi
Tugas-tugas pada tahap implementasi meliputi :
Implementasi desain dalam komponen-komponen {source code, script, binary,
executable, dsb.}
Sempurnakan arsitektur.
Rencanakan integrasi sistem pada setiap iterasi.
incremental : kecil dan langkah yang teratur.
Distribusi sistem : petakan komponen ke node-node.
Implementasi class-class desain dan subsystem.
Komponen-komponen unit testing.
Integrasi komponen-komponen ( kompile dan link ke dalam satu atau lebih
executable ) untuk integrasi dan testing sistem.
Implementasi Aktivitas Workflow dan Workers
Berikut model implementasi aktivitas workflow dan workers :
Testing
Aktivitas yang dilakukan meliputi :
Verifikasi hasil dari implementasi dengan testing setiap pembangunan
Rencanakan test pada setiap iterasi
Test integrasi untuk setiap pembangunan dalam iterasi
Test sistem untuk akhir iterasi
Test desain dan implementasi dengan membuat
Kasus-kasus test untuk menentukan apa yang akan ditest
Prosedur-prosedur test yang menentukan bagaimana melakukan test
Komponen test executable untuk mengotomasi test
Lakukan test dan secara sistematis menangani hasil test
Pembangunan yang cacat dikirim ke workflow yang lain (misalnya desain
dan implementasi) untuk perbaikan kecacatan
Testing pada daur hidup software
Pada umumnya, dimanapun ada hasil implementasi, terdapat sebuah test.
Sebagai contoh adalah test pada setiap pembangunan.
Phasa Inception
Pada phasa ini meliputi : perencanaan test awal, test prototype.
Phasa Elaboration
Meliputi : test dasar arsitektural.
Phasa Construction
Meliputi : testing pada setiap pembangunan.
Phasa Transition
Meliputi : re-test perbaikan dan test regresi.
Test regresi merupakan test terhadap pembanguan lama saat pembangunan
baru untuk meyakinkan tidak ada kesalahan dalam pembangunan baru.
Menyusun model test
Membuat kasus-kasus test yang baru untuk setiap pembangunan.
Perbaiki kasus-kasus test lama menjadi test regresi.
Pindahkan testing, prosedur dan komponen test kuno yang berhubungan.
Prosedur Test
Menentukan bagaimana melakukan satu atau beberapa test case atau sebagian
dari padanya.
Instruksi untuk tester dalam manual test case.
Instruksi untuk interaksi dengan tool tes otomatis untuk membuat komponen
tes executable kemudian instruksi untuk mengintegrasikan dan mengeksekusi
komponen tes tersebut
Satu prosedur tes mungkin meliputi beberapa test case.
Satu prosedur tes mungkin membutuhkan beberapa test case.