Anda di halaman 1dari 28

Pendahuluan

By M. Ainul Yaqin, S.Si, M.Kom


Definisi Rekayasa Perangkat Lunak
• Penerapan dari pendekatan yang sistematis, disiplin dan terinci pada
pengembangan, operasi, dan pemeliharaan perangkat lunak yaitu
penerapan rekayasa perangkat lunak
• Studi pendekatan pada penerapan di atas.
Profesi apa yang diakui ?
• Menurut P. Starr dalam bukunya “The Social Transformation of
American Medicine” terbitan Basic Books tahun 1982 halaman 15 :
“Legitimasi otoritas profesional melibatkan tiga pernyataan yang
berbeda: pertama, bahwa pengetahuan dan kompetensi profesional telah
disahkan oleh komunitas atau rekan-rekannya, kedua, bahwa
pengetahuan secara kesepakatan divalidasi bersandar pada rasional,
alasan ilmiah; dan ketiga, bahwa penilaian profesional dan saran yang
berorientasi pada seperangkat nilai-nilai substantif, seperti kesehatan.
Aspek-aspek legitimasi ini sesuai dengan jenis atribut-kolegial, kognitif,
dan moral-biasanya diwujudkan dalam istilah "profesi”.”
Karakteristik Profesi
• Gary Ford dan Norman Gibbs mempelajari beberapa profesi yang diakui,
termasuk kedokteran, hukum, teknik, dan akuntansi. Mereka
menyimpulkan bahwa profesi rekayasa ditandai oleh beberapa
komponen:
– Sebuah pendidikan profesional awal dalam kurikulum divalidasi oleh
masyarakat melalui akreditasi
– Registrasi kemampuan pada prakteknya melalui sertifikasi mandiri dan
lisensi wajib
– Keterampilan pengembangan dan pendidikan profesional yang berkelanjutan
terspesialisasi.
– Dukungan komunal melalui masyarakat profesional
– Komitmen terhadap norma-norma perilaku sering ditentukan dalam kode etik
Area Pengetahuan SWEBOK
• Kebutuhan perangkat lunak
• Rancangan perangkat lunak
• Konstruksi perangkat lunak
• Pengujian perangkat lunak
• Pemeliharaan perangkat lunak
• Manajemen konfigurasi perangkat lunak
• Manajemen rekayasa pernagkat lunak
• Proses rekayasa perangkat lunak
• Metode dan peralatan rekayasa perangkat lunak
• Kualitas perangkat lunak
Disiplin ilmu yang terkait
• Teknik Komputer
• Ilmu Komputer
• Manajemen
• Matematika
• Manajemen Proyek
• Manajemen Mutu
• Ergonomis Perangkat Lunak
• Rekayasa Sistem
5 Area pengetahuan pertama
6 Area pengetahuan kedua
Kebutuhan perangkat lunak
• Kebutuhan didefinisikan sebagai properti yang harus ditampilkan untuk
memecahkan beberapa masalah dunia nyata.
• Terdiri dari sub area :
– Kebutuhan perangkat lunak fundamental :Ini tidak hanya mencakup definisi
persyaratan perangkat lunak sendiri, tetapi juga dari sebagian besar
kebutuhan : produk vs proses, fungsional vs nonfunctional, properti-properti
penting. Sub area ini juga menjelaskan tentang pentingnya kebutuhan yang
terinci dan membedakan antara kebutuhan sistem dan perangkat lunak.
– Proses kebutuhan, yang memperkenalkan proses itu sendiri, berorientasi lima
subareas tersisa dan menunjukkan bagaimana kebutuhan rekayasa mengikuti
proses rekayasa perangkat lunak lainnya. Ini menggambarkan model proses,
pelaku proses, manajemen dan pendukung proses, serta peningkatan kualitas
dan proses.
Kebutuhan perangkat lunak
– Elisitasi kebutuhan, yang berkaitan dengan dari mana kebutuhan perangkat
lunak berasal dan bagaimana mereka dikumpulkan. Ini termasuk sumber
kebutuhan dan teknik elisitasi
– Analisis kebutuhan, berkaitan dengan proses menganalisa kebutuhan untuk :
• Mendeteksi dan menyelesaikan konflik antara kebutuhan
• Menemukan batas-batas perangkat lunak dan bagaimana harus berinteraksi dengan
lingkungannya
• Menyesuaikan kebutuhan sistem dengan kebutuhan perangkat lunak
Kebutuhan meliputi klasifikasi analisis kebutuhan, pemodelan konseptual,
desain arsitektur dan alokasi kebutuhan, dan negosiasi kebutuhan
– Spesifikasi kebutuhan, spesifikasi kebutuhan biasanya mengacu pada
produksi dokumen, atau setara elektronik, yang dapat secara sistematis
ditinjau, dievaluasi, dan disetujui. Untuk sistem yang kompleks, terutama
yang melibatkan non-komponen perangkat lunak substansial, sebanyak tiga
jenis dokumen yang dihasilkan: definisi sistem, spesifikasi kebutuhan sistem,
dan spesifikasi kebutuhan perangkat lunak.
Kebutuhan perangkat lunak
– Validasi kebutuhan, validasi kebutuhan berkaitan dengan proses pemeriksaan
dokumen kebutuhan untuk memastikan bahwa mereka mendefinisikan sistem
yang tepat (yaitu, sistem yang diharapkan oleh pengguna). Hal ini dibagi
menjadi pelaksanaan pengkajian kebutuhan, prototyping, dan validasi model
serta penerimaan pengujian.
– Pertimbangan praktis, ini menggambarkan topik yang perlu dipahami dalam
praktek. Topik pertama adalah sifat iteratif dari proses kebutuhan. Tiga topik
berikutnya pada dasarnya adalah tentang manajemen perubahan dan
pemeliharaan kebutuhan dalam sebuah keadaan yang secara akurat
mencerminkan perangkat lunak yang akan dibangun, atau yang telah
dibangun. Hal ini meliputi manajemen perubahan, atribut kebutuhan, dan
pelacakan kebutuhan. Topik terakhir adalah pengukuran persyaratan.
Perancangan perangkat lunak
• Perancangan adalah proses mendefinisikan arsitektur, komponen,
interface, dan karakteristik lain dari sistem atau komponen, dan hasil dari
proses tersebut.
• Perancangan perangkat lunak dibagi menjadi 6 sub area, yaitu :
– Dasar perancangan perangkat lunak
• Konsep perangkat lunak secara umum
• Konteks perancangan perangkat lunak
• Proses perancangan perangkat lunak
• Memungkinkan teknik untuk peracangan perangkat lunak
– Isu utama dalam perancangan perangkat lunak
Meliputi concurrency, control dan penanganan kejadian, distribusi
komponen, penanganan error and exception dan toleransi kegagalan,
interaksi dan presentasi, data persistence.
Perancangan perangkat lunak
– Arsitektur dan struktur perangkat lunak
• Sudut pandang dan struktur arsitektural
• Gaya arsitektural
• Pola perancangan
• Kelompok program dan kerangka kerja
– Analisis dan evaluasi kualitas perancangan perangkat lunak
• Atribut-atribut kualitas
• Analisis kualitas
• Teknik dan pengukuran evaluasi
– Notasi perancangan perangkat lunak
Deskripsi kelakuan dan struktural
– Metode dan strategi perancangan perangkat lunak
Menggambarkan strategi umum, kemudian diikuti oleh metode perancangan
berorientasi fungsi, metode perancangan berorientasi objek, perancangan
struktur data terpusat, perancangan berbasis komponen, dan lain-lain.
Konstruksi perangkat lunak
• Konstruksi perangkat lunak mengacu pada detail penciptaan kerja,
perangkat lunak yang berarti melalui sebuah kombinasi pengkodean,
verifikasi, pengujian unit, pengujian integrasi, dan debugging.
• Konstruksi perangkat lunak meliputi tiga sub area :
– Dasar konstruksi perangkat lunak
• Meminimalkan kompleksitas
• Antisipasi perubahan
• Mengkonstruksi untuk diverifikasi
– Pengelolaan konstruksi
• Model konstruksi
• Perencanaan konstruksi
• Pengukuran konstruksi
Konstruksi perangkat lunak
– Pertimbangan praktis
• Rancangan konstruksi
• Bahasa konstruksi
• Pengkodean
• Pengujian konstruksi
• Penggunaan kembali (reuse)
• Kualitas konstruksi
• integrasi
Pengujian perangkat lunak
• Pengujian perangkat lunak terdiri dari verifikasi dinamis dari kelakuan
program pada sekumpulan test case, pemilihan yang sesuai dari domain
eksekusi yang biasanya tidak terbatas, terhadap kelakuan yang
diharapkan.
• Pengujian perangkat lunak terdiri dari lima sub area :
– Dasar pengujian perangkat lunak
• Menampilkan terminologi yang berhubungan dengan pengujian
• Menjelaskan isu kunci pengujian
• Hubungan pengujian dan aktifitas lain ter-cover
– Tingkat pengujian
• Sasaran pengujian
• Tujuan pengujian
Pengujian perangkat lunak
– Teknik pengujian
• Kategori yang pertama meliputi pengujian yang berbasis pada intuisi dan
pengalaman penguji
• Kelompok yang kedua terdiri dari teknik berbasis spesifikasi, teknik berbasis
kode, teknik berbasis kegunaan, dan teknik yang berhubungan dengan sifat alami
dari aplikasi
• Pembahasan bagaimana memilih dan mengkombinasikan teknik yang sesuai juga
ditampilkan.
– Pengukuran yang berhubungan dengan pengujian
• Pengukuran dikelompokkan ke dalam sesuatu yang berhubungan dengan evaluasi
program yang sedang diuji dan evaluasi terhadap pengujian yang sedang dilakukan
– Proses pengujian dan termasuk pertimbangan praktis dan aktifitas pengujian.
Perawatan perangkat lunak
• Sekali dioperasikan, anomali terungkap, lingkungan operasi berubah, dan
timbul kebutuhan pengguna baru
• Perawatan perangkat lunak terdiri dari empat area
– Dasar perawatan perangkat lunak
• Definisi dan terminologi
• Sifat-sifat alami perawatan
• Kebutuhan perawatan terutama kebutuhan biaya perawatan
• Evolusi perangkat lunak
• Kategori perawatan
– Isu kunci dalam perawatan perangkat lunak
• Isu teknis
• Isu manajemen
• Perkiraan biaya perawatan
• Pengukuran perawatan perangkat lunak
Perawatan perangkat lunak
– Proses perawatan
• Aktifitas dan proses perawatan
– Teknik perawatan
• Penguasaan program
• Re-engineering
• Reverse engineering
Manajemen konfigurasi perangkat lunak
• Manajemen konfigurasi perangkat lunak adalah disiplin yang
mengidentifikasi konfigurasi perangkat lunak pada titik-titik berbeda
dalam waktu yang berguna untuk mengendalikan perubahan konfigurasi
dan menjaga integritas dan konfigurasi yang dapat dilacak di seluruh
siklus hidup sistem.
• Manajemen konfigurasi perangkat lunak terdiri dari enam sub area :
– Manajemen proses SCM
• Konteks organisasional untuk SCM
• Batasan dan petunjuk untuk SCM
• Perencanaan SCM
• Perencanaan SCM itu sendiri
• Pengawasan SCM
Manajemen konfigurasi perangkat lunak
– Identifikasi konfigurasi perangkat lunak
• Mengidentifikasi item-item yang akan dikendalikan
• Menetapkan skema identifikasi untuk item-item dan versi-versinya
• Menetapkan peralatan-peralatan dan teknik-teknik yang digunakan untuk
mendapatkan dan mengelola item-item yang dikendalikan
– Pengendalian konfigurasi perangkat lunak
• Meminta, mengevaluasi, dan menyetujui perubahan perangkat lunak
• Menerapkan perubahan perangkat lunak
• Penyimpangan dan keringanan
– Akuntansi status konfigurasi perangkat lunak
• Informasi status konfigurasi perangkat lunak dan pelaporan status konfigurasi
perangkat lunak
Manajemen konfigurasi perangkat lunak
– Audit konfigurasi perangkat lunak
• Mengaudit konfigurasi fungsional perangkat lunak
• Mengaudit konfigurasi fisik perangkat lunak
• Garis besar proses audit perangkat lunak
– Penyampaian dan manajemen rilis perangkat lunak
• Manajemen pembangunan dan rilis perangkat lunak
Manajemen rekayasa perangkat lunak
• Pengukuran dan manajemen perangkat lunak
• Ada enam sub area dalam manajemen rekayasa perangkat lunak:
– Inisiasi dan definisi lingkup
• Penentuan dan negosiasi kebutuhan
• Analisis kelayakan
• Proses peninjauan dan revisi kebutuhan
– Perencanaan proyek perangkat lunak
• Perencanaan proses
• Penentuan penyampaian
• Usaha
• Perkiraan jadwal dan biaya
• Alokasi sumber daya
• Manajemen risiko
• Manajemen kualitas
• Manajemen rencana
Manajemen rekayasa perangkat lunak
– Pengesahan proyek perangkat lunak
• Implementasi rencana
• Manajemen kontrak pemasok
• Implementasi proses pengukuran
• Proses pemantauan
• Proses pengendalian
• Pelaporan
– Peninjauan kembali dan evaluasi
• Menentukan kepuasan kebutuhan dan meninjau kembali dan mengevaluasi kinerja
– Penutupan
– Pengukuran rekayasa perangkat lunak
• Membuat dan mempertahankan komitmen pengukuran
• Perencanaan proses pengukuran
• Melakukan proses pengukuran
• Pengukuran dan evaluasi
Proses rekayasa perangkat lunak
• Berkaitan dengan definisi, implementasi, penilaian, pengukuran,
manajemen, perubahan, dan perbaikan dari proses rekayasa perangkat
lunak itu sendiri.
• Terdiri dari empat sub area :
– Proses implementasi dan perubahan
• Infrastruktur proses
• Siklus manajemen proses perangkat lunak
• Model implementasi dan perubahan proses
• Pertimbangan praktis
– Definisi proses
• Model siklus hidup perangkat lunak
• Proses siklus hidup perangkat lunak
• Notasi untuk definisi proses
• Adaptasi proses
• Otomasi
Proses rekayasa perangkat lunak
– Penilaian proses
• Model dan penilaian penilaian proses
– Pengukuran produk dan proses
• Pengukuran produk perangkat lunak
• Kualitas hasil pengukuran
• Model informasi perangkat lunak
• Teknik proses pengukuran
Metode dan peralatan rekayasa perangkat
lunak
• Isu berbagai macam alat
• Teknik integrasi alat
• Metode heuristik yang berhubungan dengan pendekatan informal
• Metode formal yang berhubungan dengan pendekatan berbasis matematis
• Metode prototyping yang berhubungan dengan pendekatan
pengembangan perangkat lunan berbasis pada berbagai macam bentuk
prototyping.
Kualitas perangkat lunak
• Terdiri dari tiga sub area :
– Dasar kualitas perangkat lunak
• Budaya dan etika rekayasa perangkat lunak
• Nilai dan biaya kualitas
• Model dan karakteristik kualitas
• Peningkatan kualitas
– Proses manajemen kualitas perangkat lunak
• Jaminan kualitas perangkat lunak
• Verifikasi dan validasi
• Review dan audit
– Pertimbangan praktis
• Kebutuhan kualitas perangkat lunak
• Karakterisasi cacat
• Teknik manajemen kualitas perangkat lunak
• Pengukuran kualitas perangkat lunak

Anda mungkin juga menyukai