SIKLUS HIDUP SOFTWARE

Model siklus pada perangkat lunak sebenarnya sangatlah banyak, namun disini saya akan menjelaskan beberapa saja diantaranta model Waterfall, V-model, Simple Interaction Desaign Model, Star Lifecycle Model. Berikut penjelasan dari masing-masing model yang akan di jelaskan secara berurutan.


Model Waterfall
Model waterfall dulu dikenal dengan nama “Linear Sequential Model” merupakan model tertua dan paling handal dan sering dikenal sebagai “classic life cycle”Model ini pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi model tersebut merupakan model yang paling banyak dipakai didalam Software Engineering (SE).

Model ini mengusulkan sebuah pendekatan kepada pengembangan software yang sistematik dan sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Model ini melingkupi aktivitas-aktivitas sebagai berikut yaitu; rekayasa dan pemodelan sistem informasi, analisis kebutuhan, desain, koding, pengujian dan pemeliharaan.


Model pengembangan ini bersifat linear dari tahap awal pengembangan system yaitu tahap perencanaan sampai tahap akhir pengembangan system yaitu tahap pemeliharaan. Tahapan berikutnya tidak akan dilaksanakan sebelum tahapan sebelumnya selesai dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya.


berikut adalah gambar tahap-tahap pengembangan software menggunakan model waterfall :



 Berikut ini adalah penjelasan dari masing-masing tahapan yang terdapat pada model waterfall :

  • 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.
  •  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.
  • 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.
  • 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.
  • 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.
  • 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.
Keuntungan model waterfall :
  • 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.
Kelemahan model waterfall :
  • Waktu pengembangan lama. hal ini dikarenakan input tahap berikutnya adalah output dari tahap sebelumnya.
  • Biaya mahal, hal ini juga dikarenakan waktu pengembangan yang lama.
  • Terkadang perangkat lunak yang dihasilkan tidak akan digunakan karena sudah tidak sesuai dengan requirement bisnis customer. hal ini juga dikarenakan waktu pengembangan yang lama. selain itu dikarenakan waterfall merupakan aliran yang linear, sehingga jika requirement berubah proses tidak dapat diulang lagi.
  • Karena tahap-tahapan pada waterfall tidak dapat berulang, maka model ini tidak cocok untuk pemodelan pengembangan sebuah proyek yang memiliki kompleksitas tinggi.
  • Meskipun waterfall memiliki banyak kelemahan yang dinilai cukup fatal, namun model ini merupakan dasar bagi model-model lain yang dikembangkan setelahnya.

V-MODEL

Pengertian V Model

       Merupakan model pengembangan perangkat lunak yang didasarkan pada hubungan antara setiap fase pengembangan siklus hidup yang tercantum dalam model Watterfall yang merupakan pengembangan perangkat lunak dan fase yang terkait pengujian. Bisa dikatakan 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.


Tahapan dalam  V Model

Tahapan pada V Model dibagi menjadi 2 garis besar yaitu tahap Verifikasi dan Validasi atau testing.
Tahap Verfiikasi mengacu kepada usaha penyesuaian spesifikasi software dengan kebutuhan klien/konsumen, tahapan ini meliputi serangkaian kegiatan sebagai berikut:
  1. Business Case: Merupakan tahapan awal yang menggambarkan kebutuhan/harapan konsumen terhadap sistem yang akan dikembangkan, termasuk manfaat sistem terhadap konsumen dan perkiraan biaya yang harus disediakan.
  2. Requirement: pada fase ini klien mendapatkan gambaran atau diminta memberikan gambaran kebutuhan yang diharapkan dapat dipenuhi oleh software, baik kebutuhan fungsional maupun non fungsional.
  3. Analisis Informasi: Setelah diperoleh spesifikasi sistem dari fase requirement, selanjutnya aktivitas difokuskan bagaimana cara kerja software untuk memenuhi kebutuhan tersebut, termasuk metode, hardware dan software apa saja yang diperlukan untuk mencapai kebutuhan yang sudah didefinisikan.
  4. Perancangan Sistem: pada tahapan ini akan dibuat rancangan software secara lebih terinci sesuai spesifikasi yang sudah disepakati.
  5. Unit Design: merancang setiap elemen/unit software termasuk rancangan modul/program, antarmuka, database dan lain-lain.
  6. Development: merealisasikan hasil rancangan menjadi satu aplikasi/program tertentu.
Tahapan Validasi merupakan serangkaian tahapan yang mengacu kepada kesesuaian software dengan spesifikasi yang sudah ditetapkan. Tahapan ini dicapai melalui serangkaian pengujian/testing sebagai berikut:
  • Unit test: menguji setiap komponen/unit program apakah sesuai dengan rancangan unit yang sudah ditetapkan. Secara teoritis seharusnya pengujian dilakukan oleh orang tertentu yang bertugas sebagai software tester, tetapi dalam kenyataannya seringkali unit testing dilakukan oleh programmer sendiri.
  • Interface test: setelah semua komponen diuji secara terpisah, tahapan selanjutnya dilakukan interface test untuk melihat sejauh mana setiap komponen dapat berinteraksi satu sama lain sesuai dengan fungsi yang diharapkan.
  • System test: setelah semua interface berjalan dengan baik, selanutnya dilakukan system test untuk melihat sejauh mana sistem/software dapat memenuhi kebutuhan secara keseluruhan. System testing bersifat menyeluruh dan tidak dapat dilakukan berdasarkan fungsionalitas sistem yang diuji secara terpisah. Aktivitas pada system testing termasuk melakukan pengujian hal-hal berikut:
    1. Performance – apakah kinerja sistem sesuai dengan target yang sudah didefinisikan sebelumnya.
    2. Volume – apakah software/sistem dapat menampung volume informasi yang cukup besar.
    3. Stress – apakah software/sistem dapat menampung sejumlah informasi pada waktu-waktu tertentu.
    4. Documentation – apakah semua dokumentasi penting sudah disiapkan.
    5. Robustness – apakah software/sistem cenderung stabil pada berbagai kondisi diluar dugaan/ekstrim.
  • Acceptance test merupakan aktivitas untuk menguji sejauh mana sistem/software dapat membantu memecahkan business case, dalam artian apakah sistem/software tersebut sudah sesuai dengan harapan konsumen/klien dan sejauh mana manfaat sistem/software ini bagi klien. Test ini sering kali disebut sebagai User Acceptance Test (UAT).
  • Release testing: test ini dilakukan untuk menguji sejauh mana sistem/software dapat mendukung aktivitas organisasi dan berjalan dengan harmonis sesuai dengan kegiatan rutin organisasi. Beberapa pertanyaan coba dijawab pada fase ini misalnya apakah software tersebut mempengaruhi sistem lain? Apakah software tersebut kompatibel dengan sistem lain? Bagaimana kinerja sistem sebenarnya di dalam organisasi?
 Kelebihan V model:
  •  V model sangat fleksibel. V model ini bisa digunakan untuk project tailoring serta penambahan pengurangan method dan tool secara dinamik.
  •   V model dikembangkan dan di maintain oleh publik. User dari V model berpartisipasi dalam change board yang memproses semua change request terhadap V model.
Kekuranagn V model
  • V model hanya bisa digunakan sekali dalam suatu proyek hal tersebut disebabkan kerena V model merupakan model yang project oriented.
  • V model bersifat terlalu fleksibel sehingga mengakibatkan beberapa aktivitas-aktivitas yang digambarkan dalam V model menjadi terlalu abstrak. Hal tersebut mengakibatkan tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.
Dimana saja V Model Diterapkan?
  1. Dalam proyek teknologi informasi di Jerman
  2. V Model dibandingkan dengan CMM
  3. V Model didesain untuk mengembangkan sistem yang didalamnya terdapat dua komponen
  4. Pengembangan V Model dalam bidang industri dapat dilakukan dengan mudah

  Simple Interaction Design Model



Pada model rancangan interaksi sederhana ini input atau masukan hanya memiliki satu titik. yang mana masukan tersebut, lalu lakukan langkah-langkah berikut :
  1. Identifikasi kebutuhan dan persyaratan sistem disini suatu sistem akan di identifikasi sesuai dengan kebutuhan sistem itu sendiri.
  2. Pengembangan desain alternatif (desain konseptual dan fisikal)
  3. Membuat versi interaktif dari desain yang dihasilkan
  4. Mengevaluasi desain (usabilitas dan user experience)
 Evaluasi dapat dilakukan dimana saja, rancangan yang telah di evakuasi dapat kambali didesain ulang atau apakah rancangan tersebut tidak sesuai dengan kebutuhan user, maka alur tersebut akan terus berputar hingga pada tahap evaluasi tidak lagi terjadi kesalahan, baik dalam penetapan kebutuhan user maupun pendesainannya, sehingga pada tahap evaluasi terciptalah sebuah hasil akhir yang valid.

Star Life Cycle Model (Hartson & Hix, 1989)




Dapat dilihat di setiap tahapan memiliki input dari luar (dari berbagai sumber) untuk dilakukan kegiatan sesuai dengan tahapan yang bersangkutan lalu dilakukan evaluasi. Berikut ini merupakan penjelasan dari setiap tahapan yang terdapat pada model Star life cycle :
  • Task analysis/Functional analysis : tahapan ini, akan melakukan functional analysis dari input yang di berikan yang kemudian akan dilakukan evaluation
  • Requrements/Specification : tahapan ini, akan mengumpulkan informasi terkait dengan kebutuhan dan segala sesuatu yang bersangkutan dengan software yang akan dikembangkan, lalu dilakukan tahapan evaluation.
  • Conceptual design/Formal design representation : tahapan ini akan mendesain sebuah desain konseptual dari software yang akan dikembangkan bersadarkan semua inputan yang masuk ketahapan ini. Kemudian dilakukan tahapan evaluation.
  • Prototyping : Sama halnya seperti tahapan pada Simple interaction design model. dimana prototype merupakan desain interaktif yang memiliki fungsi terbatas yang akan di ujicobakan kepada pengguna lalu melakukan tahap evaluation.
  • Implementation : tahapan ini merupakan tahapan dimana software diimplementasikan dan digunakan oleh pengguna lalu dilakukannya tahap evaluation.
  • Evaluation : tahapan ini adalah melakukan evaluasi terhadap setiap tahapan yang menggunakan tahapan ini untuk melihat apakah hal yang dilakukan pada tahapan sebelumnya telah sesuai dengan kebutuhan terbaru dari pengguna lalu memberikan feedback terhadap tahapan sebelumnya.

Sumber:
  1. http://ufauzia.mhs.uksw.edu/2015/02/waterfall-model.html
    http://www.umsl.edu/~hugheyd/is6840/waterfall.html
  2. https://rifkanisa19.wordpress.com/2014/08/23/macam-macam-model-pengembangan-software/http://rusliyuli25.blogspot.co.id/2013/01/model-siklus-hidup-dan-proses.html  
  3. http://theresianihan.blogspot.co.id/ 
  4. http://tomibejo.blogspot.co.id/2014/12/siklus-hidup-software.htm

Komentar