Software Engineering

Software engineering adalah proses analisis kebutuhan dan desain pengguna, konstruksi dan uji aplikasi yang akan memenuhi kebutuhan-kebutuhan tersebut melalui penggunaan bahasa pemrograman, ilmu yang mempelajari teknik pembuatan software yang baik dengan pendekatan teknik (Engineering ap­proach)

Software Engineering atau SE juga diartikan sebagai satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak dan manajemen kualitas.

Software engineering atau dalam bahasa Indonesianya adalah rekayasa perangkat lunak merupakan pengubahan suatu perangkat lunak untuk dikembangkan, dipelihara, dan juga dibangun kembali berdasarkan prinsip sebuah rekayasa

Software engineering tak hanya dibutuhkan pada saat terjadi kesalahan sebuah pengoperasian semata, akan tetapi lebih ke bagaimana dia bekerja untuk keperluan dari penggunanya atau end-user.

Secara garis besar, software engineering bisa diartikan sebagai penerapan prinsip-prinsip teknik pengembangan perangkat lunak. Berbeda dengan pemrograman sederhana, software engineering digunakan untuk sistem aplikasi yang lebih besar dan kompleks. Umumnya, proses ini digunakan untuk kebutuhan bisnis dan organisasi.

Beberapa definisi tentang rekayasa perangkat lunak :

  • Software engineering adalah disiplin ilmu yang menerapkan prinsip-prinsip engineering agar mendapatkan software yang ekonomis yang dapat dipercaya dan bekerja lebih efisien pada mesin yang se­benarnya (Fritz Bauer, 1968).
  • Software engineering adalah suatu penerapan dan juga pendekatan terhadap teknologi secara sistematis, terstruktur, dan juga disiplin. Hal tersebut bertujuan untuk pengembangan, pengoperasian, serta pemeliharaan sebuah perangkat lunak.(IEEE, 1993).
  • Software engineering adalah kedisiplinan yang yang mengikuti proses suatu prosedur, perangkat, dan juga metode yang digunakan untuk menciptakan suatu software komputer. (Pressman, 1997).

Jadi, berdasarkan berbagai keterangan dari para ahli di atas bisa disimpulkan bahwa pengertian software engineering yaitu sebuah rekayasa perangkat lunak yang merupakan perubahan dari suatu software untuk kemudian dibangun, dikembangkan, dan juga dipelihara dengan berpedoman pada prinsip rekayasa.

Fungsi dan tujuan mempelajari rekayasa perangkat lunak antara lain dapat menghasilkan suatu perangkat lunak yang dapat berjalan lebih cepat, efektif serta berkualitas tinggi untuk user (dapat menciptakan sebuah perangkat lunak yang mampu bekerja secara lebih efektif, memiliki kecepatan tinggi, serta memudahkan user di dalam menyelesaikan pekerjaannya).

Berdasarkan Pressman (1997) beberapa metodologi untuk pengembangan perangkat lunak dibagi menjadi dua bagian, yaitu:

  • Metode

Metode adalah cara pendekatan yang dilakukan secara sistematis. Metode ini meliputi rencana proyek dan prediksi, rancangan struktur data, analisis sistem serta perangkat lunak, rancangan program, algoritma, coding, dan uji coba.

  • Alat bantu

Alat bantu di sini digunakan sebagai pendukung untuk membuat suatu perangkat lunak. Alat bantu di sini ada dua cara, yaitu alat yang digunakan secara otomatis dan juga manual.

 

Fungsi dan Kegunaan Software Engineering

Beberapa manfaat dan kegunaan software engineering dalam dunia bisnis:

  • Digunakan untuk mendukung bisnis yang berjalan otomatis

Perlu diketahui bahwa software engineering sangat bermanfaat digunakan untuk menjalankan bisnis secara otomatis. Kegiatan ini biasanya berlangsung di kantor maupun perusahaan yang dinamakan sebagai office automation dan juga business automation. Beberapa contoh dari manfaat software engineering yaitu mendukung absensi, payroll, maupun juga digunakan sebagai cara untuk memantau atau mengawasi kinerja para karyawan. Juga dapat digunakan sebagai perangkat lunak enterprise resource planning yang memang sangat membantu di dalam otomatisasi bisnis, proses produksi, inventory control, finance, dan sampai dengan CRM atau customer relational management.

  • Untuk pembentukan finance technology

Manfaat dari perkembangan di dunia teknologi memiliki dampak yang besar, salah satunya untuk dunia bisnis. Salah satu manfaat dari software engineering untuk dunia bisnis adalah bisa dimanfaatkan sebagai finance technology dimana nanti teknologi ini akan diterapkan di bidang keuangan.

Dampaknya, seseorang bisa lebih terbantu ketika ingin mengakses semua produk keuangan, meningkatkan literasi, dan juga mempermudah di dalam transaksi keuangan. Jadi, software engineering memang sangat bermanfaat baik digunakan untuk pembelian maupun penjualan.

  • Mendukung penerapan strategi yang tepat

Software engineering bermanfaat untuk enterprises resource planning yang memang secara tidak langsung akan memberikan dampaknya terhadap strategi bisnis. Mengingat di dalamnya memang sudah mendukung adanya proses otomatisasi bisnis, misalnya proses produksi, CRM, dan juga inventory control.

  • Untuk kinerja tim yang efektif

Mendukung sebuah kinerja tim yang bisa berjalan dengan lebih efektif. Suatu  kinerja tim membutuhkan software engineering yang nantinya bisa diterapkan sebagai office automation sehingga mampu digunakan untuk mengawasi kinerja para karyawan atau tim yang sedang bekerja di dalam menjalankan suatu bisnis.

 

Metode pengembangan perangkat lunak

Metode pengembangan perangkat lunak dibagi menjadi lima, yakni metode sekuensial linier, RAD, Prototype, Spiral dan juga 4GT. Berikut penjelasan metode-metode tersebut:

  • Model Sekuensial linier

Model ini merupakan pengembangan perangkat lunak yang bersifat sekuensial dan juga sistematik. Mulai dari sistem analisis yang digunakan, kode, pengujian, dan juga desainnya. Oleh karena itu, metode ini sering disebut sebagai model air terjun atau karakteristik model waterfall.

  • Model RAD

Model RAD atau singkatan dari Rapid Application Development adalah salah satu proses pengembangan perangkat lunak yang lebih menitikberatkan pada pengembangan sistem yang lebih pendek atau singkat. Proses RAD ini membuat tim pengembang dapat menciptakan sistem fungsional yang pakem dalam waktu yang singkat.

  • Model Prototype

Model prototype ini berfungsi untuk melakukan sebuah mekanisme yang akurat. Dengan begitu, ketika prototype berjalan, para ahli wajib menggunakan fragmen pada program yang telah ada. Cara yang kedua adalah menggunakan alat bantu seperti windows manager misalnya. Sehingga, program yang dibuat dapat bekerja secara maksimal.

  • Model Spiral

Model spiral merupakan proses perangkat lunak yang terbilang evolusioner. Model spiral ini pada mulanya adalah sebuah usulan dari Boehm. Caranya sendiri adalah dengan merangkai sifat-sifat yang iterative dari prototype. Lalu, dikontrol secara sistematis berdasarkan model sekuensial linier. Model ini merupakan metode pendekatan yang lebih mudah untuk pengembangan sistem secara besar. Akan tetapi model ini membutuhkan keahlian yang tinggi. Selain itu, model ini perlu waktu hingga bertahun-tahun untuk dapat digunakan.

  • Model 4GT

Model 4GT atau singkatan dari Fourth Generation Technique adalah sebuah model yang mengarah pada perangkat lunak yang bersifat umum digunakan. Beberapa pengembangan perangkat lunak yang dapat mendukung 4GT antara lain, data manipulation, report generation, interaksi layar, grafis level tinggi, dan spreadsheet.

Kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak:

  1. dapat terus dirawat dan dipelihara(maintainability)
  2. dapat mengikuti perkembangan teknologi(dependability)
  3. dapat mengikuti keinginan pengguna(robust)
  4. efektif dan efisien dalam menggunakan energi dan penggunaannya
  5. dapat memenuhi kebutuhan yang diinginkan(usability)

 

 

Sumber dari:

  1. https://www.dewaweb.com/blog/apa-itu-software-engineering/
  2. https://id.wikipedia.org/wiki/Rekayasa_perangkat_lunak
  3. https://www.juliarnasution.site/2015/03/pengertian-software-engineering.html
  4. https://dosenit.com/software/apa-itu-software-engineering
  5. http://se.ittelkom-pwt.ac.id/software-engineering/
  6. https://www.nesabamedia.com/pengertian-software-engineering/
  7. https://jokowarinoblog.com/software-engineering/

Leave Comment

error

Enjoy this blog? Please spread the word :)

Facebook
YouTube
Instagram