Anda di halaman 1dari 19

Software Engineering

Requirement Engineering

Rekayasa Kebutuhan
Meliputi aktivitas: menyelidiki, mencari, atau mengidentifikasi spesifikasi kebutuhan sistem, serta mengkomunikasikannya kepada pelanggan maupun pengembang, baik secara lisan maupun tulisan.

Jenis Kebutuhan PL
Kebutuhan Fungsional (Functional Requirements)
Mendeskripsikan layanan, fitur, atau fungsi yang disediakan atau diberikan oleh sistem bagi penggunanya

Kebutuhan Non-fungsional (Non-functional Requirements)


Mendeskripsikan sekumpulan batasan, karakteristik, dan properti pada sistem, baik dalam lingkungan pengembangan maupun operasional, atau atribut kualitas yang harus dipenuhi oleh sistem

Contoh: ATM
Kebutuhan Fungsional:
Mengecek saldo Menarik uang Mentransfer uang Melakukan pembayaran

Kebutuhan Nonfungsional
Pengguna baru membutuhkan waktu belajar maksimal 10 menit untuk dapat menggunakan fungsi utama sistem Sistem harus tetap berfungsi minimal 10 jam setelah pasokan listrik dari PLN berhenti Waktu yang dibutuhkan untuk kembali beroperasi setelah sistem mati minimal 2 menit

Berdasar kategori Kualitas


Ketepatan (Correctness) Robustness Unjuk kerja (performance) Ketersediaan dan kualitas antarmuka (interface) Keandalan (reliability) Ketersediaan (availability) Kemampuan untuk dilakukan pengujian (testability) Ketersediaan dan kualitas dokumentasi (documentation) Kemudahan pemeliharaan (maintainability) Adaptasi terhadap lingkungan (portability)

Contoh: ATM
Kategori Correctness Robustness Performance Kebutuhan Setiap jenis transaksi yang melibatkan operasi aritmatika harus terjamin kebenarannya Sistem harus dapat bertahan dalam kondisi getaran minimal 5 skala Richter Sistem harus dapat melayani minimal 1.000.000 transaksi per-hari

Reliability
Security Maintainability Portability

Sistem harus tetap tersedia walau pasokan listrik dari PLN terputus selama minimal 60 menit
Sistem hanya bisa diakses menggunakan kartu yang terautorisasi oleh pengguna yang ter-auntentifikasi Sistem dapat dipantau dari titik jauh (secara remote) Sistem dibangun sebagai aplikasi web

Stakeholder Sistem
Pelanggan (Customer) Pemilik Modal Pemilik sistem (system owner) Pengguna (user) Operator Pengembang (developer) Penguji (tester) Manajer Proyek (Project Manager) Staf Hukum Penjualan (sales) dan Pemasaran (marketing) Penyelia (vendor) Dll

Contoh: ATM
Kelas Pemilik Modal Pemilik Sistem Pengguna Instansiasi Pemilik Bank Bagian Customer Banking Pemilik Kartu ATM Pemilik Kartu ATM dari Bank lain Teknisi

Kebutuhan Bisnis
Merepresentasikan tujuan akhir yang hendak dicapai ketika nantinya sistem dioperasikan Biasanya dari pemilik sistem Contoh:
Sistem
ATM SIM Akademik

Kebutuhan Bisnis
Meningkatkan pertumbuhan nasabah menjadi 5% per-tahun Penghematan biaya pengadaan kertas sampai 20%

Online Ticketing
SIM Perizinan Terpadu Dll

Meningkatkan market share menjadi 15%


Menurunkan biaya perizinan sampai dengan 50%

Kebutuhan Pengguna
Merupakan kebutuhan fungsional yang merepresentasikan tujuan dari pengguna ketika menggunakan sistem yang hendak dibangun Kebutuhan pengguna pada akhirnya menjadi sebuah fitur/fungsi dalam sebuah sistem. Akan tetapi, tidak semua fitur merupakan kebutuhan pengguna Contoh:
Sistem ATM Kebutuhan Pengguna Nasabah hendak mengecek saldo Nasabah hendak mengambil uang

SIM Akademik
Online Ticketing

Mahasiswa hendak menyusun rencana kuliah semester ini Orang tua hendak melihat prestasi belajar anak didik
Calon penumpang memesan tiket pesawat Penumpang mencetak tiket elektroniknya

Aturan Bisnis
Business Rules merupakan kebutuhan non-fungsional yang meliputi aturan dan kebijakan dari perusahaan maupun pemerintah, mutu industri, dan lain-lain yang membatasi bagaimana sistem memenuhi kebutuhan pengguna tersebut.
Sistem ATM SIM Akademik Online Ticketing Aturan Bisnis Teknologi Kartu yang digunakan harus memenuhi standar Mahasiswa hendak menyusun rencana kuliah semester ini Ortu hendak melihat prestasi belajar anak didik Setiap pemesanan tiket harus meyebutkan identitas dari calon penumpang Sistem harus mematuhi aturan yang telah ditetapkan oleh Dephub

Atribut Kualitas
Quality Attributes merupakan kebutuhan non fungsional yang memperjelas kebutuhan fungsional dengan menambahkan karakteristik dari sistem dalam berbagai dimensi yang penting baik bagi pengguna maupun pengembang Karakteristik tersebut merepresentasikan antara lain: Unjuk kerja, ketersediaan, ketangguhan, efisiensi, efektifitas, atau portabilitas yang harus dimiliki oleh sistem
Sistem ATM SIM Akademik Online ticketing Kebutuhan Bisnis Kartu dapat digunakan minimal 1.000.000 kali Ketersediaan layanan 24 jam sehari Sistem dapat melayani minimal 100 transaksi per-menit Kapasitas penyimpanan minimal untuk 10 tahun Proses booking paling lama 1 menit Update halaman jadwal penerbangan maksimal dalam 2 detik

Kebutuhan Fungsional
Menspesifikasikan fungsi-fungsi atau fitur-fitur yang harus ada pada sistem untuk dapat membantu pengguna mencapai tujuan ketika menggunakan sistem
Sistem ATM Kebutuhan Fungsional Jika saldo akhir nasabah setelah dikurangi jumlah debit akan lebih kecil dari saldo minimum yang diperkenankan, maka sistem menampilkan peringatan dan menggagalkan transaksi debit terkait Dosen harus dapat mengubah persentase dari komponen penilaian Sistem mengirimkan SMS ke penumpang jika terjadi perubahan jadwal penerbangan

SIM Akademik Online Ticketing

Antarmuka Eksternal
External Interface mendeskripsikan kondisi atau karakteristik yang harus dipenuhi sistem sebagai bentuk interaksi dengan entitas di luar dirinya entitas luar dapat berupa sistem lain atau individu yang berinteraksi dengan sistem
Sistem ATM SIM Akademik Kebutuhan Antarmuka Terkoneksi dengan database bank menggunakan protokol TCP/IP Menu ditampilkan minimum dalam bahasa Indonesia dan Inggris Sistem menggunakan protokol https untuk akses pengguna menggunakan browser Elemen antarmuka pengguna harus dapat ditampilkan semua versi browser Sistem harus dapat mencetak e-tiket setidaknya dalam format pdf dan doc Data dalam e-tiket harus mematuhi standar data agar dapat diimport ke SIM Dephub

Online Ticketing

Batasan
Constraint merupakan kebutuhan non fungsional dari sistem yang secara formal membatasi pilihan yang dapat dilakukan pengembang dalam pengambilan keputusan terkait prosesproses pengembangan perangkat lunak
Sistem ATM Batasan Monitor yang digunakan harus berukuran 14 dengan resolusi 800x600 Tinggi mesin ATM antara 130cm s/d 150cm Ukuran sebuah transaksi tidak boleh melebihi 64kbyte Sistem harus dibangun sepenuhnya menggunakan open source

SIM Akademik

Online Ticketing

Jumlah maksimum karakter untuk atribut nama depan tidak boleh lebih dari 20 karakter Satu sesi koneksi dengan database tidak boleh lebih dari 10 menit

Tanggung jawab Pelanggan


1. Memberitahukan kepada pengembang tentang proses bisnisnya dan kebiasaan-kebiasaan yang ada di organisasi 2. Meluangkan waktu yang diperlukan untuk proses elisitasi kebutuhan 3. Menyediakan masukan yang diperlukan untuk spesifikasi kebutuhan se-presisi mungkin 4. Membuat keputusan tepat waktu berkaitan dengan kebutuhan ketika diminta 5. Bersama-sama dengan pengembang menetapkan prioritas dari sekumpulan kebutuhan 6. Mengkomunikasikan setiap perubahan kebutuhan sesegera mungkin 7. Menghargai proses-proses yang digunakan pengembang dalam merekayasa kebutuhan

Hak Pelanggan
1. Mengharapkan analis menggunakan bahasa pelanggan 2. Mengharapkan analis belajar tentang bisnis dan tujuan pelanggan akan sistem yang hendak dibangun 3. Meminta analis menjelaskan semua produk yang dihasilkan dari proses rekayasa kebutuhan 4. Meminta pengembang menyediakan ide-ide dan alternatif kebutuhan maupun implementasi dari solusi 5. Menjelaskan karakteristik dari produk sehingga memudahkan dan menyenangkan untuk digunakan 6. Diberi kesempatan untuk melakukan penyesuaian terhadap kebutuhan

End of Presentation
Any Questions??? Review

Tugas Kelompok
Lakukan proses Rekayasa Kebutuhan (requirement engineering) sesuai dengan studi kasus yang diambil Perkirakan data kebutuhan sistem yang kelompok anda buat, kemudian kelompokkan menjadi
Kebutuhan Fungsional Kebutuhan Non-fungsional Kebutuhan sistem anda dari segi: Correctness, Robustness, Performance, Reliability, Security, Maintainability, dan Portability Kebutuhan Bisnis dan aturan bisnis sistem anda Kebutuhan Pengguna Kebutuhan Antarmuka Batasan sistem anda