Rabu, 04 Desember 2013

Model Life Cycle Software

1.Waterfall
a.Sejarah model Waterfall
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini pertama kali yang diperkenalkan oleh Winston Royce 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 berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.

b.Pengertian model Waterfall
Waterfall atau air terjun adalah model yang dikembangkan untuk pengembangan perangkat lunak, membuat perangkat lunak. model berkembang secara sistematis dari satu tahap ke tahap lain dalam mode seperti air terjun. Model ini mengusulkan sebuah pendekatan kepada pengembangan software yang sistematikdan sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Model ini melingkupi aktivitas-aktivitas sebgai berikut : rekayasa dan pemodelan sistem informasi, analisis kebutuhan, desain, koding, mengujian 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.

c.Tahapan model Waterfall
Ini adalah gambar tahapan atau fase yang paling umum tentang model waterfall


1. Requirement Analysis
Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk di dalamnya 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.
2. 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.
3. 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.
4. 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.
5. 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.

d. Kelebihan dari 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

e. Kekurangan dari model Waterfall
·         Waktu pengembangan lama. hal ini dikarenakan input tahap berikutnya adalah  
output dari tahap sebelumnya. Jika satu tahap waktunya molor, maka waktu  keseluruhan pengembangan juga ikut molor.
·         Biaya juga 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
.
2.RAD (Rapid Application Development)
a. Pengertian RAD (Rapid Application Development)
Rapid Application Development (RAD) adalah sebuah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier di mana perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi berbasis komponen. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60 sampai 90 hari). Karena dipakai terutama pada aplikasi sistem konstruksi, pendekatan RAD melingkupi fase – fase sebagai berikut : bussiness modeling, data modeling, process modeling, application generation dan testing and turnover.

b. Tahapan dari RAD (Rapid Application Development) model

1.    Bussiness Modeling.
Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan berikut:
Informasi apa yang menegndalikan proses bisnis?
Informasi apa yang dimunculkan?
Di mana informasi digunakan ?
Siapa yang memprosenya ?
2.    Data Modeling.
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (atribut) masing-masing objek diidentifikasi dan hubungan antar objek-objek tersebut didefinisikan.
3.    Proses Modeling.
Aliran informasi yang didefinisikan di dalam fase data modeling ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.
4.    Aplication Generation. 
Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga memakai komponen program yang telah ada atau menciptakan komponen yang bisa dipakai lagi. Ala-alat bantu bisa dipakai untuk memfasilitasi konstruksi perangkat lunak.
5.    Testing dan Turnover.
Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.

c. Keuntungan RAD
Beberapa keuntungan dalam menggunakan metode RAD adalah sebagai berikut:
- Membeli sistem yang baru memungkinkan untuk lebih menghemat biaya
   ketimbang mengembangkan sendiri.
- Proses pengiriman menjadi lebih mudah, hal ini dikarenakan proses pembuatan
   lebih banyak menggunakan potongan-potongan script.
- Mudah untuk diamati karena menggunakan model prototype, sehingga user lebih
   mengerti akan sistem yang dikembangkan.
- Lebih fleksibel karena pengembang dapat melakukan proses desain ulang pada
   saat yang bersamaan.
- Bisa mengurangi penulisan kode yang kompleks karena menggunakan wizard.
- Keterlibatan user semakin meningkat karena merupakan bagian dari tim secara
   keseluruhan.
- Mampu meminimalkan kesalahan-kesalahan dengan menggunakan alat-alat
   bantuan (CASE tools).
- Mempercepat waktu pengembangan sistem secara keseluruhan karena cenderung
   mengabaikan kualitas.
- Tampilan yang lebih standar dan nyaman dengan bantuan software-software
   pendukung.

e.Kerugian RAD
Beberapa kerugian dalam menggunakan metode RAD adalah sebagai berikut :
- Dengan melakukan pembelian belum tentu bisa menghemat biaya dibanding-
   kan dengan mengembangkan sendiri.
- Membutuhkan biaya tersendiri untuk membeli peralatan-peralatan penunjang
   seperti misalnya software dan hardware.
- Kesulitan melakukan pengukuran mengenai kemajuan proses.
- Kurang efisien karena apabila melakukan pengkodean dengan menggunakan
   tangan bisa lebih efisien.
- Ketelitian menjadi berkurang karena tidak menggunakan metode yang formal
   dalam melakukan pengkodean.
- Lebih banyak terjadi kesalahan apabila hanya mengutamakan kecepatan diban-
   dingkan dengan biaya dan kualitas.
- Fasilitas-fasilitas banyak yang dikurangi karena terbatasnya waktu yang tersedia.
- Sistem sulit diaplikasikan di tempat yang lain.
- Fasilitas yang tidak perlu terkadang harus disertakan, karena menggunakan
   komponen yang sudah jadi, sehingga hal ini membuat biaya semakin meningkat.

3.V-Model
a.Sejarah V Model
Pada tahun 1986, Federal Ministry for Defense negara Jerman memulai dua proyek teknologi informasi. Kedua proyek tersebut adalah software development environment for information system (SEU-IS) dan software development environment for weapon and weapon delivery systems (SEU-WS). Dalam pelaksanaan kedua proyek tersebut ada beberapa goal yang ingin dicapai yaitu:
- Membuat biaya dan proses-proses yang ada pada seluruh software development
      process menjadi jelas.
- Menerapkan minimum standard untuk menjamin kualitas software yang      

     dihasilkan.
- Melakukan standarisasi dan membuat software development process lebih
     transparan.

V Model dikembangkan untuk mewujudkan goal di atas. Hal ini disebabkan karena model-model yang ada pada masa itu dirasa belum sesuai dengan kebutuhan yang ada.
Variant pertama V Model muncul pada tahun 1988 sebagai akibat dari proyek SEU-WS. Lalu pada tahun 1991, variant V Model yang lebih baru muncul karena proyek SEU-IS. Hal ini terus berlangsung. Begitu dirasa adanya kebutuhan untuk melakukan perubahan maka akan dikembangkan variant V Model yang baru.
Variant V Model yang akan dibahas dengan lebih spesifik di sini adalah variant V Model yang dikembangkan pada tahun 1997. Variant V Model ini muncul karena adanya perkembangan pada software development process (misal: object orientation).

b.Pengertian V-Model
Model V ini merupakan metode lain dimana model ini merupakan perluasan dari model waterfall. Kenapa disebut 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.


c.Tahapan dari V-Model


Berikut penjelasan masing-masing tahap beserta tahap pengujiannya:
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.V Model memiliki beberapa kelebihan :V Model sangat fleksibel 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. V Model juga memiliki beberapa kekurangan. V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.

d.Kelebihan dari V-Model
-  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.
-  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.

e.Kekurangan dari V-Model
-  V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
- 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.

4.Simple Interaction Desain Model
a.Pengertian dari Simple Interaction Desain Model
Simple Interaction Design Model sebagai suatu proses untuk mencapai suatu tujuan dengan pencarian berbagai solusi melalui ruang lingkup sistem, materi, biaya dan kemungkinan penyelesaiannya (feasibilitas), sebagai wujud kreativitas dan pengambilan keputusan untuk menyeimbangkan trade-off. Dan Sebagai representasi suatu perencanaan pengembangan yang berisikan sekumpulan elaborasi alternatif dan suksesif.

b.Tahapan dari 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 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.

5.Star Lifecycle Model
a.Tahapan dari 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 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, 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

Sumber:
- http://novyinkie.wordpress.com/2013/01/25/penjelasan-dari-macam-macam-model/
- http://samrony.wordpress.com
- http://bluewarrior.wordpress.com/2009/10/12/waterfall-model-vs-v-model/
- http://hansiaditya.wordpress.com/2007/09/25/waterfall-process-model/
- http://ayuputrimahadi.blogspot.com/2013/01/tugas-interaksi-manusia-komputer-teori.html
- http://vitategal.blogspot.com/