Life Cycle Software

Model pada pengembangan software ada beberapa macam, diantaranya:
1. Waterfall
2. V-Model
3. Star Life Cycle Model 
4. Simple Interaction Design Model

Waterfall

Waterfall Model merupakan model klasik yang sederhana dengan aliran sistem yang linier.  Output dari setiap tahap merupakan input bagi tahap berikutnya. Water fall model adalah salah satu model pengembangan software, dimana kemajuan suatu proses dipandang sebagai terus mengalir ke bawah seperti air terjun. Waterfall model pertama kali diperkenalkan oleh Winston Royce tahun 1970.
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 metode waterfall dapat dilihat pada gambar di bawah ini.

Tahapan Metode Waterfall
Berikut penjelasan masing-masing tahap pada metode waterfall :
1. System Engineering
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Tahap ini sering disebut dengan Project Definition. 
2. 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. 
3. 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.  
4. Coding
Untuk dapat dimengerti oleh mesin, maka design yang ada di komputer tadi harus diubah bentuknya menjadi ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer. 
5. Testing
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. Begitu saoftware berjalan dengan sempurna dan sesuai dengan kebutuhan maka akan diimplementasikan.
6.  Maintenance
Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

Kelebihan Metode Waterfall
1.  Metode ini memungkinkan untuk departementalisasi dan kontrol.
2. Proses pengembangan model fase one by one sehingga meminimalis kesalahan yang mungkin akan terjadi. 
3. Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
4. Document pengembangan system sangat terorganisir, karena setiap fase harus terselesaikan dengan  lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumen tertentu.

Kekurangan Metode Waterfall
1.  Tidak memungkinkan banyak revisi jika terjadi kesalahan dalam prosesnya.
2. Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.
3. Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan yang berakibat pada tahapan selanjutnya.
4. Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidakpastian pada saat awal pengembangan.
5. Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah   selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama.
6. Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. Iterasi sering terjadi   menyebabkan masalah baru.

   Model V

V-Model adalah proses pengembangan produk awalnya dikembangkan di Jerman untuk proyek-proyek pertahanan pemerintah. Hal ini telah menjadi standar umum dalam pengembangan perangkat lunak. The V-Model mendapatkan namanya dari fakta bahwa proses ini sering dipetakan sebagai flowchart yang mengambil bentuk surat V.

Model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.

Hasil proses pembangunan dari sudut kiri atas V ke kanan, berakhir pada titik kanan atas. Dalam cabang kiri, miring ke bawah dari V, personil pengembangan mendefinisikan kebutuhan bisnis, parameter desain aplikasi dan proses desain. Pada titik dasar V, kode ditulis. Dalam cabang kanan, miring ke atas dari V, pengujian dan debugging dilakukan. Unit testing dilakukan pertama, diikuti oleh bottom-up pengujian integrasi. Titik ekstrim kanan atas dari V merupakan rilis produk dan dukungan yang berkelanjutan.

Tahapan metode model v dapat dilihat pada gambar di bawah ini.

  

Tahapan Metode Model V
Berikut penjelasan masing-masing tahap pada metode model V : 
1. Requirement Analysis & Acceptance Testing
Tahap Requirement Analysis sama seperti yang terdapat dalam model waterfall. Keluaran dari tahap ini adalah dokumentasi kebutuhan pengguna.
Acceptance Testing merupakan tahap yang akan mengkaji apakah dokumentasi yang  dihasilkan tersebut dapat diterima oleh para pengguna atau tidak.
2. System Design & System Testing
Dalam tahap ini analis sistem mulai merancang sistem dengan mengacu pada dokumentasi kebutuhan pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari tahap ini adalah spesifikasi software yang meliputi organisasi sistem secara umum, struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan contoh tampilan window dan juga dokumentasi teknik yang lain seperti Entity Diagram dan Data Dictionary.
3.  Architecture Design & Integration Testing
Sering juga disebut High Level Design. Dasar dari pemilihan arsitektur yang akan digunakan berdasar kepada beberapa hal seperti : pemakaian kembali tiap modul, ketergantungan tabel dalam basis data, hubungan antar interface, detail teknologi yang dipakai.
4.  Module Design & Unit Testing
Sering juga disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-modul yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk memudahkan  programmer melakukan coding. Tahap ini menghasilkan spesifikasi program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses input-output untuk tiap modul, dan lain-lain.
5.  Coding
Dalam tahap ini dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.

Keuntungan V Model
1. Bahasa yang digunakan untul merepresentasikan konsep V model menggunakan bahasa formal.
Contoh : dengan menggunakan objek model ataupun frame-frame
2. Meminimalisasikan kesalahan pada hasil akhir karena ada test pada setiap prosesnya
3. Penyesuaian yang cepat pada projek yang baru
4. Memudahkan dalam pembuatan dokumen projek
5. Biaya yang murah dalam perawatan dan modifikasinya
6. V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dan tool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan  method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
7. V Model dikembangkan dan di-maintain oleh publik. User dari V Model  berpartisipasi dalam change control board yang memproses semua change request terhadap V Model.

Kekurangan V Model
1. Aktifitas V-Model hanya difokuskan pada projectnya saja, bukan pada keseluruhan organisasi. V-Model adalah proses model yang hanya dikerjakan sekali selama project saja, bukan keseluruhan organisasi.
2. Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model dihentikan. Tidak berlangsung untuk keseluruhan organisasi.
3. Metode yang ditawarkan terbatas. Sehingga kita tidak memiliki cara pandang dari metode yang lain. Kita tidak memiliki kesempatan untuk mempertimbangkan jika ada tools lain yang lebih baik.
4. V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu   proyek.
5. V Model terlalu fleksibel dalam arti ada beberapa activity dalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut   dan apa yang tidak. 

Star Life Cycle Model

Star Lifecyle Model sendiri adalah  pengujian dilakukan terus menerus, tidak harus diakhir. Misalnya dimulai dari menentukan kosep desain (conceptual design). Dalam proses ini akan langsung terjadi evaluasi untuk langsung ternilai apakah sudah sesuai dengan kebutuhan user, bila belum maka akan terus berulang di evaluasi hingga benar-benar pas.
Setelah itu, apabila sudah pas, maka dari tahap evaluasi yang pertama akan lanjut ke proses  yang selanjutnya, yakni requirement/specification yakni memverifikasikan persyaratan rancangan tersebut, dan pada tahap itu juga langsung terjadi pengevaluasian seperti tahap pertama.
Selanjutnya akan tetap sama, terjadi pada tahap-tahap selanjutnya yakni task analysis/fungsion analysis, pengimplementasian, prototyping hingga pada akhirnya terciptalah sebuah aplikasi yang sesuai dengan kebutuhan user. Intinya pada rancangan model ini, evaluasi dilakukan di setiap tahap, tidak hanya pada tahapan akhir seperti model-model rancangan yang lainnya.

Tahapan metode star life cycle dapat dilihat pada gambar di bawah ini.


Tahapan Metode Star Life Cycle
Berikut penjelasan masing-masing tahap pada metode star life cycle model :
1. Analisa
Identifikasi kemampuan user, strategi yang digunakan untuk meningkatkan ketrampilannya,  alat yang saat ini dipakai, masalah-masalah yang dialami, perubahan yang diinginkan baik dalam ketrampilan maupun peralatan.
Metode : tanya kemampuan user dan buat daftar dengan skala prioritas, observasi ketrampilan   di lapangan. 
2. Evaluasi Kompetisi
Tentukan kekuatan dan kelemahan rancangan
Metode : pengguna diminta untuk mencoba menggunakan berbagi produk dan minta untuk  menyebutkan kelebihan dan kelemahan dari masing-masing produk. 
3. Rancang sambil Jalan
Gunakan hasil analisa untuk membuat alternatif solusi, minta masukan sampai dengan  penentuan pilihan yang terbaik.
Metode : tanyai user sehubungan dengan pengalaman menggunakan prototipe.
4. Evaluasi dan validasi
Secara periodik user memberikan masukan selama pengembangan dan perancangan akan diulang berdasarkan masukan tadi.
Metode : amati kebutuhan pokok user dalam menggunakan sistem.
5. Benchmark
Memadukan hal-hal terbaik yang dimiliki pesaing untuk diterapkan dalam sistem yang dibangun
Metode : menggali informasi dari user hal-hal yang sebaiknya ada dibandingkan dengan kompetitor, contoh : situs IBM.
  
Simple Interaction Design Model

Simple interaction design model  merupakan sebuah model pengembangan software yang sederhana. Karakteristik dari model Simple interaction design adalah proses interactive design secara ekplesit antara penggabungan dari keterlibatan pengguna, iterasi, kriteria usability tertentu.    

Berikut ini merupakan gambar tahapan dari model Simple interaction design 

 
Tahapan Metode Simple Interaction Design Model
Berikut penjelasan masing-masing tahap metode simple interaction design model :
1. Identify needs/Establish requirement 
Pada tahap ini, kita menerima masukkan dari satu titik, lalu di identifikasi apa saja  kebutuhannya dan apakah sesuai dengan kebutuhannya. Sebelum menetapkan Establish requirement ada beberapa  hal yang harus dipahami yaitu siapa penggunanya, dan apa tujuan yang mereka inginkan ketika menggunakan software yang akan rancang/dikembangkan ini.
2.  Design / (Re) Design  
Pada tahap ini dilakukan desain dan alternatif desain software dari kebutuhan yang diperlukan dan sesuai dengan persyaratan yang ditetapkan (dapat dengan meilhat desain orang lain sebagai referensi yang berguna). sedangkan Redesign adalah melakukan desain ulang dikarenakan hasil  sebelumnya tidak sesuai dengan kebutuhan atau tidak sesuai dengan hasil evaluasi akhir.
3. Build interactive versions 
Tahapan ini membuat sebuah prototype desain interaktif yang mana dapat memiliki fungsi terbatas. Sehingga penggembang dapat berkomunikasi dengan pengguna dengan mengujicobakannya. Jika terdapat design yang memiliki kesalahan/kekurangan/belum ada maka proses akan kembali ketahapan Redesign.
4.  Evaluate 
Tahapan ini, tahapan dimana pengguna mengevaluasi terhadap software yang telah di buat. Jika terdapat kekeliruan dari segi design maka tahapan akan kembali kepada tahap Redesign. Jika kesalahan terjadi karena kesalahan identifikasi kebutuhan maka akan kembali ketahapan Identify needs/Establish requirements. Jika telah sesuai kebutuhan pengguna maka ini akan menjadi final  project.

Jika dilihat dari tahapan diatas, maka dapat disimpulkan bahwa model Simple interaction design memiliki 3 (tiga) prinsip yaitu :
  1.  Melibatkan pengguna pada proses design dan evaluation.
  2.  Tentukan kriteria dari quantifiable & measurable usability.
  3.  Akan terjadinya iterasi yang tidak dapat di hindari.

 Sumber :


Komentar

Postingan populer dari blog ini

Standard Proses UCD untuk Sistem Interaktif