Anda di halaman 1dari 14

TUGAS REKAYASA PERANGKAT LUNAK

Febri Valention (13/359853/PTK/9466)


Khairul Sani (13/359750/PTK/9462)
Yosua Alvin Adi Soetrisno (13/359461/PTK/9439)
S2 Teknologi Informasi
Teknik Elektro dan Teknologi Informasi
Universitas Gadjah Mada


Software adalah suatu program komputer, prosedur, data dan semua dokumentasi yang
berhubungan dengan operasi pada sistem computer atau dengan kata lain software
merupakan kumpulan dari objek membentuk konfigurasi yang didalamnya termasuk
program, documen, dan data.
Menurut IEEE, pengembangan software (software engineering) adalah aplikasi
sistematik, disiplin, pendekatan kualitatif untuk pengembangan, operasi dan
pemeliharaan dari software dengan kata lain software engineering merupkan sebuah
metodologi pengembangan perangkat lunak (software) yang membahas semua aspek
produksi perangkat lunak, mulai dari tahap awal spesfikasi sistem hingga pada tahap
pemeliharaan sistem setelah digunakan dengan tujuan untuk membuat perangkat lunak
yang tepat dengan metode yang tepat.
Adapun beberapa metode pengembangan software, yaitu seperti spiral, waterfall, RAD, XP,
dan lain sebagainya. Pada makalah ini akan dibahas mengenai model prototype dan agile
model.
I. Prototype Model
a. Pendahuluan
Prototype memiliki tujuan untuk memodelkan sebuah sistem atau merupakan aspek
khusus dari sebuah sistem. Prototype awal dapat dikembangkan dengan menggunakan
dokumentasi dari user yang berupa rangkaian cerita atau proses bisnis yang bisa dituangkan
dalam bentuk navigasi atau secara lebih mudah dengan menggunakan spreadsheet yang berisi
formula dan juga report yang biasa dipakai oleh user.
Prototype dapat memberikan wawasan dan juga pemahaman yang lebih luas tentang
lingkup, asal mula kebutuhan, dan harapan dari aktifitas pengembangan walaupun memiliki
fungsionalitas dan fitur yang terbatas.
Sering terjadi seorang user hanya mendefinisikan secara umum apa yang dikehendakinya
tanpa menyebutkan secara detail output apa saja yang dibutuhkan, pemrosesan, dan data-data
apa saja yang dibutuhkan. Sebaliknya disisi developer kurang memperhatikan efesiensi
algoritma, kemampuan sistem operasi, dan pengalaman dalam menggunakan interface yang
menghubungkan manusia dan komputer.
Prototype secara khusus berguna untuk mengijinkan developer melakukan komunikasi
dengan user secara dua arah. Konsep, ide, dan pendekatan bisa ditelaah lebih jauh untuk
mendapatkan pemahaman yang lebih baik. Feedback dari user juga bisa diberikan untuk
memandu proses modifikasi dari komponen yang telah dibuat, dengan elemen khusus atau
interpretasi juga fitur yang akan dilanjutkan, dirubah, atau dibuang.
Developer secara lebih jauh dapat menggunakan prototyping untuk memperoleh
informasi yang lebih jauh tentang bentuk interface, sifat, kebiasaan dan juga fungsionalitas
dari sistem keseluruhan. User dapat melihat developer menindaklanjuti kebutuhan user
sehingga masing-masing bisa memiliki visi yang sama. Masalah dan kesalahan yang
diketahui pada saat prototyping akan lebih efektif untuk diperbaiki daripada memperbaiki
sistem yang telah jadi secara keseluruhan.
Prototyping membantu mengurangi resiko terjadinya kesalahan. Dengan prototyping
developer lebih mungkin untuk mengembangkan solusi yang dapat menyelesaikan masalah
sebenarnya dan sesuai dengan kebutuhan khusus dan harapan yang dimiliki user.
Meskipun prototyping dapat digunakan sebagai model proses yang berdiri sendiri, namun
lebih sering digunakan sebagai teknik yang diimplementasikan bersama dengan model-model
yang lain. Tanpa memperhatikan cara bagaimana model ini dipakai, paradigma prototyping
membantu developer dan user untuk memiliki pemahaman yang lebih baik tentang apa yang
akan dibangun ketika kebutuhan yang diinginkan tidak diuraikan secara jelas. Paradigma
prototyping diawali dengan komunikasi antara developer dan user yang bertemu dan
mendefinisikan sasaran-sasaran menyeluruh dari perangkat lunak yang akan dibangun,
mengidentifikasi kebutuhan apa saja yang diinginkan. Iterasi prototyping direncanakan secara
cepat, demikian juga pemodelan dalam bentuk rancangan segera dibuat.

Gambar 1. Prototype Model
b. Siklus pada Prototype Model
1. Communication
Developer dan user bertemu dan menentukan tujuan umum, kebutuhan yang diinginkan,
dan gambaran bagian-bagian yang akan dibutuhkan berikutnya.
2. Quick Plan
Perancangan dilakukan cepat dan mewakili semua aspek software yang diketahui, dan
rancangan ini menjadi dasar pembuatan prototype.
3. Modelling Quick Design
Berfokus pada representasi aspek software yang bisa dilihat user. Modelling Quick Design
cenderung ke pembuatan prototipe.
4. Construction of Prototype
Membangun kerangka atau rancangan prototype dari software yang akan dibangun.
5. Deployment Delivery & Feedback
Prototype yang telah dibuat oleh developer akan disebarkan kepada user untuk dievaluasi,
kemudian user akan memberikan feedback yang akan digunakan untuk merevisi
kebutuhan software yang akan dibangun.
Perulangan proses ini terus berlangsung hingga semua kebutuhan terpenuhi. Prototype
dibuat untuk memuaskan kebutuhan user dan untuk memahami kebutuhan user dengan
lebih baik. Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software
secara lebih cepat, namun tidak semua prototype bisa dimanfaatkan.




c. Tahapan-tahapan Prototyping

Gambar 2. Tahapan Prototype
Tahapan-tahapan dalam prototyping adalah sebagai berikut:
1. Pengumpulan kebutuhan (Goal)
User dan developer bersama-sama mendefinisikan format dari seluruh komponen yang
akan dipakai pada software terutama secara aspek user interface, mengidentifikasi semua
proses bisnis, dan juga memberikan garis besar sistem akan dibuat. Detail yang rumit dari
proses perancangan internal dan aspek eksternal seperti performa dan keamanan bisa
diabaikan pada tingkat ini.
2. Penentuan fungsionalitas program (Functionality)
Menunjukkan bagaimana esensi sistem akan bekerja sehingga bisa bekerja secara
terstruktur dan juga memberikan beberapa detail dari konten yang biasanya disediakan
untuk dikomunikasikan lebih lanjut. Prototype merupakan model dengan fungsional yang
lengkap setelah diberi komentar teknis karena semakin kompleks suatu sistem akan
membentuk semakin banyak pemahaman yang perlu dipelajari untuk menggunakan
sistem. Inilah yang membedakan prototype dengan model karena pada pemodelan seperti
autocad, objek rancangan tidak harus bisa berfungsi.
3. Membangun prototyping (Develop)
Membangun prototyping dengan membuat perancangan sementara yang dapat memenuhi
permintaan dasar, yang berfokus pada penyediaan user interface (misalnya dengan
membuat input dan format output). Fitur yang ada tidak berjalan sama persis seperti pada
software sebenarnya dan solusi (workaround) digunakan untuk memberi kesamaan
tampilan dan rasa (pengalaman) pada user pada prototype yang dibangun.
4. Review dari prototype (Evaluation)
Prototype yang dikembangkan dipresentasikan ke user dan juga stakeholder yang penting
pada proyek terkait. Feedback dikumpulkan secara terorganisasi dan digunakan untuk
pengembangan lebih jauh dari produk yang sedang dikembangkan. Jika prototype sudah
sesuai maka bisa langsung dilanjutkan untuk melakukan pemrograman sistem
(mengkodekan sistem). Jika belum sesuai prototype direvisi dengan mengulangi langkah
satu sampai tiga. Pada tahap ini peninjan ulang dari komentar akan didiskusikan dan
negosiasi terjadi antara customer berdasarkan faktor keterbatasan waktu dan biaya dan
juga kelayakan secara teknis untuk implementasi sesungguhnya. Siklus ini berulang
ketika harapan dari user belum bisa terpenuhi.
5. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah disepakati akan diterjemahkan ke dalam program
sesungguhnya menggunakan database dan bahasa pemrograman yang sesuai.
6. Menguji sistem
Setelah sistem sudah menjadi suatu software yang siap pakai, maka dilakukan pengujian
semua fungsi yang ada sebelum digunakan. Pengujian ini dilakukan dengan metode
White Box yang meliputi pengujian basis path (untuk mengukur komplektisitas
algoritma, pengujian kondisi dan pengujian loop dan juga Black Box untuk mencari
solusi error yang terjadi pada fungsional program.
7. Evaluasi Sistem
User akan mengevaluasi apakah sistem sudah sesuai dengan apa yang diharapkan.
d. Keunggulan dan Kelemahan Prototyping
Keunggulan prototyping adalah sebagai berikut:
1. Adanya komunikasi yang baik antara developer dan user.
2. Developer dapat bekerja lebih baik dalam menentukan kebutuhan user.
3. User berperan aktif dalam pengembangan sistem.
4. Lebih menghemat waktu dalam pengembangan sistem.
5. Penerapan menjadi lebih mudah karena user mengetahui apa yang diharapkannya.
Kelemahan prototyping adalah sebagai berikut:
1. User terkadang tidak melihat atau menyadari bahwa software yang ada belum
menyertakan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan
kemampuan pemeliharaan untuk jangka waktu lama.
2. Developer biasanya ingin lebih cepat dalam menyelesaikan proyek, sehingga
menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat
prototyping yang lebih cepat selesai, tanpa memikirkan lebih lanjut bahwa program
tersebut hanya merupakan cetak biru dari sistem keseluruhan, sehingga sering terjadi
perombakan besar dari prototype yang memakan waktu lebih lama.
3. Hubungan user dengan sistem yang disediakan terkadang tidak mencerminkan teknik
perancangan yang baik. Prototyping bekerja dengan baik pada penerapan-penerapan yang
berciri sebagai berikut:
a. Resiko tinggi yaitu untuk masalah-masalah yang tidak terstruktur dengan baik,
membutuhkan perubahan yang besar dari waktu ke waktu, mulai dengan adanya
kebutuhan data yang tidak menentu.
b. Interaksi user dan sistem penting. Sistem harus menyediakan percakapan dua arah
antara user dan sistem.
c. Perlunya penyelesaian yang cepat
d. Perilaku pemakai yang sulit ditebak
e. Sitem yang inovatif. Sistem tersebut membutuhkan cara penyelesaian masalah dan
penggunaan perangkat keras yang canggih.
f. Perkiraan tahap penggunaan sistem yang pendek
f. Dimensi pada Prototyping
Prototype dapat memiliki dimensi horisontal dan vertikal. Dimensi horisontal
menampilkan user interface dari produk dan memberi pandangan yang lebih luas dari sistem
keseluruhan. Prototype vertikal pada sisi yang lain merupakan perluasan dari detail pada
fungsi yang lebih spesifik atau pada sub sistem dari produk.
Tujuan dari prototype horisontal dan vertikal berbeda. Prototype horisontal digunakan
untuk memperoleh informasi pada tingkat user interface dan kebutuhan proses bisnis. Hal ini
biasa ditunjukkan pada demo penjualan untuk mendapat nilai bisnis pada pasar. Prototype
vertikal lebih secara teknis pada umumnya, digunakan untuk memperoleh detail dari fungsi
yang tepat dari sub sistem, sebagai contoh kebutuhan database dan beban pemrosesan data
yang diberikan sub sistem.
g. Tipe Prototype Software
Ada beberapa tipe prototype yang digunakan sebagai berikut:
1. Throwaway/Rapid Prototyping
Disebut juga sebagai rapid atau close ended prototyping. Tipe prototyping ini
menggunakan usaha yang sangat kecil dengan analisis sistem yang minimal untuk
membangun prototype. Ketika kebutuhan sebenarnya telah bisa dipahami, prototype lalu
dibuang dan sistem sebenarnya dikembangkan dengan pemahaman yang lebih pada
kebutuhan user. Kelebihan dari metode ini adalah secara signifikan mengurangi resiko dari
poyek dan mempunyai timeline proyek yang singkat. Kekurangannya adalah prototype hanya
digunakan untuk demo, dengan tujuan yang terbatas, tidak dapat dijadikan acuan untuk
proyek ke depan.
2. Evolutionary Prototyping
Disebut juga breadboard prototyping yang berdasarkan pada pengembangan fitur
fungsional dengan fungsionalitas yang minimal pada tahap awal. Prototype mengembangkan
form yang menjadi landasan dari prototype selanjutnya di atas sistem keseluruhan yang akan
dibangun. Evolutionary prototype digunakan bila kebutuhan sudah dipahami dengan baik,
disertakan pada prototype dan kebutuhan akan ditambahkan ketika bisa dipahami.

Gambar 3. Evolutionary Prototyping
Kelebihan dari sistem ini adalah developer selalu mencari cara untuk mengembangkan
sistem yang ada, meningkatkan kesempatan untuk membuat user menjadi puas dengan sitem
kerjanya, dapat digunakan walaupun kebutuhan belum terbentuk, dan pengiriman sistem yang
lebih cepat. Kekurangannya adakah metode ini dapat digunakan untuk menghindari
dokumentasi dari kebutuhan sistem, manajemen dibutuhkan, maintenance jangka panjang
akan mahal, ide perancangan yang tidak pasti, informasi dapat hilang melalui banyak
penambahan yang terjadi.
3. Incremental prototyping
Incremental prototyping mengacu pada membangun beberapa prototype fungsional dari
beberapa variasi sub sistem dan mengintegrasikan beberapa prototype yang tersedia menjadi
sebuah sistem yang lengkap.


4. Extreme prototyping
Extreme prototyping digunakan pada domain pengembangan web. Extreme prototyping
terdiri dari tiga fase sekuensial. Pertama, sebuah prototype dasar dengan semua halaman
dipresentasikan dalam format html. Lalu pemrosesan data disimulasikan dengan layer
layanan prototype. Terakhir layanan akan diimplementasikan dan diintegrasikan menjadi
prototype final.
5. Low fidelity prototyping
Low fidelity programming merupakan fungsi yang dibatasi secara umum, dengan usaha
interaksi prototyping yang terbatas. Prototype dibangun untuk menggambarkan konsep,
merancang alternatif dan layout dari tampilan. Prototype dimaksudkan untuk mendemokan
tampilan dan pengalaman dari interface secara umum. Prototype digunakan untuk memberi
edukasi, berkomunikasi dan memberi informasi, namun tidak untuk latihan, testing, atau
sebagai basis yang akan diprogram. Low fidelity digunakan pada tahap awal perancangan,
untuk memperlihatkan pendekatan konseptual tanpa melihat lebih jauh dari segi
pengembangan.
6. High fidelity prototyping
High fidelity prototyping merepresentasikan fungsionalitas utama dari sebuah produk
user interface. Sistem ini merupakan sistem yang benar-benar interaktif. User dapat
memasukkan data pada field yang tersedia, memberikan respon pada pesan, memilih icon
untuk membuka windows dan berinteraksi dengan user interface yang digunakan pada sistem
sebenarnya. Sistem ini mengesampingkan kecepatan untuk memperoleh akurasi. Membangun
high fidelity akan memakan resource dan memakan biaya yang besar. Perbandingan low
fidelity dan high fidelity prototyping dapat dilihat pada Gambar 4.

Gambar 4. Low Fidelity vs High Fidelity Prototyping
h. Metodologi yang dipakai pada prototyping
Berikut merupakan metodologi yang dipakai pada prototyping sesuai dengan jenis dan
juga posisinya pada tahapan prototyping.

Gambar 5. Metodologi Prototyping
Pada tahap awal design maka sistem dibangun menggunakan throw-away prototyping.
Ketika melakukan demo ke user, yang juga merupakan investigasi dari prototype tersebut,
mengijinkan perancangan untuk memenuhi kebutuhan user secara lebih presisi sesuai dengan
teknik evaluasi yang digunakan pada sistem akhir.
Perbaikan dari throw away prototype adalah tentang kebutuhan yang telah
diselesaikan.
Evolutionary prototyping digunakan untuk membangun model prototype (sebuah
sistem yang akurat dan memiliki penjelasan lengkap). Prototype ini dapat dipelajari dengan
beberapa kondisi yang disimulasikan.
Perbaikan di model prototype, adalah mengacu pada sistem aktual, telah dikerjakan
dan merupakan sistem akhir yang dikeluarkan setelah melakukan testing.


i. User Interface Prototyping
Pengembangan dari sistem software yang interaktif dengan graphical user interface (GUI)
menjadi sangat umum dan diterima dari sistem yang bergantung pada kualitas dari GUI.
Prototyping merupakan arti yang baik dalam menciptakan ide tentang bagaimana GUI dapat
dirancang dan membantu mengevaluasi kualitas dari solusi pada tahap awal.
Klasifikasi pada user interface dapat menggunakan presentation prototypes, functional
prototype, breadboards, dan juga pilot sistem.
j. Resiko Prototyping
User akan menganggap bahwa sistem tersebut adalah sistem sebenarnya sehingga
menghasilkan persepsi yang tidak realistis dari progress.
Implementer akan memilih pilihan yang buruk karena prototype menjadi justifikasi
bagaimana sistem akhir bekerja, sehingga akan mencoba mengembangkan sistem sebenarnya
yang hampir mirip dengan prototype.
Prototype tidak identik dengan sistem sebenarnya, user bisa melakukan interaksi yang
berbeda karena karakteristik yang berbeda, harus melakukan interpretasi pengalaman
menggunakan prototype dengan teliti.
II. Agile Model
a. Pendahuluan
Software process dalam perangkat lunak digunakan untuk merancang atau membangun
suatu perangkat lunak, dengan perkembangan teknologi yang sangat pesat metodologi
perangkat lunak juga terjadi perubahan atau penambahan requirements. Dari model waterfall
hingga model-model incremental memiliki karakteristik yang berbeda dalam membangun
suatu perangkat lunak. Semua model yang berkembang sebelunya belum bias menangani
kemungkinan perubahan (ditengah jalan) ataupun penambahan requirement. Padahal untuk
mencapai keberhasilan dalam sebuah perancangan dan pembangunan perangkat lunak adalah
kesesuaian hasil dengan requirement yang ada dan memberikan kepuasan pada pengguna.
Pada tahun 90-an diperkenalkan dengan software process model baru yang dikenal
dengan nama agile methods, kata agile berarti bersifat cepat, ringan, bebas bergerak,
waspada. Metodologi yang dikenal sebagai agile methods ini mengutamakan fleksibilitas
terhadap perubahan-perubahan yang terjadi selama pengembangan. Bahkan perubahan
ataupun penambahan pada saat fase terakhir pun teratasi apabila menggunakan metodologi
ini.


b. Pengertian
Agile methods dikembangkan karena pada metodologi tradisional terdapat banyak hal
yang membuat proses pengembangan tidak dapat berhasil dengan baik sesuai tuntutan user.
Konsep Agile Software Development dicetuskan oleh Kent Beck dan 16 rekannya dengan
menyatakan bahwa Agile Software Development adalah cara membangun software dengan
melakukannya dan membantu orang lain membangunnya sekaligus.
Agile method juga dapat diartikan sekelompok metodologi pengembangan software yang
didasarkan pada prinsip-prinsip yang sama atau pengembangan system jangka pendek yang
memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun.
c. Perbedaan Agile dan Model klasik
1. Metode agile memiliki konsep yang rumit dibandingkan dengan metode klasik
2. Metode klasik relatif lebih lama dalam pengerjaan proyeknya dibandingkan dengan
model metode agile
3. Resiko kegagalan lebih rendah dibandingkan dengan metode klasik
d. Prinsip Agile Software
Agile development methods terdefinisi dalam empat nilai, biasa di sebut Agile Alliances
Manifesto, diantaranya:
1. Interaksi dan personel lebih penting dari pada proses dan alat.
2. Perangkat lunak yang berfungsi lebih penting daripada dokumentasi yang lengkap.
3. Kolaborasi dengan klien lebih penting dari pada negosiasi kontrak.
4. Respon terhadap perubahan lebih penting daripada mengikuti rencana.
Dari manifesto di atas Agile Software Development juga melihat pentingnya komunikasi
antara anggota tim, antara orang-orang teknis dan businessmen, antara developer, team leader
dan proyek managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun software.
Dari manifesto di atas pula dapat dijabarkan beberapa prinsip agile software. Prinsip ini
adalah bagi mereka yang ingin berhasil dalam penerapan Agile Software Development:
1. Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan
terus menerus.
2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
3. Penyerahan hasil/software dalam hitungan waktu beberapa minggu sampai beberapa
bulan.
4. Pihak bisnis dan pengembang harus bekerja sama setiap hari selama pengembangan
berjalan.
5. Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja
dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan
proyek.
6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien
7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek
8. Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk
menjaga perkembangan yang berkesinambungan
9. Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile
10. Kesederhanaan penting
11. Arsitektur, kebutuhan dan desain yang bagus muncuk dari tim yang mengatur dirinya
sendiri
12. Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera
melakukannya.
Dua belas prinsip tersebut menjadi suatu dasar bagi model-model proses yang punya sifat
agile. Dengan prinsip-prinsip tersebur Agile Process Model berusaha untuk menyiasati tiga
asumsi penting tentang proyek software pada umumnya:
1. Kebutuhan software sulit diprediksi dari awal dan selalu akan berubah. Selain itu,
prioritas klien juga sering berubah seiring berjalannya proyek.
2. Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan seberapa jauh
desain yang diperlukan sebelum pembangunan.
3. Analisis, desain, pembangunan dan testing tidak dapat diperkirakan seperti yang
diinginkan.
e. Kelebihan dari Agile Method
1. Meningkatkan kepuasan kepada klien
2. Pembangunan system dibuat lebih cepat
3. Mengurangi resiko kegagalan implementasi software dari segi non teknis
4. Jika pada saat pembangunan system terjadi kegagalan/kerugian dari segi materi relatif
kecil.
f. Model-model Agile method
1. Extreme Programmning (XP)
2. Adaptive Software Development (ASD)
3. Dynamic Systems Development Method (DSDM)
4. Scrum Methodology
5. Crystal
6. Feature Driven Development (FDD)
7. Agile Modeling (AM)
8. Rational Unified Process
g. Agile modeling (AM)
Dalam situasi pembangunan software harus membangun sistem bisnis yang besar dan
penting. Jangkauan dan kompleksitas sistem harus dimodelkan sehingga dapat dimengerti,
masalah dapat dibagi menjadi lebih kecil dan kualitas dapat dijaga pada tiap langkah
pembangunan software.
Agile modeling adalah suatu metodologi yang praktis untuk dokumentasi dan pemodelan
sistem software. Agile modeling adalah kumpulan nilai-nilai, prinsip dan praktek-praktek
untuk memodelkan software agar dapat diaplikasian pada software development proyek
secara efektif.
h. Prinsip dalam Agile Modeling
1. Membuat model dengan tujuan: tentukan tujuan sebelum membuat model.
2. Mengunakan multiple models: tiap model mewakili aspek yang berbeda dari model
lain.
3. Travel light yaitu menyimpan model-model yang bersifat jangka panjang saja.
4. Isi lebih penting dari pada penampilan sehingga modelling dapat menyajikan
informasi kepada domain yang tepat.
5. Memahami model dan alat yang yang digunakan untuk membuat software.
6. Adaptasi secara lokal.
i. Kelebihan dari Agile Modeling
1. Meningkatkan kepuasan kepada klien
2. Pembangunan sistem dibuat lebih cepat
3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
4. Jika pada saat pembangunan sistem terjadi kegagalan/kerugian dar segi materi relatif
kecil
j. Kelemahan dari Agile Modeling
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.





Daftar Referensi
Baumer, B. (1996). User Interface prototyping- Concepts, Tools, and Experience.
Proceedings of ICSE , 18, 532-541.
Hoffer, J. J. (2007). Modern Systems Analysis and Design. Reading,MA: Prentice Hall
Publishing Company.
Luqui, V. Berzins (1988).Rapidly prototyping Real-Time System.IEEE Software, September
1998, 25-36.
SoftDevTeam. (2006). Evoutionary Prototyping Model. Retrieved 04 12, 2008, from
http://www.softdevteam.com
Sommerville, I. (2000). Software Engineering. Pearson publications.
http://agilemanifesto.org/
Final Version to appear in, J.J. Marciniak (ed.), Encyclopedia of Software Engineering, 2
nd

Edition, John Wiley and Sons, Inc, New York, December 2001.
http://www.agilemodeling.com/essays/introductionToAM.htm.
Ambler, Scott W. "An Introducation to Agile Modeling." Agile Modeling Home Page. 2001-
2008.
Pressman, Roger S. Software Engineering : A Practitioner's Approach. 6th Ed. McGraw-Hall.
NY. 2005.

Anda mungkin juga menyukai