Pembuatan Prototipe Perangkat Lunak

advertisement
Pembuatan Prototipe
Perangkat Lunak
HARJANTO SUTEDJO
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
1
Prototipe mendukung dua kegiatan
proses rekayasa persyaratan
 Elisitasi persyaratan: user
bereksperimen untuk melihat
bagaimana sistem dapat mendukung
pekerjaan mereka dan memberikan
usulan atau ide-ide baru.
 Validasi persyaratan: Prototipe
dapat menunjukkan kesalahankesalahan atau ketidak-sesuaian
yang mungkin terjadi.
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
2
Keuntungan Prototipe
 Mengurangi kesalahpahaman antara
pengembang dan user
 Menemukan persyaratan yang tidak
lengkap
 Sudah dapat ditunjukkan bahwa
sistem sudah bekerja
 Digunakan sebagai dasar penulisan
spesifikasi untuk kualitas produksi
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
3
Proses Pengembangan Prototipe
Tentukan
Tujuan
Prototipe
Definisi
Fungsionalitas
Prototipe
Rencana
Pembuatan
Prototipe
Definisi
Outline
7/18/2017
Pengembangan
Prototipe
Prototipe
Yang Dapat
Digunakan
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
Evaluasi
Prototipe
Laporan
Evaluasi
4
Prototipe Pada
Proses Perangkat Lunak
Pembuatan
Prototipe
Evolusioner
System yang
diserahkan
Persyaratan
Outline
Pembuatan
Prototipe
Throw-Away
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
Prototipe yang
dapat dijalankan +
spesifikasi sistem
5
Tujuan Pemrograman Evolusioner
dan Throw-away
 Evolusioner:
 Menyerahkan sistem kepada user untuk
menjalankan semua prioritas utama.
 Throw-Away:
 Mem-validasi dan menurunkan
persyaratan sistem.
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
6
Pembuatan Prototipe Evolusioner
Pengembangan
Spesifikasi
Abstrak
Pembuatan
Sistem Prototipe
Penggunaan
Sistem Prototipe
TIDAK
Penyerahan
Sistem
7/18/2017
YA
Sistem
Memenuhi
Syarat?
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
7
Keuntungan Prototipe Evolusioner
 Penyerahan sistem yang dipercepat,
sehingga dapat diantisipasi
keterlambatan karena perubahan
sistem.
 Keterlibatan user dengan sistem lebih
awal dan lebih lama, sehingga
menumbuhkan kepercayaan user.
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
8
Spesifikasi Prototipe Evolusioner
 Proses spesifikasi, perancangan dan
implementasi yang tumpang tindih.
 Sistem dikembangkan dalam
inkremental
 Teknik-teknik pengembangan sistem
yang cepat
 User Interface dikembangkan
menggunakan pengembangan
interaktif.
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
9
Masalah Utama Dalam Pembuatan
Prototipe Evolusioner
 Masalah manajemen, khususnya
dalam ketersediaan tenaga
 Masalah pemeliharaan menjadi lebih
sulit
 Masalah kontrak.
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
10
Pembuatan Prototipe Throw-Away
Persyaratan
Outline
Pengembangan
Prototipe
Evaluasi
Prototipe
Spesifikasi
Sistem
Komponen yang
dapat dipakai
Pengembangan
Perangkat lunak
7/18/2017
Validasi
Sistem
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
Penyerahan Sistem
Perangkat Lunak
11
Masalah Dalam Pembuatan
Prototipe Throw-away
 Fitur-fitur penting bisa dihilangkan dari
prototipe untuk menyederhanakan
implementasi yang cepat
 Implementasi tidak mempunyai kedudukan
legal sebagai kontrak
 Persyaratan non-fungsional seperti
keandalan, ketahanan dan keselamatan
tidak dapat diuji dengan memadai.
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
12
Manfaat lain dari
Prototipe Throw-away
 Prototipe tidak harus perangkat lunak yang
dapat berguna pada proses rekayasa
persyaratan
 Tiruan interface user dari sistem
menggunakan kertas terbukti membantu
user menyempurnakan desain interface dan
skenario pemakaian (Rettig, 1994).
 Perluasan dari teknik ini adalah prototipe
“Wizard of Oz” (Sommervile & Sawyer
1997).
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
13
Teknik Pembuatan Prototipe
Yang Cepat
 Pemrograman Database
 Pengembangan bahasa tingkat tinggi
dinamik (Java dan .NET mengarah ke
sini).
 Perakitan komponen dan aplikasi
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
14
Pengembangan Bahasa Tingkat
Tinggi Dinamik
 Bahasa pemrograman yang
mencakup fasilitas manajemen data
run-time yang sangat ampuh.
 Penggunaan bahasa campuran (lebih
dari satu bahasa pemrograman)
terkadang dibutuhkan untuk sistem
yang besar.
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
15
Pertanyaan-pertanyaan Dalam
Memilih Bahasa Pemrograman
 Apa domain aplikasi yang akan
dibangun? (Object Oriented, Logic.
List Based, Database…)
 Interaksi User apa yang dibutuhkan?
(teks based, graphics based, aplikasi
windows, aplikasi web …)
 Lingkungan pendukung apa yang
disediakan dengan bahasa tersebut?
(komponen, object/class, library …)
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
16
Pemrograman Database
 Semua sistem manajemen komersial
menggunakan pemrograman
database.
 Pemrograman database beserta
pendukungnya dikenal dengan istilah
bahasa generasi keempat (4GL)
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
17
Komponen Pemrograman Database
Generator
Interface
Spreadsheet
Bahasa
Pemrograman
Database
Generator
Laporan
Sistem Manajemen Database
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
18
Alat Bantu Dalam Bahasa
Pemrograman Database
 SQL sebagai bahasa query
 Generator interface untuk membuat
form
 Spreadsheet untuk analisis dan
manipulasi informasi
 Generator laporan untuk membuat
laporan
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
19
Perakitan Komponen dan Aplikasi
 Salah satu hal penting di dalam
melakukan rekayasa perangkat lunak
adalah ketersediaan komponen yang
memadai.
 Prototipe dapat dibangun dengan
cepat bila tersedia komponen dan
aplikasi yang dibutuhkan.
 Komponen dan aplikasi dibuat untuk
bisa dipakai ulang
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
20
Komposisi Komponen Yang Bisa
Dipakai Ulang
Komponen
yang bisa
dipakai ulang
Kerangka Kerja
Komposisi
Komponen
Prototipe yang
dapat
dijalankan
Kode kontrol
dan integrasi
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
21
Dua hal penting pengembangan
prototipe dengan pemakaian ulang
 Tingkat aplikasi, dimana seluruh
sistem diintegrasikan dengan
prototipe sehingga fungsionalitasnya
dapat dipakai bersama.
 Tingkat komponen, dimana
komponen-komponen secara individu
diintegrasikan dalam kerangka kerja
standard untuk implementasi sistem
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
22
Contoh Pentingnya komponen
Buatlah form berikut ini:
Bila Anda harus memilih, bahasa pemrograman apa yang
Anda pilih dari bahasa pemrograman C++, Java, Visual
Basic, Borland Delphi atau PHP agar prototipe dapat dibuat
dengan cepat?
Jelaskan mengapa anda memilih bahasa tersebut (selain
karena Anda lebih menguasai salah satu bahasa tersebut) ?
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
23
Jawaban
Pilihan bahasa pemrograman yang Anda sudah
pilih memiliki hal-hal berikut ini:
 Komponen dasar seperti form generator,
report generator dan koneksi database
 Pembuatan form yang mudah dan cepat
 Komponen-komponen yang dapat
diintegrasikan dengan mudah
 Aplikasi dapat dengan mudah diproduksi.
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
24
Pemrograman Visual Dengan
Pemakaian Ulang
Komponen tanggal
File
Edit
View
Layout
Option
12 th January 2005
Help
General
Index
Skrip
3,875
Pemeriksaan
range
Komponen
Gambar
Kanvas
7/18/2017
Komponen
Display
Hypertext
Komponen
Prompt
User +
script
HARJANTO SUTEDJO Komponen
UNIVERSITAS GUNADARMA
Display tree
25
Question?
End of Session
7/18/2017
HARJANTO SUTEDJO UNIVERSITAS GUNADARMA
26
Download