Sabtu, 29 November 2014

                              TUGAS IMK
              PERMODELAN SIKLUS HIDUP IMK


Waterfall model





Nama model ini sebenarnya adalah “Linear Sequential 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. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :Gambar di atas adalah tahapan umum dari model proses ini. Akan tetapi Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman:

-System / Information Engineering and Modeling.
 Permodelan 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. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan. 
-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.

Kelebihan: 
- Semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal project, maka Software Engineering (SE) dapat berjalan dengan baik dan tanpa masalah.
- Setiap anggota dalam SE mengetahui secara pasti apa yang harus dikerjakan dan kapan harus diselesaikan. 
 - Mudah dalam implementasi karena pada saat implementasi telah dilakukan uji coba terhadap setiap bagian dari program. 
- Dokumentasi pengembangan sistem sangat terorganisir, karena pada setiap tahap harus terselesaikan dengan lengkap sebelum melangkah ke tahap berikutnya.  


Kekurangan: 
 - Pengguna sulit untuk menuangkan ide atau kebutuhan secara explisit pada awal pembuatan sistem.
- Apabila terjadi perubahan, maka model ini tidak bisa digunakan.   
- Diperlukan manajemen yang baik, karena proses pengembangan tidak dapat berulang sebelum menghasilkan suatu produk, yaitu aplikasi. Jadi apabila dalam suatu proses seperti perancangan tidak selesai tepat waktu, maka akan mempengaruhi keseluruhan proses pengembangan perangkat lunak. 
- Membutuhkan waktu yang relatif lama karena model ini bersifat sequential.



 Siklus Hidup Untuk Pengembangan (RAD : Linier Sequential)




      Rapid Aplication 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 :
·         Business modeling. 
Aliran informasi di antara fungsi – fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan – pertanyaan berikut : 
informasi apa yang mengendalikan proses bisnis? Informasi apa yang di munculkan? Siapa yang memunculkanya? Ke mana informasi itu pergi? Siapa yang memprosesnya?
·         Data modeling.
 Aliran informasi yang didefinisikan sebagai bagian dari fase business modelling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (disebut atribut) masing – masing objek diidentifikasi dan hubungan antara objek – objek tersebut didefinisikan.
·         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.
·         Application Generation.
 RAD mengasumsikan pemakaian teknik generasi ke empat. Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memkai lagi komponen program yang ada ( pada saat memungkinkan) atau menciptakan komponen yang bisa dipakai lagi (bila perlu). Pada semua kasus, alat – alat bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak.
·         Testing and turnover.
Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus di uji dan semua interface harus dilatih secara penuh.

Kelebihan : 
a.  RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object).  
b.  Setiap fungsi dapat dimodulkan dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efesien. 

 Kekurangan : 
a.  Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim RAD yang baik. 
b.  RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.



  V-Model
   



      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.


Berikut penjelasan masing-masing tahap beserta tahap pengujiannya:
1. Requirement Elicitation & 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. Analysis & 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. Component 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.

Keuntungan V Model
·          Bahasa yang digunakan untuk merepresentasikan konsep V model menggunakan bahasa formal. Contoh : dengan menggunakan objek model ataupun frame-frame  Meminimalisasikan kesalahan pada hasil akhir karena ada test pada setiap prosesnya
·          Penyesuaian yang cepat pada projek yang baru
·          Memudahkan dalam pembuatan dokumen projek
·          Biaya yang murah dalam perawatan dan modifikasinya
·          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.

 Kerugian V Model
- Aktifitas V-Model hanya difokuskan pada projectnya saja, bukan pada keseluruhan organisasi. V-Model adalah proses model yang hanya dikerjakan sekali selama project saja, bukan keseluruhan organisasi.
- Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model dihentikan. Tidak berlangsung untuk keseluruhan organisasi.
- Metode yang ditawarkan terbatas. Sehingga kita tidak memiliki cara pandang dari metode yang lain. Kita tidak memiliki kesempatan untuk mempertimbangkan jika ada tools lain yang lebih baik.
- oolnya tidak selengkap yang dibicarakan. SDE (Software Development Environment).Tidak ada tools untuk hardware di V-Model. Tool yang dimaksud adalah “software yang mendukung pengembangan atau pemeliharaan / modifikasi dari system IT.
- 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.


 Star Lifecycle Model (Hartson & Hix, 1989)





Memahami apa kegiatan yang terlibat dalam desain interaksi adalah langkah pertama untuk mampu melakukannya, tetapi juga penting untuk mempertimbangkan bagaimana kegiatan terkait dengan satu sama lain sehingga proses pengembangan penuh dapat dilihat. Siklus hidup jangka Model ini digunakan untuk mewakili model yang menangkap serangkaian kegiatan dan bagaimana mereka terkait. Model canggih juga menggabungkan deskripsi tentang kapan dan bagaimana untuk bergerak dari satu kegiatan ke depan dan deskripsi dari kiriman untuk setiap kegiatan.Alasan model seperti yang populer adalah bahwa mereka memungkinkan pengembang, dan khususnya manajer, untuk mendapatkan gambaran menyeluruh dari upaya pembangunan sehingga kemajuan yang dapat dilacak, kiriman ditentukan, sumber daya yang dialokasikan, target ditetapkan, dan sebagainya.Model yang ada memiliki berbagai tingkat kecanggihan dan kompleksitas. untuk proyek melibatkan hanya beberapa pengembang berpengalaman, proses yang sederhana mungkin akan memadai. Namun, untuk sistem yang lebih besar yang melibatkan puluhan atau ratusan pengembang dengan ratusan atau ribuan pengguna, proses yang sederhana saja tidak cukup untuk menyediakan struktur manajemen dan disiplin yang diperlukan untuk merancang sebuah produk yang dapat digunakan. jadi sesuatu yang diperlukan yang akan memberikan formalitas lebih dan lebih disiplin. Perhatikan bahwa ini tidak berarti inovasi yang hilang atau kreativitas yang menahan. Ini hanya berarti bahwa Tentang waktu yang sama bahwa mereka yang terlibat dalam rekayasa perangkat lunak sedang mencari alternatif untuk siklus hidup air terjun, demikian juga orang-orang yang terlibat dalam HCI mencari alternatif cara untuk mendukung desain antarmuka. Pada tahun 1989, Star siklus hidup model yang diusulkan oleh Hartson dan Hix seperti yang ditunjukkan pada gambar.





Hal ini muncul dari beberapa pekerjaan empiris mereka melihat bagaimana desainer antar muka pergi tentang pekerjaan mereka. Mereka mengidentifikasi dua mode yang berbeda dari aktivitas: modus analitik dan sintetis modus.Yang pertama ditandai dengan pengertian seperti top-down, pengorganisasian, peradilan,dan formal, bekerja dari pandangan sistem terhadap pengguna pandangan, yang terakhir ditandai dengan pengertian seperti bottom-up, bebas berpikir, kreatif dan adhoc, bekerja dari pandangan pengguna terhadap pandangan sistem. antarmuka desainer bertugas di desainer perangkat lunak.Berbeda dengan model siklus hidup diperkenalkan di atas, siklus hidup bintang tidak menentukan apapun pemesanan kegiatan. Bahkan, kegiatan yang sangat saling berhubungan: Anda dapat memindahkan dari kegiatan apapun kepada lainnya, asalkan Anda pertama kali pergi melalui kegiatan evaluasi.Hal ini mencerminkan temuan dari studi empiris. Evaluasi merupakan pusat model ini, dan setiap kali suatu kegiatan selesai, hasilnya (s) harus dievaluasi. Jadi proyek mungkin mulai dengan pengumpulan persyaratan, atau mungkin mulai dengan mengevaluasi yang ada situasi, atau dengan menganalisis tugas yang ada, dan sebagainya.Siklus hidup Usability Rekayasa Siklus hidup Teknik Usability diusulkan oleh Deborah Mayhew pada tahun 1999.Banyak orang telah menulis tentang rekayasa kegunaan, dan sebagai Mayhew sendiri mengatakan, "Saya tidak menciptakan konsep Siklus Hidup Rekayasa Usability. Aku juga tidak menemukan satu pun tugas Usability Teknik termasuk dalam siklus hidup .... ".

Model Rancangan Interaksi Sederhana(Simple Interaction Design Model)





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
·         Satu titikan masukan 
·         Rancangan menghasilkan prototipe yang interaktif yang dapat dievaluasi 
·         Evaluasi dapat dilakukan dimana saja 
·         Evaluasi harus dikaitkan dengan hasil akhir
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.