PEMODELAN WATERFALL

Rekayasa Perangkat Lunak

Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas.(Wikipedia)

IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak

RPL atau Software Engineering (SE) à membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan

Siklus Pengembangan Perangkat Lunak

Permodelan dalam suatu perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Di dalam suatu rekayasa perangkat lunak, sebenarnya masih memungkinkan tanpa melakukan permodelan. Hal ini tidak dapat lagi dilakukan dalam suatu industri perangkat lunak.
Permodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal rekayasa, dan permodelan ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut.

›  Merupakan deskripsi yang disederhanakan dari proses perangkat lunak di presentasikan dengan sudut pandang tertentu.

›  Bisa mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada rekayasa perangkat lunak (Perekayasa PL).

Salah satu strategi yang sering dipakai sebagai model proses atau paradigma rekayasa perangkat lunak yaitu dengan menggunakan model waterfall. Model waterfall merupakan pendekatan perangkat lunak yang sistematik dan sekuensial yang dimulai dari tahap analisis, desain, kode, pengujian, dan pemeliharaaan.

Teori Pengembangan Software Waterfall Model

Waterfall model pertama kali diperkenalkanoleh Winston Royce tahun 1970. Waterfall Model merupakan model klasik yang sederhana dengan aliran sistem yang linier. Output dari setiap tahap merupakan input bagi tahap berikutnya.

Model ini telah diperoleh dari proses rekayasa lainnya dan menawarkan cara pembuatan rekayasa perangkat lunak secara lebih nyata. Model ini melibatkan tim SQA (Software Quantity Assurance) dengan 5 tahapan, dimana setiap tahapan selalu dilakukan verifikasi atau testing. Tahapan model waterfall meliputi :

Waterfall Model adalah sebuah metode pengembangan software yang bersifat sekuensial dan terdiri dari 5 tahap yang saling terkait dan mempengaruhi seperti terlihat pada gambar berikut.

Tahap – tahap pengembangan waterfall model adalah :

  1. 1.      Analisis dan definisi persyaratan

Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user, Dalam tahapan ini jasa, kendala dan tujuan dari konsultasi dengan pengguna sistem. Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user dan staf pengembang. Dengan kata lain, dalam tahapn ini dilakukan analisa kebutuhan, kemudian diverifikasi klien dan tim SQA.

Beberapa macam requirement:

User Requirement (Kebutuhan Pengguna)

Pernyataan tentang layanan yang disediakan sistem dan tentang batasan-batasan operasionalnya. Dilengkapi dengan gambar/diagram yang dapat dimengerti dengan mudah.

System Requirement (Kebutuhan Sistem)

Sekumpulan layanan/kemampuan sistem dan batasan-batasannya yang ditulis secara detil. Ini bisa berlaku sebagai kontrak antara klien dan pembangun.

Software Requirement Specification (Spesifikasi Kebutuhan Perangkat Lunak)

Gambaran abstrak dari rancangan perangkat lunak yang menjadi dasar bagi perancangan dan implementasi yang lebih detil

  1. 2.      Perancangan sistem dan perangkat lunak

Perancangan perangkat lunak adalah proses dimana analisa diterjemahkan menjadi “cetak-biru” untuk membangun perangkat lunak. Awalnya, cetak biru menggambarkan pandangan menyeluruh perangkat lunak. Yaitu, desain diwakili pada tingkat yang dapat langsung ditelusuri pada sistem tertentu objektif dan data yang lebih rinci, fungsional, dan persyaratan yang diperlukan. Seperti terjadi pengulangan desain, perbaikan dari desain sebelumnya.

Kegiatan ini menentukan arsitektur sistem secara keseluruhan Fokus pada struktur data, arsitektur perangkat lunak, representasi interface, dan detail algoritma prosedural. Proses ini menerjemahkan syarat / kebutuhan ke dalam sebuah representasi perangkat lunak.

Metode Perancangan:

  • Perancangan Data

Yaitu transformasi model data yang dihasilkan oleh proses analisis menjadi struktur  data yang dibutuhkan pada saat implementasi.

Hasil perancangan data adalah:

– struktur data siap diprogram

– struktur basis data siap dibuat oleh pemrogram

– prosedur/operasi untuk mengakses data, siap deprogram

  • Perancangan Arsitektur

Yaitu definisi keterkaitan antar elemen-elemen utama yang akan membentuk program.

Hasil perancangan arsitektural:

Structure Chart yang merepresentasikan gambaran menyeluruh struktur/ arsitektur perangkat lunak, beserta seluruh hierarki kendali/passing parameter, yang siap dituliskan dalam bentuk modul program.

  • Perancangan Antarmuka

Yaitu penjabaran komunikasi: internal perangkat lunak, antara perangkat lunak, dengan sistem diluarnya, dan antara perangkat lunak dengan usernya.

Hasil perancangan antarmuka adalah:

– definisi antarmuka modul yang siap untuk diprogram

– definisi / format rancangan layar yang siap diimplementasikan

  • Perancangan Prosedur

Yaitu transformasi elemen struktural dari arsitektur program menjadi deskripsi prosedur.

Hasil perancangan prosedur adalah:

– Flow-chart

– Algoritma/pseudocode/program design language

  1. 3.      Implementasi dan pengujian unit

Pada tahap ini dilakukan kerja untuk membangun perangkat lunak berdasarkan analisa dan pemodelan yang telah dilakukan. Sehigga hasil dari tahap ini adalah basis data dan source code perangkat lunak.

Selama tahap ini, desain perangkat lunak disadari sebagai sebuah program lengkap atau unit program. Desain yang telah disetujui, diubah dalam bentuk kode-kode program. Tahap ini, kode-kode program yang dihasilkan masih pada tahap modul-modul. Diakhir tahap ini, tiap modul di testing tanpa diintegrasikan. Perancangan perangkat lunak direalisasikan sebagai serangkaian program

  1. 4.      Integrasi dan pengujian sistem

Unit program diintegrasikan atau diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah terpenuhi

Setelah source code dihasilkan, perangkat lunak harus diuji untuk menemukan (dan membenarkan) sebanyak mungkin kesalahan yang dibuat.

Unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah uji coba, sistem disampaikan ke konsumen.

Metode pengetesan:

1. Black box testing

Black box testing memperlakukan pengujian perangkat lunak sebagai “kotak hitam” – tanpa pengetahuan tentang pelaksanaan internal.

2. White box testing

White box testing adalah ketika penguji memiliki akses ke struktur data internal dan algoritma termasuk source code.

  1. 5.      Operasi dan pemeliharaan

Merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai. Perbaikan mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem dan pelayanan sistem.

Proses pemeliharaan perangkat lunak dan keseluruhan sistem bila terjadi kesalahan pada program, atau terjadi perubahan lingkungan perangkat lunak dan juga bila terjadi perubahan requirements dan maintenance yang bersifat preventif untuk mengantisipasi keadaan yang tidak diinginkan.

Sistem diinstall dan dipakai. Perbaikan mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem dan pelayanan sistem.


Keuntungan dan Kerugian model Waterfall

  • Kelebihan waterfall :

v  Developer dituntut bekerja secara disiplin

v  Simple dan mudah diimplementasikan

v  Dokumen lengkap

v  Selalu dalam kontrol SQA

v  Maintenance mudah, karena dokumen lengkap

 

  • Kekurangan Waterfall :

v  Konsumen kesulitan membaca dokumen, komunikasi menjadi sulit

v  Alur linier, proses lambat

v  Konsumen tidak dapat melihat hasil hingga akhir tahapan

v  Personil tidak bekerja optimal, karena ada waktu tunggu sebuah tahapan selesai

v  Model ini hanya pas jika requirement nya dapat dipahami dengan baik dan perubahan yang terjadi sangat terbatas selama proses desain berlangsung.

Iklan

6 pemikiran pada “PEMODELAN WATERFALL

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s