Life Cycle Software (Siklus Hidup Software)

Dalam pengembangan software ada bereapa tahapan utnuk mencapai kualitas pembuatan atau siklus hidup software. Dapat dijabarkan siklus hidup software atau tahap pengembangan software sebagai berikut :

Tahap Pengembangan Software ( Siklus Hidup Software ) yaitu :

  1. Requirements Analysis ( Analisa Kebutuhan )
    Tahap ini menganalisa masalah dan kebutuhan yang harus diselesaikan dengan sistem komputer yang akan dibuat. Tahap ini berakhir dengan pembuatan laporan kelayakan yang mengidentifikasi kebutuhan sistem yang baru dan merekomendasikan apakah kebutuhan atau masalah tersebut dapat diselesaikan dengsn sistem komputer yang ada.
  2. System and Software Design ( Prencanaan Sistem dan Software )
    Tahap ini melakukan rancangan design sistem. Tahap ini memberikan rincian kinerja program dan interaksi antara user dengan program tersebut.
  3. Implementation ( Implementasi )
    Tahap ini adalah spesifikasi design yang telah dibuat untuk diterjemahkan de dalam program / instruksi yang ditulis dalam bahasa pemrograman.
  4. System Testing ( Pengujian Sistem )
    Tahap ini semua program digabungkan dan diuji sebagai satu sistem yang lengkap untuk menjamin sumua berkerja dan memenuhi kebutuhan penanganan masalah yang dihadapi.
  5. Operation and Maintenance ( Pengoperasian dan Pemeliharaan )
    Tahap ini merupakan pengaplikasian program yang telah dibuat untuk digunakan secara utuh dan masalah baru yang muncul sebagai bahan masukan untuk memperbaiki sistem program yang baru.

Pada dasarnya siklus hidup perangkat lunak merupakan suatu proses desain atas program yang akan dibangun untuk mendapatkan hasil workable.

Adapun Berbagai Model pada Life Cycle Software ( Siklus Hidup Software) yaitu :


  1. Model Waterfall
  2. V-Model
  3. Simple Interaction Design Model
  4. Star Lifecycle Model

Untuk mengetahui Model - model diatas, kita akan coba membahas satu persatu.

  • MODEL WATERFALL
Model Waterfall
Pertama akan dibahas adalah model waterfall. Nama model ini sebenarnya adalah “LinearSequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing/verification dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement.

Ada lima tahap dalam model waterfall, yaitu :
  1. Requirement Analysis.
  2. System Design.
  3. Implementation.
  4. Integration & Testing.
  5. Operations & Maintenance. 
Sesuai dengan namanya waterfall (air terjun) maka tahapan dalam model ini disusun bertingkat, setiap tahap dalam model ini dilakukan berurutan, satu sebelum yang lainnya. Selain itu dari satu tahap kita dapat kembali ke tahap sebelumnya.

Berikut beberapa langkah atau tahapan yang harus kita jalankan

  • Requirement Analysis 
    Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk didalamnya kegunaan software yang diharapkan pengguna dan batasan software. Informasi ini biasanya dapat diperoleh melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya.
  • System Design
    Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan.
  • Implementation
    Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap ini juga dilakukan pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi fungsi yang diinginkan atau belum.
  • Integration & Testing
    Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak.
  • Operation & Maintenance
    Ini merupakan tahap terakhir dalam model waterfall. Software yang sudah jadi dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru.
Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai sebelum mengerjakan fase berikutnya.
Masalah dengan waterfall yaitu :
  1. Perubahan sulit dilakukan karena sifatnya yang kaku.
  2. Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya jarang sekali konsumen/pengguna yang bisa memberikan kebutuhan secara lengkap, perubahan kebutuhan adalah sesuatu yang wajar terjadi.
  3. Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa bagian sub-proyek.

  • V - MODEL

    Model kedua adalah model V. 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. Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.

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 :
  1. V Model sangat fleksibel.
  2. V Model dikembangkan dan dirawat oleh publik.
  3. Kelebihan V Model dibandingkan dengan Waterfall biasa yaitu, pada setiap fase selalu dilakukan pengujian yang cukup memadai.
Kekurangan V Model :
  1. Model yang project oriented.
  2. Memiliki beberapa activity.
  3. Asusmsi yang digunakan adalah requirement bersifat tetap dan tidak berubah.
  4. Requirement dan rancangan tidak diverifikasi.
  5. Pada setiap fase terdapat peluang error.

  • SIMPLE INTERACTION DISIGN MODEL
    Pada model rancangan interaksi sederhana ini input atau masukan hanya memiliki satu titik. yang mana masukan tersebut diidentifikasikan apakah sesuai dengan kebutuhan, lalu didesain sesuai dengan persyaratan yang telah ditetapkan. Setelah di desain rancangan tersebut dibangun dan harus interaktif. Setelah itu barulah rancangan tersebut dievaluasi.
Simple Interaction Disign Model

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. 
Keterangan:
  • Identifikasi kebutuhan dan persyaratan system disini suatu sistem akan di identifikasi sesuai dengan kebutuhan sistem itu sendiri.
  • Pengembangan desain alternatif (desain konseptual dan fisikal).
  • Membuat versi interaktif dari desain yang dihasilkan.
  • Mengevaluasi desain (usabilitas dan user experience).
Model Rancangan Interaksi Sederhana meliputi :
  • Satu titikan masukan.
  • Rancangan menghasilkan prototipe yang interaktif yang dapat dievaluasi.
  • Evaluasi dapat dilakukan dimana saja.
  • Evaluasi harus dikaitkan dengan hasil akhir.

  • STAR LIFECYCLE MODEL

Star Lifecycle Model


Dalam Siklus permodelan ini pengujian dilakukan terus menerus, tidak harus dikahir. 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, selanjutnya apabila sudah pas, maka dari tahap evaluasi yang pertama aka lanjut ke proses yg selanjutnya yakni requirements/specification yakni memverifikasikan persyaratan rancangan tersebut, dan pada tahap itu juga langsung terjadi pengevaluasian seperti tahap pertama, dan selanjutnya akan tetap sama terjadi pada tahapan-tahapan selanjutnya yakni task analysis/fungsion analysis, pengimplementasian, prototyping hingga pada akhirnya terciptalah sebuah aplikasi yang sesuai dengan kebutuhan user. Intinya pada rancangan model ini pengevaluasian dilakukan disetiap tahapan tidak hanya pada tahapan akhir seperti model-model rancangan yang lainnya. Berikut penjelasannya :
  • 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.
  • 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.
  • 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.

  • 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.

  • 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, contohnya yaitu situs IBM. 

Sumber :

Komentar

Postingan populer dari blog ini

Proses User Centered Design ( UCD )