Rapid_Development_15&16

Download Report

Transcript Rapid_Development_15&16

PENGEMBANGAN RAPID PERANGKAT
LUNAK
Pertemuan 15 dan 16
.: Erna Sri Hartatik :.
Pembahasan
• Proses Pengembangan Interaktif dan
Incremental
• Metode Agile Development
• Prinsip Ekstrim
• Prototyping didalam proses PL
Lukman Hakim
METODE PENGEMBANGAN SISTEM
 Banyak metode pengembangan sistem yang tersedia
 Metode yang paling dikenal disebut juga sebagai
System Development Life Cycle (SDLC) atau sering
juga disebut sebagai Water Fall Method
 Alternatif metode lainPrototyping : CASE tools, Joint
Application Design (JAD), Rapid Application
Development (RAD), Agile Methodologies, eXtreme
Programming
Lukman Hakim
Pendahuluan
 Rapid Aplication Development (RAD)
Metodologi ini melakukan beberapa penyesuaian
terhadap SDLC pada beberapa bagian sehingga lebih
cepat untuk sampai ke tangan pengguna. metodologi ini
biasanya mensyaratkan beberapa teknik dan alat2
khusus agar proses bisa cepat. Rapid Aplication
Development
dapat
dijadikan
acuan
untuk
menghasilkan sistem informasi yang dapat memenuhi
kebutuhan user. sebagai salah satu alternatif dari System
Development Life Cycle belakangan ini seringkali digunakan untuk
mengatasi keterlambatan yang terjadi apabila menggunakan
metode konvensional
Lukman Hakim
CASE TOOLS
• Computer-Aided Software Engineering
• Software memberikan dukungan alat otomatis untuk
pengembangan sistem
• Proyek kamus / buku kerja: sistem deskripsi dan
spesifikasi diagram alat
• Contoh produk: Oracle Designer, Rational Rose
Lukman Hakim
Model Tradisional dan RAD
Lukman Hakim
KELEMAHAN-KELEMAHAN METODE KONVENSIONAL
Adapun kelemahan-kelemahan yang terdapat pada metode
konvensional adalah sebagai berikut:
 Dengan metode konvensional, maka terdapat batas waktu yang
cukup lama mulai dari pembuatan sistem sampai dengan
konsumen dapat menggunakan sistem tersebut.
 Dengan metode konvensional, apabila proses pengembangan
suatu sistem membutuhkan waktu yang lama maka kebutuhan
konsumen pada sistem akan mengalami perubahan seiring
dengan perubahan proses bisnis yang dilakukan oleh konsumen.
 Dengan metode konvensional, sistem yang dikembangkan tidak
akan mempunyai manfaat apabila belum diselesaikan seluruhnya
Lukman Hakim
Joint Application Design (JAD)
• Proses terstruktur yang melibatkan pengguna,
analis, dan manajer
• Membutuhkan beberapa hari sesi workgroup
intensif
• Tujuan: untuk menentukan atau meninjau
persyaratan sistem
Lukman Hakim
Keuntungan RAD
Membeli sistem yang baru memungkinkan untuk lebih menghemat
biaya ketimbang mengembangkan sendiri.
 Proses pengiriman menjadi lebih mudah, hal ini dikarenakan proses
pembuatan lebih banyak menggunakan potonganpotongan script.
 Mudah untuk diamati karena menggunakan model prototype, sehingga
user lebih mengerti akan sistem yang dikembangkan.
 Lebih fleksibel karena pengembang dapat melakukan proses desain ulang
pada saat yang bersamaan.
 Bisa mengurangi penulisan kode yang kompleks karena menggunakan
wizard.
 Keterlibatan user semakin meningkat karena merupakan bagian dari tim
secara keseluruhan.
 Mampu meminimalkan kesalahan-kesalahan dengan menggunakan alatalat bantuan (CASE tools).
 Mempercepat waktu pengembangan sistem secara keseluruhan karena cenderung
mengabaikan kualitas.
 Tampilan yang lebih standar dan nyaman dengan bantuan software-software
pendukung.
Lukman Hakim
Tahapan RAD
Lukman Hakim
RAD Development Strategys
Lukman Hakim
Rencana Kebutuhan (Requirement Planning)
Pada tahap ini, user dan analyst melakukan semacam pertemuan untuk
melakukan identifikasi tujuan dari aplikasi atau sistem dan melakukan
identifikasi kebutuhan informasi untuk mencapai tujuan. Pada tahap ini
hal terpenting adalah adanya keterlibatan dari kedua belah pihak, bukan
hanya sekedar persetujuan akan proposal yang sudah dibuat. Untuk lebih
jauh lagi, keterlibatan user bukan hanya dari satu tingkatan pada suatu
organisasi, melainkan beberapa tingkatan organisasi sehingga informasi
yang dibutuhkan untuk masingmasing user dapat terpenuhi dengan baik.
Di samping itu, dapat juga melakukan koordinasi dengan Rencana
Kebutuhan (Requirement Planning) (CIO) atau bagian perencana
strategis terutama untuk mengembangkan suatu aplikasi E-commerce
berbasis Web untuk mendapatkan informasi yang lebih detail akan tujuan
dari suatu organisasi. Pertemuan semacam ini seringkali disebut Joint
Aplication Development.
Lukman Hakim
Proses Desain (Design Workshop)
Pada tahap ini adalah melakukan proses desain dan
melakukan perbaikan-perbaikan apabila masih terdapat
ketidaksesuaian desain antara user dan analyst. Untuk
tahap ini maka keaktifan user yang terlibat sangat
menentukan untuk mencapai tujuan, karena user bisa
langsung memberikan komentar apabila terdapat
ketidaksesuaian pada desain. Biasanya, user dan
analyst berkumpul menjadi satu dan duduk di meja
melingkar dimana masing-masing orang bisa melihat
satu dengan yang lain tanpa ada halangan.
Lukman Hakim
Implementasi (Implementation)
Setelah desain dari sistem yang akan dibuat sudah disetujui baik itu
oleh user dan analyst, maka pada tahap ini programmer
mengembangkan desain menjadi suatu program. Setelah program
selesai baik itu sebagian maupun secara keseluruhan, maka dilakukan
proses pengujian terhadap program tersebut apakah terdapat
kesalahan atau tidak sebelum diaplikasikan pada suatu
organisasi. Pada saat ini maka user bisa memberikan tanggapan akan
sistem yang sudah dibuat serta persetujuan mengenai sistem tersebut
Lukman Hakim
Proses Pengembangan Interaktif dan Incremental
• Iteratif dan incremental:
– Analisis, rancang, implementasikan sebagian.
Lanjutkan analisis, rancang & implementasi sebagian
lagi. Lanjutkan lagi analisis, rancang & implementasi,
bagian berikutnya. Demikian seterusnya sampai
sistem jadi
– Kelebihan: meningkatkan kepuasan pemilik dan
pemakai sistem
Lukman Hakim
Lanjutan
Lukman Hakim
Ekstrem Programming
• Classic life cycle
Lukman Hakim
Lanjutan
•
•
•
•
•
Siklus pengembangan incremental, pendek
Otomatis tes
Dua orang tim pemrograman
Pengkodean dan pengujian beroperasi bersama-sama
Keuntungan:
– Komunikasi antara pengembang
– Tinggi tingkat produktivitas
– Tinggi kualitas kode
Lukman Hakim
Agile Methodologies
• Termotivasi oleh pengakuan pengembangan
perangkat lunak sebagai sesuatu yang tak
terduga, dan dinamis
• Tiga prinsip kunci
– Adaptif ketimbang prediksi
– Tekankan orang ketimbang peran
– Self-adaptif proses
Lukman Hakim
Tugas I (Individu)
• Carilah penjelasan tentang Model pengembangan PL
yang lain, beri keterangan dalam tiap alur sertakan
kelebihan dan kekurangannya.
1. Prototype
2. Transformasi formal
3. RAD (Rapid Application Development)
4. Pengembangan Incremental
5. Spiral
6. Fourth-Generation Techniques (4GT)
Lukman Hakim
PENGGUNAAN KEMBALI
PERANGKAT LUNAK
PERTEMUAN 16
Masalah Manajemen
KENDALA UNTUK REUSE
1. Beberapa perusahaan dan organisasi memiliki sesuatu yang sangat
mirip dengan rencana reusabilitas per.lunak
2. Meski semakin banyak vendor perangkat lunak yg menjual peranti
atau memberi bantuan terhadap reuse, pengembang tidak
menggunakannya
3. Tersedia latihan yg sedikit untuk membantu perekayasa dan
manajer memahami dan mengaplikasikan reuse
4. Banyak praktisi percaya bahwa reuse lebih merupakan “masalah”.
5. Banyak perusahaan menganjurkan metodologi pengembangan
perangkat lunak tidak memfasilitasi reuse.
6. Beberapa perusahaan memberi insentif untuk menghasilkan reuse.
Kenyataannya ada disinsentif
Lukman Hakim
ANALOGI PERANGKAT KERAS
 Agar benar-benar reusable, komponen perangkat
lunak harus dapat dipakai di beberapa tempat
lain.
Maka
perekayasa
harus
membuat
komponen lebih umum. Peningkatan generalitas
dapat menurunkan efisiensi, atau bahkan
meningkatkan kompleksitas
Lukman Hakim
SARAN-SARAN UNTUK MEMBANGUN PENDEKATAN REUSE
Langkah-langkah berikut akan membantu:
1. Membangun rencana reuse internal
2. Mengharuskan reusabilitas menjadi bagian internal dari pelatihan
manajerial dan teknik.
3. Dapatkan peranti dan perpustakaan yang dapat memberi
konstribusi positif bagi reuse
4. Dukung metode dan piranti yang telah didemonstrasikan .
5. Telusuri dan ukur reuse serta pengaruhnya
6. Manajemen harus mendukung dan aktif
7. Kenali peranti, data test, desain, rencana, lingkungan dan jenis
per.lunak yang dapat di reuse
8. Reuse bukan merupakan “ bisnis biasa”
Lukman Hakim
Proses Reuse
PERKAKAS REUSABLE
a. Rencana proyek
b. Perkiraan biaya
c. Arsitektur
d. Model dan spesifikasi persyaratan
e. Desain
f. Kode sumber
g. Dokumentasi teknis dan pemakai
h. Interface manusia
i. Data
j. Test case
Lukman Hakim
Model Proses
Lukman Hakim
Rekayasa Domain
Tujuan :
• mengidentifikasi, mengkonstruksi, meng-katalog dan
• menyebarkan serangkaian perkakas perangkat lunak
yang
• memiliki aplikabilitas dan perangkat lunak masa depan
• didalam suatu domain aplikasi tertentu.
Rekayasa domain meliputi 3 aktifitas,yaitu analisis,
konstruksi dan penyebaran
Lukman Hakim
Proses Analisis Domain
Langkah-langkah proses itu didefinisikan sebagai:
1. Tentukan domain yang akan diselidiki.
2. Kategorikan item yang akan di-ekstrak dari domain
3. Kumpulkan sampel yang presentatif dari aplikasi didalam
domain.
4. Analisis masing-masing aplikasi didalam sampel.
5. Kembangkan sebuah analisis bagi objek
Lukman Hakim
Fungsi-Fungsi Karakterisasi
serangkaian karakteristik domain untuk suatu perkakas reusable dapat
direpresentasikan sebagai {Dp} dimana
Dpi, merepresentasikan karakteristik domain spesifik ;
nilai yang diberikan ke Dpi merepresentasikan skala ordinal yang
merupakan indikasi mengenai relevansi dari karakteristik untuk
perkakas p.
Tipe skala:
1. tidak relevan
2. relevan dalam situasi yang tidak biasa
3. relevan, dapat dimodifikasi meskipun berbeda
4. sangat relevan bila perangkat lunak tidak memiliki karakteristik ini reuse
tidak efisien
5. sangat relevan bila perangkat lunak tidak memiliki karakteristik ini reuse
tidak efektif, reuse tidak disetujui
Lukman Hakim
Lanjutan
Bila perangkat lunak baru, w, akan dibangun didalam
domain aplikasi, serangkaian karakteristik domain ditarik
untuknya. Dpi dan Dwi kemudian dibandingkan untuk
menentukan apakah perkakas yang ada (p) dapat secara
efektif digunakan lagi didalam aplikasi w.
Lukman Hakim
Tabel Karakteristik
Lukman Hakim
Pemodelan Struktural
Pemodelan struktural adalah suatu pola yang
berdasarkan pendekatan rekayasa domain aplikasi yang
bekerja dengan asumsi bahwa setiap domain aplikasi
memiliki pola pengulangan (fungsi, data, tingkah laku)
yang memiliki potensi reuse.
Point struktur memiliki 3 karakteristik:
1. Point struktur adl abstarksi yg harus memiliki sejumlah contoh
terbatas.
2. Interface ke point struktur harus sederhana.
3. Point struktur hrs mengimplementasi penyembunyian informasi yg
diisikan di dlm point struktur itu sendiri
Lukman Hakim
Membangun komponen reusable
Analisis dan desain untuk reuse
Idealnya, model analisis di analisis untuk menentukan elemenelemen
model yang menunjuk ke perkakas reusable yang ada.
Kunci untuk desain reuse: (Design For Reuse/DFR)
• Data standar. Domain aplikasi, dan struktur data global standar
(struktur file atau database) lengkap harus diidentifikasi.
• Protokol interface standar. Tiga tingkat protokol harus dibangun;
sifat interface intramodular, desain interface teknis eksternal dan
interface manusia mesin.
• Template program. Model struktur dapat berfungsi sebagai template
untuk desain arsitektur dari program baru
Lukman Hakim