7 Prinsip Dalam Pendekatan Praktis Software Engineering Dan Pembuatan Software Sistem

7 Prinsip Dalam Pendekatan Praktis Software Engineering Dan Pembuatan Software Sistem 

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 :
  1. Mempunyai alasan yang jelas (the reason it all exists)
  2. Sederhana (keep it simple)
  3. Mempertahankan visi (maintain the vision)
  4. Apa yang kamu buat, orang lain yang memakai (what you produce, other will consume)
  5. Terbuka kepada masa depan (be open to the future)
  6. Rencanakan kedepan untuk digunakan kembali (plan ahead for reuse)
  7. 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 :
  1. Spesifikasi – apa yang sistem harus lakukan dan kendala pengembangan
  2. Pengembangan – produksi sistem perangkat lunak
  3. Validasi – memeriksa bahwa apakah perangkat lunak diinginkan
  4. 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
  • 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)

Artikel terkait

Incremental System ModelReuse Oriented System ModelAnalisa dan Masalah BatuAgile Software Development, dan sebagainya.

Comments

Popular posts from this blog

Reuse Oriented atau Component Based Software Engineering (CBSE)

Cara Import SQL PowerDesigner Ke Database SQL

Mengenal Perbedaan Telnet Dan SSH Pada Jaringan Komputer