Langsung ke konten utama

Prinsip Acuan Praktis Perangkat Lunak


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)

Sumber : https://kafetech.blogspot.com/2016/09/7-prinsip-dalam-praktek-software.html

Komentar

Postingan populer dari blog ini

Thomas Matulessy (Kapitan Pattimura)

Saya akan berbagi artikel tentang seorang pahlawan yang menginspirasi saya untuk selalu berani dan pantang menyerah dalam menyikapi setiap masalah yang datang ke hidup saya.  Orang itu bernama Thomas Matulessy atau yang lebih kita kenal dengan nama Kapitan Pattimura. Beliau lahir di Hualoy, Seram Selatan, Maluku, 8 Juni 1783 dan meninggal di Ambon, Maluku, 16 Desember 1817 pada umur 34 tahun.  Pattimura adalah sosok yang senantiasa berjuang untuk memerdekakan indonesia,ia juga sangat percaya diri saat akan melawan pasukan penjajah belanda. Bagi saya Kapitan Pattimura adalah sosok yang pemberani dan memiliki semangat juang yang tinggi dan memiliki sifat tanggung jawab yang besar dan juga rela berkorban demi orang lain. karena pada waktu pecah perang melawan penjajah Belanda tahun 1817, Raja-raja Patih, Para Kapitan, Tua-tua Adat dan rakyat mengangkatnya sebagai pemimpin dan panglima perang karena berpengalaman dan memiliki sifat-sfat kesatria (kabaressi)....

Desain dan Konsep Perangkat Lunak

Desain adalah langkah pertama dalam fase pengembangan bagi setiap produk atau sistem yang direkayasa. Desain dapat didefinisikan berbagai “proses aplikasi berbagai teknik dan prinsip bagi tujuan pendefinisian suatu perangkat, suatu proses atau sistem dalam detail yang memadai untuk memungkinkan realisasi fisiknya”[TAY59]. Tujuan desainer adalah untuk menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun. Desain Perangkat Lunak Dan Rekayasa Perangkat Lunak Desain perangkat lunak berada pada inti teknik dari proses rekayasa perangkat lunak dan diaplikasikan tanpa memperhatikan model proses perangkat lunak yang digunakan. Begitu persyaratan perangkat lunak telah mulai dianalisis dan ditentukan, maka desain perangkat lunak menjadi yang pertama dari tiga aktivitas teknik – desain, pembuatan kode dan pengujian – yang diperlukan untuk membangun dan menguji perangkat lunak. Persyaratan perangkat lunak, yang dimanifestasi oleh data, fungsional, dan model-...

Data Flow Diagram

Data Flow Diagram ( DFD ) memberikan sebuah model tampilan visual yang menggambarkan aliran data atau informasi dalam sebuah sistem. Penggambaran DFD menyatakan dari mana/siapa(orang yang terlibat dalam proses system) datangnya informasi, dan dikirim kemana/ke pada siapa(orang yang terlibat dalam proses system) informasi tersebut dibutuhkan untuk di simpan dan diakses.  Contoh DFD system Pemesanan barang 1. Context DFD Gambar diatas menunjukkan  context diagram dari system Pemesanan barang. Pada gambar terdapat sebuah proses(shape) yang menggambarkan system tersebut pada model persediaan barang. Nampak juga orang-orang yang akan berinteraksi dengan system tersebut atau kadang dinamakan external entities. Pada contoh ini, supplier, karyawan bagian gudang, pemilik dan pelanggan adalah entities yang akan berinteraksi dengan system. Diantara proses dan external entities, ada data flow sebagai penghubung yang menunjukkan proses pertukaran informasi antara entities den...