Rabu, 19 Desember 2018

SIKLUS HIDUP SOFTWARE

SIKLUS HIDUP SOFTWARE




                                                    Model Waterfall

Model waterfall dulu dikenal dengan nama “Linear Sequential Model” merupakan model tertua dan paling handal dan sering dikenal sebagai “classic life cycle”Model ini pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi model tersebut merupakan model yang paling banyak dipakai didalam Software Engineering (SE).


Model ini mengusulkan sebuah pendekatan kepada pengembangan software yang sistematik dan sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Model ini melingkupi aktivitas-aktivitas sebagai berikut yaitu; rekayasa dan pemodelan sistem informasi, analisis kebutuhan, desain, koding, pengujian 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.

Karakteristik
Dalam model ini terdapat beberapa sifat-sifat yang menojol dan cenderung menjadi permasalahan pada model waterfall.

a)      Ketika problem muncul, maka proses berhenti karena tidak dapat menuju ke tahapan        selanjutnya. Apabila terdapat kemungkinan problemtersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul.
b)    Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya.

berikut adalah gambar tahap-tahap pengembangan software menggunakan model waterfall :


  • System Engineering : Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Tahap ini sering disebut dengan Project Definition.
  •  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.
  • Coding : Untuk dapat dimengerti oleh mesin, maka design yang ada di komputer tadi harus diubah bentuknya menjadi ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
  • Testing : 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. Begitu saoftware berjalan dengan sempurna dan sesuai dengan kebutuhan maka akan diimplementasikan.
  • Maintenance : Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
Keuntungan 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.
Kelemahan model waterfall :
  • Waktu pengembangan lama. hal ini dikarenakan input tahap berikutnya adalah output dari tahap sebelumnya.
  • Biaya 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.



V-MODEL


       Merupakan model pengembangan perangkat lunak yang didasarkan pada hubungan antara setiap fase pengembangan siklus hidup yang tercantum dalam model Watterfall yang merupakan pengembangan perangkat lunak dan fase yang terkait pengujian. 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.



Berikut penjelasan masing-masing tahap beserta tahap pengujiannya:
a)      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.
b)      System Design & System Testin
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.
c)      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.
d)     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.
e)      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
a)      Penyesuaian yang cepat pada projek yang baru
b)      Memudahkan dalam pembuatan dokumen projek
c)      Biaya yang murah dalam perawatan dan modifikasinya
d)   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.
e)   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
a)  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.
b)  Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model dihentikan. Tidak berlangsung untuk keseluruhan organisasi.
c)   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.
d) Toolnya 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.
e)    V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
f)  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.



                                           Simple Interaction Design Model



Simple Interaction Design Model Lifecycle Software adalah model yang menggabungkan tiga prinsip pengguna berpusat desain dan empat kegiatan desain interaksi.

 Prinsip User-Centered Design 
Prinsip-prinsip ini dikembangkan oleh John D. Gould dan Clayton Lewis. prinsipnya adalah sebagai berikut:
a)      Fokus pada pengguna dan tugas
b)      Pengukuran empiris
c)      Desain Interatif

 Dasar kegiatan Desain Interaksi 
Preece et al. menggambarkan model dasar untuk proses desain interaksi yang mencakup empat kegiatan seperti yang ditunjukkan di bawah ini. Sejumlah akademisi dan lembaga desain terkenal telah menciptakan model yang sama. Zimmerman, J., Forlizzi, J., dan Evenson, S., dari Sekolah Desain di Carnegie Mellon University.
Kegiatannya adalah sebagai berikut:
a)      Mengidentifikasi kebutuhan dan persyaratan mendirikan untuk pengalaman pengguna
b)      Mengembangkan alternatif desain yang memenuhi persyaratan
c)      Membangun versi interaktif dari desain
d)     Mengevaluasi apa yang sedang dibangun di seluruh proses dan pengalaman pengguna yang menawarkan


Star Life Cycle Model (Hartson & Hix, 1989)




Dapat dilihat di setiap tahapan memiliki input dari luar (dari berbagai sumber) untuk dilakukan kegiatan sesuai dengan tahapan yang bersangkutan lalu dilakukan evaluasi. Berikut ini merupakan penjelasan dari setiap tahapan yang terdapat pada model Star life cycle :
  • Task analysis/Functional analysis : tahapan ini, akan melakukan functional analysis dari input yang di berikan yang kemudian akan dilakukan evaluation
  • Requrements/Specification : tahapan ini, akan mengumpulkan informasi terkait dengan kebutuhan dan segala sesuatu yang bersangkutan dengan software yang akan dikembangkan, lalu dilakukan tahapan evaluation.
  • Conceptual design/Formal design representation : tahapan ini akan mendesain sebuah desain konseptual dari software yang akan dikembangkan bersadarkan semua inputan yang masuk ketahapan ini. Kemudian dilakukan tahapan evaluation.
  • Prototyping : Sama halnya seperti tahapan pada Simple interaction design model. dimana prototype merupakan desain interaktif yang memiliki fungsi terbatas yang akan di ujicobakan kepada pengguna lalu melakukan tahap evaluation.
  • Implementation : tahapan ini merupakan tahapan dimana software diimplementasikan dan digunakan oleh pengguna lalu dilakukannya tahap evaluation.
  • Evaluation : tahapan ini adalah melakukan evaluasi terhadap setiap tahapan yang menggunakan tahapan ini untuk melihat apakah hal yang dilakukan pada tahapan sebelumnya telah sesuai dengan kebutuhan terbaru dari pengguna lalu memberikan feedback terhadap tahapan sebelumnya.


Sumber:
  1. http://ufauzia.mhs.uksw.edu/2015/02/waterfall-model.html
    http://www.umsl.edu/~hugheyd/is6840/waterfall.html
  2. https://rifkanisa19.wordpress.com/2014/08/23/macam-macam-model-pengembangan-software/http://rusliyuli25.blogspot.co.id/2013/01/model-siklus-hidup-dan-proses.html  
  3. http://theresianihan.blogspot.co.id/ 
  4. http://tomibejo.blogspot.co.id/2014/12/siklus-hidup-software.htm
  5. http://ilhamfaizin123.blogspot.com/2017/11/siklus-hidup-software_17.html
  6. http://kumonoraifu.blogspot.com/2015/11/model-siklus-hidup-software.html
  7. http://tomibejo.blogspot.com/2014/12/siklus-hidup-software.html

Kamis, 13 Desember 2018

Standar Proses UCD untuk Sistem Interaktif

Standar Proses UCD untuk Sistem Interaktif



UCD ( User Centered Design ) merupakan paradigma baru dalam pengembangan sistem berbasis web. Perancangan berbasis pengguna ( User Centered Design / UCD ) adalah istilah yang digunakan untuk menggambarkan filosofi perancangan. Konsep dari UCD adalah User sebagai pusat dari proses pengembangan sistem, tujuan, sifat-sifat, dan lingkungan sistem semua didasarkan dari pengalaman pengguna. 

Proses dari User Centered Design ( UCD ) terdapat lima proses yaitu seperti gambar dibawah :


1.      Plan the human-centered design process

Pada tahap ini dilakukan diskusi terhadap orang-orang yang akan mengerjakan proyek, untuk mendapatkan komitmen bahwa proses pembangunan proyek adalah berpusat kepada pengguna atau user. Proyek akan memiliki waktu dan tugas untuk melibatkan pengguna atau user dalam awal dan akhir proses atau di mana mereka dibutuhkan. Dan juga orang-orang yang mengerjakan proyek harus mengetahui betul tentang metode User Centered Design (UCD) ini melalui studi literatur, pelatihan atau seminar. metode ini dilakukan dengan cara membaca dan memahami buku - buku referensi, jurnal, dan media lain yang berkaitan dengan pengolahan data secara  umum yang mendukung dan mempertegas teori - teori yang ada, sehingga dapat menanamkan komitmen bahwa perancangan menggunakan User Centered Design (UCD) dapat memenuhi keinginan pengguna.



2.      Understand and Specifying the Context of Use

Pada tahap ini, Proses UCD Mengidentifikasi orang yang akan menggunakan produk. Ini akan menjelaskan untuk apa dan dalam kondisi seperti apa mereka akan menggunakan produk. Dalam memahami dan menentukan konteks pengguna meliputi :

·         Karakteristik pengguna yang diharapkan
·         Pekerjaan yang dilakukan pengguna
·         Pemecahan secara hirarki atas pekerjaan global
·         Tujuan global penggunaan sistem untuk setiap kategori pengguna, termasuk karakteristik tugas yang mungkin mengganggu penggunaan dalam scenario   khusus, seperti frekuensi dan lama kinerja.
·         Deskripsi harus mencakup alokasi aktifitas dan langkah operasional antara   manusia dan sumber daya teknologi.
·         Pahami lingkungan tempat pengguna akan menggunakan system.
·         Sangat penting awal langkah untuk menentukan kebutuhan sistem minimal dan optimal dengan memperhatikan.



3.      Specify  the user and organizational requirements
Mengidentifikasi kebutuhan pengguna dan kebutuhan organisasi.  pada tahap ini adalah tahap penggalian informasi atau data untuk menggumpulkan kebutuhan dari pengguna, kemudian setelah informasi/data telah terkumpul, dilakukanlah penataan informasi dari data kebutuhan pengguna tersebut, lalu kebutuhan pengguna digambarkan ke dalam berbagai bentuk/teknik, seperti narasi, gambar, atau diagram, dll. Dalam hubungannya dengan konteks pengguna yaitu :

·         Kualitas perancangan interaksi manusia dan komputer serta workstation.
·         Kualitas dan isi tugas pengguna ( termasuk alokasi tugas diantara kategori pengguna yang berbeda ).
·         Kinerja tugas yang efektif khususnya dalam hal transparansi aplikasi ke pengguna.
·         Kerjasama dan komunikasi yang efektif diantara pengguna dan pihak ketiga yang relevan.
·         Dibutuhkan kinerja sistem baru terhadap tujuan finansial.



4.      Produce Design Solutions

Tahap ini merupakan tahap perancangan solusi. Dimana peneliti akan membangun desain sebagai solusi dari sistem yang sedang dianalisis dengan teknik prototyping yang digunakan untuk membuat ide-ide terlihat dan memfasilitasi komunikasi yang efisien dengan pengguna. Ini mencegah kemungkinan kebutuhan dan biaya tinggi yang terkait untuk pengerjaan ulang produk pada langkah berikutnya dari siklus hidup. Ketika solusi desain disajikan kepada pengguna, mereka juga harus diperbolehkan untuk melaksanakan tugas-tugas. Umpan balik pengguna yang dikumpulkan harus dimasukkan dalam perbaikan solusi desain. Ini harus iterasi terus sampai tujuan desain telah dipenuhi. Tahap ini terdiri dari :

§ Dengan menggunakan pengetahuan yang ada untuk mengembangkan suatu proposal solusi perancangan.
§    Membuat solusi perancangan lebih konkrit ( dengan simulasi, prototipe, dll )
§    Memperlihatkan prototipe ke pengguna dan mengamatinya saat melakukan tugas spesifik, dengan atau tanpa bantuan evaluatur.
§    Menggunakan umpan balik untuk perbaikan rancangan,
§    Mengulang proses ini sampai tujuan perancangan dipenuhi.



5.      Evaluate design against requirements

Tahap ini merupakan tahap evaluasi terhadap perancangan yang telah disesuaikan dengan kebutuhan pengguna. Evaluasi ini dilakukan untuk mengetahui sejauh mana perancangan yang dihasilkan sesuai dengan kebutuhan pengguna dengan teknik kuesioner. Tujuannya adalah untuk menghasilkan umpan balik untuk lebih meningkatkan produk dan untuk menentukan apakah desain memenuhi kebutuhan pengguna yang ditentukan, tujuan kegunaan dan sesuai dengan pedoman kegunaan umum. Siklus proses UCD terus berlangsung selama tujuan kegunaan belum dipenuhi. Tahap ini terdiri dari : 

§   Formative: menyediakan umpan balik yang dapat digunakan untuk memperbaiki rancangan.
§   Summative: melakukan penilaian apakah tujuan pengguna dan organisasi telah tercapai
§   Perlu dipahami bahwa hasil evaluasi hanya bermakna dalam konteks dimana sistem diuji
§    Memantau penggunaan produk atau system dalam jangka panjang.
§    Melaporkan hasil evaluasi.



REFERENSI :




http://dyahindriatna.blogspot.com/2017/12/standar-proses-ucd-untuk-sistem.html diakses pada tanggal 13 desember 2018

http://evariska2.blogspot.com/2017/12/standard-proses-ucd-untuk-sistem.html diakses pada tanggal 13 desember 2018