Merupakan sebuah proses
menetapkan layanan yang dibutuhkan customer dari sebuah sistem dan adanya
batasan-batasan dari operasi dan yang dikembangkan. Biasanya juga disebut
pernyataan abstrak tingkat tinggi.
Menurut Davis (1993) Jika perusahaan mengharapkan proyek
besar, kebutuhan harus didefinisikan dengan jelas. Kebutuhan harus ditulis,
karena mungkin ada perbedaan jika bertemu lagi dengan klien. Biasanya disebut
juga dengan kontrak.
Ø
Tingkatannya :
a. User
Requirements / Kebutuhan User : Pernyataan alami dilengkapi diagram layanan
yang disediakan sistem,ada batasan-batasan operasi dan ditulis untuk customer.
Readersnya :
Client Managers, System End-Users, Client Engineers, Contractor Managers, dan
System Architects.
b. System Requirements
/ Kebutuhan Sistem : Deskripsi detail dari Software System dan adanya batasan
operasi serta merupakan bagian kontrak.
Readersnya :
System End-Users, Client Engineers, System Architects, dan Software Developers.
Ø
Macamnya :
a. Functional
Requirements : Pernyataan
dari layanan yang harus disediakan sistem. Tergantung dari jenis software, yang
diharapkan user dari software tersebut dan jenis sistemnya. Requirements sendiri
harus komplit dan konsisten.
b. Non-functional Requirements : Batasan dari layanan yang
dikirimkan melalui sebuah sistem.
\
*Metrics for specifying non-functional requirements
c. Domain Requirements : Menjadi kebutuhan functional yang baru.Harus melihat batasan/ranahnya. Bisa menjadi fungsi yang baru.
d. Agile-method and
Requirements : Metode ini
menggunakan increment model. Menurut metode ini membuat dokumen itu membuang
waktu karena dokumen biasanya kadaluarsa.
Ø
Spesifikasi Requirements :
Cara menulis :
a. Menggunakan Bahasa
natural
b. Bahasa naturalnya
terstruktur dan standar
c. Bahasa Desain Deskripsi
d. Grafik
e. Konsep Matematis
** Bahasa natural biasanya memiliki kelemahan
yaitu kurang jelas,membingungkan karena tercampur, dan kebutuhan berbeda
diekspresikan bersama.