Rabu, 24 Oktober 2012 di makassar 21.12 Diposting oleh Tom 0 Comments

Pada mata kuliah RPL kali ini saya telah mempelajari tentang Software Process.Software Process terbagi menjadi 5 model yaitu : 

 1 Waterfall Model



Gambar di atas adalah tahapan umum dari model proses ini. Akan tetapi Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman:
  • System / Information Engineering and Modeling. Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.
  • Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
  • Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
  • Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
  • Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
  • Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi
perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai
sebelum mengerjakan fase berikutnya.
Masalah dengan waterfall :
1. Perubahan sulit dilakukan karena sifatnya yang kaku.
2. Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara
lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada
kenyataannya jarang sekali konsumen/pengguna yang bisa memberikan
kebutuhan secara lengkap, perubahan kebutuhan adalah sesuatu yang wajar
terjadi.
3. Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar
dimana proyek dikerjakan di beberapa tempat berbeda, dan dibagi menjadi
beberapa bagian sub-proyek.

Kelebihan dan Kekurangan Waterfall Model
Kelebihan :
-   Merupakan model pengembangan paling handal dan paling lama digunakan.
-   Cocok untuk system software berskala besar.
-   Cocok untuk system software yang bersifat generic.
-   Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
Kekurangan :
-   Persyaratan system harus digambarkan dengan jelas.
-   Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
-  Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan

Referensi :http://tonyjustinus.wordpress.com/2007/11/11/waterfall-process-model/
                http://lecturer.ukdw.ac.id/othie/softwareprocess.pdf
                http://itsum.wordpress.com/2010/09/27/kelebihan-dan-kekurangan-setiap-model-pada-software-development-life-cycle-sdlc/

2 Prototyping Model



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 adaptasi terhadap sistem operasi atau rancangan form user
interface. Ketika situasi seperti ini terjadi model prototyping sangat membantu
proses pembangunan software.

Proses pada model prototyping yang digambarkan pada gambar 1, bisa dijelaskan
sebagai berikut:
- pengumpulan kebutuhan : developer dan klien bertemu dan menentukan
tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian
yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak
dibicarakan disini, pada awal pengumpulan kebutuhan
- perancangan : perancangan dilakukan cepat dan rancangan mewakili
semua aspek software yang diketahui, dan rancangan ini menjadi dasar
pembuatan prototype.
- Evaluasi prototype : klien mengevaluasi prototype yang dibuat dan
digunakan untuk memperjelas kebutuhan software.
Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan
terpenuhi. Prototype-prototype dibuat untuk memuaskan kebutuhan klien dan
untuk memahami kebutuhan klien lebih baik.

Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software
lebih cepat, namun tidak semua prototype bisa dimanfaatkan.
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 berkeras terhadap 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 membuat prototype 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.

Kelebihan dan Kekurangan Prototyping Model
Kelebihan :
-     Prototype melibatkan user dalam analisa dan desain.
-     Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
-     Untuk digunakan secara standalone.
-     Digunakan untuk memperluas SDLC.
-    Mempersingkat waktu pengembangan Sistem Informasi
Kekurangan :
-   Proses analisis dan perancangan terlalu singkat.
-   Mengesampingkan alternatif pemecahan masalah.
-   Bisanya kurang fleksible dalam mengahdapi perubahan.
-   Protitype yang dihasilkan tidak selamanya mudah dirubah
-  Protype terlalu cepat selesai 

Referensi :http://lecturer.ukdw.ac.id/othie/softwareprocess.pdf
                http://itsum.wordpress.com/2010/09/27/kelebihan-dan-kekurangan-setiap-model-pada-software-development-life-cycle-sdlc/

3 Rapid Application Development Model (RAD) 

RAD adalah model proses pembangunan PL yang incremental. RAD menekankan
pada siklus pembangunan yang pendek/singkat. RAD mengadopsi model
waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan
component based construction. Waktu yang singkat adalah batasan yang penting
untuk model ini.
Jika kebutuhan lengkap dan jelas maka waktu yang dibutuhkan untuk
menyelesaikan secara komplit software yang dibuat adalah misalnya 60 sampai
90 hari.
Kelemahan dalam model ini:
1. tidak cocok untuk proyek skala besar
2. proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
3. sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini
4. resiko teknis yang tinggi juga kurang cocok untuk model ini



Fase-fase di atas menggambarkan proses dalam model RAD. Sistem dibagi-bagi
menjadi beberapa modul dan dikerjakan dalam waktu yang hampir bersamaan
dalam batasan waktu yang sudah ditentukan.
1. Business modelling : menjawab pertanyaan-pertanyaan: informasi apa
yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa
yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang
mengolah informasi? kebutuhan dari sistem
2. Data modelling : aliran informasi yang sudah didefinisikan, disusun
menjadi sekumpulan objek data. Ditentukan karakteristik/atribut dan
hubungan antar objek-objek tersebut analisis kebutuhan dan data
3. Process Modelling : objek data yang sudah didefinisikan diubah menjadi
aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis.
4. Application Generation : RAD menggunakan component program yang
sudah ada atau membuat component yang bisa digunakan lagi, selama
diperlukan.
5. Testing and Turnover : karena menggunakan component yang sudah
ada, maka kebanyakan component sudah melalui uji atau testing. Namun
component baru dan interface harus tetap diuji.

Kelebihan dan Kekurangan RAD Model
Kelebihan :
-   RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object).
-  Setiap fungsi dapat dimodulkan dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efesien.
Kekurangan :
-   Tidak cocok untuk proyek skala besar.
-   Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
-   Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
-   Resiko teknis yang tinggi juga kurang cocok untuk model ini.


Referensi : http://lecturer.ukdw.ac.id/othie/softwareprocess.pdf
                 http://itsum.wordpress.com/2010/09/27/kelebihan-dan-kekurangan-setiap-model-pada-software-development-life-cycle-sdlc/

4 Incremental Model



1. kombinasikan element-element dari waterfall dengan sifat
iterasi/perulangan.
2. element-element dalam waterfall dikerjakan dengan hasil berupa produk
dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama
hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih
lengkap dari yang sebelumnya. Demikian seterusnya hingga semua
spesifikasi memenuhi kebutuhan yang ditetapkan oleh pengguna.
3. produk hasil increment pertama biasanya produk inti (core product), yaitu
produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh
pengguna atau menjalani review/pengecekan detil. Hasil review tersebut
menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini
terus dikerjakan sampai produk yang komplit dihasilkan.
4. model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak
cukup.
5. Mampu mengakomodasi perubahan secara fleksibel.
6. Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi
produk yang sudah bisa berfungsi dengan spesifikasi dasar.
Masalah dengan Incremental model:
1. cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding).
2. mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke
dalam rencana spesifikasi masing-masing hasil increment.

Kelebihan dan Kekurangan Incremental Model
Kelebihan Incremental Model
  • Personil bekerja optimal
  • Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. COntohnya pemasukan data karyawan
  • Mengurangi trauma karena perubahan sistem.  Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian
  • Memaksimalkan pengembalian modal investasi konsumen
Kekurangan Incremental Model
  • kemungkinan tiap bagian tidak dapat diintegrasikan
  • Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung
  • Harus Open Architecture
Referensi :http://lecturer.ukdw.ac.id/othie/softwareprocess.pdf
                http://trisnowlaharwetan.wordpress.com/2010/03/10/perbandingan-model-dalam-rekayasa-perangkat-lunak/  

5 Iterative Model/Spiral Model



 Proses digambarkan sebagai spiral. Setiap loop mewakili satu fase dari software
process. Loop paling dalam berfokus pada kelayakan dari sistem, loop
selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan
desain sistem dan seterusnya. Setiap Loop dibagi menjadi beberapa sektor :
1. Objective settings (menentukan tujuan) : menentukan tujuan dari
fase yang ditentukan. Batasan-batasan pada proses dan produk sudah
diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah
diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko
yang diketahui, dan sudah direncanakan.
2. Risk assessment and reduction (Penanganan dan pengurangan
resiko)
: setiap resiko dianalisis secara detil pada sektor ini. Langkahlangkah
penanganan dilakukan, misalnya membuat prototype untuk
mengetahui ketidakcocokan kebutuhan.
3. Development and Validation (Pembangunan dan pengujian) :
Setelah evaluasi resiko, maka model pengembangan sistem dipilih.
Misalnya jika resiko user interface dominan, maka membuat prototype
User Interface. Jika bagian keamanan yang bermasalah, maka
menggunakan model formal dengan perhitungan matematis, dan jika
masalahnya adalah integrasi sistem model waterfall lebih cocok.
4. Planning : Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk
terus ke fase loop selanjutnya atau tidak. Jika melanjutkan ke fase
berikutnya rencana untuk loop selanjutnya.

Pembagian sektor tidak bisa saja dikembangkan seperti pada pembagian sektor
berikut pada model variasi spiral di bawah ini:




1. Customer communication : membangun komunikasi yang baik dengan
pengguna/customer.
:2. Planning : mendefinisikan sesumber, batas waktu, informasi-informasi lain
seputar proyek
3. Risk analysis : identifikasi resiko managemen dan teknis
4. Engineering : pembangunan contoh-contoh aplikasi, misalnya prototype
5. Construction and release : pembangunan, test, install dan support.
6. Customer evaluation : mendapatkan feedback dari pengguna beradasarkan
evaluasi PL pada fase engineering dan fase instalasi.
Pada model spiral, resiko sangat dipertimbangkan. Resiko adalah sesuatu yang
mungkin mengakibatkan kesalahan.
Model spiral merupakan pendekatan yang realistik untuk PL berskala besar.
Pengguna dan pembangun bisa memahami dengan baik software yang dibangun
karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik.
Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi
pengguna, karena waktu yang lama sama dengan biaya yang lebih besar.

Kelebihan dan Kekurangan Iterative Model
Kelebihan :
-   Dapat mengakomodasi jika terjadi perubahan pada tahapan pengembangan yang telah dilaksanakan.
-   Dapat disesuaikan agar system bisa dipakai selama hidup software computer.
-   Cocok untuk pengembangan sistem dan perangkat lunak skala besar.
-   Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tahapan karena system terus bekerja selama proses.
Kekurangan :
-   Hanya berlaku untuk Short-Lifetime system.
-   Tahapan proses tidak terlihat sedang berada ditahapan mana suatu pekerjaan.
-   Memerlukan alat ukur kemajuan secara regular.
-   Perubahan yang sering terjadi dapat merubah struktur system.
-   Memerlukan tenaga ahli dengan kemampuan tinggi.

Referensi :http://lecturer.ukdw.ac.id/othie/softwareprocess.pdf
                http://itsum.wordpress.com/2010/09/27/kelebihan-dan-kekurangan-setiap-model-pada-software-development-life-cycle-sdlc/

Sekian. :)

0 Responses so far.

Posting Komentar