Pertemuan 3 - RPL
1.
REKAYASA KEBUTUHAN
• Kebutuhan untuk suatu sistem adalah
deskripsi tentang apa yang harus dilakukan oleh sistem berupa layanan yang
diberikan dan kendala dalam operasinya.
• Kebutuhan ini mencerminkan kebutuhan
pelanggan untuk sistem yang melayani tujuan tertentu seperti mengontrol
perangkat, menempatkan pesanan, atau mencari informasi.
• Proses mencari tahu, menganalisis,
mendokumentasikan serta memeriksa layanan dan kendala ini disebut Rekayasa
Kebutuhan (Requirement Engineering).
• Rekayasa Kebutuhan harus disesuaikan dengan
kebutuhan proses, proyek, produk, dan orang-orang yang melakukan
pekerjaan.
Jenis Kebutuhan:
1. Kebutuhan pengguna adalah pernyataan, dalam
bahasa alami ditambah diagram, dari layanan apa yang diharapkan sistem untuk
diberikan kepada pengguna sistem dan kendala di mana ia harus beroperasi.
2. Kebutuhan sistem adalah deskripsi yang
lebih rinci tentang fungsi, layanan, dan kendala operasional sistem perangkat
lunak. Dokumen Kebutuhan sistem (kadang-kadang disebut spesifikasi fungsional)
harus mendefinisikan secara tepat apa yang akan diimplementasikan. Ini mungkin
menjadi bagian dari kontrak antara pembeli sistem dan pengembang perangkat
lunak.
Kegiatan pada Rekayasa Kebutuhan: Pengenalan
Permasalahan (Inception), Pengenalan Lanjutan (Elicitation), Elaborasi
(Elaboration), Negosiasi, Spesifikasi (Specification), Validasi (Validation),
Manajemen Kebutuhan (Requirement Management),
A.
Pengenalan Permasalahan (Inception)
• Proyek PL dimulai
ketika kebutuhan bisnis atau pasar atau layanan baru telah diidentifikasi atau
ditemukan
• Menetapkan pemahaman dasar tentang masalah, siapa yang menginginkan solusi,
sifat solusi, serta keefektifan komunikasi dan kolaborasi antara stakeholder
dengan tim PL.
B.
Pengenalan Lanjutan (Elicitation)
• Bagian penting dari elisitasi adalah untuk
menetapkan tujuan bisnis.
• Masalah yang sering dijumpai:
✓ Lingkup permasalahan: tentang batasan sistem
tidak jelas atau rincian teknis yang membingungkan
✓ Permasalahan yang berkaitan dengan pemahaman
✓ Permasalahan yang berkaitan dengan kestabilan
Kegiatan pada tahap ini adalah:
1. Kebutuhan penemuan
adalah proses pengumpulan informasi tentang
sistem yang diperlukan dan sistem yang ada, filterisasi pengguna dan kebutuhan
sistem. Sumber informasi selama tahap penemuan kebutuhan termasuk dokumentasi,
stakeholder, dan spesifikasi sistem.
2. Klasifikasi Kebutuhan dan
Organisasi
Kegiatan ini mengumpulkan kebutuhan yang tidak
terstruktur dan kebutuhan kelompok yang bersifat koheren. Cara pengelompokkan
kebutuhan menggunakan model arsitektur sistem untuk mengidentifikasi sub-sistem
dan untuk menghubungkan kebutuhan dengan masingmasing sub-sistem.
3. Kebutuhan Prioritas dan
Negosiasi
Kegiatan ini berkaitan dengan memprioritaskan
kebutuhan dan menemukan cara penyelesaian konflik melalui negosiasi.
C.
Elaborasi (Elaboration)
Elaborasi dilakukan dengan cara membuat dan
penyempurnaan skenario pengguna yang menggambarkan bagaimana pengguna akhir
(dan aktor lain) akan berinteraksi dengan sistem.
D.
Negosiasi
Konflik yang terjadi antara pelanggan,
pengguna dan stakeholder harus didamaikan dengan pendekatan yang bersifat
iteratif untuk menentukan skala prioritas kebutuhan, menilai biaya-biaya dan
risiko masingmasing.
E.
Spesifikasi (Specification)
• Spesifikasi kebutuhan adalah proses
menuliskan kebutuhan pengguna dan kebutuhan sistem ke dalam dokumen kebutuhan.
• Spesifikasi dapat berupa dokumen tertulis,
model grafis, model matematika formal, kumpulan skenario penggunaan sistem/PL,
prototipe, atau kombinasi dari semuanya.
• Kebutuhan pengguna menggambarkan kebutuhan
fungsional dan non-fungsional sehingga dapat dimengerti oleh pengguna sistem
(perilaku eksternal dari sistem) yang tidak memiliki pengetahuan teknis.
• Dokumen kebutuhan tidak boleh menyertakan
rincian arsitektur atau desain sistem.
1). Spesifikasi Bahasa
• Bahasa alami telah digunakan untuk menulis
kebutuhan PL sejak awal RPL yang bersifat ekspresif, intuitif, dan
universal.
• Panduan sederhana:
1. Buat format standar dan pastikan bahwa
semua definisi kebutuhan mematuhi format tsb.
2. Gunakan bahasa secara konsisten
3. Gunakan penjelasan teks (tebal, miring,
atau warna) untuk memilih bagian-bagian penting dari kebutuhan.
4. Jangan berasumsi bahwa pembaca memahami
bahasa RPL, hindari penggunaan jargon, singkatan, dan akronim.
5. Sebisa mungkin, harus mencoba mengaitkan
alasan dengan setiap kebutuhan pengguna.
2). Spesifikasi Struktur
• Bahasa alami terstruktur adalah cara
penulisan kebutuhan sistem dimana kebebasan dalam penulisan terbatas dan semua
kebutuhan ditulis dengan cara standar.
• Untuk menentukan kebutuhan fungsional,
informasi berikut harus disertakan:
1. Deskripsi fungsi atau entitas yang
ditentukan.
2. Penjelasan tentang input dan dari mana
asalnya.
3. Penjelasan tentang output dan kemana
tujuannya.
4. Informasi yang diperlukan untuk perhitungan
atau entitas lain dalam sistem yang digunakan.
5. Penjelasan tentang tindakan yang harus
diambil.
6. Penjelasan tentang efek samping dari
operasi (jika ada)
F.
Validasi (Validation)
• Validasi kebutuhan adalah proses
pengecekan kebutuhan yang benar-benar menentukan sistem yang diinginkan oleh
pelanggan.
• Validasi melakukan pemeriksaan untuk
memastikan bahwa:
✓ Semua kebutuhan PL telah dinyatakan dengan
jelas
✓ Inkonsistensi, kelalaian, dan kesalahan telah
terdeteksi dan diperbaiki
✓ Produk kerja sesuai dengan standar yang
ditetapkan untuk proses, proyek, dan produk.
Hal-hal yang perlu pemeriksaan:
1. Pemeriksaan Validitas Suatu sistem
diperlukan untuk melakukan fungsi-fungsi tertentu dan dapat mengidentifikasi
fungsi tambahan.
2. Pemeriksaan Konsistensi Kebutuhan dalam
dokumen tidak boleh bertentangan. Artinya, tidak ada batasan yang bertentangan
atau deskripsi yang berbeda dari fungsi sistem yang sama.
3. Pemeriksaan Kelengkapan Dokumen Kebutuhan
yang mendefinisikan semua fungsi dan batasan yang dimaksudkan oleh pengguna
sistem.
4. Pemeriksaan Realisme, dengan
menggunakan pengetahuan tentang teknologi yang ada, kebutuhan harus diperiksa
untuk memastikan bahwa mereka benar-benar dapat diimplementasikan.
5. Verifiability Kebutuhan, sistem harus
selalu ditulis sehingga dapat diverifikasi, artinya menulis serangkaian tes
yang dapat menunjukkan bahwa sistem yang dikirimkan memenuhi setiap kebutuhan
yang ditentukan.
G.
Manajemen Kebutuhan (Requirement Management)
• Adalah serangkaian kegiatan yang
membantu tim proyek untuk mengidentifikasi, mengontrol, dan melacak
kebutuhan-kebutuhan dan melacak perubahan terhadap kebutuhan saat proyek
berlangsung.
• Ada beberapa alasan mengapa perubahan tidak
dapat dihindari:
1. Lingkungan bisnis dan teknis sistem selalu
berubah setelah instalasi.
2. Pengguna sistem bukan orang yang
sama.
3. Sistem besar biasanya memiliki komunitas
pengguna yang beragam
1). Kebutuhan Perencanaan Manajemen
Tahap perencanaan menetapkan tingkat detail
manajemen kebutuhan yang diperlukan, dengan memutuskan:
1. Identifikasi Kebutuhan, setiap kebutuhan harus diidentifikasi secara
unik sehingga dapat direferensikan dengan kebutuhan lain dan digunakan dalam
pelacakan.
2. Proses manajemen
perubahan adalah
serangkaian kegiatan yang menilai dampak dan biaya perubahan.
3. Kebijakan Pelacakan, menentukan hubungan antara setiap kebutuhan,
kebutuhan dengan desain sistem, dan pemeliharaan catatan-catatan.
4. Dukungan alat, kebutuhan manajemen melibatkan pemrosesan
sejumlah besar informasi tentang kebutuhan. Alat yang dapat digunakan berkisar
dari sistem manajemen kebutuhan khusus untuk spreadsheet dan sistem basis data
sederhana.
2). Kebutuhan Manajemen Perubahan
• Kebutuhan manajemen
perubahan harus diterapkan untuk semua perubahan yang diajukan pada kebutuhan
sistem setelah dokumen kebutuhan disetujui.
• Ada tiga tahapan utama untuk proses
manajemen perubahan:
1. Analisis masalah dan spesifikasi
perubahan
2. Analisis dan biaya perubahan
3. Perubahan implementasi
2. KEBUTUHAN FUNGSIONAL DAN
NON-FUNGSIONAL
• Kebutuhan Fungsional adalah layanan yang harus disediakan
sistem, bagaimana sistem harus bereaksi terhadap input tertentu, dan bagaimana
sistem harus berperilaku dalam situasi tertentu.
• Kebutuhan non-fungsional adalah batasan pada layanan atau fungsi
yang ditawarkan oleh sistem. Termasuk: Kendala waktu, Kendala pada proses
pengembangan, Kendala yang dikenakan oleh standar.
A. Kebutuhan Fungsional
• Kebutuhan fungsional menggambarkan apa yang
harus dilakukan oleh sistem.
• Kebutuhan ini tergantung pada jenis PL yang
dikembangkan, pengguna, dan pendekatan umum yang diambil oleh organisasi saat
menulis kebutuhan.
• Kebutuhan pengguna dijelaskan secara abstrak
yang dapat dipahami oleh pengguna sistem, terutama untuk kebutuhan sistem yang
lebih spesifik menggambarkan fungsi-fungsi sistem, input dan output, dan
pengecualian secara rinci
• Contoh: kebutuhan fungsional untuk
sistem informasi tentang pasien:
✓ User harus dapat mencari daftar janji untuk
semua poliklinik sesuai dengan jadwal praktek dokter.
✓ Setiap hari, untuk setiap poliklinik mencatat
daftar pasien yang telah melakukan pendaftaran hari itu.
✓ Setiap petugas yang menggunakan sistem harus
diidentifikasi secara unik dengan nomor karyawan delapan digit miliknya.
B.
Kebutuhan Non-Fungsional
• Kebutuhan non-fungsional adalah kebutuhan
yang tidak secara langsung terkait dengan layanan spesifik yang disampaikan
oleh sistem kepada penggunanya.
• Berhubungan dengan sifat sistem yang muncul
seperti keandalan, waktu respon, dll.
• Dapat berupa kendala pada implementasi
sistem seperti kemampuan perangkat I/O, representasi data yang digunakan dalam
antarmuka dengan sistem lain.
• Kebutuhan non-fungsional muncul melalui
kebutuhan pengguna, karena keterbatasan anggaran, kebijakan organisasi,
kebutuhan interoperabilitas dengan software/hardware, atau faktor eksternal
seperti peraturan keselamatan atau undang-undang privasi.
Implementasi kebutuhan ini dapat
disebarluaskan di seluruh sistem, dengan alasan:
1. Kebutuhan non-fungsional dapat mempengaruhi
keseluruhan arsitektur sistem daripada komponen individu. Misalnya, untuk
memastikan bahwa terpenuhinya kebutuhan kinerja harus mengatur sistem untuk
meminimalkan komunikasi antar komponen.
2. Kebutuhan non-fungsional tunggal, seperti
kebutuhan keamanan, dapat menghasilkan sejumlah kebutuhan fungsional terkait
yang menentukan layanan sistem baru yang diperlukan.
Karakteristik kebutuhan
non-fungsional
1. Kebutuhan produk Kebutuhan ini menentukan
atau membatasi perilaku perangkat lunak.
• Kebutuhan kinerja tentang seberapa cepat
sistem harus dijalankan dan berapa banyak memori yang dibutuhkan
• Kebutuhan keandalan yang menetapkan tingkat
kegagalan yang dapat diterima
• Kebutuhan keamanan
• Kebutuhan kegunaan
2. Kebutuhan Organisasi adalah kebutuhan
sistem yang luas yang berasal dari kebijakan dan prosedur di organisasi
pelanggan dan pengembang.
• Kebutuhan operasional yang menentukan
bagaimana sistem akan digunakan
• Kebutuhan proses pengembangan yang
menentukan bahasa pemrograman, lingkungan pengembangan atau proses standar yang
akan digunakan
• Kebutuhan lingkungan yang menentukan
lingkungan operasi sistem.
3. Kebutuhan Eksternal Mencakup semua
kebutuhan yang berasal dari faktor eksternal ke sistem dan proses
pengembangannya.
• Kebutuhan peraturan yang mengatur apa yang
harus dilakukan untuk sistem yang akan disetujui untuk digunakan oleh regulator,
seperti bank sentral
• Kebutuhan legislatif yang memastikan bahwa
sistem beroperasi sesuai peraturan
• Kebutuhan etis yang memastikan bahwa sistem
akan diterima oleh pengguna dan masyarakat umum
Komentar
Posting Komentar