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