Perangkat lunak adalah perintah atau program komputer yang apabila dieksekusi memberikan fungsi dan mengerjakan seperti apa yang diharapkan. Pemodelan dalam sebuah rekayasa perangkat lunak adalah suatu hal yang dilakukan di tahapan awal. Pada rekayasa perangat lunak sebenarnya masih memungkinkan tanpa melakukan suatu pemodelan. Hal tersebut tidak bisa lagi dilakukan dalam suatu industri perangkat lunak atau karya ilmiah dikarenakan dengan menggunakan pemodelan maka akan lebih mudah dalam memahami sistem baik itu untuk pengembang perangkat lunak ataupun bagi pelanggan atau klien. Sehingga dengan demikian pengembang perangkat lunak akan lebih cepat dalam melakukan desain dan mengkontruksi program untuk perangkat lunak tersebut berdasarkan model yang sudah ada dan telah disepakati bersama. Pemodelan perangkat lunak ini juga sering disebut dengan metodologi pengembangan sistem.

Pemodelan Rekayasa Perangkat Lunak
Sumber: mojok.co


Proses

Pada suatu industri dikenal berbagai macam proses, demikian pula halnya dengan industri perangkat lunak. Instansi yang berbeda seringkali menggunakan proses yang berbeda pula untuk menghasilkan produk yang sama. Namun produk yang berbeda mungkin saja dihasilkan oleh sebuah perusahaan dengan menggunakan proses yang sama. Apabila proses yang digunakan salah maka akan mengurangi kualitas dari produk yang dikembangkan.

Seperti halnya produk, proses juga mempunyai atribut dan karakteristik seperti berikut :

  • Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan bagaimana kemudahan definisi proses tersebut dipahami.
  • Supportability, yaitu sejauh mana aktivias proses dapat didukung oleh kasus dan CASE.
  • Visibility, apakah aktivitas-aktivitas kegiatan proses mencapai tujuan akhir dalam hasil yang jelas sehingga kemajuan dari proses tersebut dapat terlihat secara jelas.
  • Reliability, apakah proses didesain sedemikian rupa sehingga kesalahan proses dapat dihindari sebelum terjadi kesalahan pada produk.
  • Acceptability, apakah proses yang telah ditentukan oleh pengembang bisa diterima dan digunakan dan berkemampuan dan bertanggung jawab selama pembuatan produk perangkat lunak.
  • Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi kebutuhan spesifikasi.
  • Robustness, bisakah proses terus berjalan walaupun terjadi masalah yang tak diduga atau diharapkan terjadi.
  • Maintainability, bisakah proses berkembang untuk mengikuti kebutuhan atau perbaikan.


Model

Model proses perangkat lunak masih menjadi objek penelitian, ada banyak model umum atau paradigma yang digunakan dalam mengembangkan perangkat lunak, diantaranya sebagai berikut :

Pendekatan Waterfall

Berisi rangkaian aktivitas proses meliputi spesifikasi kebutuhan, penerapan desain perangkat lunak, pengujian, pemeliharaan dan seterusnya. Model  ini setelah setiap langkah didefinisikan maka langkah tersebut di sign off dan pengembnagan berlanjut pada langkah berikutnya.

Pengembangan secara Evolusioner

Sistem awal dengan cepat dikembangkan dari klien untuk memproduksi sistem yang memenuhi kebutuhan pelanggan tersebut kemudian sistem disampaikan. Sistem itu mungkin diterapkan kembai dengan pendekatan yang lebih terstruktur dalam menghasilkan sistem yang kuat dan maintable.

Reusable

Teknik ini menganggap bagian-bagian dari sistem sudah ada. Proses pengembangan sistem lebih berfokus pada penggabungan bagian-bagian daripada pengembangan tiap bagian yang sudah ada tersebut.

Object Oriented

Teknik ini merupakan teknik terbaru yang sekarang banyak digunakan dan terus dikembangkan. Teknik ini memandang segala sesuatu sebagai objek sehingga dengan mudah pengembnag memahami sistem yang akan dikembangkanya.

Secara umum metodologi-metodologi tersebut mencakup serangkaian tugas secara luas seperti analisis kebutuhan, desain, konstruksi program, pengujian dan pemeliharaan.