Nama :: Dyah Ayu Anggraeni
NIM :: 10410110017
Prodi :: S1 KA
::
DOKUMENTASI PROSES ::
Dokumentasi proses
merupakan pendekatan praktis untuk mengelola dan mempersiapkan dokumen yang diperlukan
untuk menerapkan sistem. Dokumentasi
proses adalah proses pertama dalam aktivitas peningkatan. Dokumentasi proses pada dasarnya dapat dilakukan pada dua saat yang berbeda, yaitu:
1. Satu per satu terkait dengan proyek yang melibatkan proses tertentu.
Proses baru didokumentasikan jika sebuah proyek atau aktivitas lain dimulai
untuk meningkatkan proses tersebut.
2. Keseluruhan di awal yang bersifat umum.
Dilakukan dengan melihat keseluruhan perusahaan dan dokumentasi seluruh
atau sebagian
besar proses bisnis.
Sistem dokumentasi merupakan keseluruhan dokumen yang
berhubungan dengan kebutuhan sistem hingga uji coba sistem tahap terakhir.
Dokumen ini menjabarkan rancangan, implementasi dan uji coba dari sistem yang
berguna dalam proses perawatannya.
Proses Dokumentasi dibagi menjadi 5
kategori yaitu :
1.
Perencanaan, perkiraan dan penjadwalan
adalah dokumen
yang dibuat oleh manager yang digunakan untuk memperkirakan dan mengatur proses
software.
2.
Laporan/Report, merupakan dokumen yang
menginformasikan bagaimana sumber daya digunakan saat proses pengembangan.
3.
Standart, dokumen yang menjelaskan bagaimana prose
situ berjalan.
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.
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, berisi
detail percakapan antara manager dan pekerja.
System Development Life Cycle ( SDLC )
::
Suatu proses pengembangan sistem informasi
melalui investigasi, analisis, desain, implementasi dan pemeliharaan.
Perlunya SDLC ::
• Sistem informasi bersifat dinamis (isi maupun
lingkungannya)
• Pembangunan sistem informasi tidak linier
• Kebutuhan pemakai berkembang
•
Supply vs demand driven
Tahapan dari SDLC ::
1. Planning (Perencanaan)
2. Analysis (Analisa)
3. Design (Perancangan/Desain)
4. Implementation
(Implementasi/Penerapan)
5. Use (Penggunaan)
Ada
2 Metode yang sering di gunakan untuk proses
dokumentasi, yaitu :
1. Metode Waterfall (Pendekatan tradisional)
2. Metode Agile
A. METODE WATERFALL
Model
Waterfall adalah sebuah metode pengembangan software yang bersifat sekuensial
dan terdiri dari 5 tahap yang saling terkait dan mempengaruhi.
Waterfall, merupakan SDLC tertua
karena sifatnya yang natural. Urutan SDLC waterfall ini bersifat serial
dari proses perencanaan, analisa, desain, dan implementasi pada sistem. 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.
Kelebihan
dari Metode 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.
- 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.
Kekurangan
dari Metode Waterfall :
- Persyaratan system harus digambarkan dengan jelas.
- Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
- Partisi projek ke stages yang berbeda tidak fleksibel. Hali ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna Oleh sebab itu model ini hanya cocok digunakan apabila kebutuhan pengguna sudah dimengerti dengan baik.
- Persyaratan system harus digambarkan dengan jelas.
- Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
- Partisi projek ke stages yang berbeda tidak fleksibel. Hali ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna Oleh sebab itu model ini hanya cocok digunakan apabila kebutuhan pengguna sudah dimengerti dengan baik.
B. METODE AGILE
Agile
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.
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.
Kekurangan
dari Agile Method :
1.
Membutuhkan
manajemen tim yang terlatih dan mempunyai ilmu yang sudah tinggi.
2.
Agile jarang
dipraktekkan secara langsung.
3.
Agile
sulit diimplementasikan dalam proyek yang berskala
besar.
4.
Lemah dalam
perencanaan arsitektur
5.
Keterbatasan
waktu dalam perencanaan proyek.
Berikut ini diberikan
suatu contoh dokumentasi perancangan suatu sistem komputer
yang berisi :
1. Kebutuhan pengguna
2. Spesifikasi
3. Disain
4. Implementasi dan pemilihan teknologi
5. Pengujian
6. Aplikasi
• Lampiran
1. Kebutuhan pengguna (user requirement)
Bagian
ini menjelaskan kebutuhan dari sistem baik, dari sis pengguna, fungsi maupun
teknologi. Bagian ini terdiri dari :
Definisi Kebutuhan
(Requirement definition )
Bagian ini mendefinisikan kebutuhan dan hal-hal yang berkaitan dengan kebutuhan
akan sistem secara menyeluruh. Biasanya dalam kasus kondisi sebenarnya, dokumen
ini harus disetujui oleh pemberi kerja dan pelaksana kerja. Bagian yang dibahas
dalam dokumen ini adalah :
·
Purposeful requirement.
Menjelaskan mengapa kebutuhan itu perlu dipenuhi
·
Functional requirement.
Apakah fungsi sebenarnya yang dibutuhkan oleh user dari sistem
ini.
·
Nonfunctional requirement
Dan kebutuhan sistem yang tidak berkaitan dengan fungsinya yang
melibatkan seperti, bisa
dimodifikasi, testing, dan portabilitas
·
User Profile
Menerangkan tentang pengguna dari sistem ini, terutama yang
berkaitan dengan tingkat pengenalan
terhadap teknologi yang akan diterapkan.
2. Spesifikasi
Pada bagian ini dijabarkan spesfikiasi detail dari sistem yang harus
dibuat, spesifikasi ini meliputi
hal-hal berikut ini :
·
Spesifikasi siklusi operasi sistem (System Operating
Cycle Spesification )
Dalam
bagian ini dijelaskan siklus penggunaan sistem ini, tujuan untuk mendapatkan spesfikasi
teknis terutama akan berguna pada bagian implementasi. Sistem fault tolerant 24
jam akan berbeda dengan sistem yang beroperasi 1 jam sehari.Begitu juga siklus
kerja sistem, atau langkah kerja satu demi satu dispesfikikasikan.
·
Spesifikasi fungsional
Pada bagian
ini dijabarkan fungsi dari sistem yang akan dibuat.
·
Spesifikasi kinerja
Pada
bagian ini dijelaskan performansi / unjuk kerja yang ingin dicapai serta kemungkinan keterbatasan di dalam
penggunaan sistem. Setiap kebutuhan diusahakan dispesifikasikan
dengan jelas, termasuk karakteristik elektris dan fisis.
3. Disain
Pada bagian ini diterangkan metoda dari
solusi yang digunakan untuk memenuhi kebutuhan yang telah dispesifikasikan pada
bagian terdahulu. Yang dijelaskan dalam bagian ini adalah langkah perancangan
dari solusi yang ditawarkan. Sedapat mungkin harus dipisahkan antara
perancangan dan implementasi. Pada perancangan diusahakan sedapat mungkin yang
dilakukan adalah memodelkan solusi secara logika atau secara algoritmis. Tanpa
terkait erat dengan teknologi yang digunakan dalam proses implementasi dari
model. Keterkaitan implementasi hanyalah menjadi constraint dari model bukan
menjadi dasar disain.
4. Implementasi dan pemilihan
teknologi
Pada bagian ini dijelaskan metoda dan
peralatan yang digunakan untuk mengimplementasikan solusi yang telah diajukan
dalam bagian disain. Sebaiknya alasan pemilihan teknologi yang digunakan
haruslah dijabarkan pada bagian ini. Misal alasan pemilihan suatu jenis
komponen perlu diberikan dengan jelas dalam bagian ini, misal mengapa memilih
CMOS atau TTL.
Dalam bagian implementasi diterangkan
skema atau diagram yang digunakan, baik elektronis, fisis, ataupun keterangan
program dengan menggunakan metoda diagram yang sesuai. Misal untuk rangkaian
elektronis menggunakan skema elektronis, sedangkan untuk program dengan ow
chart, dan lain lain.
Sebelum dilakukan pemilihan teknologi atau
level alat yang digunakan maka harus dilakukan estimasi terhadap beberapa hal :
• Estimasi waktu untuk mengembangkan sistem
• Estimasi panjangnya program
• Estimasi kebutuhan memori
• Estimasi kecepatan eksekusi
Juga harus dipertimbangkan pembagian antara software dan hardware .
5. Pengujian (testing)
Bagian ini menunjukkan kerja dari sistem baik untuk masukan
yang bersifat normal, ataupun untuk masukan yang di luar ambang normal. Setiap
pengujian dilakukan dokumentasi sebagai bukti otentik kemampuan sistem.
Pada dasarnya disamping testing yang bersifat testing dalam kondisi
operasi, akan baik pula bila dilakukan testing berikut ini :
·
Recovery testing.
Pengujian dilakukan untuk
mengetahui kemampuan sistem, untuk mengembalikan ke kondisi normal setelah suatu masukan atau kondisi di luar dari
yang dispesfikasikan. Untuk
sistem-sistem yang bersifat fault-tolerant, jenis pengujian ini merupakan suatu
kewajiban.
·
Stress testing.
Pengujian ini dilakukan untuk
mengetahui kemampuan sistem dalam menangani beban kerja yang berat, sangat baik untuk mengetahui kemampuan
maksimal dari sistem.
·
Security testing.
Testing ini dilakukan untuk
jenis-jenis aplikasi yang berkaitan dengan keamanan sistem,baik dari pengguna yang melakukan
kesalahan tidak sengaja,ataupun sengaja.
Dapat digunakan beberapa
metodologi testing:
·
Use-Case
·
White Box
·
Black Box
·
Loop testing
Dapat digunakan beberapa satuan
untuk menunjukkan hasil kerja sistem, bila dalam perangkat keras telah jelas besaran yang digunakan misal :
frekuensi response, slew rate dll.
Untuk perangkat lunak dapat digunakan : software metric, cyclomatic complexity. Pada dasarnya suatu testing akan
melakukan :
·
Verifikasi.
Menjamin bahwa sistem benar-benar bekerja sesuai fungsinya.
·
Validasi .
Menjamin bahwa sistem benar-benar memenuhi keinginan
pemakai.
. . . : :SUMBER: : . . .