Upload
joy-sipahutar
View
70
Download
1
Embed Size (px)
Citation preview
Software Process Model
1. Fourth Generation Techniques/Model Teknik Generasi ke-4/4GT
Istilah Fourth Generation Techniques (4GT) mencakup
seperangkat peralatan perangkat lunak yang berfungsi sebagai perangkat
bantu yang memudahkan seorang pengembang software mengaplikasi
beberapa karakteristik software pada tingkat yang tinggi, yang akan
menghasilkan source code dan object code secara otomatis sesuai dengan
spesifikasi (persyaratan khusus) yang dibuat oleh sang pengembang
perangkat lunak. Dewasa ini, 4GT tools dipakai sebagai bahasa non
prosedur untuk DataBase Query, Pembentukan laporan (Report
Generation), Manipulasi data, Definisi dan interaksi layar (screen),
Pembentukan object dan source (Object and source generation ),
Kemampuan grafik yang tinggi, dan Kemampuan spreadsheet.
Tahapan-tahapan model 4GT sebagai berikut.
- Tahap Pengumpulan Kebutuhan : tahap ini dimulai dengan
mengumpulkan serangkaian kebutuhan yang nantinya akan
diterjemahkan ke dalam prototipe. Namun, apabila pelanggan tidak
yakin dengan apa yang diperlukan dan fakta-fakta tidak jelas diketahui
maka prototipe tidak dapat dikerjakan oleh peralatan 4GT.
- Tahap Merancang Strategi: tahap ini dibutuhkan untuk proyek besar
yakni dengan menterjemahkan kebutuhan menjadi prototipe
operasional agar tidak timbul masalah yang sama jika dibuat dengan
model konvensional. Namun, untuk proyek skala kecil tahap ini dapat
dihilangkan dengan langsung melakukan implementasi dengan
menggunakan bahasa generasi keempat (4GT).
- Tahap Implementasi Menggunakan Bahasa Keempat: untuk skala kecil
tahap ini dapat langsung dilakukan ketika kebutuhan telah jelas, dan
untuk proyek besar tahapan ini dijalankan setelah dirancang prototipe
operasional. Implementasi yang menggunakan 4GT memudahkan
pengembang software untuk menjelaskan hasil yang diharapkan yang
nantinya akan diterjemahkan ke dalam bentuk kode sumber dan kode
objek.
- Tahap Produksi: Tahap ini merupakan langkah terakhir yakni
mengubah implementasi 4GT ke dalam hasil akhir berupa produk.
Kelebihan :
- Pengurangan waktu dan peningkatan produktivitas yang besar.
Kekurangan :
- Sulit memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan
dengan menggunakan bahasa pemrograman yang konvensional.
- Terdapat juga masalah dalam hal kode sumber yang tidak efisien.
- Pemeliharaan sistem software besar yang dikembangkan oleh 4GT
juga masih sedang dalam proses pengkajian.
Model ini diaplikasikan untuk mengembangkan perangkat lunak yang
memakai bentuk bahasa khusus atau notasi grafik yang
dieksekusi/diselesaikan dengan syarat atau ketentuan yang dipahami oleh
pemakai/pengguna/customer.
2. Component Assembly Model (CAM/Model Perakitan Komponen)
Model ini merupakan gabungan dari berbagai sifat dan karakter
dari model spiral Boehm dan sangat erat keterikatannya dengan model
RAD (Rapid Application Development) model karena model CAM ini
menggunakan peralatan-peralatan dan GUI (Graphic User Interface) untuk
membangun software. Dengan kata lain, pembuatan aplikasinya dibuat
dari paket perangkat lunak yang berisi serangkaian komponen yang telah
ada sebelumnya. Namun, waktu yang dibutuhkan dapat disesuaikan atau
lebih efektif ketimbang harus mengerjakan program dari awal.
Tahapan-tahapan Model ini adalah :
- Tahap Identifikasi calon-calon komponen (kelas objek).
- Tahap melihat komponen-komponen dalam pustaka; Tahap
mengekstrak komponen jika ada.
- Tahap membangun komponen jika tidak ada; Tahap menyimpan
komponen baru pada pustaka.
- Tahap mengkonstruksi iterasi ke-n dari sistem.
Kelebihan :
- Menggunakan program atau komponen yang sudah ada dan
menyusunnya menjadi sebuah program yang lebih kompleks dan
berkembang sesuai dengan kebutuhan user/pengguna sehingga dapat
mengefisienkan penggunaan waktu dan tenaga.
- Model ini juga menyediakan kemampuan untuk memvisualisasikan
hasil rakitan dengan kesanggupan untuk mengukur, menganalisa,
merancang dan merancang ulang program.
Kekurangan :
- program atau komponen-komponen terdahulu tidak kompatibel atau
sejalan dengan model perakitan komponen ini sehingga untuk
perusahaan berskala kecil akan kesulitan menemukan komponen yang
sesuai untuk dirakit.
Model ini sangat sesuai digunakan oleh perusahaan besar yang sudah
berpengalaman mengembangkan software. Mereka dapat memanfaatkan
software-software yang telah umum dikembangkan sebelumnya menjadi
bentuk baru dari software yang ingin dikomersilkan.
3. RAD Model (Rapid Aplication Development)
Rapid Application Development (RAD) merupakan model proses
incremental software yang menekankan pada short development cycle.
RAD model adalah adaptasi berkecepatan tinggi “high-speed” dari
waterfall model yang mana secara cepat perkembangan dicapai
menggunakan pendekatan konstruksi berbasis komponen. Jika kebutuhan
dipahami dengan baik, proses RAD memungkinkan tim pengembang
menciptakan “sistem fungsional yang utuh” dalam periode waktu yang
singkat kira-kira 60 sampai 90 hari. Seperti pada model yang lain proses
model RAD juga melalui beberapa tahapan yang dapat dilihat pada
gambar dibawah.
Tahapan model RAD adalah sebagai berikut :
- Communication : memahami masalah dan informasi khusus yang harus
cocok dengan software yang akan dibuat
- Planning : merupakan perencanaan yang penting untuk dilakukan
karena beberapa software tim bekerja secara bersamaan / parallel pada
fungsi sistem yang berbeda
- Modeling : berisi business modeling, data modeling, dan process
modeling menjadi dasar komponen dari tahap konstruksi yang
dikerjakan secara bersamaan oleh beberapa tim yang berbeda
- Construction : berisi penggunaan kembali komponen software yang
telah ada, automatic code generation, dan melakukan testing
- Deployment : berisi integration, delivery, dan feedback
Kelebihan :
- Waktu pengerjaannya yang terbilang singkat yaitu kira-kira 60-90 hari
RAD dalam prosesnya dapat menggunakan kembali komponen software
maupun program yang sudah ada sebelumnya sehingga menghemat waktu
dan lebih mudah
Kekurangan :
- Membutuhkan sumber daya manusia yang besar, untuk membentuk
tim-tim
- Developers dan customers dituntut harus commit pada kecepatan
aktivitas kerja untuk menyelesaikan sistem sesuai dengan frame time,
jika tidak maka project RAD akan gagal
- Jika sistem tidak dapat dimodulkan dengan benar, maka dalam
pembangunan komponen dari RAD akan bermasalah
- Jika performance hanya berfokus pada perbaikan interface dari
komponen sistem, maka pendekatan RAD mungkin tidak bekerja
- Jika resiko terlalu tinggi maka model RAD bukanlah model yang tepat
untuk digunakan
Model RAD sangat tepat diterapkan untuk sistem yang telah jelas dan
lengkap kebutuhannya, di mana terdapat komponen-komponen yang dapat
dipakai kembali dalam proyek yang berskala kecil dengan waktu
pengembangan perangkat lunak yang singkat.
4. Prototyping Model
Prototyping Model digunakan ketika customer tidak tahu secara
pasti apa yang dibutuhkannya sehingga developer pun kurang memahami
apa yang diinginkan oleh customer. Paradigma Prototyping membantu
Software Engineer dan customer lebih memahi akan apa yang akan
dibuatnya ketika kebutuhan tidak jelas. Gambar dari model Prototyping
dapat dilihat seperti dibawah ini.
Tahapan dari model Prototyping adalah :
- Communication : komunikasi antara developer dan customer mengenai
tujuan pembuatan dari software, mengidentifikasi apakah kebutuhan
diketahui
- Quick Plan : perancanaan cepat setelah terjalin komunikasi
- Modeling, Quick Design : segera membuat model, dan quick design
fokus pada gambaran dari segi software apakah visible menurut
customer
- Construction of Prototype : quick design menuntun pada pembuatan
dari prototype
- Deployment, Delivery & Feedback : prototype yang dikirimkan
kemudian dievaluasi oleh customer, feedback digunakan untuk
menyaring kebutuhan untuk software.
Perulangan terjadi agar prototype diperbaiki untuk memuaskan kebutuhan
dari customer, sementara pada waktu yang sama memungkinkan developer
memahami lebih baik apa yang dibutuhkan untuk menyelesaikan software.
Kelebihan :
- Tidak menghabiskan biaya besar apabila terdapat kekurangan terhadap
produk yang telah dikirimkan, karena hanya berupa prototype yang
sedang dicoba customer untuk mengetahui kekurangan mengenai
prototype tersebut agar developer dapat memperbaiki kekurangan yang
ada sehingga menghasilkan produk seperti yang diinginkan
Kekurangan :
- Customer hanya melihat pada versi kerjanya tanpa menyadari bahwa
prototype dikerjakan bersama-sama, hal ini menyebabkan developer
tidak memperhatikan kualitas ataupun jangka panjang
pemeliharaannya
- Developer sering melakukan kompromi pada pengimplementasian agar
prototype selesai dengan cepat.
5. Concurrent Development Model
Concurrent Development Model kadang disebut concurrent
engineering, dapat direpresentasikan dengan skema sebagai series dari
kerangka aktifitas, aksi software engineering dan juga tugas. Pada model
ini aktifitas kerja dilakukan secara bersamaan, setiap proses kerja memiliki
beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal dari awal proses
kerja maupun dari pemicu yang lain karena setiap pemicu akan saling
berhubungan. Misalnya proses desain akan berubah atau dihentikan
sementara karena ada perubahan permintaan kebutuhan dari costumer.
Gambar dari model ini dapat dilihat seperti dibawah ini.
Kelebihan :
- Proses konkuren model ini berlaku untuk semua jenis pengembangan
perangkat lunak dan memberikan gambaran yang akurat tentang
keadaan sekarang dari suatu proyek
Kekurangan :
- statenya sangat banyak sehingga membutuhkan waktu lebih banyak.
Model proses yang mungkin digunakan pada SRS “Perancangan Sistem Informasi
Manajemen Penjualan Tiket Konser Musik secara Online” adalah Rapid
Application Development (RAD). Berdasarkan kelebihan yang ada, yaitu Waktu
pengerjaannya yang terbilang singkat yaitu kira-kira 60-90 hari, sistem yang
dibuat dapat lebih cepat untuk dipublikasikan. Meskipun model proses ini
membutuhkan sumber daya manusia yang besar, dengan begitu sistem yang
dibuat dapat dikembangkan oleh administrator bekerja sama dengan para
promotor atau event organizer. Dengan begitu pengembangan sistem dapat lebih
mudah bila dalam satu tim.