Anda di halaman 1dari 33

APA ITU METODE

Metode Incremental adalah suatu


modelPengembangan sistem pada software
engineering yang berdasarkan requirement
software yang dipecah menjadi beberapa
fungsi atau bagian sehingga model
pengembangannya dilakukan secara bertahap
atau increment
BAGAIMANA
TAHAPAN DARI
METODE INCREMENTAL ??
Tahapannya adalah...
1. Requirement , Requirment adalah proses tahapan awal yang dilakukan pada incremental model
adalah penentuan kebutuhan atau analisis kebutuhan.

2. Specification, Specification adalah proses spesifikasi dimana menggunakan analisis kebutuhan


sebagai acuannya.

3. Architecture Design, adalah tahap selanjutnya, perancangan software yang terbuka agar
dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.

4. Code setelah melakukan proses desain selanjutnya ada pengkodean.

5. Test merupakan tahap pengujian dalam model ini.


Kapan Metode
Incremental
digunakan.. ??
Metode ini digunakan saat...
• Sistem Terus Berkembang
• Sistem dengan Interkasi skala kecil dan
medium
• Sistem dengan masa penggunaan jangka
pendek
• Cocok untuk proyek berukuran kecil
(tidak lebih dari 200.000 coding
Apa Kelebihan dan
Kekurangan dari Metode
Incremental.. ??
KELEBIHAN ...
1. Merupakan model dengan manajemen yang
sederhana
2. Pengguna tidak perlu menunggu sampai
seluruh sistem dikirim untuk mengambil
keuntungan dari sistem tersebut.
3. Resiko untuk kegagalan proyek secara
keseluruhan lebih rendah. Walaupun masalah
masih dapat ditemukan pada beberapa
increment.
4. Nilai penggunaan dapat ditentukan pada setiap increment
sehingga fungsionalitas sistem disediakan lebih awal.
5. Memiliki risiko lebih rendah terhadap keseluruhan
pengembagan sistem,
6. Prioritas tertinggi pada pelayanan sistem adalah yang paling
diuji
KEKURANGAN ...
1. kemungkinan tiap bagian tidak dapat
diintegrasikan
2. Dapat menjadi build and Fix Model, karena
kemampuannya untuk selalu mendapat
perubahan selama proses rekayasa berlangsung
3. Harus Open Architecture
4. Mungkin terjadi kesulitan untuk memetakan
kebutuhan pengguna ke dalam rencana
spesifikasi masing-masing hasil increment.
Model Spiral
Model spiral adalah proses software yang evolusioner yang merangkai
sifat iteratif dari prototipe dengan cara kontrol dan aspek sistematis dari
model sekuensial linier. Model ini berpotensi untuk pengembangan versi
pertambahan software secara cepat. Di dalam model spiral, software
dikembangkan di dalam suatu deretan pertambahan. Selama awal iterasi,
rilis inkremental bisa merupakan sebuah model atau prototipe kertas.
Selama iterasi berikutnya, sedikit demi sedikit dihasilkan versi sistem
rekayasa yang lebih lengkap.
Tahapan-tahapan model spiral

• Komunikasi pelanggan
Yaitu tugas-tugas untuk membangun komunikasi antar
pelanggan dan kebutuhan-kebutuhan yang di inginkan oleh
pelanggan.
• Perencanaan
Yaitu tugas-tugas yang dibutuhkan untuk mendefinisikan
sumber daya, ketepatan waktu, dan proyek informasi lain
yang berhubungan.
-Analisis resiko
Yaitu tugas-tugas yang di butuhkan untuk menaksir resiko manajemen dan teknis.
-Perekayasaan
Tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.
-Konstruksi dan peluncuran
Tugas-tugas yang dibutuhkan untuk mengkontruksi , menguji, memasang (install) dan memberikan pelayanan kepada
pemakai (contohnya pelatihan dan dokumentasi).
-Evaluasi pelanggan
Tugas-tugas yang di butuhkan untuk memperoleh umpan balik dari pelanggan dengan didasarkan pada evaluasi
representasi perangakat lunak, yang dibuat selama masa perekayasaan, dan diimplementasikan selama masa
pemasangan.
Kelebihan model Spiral:

• Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan


apa yang diharapkan oleh client dapat diperjelas dan juga dapat
menjadi acuan untuk client dalam mencari kekurangan kebutuhan.

• Lebih cocok untuk pengembangan sistem dan perangkat lunak skala


besar.

• Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup


perangkat lunak komputer.
• Pengembang dan pemakai dapat lebih mudah memahami dan
bereaksi terhadap resiko setiap tingkat evolusi karena perangkat
lunak terus bekerja selama proses.

• Menggunakan prototipe sebagai mekanisme pengurangan


resiko dan pada setiap keadaan di dalam evolusi produk.
Kekurangan model Spiral

•Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol
oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh
konsumen dan developer.
•Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya
sukses.
•Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
•Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika
resiko mayor tidak ditemukan dan diatur.
•Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.
Model CBSE
• adalah proses yang menekankan perancangan dan
pembangunan software dengan menggunakan komponen
software yang sudah ada. Model ini bersifat iteratif atau
berulang-ulang prosesnya. Tahapan CBSE terdiri dari dua
bagian yang terjadi secara paralel yaitu :
1. Software engineering (component-based development)
• Component based development sangat berkaitan dengan teknologi
berorientasi objek. Pada pemrograman berorientasi objek, banyak class
yang dibangun dan menjadi komponen dalam suatu software. Class-class
tersebut bersifat reusable artinya bisa digunakan kembali. Penggunaan
kembali komponen software yang sudah ada menguntungkan dari segi :

• Siklus waktu pengembangan software, karena mampu mengurangi waktu


70%
• Biaya produksi berkurang sampai 84% karena pembangunan komponen
berkurang
Hal-hal yang dilakukan pada tahap software engineering (component-
based development) adalah :
• Melakukan analisis terhadap domain model yang sudah ditetapkan
• Menentukan spesifikasi dan merancang berdasarkan model
struktur dan spesifikasi sistem.
• Melakukan pembangunan software dengan menggunakan
komponen-komponen yang sudah ditetapkan berdasarkan analisis
dan rancangan yang dihasilkan sebelumnya hingga akhirnya
menghasilkan software.
2. Domain engineering
Hal-hal yang dilakukan pada tahapan domain engineering:
• Menciptakan model domain bagi aplikasi yang akan digunakan
untuk menganalisis kebutuhan pengguna.
• Identifikasi, pembangunan, pengelompokan dan
pengalokasikan komponen-komponen software supaya bisa
digunakan pada sistem yang ada dan yang akan datang.
Rational Unified Process (RUP)
• merupakan suatu pendekatan disiplin dalam mengerjakan
tugas dan tanggung jawab melalui berbagai best practise di
dalam suatu organisasi pengembangan pengembangan
perangkat lunak. Tujuan dari RUP adalah untuk memastikan
dihasilkannya produk perangkat lunak dengan kualitas yang
tinggi (minim error dan berjalan sesuai yang diharapkan), serta
memenuhi semua kebutuhan stakeholder dengan biaya dan
waktu yang sudah diprediksikan. menunjukkan secara
keseluruhan kerangka kerja (framework) yang dimiliki RUP
• RUP menggunakan konsep object oriented dengan aktifitas
yang berfokus pada pengembangan model dengan
menggunakan unified model language (UML). UML adalah
bahasa standar untuk penulisan blueprint perangkat lunak.
Model ini membagi suatu sistem aplikasi menjadi beberapa
komponen sistem dan memungkinkan para developer aplikasi
untuk menerapkan metoda iterative (analisis, disain,
implementasi dan pengujian) pada tiap komponen. dapat
dilihat bahwa RUP memiliki dua dimensi, yaitu:
• Dimensi horisontal mewakili aspek-aspek dinamis dari
pengembangan perangkat lunak. Aspek ini dijabarkan dalam
tahapan pengembangan atau fase. Setiap fase akan memiliki suatu
major milestone yang menandakan akhir fase dan awal dari fase
selanjutnya. Setiap fase dapat terdiri dari satu atau beberapa
iterasi.
• 2. Dimensi vertikal mewakili aspek-aspek statis dari proses
pengembangan perangkat lunak yang dikelompokkan ke dalam
beberapa disiplin. Proses pengembangan perangkat lunak yang
dijelaskan kedalam beberapa disiplin terdiri dari empat elemen
penting, yakni who is doing what, how and when.
Tahapan pengembangan perangkat lunak dalam RUP terbagi menjadi
4 fase, sebagai berikut :
• Inception
merupakan tahap untuk mengidentifikasi sistem yang akan
dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain
mencakup analisis sistemeksisting, perumusan sistem target,
penentuan arsitektur global target, identifikasi kebutuhan,
perumusan persyaratan (fungsional, performansi, keamanan, GUI,
dll.), perumusan kebutuhan pengujian (level unit, integrasi, sistem,
performansi, fungsionalitas, keamanan, dll.), pemodelan diagram
UML (diagram use case dan activity), dan pembuatan dokumentasi.
• Elaboration
merupakan tahap untuk melakukan disain secara lengkap
berdasarkan hasil analisis di tahap inception. Aktivitas yang
dilakukan pada tahap ini antara lain mencakup pembuatan disain
arsitektur subsistem (architecture pattern), disain komponen
sistem, disain format data (protokol komunikasi), disain database,
disain antarmuka/tampilan, disain peta aliran tampilan, penentuan
design pattern yang digunakan, pemodelan diagram UML (diagram
sequence, class, component, deployment, dll.), dan pembuatan
dokumentasi.
• Construction
merupakan tahap untuk mengimplementasikan hasil disain dan melakukan pengujian hasil
implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil
analisis dan disain, terutama disain pada domain perilaku (diagram sequence) dan domain
struktural (diagram class, component, deployment). Apabila disain yang dibuat telah sesuai
dengan analisis sistem, maka implementasi dengan bahasa pemrogramanan tertentu dapat
dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil
analisis dan disain (misal menggunakan Class Responsibility Collaborator untuk kasus
pemrograman berorientasi obyek), pendataan kebutuhan implementasi lengkap
(berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang
digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai
kemungkinan pengembangan / perbaikan lebih lanjut, dan pembuatan dokumentasi.
• Transition
merupakan tahap untuk menyerahkan sistem aplikasi ke
konsumen (roll-out), yang umumnya mencakup pelaksanaan
pelatihan kepada pengguna dan testing beta aplikasi terhadap
ekspetasi pengguna.
TERIMA KASIH ~

Anda mungkin juga menyukai