~ TDA PERT 3 & 4 ~


.::. Dokumentasi Proses dan Dokumentasi Produk .::.

Dalam proses pengembangan, ada banyak jenis dokumen yang dapat dihasilkan. Beberapa dokumen yang diproduksi dalam proyek dapat dikategorikan dalam 2 kelas yang berbeda :
1. Dokumentasi proses :: dokumentasi yang merekam proses pengembangan dan maintenance. Rencana-rencana, jadwal-jadwal, dokumen kualitas proses, standar organisasi dan standar proses merupakan dokumentasi proses.
2. Dokumentasi produk :: dokumentasi yang menggambarkan produk yang sedang dikembangkan. Menjelaskan produk dari sudut pandang teknis dalam mengembangkan dan memelihara sistem.
  • Dokumentasi proses dibuat agar pengembangan suatu sistem/software dapat dimanajemen dengan baik.
  • Dokumentasi produk digunakan setelah sistem/software selesai atau operasional tetapi juga dapat berguna bagi manajemen proses pengembangan sistem, dalam kasus perbaikan atau revisi suatu sistem/software.
.::. Dokumentasi Proses .::.
- Proses ini akan menghasilkan banyak artefak perangkat lunak
- Software artifact adalah sepotong informasi yang digunakan atau dihasilkan dalam suatu proses rekayasa software. Artifact dapat berupa model, deskripsi atau software.
-
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 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. Contohnya : ISO, IEEE , dll.

4. Lembar kerja/ working paper.
- Merupakan dokumen komunikasi teknis utama dalam suatu proyek.
- Merekam ide dan pikiran para engineer secara sementara.
- Untuk mencatat alasan-alasan pemilihan suatu keputusan dalam desain.

5. E-mail messages, wikis, dll.
-  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 kadarluasa dan tidak ada untuk tetap menyimpannya setelah sistem/software telah jadi, seperti jadwal / perencanaan pembuatan.

.::. 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
-  Pengguna akhir ingin tahu bagaimana perangkat lunak dapat membantu dan memudahkan mereka dalam mengerjakan suatu tugas.
-  Pengguna akhir 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, dll.

.::. Tipe-tipe User Documentation .::.
Untuk memenuhi kebutuhan berbagai macam user beserta keahliannya yang masing-masing berbeda, paling tidak ada 5 macam dokumen yang harus diikutsertakan dalam penyerahan suatu produk software/sistem :
1. Functional system description
a.       Secara singkat menggambarkan kebutuhan sistem untuk menjalankan program
b.       Servis-servis yang dimiliki (fitur2) aplikasi
c.       Gambaran umum dr aplikasi (abstraksi)
à User dapat menentukan apakah aplikasi benar-benar dibutuhkan hanya dengan membaca functional description dan introductory manual.
2.  Installation document
a.       Diperuntukan bagi system administrator.
b.       Menyediakan informasi mendetail bagaimana cara menginstall system di lingkungan system yang spesifik.
c.       Mencantumkan gambaran file-file apa yang membentuk suatu sistem/aplikasi
d.       Persyaratan minimum dari hardware yang dibutuhkan.
e.       File-file(aplikasi) yang harus ada sebelum sistem diinstall
f.         Cara memulai system/aplikasi
g.       Cara mengkonfigurasi aplikasi agar berjalan dengan system yang telah ada
à Adanya installer otomatis untuk aplikasi-aplikasi sekarang membuat para pembuat S/W memandang tidak perlu adanya dokumen ini, padahal pada kenyataannya dokumen instalasi ini masih dibutuhkan agar para System manager dapat menemukan dan memecahkan sumber masalah jika ada problem pada waktu
instalasi.
3. Introductory manual
a.    Menyediakan pengenalan tentang system/aplikasi yang menggambarkan fungsi/penggunaan umum dari system/aplikasi tersebut.
b.       Menjelaskan cara memulai menggunakan program
c.   Menjelaskan bagaimana para user dapat menggunakan fungsi-fungsi umum yang dimiliki aplikasi disertai ilustrasi dan contoh bebas.
d. Mencantumkan kesalahan-kesalahan yang umum/sering dilakukan oleh user dan cara menyelesaikannya.
4. Reference manual
a.       Menjelaskan semua kegunaan dan fungsi yang dimiliki system/aplikasi
b.       Mencantumkan semua pesan kesalahan yang dimiliki sistem dan cara mengatasinya secara lengkap dan detail
c.       Penggunaan bahasa resmi dan teknik bisa digunakan
à Mencantumkan secara lengkap fitur dan cara operasional dari system/aplikasi


Referensi :



~ TDA PART 2 ~


.::. Resume Pert 2 .::.
Nama : Novita rahmawati
Nim : 10410110003

.::. Proses Dokumentasi .::.

-    Mencatat seluruh proses pembangunan, perencanaan dan penjadwalan kualitas.
-    Pendekatan berdasarkan rencana agar dokumentasi bias dimanage
-    Ada dokumentasi untuk yang membuat dan yang membeli
-    Ada user manual
-    Adanya kontrak
-    Dokumentasi akan dibutuhkan untuk software dengan jangka waktu yang panjang untuk maintenance.
-    Dokumentasi tak perlu detil paling tidak ada logika system serta ada cara kerja sistemnya.

.::. Dokumen .::.
Dokumen dasar dalam pengembangan perangkat lunak :
1.      Requirements document à Terdapat funsional, desain, operasional, user requirement
2.      Architecture documents à Lebih ke grafik
3.      Detailed Design à Sisflow, docflow
4.      Implementation à program sudah jadi (coding, debugging)
5.      Test Documents à testplan, testcase
6.      Project Management Documents à project charter
7.      Configuration management documents à semua item yang ada di dalam project
8.      Project infrastructure document :
- Lebih ke hal-hal yang sifatnya perjanjian tidak tertulis
- Tiap-tiap member harus baca referansi sebelum membuat
- Progress reportnya seperti apa
- Tools yang di pakai
- Template yang di pakai

.::. Agile vs Waterfall .::.

Waterfall
Vs
Agile
-         Linier
-         Sekuensial
-         Setiap langkah terpisah
-         Bias diprediksi
-         Dokumentasi sesuai dengan yang ada pada urutan karena sudah dijadwalkan

-      Lebih cepat menerima proses
-      Bisa mingguan, bulanan
-      Adaptasi
-      Sprint (cepat)
-      Dokumentasi pada metode ini sangat minimal
-      Untuk organisasi besar kebanyakan masih terlalu sulit.

.::. Agile Method .::.
Agile methods merupakan salah satu dari beberapa metode yang digunakan dalam pengembangan software. Agile method adalah jenis pengembangan 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 mendukung 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 dari segi materi relative kecil.

>> Model-model Agile method <<
ð    Extreme Programmning (XP)
ð    Adaptive Software Development (ASD)
ð    Dynamic Systems Development Method (DSDM)
ð    Scrum Methodology
ð    Crystal
ð    Feature Driven Development (FDD)
ð    Agile Modeling (AM)
ð    Rational Unified Process

>> Agile Methode <<
1.   Interactive and Incremental Modeling
·   Apply right models
·   Membuat serangkaian model secara paralalel
·   Pengembangan secara incremental (sedikit demi sedikit)
2.   Teamwork
·   Memunculkan partisipasi aktif dari stakeholder
·   Mendorong kepemilikan kolektif
·   Terbuka dengan orang lain 
3.   Simplicity
·   Menggunakan konten yang simple
·   Menggambarkan model sederhana
·   Menggunakan tool desain yang simple
4.   Validation
·   Memungkinkan Uji kemampuan sistem
·   Membuktikan model yang tepat

.::. Methode Waterfall .::.
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 <<
Secara garis besar metode waterfall mempunyai Tahapan sebagai berikut : Analisa, Desain, Penulisan, Pengujian dan Penerapan serta Pemeliharaan. (Kadir, 2003)
1.      Analisa Kebutuhan
      Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini bisa melakukan sebuah penelitian, wawancara atau studi literatur. Tahapan ini akan menghasilkan dokumen user requirment atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan sistem. Dokumen ini lah yang akan menjadi acuan sistem analis untuk menerjemahkan ke dalam bahasa pemrogram.
2.      Desain Sistem
      Tahapan dimana dilakukan penuangan pikiran dan perancangan sistem terhadap solusi dari permasalahan yang ada dengan menggunakan perangkat pemodelan sistem seperti diagram alir data (data flow diagram), diagram hubungan entitas (entity relationship diagram) serta struktur dan bahasan data.
3.      Penulisan Kode Program
     Penulisan kode program atau coding merupakan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer. Dilakukan oleh programmer yang akan meterjemahkan transaksi yang diminta oleh user. Tahapan ini lah yang merupakan tahapan secara nyata dalam mengerjakan suatu sistem.
4.      Pengujian Program
   Tahapan akhir dimana sistem yang baru diuji kemampuan dan keefektifannya sehingga didapatkan kekurangan dan kelemahan sistem yang kemudian dilakukan pengkajian ulang dan perbaikan terhadap aplikasi menjadi lebih baik dan sempurna.
5.      Penerapan Program dan Pemeliharaan
     Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena pelanggan membutuhkan perkembangan fungsional.

>> Manfaat Metode Waterfall <<
Metode pengembangan waterfall mempunyai keunggulan dalam membangun dan mengembangkan suatu sistem, antara lain:
1.   Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
2.   Dokumen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumen tertentu

>> Kelemahan Metode Waterfall <<
Dalam proses membangun dan mengembangkan suatu sistem, metode waterfall mempunyai beberapa kelemahan, antara lain:
1.  Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.
2.    Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan.
3. Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidakpastian pada saat awal pengembangan.

Referensi :
Copyright 2009 Noviitha . All rights reserved.
Bread Machine Reviews | watch free movies online by Blogger Templates