31813767 model proses perangkat lunak
TRANSCRIPT
-
7/23/2019 31813767 Model Proses Perangkat Lunak
1/14
BAB I
PENDAHULUAN
1.1 Latar Belakang
Proses Perangkat Lunak merupakan Sekumpulan aktifitas yang memilikitujuan untuk pengembangan ataupun evolusi perangkat lunak. Aktifitas generic dalam
semua proses perangkat lunak adalah:
Spesifikasi apa yang harus dimiliki oleh perangkat lunak tersebut dan
batasan/kendala pengembangannyaPengembangan proses memproduksi sistem perangkat lunak
Validasi pengujian perangkat lunak terhadap keinginan penggunak
Evolusi perubahan perangkat lunak berdasarkan perubahan keinginan.
Model Proses Perangkat Lunak merupakan suatu representasi prosesperangkat lunak yang disederhanakan, dipresentasikan dan perspektif secara khusus.
Fungsi utama model proses pengembangan perangkat lunak :
menentukan tahap-tahap yang diperlukan untuk pengembangan perangkat
lunak.
menentukan urutan pelaksanaan dari tahap-tahap tersebut dalam rangkapengembangan perangkat lunak.
menentukan kriteria transisi/perpindahan dari satu tahap ke tahap
berikutnya.
Terdapat banyak model proses perangkat lunak antara lain:
Menurut Ian Sommerville:
1. Model Pengembangan Waterfall2. Model Pengembangan Prototyping (Evolusioner)
3. Model Pengembanagan formal
4. Model Pengembangan perakitan komponen-komponen guna ulang
Menurut Roger S.Pressman:
1. Linier sequential model
2. Prototyping model3. Rapid Aplication development (RAD) model
4. Evolutionary software process model terdiri dari:
a. Increment Modelb. Spiral model
c. WINWIN Spiral Model
d. Conccurent development model5. Component based development
-
7/23/2019 31813767 Model Proses Perangkat Lunak
2/14
6. Formal method model
7. 4th Generation technique paradigm
Selain Model proses diatas masih banyak proses model lainnya, Model proses munculdikarenakan :
1. Kompleksitas masalah semakin besar
2. Melibatkan tim dalam pengembangan software sehingga membutuhkan abstraksi.3. Memelihara pengembangan sehingga membutuhkan standarisasi.
Dalam kesempatan kali ini kami ingin membahas tentang dua model prosesperangkat lunak yakni model proses Model Proses Extreme Programming dan
Prototyping Model.
1.2 Perumusan masalah
Di dalam makalah ini kami akan menjelaskan dua buah model proses perangkat
lunak yakni model proses Model Proses Extreme Programming dan Prototyping Model
mulai dari latar belakang terbentuknya model proses tersebut, metode-metode yangdigunakan dalam model proses, hingga kelemahan dan kekurangannya.
Disamping itu, kami juga akan membandingkan software model tersebut dari segi
kehandalan, kelemahan dan kekurangannya.
1.3 Tujuan dan manfaat
Makalah ini bermanfaat untuk menambah pemahaman tentang model proses
perangkat lunak, khususnya model proses Model Proses Extreme Programming dan
Prototyping Model. Adapun tujuan makalah ini adalah untuk membandingkan kedua
Proses model tersebut.
-
7/23/2019 31813767 Model Proses Perangkat Lunak
3/14
BAB II
EXTREME PROGRAMMING
2.1 PENGERTIAN EXTREME PROGRAMMING
Extreme Programming merupakan salah satu metodologi dalam rekayasaperangkat lunak dan juga merupakan satu dari beberapa agile software development
methodologies yang berfokus pada codingsebagai aktivitas utama di semua tahap pada
siklus pengembangan perangkat lunak (software development lifecycle). Metodologi inimengedepankan proses pengembangan yang lebih responsive terhadap kebutuhan
customer (agile) dibandingkan dengan metode-metode tradisional sambil membangun
suatu software dengan kualitas yang lebih baik.
Extreme Programming muncul menawarkan sebuah disiplin baru dalampengembangan software secara agile. Nilai dasar yang terkandung di dalam Extreme
Programming adalah: Komunikasi (Communication), Kesederhanaan (Simplicity),
Umpan balik (Feedback) Keberanian (Courage) dan menghormati (Respect).
2.2 SEJARAH EXTREME PROGRAMMING
Proyek pengembangan perangkat lunak yang dianggap sebagai yang pertama kali
menerapkan XP adalah C3 (Chrysler Comprehensive Compensation) Project dari
Chrysler. Proyek ini adalah proyek penggajian 10.000 karyawan Chrysler, terdiri dari
kira-kira 2000 class dan 30.000 method. Proyek yang dimulai pertengahan dekade 90-anini terancam gagal karena rumitnya sistem yang dibangun dan kegagalan pada saat
testing. Chrysler kemudian menyewa Kent Beck, seorang pakarsoftware engineering
yang di kemudian hari dikenal sebagai pencetus awal dari XP, untuk menyelamatkanproyek tersebut. Beck bersama rekannya Ron Jeffries dengan kewenangan yang diberikan
oleh Chrysler melakukan berbagai perubahan di C3 Project untuk membuatnya lebih
efisien, adaptif, dan fleksibel. Hal yang paling penting bagi mereka adalah harus mampumemenuhi permintaan utama dari Chrysler, untuk melakukan launchingperangkat lunak
tersebut dalam waktu tidak lebih dari dua tahun sejak saat Beck dikontrak.
Beck dan Jeffries pada akhirnya berhasil menyelesaikan target Chrysler dengan
menerapkan berbagai metode dalam proses pengembangan perangkat lunak tersebut.Kumpulan metode inilah yang kemudian dikenal sebagai model atau pendekatan XP
dalam pengembangan perangkat lunak. Begitu sederhananya metode-metode tersebut
sehingga bagi orang yang belum menerapkan, XP terlihat sebagai kumpulan ide lamayang terlalu sederhana dan tidak akan memberikan efek apapun pada sebuah proyek
pengembangan perangkat lunak.
-
7/23/2019 31813767 Model Proses Perangkat Lunak
4/14
Kent Beck sendiri mengakui dan menegaskan bahwa XP tidak selalu cocok untuk
setiap proyek pengembangan perangkat lunak. Kelebihan XP adalah sesuai untuk
digunakan pada proyek yang memiliki dynamic requirements. Proyek semacam inimemerlukan adaptasi cepat dalam mengatasi perubahan-perubahan yang terjadi selama
proses pengembangan perangkat lunak. XP juga cocok untuk proyek dengan jumlah
anggota tim tidak terlalu banyak (sekitar 10-20 orang) dan berada pada lokasi yang sama.
2.3 LATAR BELAKANG EXTREME PROGRAMMING
Requirement yang berubah dengan cepat menuntut lifecycles yang lebih pendek,
dan tidak selaras dengan metoda pengembangan tradisional, yang pada umumnya
memerlukan disain luas di awal dan mengakibatkan perubahan desain yang terjadikemudian memerlukan biaya yang lebih tinggi atau kehilangan milestones.
Berdasarkan hal ini kemudian dilahirkan konsep XP yang digagas oleh Kent Beck
dan Ward Cunningham pada Maret 1996. Metode XP merupakan yang terpopuler dari
beberapa metodologi pengembangan software yang dipakai untuk mengimplementasikanproyek pengembangan perangkat lunak.
2.4 TUJUAN EXTREME PROGRAMMING
Tujuan utama XP adalah menurunkan biaya dari adanya perubahan software.
Dalam metodologi pengembangan sistem tradisional, kebutuhan sistem ditentukan pada
tahap awal pengembangan proyek dan bersifat fixed. Hal ini berarti biaya terhadapadanya perubahan kebutuhan yang terjadi pada tahap selanjutnya akan menjadi mahal.
XP diarahkan untuk menurunkan biaya dari adanya perubahan dengan memperkenalkan
nilai-nilai basis dasar, prinsip dan praktis. Dengan menerapkan XP, pengembangan suatu
sistem haruslah lebih fleksibel terhadap perubahan.
2.5 KUNCI UTAMA DALAM EXTREME PROGRAMMING
Menurut penggagas dari metode XP, Kent Beck mendefinisikan lima kunci utama
(inti) dari XP yaitu:
1. Communication (Komunikasi)
Tugas utama developer dalam membangun suatu sistem perangkat lunak adalahmengkomunikasikan kebutuhan sistem kepada pengembang perangkat lunak.
Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pairprogramming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit
testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi
dengan developer. Tujuannya untuk memberikan pandangan pengembang sesuai dengan
pandangan pengguna sistem.
-
7/23/2019 31813767 Model Proses Perangkat Lunak
5/14
2. Simplicity (Kesederhanaan)
XP mencoba untuk mencari solusi paling sederhana dan praktis. Perbedaan
metode ini dengan metodologi pengembangan sistem konvensional lainnya terletak padaproses desain dan coding yang terfokus pada kebutuhan saat ini daripada kebutuhan
besok, seminggu lagi atau sebulan lagi. Lebih baik melakukan hal yang sederhana danmengembangkannya besok jika diperlukan.
3. Feedback (Umpan Balik)
Hal ini diperlukan untuk mengetahui kemajuan dari proses dan kualitas dariaplikasi yang dibangun. Informasi ini harus dikumpulkan setiap interval waktu yang
singkat secara konsisten. Ini dimaksudkan agar hal-hal yang menjadi masalah dalam
proses pengembangan dapat diketahui sedini mungkin. Setiap feed back ditanggapidengan melakukan tes, unit test atau system integration dan jangan menunda karena
biaya akan membengkak (uang, tenaga, waktu).
4. Courage (Keberanian)
Berani mencoba ide baru. Berani mengerjakan kembali dan setiap kali kesalahanditemukan, langsung diperbaiki. Contoh dari courage adalah komitmen untuk selalu
melakukan design dan coding untuk saat ini dan bukan untuk esok. Ketika ada kode yang
terlalu rumit, sulit dibaca dan dipahami, tidak sesuai dengan kemauan pelanggan, dll
maka seharusnya kode program seperti itu di refactor (kalau perlu dibangun ulang). Halini menjadikan pengembang merasa nyaman dengan refactoring program ketika
diperlukan
5. Respect (Menghormati)
Pentingnya respect terhadap anggota team lainnya karena dengan siklus pendekdan integrasi continue, programmer tidak boleh melakukan perubahan yang dapat
merusak kompilasi dan menyebabkan keberadaan unit uji gagal atau memperlambat kerja
team. Respects tiap individu akan selalu menghasilkan kualitas tinggi.
2.6 PENERAPAN EXTREME PROGRAMMING
Beberapa hal yang harus dipertimbangkan sebelum seseorang masuk dalam duniaXP adalah sebagai berikut:
User harus memahami konteks bisnis yang akan dikembangkan sistemnya,
sehingga developer dapat menangkap sistem secara aplikatif dan dapatmengusulkan teknologi apa yang dapat dikembangkan dalam sistem barunya
Akan lebih efektif apabila developer pernah menangani proyek pengembangan
sistem yang sejenis sehingga dapat memberikan usulan model sistem baru, di
samping alasan bahwa developer telah memiliki template aplikasi sistem tersebut
untuk dijadikan prototype sistem baru. Hal ini akan berimplikasi kepada
-
7/23/2019 31813767 Model Proses Perangkat Lunak
6/14
kemudahan dalam konstruksi sistem karena dikembangkan berdasarkan template
yang sudah ada.
Extreme programming menuntut komunikasi antar developer dan user secara
intensif dan komunikasi internal antar developer secara komprehensif, sehingga
akan lebih representatif apabila tahap pengembangan sistem dilakukan di lokal
yang mendukung proses komunikasi tersebut.
XP adalah suatu bentuk pembangunan perangkat lunak yang berbasis nilaikemudahan, komunikasi, umpan balik, dan keberanian. Bekerja dalam whole team
bersama-sama dengan praktek yang mudah. Adapun inti penerapannya adalah:
Planning Game
Small, frequent releases
System metaphors
Simple design
Testing (unit testing & TDD)
Frequent refactoring
Pair programming
Collective code ownership
Continuous integration
Sustainable pace
Whole team together
Coding standard
2.7 ASPEK DASAR EXTREME PROGRAMMING
Aspek dasar XP terdiri dari berbagai teknik atau metode yang diterapkan Beck danJeffries pada C3 Project. Teknik-teknik tersebut dapat diamati pada gambar berikut ini
http://www.xprogramming.com/xpmag/whatisxp.htm#wholehttp://www.xprogramming.com/xpmag/whatisxp.htm#whole -
7/23/2019 31813767 Model Proses Perangkat Lunak
7/14
Gambar 01. model proses XP
1. The Planning GamePendekatan XP dalam perencanaan sangat mirip dengan metode yang diterapkan
padaRAD (Rapid Application Development). Proses pendek dan cepat,
mengutamakan aspek teknik, memisahkan unsur bisnis dengan unsur teknis danpertemuan intensif antara klien dengan developer. Pada XP proses ini menggunakan
terminologi game karena Beck menyarankan untuk menggunakan teknikscore
carddalam menentukan requirements. Semakin sulit aspek teknis yang dibutuhkansemakin tinggi pula skor pada kartu rencana tersebut.
2. Small Releases
Setiap release dilakukan dalam lingkup sekecil mungkin pada XP. Setiap developermenyelesaikan sebuah unit atau bagian dari perangkat lunak maka hasil tersebut
harus segera dipresentasikan dan didiskusikan dengan klien. Jika memungkinkan
untuk menerapkan unit tersebut pada perusahaan, hal itu juga dapat dilakukansekaligus sebagai tes awal dari penerapan keseluruhan sistem. Kendati demikian hal
ini tidak selalu perlu dilakukan karena harus dihitung terlebih dahulu sumberdaya
yang dibutuhkan. Apakah lebih menguntungkan langsung melakukan tes terhadap
-
7/23/2019 31813767 Model Proses Perangkat Lunak
8/14
unit tersebut atau melakukan tes setelah unit tersebut terintegrasi secara sempurna
pada sistem.
3. Metaphor
Metaphorpada dasarnya sama dengan arsitektur perangkat lunak. Keduanya
menggambarkan visi yang luas terhadap tujuan dari pengembangan perangkat lunak.Beck sendiri seperti para penandatangan Agile Manifesto lainnya bercita-cita
menyederhanakan proses pengembangan perangkat lunak yang saat ini sudah
dianggap terlalu rumit. Arsitektur yang saat ini banyak berisi diagram dan kodesemacam UML dianggap terlalu rumit untuk dimengerti, terutama oleh klien.
Metaphor, walaupun mirip dengan arsitektur lebih bersifat naratif dan deskriptif.
Dengan demikian diharapkan komunikasi antara klien dengan developerakan
berlangsung lebih baik dan lancar dengan penggunaan metaphor.
4. Simple Design
Sebagai salah seorang penandatangan Agile Manifesto, Beck adalah seorang yang
tidak menyukai desain yang rumit dalam sebuah pengembangan perangkat lunak.Tidak heran jika dia memasukkan Simple Design sebagai salah satu unsur XP. Pada
XP desain dibuat dalam lingkup kecil dan sederhana. Tidak perlu melakukanantisipasi terhadap berbagai perubahan di kemudian hari. Dengan desain yang simpel
apabila terjadi perubahan maka membuat desain baru untuk mengatasi perubahan
tersebut dapat dengan mudah dilakukan dan resiko kegagalan desain dapatdiperkecil.
5. Refactoring
Refactoringadalah salah satu aspek paling khas dari XP.Refactoringsepertididefinisikan oleh Martin Fowler adalah Melakukan perubahan pada kode program
dari perangkat lunak dengan tujuan meningkatkan kualitas dari struktur program
tersebut tanpa mengubah cara program tersebut bekerja.Refactoringsendiri sangatsesuai untuk menjadi bagian XP karenaRefactoringmengusung konsep
penyederhanaan dari proses desain maupun struktur baris kode program. Dengan
Refactoringtim pengembang dapat melakukan berbagai usaha untuk meningkatkankualitas program tanpa kembali mengulang-ulang proses desain. Fowler adalah salah
satu kolega dekat dari Kent Beck karena itu tidak mengherankan bahwa cara berpikir
mereka terhadap proses pengembangan perangkat lunak sangat mirip satu dengan
lainnya.
6. Testing
XP menganut paradigma berbeda dalam hal tes dengan model pengembanganperangkat lunak lainnya. Jika pada pengembangan perangkat lunak lainnya tes baru
dikembangkan setelah perangkat lunak selesai menjalani proses codingmaka pada
XP tim pengembang harus membuat terlebih dahulu tes yang hendak dijalani olehperangkat lunak. Berbagai model tes yang mengantisipasi penerapan perangkat lunak
pada sistem dikembangkan terlebih dahulu. Saat proses codingselesai dilakukan
maka perangkat lunak diuji dengan model tes yang telah dibuat tersebut. Pengetesan
akan jauh lebih baik apabila dilakukan pada setiap unit perangkat lunak dalam
-
7/23/2019 31813767 Model Proses Perangkat Lunak
9/14
lingkup sekecil mungkin daripada menunggu sampai seluruh perangkat lunak selesai
dibuat. Dengan memahami tahap ini kita dapat melihat bahwa siklus pada XP adalah
requirement analysis test code design. Sekilas terlihat hal ini tidak mungkin
dilakukan tetapi pada kenyataannya memang gambaran inilah yang paling dapat
menjelaskan tentang XP.
7. Pair Programming
Pair programmingadalah melakukan proses menulis program dengan berpasangan.
Dua orang programer saling bekerjasama di komputer yang sama untukmenyelesaikan sebuah unit. Dengan melakukan ini maka keduanya selalu dapat
berdiskusi dan saling melakukan koreksi apabila ada kesalahan dalam penulisan
program. Aspek ini mungkin akan sulit dijalankan oleh para programer yangmemiliki ego tinggi dan sering tidak nyaman untuk berbagi komputer bersama
rekannnya.
8. Collective Ownership
Tidak ada satupun baris kode program yang hanya dipahami oleh satu orangprogramer. XP menuntut para programer untuk berbagi pengetahuan untuk tiap baris
program bahkan beserta hak untuk mengubahnya. Dengan pemahaman yang samaterhadap keseluruhan program, ketergantungan pada programer tertentu ataupun
berbagai hambatan akibat perbedaan gaya menulis program dapat diperkecil. Pada
level yang lebih tinggi bahkan dimungkinkan para programer dapat bertukar unityang dibangunnya.
9. Coding StandardsPair programmingdan collective ownership hanya akan dapat berjalan dengan baik
apabila para programer memiliki pemahaman yang sama terhadap penulisan kode
program. Dengan adanya coding standards yang telah disepakati terlebih dahulumaka pemahaman terhadap program akan menjadi mudah untuk semua programerdalam tim. Hal ini dapat diterapkan sebagai contoh pada penamaan variabel dan
penggunaan tipe data yang sama untuk tiap elemen semua recordatau array pada
program.
10. Continous Integration
Melakukan buildsetiap hari kerja menjadi sebuah model yang disukai oleh berbagaitim pengembang perangkat lunak. Hal ini terutama didorong oleh keberhasilan
penerapan sistem ini oleh Microsoft dan telah sering dipublikasikan. Dengan
melakukan buildsesering mungkin berbagai kesalahan pada program dapat dideteksi
dan diperbaiki secepat mungkin. Apabila banyak tim pengembang perangkat lunakmeyakini bahwa buildsekali sehari adalah minimum maka pada XP hal tersebut
adalah maksimum. Pada XP tim disarankan untuk melakukan buildsesering mungkin
misalnya setiap 4 jam atau bahkan lebih cepat lagi.
11. 40-hours Week
-
7/23/2019 31813767 Model Proses Perangkat Lunak
10/14
Beck berpendapat bekerja 8 jam sehari dan 5 hari seminggu adalah maksimal untuk
tiap programer. Lebih dari itu programer akan cenderung membuat berbagai error
pada baris-baris kode programnya karena kelelahan.
12. On-Site Customer
Sebuah pendekatan klasik, di mana XP menganjurkan bahwa ada anggota dari klienyang terlibat pada proses pengembangan perangkat lunak. Yang lebih penting lagi ia
harus ada di tempat pemrogaman dan turut serta dalam proses build dan test yang
dilakukan. Apabila ada kesalahan dalam pengembangan diharapkan klien dapatsegera memberikan masukan untuk koreksinya.
2.8 KELEBIHAN DAN KELEMAHAN EXTREME PROGRAMMING
Kelebihan
Menjalin komunikasi yang baik dengan client.
Meningkatkan komunikasi dan sifat saling menghargai antar developer
Kelemahan
Developer harus selalu siap dengan perubahan karena perubahan akan selalu
diterima.
Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran
untuk melakukan apa yang diperlukan hari itu juga).
-
7/23/2019 31813767 Model Proses Perangkat Lunak
11/14
BAB III
PROTOTYPING MODEL
3.1 PENGERTIAN PROTOTYPING MODEL
Model prototipe (prototyping model), merupakan suatu teknik untukmengumpulkan informasi tertentu mengenai kebutuhankebutuhan informasi pengguna
secara cepat. Berfokus pada penyajian dari aspekaspeksoftware tersebut yang akan
nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format output).
Prototipe tersebut dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaringkebutuhan pengembangansoftware. Iterasi terjadi pada saat prototipe ditunjukkan untuk
memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang
untuk secara lebih baik memahami apa yang harus dilakukannya. Metode denganmenyajikan gambaran yang lengkap tentang sistemnya, pemesan dapat melihat
pemodelan sistem dari sisi tampilan maupun teknik prosedural yang akan dibangun.
Kadang-kadang klien hanya memberikan beberapa kebutuhan umum software
tanpa detil input, proses atau detil output. Di lain waktu mungkin dimana tim pembangun
(developer) tidak yakin terhadap efisiensi dari algoritma yang digunakan, tingkat adaptasiterhadap sistem operasi atau rancangan form user interface. Ketika situasi seperti ini
terjadi model prototyping sangat membantu proses pembangunan software.
3.2 SEJARAH PROTOTYPING MODEL
?????
3.3 ASPEK DASAR PROTOTYPING MODEL
Tahapan Umum Model Prototype
Reaksi awal dari pengguna, diawali dengan menampilkan sebuah prototipe system
informasi, kemudian melihat reaksi dari pengguna saat bekerja dengan prototipeapakah fitur-fitur sistem pada prototype tersebut sudah sesuai dengan
kebutuhannya.
-Reaksi tersebut dikumpulkan dalam lembar observasi, wawancara dan kuesioner.
Saran-saran pengguna, saran-saran merupakan hasil interaksi pengguna dengan
prototipe yang ditampilkan (evaluasi pengguna) yang merupakan masukan untuk
perbaikan, pengubahan atau menghentikan prototipe sehingga dapat memenuhikebutuhan pengguan dengan lebih baik.
Inovasi, adalah kemampuan-kemampuan sistem baru yang sebelumnya tidak ada
pada saat pengguna berinteraksi dengan prototipe. Inovasi prototipe jika berhasil
akan menjadi bagian dari sistem hasil jadi.
Rencana revisi, prototipe menggambarkan sistem di masa datang. Rencana revisi
membantu mengidentifikasikan prioritas-prioritas apa saja yang akan diprototipekanselanjutnya.
-
7/23/2019 31813767 Model Proses Perangkat Lunak
12/14
Aktivitas Prototype
Proses pada model prototyping bisa dijelaskan sebagai berikut:
1. Mengidentifikasi kebutuhan : analisa terhadap kebutuhan calon user
2. Quick design : pembuatan desain global untuk membentuk contoh s/w
3. Build prototype : pembuatan s/w prototype termasuk pengujian danpenyempurnaan
4. Evaluasi pelanggan : mengevaluasi prototype dan memperhalus analis
kebutuhan calon pemakai5. Pembuatan & implementasi : pembuatan sebenarnya termasuk design,
coding, dan testing
Gambar 01. model proses Prototyping
Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan
terpenuhi. Prototype-prototype dibuat untuk memuaskan kebutuhan klien dan untukmemahami kebutuhan klien lebih baik. Prototype yang dibuat dapat dimanfaatkan
kembali untuk membangun software lebih cepat, namun tidak semua prototype bisa
dimanfaatkan.
-
7/23/2019 31813767 Model Proses Perangkat Lunak
13/14
Sekalipun prototype memudahkan komunikasi antar developer dan klien,
membuat klien mendapat gambaran awal dari prototype , membantu mendapatkan
kebutuhan detil lebih baik namun demikian prototype juga menimbulkan masalah:1. dalam membuat prototype banyak hal yang diabaikan seperti efisiensi, kualitas,
kemudahan dipelihara/dikembangkan, dan kecocokan dengan lingkungan yang
sebenarnya. Jika klien merasa cocok dengan prototype yang disajikan dan berkerasterhadap produk tersebut, maka developer harus kerja keras untuk mewujudkan
produk tersebut menjadi lebih baik, sesuai kualitas yang seharusnya.
2. developer biasanya melakukan kompromi dalam beberapa hal karena harus membuatprototype dalam waktu singkat. Mungkin sistem operasi yang tidak sesuai, bahasa
pemrograman yang berbeda, atau algoritma yang lebih sederhana. Agar model ini
bisa berjalan dengan baik, perlu disepakati bersama oleh klien dan developer bahwa
prototype yang dibangun merupakan alat untuk mendefinisikan kebutuhan software.
3.4 Kelebihan dan kekurangan Model Prototype
KelemahanPrototype Ketidaksadaran user bahwa ini hanya suatu model awal bukan model akhir
Pengembang kadang-kadang membuat implementasi yang sembarangan.
Teknik dan tools yang tidak optimal pada prototype yang akan tetap digunakan
pada s/w sesungguhnya.
Kebutuhan mempunyai kemungkinan sering berubah.
Sulit dalam hal dokumentasi
Banyaknya perulangan proses dapat membuat pembengkakan biaya dan jadwal
Kelebihan Prototype
oMemudahkan useruntuk memetakan pikirannya dengan prototipe
oLebih tampak realistis bagi user
oMembangun komunikasi yang baik dengan user
oBermanfaat untuk menyatakan objek yang abstrak
oMembantu mengidentifikasi kebingungan spesifikasi
oDapat menggenerasi spesifikasi aplikasi
oMendorong adanya inovasi dan desain yang fleksibel
oWaktu pengembangan cepat jika tidak terjadi banyak iterasi
Kondisi Sesuai Prototype
Membutuhkan banyak input dari user
Proyek besar dengan banyakuser
Proyek tidak jelas objeknya
Ada tekanan untuk implementasi secepatnya
Perubahan fungsional sering berubah
Usertidak terlalu memiliki pengetahuan yang memadai
-
7/23/2019 31813767 Model Proses Perangkat Lunak
14/14
Anggota tim berpengalaman
Komposisi tim stabil
Manajer proyek berpengalaman
Tidak ada jadwal strik
Mengijinkan ada banyak inovasi
Kondisi Tidak Sesuai Prototype
oAplikasi berbasis transaksi dengan system batch
oSistem e-bisnis berbasis web
oKomposisi tim tidak stabil
oKemungkinan perubahan desain tidak terlalubanyak
oObjek proyek jelas