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)....

Pengertian Diagram Class, Use Case, Sequence Diagram

 Sequence Diagram Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram. Pada diagram ini, dimensi vertikal merepresentasikan waktu. Bagian paling atas dari diagram menjadi titik awal dan waktu berjalan ke bawah sampai dengan bagian dasar dari diagram. Garis Vertical, disebut lifeline, dilekatkan pada setiap obyek atau aktor. Kemudian, lifeline tersebut digambarkan menjadi kotak ketika obyek melakukan suatu operasi , kotak tersebut disebut activation box. Obyek dikatakan mempunyai live activation pada saat tersebut. Pesan yang dipertukarkan antar obyek digambarkan sebagai sebuah anakpanah antara activation box pengirim dan pener...

SOFTWARE

Berikut merupakan review pertemuan mata kuliah Rekayasa Perangkat lunak yang diampu oleh Bapak Bambang Prasetya Adhi, S.Pd., M.Kom. Yang di jadwalkan pada hari kamis lalu, 19 September 2019. Software/Perangkat Lunak  adalah program komputer yang mempunyai fitur, fungsi, struktur data yang memungkinkan program untuk memanipulasi informasi dan dokumentasi yang mendeskripsikan operasi dari progam. Software tidak akan usang karena suatu software mempunyai tujuan tertentu dan bisa dibilang selalu berkembang. Suatu software harus beradaptasi pada lingkungannya dan akan selalu meningkat terhadap kebutuhan bisnis baru Karakter Aplikasi Web Dapat diakses semua kalangan (Network intensiveness) Concurrency Unpredictable load Performance Availability Data driven Content sensitive Continous evolution Immediacy Security Aesthetics Umbrella Activities Software project management Formal technical reviews Software quality assurance Software configura...