Minggu, 26 Oktober 2014

Waterfall dan Contoh Kasusnya

Waterfall

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.Model proses perangkat lunak masih menjadi obyek penelitian, tapi sekarang ada banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak,  antara    lain: Pengembangan waterfall          
Pengembangan secara evolusioner
Transformasi   formal          

Penggabungan sistem dengan menggunakan komponen-komponen yang dapat    digunakan      kembali.Waterfall model pertama kali diperkenalkan oleh 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      :

·      Requirment
Dalam tahapan ini jasa, kendala dan tujuandari konsultasi dengan pengguna sistem. Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user dan staf pengembang. Dengan kata lain, dalam tahapan ini dilakukan analisa kebutuhan, kemudian   diverifikasi    klien  dan  tim           SQA.
Dalam tahapan ini jasa, kendala dan tujuandari konsultasi dengan pengguna sistem. Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user dan staf pengembang. Dengan kata lain, dalam tahapan ini dilakukan analisa kebutuhan, kemudian   diverifikasi    klien  dan  tim           SQA.

·      Specification
Dokumentasi spesifikasi, kemudian diperiksa oleh tim SQA. Selanjutnya jika disetujui oleh klien, maka dokumen tersebutmerupakan kontrak kerjaantaraklien dan pengembang s0ftware. Selanjutnya merencanakan jadwal pengembangan software. Jika disetujui   oleh     SQA,  tahap desain    baru    dilakukan.
Dokumentasi spesifikasi, kemudian diperiksa oleh tim SQA. Selanjutnya jika disetujui oleh klien, maka dokumen tersebutmerupakan kontrak kerjaantaraklien dan pengembang s0ftware. Selanjutnya merencanakan jadwal pengembangan software. Jika disetujui   oleh     SQA,  tahap desain    baru    dilakukan.

·      Design
Proses design sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak atau perangkat keras. Proses tersebut menghasilkan sebuah arsitektur keseluruhan. Desain perangkat lunak termasuk menghasilkan fungsi sistem perangkatlunak dalam bentuk yang mungkin ditransformasi kedalam satu atau lebih program yang dapat dijalankan. Tahapan ini telah menentukan alur software hingga pada tahap algoritma detail. di    akhir           tahap   ini,   kembali  diperksa   tim    SQA.
Proses design sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak atau perangkat keras. Proses tersebut menghasilkan sebuah arsitektur keseluruhan. Desain perangkat lunak termasuk menghasilkan fungsi sistem perangkatlunak dalam bentuk yang mungkin ditransformasi kedalam satu atau lebih program yang dapat dijalankan. Tahapan ini telah menentukan alur software hingga pada tahap algoritma detail. di    akhir           tahap   ini,   kembali  diperksa   tim    SQA.

·      Implementation
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.
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.
 ·      Integration
Unit program diintegrasikan dandiuji menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah uji coba, sistem disampaikan   ke           konsumen.
Unit program diintegrasikan dandiuji menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah uji coba, sistem disampaikan   ke           konsumen.

·      Operaton    model       &        retirement
Normalnya, ini adalah tahap yang terpanjang. Sistem dipasang dan digunakan. Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan inmplementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru ditemukan.Setiap tahap dari modelini menggunakan Document Drivent, yaitu tahap selanjutnya selalu bekerja berdasarkan dokumen yang telah diberikan        sebelumnya. Tahapan pada waterfall model tidak akan selesai jika tidak disetujui SQA. Modifikasi pada tahap tertentu (tidak sesuai dengan dokumen sebelumnya), proses harus kembali pada tahap sebelumnya untuk penyesuaian dan peninjauan ulang.Dalamprakteknya, setiap langkah sering tumpang tindih dan saling memberi informasi satu sama lain. Proses perangkat lunak tidak linierdan sederhana, tapi mengandung urutan iterasi dari aktifitas pengembangan. Selama di langkah terakhir, perangkat lunak telah digunakan. Kesalahan dan kelalaian dalam menentukan kebutuhan perangkat lunak original dapat diatasi.Sayangnya model yang banyak mengandung iterasi, sehingga membuat sulit bagi pihak manajemen untuk memeriksa seluruh rencana dan laporan. Maka dari itu, setelah sedikit iterasi, biasanya bagian yang telah dikembangkan akan dihentikan dan dilanjutkan  dengan       langkah     pengembangan      selanjutnya. Masalah-masalah selama resolusi selanjutnya, dibiarkan atau diprogram. Pemberhentian yang prematur dari persyaratan akan berarti bahwa sistem tidak akan sesuai dengan keinginan user. Mungkin juga sistem terstruktur secarajelek yang sebenarnya merupakan masalah deain akan dibiarkan karenaterkalahkan olehtrik implementasi.Masalah pendekatan waterfall adalah ketidakluwaesan pembagian proyek ke dalam langkah yang jelas/nyata. Sistem yang disampaikan kadang-kadang tidak dapatdigunakan sesuai keinginan konsumen. Namun demikian, model waterfall mencerminkan kepraktisan rekayasa. Konsekuensinya, model proses perangkat lunak yang berdasarkan pada pendekatan ini, digunakan dalam pengembangan sistem perangkat       lunak   dan  hardware   yang  luas.

Contoh       Kasus  pada    Waterfall        Model

John Chen adalah General Manager A Company, sebuah perusahaan perkapalan yang berbasis di Singapura. Sebagai perusahaan UKM muda yang terus berkembang, John Chen menginvestasikan sebagian modal perusahaan untuk promosi di media cetak dan elektronik, serta melatih kemampuan karyawan melalui berbagai kursus. Untuk mendukung kerja karyawan, A Company menggunakan komputer dasar (Basic PC) yang dilengkapi dengan office software. Seperti kebanyakan UKM lainnya, A Company juga memiliki akses internet yang hanya dapat digunakan secara terbatas di beberapa PC. A Company memiliki satu buah email resmi yang masih menggunakan domain dari ISP (Internet Service Provider). Untuk komunikasi dilingkungan karyawan, mereka menggunakan fasilitas email gratis yang banyak tersedia di internet. Email gratis ini kadang juga digunakan untuk berkomunikasi dengan supplier dan pelanggan. Sebagai perusahaan UKM yang terus berkembang cepat, John Chen mulai berfikir untuk mengembangkan A Company lebih professional. Harapan John Chen, calon pelanggan potensial, pelanggan, supplier dan karyawan lebih mengenal A Company. Disisi lain, ia juga berharap agar cara yang digunakan lebih efisien, hemat biaya, tetapi menampilkan sosok perusahaan yang meyakinkan atau bonafit. John Chen meyakini, bahwa berkomunikasi menggunakan alamat email atau domain sendiri; promosi melalui website sendiri; data yang terintegrasi dan dapat diakses disemua komputer perusahaan akan dapat membawa perusahaan menjadi lebih profesional. A Company tidak memiliki departemen khusus untuk menangani TI. Untuk mewujudkan keinginannya, John Chen meminta bantuan perusahaan khusus TI. Implementasi TI dikerjakan oleh perusahaan TI (sebagai pemenang tender) dalam jangka waktu kontrak 1 tahun, Dalam proses implementasi, John Chen menyerahkan tugas dan tanggung-jawab kepada bawahannya. Semua karyawan dilibatkan dalam pertemuan dan diskusi dengan perusahaan pembangun TI. Dari waktu kontrak 1 tahun yang disepakati, TI yang bisa diimplementasikan adalah pembangunan jaringan komputer, akses internet, email, dan pembangunan data terpusat. Sedangkan untuk website belum bisa dikerjakan sepenuhnya karena sebagian besar waktu yang tersedia habis digunakan untuk menyatukan keinginan para pihak yang terkait dalam implementasi. Meskipun demikian, sistem yang dibangun mulai dirasakan manfaatnya oleh A Company. Komunikasi melalui email mulai dapat dilakukan karyawan dengan supplier dan pelanggan. Pengambilan keputusan sudah mulai bisa dilakukan dengan cepat karena data yang diperlukan sudah terpusat. John Chen juga merasakan terjadinya penghematan dalam penggunaan kertas dan alat tulis, karena perusahaan mulai menerapkan e-document. Namun demikian, kepuasan John Chen tidak bertahan lama, karena sistem TI mulai menimbulkan masalah. Hal itu misalnya terjadi pada email yang mengalami over quota dan dibanjiri virus, sehingga komunikasi perusahaan dengan pelanggan menjadi terputus dan komputer perusahaan menjadi rusak.Hal yang terjadi tidak hanya membuat kerjaan perusahaan menjadi terganggu, tetapi berbagai peluang bisnis menjadi hilang. Citra perusahaan dimana supplier dan pelanggan menjadi berubah dan A Company harus menanggung kerugian investasi. John Chen baru menyadari bahwa implementasi TI yang dilakukan belum memberikan hasil positif secara keseluruhan kepada perusahaannya. Ditambah lagi ia harus menyiapkan budget tambahan untuk memperbaiki sistem jaringan yang rusak. Kekecewaan John Chen bertambah ketika budget yang diusulkan dalam proposal implementasi tidak termasuk biaya perawatan. John Chen akhirnya memutuskan untuk menghentikan proyek pengerjaan website, karena TI yang sudah diimplementasikan merugikan perusahaan dan menghabiskan budget yang sudah dialokasikan sebelum keseluruhan proyek selesai       dilaksanakan. Secara umum tujuan pengembangan sistem informasi adalah untuk memberikan kemudahan dalam penyimpanan informasi, mengurangi biaya dan menghemat waktu, meningkatkan pengendalian, mendorong pertumbuhan, meningkatkan produktifitas serta profitabilitas organisasi. Dalam beberapa tahun terakhir ini peningkatan produktifitas organisasi ini dibantu dengan berkembangnya teknologi komputer baik hardware maupun softwarenya. Tetapi tidak semua kebutuhan sistem informasi dengan komputer itu dapat memenuhi kebutuhan dan menyelesaikan masalah yang dihadapi organisasi. Keterbatasan sumber daya dan anggaran pemeliharaan memaksa para pengembang sistem informasi untuk menemukan jalan untuk mengoptimalkan kinerja sumber  daya  yang   telah  ada. Karakteristik dari suatu sistem informasi manajemen yang lengkap tergantung dari masalah yang dihadapi, proses pengembangannya dan tenaga kerja yang akan dikembangkannya. Seiring dengan perkembangan permasalahan karena berubahnya lingkungan yang berdampak kepada perusahaan maka yang menjadi parameter proses pengembangan sistem informasi yaitu masalah yang dihadapi, sumber daya yang tersedia dan perubahan, sehingga hasil pengembangan sistem informasi manajemen baik yang diharapkan oleh perorangan maupun oleh organisasi turut berubah. Perubahan tersebut pada akhirnya menimbulkan ketidakpastian dan menambah kompleks/rumit masalah yang dihadapi oleh para analis sistem informasi. Metode tradisional seperti SDLC dianggap tidak lagi mampu memenuhi tantangan perubahan dan kompleksnya masalah yang dihadapi tersebut. Sekitar awal tahun delapan puluhan, para profesional dibidang sistem informasi memperkenalkan satu metode pengembangan sistem informasi baru, yang dikenal dengan nama metode prototyping. Metode prototyping sebagai suatu paradigma baru dalam pengembangan sistem informasi manajemen, tidak hanya sekedar suatu efolusi dari metode pengembangan sistem informasi yang sudah ada, tetapi sekaligus merupakan refolusi dalam pengembangan sistem informasi manajemen. Metode ini dikjatakan refolusi karena merubah proses pengembangan sistem informasi yang lama (SDLC).


2 komentar:

  1. tulisan bermanfaat sekali terimakasih

    http://blog.binadarma.ac.id/fatoni

    BalasHapus
  2. tulisan bermanfaat sekali terimakasih

    My Blog

    BalasHapus