180 likes | 516 Views
Pengenalan Rekayasa Perangkat Lunak. Definisi. Rekayasa Perangkat Lunak = Software Engineering Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer, padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.
E N D
Definisi • Rekayasa Perangkat Lunak = Software Engineering • Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer, padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.
Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. • Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999).
Suatu disiplin ilmu yang membahas tentang semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna design, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.
Pernyataan “semua aspek produksi” pada pengertian di atas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.
Dari Gambardiatasdapatdiartikanbahwabidangrekayasaakanselaluberusahamenghasilkan output yang kinerjanyatinggi, biayarendahdanwaktupenyelesaian yang tepat. Secaralebihkhususkitadapatmenyatakantujuan RPL adalah : • Memperolehbiayaproduksiperangkatlunak yang rendah. • Menghasilkanperangkatlunak yang kinerjanyatinggi, andaldantepatwaktu. • Menghasilkanperangkatlunak yang dapatbekerjapadaberbagaijenis platform. • Menghasilkanperangkatlunak yang biayaperawatannyarendah.
Ruang Lingkup(Abran et.al., 2004). • Sesuai definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut.
Software requirements berhubungandenganspesifikasikebutuhandanpersyaratanperangkatlunak. • Software design mencakupprosespenentuanarsitektur, komponen, antarmuka, dankarakteristik lain dariperangkatlunak. • Software construction berhubungandengandetilpengembanganperangkatlunak, termasukalgoritma, pengkodean, pengujian, danpencariankesalahan. • Software testing meliputipengujianpadakeseluruhanperilakuperangkatlunak.
Software maintenance mencakupupaya-upayaperawatanketikaperangkatlunaktelahdioperasikan • Software configuration management berhubungandenganusahaperubahankonfigurasiperangkatlunakuntukmemenuhikebutuhantertentu. • Software engineering management berkaitandenganpengelolaandanpengukuran RPL, termasukperencanaanproyekperangkatlunak.
Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL. • Software engineering process berhubungan dengan definisi, implementasi, pengukuran, pengelolaan, perubahan dan perbaikan proses RPL. • Software quality menitikberatkan pada kualitas dan daur hidup perangkat lunak.
Proses Perangkat Lunak • Sekumpulan aktifitas yang memiliki tujuan untuk pengembangan ataupun evolusi perangkat lunak. • Aktifitas generic dalam semua proses perangkat lunak adalah: • Spesifikasi apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya • Pengembangan proses memproduksi sistem perangkat lunak • Validasi pengujian perangkat lunak terhadap keinginan penggunak • Evolusi perubahan perangkat lunak berdasarkan perubahan keinginan.
Contoh Jenis Model Proses PL • Model aliran kerja (workflow) menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia. • Model aliran data (data flow) merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain.
3. Model peran/aksi merepresentasikan peran orang yang terlibat pada PL dan kegiatan yg menjadi tanggung jawab mereka.
Model atau paradigma umum pada proses PL • Model air terjun (waterfall) Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
2. Pengembangan evolusioner Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan.
Pengembangan Sistem Formal Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program. 4. Pengembangan berdasarkan pemakaian ulang (Reusable) Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.