Kebutuhan Fungsional dari ATM

advertisement
APA ITU REKAYASA KEBUTUHAN ??
Mungkin sering kita dengar ketika kita dihadapkan pada pengguna sistem yang
kita buat. Kita selalu mengganggap bahwa pengguna sering terlambat menyadari
kebutuhan fungsional yang mereka butuhkan.
Mereka tidak mengerti bahwa membuat atau mengubah program itu pekerjaan
yang membutuhkan waktu. Dan waktu kita terbatas. Kita sebagai pengembang
sering merasa terganggu oleh permintaan-permintaan baru yang tidak pernah
berhenti dari pengguna.
APA ITU REKAYASA KEBUTUHAN ??
Banyak permasalahan dalam pengembangan perangkat lunak berakar pada
keterbatasan pemahaman pengembang akan kebutuhan pengguna terhadap
perangkat lunak yang dibangun.
MENGAPA PERLU REKAYASA KEBUTUHAN ??
Ada beberapa alasan pokok yang menjadi dasar mengapa rekayasa kebutuhan itu
perlu dilakukan dalam proses pembuatan suatu perangkat lunak, yaitu:
1. Semua perangkat lunak memiliki spesifikasi
Setiap sistem memiliki tujuan tertentu, yang di dalamnya ada komponenkomponen yang berfungsi sebagai masukan, proses, atau keluaran. Dengan kata
lain, setiap perangkat lunak, sekecil atau sesederhana apa pun, pasti memiliki
spesifikasi kebutuhan
MENGAPA PERLU REKAYASA KEBUTUHAN ??
2. Permasalahan berawal dari spesifikasi kebutuhan
Menurut Davis (1993) dan Leffingwell (1997), 4000 sampai dengan 6000 kesalahan
dalam suatu proyek pembangunan perangkat lunak berawal dari kesalahan yang
dilakukan pada tahap spesifikasi kebutuhan.
Brooks (1987) mengatakan bahwa proyek pengembangan perangkat lunak seringkali
over budget, terlambat, dan cacat atau tidak dapat diandalkan.
Jones (1991) juga menjelaskan bahwa penyebab tunggal terbesar dari kegagalan
tersebut adalah adanya defisiensi pada tahapan spesifikasi kebutuhan.
Hofmann dan Lehner (2001) menemukan bahwa titik-titik kesalahan tersebut tersebar
dalam ranah proses, teknologi, dan sumber daya manusianya.
MENGAPA PERLU REKAYASA KEBUTUHAN ??
Permasalahannya lebih disebabkan oleh salah asumsi, asumsi yang tidak
dikomunikasikan, spesifikasi kebutuhan yang tidak memadai, dan perubahan
kebutuhan yang terlihat sedere hana tetapi sering kurang diperhatikan.
Kesemuanya ini berujung pada adanya jurang perbedaan antara apa yang
dipikirkan pengembang untuk seharusnya dibangun dan apa yang dibutuhkan
pelanggannya
MENGAPA PERLU REKAYASA KEBUTUHAN ??
Ada beberapa hal yang dapat menjadi penyebab mengapa kualitas proses
penspesifikasian kebutuhan sistem tersebut menjadi rendah, yaitu:
a. Kepedulian yang rendah.
b. Adanya jurang pemisah.
c. Permintaan kebutuhan yang tak henti.
SlAPA YANG BERKEPENTlNGAN TERHADAP SISTEM?
Berikut ini ada 13pemangku kepentingan dalam 8. Manajer proyek (Project Manager)
tahapan pembangunan spesifikasi kebutuhan 9. Staf hukum (legal)
perangkat lunak:
10. iStaf manufaktur (Manufacturing
personnel)
1. Pelanggan (Customer)
11. Penjualan (Sales), pemasaran (Marketing),
2. Pemilik sistem (Sistem Owner)
dan bagian pendukung, serta pihak-pihak
3. Pengguna (User)
lain
4. Analis kebutuhan (Requirements Analyst) 12. Penyelia (Vendor)
5. Pengembang (Developer)
13. Regulator
6. Penguji (Tester)
7. Penulis Dokumentasi (Documentation is
Writer)
DEFINlSl REKAYASA KEBUTUHAN
Rekayasa kebutuhan meliputi aktivitas-aktivitas menyelidiki, mencari, atau
mengidentifikasi spesifikasi kebutuhan sistem, serta mengomunikasikannya
kepada pelanggan maupun pengembang, baik secara lisan maupun tulisan. Akan
tetapi, perlu diperhatikan bahwa Rekayasa Kebutuhan bukanlah rincian rancangan
dan implementasi dari sistem, informasi-informasi yang berkaitan dengan
pengelolaan perencanaan proyek pembangunan sistem, ataupun informasiinformasi yang berkaitan dengan pengujian sistem.
DEFINlSl REKAYASA KEBUTUHAN
Rekayasa kebutuhan meliputi aktivitas-aktivitas menyelidiki, mencari, atau
mengidentifikasi spesifikasi kebutuhan sistem, serta mengomunikasikannya
kepada pelanggan maupun pengembang, baik secara lisan maupun tulisan. Akan
tetapi, perlu diperhatikan bahwa Rekayasa Kebutuhan bukanlah rincian rancangan
dan implementasi dari sistem, informasi-informasi yang berkaitan dengan
pengelolaan perencanaan proyek pembangunan sistem, ataupun informasiinformasi yang berkaitan dengan pengujian sistem.
APA YANG BUKAN MERUPAKAN BAGIAN DARI KEBUTUHAN?
Spesifikasi kebutuhan sebaiknya tidak mencantumkan hal-hal yang berkaitan
dengan rincian rancangan maupun implementasi dari sistem.
Spesifikasi kebutuhan juga sebaiknya tidak mencantumkan informasi mengenai
perencanaan proyek pengembangan sistem bersangkutan.
Spesifikasi kebutuhan juga sebaiknya tidak mencantumkan informasi yang
berkaitan dengan proses pengujian sistem, yang meliputi jadwal pelaksanaan,
sumber daya manusia, metode pengujian, alat ukur pengujian dan lain-lain,
maupun proses-proses lainnya dalam rekayasa perangkat lunak yang berada di
luar dari batasan proses penspesifikasian kebutuhan perangkat lunak.
IEEE 803-1998
IEEE mengeluarkan suatu dokumen IEEE Standard 830 (1998) yang berisi rekomendasi praktis
bagi spesifikasi kebutuhan perangkat lunak. Dokumen ini utamanya ditujukan agar dapat
membantu:
1. Pengguna perangkat lunak untuk mendeskripsikan secara akurat apa yang dibutuhkan dari
sistem yang hendak dibangun
2. Penyelia perangkat lunak untuk mengerti dengan tepat apa yang diinginkan pelangggannya
3. Setiap individu untuk mencapai tujuan-tujuan berikut ini:
a) Membangun suatu standar spesifikasi kebutuhan perangkat lunak X (SKPL) atau Software
Requirements Specification (SRS)
b) Menentukan format dan isi dari spesifikasi kebutuhan perangkat lunak yang hendak
dibangun
c) Membangun item-item pendukung lokal tambahan,
JENIS KEBUTUHAN PERANGKAT LUNAK
Secara umum kebutuhan perangkat lunak dapat dibagi ke dalam dua jenis, yaitu :
1. Kebutuhan fungsional (Functional Requirements)
 Mendeskripsikan layanan, fitur, atau fungsi yang disediakan atau diberikan oleh sistem
bagi penggunanya
2. 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 KEBUTUHAN FUNGSIONAL DAN KEBUTUHAN NON-FUNGSIONAL
Coba perhatikan sebuah sistem Automatic Teller Machine (ATM) yang sering kita gunakan
sehari-hari.
Kebutuhan Fungsional dari ATM:
1. Mengecek saldo
2. Menarik uang
3. Mentransfer uang
4. Melakukan pembayaran
Kebutuhan Non-Fungsional dari ATM:
1. Pengguna baru membutuhkan waktu belajar maksimal 10 menit untuk dapat menggunakan
fungsi-fungsi utama sistem .
2. Sistem harus tetap berfungsi minimal 10 jam setelah pasokan listrik dari PLN terhenti.
3. Waktu yang dibutuhkan untuk kembali beroperasi setelah sistem mati minimal 2 menit.
PROSES-PROSES DALAM REKAYASA KEBUTUHAN
Daur hidup suatu perangkat lunak (software life cycle -SLC) secara umum
Ada dua siklus kehidupan utama dari suatu perangkat lunak, yaitu :
 Daur hidup pengembangan perangkat lunak (software development life cycle SDLC)
 Daur hidup pengoperasian perangkat lunak (software operational life cycle SOLC)
Kedua siklus perangkat lunak tersebut dihubungkan oleh dua buah proses, yaitu proses studi
kelayakan (feasibility study) dan proses peluncuran (deployment).
Pengembangan perangkat lunak pada dasarnya muncul karena adanya suatu kebutuhan baru.
Aktivitas utama dalam rekayasa kebutuhan perangkat lunak
Proses rekayasa kebutuhan ini kita mulai dengan memahami terlebih dahulu
ranah sistem (tujuan, batasan, ruang lingkup, organisasi, dan sebagainya) yang
hendak dibangun.
Kita dapat melihat bahwa setiap aktivitas terkait dan berdampak, bukan saja
dengan aktivitas setelahnya, akan tetapi juga dengan aktivitas sebelumnya. Setiap
aktivitas-aktivitas tersebut memiliki signifikansi terhadap keberhasilan proses
rekayasa kebutuhan secara keseluruhan
RANAH PERMASALAHAN SEBAGAI FOKUS REKAYASA KEBUTUHAN
Dari sisi pelanggan, kita dapat melihat bahwa dalam pengembangan perangkat
lunak, pelanggan menetapkan suatu tujuan bagi sistem yang hendak dibangun.
Dari sisi produk, kita dapat melihat bahwa dalam pengembangan perangkat lunak,
pengembang menetapkan entitas atau komponen apa saja yang membangun
produk, dan seperti apa interaksinya. Kemudian perangkat lunak yang dihasilkan
merepresentasikan bagaimana hal tersebut direalisasikan.
Di sini kita dapat melihat bahwa spesifikasi kebutuhan menjadi jembatan yang
menghubungkan kebutuhan bisnis proses dari pelanggan dan produk yang hendak
dihasilkan pengembang.
CONTOH : RANAH PERMASALAHAN SEBAGAI FOKUS REKAYASA
KEBUTUHAN
Perhatikan sekali lagi sistem Automatic Teller Machine (ATM). Sebutkanlah
beberapa hal yang mungkin menjadi tujuan bisnis dari proyek pembuatan ATM
yang menjadi abstraksi solusinya.
Jawab:
Tujuan bisnis dari adanya ATM adalah:
1. Peningkatan kepuasan pelanggan dalam hal melakukan tra: perbankan selama
24 jam.
2. Pengurangan kasir.
3. Perluasan jaringan perbankan dengan cara yang ekonomis
Download