Oleh: pembelajarselalu | September 28, 2013

Dokumentasi Proses TDA Pert 2

Dokumentasi Proses

Agar manajemen dapat efektif, dibutuhkan suatu kejelasan pada proses-proses yang akan dikelola. Karena software merupakan suatu hal yang non fisik dan proses pembuatan software juga merupakan tugas-tugas pemikiran yang tidak terlihat fisik, salah satu cara agar membuat jadi jelas adalah dengan menggunakan dokumentasi.

Ada beberapa kategori dokumentasi proses :

  1. Perencanaan, perkiraan dan penjadwalan. Merupakan dokumen yang dibuat oleh manajer yang digunakan untuk memprediksi dan mengontrol proses software.
  2. Laporan / Reports Merupakan dokumen yang mencatat bagaimana sumber daya – sumber daya digunakan selama proses pengembangan.
  3. Standar. Dokumen – dokumen ini menentukan bagaimana seharusnya suatu proses diimplementasikan. Ada berbagai macam standar mulai dalam lingkup organisasi, nasional bahkan internasional.
  4. Lembar kerja/ working paper Sering kali merupakan dokumen komunikasi teknis utama dalam suatu proyek. Mereka merekam ide-ide dan pikiran-pikiran para engineer yang bekerja dalam proyek, yang merupakan dokumentasi produk versi sementara yang menjelaskan strategi pengimplementasian dan penentuan masalah yang telah diidentifikasi. Seringkali dokumen ini mencatat alasan-alasan pemilihan suatu keputusan dalam desain.
  5. Memo dan surat/pesan elektronik. Dokumen yang merekam rincian komunikasi sehari-hari antara manajer dan development engineer. Karakteristik utama dari dokumentasi proses adalah hampir semuanya akan menjadi kadaluarsa. Banyak informasi yang akan menjadi tidak berguna apabila telah terlewati dan normalnya tidak ada kepentingan untuk tetap menyimpannya setelah sistem/software telah jadi,

seperti jadwal / perencanaan pembuatan. Bagaimanapun juga tetap ada beberapa dokumentasi proses yang berguna apabila ada perubahan software yang diinginkan, seperti hasil testing dan lembar kerja yang mencatat alasan-alasan kenapa suatu desain dipilih dalam pembuatan suatu system

Dokumentasi Produk

Dokumentasi produk berkenaan dengan gambaran suatu produk software/ sistem yang telah jadi. Tidak seperti dokumentasi proses, dokumentasi produk biasanya berguna untuk waktu yang lebih lama, selama produk tersebut masih digunakan. Dokumentasi produk melingkupi user documentation yang memberitahu pengguna bagaimana cara mengoperasikan produk software, dan system documentation yang utamanya diperuntukkan bagi teknisi maintenance.

User Documentation

Pengguna dari suatu software / sistem tidaklah dapat disamaratakan. Merupakan suatu hal yang penting untuk membedakan antara end-user dengan system administrator.

  1. End-user menggunakan software sebagai alat bantu untuk mengerjakan suatu tugas, menulis sebuah buku, mengelola keuangan, bahkan menerbangkan pesawat. Mereka ingin tahu seberapa software dapat memudahkan pekerjaan mereka tetapi tidak ingin tahu detail teknis tentang software tersebut.
  2. System administrator bertanggung jawab mengelola dan memelihara software yang digunakan oleh end-user. Dapat berupa operator, network manager, hingga master teknis yang memecahkan segala permasalahan end-user berkaitan dengan software, atau juga penghubung antara user dengan software developer.

Pengertian Metode Waterfall

Waterfall_model_(1).svgModel pengembangan software yang diperkenalkan oleh Winston Royce pada tahun 70-an ini merupakan model klasik yang sederhana dengan aliran sistem yang linier — keluaran dari tahap sebelumnya merupakan masukan untuk tahap berikutnya. Pengembangan dengan model ini adalah hasil adaptasi dari pengembangan perangkat keras, karena pada waktu itu belum terdapat metodologi pengembangan perangkat lunak yang lain. Proses pengembangan yang sangat terstruktur ini membuat potensi kerugian akibat kesalahan pada proses sebelumnya sangat besar dan acap kali mahal karena membengkaknya biaya pengembangan ulang.
Metode Waterfall adalah suatu proses pengembangan perangkat lunak berurutan, di mana kemajuan dipandang sebagai terus mengalir ke bawah (seperti air terjun) melewati fase-fase perencanaan, pemodelan, implementasi (konstruksi), dan pengujian. Berikut adalah gambar pengembangan perangkat lunak berurutan/ linear (Pressman, Roger S. 2001):

Tahapan Metode Waterfall

Dalam pengembangannya metode waterfall memiliki beberapa tahapan yang runtut: requirement, design, implementation, verification dan maintenance. Tahap requirement atau spesifikasi kebutuhan sistem adalah analisa kebutuhan sistem yang dibuat dalam bentuk yang dapat dimengerti oleh klien dan staf pengembang. Dalam tahap ini klien atau pengguna menjelaskan segala kendala dan tujuan serta mendefinisikan apa yang diinginkan dari sistem. Setelah dokumen spesifikasi disetujui maka dokumen tersebut menjadi kontrak kerja antara klien dan pihak pengembang. Tahap selanjutnya adalah desain, dalam tahap ini pengembang akan menghasilkan sebuah arsitektur sistem secara keseluruhan, dalam tahap ini menentukan alur perangkat lunak hingga pada tahap algoritma yang detil. Selanjutnya tahap implementasi, yaitu tahapan dimana keseluruhan desain diubah menjadi kode-kode program. kode program yang dihasilkan masih berupa modul-modul yang selanjutnya akan di integrasikan menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Tahap selanjutnya adalah verifikasi oleh klien, klien menguji apakah sistem tersebut telah sesuai dengan kontrak yang telah disetujui. Tahap akhir adalah pemeliharaan yang termasuk diantaranya instalasi dan proses perbaikan sistem sesuai kontrak.

Manfaat Metode Waterfall

Keunggulan model pendekatan pengembangan software dengan metode waterfall adalah pencerminan kepraktisan rekayasa, yang membuat kualitas software tetap terjaga karena pengembangannya yang terstruktur dan terawasi. Disisi lain model ini merupakan jenis model yang bersifat dokumen lengkap, sehingga proses pemeliharaan dapat dilakukan dengan mudah. Akan tetapi dikarenakan dokumentasi yang lengkap dan sangat teknis, membuat pihak klien sulit membaca dokumen yang berujung pada sulitnya komunikasi antar pengembang dan klien. Dokumentasi kode program yang lengkap juga secara tak langsung menghapus ketergantungan pengembang terhadap pemrogram yang keluar dari tim pengembang. Hal ini sangat menguntungkan bagi pihak pengembang dikarenakan proses pengembangan perangkat lunak tetap dapat dilanjutkan tanpa bergantung pada pemrogram tertentu.

Kelemahan Metode Waterfall

Kelemahan pengembangan software dengan metode waterfall yang utama adalah lambatnya proses pengembangan perangkat lunak. Dikarenakan prosesnya yang satu persatu dan tidak bisa diloncat-loncat menjadikan model klasik ini sangat memakan waktu dalam pengembangannya. Disisi lain, pihak klien tidak dapat mencoba sistem sebelum sistem benar-benar selesai pembuatannya. Kelemahan yang lain adalah kinerja personil yang tidak optimal dan efisien karena terdapat proses menunggu suatu tahapan selesai terlebih dahulu.
Secara keseluruhan model pendekatan pengembangan software dengan metode waterfall cocok untuk pengembangan software / perangkat lunak dengan tingkat resiko yang kecil, dan memiliki ukuran yang kecil serta waktu pengembangan yang cukup panjang. Model ini tidak disarankan untuk ukuran perangkat lunak yang besar dan tingkat resiko yang besar.

Agile methods

agile_method-01Agile methods merupakan salah satu dari beberapa metode yang digunakan dalam pengembangan sooftware. Agile method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun.
Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana.
Agile Method juga dapat diartikan sekelompok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama atau pengembangan system jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun

Prinsip Agile Software Development

Agile Software Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan businessmen, antara developer dan managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun software. Ciri-ciri ini didukung oleh 12 prinsip yang ditetapkan oleh Agile Alliance. Menurut Agile Alliance, 12 prinsip ini adalah bagi mereka yang ingin berhasil dalam penerapan Agile Software Development:

  1. Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus.
  2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
  3. Penyerahan hasil/software dalam hitungan waktu beberapa minggu sampai beberapa bulan.
  4. Pihak bisnis dan pengembang harus bekerja sama setiap hari selama pengembangan berjalan.
  5. Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan proyek.
  6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien
  7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek
  8. Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk menjaga perkembangan yang berkesinambungan
  9. Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile
  10. Kesederhanaan penting
  11. Arsitektur, kebutuhan dan desain yang bagus muncuk dari tim yang mengatur dirinya sendiri
  12. Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya.

Dua belas prinsip tersebut menjadi suatu dasar bagi model-model proses yang punya sifat agile. Dengan prinsip-prinsip tersebur Agile Process Model berusaha untuk menyiasati 3 asumsi penting tentang proyek software pada umumnya:

  1. Kebutuhan software sulit diprediksi dari awal dan selalu akan berubah. Selain itu, prioritas klien juga sering berubah seiring berjalannya proyek.
  2. Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan seberapa jauh desain yang diperlukan sebelum pembangunan.
  3. Analisis, desain, pembangunan dan testing tidak dapat diperkirakan seperti yang diinginkan.

Kelebihan dari Agile Method

  1. Meningkatkan kepuasan kepada klien
  2. Pembangunan system dibuat lebih cepat
  3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
  4. Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.

sumber :

http://www.etunas.com/web/pengembangan-software-dengan-metode-waterfall.htm

http://dwijaantara.wordpress.com/2010/10/25/agile-method/

http://wisnuramadhaniway.wordpress.com/2013/09/08/teknik-dokumentasi-aplikasi-software-documentation/

http://bintarmadayraditya.files.wordpress.com/2012/02/dokumentasi-software.pdf

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

%d blogger menyukai ini: