Jumat, 06 Desember 2013

                                    Model Waterfall



Waterfall adalah, Suatu proses pembuatan Situs Web secara terstruktur dan berurutan yang dimulai dari Penentuan Masalah, Analisa Kebutuhan, Perancangan Implementasi, Untegrasi, Uji coba sistem, Penempatan Situs Web dan Pemeliharaan.
 Pembuatan situs web dengan metode ini sangat cocok dilakukan pada situs web berskala besar karena menyangkut manajemen dan sistem yang rumit. Metode ini membutuhkan pendekatan sistematis dan sekuensial dalam pengembangan perangkat lunak dan biasanya disebut juga dengan Classic Life Cycle, dimulai dari tingkat sistem dan kemajuan melalui Analisis, Desain, Coding, Testing dan Pemeliharaan.

      Rekayasa dan Pemodelan Sistem/Informasi (System/Information Engineering and Modeling ), Perangkat Lunak adalah, Bagian dari sistem yang lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan dari semua elemen sistem dan mengalokasikan suatu subset ke dalam pembentukan perangkat lunak. Hal ini juga penting, ketika perangkat lunak harus berkomunikasi dengan Hardware, Orang dan Basis Data. Rekayasa dan pemodelan sistem menekankan pada pengumpulan kebutuhan pada level sistem dengan sedikit perancangan dan analisis.

Tahap-tahap Pengembangan Model Waterfall :

·         System / Information Engineering and Modeling, Pemodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti Hardware, Database, dsb. Tahap ini sering disebut dengan Project Definition.
·         Software Requirements 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. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
·         Coding, Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
·         Testing / Verification, 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 yang sudah didefinisikan sebelumnya.
Maintenance, Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya



                                      Star Lifecycle Model (Hartson & Hix, 1989)



Analisa, Identifikasi kemampuan user strategis yang digunakan untuk meningkatkan keterampilan, alat yang saat ini dipakai, masalah-masalah yang dialami, perubahan yang diinginkan baik dalam keterampilan maupun peralatan.
Metode : Tanya kemampuan user, dan buat daftar dengan skala prioritas, observasi keterampilan dilapangan.


 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
.
 Rancanagan sambil jalan, Gunakan hasil analisa untuk membuat alternatif solusi, minta masukan sampai dengan penentuan pilihan yang terbaik.
Metode : Tanya user sehubungan dengan pengalaman menggunakan prototype.

 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 system yang dibangun.
Metode : Menggali informasi dari user hal-hal yang sebaiknya ada dibandingkan dengan competitor.
Dalam siklus permodelan ini pengujian dilakukan terus-menerus, tidak harus diakhir. 
Misalnya : dimulai dari menentukan konsep desain dalam proses ini akan langsung terjadi evaluasi untuk langsung ternilai apakah sudah sesuai dengan kebutuhan user, bila belum maka akan terus berulang dievaluasi yang pertama akan dilanjut ke proses yang selanjutnya 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 tahap-tahap selanjutnya yakni task analysis, pengimplementasian, prototyping hingga pada akhirnya terciptalah sebuah aplikasi yang sesuai dengan kebutuhan user.




SIMPLE INTERACTION DESIGN MODEL

penjelasan model interaksi sederhana:
- Identifikasi kebutuhan dan persyaratan sistem
disini suatu sistem akan di identifikasi sesuai denga kebutuhan sistem itu sendiri.
– Pengembangan desain alternatif (desain konseptual dan fisikal)
– Membuat versi interaktif dari desain yang dihasilkan
- Mengevaluasi desain (usabilitas dan user experience)
-finish.
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.
V Model terdiri dari 3 tahap. Secara garis besar tahap-tahap tersebut adalah seperti yang akan dijelaskan di bawah ini.
- Lifecycle process model
Lifecycle process model menjawab pertanyaan tentang apa yang harus dilakukan. Termasuk dalam tahap ini adalah menetapkan activity apa yang harus dilakukan, hasil apa yang diperoleh dari activity tersebut, dan apa saja yang ada di dalam hasil tersebut.
- Allocation of methods
Allocation of methods menjawab pertanyaan bagaimana cara melakukannya. Termasuk dalam tahap ini adalah penentuan method apa yang akan digunakan untuk melakukan activity yang sudah ditetapkan pada tahap lifecycle process model.
- Functional tool requirements
Functional tool requirements menjawab pertanyaan tool apa yang bisa digunakan untuk melakukannya. Termasuk dalam tahap ini adalah penentuan functional characteristic apa yang harus dimiliki oleh tool yang akan digunakan untuk melakukan activity pada tahap lifecycle process model. Pada setiap tahap di atas ada empat area of functionality.   yang dikenal dengan sebutan submodel. Keempat submodel tersebut adalah:
- Project management (PM)
Submodel ini merencanakan, me-monitor, dan mengontrol proyek. Selain itu submodel ini juga mengirimkan informasi pada submodel yang lain.
- System development (SD)
Submodel ini men-develop software yang ingin dibuat.
- Quality assurance (QA)
Submodel ini menspesifikasikan standar kualitas yang diinginkan dan memberitahukannya pada submodel yang lain. Submodel ini juga menspesifikasikan contoh test case dan kriteria untuk memastikan bahwa software yang dihasilkan dan proses untuk menghasilkannya berdasarkan dan sesuai dengan standar yang telah ditetapkan. 
- Configuration management (CM)
Submodel ini melakukan administrasi software yang dihasilkan.



Penjelasan dari diagram Lifecycle untuk RAD :
1. Project set-up
    Untuk memumlai  suatu lifecycle RAD, dimulai dari setup proyek
2. JAD Workshops 
    Setelah dilakukan project set-up maka kita lanjut ke JAD workshop untuk  menyeleksi
3. interative design and build
    menyeleksi maka langkah selanjutnya  adalah membangun suatu desain 
4. Engineer and test final prototype
    Setelah dilakukan suatu desain maka harus dilakukan pengujian terlebih dahulu sebelum di      implementasikan. Dan jika suatu design belum di bangun maka kembali lagi ke langkah ke  untuk  membangun desain terlebih dahulu.
5. implementation review
   Jika semua langkah telah dilakukan maka harus dilakukan pengimplemaentasian terhadap Lifecycle RAD

LINEAR SEQUENTIAL

Model yang paling luas dipakai dan tertua. Mengusulkan suatu pendekatan sekuensial dan sistematis pada pengembangan PL. Meliputi aktivitas-aktivitas :

  • System / information engineering (rekayasa dan pemodelan sistem) : menyangkut pengumpulan kebutuhan (requirement gathering) pada level sistem dengan sejumlah kecil analisis serta top desain.
  • Analisis : kebutuhan PL, proses requirement gathering diintesifkan dan difokuskan, khususnya pada PL. Untuk memahami sifat program yang dibangun, analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan interface yang diperlukan. Kebutuhan sistem maupun PL didokumentasikan dan direview bersama user. 
  • Desain : fokus pada 4 hal : desain database, arsitektur PL, interface, dan algoritma prosedural. Proses desain menerjemahkan kebutuhan ke dalam representasi PL sebelum dimulai coding.
  • Coding : menerjemahkan desain ke dalam bahasa yang dimengerti mesin.
·  Testing : fokus pada :  
  • Logika internal PL : memastikan bahwa semua statement telah diuji
  • Fungsi eksternal : mengarahkan testing untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang diberikan akan menghasilkan output sesuai yang diinginkan.

KELEMAHAN MODEL :
·  Meskipun mengakomodasi iterasi, model linier melakukannya secara tidak langsung sehingga perubahan-perubahan dapat menyebabkan keraguan saat tim proyek berjalan      
·  Jika user sulit menyatakan semua kebutuhannya secara explisit, model ini sulit mengakomodasi ketidakpastian itu      
·  User harus bersabar karena hasil baru bisa dinikmati setelah testing (akhir waktu). Jika ada kesalahan besar yang tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa menjadi petaka.      
·  Pengembang sering melakukan penundaan yang tidak perlu. Anggota tim harus menunggu anggota tim lain selesai mengerjakan tugasnya yang mempunyai keterkaitan dan ketergantungan tinggi