Pengertian Rekayasa Perangkat Lunak (RPL, dalam bahasa Inggris: Software Engineering atau SE) merupakan satu bidang profesi yang mendalami mengenai cara-cara pengembangan suatu perangkat lunak termasuk didalamnya melakukan pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak serta juga manajemen kualitas.
IEEE Computer Society mendefinisikan rekayasa perangkat lunak (RPL) ialah sebagai penerapan suatu pendekatan yang sistematis, disiplin serta terkuantifikasi atas pengembangan, penggunaan dan juga pemeliharaan perangkat lunak, dan juga studi atas pendekatan-pendekatan ini, meliputi penerapan pendekatan engineering atas perangkat lunak.
Rekayasa perangkat lunak merupakan suatu pengubahan pada perangkat lunak itu sendiri dalam upaya mengembangkan, memelihara, serta membangun kembali dengan menggunakan prinsip rekayasa untuk dapat menghasilkan perangkat lunak yang bisa bekerja lebih efisien serta efektif untuk user.
Kriteria Merekayasa Perangkat Lunak
Kriteria yang bisa digunakan sebagai acuan didalam merekayasa perangkat lunak, meliputi antara lain:
- Dapat terus dirawat dan dipelihara(maintainability)
- Dapat mengikuti perkembangan teknologi(dependability)
- Dapat mengikuti keinginan pengguna(robust)
- Efektif dan efisien dalam menggunakan energi dan penggunaannya
- Dapat memenuhi kebutuhan yang diinginkan(usability)
Tujuan Rekayasa Perangkat Lunak (RPL)
Adapun Tujuan Rekayasa Perangkat lunak ini diantaranya :
- Mendapatkan biaya produksi perangkat lunak yang kecil.
- Menghasilkan perangkat lunak yang efektif dan efisien
- Menghasilkan perangkat lunak yang bisa bekerja pada berbagai jenis platform
- Perawatan perangkat lunak yang rendah
Ruang Lingkup Rekayasa Perangkat Lunak
- Software Requirements berhubungan dengan spesifikasi kebutuhan serta persyaratan perangkat lunak.
- Software desain meliputi proses penampilan arsitektur, komponen, interface, sertakarakteristik lain dari perangkat lunak.
- Software construction berinteraksi dengan detailnya dalam pengembangan suatu perangkat lunak, termasuk didalamnya algoritma, coding , pengujian serta juga pencarian kesalahan.
- Software testing melingkupi pengujian pada keseluruhan perilaku perangkat lunak.
- Software maintenance tersebut mencakup upaya-upaya perawatan pada saat perangkat lunak sudah dioperasikan.
- Software configuration management berinteraksi dengan suatu upaya perubahan konfigurasi suatu perangkat lunak untuk bisa memenuhi kebutuhan .
- Software engineering management berhubungan dengan pengelolaan serta pengukuran rekayasa perangkat lunak(RPL), termasuk didalamnya perencanaan proyek perangkat lunak(PL).
- Software engineering tools and methods tersebut meliputi kajian teoritis mengenai alat bantu dan juga metode RPL.
Perkembangan Rekayasa Perangkat Lunak
Walaupun baru dicetuskan ditahun 1968, tetapi RPL ini sudah mempunyai sejarah yang cukup yang panjang. Dari sisi disiplin ilmu, RPL masih reklatif muda serta juga akan terus berkembang.
Arah perkembangan yang saat ini sedang dikembangkan antara lain meliputi :
Tahun |
Kejadian |
1940an | Komputer pertama yang membolehkan pengguna menulis kode program langsung |
1950an | Generasi awal interpreter dan bahasa macro Generasi pertama compiler |
1960an | Generasi kedua compiler Komputer mainframe mulai dikomersialkan Pengembangan perangkat lunak pesanan
Konsep Software Engineering mulai digunakan |
1970an | Perangkat pengembang perangkat lunak Perangkat minicomputer komersial |
1980an | Perangkat Komputer Personal (PC) komersial Peningkatan permintaan perangkat lunak |
1990an | Pemrograman berorientasi obyek (OOP) Agile Process dan Extreme Programming Peningkatan drastis kapasitas memoriPeningkatan penggunaan internet |
2000an | Platform interpreter modern (Java, .Net, PHP, dll) Outsourcing |
Faktor-Faktor Rekayasa Perangkat Lunak
Segala macam faktor yang memengaruhi perncanaan, manajemen, serta juga pemilihan aktivitas SQM dan juga teknik-teknik adalah sebagai berikut:
- Daerah system yang akan ditempati perangkat lunak (mission-critical, safety-critical serta business critical),
- Kebutuhan system dan juga perangkat lunak,
- Komponen komersial (eksternal) atau pun standar (internal) untuk dipakai di dalam sistem,
- Standar rekayasa perangkat lunak spesifik yang bisa diterapkan,
- Metode serta tool perangkat lunak yang dipakai untuk pengembangan serta pemeliharaan, dan juga untuk peningkatan serta evaluasi kualitas,
- Anggaran, staf, rencana, organisasi proyek, serta juga penjadwalan dari seluruh proses-proses,
- Pengguna yang diharapkan serta penggunaan system, dan
- Tingkat integritas system.
Aspek Rekayasa Perangkat Lunak
Langkah-langkah yang dibutuhkan guna menggambarkan sebuah awal proyek dilakukan yakni dengan menggambarkan peluang proyeknya, penyediaan uraian latar belakang yang menerapkan kebutuhan pada proyek, serta kemudian menggambarkan tujuan untuk proyek. Setelah mengidentifikasi stakeholder serta juga sumber daya yang tersedia, seseorang itu kemudian harus mengidentifikasi proyek yang terkait yang kemudian akan memengaruhi atau juga dipengaruhi oleh proyek di dalam pertimbangan.
Seseorang kemudian mengidentifikasi kriteria-kriteria di dalam memutuskan apakah suatu proyek itu baik, pemahamannya mencakup batasan proyek, asumsi, serta risiko, seperti halnya implikasi seperti batasan serta juga asumsi untuk risiko proyek. Manajemen proyek tersebut bisa atau dapat digambarkan yakni sebagai sekumpulan prinsip, metode, alat, serta juga teknik untuk perencanaan, penempatan pekerja, pengorganisasian, pengarahan, serta juga pengendalian aktivitas yang berhubungan dengan proyek guna mencapai tujuan proyek di dalam waktu, di bawah biaya, serta batasan kinerja.
Aktivitas manajemen proyek tersebut bisa atau dapat digolongkan menurut tahapan proyek, diantaranya sebagai berikut :
- Konsepsi proyek
Tujuan dari tahap konseptual ini merupakan untuk menentukan kelayakan proyek. Sasaran tersebut akan diuji di dalam konteks lingkungan bisnis, cara alternative itu kemudian akan ditetapkan serta dievaluasi, dan juga perkiraan persiapan biaya, jadwal, serta risiko yang dikerjakan kemudian akan ditentukan. Puncak dari tahap ini merupakan suatu keputusan, misalnya keputusan di dalam meneruskan proyek. - Perencanaan
Kinerja, biaya, serta perkiraan jadwal ditentukan sampai batas pemerincian rencana di dalam pelaksanaan proyek tersebut bisa atau dapat dibuat. Anggaran serta jadwal itu kemudian akan dikembangkan, tim proyek dibentuk, serta juga system manajemen proyek dibentuk di dalam memandu manajemen proyek. - Eksekusi
Manajer proyek itu akan bertanggung jawab di dalam mengatur sumber daya yang diperlukan guna memenuhi sasaran. Penekanan dari tanggung jawab bergeser dari perencanaan untuk control. - Terminasi
Tahap ini dapat/bisa dipicu dengan terminasi premature atau juga dengan pencapaian kesuksesan dari tujuan.
Tahapan Rekayasa Perangkat Lunak
Berikut dibawah ini ada beberapa tahapan rekayasa perangkat lunak, antara lain ialah sebagai berikut :
1. Analisis
Analisis sistem ini merupakan sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi komponen-komponennya dengan tujuan mempelajari seberapa bagus komponen-komponen itu bekerja serta berinteraksi di dalam meraih tujuan mereka.
Analisis ini mungkin merupakan bagian terpenting dari proses rekayasa perangkat lunak. Disebabkan karna seluruh proses lanjutan tersebut akan sangat bergantung dibaik tidaknya hasil analisis. Terdapat satu bagian penting yang biasanya dilakukan di dalam tahapan analisis yaki pemodelan proses bisnis.
Model proses ini merupakan model yang memfokuskan di seluruh proses di dalam sistem yang mentransformasikan data menjadi informasi (Harris, 2003). Model proses tersebut juga menunjukkan aliran data yang masuk serta juga keluar disuatu proses. Biasanya model tersebut digambarkan di dalam bentu Diagram Arus Data (Data Flow Diagram / DFD). DFD meyajikan gambaran apa yang manusia, proses serta juga prosedur lakukan guna mentransformasi data menjadi informasi.
2. Desain
Desain perangkat lunak ini merupakan tugas, tahapan atau juga aktivitas yang difokuskan dispesifikasi detil dari solusi berbasis computer (Whitten et al, 2004). Disain perangkat lunak tersebut sering juga disebut yakni sebagai physical design. Jika tahapan analisis sistem tersebut menekankan pada masalah bisnis (business rule), maka sebaliknya disain perangkat lunak ini berfokus pada sisi teknis serta juga implementasi sebuah perangkat lunak (Whitten et al, 2004).
3. Konstruksi
Konstruksi ini merupakan tahapan menerjemahkan hasil disain logis serta juga fisik ke dalam kode-kode program computer. Buku ini sebagian besar berisi tentang bagian ini.
4. Pengujian
Pengujian sistem ini melibatkan seluruh kelompok pengguna yang telah atau sudah direncanakan pada tahap sebelumnya. Pengujian tingkat penerimaan terhadap perangkat lunak tersebut akan berakhir pada saat dirasa seluruh kelompok pengguna menyatakan bisa atau dapat menerima perangkat lunak itu dengan berdasarkan kriteria–kriteria yang sudah ditetapkan.
5. Perawatan dan Konfigurasi
Pada saat sebuah perangkat lunak telah atau sudah dianggap layak di dalam dijalankan, maka tahapan baru tersebut menjadi muncul yakni perawatan perangkat lunak.
Terdapat beberapa tipe perawatan yang biasa dikenal di dalam dunia perangkat lunak ialah seperti :
- Tipe perawatancorrective ini dilakukan apabila terjadi kesalahan atau juga biasa dikenal yakni sebagai bugs. Perawatan tersebut dapat atau bisa dilakukan dengan memperbaiki kode program, menambah bagian yang dirasa perlu atau pun justru malah menghilangkan bagian-bagian tertentu.
- Tipe perawatanroutine ini biasa juga disebut dengan preventive maintenance dilakukan secara rutin guna melihat kinerja perangkat lunak ada atau juga tidak ada kesalahan.
- Tipe perawatan sistemupgrade ini dilakukan apabila terdapat perubahan dari komponen-komponen yang terlibat di dalam perangkat lunak tersebut. Sebagai salah satu contoh perubahan pada platform sistem operasi dari versi lama kepada versi baru itu menyebabkan perangkat lunak tersebut harus diupgrade.
Sekian dan terimakasih sudah membaca mengenai Pengertian Rekayasa Perangkat Lunak ,tujuan rekayasa perangkat lunak , ruang lingkup rekayasa perangkat lunak . semoga dapat bermanfaat untuk anda , salam hangat dari Pendidikanku.org