Rekayasa perangkat lunak (RPL, atau dalam bahasa
Inggris: Software Engineering atau SE) adalah satu bidang
profesi yang mendalami cara-cara pengembangan perangkat
lunak termasuk pembuatan,
pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen
kualitas.
IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai
penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas
pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas
pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.[1]
rekayasa perangkat lunak adalah pengubahan perangkat lunak itu sendiri
guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan
prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih
efisien dan efektif untuk pengguna.
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)[2Sejarah
Istilah software engineering, pertama kali digunakan pada akhir tahun
1950-an dan sekitar awal 1960-an. Pada tahun 1968, NATOmenyelenggarakan
konferensi tentang software engineering di Jerman dan kemudian dilanjutkan pada tahun
1969. Meski penggunaan kata software engineering masukan konferensi tersebut menimbulkan debat
tajam tentang aspek engineering dari pengembanganperangkat lunak, banyak pihak yang menganggap konferensi
tersebutlah yang menjadi awal tumbuhnya profesi rekayasa perangkat lunak
Rekayasa perangkat lunak adalah
pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan
membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan
perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
Perangkat lunak adalah istilah umum untuk data yang
diformat dan disimpan secara digital, termasuk program komputer,
dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh
komputer
Jenis-jenis perangkat lunak:
• Perangkat lunak sistem (system
software)
• Perangkat lunak waktu nyata (real-time
software)
• Perangkat lunak bisnis (business
software)
• Perangkat lunak rekayasa dan
ilmu pengetahuan (engineering and scientific software)
• Embedded Software
• Perangkat lunak pribadi (personal
software)
Perangkat lunak yang berkualitas
• Perangkat lunak yang dihasilkan sesuai dengan kebutuhan yang diinginkan.
• Perangkat lunak dapat digunakan dan beroperasi
dengan benar di lingkungan
sebenarnya.
• Perangkat lunak memberikan manfaat bagi pemakai yang menggunakannya.
• Tepat waktu, baik
saat pembuatan, penyerahan ke pemakai, maupun instalasinya.
• Setiap
tahap pekerjaan terjamin
kualitasnya, terdokumentasi,
dandapat dipertanggungjawabkan kebenarannya (ada proses verifikasi dan validasi).
Proses utama pembuatan sofware
• Akuisisi (Acquisition)
• Pasokan (Supply)
• Pengembangan (Development)
• Pengoperasian (Operation)
Pemeliharaan (Maintenance)
Fase analisis system
1.
Menggambarkan kebutuhan sistem
2.
Membangun dasar bagi pembuatan desain sistem informasi
3.
Membatasi serangkaian persyaratan yg dapat divalidasi setelah
sistem terbangun
Elemen model analisis
Data Dictionary : deskripsi semua objek data
Entity-Relationship Diagram : menggambarkan
hubungan antar objek
Data Flow Diagram
: melayani 2 tujuan
- Indikasi data ditransformasikan
pd saat data bergerak melalui sistem
- menggambarkan fungsi-fungsi yg
mentransformasi aliran data
DFD data bergerak
dari input menjadi output.
ERD
Objek Data :
Adalah representasi dari hampir semua informasi yg harus dipahami
oleh sistem atau perangkat lunak Dapat berupa entitas eksternal, suatu
benda, peristiwa, unit organisasi, tempat.
Contoh:
Orang atau mobil dapat dipandang sebagai sebuah objek data jika dapat
didefinisikan dalam bentuk atribut
ERD
Model data terdiri dari tiga informasi yg saling tergantung : Objek data, atribut yg menggambarkan objek data tersebut,
serta relasi yg menghubungkan objek data yg satu
dengan yg lain
Phases of the
Systems Development Life cycle
• Project planning:Inisiasi,
kelayakan, penjadwalan, persetujuan akan proyek
• Analysis:
mengerti kebutuhan bisnis dan kebutuhan pemrosesan
• Design:
pendefinisian solusi sistem didasarkan pada kebutuhan-kebutuhan dan hasil
analisis
• Implementation:
konstruksi, pengujian, pelatihan, dan pemasangan sistem yg baru
• Support:
mempertahankan sistem tetap berjalan dg baik dan melakukan perbaikan sprlunya
Project planning
• Pendefinisian masalah dan
batasan
• Pembuatan jadwal proyek secara
rinci
• Konfirmasi kelayakan proyek :
• Ekonomi, organisasi, teknis,
sumber daya dan jadwal
• Staff proyek
• Proyek dijalankan
Struktur analisis
• Pendefinisian apa yg diperlukan
sistem (processing requirements)
• Pendefinisian kebutuhan data
untuk disimpan dan digunakan (data requirements)
• Mendefinisikan masukan dan
keluaran
• Mendefinisikan fungsi-fungsi yg
bekerja bersama-sama untuk menyelesaikan tugas-tugas sistem
• Data flow diagram dan entity
relationship diagram menggambarkan hasil dari analisis terstruktur
Pemodelan
• Seorang analist menggambarkan
kebutuhan-kebutuhan sistem menggunakan kumpulan dari model
• Sistem yg kompleks membutuhkan
lebih dari satu jenis model
• Model merepresentasikan
beberapa aspek dari sistem yg akan dibangun
• Proses dalam pembuatan model
membantu seorang analist dalam menghaluskan rancangan sistem
• Model akan menjadi sarana
komunikasi dengan user-user
Type model.
Perbedaan tipe model yg digunakan dalam pegembangan sistem
informasi
• Mathematical – formula yg
menggambarkan aspek teknis dari sistem
• Descriptive – memo,
laporan-laporan, atau daftar yg menggambarkan aspek sistem
• Graphical – diagram dan
representasi semantik dari beberapa aspek sistem
Pemodelan
• Seorang analist menggambarkan
kebutuhan-kebutuhan sistem menggunakan kumpulan dari model
• Sistem yg kompleks membutuhkan
lebih dari satu jenis model
• Model merepresentasikan
beberapa aspek dari sistem yg akan dibangun
• Proses dalam pembuatan model
membantu seorang analist dalam menghaluskan rancangan sistem
• Model akan menjadi sarana
komunikasi dengan user-user
Makna Elemen data yg didefinisikan dalam kamus data :
• Menggambarkan arti dari flows dan stores dalam DFD
• Menggambarkan komposisi data yg
berpindah sepanjang aliran
• Menggambarkan komposisi data yg
disimpan
• Menggambarkan secara detil
relasi di antara stores yg penting dalam ERD