Requirement
Requirement
Software Requirement
Disiapkan oleh: Umi Proboyekti, S.Kom, MLIS
Pengantar
Requirement tidak hanya ditulis oleh pembangun, tapi sebelumnya justru ditulis oleh
klien yang memesan software. Klien menuliskan requirement dalam bentuk yang
masih abstrak tentang kebutuhannya. Kemudian requirement tersebut diserahkan
kepada tim pembangun. Saat sudah ada persetujuan pembangun pun kemudian
menuliskan kemampuan sistem yang bisa dipahami oleh klien, inipun disebut
requirement.
Definisi
Requirement adalah gambaran dari layanan (services) dan batasan bagi sistem yang
akan dibangun. Atau requirement adalah pernyataan/gambaran pelayanan yang
disediakan oleh sistem, batasan-batasan dari sistem dan bisa juga berupa definisi
matematis fungsi-fungsi sistem.
Requirement berfungsi ganda yaitu:
Menjadi dasar penawaran suatu kontrak --> harus terbuka untuk masukan
Menjadi dasar kontrak --> harus didefinisikan secara detil
Proses menemukan, menganalisis, mendokumentasikan dan pengujian layananlayanan dan batasan tersebut disebut Requirement Engineering.
Pengumpulan requirement
Pernyataan tentang layanan yang disediakan sistem dan tentang batasanbatasan operasionalnya. Pernyataan ini dapat dilengkapi dengan
gambar/diagram yang dapat dimengerti dengan mudah.
Manager klien
end-user sistem
staff ahli klien
manager developer
arsitek sistem
User requirement
End-user sistem
staff ahli klien
arsitek sistem
tim developer
System requirement
Software specification
Pengguna bisa mencari semua informasi tentang buku atau bisa memilih
salah satu dari informasi tentang buku
Hari libur bisa di-set sejak awal, dan bisa menerima perubahan dengan
otoritas khusus
Harus komplit ( kebutuhan layanan jelas dan lengkap) dan konsisten (tidak
kontradiksi dengan yang didefinisikan)
2. Non-functional Requirement:
Secara umum berisi batasan-batasan pada pelayanan atau fungsi yang
disediakan oleh sistem. Termasuk di dalamnya adalah batasan waktu, batasan
proses pembangunan, standar-standar tertentu.
User Requirement
Menggambarkan functional dan non-functional req yang dapat dipahami oleh
pengguna (user) yang tidak memiliki latar belakang teknis yang cukup. User
requirement menjelaskan perilaku luar dari sistem, tidak secara teknis, karena itu
perlu menggunakan bahasa alami, atau bahasa yang sederhana.
Masalah dalam menyiapkan user req adalah:
System Requirement
Merupakan deskripsi sistem yang lebih detil dari user requirement (jadi masih berisi
functional dan non functional req). Req ini bisa berlaku sebagai kontrak
pembangunan sistem dan isa terdiri dari macam model sistem seperti model object
atau model data-flow.
System req. menyatakan apa yang harus dikerjakan sistem, dan bukan bagaimana
sistem diimplementasikan. Untuk itu bahasa yang lebih spesifik dan bersifat teknis
dapat digunakan, seperti misalnya PDL (Program Description Language) seperti
contoh pada gambar 2. PDL digunakan untuk menggambarkan kebutuhan secara
operasional dan sifatnya sangat dekat dengan implementasi program.
Class ATM {
//declaration here
public state void main(string args[]) throws InvalidCard {
try {
thisCard.read(); //may throw InvalidCard exception
pin = KeyPad.readPin(); attempts =1;
while ( IthisCard.pin.equals(pin)& attempts <4)
{ pin = Keypad.readPin (); attempts = attempts+1;
}
if (IthisCard.pin.equals(pin))
throw new InvalidCard (Bad Pin);
thisBalance=thisCard.getBalance();
do { Screen.prompt(Please select a service);
service = Screen.touchkey();
switch(service){
case Service.withdrawalWithReceipt:
receiptRequired = true;
case Service.withdrawalNoReceipt:
amount = KeyPad.readAmount();
if (amount > thisBalance)
{ Screen.printmsg(Balance insufficient);
break;
}
Dispenser.deliver(amount);
newbalance= thisBalance-amount;
if(receiptRequired)
Receipt.print(amount, newBalance);
break;
// other service descriptions here
default: break;
}
}
while(service !=Service.quit);
thisCard.returnToUser(Please take your card);
}
catch(InvalidCard e)
{ Screen.printmsg (Invalid card or PIN);
}
//other exception handling here
}//main()
}//ATM
1.2
1.3
1.4
references
1.5
2. General description
2.1
product perspective
2.2
product functions
2.3
user characteristics
2.4
general constrains
2.5
Preface
2.
Introduction
3.
Glossary
4.
5.
System architecture
6.
7.
System models
8.
System evolution
9.
Appendices
10. Index
Kedua struktur sama baiknya dan salah satu dapat digunakan untuk menyusun
dokumen kebutuhan.
Diadaptasi dari:
Sommerville, Ian. "Software Engineering" .6th . Addison Wesley. 2001