REKAYASA PERANGKAT LUNAK - · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan...
Transcript of REKAYASA PERANGKAT LUNAK - · PDF filePrototipe pada proses perangkat lunak Teknik pembuatan...
REKAYASA PERANGKAT LUNAK
Chapter 8 1
Chapter 8 2
Memahami peran pembuatan prototipe pada berbagai
tipe proyek pengembangan
Mengerti perbedaan antara pembuatan prototipe
evolusioner dan throw-away
Mengetahui tiga teknik pengembangan prototipe
yaitu : - pengembangan bahasa tingkat tinggi
- pemrograman database
- pemakaian ulang komponen
Chapter 8 3
Prototipe pada proses perangkat lunak
Teknik pembuatan prototipe yang cepat
User interface prototipe
Chapter 8 4
Prototipe adalah proses pembuatan sistem secara
cepat
Di masa yang lalu pembangunan sistem
dilaksanakan setelah kebutuhan sistem diketahui
Saat ini, batasan antara protipe dan pembangunan
sistem secara normal sangat kabur dan banyak
sistem dibangun dengan pendekatan evolusi
Chapter 8 5
Pada prinsipnya, prototipe membantu pemakai dan
pengembang untuk memahami kebutuhan dari
sistem
Elisitasi Persyaratan. User dapat bereksperimen untuk
melihat bagaimana sistem mendukung pekerjaan
mereka
Validasi Persyaratan. Prototipe dapat mengungkapkan
error dan hal2 yang terlewatkan pada persyaratan
Prototipe dapat dipakai untuk teknik analisis dan
mengurangi resiko
Chapter 8 6
Dapat diketahui lebih awal kesalahpahaman antara
pengembang dengan user/pemakai
Staf pengembang perangkat lunak mungkin menemukan
persyaratan yang tidak lengkap atau tidak berfungsi saat
prototipe dikembangkan
Sistem dapat bekerja, walaupun terbatas pada penjelasan
fungsi dari sistem
Prototipe dapat mensupport pengujian dan pelatihan
Chapter 8 7
Establ ishprototypeobjectives
Defineprototype
functionali ty
Developprototype
Evaluateprototype
Prototypingplan
Outlinedefini tion
Executableprototype
Evaluationreport
Chapter 8 8
Meningkatkan kegunaan sistem menjadi lebih baik
Kesesuaian sistem yang lebih dekat dengan
kebutuhan user
Meningkatkan kualitas desain menjadi lebih baik
Meningkatkan keterpelihraan sistem lebih baik
Mengurangi Cost
Chapter 8 9
Prototipe evolusioner
Dimulai dengan sistem yang relatif sederhana, yang
mengimplementasikan hanya persyaratan user yang
paling penting
Prototipe Throw-Away
Membantu analisis dan validasi persyaratan
Chapter 8 10
Tujuan dari evolutionary prototyping adalah
menyerahkan sistem yang dapat dipakai kepada end-
user .Pembangunan sistem di mulai dari kebutuhan
yang paling dipahami.
Tujuan throw-away prototyping adalah memvalidasi
dan menurunkan persyaratan sistem. Prototipe dapat
di mulai dari kebutuhan yang paling tidak dipahami
Chapter 8 11
Evolutionaryprototyping
Throw-awayPrototyping
Del iveredsystem
Executable Prototype +System Specification
OutlineRequirements
Chapter 8 12
Pembuatan prototipe evolusioner didasarkan pada ide pengembangan implementasi awal, memperlihatkannya kepada user untuk dikomentari , dan menyempurnakannya melalui banyak tahap sampai sistem yang memadai telah dikembangkan
Pembuatan prototipe evolusioner merupakan bagian dari teknik pengembangan aplikasi cepat [RAD]
Pembuatan prototipe evolusioner dan pendekatan yang berbasis spesifikasi terhadap perkembangan perangkat lunak berbeda dalam pandangannya mengenai verifikasi dan validasi
Chapter 8 13
Build prototypesystem
Develop abstractspecification
Use prototypesystem
Del iversystem
Systemadequate?
YES
N
Chapter 8 14
Percepatan penyerahan sistem
Penyerahan dalam waktu cepat , kadang-kadang lebih
penting dari fungsionalitas atau pemeliharaaan
perangkat lunak dalam jangka penjang.
Keterlibatan user dengan sistem
Tidak hanya berarti bahwa sistem lebih mungkin
memenuhi persyaratan mereka, namun membuat user
akan memenuhi komitmennya dan ingin membuat
sistem tersebut di pakai
Chapter 8 15
Proses spesifikasi, perancangan dan implementasi
saling bertumpang tindih
Sistem dikembangkan dalam serangkaian bagian
(inkrement)
Dipakai teknik-teknik untuk pengembangan sistem
yang cepat ( 4GL dan CASE tools )
Interface sistem user biasanya dikembangkan dengan
menggunakan sistem interaktif
Chapter 8 16
Masalah Manajemen
Manajemen mengasumsikan pengembangan sistem menggunakan pendekatan waterfall
Pengembangan prototipe membutuhkan keahlian khusus, yang mungkin saja tidak ada pada team pengembangnan saat ini
Masalah Pemeliharaan
Perubahan yang terus menerus cendrung merusak struktur sistem prototipe, dalam jangka panjang pemeliharaan cenderung menjadi mahal
Masalah Kontraktual
Chapter 8 17
Menghindari beberapa masalah perubahan konstan yang
menjadi ciri pembuatan prototipe evolusioner
Arsitektur sistem yang menyeluruh ditentukan pada awal
proses untuk berfungsi sebagai kerangka kerja
Komponen sistem dikembangkan secara inkremental dalam
kerangka kerja ini
Setelah di validasi dan diserahkan, baik kerangka kerja
maupun komponen tidak diubah kecuali ditemukan error
Chapter 8 18
Validateincrement
Build systemincrement
Specify systemincrement
Design systemarchi tecture
Define systemdel iverables
Systemcomplete?
Integrateincrement
Validatesystem
Del iver finalsystem
YES
NO
Chapter 8 19
Pendekatan ini memperluas proses analisis
persyaratan dengan tujuan mengurangi biaya siklus-
hidup secara keseluruhan
Fungsi utama prototipe adalah memperjelas
persyaratan dan memberikan informasi tambahan
bagi manajer untuk menilai resiko proses
Umum digunakan untuk sistem H/W
Chapter 8 20
Outlinerequirements
Developprototype
Evaluateprototype
Specifysystem
Developsoftware
Validatesystem
Del iveredsoftwaresystem
Reusablecomponents
Chapter 8 21
Pengembang kadang2 ditekan oleh Manajer untuk menyerahkan prototipe Throw-away untuk di pakai, terutama jika ada waktu tunda dalam penyerahan versi akhir dari perangkat lunak tersebut.
Hal diatas tidak bijaksana karena :
Bisa saja tidak mungkin menyesuaikan prototipe untuk memenuhi persyaratan non-fungsional seperti persyaratan kinerja, keamanan, keandalan dll
Prototipe pada akhirnya tidak didokumentasikan karena pengembangan dilakukan dengan cepat
Perubahan yang dilakukan pada saat pengembangan prototipe mungkin akan merusak struktur sistem
Standar kualitas organisasi biasanya dilonggarkan untuk pengembangan prototipe
Chapter 8 22
Berbagai teknik dapat digunakan untuk rapid development
Dynamic high-level language development
Database programming
Component and application assembly
Tidak ada teknik yang eksklusif – karen ateknik ini digunakan secara bersama-sama
Visual programming adalah bagian yang inherent dalam pembangunan prototipe
Chapter 8 23
Bahasa yang memiliki fasilitas pengelolaan data yang
sangat baik
Memiliki dukungan run-time yang baik.
Mempermudah pengembangan program karena
banyak masalah alokasi dan manajemen media
penyimpanan yang dapat diselesaikan
Beberapa bahasa memiliki dukungan yang
terintegrasi, hal ini dapat dimanfaatkan untuk
prototipe
Chapter 8 24
Language Type Application domainSmalltalk Object-oriented Interactive systemsJava Object-oriented Interactive systemsProlog Logic Symbolic processingLisp List-based Symbolic processing
Chapter 8 25
Apa domain masalah tersebut ?
Interaksi user apa yang dibutuhkan ?
Lingkungan pendukung apa yang disediakan dengan
bahasa tersebut ?
Bagian yang berbeda dari sistem dapat diprogramkan
dengan bahasa yang berbeda, hal ini akan
menimbulkan problem komunikasi antar modul
Chapter 8 26
Pengembangan evolusioner sekarang merupakan teknik standar
untuk implementasi aplikasi berukuran kecil dan menengah
pada domain sistem bisnis
Lazimnya termasuk database query language, screen generator,
report generator dan spreadsheet.
Dapat diintegrasikan dengan CASE toolset
Bahasa dan lingkungan ini kadang-kadang disebut fourth-
generation language (4GL)
Cost-effective untuk institusi bisnis kelas kecil-menengah
Chapter 8 27
DBprogramminglanguage
Interfacegenerator Spreadsheet
Reportgenerator
Database management system
Fourth-generation language
Chapter 8 28
Prototipe dapat di create secara cepat dari
sekumpulan komponen yang pernah ada ditambah
dengan mekanisme untuk merekat komponen ini
bersama-sama
Mekanisme komposisi ini mesti memuat fasilitas
kontrol dan mekanisme untuk komunikasi
Sistem spesifikasi harus dimasukkan kedalam
account yang ada dan fungsi dari komponen yang
semula tetap ada
Chapter 8 29
Pembangunan level Aplikasi
Sistem aplikasi yang ada diintegrasikan dengan prototipe dengan demikian fungsinya dapat di pakai bersama
Contoh, jika dibutuhkan text maka word processor standar dapat digunakan
Pembangunan level Komponen
Komponen individual diintegrasikan dengan kerangka kerja standard kemudian diintegrasikan ke sistem
Frame work can be a scripting language or an integration framework such as CORBA
Chapter 8 30
Componentcompositionframework
Executableprototype
Reusablesoftware
components
Control andintegration code
Chapter 8 31
Untuk beberapa aplikasi, prototipe dapat di-create dengan pembangunan “ compound document “
Hal ini adalah dokumen dengan elemen aktif [seperti spreadsheet] menyediakan dokumen untuk komputasi user
Tiap-tiap elemen aktif berhubungan dengan aplikasi yang dipilih
Dokumen itu sendiri merupakan integrator untuk berbagai dokumen yang berbeda
Chapter 8 32
Compound document
Word processor Spreadsheet Audio player
Text 1 Text 2 Text 3
Text 4 Text 5
Table 1
Table 2
Sound 1
Sound 2
Chapter 8 33
Bahasa Script seperti VB di mana prototipe di
bangun dengan memakai UI dari item standar dan
hubungannya dengan komponen lain
Bahasa ini memiliki komponen library yang lengkap
untuk mendukung pembangunan sistem/prototipe
Programer aplikasi membangun sistem secara
interaktif dengan mendefinisikan interface dalam
layar , field, tombol, dan menu
Chapter 8 34
Fi le Edit Views Layout Options Help
GeneralIndex
Hypertextdisplay componentDate component
Range checkingscript
Tree displaycomponent
1 2th January 2000
3.876
Draw canvascomponent
User promptcomponent +
script
Chapter 8 35
Sukar untuk mengkoordinasikan team
pembangunan sistem
Tidak ada arsitektur sistem yang eksplisit
Ada ketergantungan yang sangat kompleks diantara
bagian dari program yang menyebabkan
pemeliharaan menjadi rumit
Chapter 8 36
UI merupakan norma bagi sistem interaktif
Pembangunan UI mengkonsumsi biaya yang semakin
meningkat dari keseluruhan biaya pembangunan
sistem
Generator interface membuat program yang
terstruktur dengan baik, yang di buat dari spesifikasi
interface
Prototipe Interface berbasis Web dapat di buat
dengan editor web
Chapter 8 37
Prototipe sistem dapat dikembangkan untuk memberi end-user
kesan yang konkrit mengenai kemampuan sistem
Prototipe semakin populer karena ada tekanan agar sistem
diserahkan dengan cepat
Prototipe Throw-away mencakup pengembangan prototipe untuk
memahami persyaratan sistem
Prototipe evolusioner , sistem dibangun dengan cara memulai dari
versi initial sampai versi final
Chapter 8 38
Pengembangan cepat sangat penting untuk prototipe
Teknik prototipe mencakup bahasa pemrograman tingkat tinggi ,
database, dan konstruksi dari kompunen yang sudah ada
Prototipe adalah bagian yang penting dari pengembangan sistem.
User harus terlibat dalam melakukan evaluasi terhadap prototipe
yang sudah di buat dan menyesuaikannya dengan persyaratan
sistem awal
Chapter 8 39
Chapter 8 40