Dalam mempelajari rekayasa perangkat lunak perlu kita
ketahui juga tentang beberapa pendekatan praktis. Sebenarnya ada banyak hal
atau pendekatan yang harus diperhatikan dalam membuat sebuah perangkat
lunak atau software, contoh saja yaitu 7 prinsip, proses pembuatan, alur
proses, dan lainnya. Nah pada kesempatan kali ini akan dibahas mengenai
pendekatan praktis rekayasa perangkat lunak, tetap disini ya di kafetech.blogspot.co.id.
7 Prinsip pendekatan praktis rekayasa perangkat lunak
Dalam mempelajari pembuatan sebah perangkat lunak terdapat
istilah 7 prinsip atau kaidah pembuatan, yaitu :
- Mempunyai
alasan yang jelas (the reason it all exists)
- Sederhana (keep
it simple)
- Mempertahankan
visi (maintain the vision)
- Apa
yang kamu buat, orang lain yang memakai (what you produce, other
will consume)
- Terbuka
kepada masa depan (be open to the future)
- Rencanakan
kedepan untuk digunakan kembali (plan ahead for reuse)
- Berpikir
! (think !)
Mempunyai alasan yang jelas (the reason it all
exists)
- Sebuah
sistem perangkat lunak harus mempunyai satu alasan, yaitu untuk memberikan
nilai kepada penggunanya. Inilah dasar dari segalanya.
- Sebelum
memulai segala sesuatu dalam pembuatan software, ajukan pertanyaan “Apakah
ini menambah nilai nyata untuk sistem ?” jika jawabannya “No” maka
jangan lakukan.
- Prinsip
lain mendukung prinsip satu ini.
Sederhana (keep it simple)
- Software
desain bukanlah proses yang serampangan. Ada banyak faktor yang perlu
dipertimbangkan dalam pembuatan desain.
- Desain
elegan biasanya lebih sederhana, tetapi bukan berarti cepat dan kotor.
- Software
desain bukan hanya pada interface tetapi juga termasuk dalam coding
aplikasi.
“All design should be as simple as possible, but no
simpler”
Mempertahankan visi (maintain the vision)
- Memiliki
yang jelas kedepannya.
- Hal
ini sangat penting untuk keberhasilan suatu proyek perangkat lunak.
Apa yang kamu buat, orang lain yang memakai (what
you produce, other will consume)
- Selalu
menentukan, merancang, dan mengimplementasikan, sehingga orang lain mengetahui
apa yang sedang kita lakukan.
- Tentukan
software yang ingin dibuat menggunakan kaca mata pengguna, hal ini juga
termasuk desain, informasi, dan lain sebagainya.
- Ingatlah
bawa konsumen adalah faktor perkembangan software yang berpotensi besar.
“Terbukalah pada target yang ingin dituju, apabila perlu
gunakan survey untuk mengetahui apa yang sedang mereka butuhkan atau
permasalahkan”
Terbuka kepada masa depan (be open to the future)
- Sebuah
sistem akan memiliki nilai lebih apabila memiliki umur yang panjang bahkan
seumur hidup.
- Sistem
harus siap untuk beradaptasi dengan perubahan atau lainnya. Dan sistem
yang dapa t melakukan hal ini adalah sistem yang telah dirancang dengan
cara ini dari awal.
- Selalu
bertanya “Apa jika ...” dan mempersiapkan kemungkinan
jawaban yang ada. Ini sangat memungkinkan penggunaan kembali ke seluruh
sistem.
Rencanakan kedepan untuk digunakan kembali (plan
ahead for reuse)
- Penggunaan
kembali kode dan desain berarti telah memproklamirkan sebagai manfaat
utama penggunaan teknologi pemrograman berbasis objek (object
oriented programming).
- Ada
banyak teknik untuk mewujudkan penggunaan kembali di setiap tingkat proses
pengembangan sistem.
“Penggunaan kembali dapat mengurangi biaya, menghemat
waktu pembuatan software lain, dan menghemat usaha yang dikeluarkan untuk
proses pembuatan”
Berpikir ! (think !)
- Selalu
berpikir dengan jelas dan lengkap sebelum menentukan tindakan, karena akan
hampir selalu menghasilkan hasil yang lebih baik.
- Menerapkan
6 prinsip pertama disertain dengan pemikiran yang instens, yang berpotensi
dengan imbalan yang besar.
Software proses
Selain dari 7 prinsip yang telah dijelaskan diatas,
pendekatan praktis rekayasa perangkat lunak juga mencakup beberapa hal lain.
Salah satunya adalah software proses, yakni satu set kegiatan yang bertujuan
utntuk pembangunan atau evolusi perangkat lunak.
Kegiatan umum yang terdapat pada proses pembuatan perangkat lunak, antara lain :
Kegiatan umum yang terdapat pada proses pembuatan perangkat lunak, antara lain :
- Spesifikasi –
apa yang sistem harus lakukan dan kendala pengembangan
- Pengembangan –
produksi sistem perangkat lunak
- Validasi –
memeriksa bahwa apakah perangkat lunak diinginkan
- Evolusi –
perubahan perangkat lunak dalam menanggapi tuntutan
Dalam pemilihan model software proses harus mempertimbangkan
dengan kelebihan dan kelemahan masing-masing model. Dan salah satu yang harus
diperhatikan adalah jenis aplikasi/perangkat lunak yang akan dibangun.
Berbasis Project vs. Berbasis Product
Berbasis Project vs. Berbasis Product
- Basis
Project
- Dikendalikan
oleh pemesan (user)
- Dibuat
untuk dipesan
- Produk
spesial hanya untuk pemesan (user)
- Produk
lisensi dibawa pemesan
- Biaya
dari pemesan
- Waktu
dan bianya terbatas berdasarkan yang diminta dan diberikan oleh pemesan
- Bisa
memliki banyak perubahan tergantung pemesan
- Berakit-rakit
ke hulu, berakit-rakit juga ketepian
- Basis
Product
- Dikendalikan
oleh pembuat
- Dibuat
untuk persediaan
- Produk
umum atau massa
- Produk
lisensi tetap milik pembuat
- Biaya
dari investasi
- Waktu
dan biaya tidak terbatas
- Perubahan
terbatas tergantung pembuat
- Berakit-rakit
ke hulu, berenang renang ke tepian
Udah tahukan apa perbedaan dari basis project dan basis
product. Sekarang akan dijelaskan mengenai pada saat kapan kita menggunakan
basis project dan basis product.
- Pilih
project-based, jika :
- Tidak
punya banyak modal (investasi)
- Ada
pesanan dari user/pemesan dan banyak pemesan semisal (berpotensi repetitive-order)
- Perangkat
lunak berpotensi bisa dibuat produk
- Pilih
product-based, jika :
- Punya
modal untuk investasi
- Memiliki
ide perangkat lunak yang prospektif dan bersifat product-mass kedepan
- Berdamai
dengan waktu
- Lebih
rawan dijiplak/dicopy (copy protect, HAKI)
Komentar
Posting Komentar