Model Siklus Hidup Software
Waterfall
Dalam suatu siklus hidup software terdapat suatu pendekatan yang disebut Waterfall model. Nama model ini sebenarnya adalah “Linear
Sequential Model”. Model ini juga sering disebut dengan
“classic life cycle” , dikarenakan prosesnya dipandang sebagai terus mengalir ke bawah seperti air terjun dimana demi
tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan
berjalan berurutan. Menurut Pressman (2010), model Waterfall adalah model klasik yang
bersifat sistematis, berurutan dalam membangun software. Waterfall
model pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi model inilah yang paling banyak digunakan di dalam Software Engineering. Model ini biasanya digunakan untuk membuat sebuah software dalam
skala besar dan yang akan dipakai dalam waktu yang lama.
Menurut Ian
Sommerville (2011), tahapan utama dari Waterfall model langsung mencerminkan aktifitas pengembangan dasar.
Terdapat 5 tahapan pada Waterfall model,
yaitu:
Tahap ini merupakan tahap akhir dalam model Waterfall. Pelaksanaan pembuatan
software dalam semua tahap sebelumnya secara tepat, sesuai dengan
requirementnya, sangatlah menentukan kepuasan client. Jika
client menuntut adanya penambahan perbaikan yang jauh (banyak) terhadap
software yang telah ada, maka akan dilakukan kembali proses tahap
awal, yaitu requirement.
Requirement Analysis and Definition
Pada tahap ini merupakan tahap dimana semua kebutuhan akan software dan system ditetapkan melalui konsultasi dengan pengguna sistem (user). Semua hal tersebut akan ditetapkan secara rinci dan berfungsi sebagai spesifikasi sistem. Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk didalamnya kegunaan software yang diharapkan pengguna dan batasan software. Sesuai dengan requirement (permintaan), maka pada tahap ini dilakukan analisis terhadap hardware dan software yang tepat dalam pembuatan suatu project. Dimulai dari bahasa pemograman apa yang digunakan dalam pembuatan software ini hingga sistem database apa yang dapat digunakan untuk memudahkan fungsi dari software tersebut. Hal ini diputuskan dalam tahap analisis. Jika tahapan ini telah dikerjakan dengan baik, maka dapat dilanjutkan ketahap waterfall berikutnya.System and Software Design
Tahap ini dilakukan sebelum melakukan coding, yaitu pembuatan algoritma atau flowchart dari suatu program atau software. Ini merupakan tahap yang sangat penting dimana memiliki ketergantungan pada dua tahap sebelumnya yang diimplementasi dan dilaksanakan secara tepat demi menjamin kelancaran kerja di tahap berikutnya. Jika dalam tahap design ini terjadi penambahan requirement dalam design coding, maka akan menambahkan list dalam tahap analisis dan tahap design dimana akan diatur resources yang baru. 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. Dari dua aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada user. Proses software design untuk mengubah kebutuhan-kebutuhan di atas menjadi representasi ke dalam bentuk "blueprint" software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. seperti dua aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.Implementation and Unit Testing
Dalam tahap ini dilakukan pemrograman. Desain yang telah disetujui, diubah dalam bentuk kode-kode program. 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 and System Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian. Hal ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak. Unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah uji coba, sistem disampaikan ke konsumen.Operations and Maintenance
Dalam
tahapan ini, sistem diinstal dan mulai digunakan. Selain itu juga memperbaiki error yang tidak ditemukan pada tahap
pembuatan. Dalam tahap ini juga dilakukan pengembangan sistem seperti
penambahan fitur dan fungsi baru.
Kelebihan Waterfall :
- Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan pelaksanaannya secara bertahap sehingga tidak terfokus pada tahapan tertentu.
- 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.
- Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
- 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.
- Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.
- Waktu pengerjaan lama
- Biaya mahal
- Jika terjadi kesalahan tidak dapat kembali ke proses sebelumnya
V-Model
Model ini merupakan perluasan dari model Waterfall 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 berakhir pada titik kanan atas sehingga berbentuk seperti huruf V. Dalam cabang kiri 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.
Berikut penjelasan masing-masing tahapan V model :
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.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.Architecture Design & Integration Testing
Tahap ini 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.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.Coding
Dalam tahap ini dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.
Kelebihan V Model :
- V Model sangat fleksibel
- 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
- Bahasa yang digunakan untuk merepresentasikan konsep V model menggunakan bahasa formal
- Penyesuaian yang cepat pada projek yang baru
- Memudahkan dalam pembuatan dokumen projek
- Biaya yang murah dalam perawatan dan modifikasinya
Kekurangan V Model :
- V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek
- Aktifitas V-Model hanya difokuskan pada projectnya saja, bukan pada keseluruhan organisasi.
- Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model dihentikan.
- Metode yang ditawarkan terbatas
- Toolnya kurang lengkap
Simple Interaction Design 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 didesain rancangan tersebut dibangun dan harus interaktif.
Setelah itu barulah rancangan tersebut dievaluasi. Evaluasi dapat dilakukan dimana saja, rancangan yang telah di evaluasi
dapat kambali didesain ulang jika 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.
Simple
Interaction Design Model Lifecycle Software adalah model yang
menggabungkan tiga prinsip pengguna berpusat desain dan empat kegiatan desain interaksi.
Berikut merupakan tahapan Simple Interaction Design Model :
- Identifikasi kebutuhan dan persyaratan sistem. Disini suatu system akan di identifikasi sesuai dengan kebutuhan system itu sendiri.
- Pengembangan desain alternatif (desain konseptual dan fisikal)
- Membuat versi interaktif dari desain yang dihasilkan
- Mengevaluasi desain (usabilitas dan user experience)
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 yg selanjutnya, yakni requirements/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.
Model Siklus Hidup Star Model :
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.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.Implementation ( Implementasi )
Tahap ini adalah spesifikasi design yang telah dibuat untuk diterjemahkan de dalam program / instruksi yang ditulis dalam bahasa pemrograman.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.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 baruSumber :
Komentar
Posting Komentar