4. kebutuhan software

27
1 Rekayasa Perangkat Lunak 1 Kebutuhan Software Deskripsi dan Spesifikasi Sistem Arna Fariza Rekayasa Perangkat Lunak 2 Tujuan Memperkenalkan konsep kebutuhan user dan sistem Menggambarkan kebutuhan fungsional dan non- fungsional Menjelaskan dua teknik menggambarkan kebutuhan sistem Menjelaskan bagaimana kebutuhan software diorganisasikan dalam dokumen kebutuhan

Upload: niyati-rizkia

Post on 02-Aug-2015

150 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 4. Kebutuhan Software

1

Rekayasa Perangkat Lunak

1

Kebutuhan Software

Deskripsi dan Spesifikasi Sistem

Arna Fariza

Rekayasa Perangkat Lunak 2

TujuanMemperkenalkan konsep kebutuhan user dansistemMenggambarkan kebutuhan fungsional dan non-fungsionalMenjelaskan dua teknik menggambarkankebutuhan sistemMenjelaskan bagaimana kebutuhan software diorganisasikan dalam dokumen kebutuhan

Page 2: 4. Kebutuhan Software

2

Rekayasa Perangkat Lunak 3

MateriKebutuhan fungsional dan non-fungsionalKebutuhan userKebutuhan sistemDokumen kebutuhan software

Rekayasa Perangkat Lunak 4

Rekayasa KebutuhanProses menetapkan layanan yang dibutuhkankonsumen terhadap sistem dan batasan operasidan pengembanganKebutuhan sendiri adalah diskripsi layanansistem dan batasan yang dibangkitkan selamaproses rekayasa kebutuhan

Page 3: 4. Kebutuhan Software

3

Rekayasa Perangkat Lunak 5

Apakah Kebutuhan itu?Susunan pernyataan abstrak level tinggi darilayanan atau batasan sistem ke dalamspesifikasi fungsional matematisTidak terelakkan bahwa kebutuhan mempunyaidua fungsio merupakan dasar untuk penawaran kontrak –

sehingga harus terbuka untuk interpretasio merupakan dasar untuk kontrak itu sendiri –

sehingga harus didefinisikan dengan detailo Kedua pernyataan diatas disebut kebutuhan

Rekayasa Perangkat Lunak 6

Abstraksi Kebutuhan (Davis)

“Jika sebuah perusahaan akan mengadakan kontrak untuk proyek pengembangan software besar, harusdidefinisikan kebutuhan yang cukup dimana solusi belum terdefinisi. Kebutuhan harus ditulis sehinggabeberapa kontraktor dapat menawarkan kontrak, penawaran, kemungkinan, secara berbeda dengankebutuhan organisasi client. Bila kontrak sudah diserahkan, kontraktor harus menulis definisi sistem untukclient secara lebih detail sehingga client mengerti dan dapat mem-validasi software yang akan dikerjakan.Kedua dokumen ini disebut dokumen kebutuhan untuk sistem”

Page 4: 4. Kebutuhan Software

4

Rekayasa Perangkat Lunak 7

Tipe-tipe KebutuhanKebutuhan Usero Pernyataan dalam bahasa natural plus diagram

layanan yang tersedia dan batasan operasional. Ditulis oleh konsumen

Kebutuhan Sistemo Dokumen terstruktur berisi diskripsi detail dari

layanan sistem. Ditulis sebagai kontrak antaraklien dan kontraktor.

Spesifikasi Softwareo Diskripsi software detail yang sebagai dasar untuk

desain atau implementasi. Ditulis oleh developer

Rekayasa Perangkat Lunak 8

Definisi dan Spesifikasi

1.1.

Definisi Kebutuhan

Software harus menyediakan ketentuan menampilkan dan mengakses file yang dibuat oleh tool lain

Spesifikasi Kebutuhan

1.1 User diberikan fasilitas untuk mendefinisikan tipe file eksternal

1.2 Setiap tipe file eksternal mempunyai alat untuk dihubungkan yang dapat diaplikasikan ke file

1.3 Setiap tipe file eksternal direpresentasikan sebagai icon tertentu padatampilan user

1.4 Fasilitas disediakan untuk icon yang merepresentasikan tipe file eksternal yang didefinisikan oleh user

1.5 Jika user memilih icon untuk merepresentasikan file eksternal, efekpemilihan mengaplikasikan alat yang menghubungkan antara tipe file eksternal ke file yang direpresentasikan oleh icon terpilih

Page 5: 4. Kebutuhan Software

5

Rekayasa Perangkat Lunak 9

Pengguna Kebutuhan

Kebutuhan user

Kebutuhan sistem

Spesifikasidesain software

Manajer clientEnd-user sistemEngineer clientManager kontraktorArsitek sistem

End-user sistemEngineer clientArsitek sistemDeveloper software

Engineer client (mungkin)Arsitek sistemDeveloper software

Rekayasa Perangkat Lunak 10

Kebutuhan Fungsional dan non-fungsional

Kebutuhan fungsionalo Pernyataan layanan sistem yang harus disediakan,

bagaimana sistem bereaksi pada input tertentudan bagaimana perilaku sistem pada situasitertentu

Kebutuhan non-fungsionalo Batasan layanan atau fungsi yang ditawarkan

sistem seperti batasan waktu, batasanpengembangan proses, standarisasi dll

Kebutuhan domaino Kebutuhan yang datang dari domain aplikasi dari

sistem dan yang menyatakan karakteristik daridomain tersebut

Page 6: 4. Kebutuhan Software

6

Rekayasa Perangkat Lunak 11

Kebutuhan Fungsional

Menggambarkan fungsionalitas atau layanansistemTergantung pada tipe software, harapan user dan tipe sistem dimana software digunakanKebutuhan fungsional user merupakanpernyataan level tinggi dari apa yang seharusnya dilakukan sistem tetapi kebutuhanfungsional sistem menggambarkan layanansistem secara detail

Rekayasa Perangkat Lunak 12

Contoh Kebutuhan Fungsional

User dapat mencari semua kumpulan database inisial atau memilih subset dari database tersebut

Sistem menyediakan tampilan yang tepatuntuk user yang membaca dokumen dalampenyimpan dokumen

Setiap pesanan dapat dialokasikan sebagaiidentifier yang unik (ORDER_ID) dimana user dapat meng-copy daerah penyimpan account permanen

Page 7: 4. Kebutuhan Software

7

Rekayasa Perangkat Lunak 13

Ketidaktepatan Kebutuhan

Permasalahan timbul jika kebutuhan tidakditetapkan dengan jelasKebutuhan yang sama mungkindiinterprestasikan dengan cara yang berbedaoleh developer dan userViewer yang tepato Kemauan user – viewer tujuan khusus untuk tipe

dokumen yang berbedao Interpretasi developer – menyediakan text viewer

yang menunjukkan isi dokumen

Rekayasa Perangkat Lunak 14

Konsistensi dan Kelengkapan Kebutuhan

Kebutuhan prinsip harus lengkap dan konsistenLengkapo Harus mendiskripsikan semua fasilitas yang

dibutuhkan

Konsisteno Seharusnya tidak ada konflik atau kontradiksi

dalam diskripsi fasilitas sistem

Dalam prakteknya, mungkin untukmemproduksi dokumen kebutuhan yang lengkap dan konsisten

Page 8: 4. Kebutuhan Software

8

Rekayasa Perangkat Lunak 15

Kebutuhan Non-fungsionalMendifinisikan properti sistem dan batasansistem, seperti kehandalah, waktu respon, kebutuhan penyimpan. Batasan misalnyakapabilitas perangkat I/O, representasi sistemdllKebutuhan proses juga menetapkanpenggunaan sistem CASE khusus, bahasapemrograman atau metode pengembanganKebutuhan non-fungsional lebih kritis daripadakebutuhan fungsional. Jika tidak dapatbertemu, sistem menjadi tidak berguna

Rekayasa Perangkat Lunak 16

Klasifikasi Non-fungsionalKebutuhan Produko Kebutuhan yang menetapkan bahwa produk yang

dikirim harus berjalan dengan cara tertentu, contoh kecepatan eksekusi, kehandalan dll

Kebutuhan Organisasio Kebutuhan sebagai akibat dari kebijakan organisasi

dan prosedur misalnya standar proses yang digunakan, kebutuhan implementasi dll

Kebutuhan Eksternalo Kebutuhan yang muncul dari faktor eksternal

sistem dan proses pengembangan misalnyakebutuhan antar operasi, kebutuhan legistatif dll

Page 9: 4. Kebutuhan Software

9

Rekayasa Perangkat Lunak 17

Tipe Kebutuhan Non-fungsionalKebutuhan

non-fungsional

Kebutuhanproduk

Kebutuhanorganisasi

Kebutuhaneksternal

Kebutuhanefisiensi

Kebutuhankehandalan

Kebutuhanportabilitas

Kebutuhaninteroperasi

Kebutuhanethical

Kebutuhankemampuanpenggunaan

Kebutuhanpenyerahan

Kebutuhanimplementasi

Kebutuhanstandar

Kebutuhankeselamatan

Kebutuhanprivacy

Kebutuhanlegislatif

Kebutuhanperformansi

Kebutuhanruang

Rekayasa Perangkat Lunak 18

Contoh Kebutuhan Non-fungsional

Kebutuhan Produko 4.C.8 Dimungkinan untuk semua komunikasi yang

diperlukan antara APSE dan user diekspresikandalam karakter Ada standar

Kebutuhan Organisasio 9.3.2 Proses pengembangan sistem dan

penyerahan dokumen seharusnya sesuai denganproses dan penyerahan yanga didefinisikan dalamXYZCo-SP-STAN-95

Kebutuhan Eksternalo 7.6.5 Sistem seharusnya tidak tertutup untuk

segala informasi personal tentang konsumen lepasdari nama dan nomor referensi ke operator sistem

Page 10: 4. Kebutuhan Software

10

Rekayasa Perangkat Lunak 19

Tujuan dan Kebutuhan

Kebutuhan Non-fungsional kemungkinan sangatsulit untuk ditetapkan dan kebutuhan yang tidak tepat sulit diverifikasiTujuano Tujuan umum dari user misalnya kemudahan

penggunaanKebutuhan non-fungsional yang dapatdiverifikasio Pernyataan menggunakan beberapa ukuran yang

dapat dites secara obyektifTujuan sangat membantu pengembangansesuai penyampaian maksud user sistem

Rekayasa Perangkat Lunak 20

Contoh

Tujuan Sistemo Sistem seharusnya mudah digunakan oleh

pengguna dan diorganisasikan sehingga error user dapat diminimalkan

Kebutuhan non-fungsional yang dapatdiverifikasio Pengguna seharusnya dapat menggunakan semua

fungsi sistem setelah training selesai. Setelahtraining ini, jumlah rata-rata error yang dibuatoleh user yang berpengalaman tidak lebih dari 2 setiap hari

Page 11: 4. Kebutuhan Software

11

Rekayasa Perangkat Lunak 21

Ukuran Kebutuhan

Transaksi proses/detikWaktu respon user/eventWaktu refresh screen

Kecepatan

Waktu trainingJumlah frame bantuan

Kemudahan penggunaan

K byteJumlah chip RAM

Ukuran

Persentase pernyataan ketergantungan targetJumlah sistem target

Portabilitas

Waktu restart setelah kegagalanPersentase event yang menyebabkan kegagalanKemungkinan korupsi data pada saat kegagalan

Kekuatan

Rata-rata waktu kegagalanKemungkinan ketidak tersediaanRata-rata kejadian kegagalanKetersediaan

Kehandalan

UkuranProperti

Rekayasa Perangkat Lunak 22

Interaksi Kebutuhan

Konflik antara kebutuhan non-fungsionalbersifat umum dalam sistem yang kompleksSistem kendaraan luar angkasao Untuk meminimalkan berat, jumlah chip yang

terpisah pada sistem harus diminimalkano Untuk meminimalkan konsumsi listrik, listrik chip

lebih rendah harus digunakano Sehingga, menggunakan chip listrik rendah berarti

lebih banyak chip yang harus digunakan. Manayang merupakan kebutuhan kritis?

Page 12: 4. Kebutuhan Software

12

Rekayasa Perangkat Lunak 23

Kebutuhan Domain

Diperoleh dari domain aplikasi danmenggambarkan karakteristik sistem dan fituryang merefleksikan domainBerupa kebutuhan fungsional baru, batasanpada kebutuhan yang sudah ada ataumendefinisikan komputasi tertentuJika kebutuhan domain tidak terpenuhi, sistemmungkin tidak dapat bekerja

Rekayasa Perangkat Lunak 24

Kebutuhan Domain sistemPerpustakaan

Terdapat antar muka standar user untuk semuadatabase berdasarkan standar X39.50

Karena pembatasan copyright, beberapadokumen harus dihapus segera setelah datang. Tergantung kebutuhan user, dokumen tersebutdapat dicetak secara lokal pada server sistemuntuk dikirim secara manual ke user ataudilewatkan ke network printer

Page 13: 4. Kebutuhan Software

13

Rekayasa Perangkat Lunak 25

Sistem Proteksi Kereta Api

Perlambatan kereta dapat dihitung sbb:o Dtrain = Dcontrol + Dgradient

dimana Dgradient sebesar 9.81ms2 * ganti_rugigradient/alpha dan dimana nilai 9.81ms2

/alpha diketahui dari tipe kereta api yang berbeda

Rekayasa Perangkat Lunak 26

Permasalahan Kebutuhan Domain

Kemampuan untuk dimengertio Kebutuhan dinyatakan dalam bahasa domain

aplikasio Biasanya tidak dimengerti oleh software engineer

yang mengembangkan sistem

Ketidaklengkapano Domain spesialis mengerti area dengan baik

sehingga mereka tidak berfikir untuk membuatkebutuhan domain secara eksplisit

Page 14: 4. Kebutuhan Software

14

Rekayasa Perangkat Lunak 27

Kebutuhan User

Menjelaskan kebutuhan fungsional dan non-fungsional sehingga user yang tidak mempunyaipengetahuan teknis detail dapat mengertisistemKebutuhan user didefinisikan menggunakanbahasa natural, tabel dan diagram

Rekayasa Perangkat Lunak 28

Permasalahan dengan BahasaAlami

Ketidakjelasano Kecermatan sulit diwujutkan tanpa membuat

dokumen yang sulit dibaca

Kebutuhan yang membingungkano Kebutuhan fungsional dan non-fungsional

cenderung dicampur aduk

Penggabungan kebutuhano Beberapa kebutuhan yang berbeda dinyatakan

bersama-sama

Page 15: 4. Kebutuhan Software

15

Rekayasa Perangkat Lunak 29

Kebutuhan Database

4.A.5 Database harus mendukung pembangkitan dan kontrol darikonfigurasi obyek; sehingga obyek terkelompok sendiri dalam database.Fasilitas kontrol konfigurasi mengijinkan akses ke obyek menggunakannama yang tidak lengkap

Rekayasa Perangkat Lunak 30

Kebutuhan Editor grid

2.6 Fasilitas Grid untuk membantu meletakkan entiti pada diagram,user harus mengubah grid dalam cm atau inch, melalui pilihanpada control panel. Semula, grid off. Grid diubah on dan off selamawaktu editing dan dapat diubah inch dan cm sepanjang waktu.Pilihan grid akan disediakan pilihan penurunan tetapi jumlah garisgrid yang ditampilkan akan diturunkan untuk menghindari mengisidiagram lebih kecil dengan garis grid.

Page 16: 4. Kebutuhan Software

16

Rekayasa Perangkat Lunak 31

Permasalahan Kebutuhan

Kebutuhan database terdiri dari konseptualdan informasi detailo Menggambarkan konsep fasilitas kontrol

konfigurasio Terdiri dari detail obyek yang boleh diakses

menggunakan nama yang tak lengkap

Kebutuhan grid menggabungkan 3 kebutuhanyang berbedao Kebutuhan konseptual fungsional (kebutuhan

untuk grid)o Kebutuhan non-fungsional (unit grid)o Kebutuhan antar muka non-fungsional (grid

switching)

Rekayasa Perangkat Lunak 32

Presentasi Terstruktur

2.6 Fasilitas Grid

2.6.1 Editor menyediakan fasilitas grid dimana matriks barishorisontal dan vertikal merupakan background window editor.Grid ini merupakan passive grid dimana ukuran entitas adalahtanggung jawab user

Alasan: grid membantu user membuat diagram teratur denganentitas teratur. Meskipun grid aktif, dimana entitas garis grid dapatberguna, posisi tidak teliti. User adalah orang yang tepat untukmenentukan dimana entitas seharusnya diletakkan

Page 17: 4. Kebutuhan Software

17

Rekayasa Perangkat Lunak 33

Kebutuhan User Detail

3.5.1 Penambahan node ke desain

3.5.1.1 Editor menyediakan fasilitas untuk user menambahnode untuk tipe tertentu pada desain

3.5.1.2 Urutan akse untuk menambah node sebagai berikut:

1. User memilih tipe node yang ditambahkan

2. User memindahkan kursor ke posisi node yang tepat padadiagran dan mengindikasikan bahwa simboh node ditambahkanpada titik tersebut

3. User menarik simbol node ke posisi akhir

Alasan: user adalah orang terbaik untuk memutuskan dimana posisinode pada diagram. Pendekatan ini memberikan kontrollangsung user ke semua pemilihan dan memosisikan tipe node

Spesifikasi: BCLIPSB/WS/Tools/DB/FS.Section 3.5.1

Rekayasa Perangkat Lunak 34

Ketentuan Penulisan Kebutuhan

Menggunakan format standard danmenggunakannya untuk semua kebutuhanMenggunakan bahasa secara konsisten. Penggunaannya untuk kebutuhan utama, untukkebutuhan yang sangat diperlukanMenggunakan penanda teks untuk identifikasibagian penting dari kebutuhanHindari penggunakan jargon komputer

Page 18: 4. Kebutuhan Software

18

Rekayasa Perangkat Lunak 35

Kebutuhan Sistem

Spesifikasi yang lebih detail dari kebutuhanuserSebagai dasar mendesain sistemBiasanya digunakan sebagai bagian darikontrak sistemKebutuhan sistem diekspresikan menggunakanmodel sistem

Rekayasa Perangkat Lunak 36

Kebutuhan dan Desain

Secara prinsip, kebutuhan menyatakan apayang seharusnya sistem lakukan dan desainmenggambarkan bagaimana melakukannyaPrakteknya, kebutuhan dan desain dibedakano Arsitektur sistem di desain untuk men-strukturkan

kebutuhano Sistem dapat beroperasi dengan sistem lain yang

membangkitkan kebutuhan desaino Penggunaan desain tertentu mungkin menjadi

kebutuhan domain

Page 19: 4. Kebutuhan Software

19

Rekayasa Perangkat Lunak 37

Permasalahan dengan SpesifikasiBahasa Alami

Kemenduaano Pembaca dan penulis kebutuhan harus

menginterpretasikan kata yang sama dg cara yang sama. Bahasa alami secara natural bersifatmendua sehingga sangat sulit

Terlalu Fleksibelo Hal yang sama mungkin dikatakan dengan

beberapa cara yang berbeda dalam spesifikasi

Tidak ada modularitaso Struktur bahasa alami tidak cukup untuk men-

strukturkan kebutuhan sistem

Rekayasa Perangkat Lunak 38

Alternatif Spesifikasi Bahasa Alami

Notasi DeskripsiBahasa Pendekatan ini tergantung definisi bentuk standard atau template untuknatural terstruktur menggambarkan spesifikasi kebutuhanBahasa deskripsi Pendekatan ini menggunakan bahasa seperti bahasa pemrogramandesain tetapi lebih banyak fitur abstrak untuk menentukan kebutuhan

dengan mendefinisikan model operasi dari sistemNotasi grafis bahasa grafis, ditambahkan dengan text digunakan untuk mendefinisikan

kebutuhan fungsional untuk sistemContohnya sebelumnya bahasa grafis SADT (Ross, 1977; Schomanand Ross, 1977), saat ini digunakan deskripsi use case (Jacobsen,Christerson et al.,1993)

Spesifikasi Ada beberapa notasi berbasis konsep matematis sepertiMatematis mesin finite-state atau himpunan. Spesifikasi yang ganda dapat

mengurangi argumen antara konsumen dan kontraktor tentangfungsional sistem. Sebaliknya, sebagian besar konsumen tidak mengertispesifikasi formal dan enggan menerimanya sebagai kontrak sistem

Page 20: 4. Kebutuhan Software

20

Rekayasa Perangkat Lunak 39

Spesifikasi Bahasa TerstrukturBentuk terbatas dari bahasa alami (Natural Language) dapat digunakan untukmenggambarkan kebutuhanMenghilangkan beberapa permasalahan yang menghasilkan kemenduaan dan fleksibilitasdan gangguan level keseragaman padaspesifikasiBiasanya menggunakan pendekatan berbasisform

Rekayasa Perangkat Lunak 40

Spesifikasi Berbasis FormDefinisi fungsi atau entitiMenggambarkan input dan dimana berasalMenggambarkan output dan dimana berjalanMengindikasikan entiti lain yang dibutuhkanKondisi sebelum dan sesudah (jika diperlukan)Efek lain (jika ada)

Page 21: 4. Kebutuhan Software

21

Rekayasa Perangkat Lunak 41

Spesifikasi node Berbasis FormBCLIPSB/Workstation/Tools/DB/3.5.1

Function Tambah node

Deskripsi Menambah node ke desain yang sudah ada. User memilih tipe node dan posisi bila ditambahkan ke desain, node menjadi pilihan saat ini. User memilih posisinode dan memindahkan kursor ke area dimana node ditambahkan

Input Tipe node, posisi node, identifier desain

Source Tipe node dan posisi node diinputkan oleh user, identifier desain daridatabase

Output Identifier desain

Tujuan Desain database. Desain membuat database menyelesaikan operasi

Kebutuhan Desain graph akar dari identifier desain input

Pre-kondisi Desain terbuka dan ditampilkan pada layar user

Post-kondisi Desain tidak berubah terpisah dari tambahan node tipe tertentu padaposisi yang diberikan

Efek lain TIdak ada

Rekayasa Perangkat Lunak 42

Definisi Kebutuhan BerbasisBahasa Pemrograman (PDL)

Kebutuhan dapat didefinisikan secara operasionalmenggunakan bahasa seperti bahasa pemrogramantetapi lebih fleksibel dalam ekspresiCocok untuk 2 situasi yaituo Dimana operasi ditentukan sebagai deretan aksi dan urutan

sangat pentingo Dimana antar muka hardware dan software harus

dispesifikasi

Kelemahannyao PDL tidak cukup ekspresif untuk mendefinisikan konsep

domaino Spesifikasi akan dianggap sebagai desain daripada spesifikasi

Page 22: 4. Kebutuhan Software

22

Rekayasa Perangkat Lunak 43

Bagian dari spesifikasi ATM

class ATM {// declarations herepublic static void main (String args[]) throws InvalidCard {

try {thisCard.read () ; // may throw InvalidCard exceptionpin = KeyPad.readPin () ; attempts = 1 ;while ( !thisCard.pin.equals (pin) & attempts < 4 )

{ pin = KeyPad.readPin () ; attempts = attempts + 1 ;}if (!thisCard.pin.equals (pin))

throw new InvalidCard ("Bad PIN");thisBalance = thisCard.getBalance () ;do { Screen.prompt (" Please select a service ") ;

service = Screen.touchKey () ;switch (service) {

case Services.withdrawalWithReceipt:receiptRequired = true ;

Rekayasa Perangkat Lunak 44

Kelemahan PDL

PDL tidak cukup ekspresif untuk menyatakanfungsional sistem yang dapat dimengertiNotasi hanya dapat dimengerti oleh orang yang mempunyai pengetahuan bahasa pemrogramanKebutuhan dianggap sebagai spesifikasi desaindaripada model untuk membantu mengertisistem

Page 23: 4. Kebutuhan Software

23

Rekayasa Perangkat Lunak 45

Spesifikasi Antar Muka

Sebagian besar sistem harus beroperasi dengansistem lain dan antar muka operasi harusditentukan sebagai bagian kebutuhanTiga tipe antar mukao Antar muka proseduralo Struktur data yang dapat ditukaro Representasi data

Notasi formal adalah teknik efektif untukspesifikasi antar muka

Rekayasa Perangkat Lunak 46

Deskripsi Antar Muka PDL

interface PrintServer {

// defines an abstract printer server// requires: interface Printer, interface PrintDoc// provides: initialize, print, displayPrintQueue, cancelPrintJob, switchPrinter

void initialize ( Printer p ) ;void print ( Printer p, PrintDoc d ) ;void displayPrintQueue ( Printer p ) ;void cancelPrintJob (Printer p, PrintDoc d) ;void switchPrinter (Printer p1, Printer p2, PrintDoc d) ;

} //PrintServer

Page 24: 4. Kebutuhan Software

24

Rekayasa Perangkat Lunak 47

Dokumen KebutuhanDokumen kebutuhan adalah pernyataan resmidari apa yang dibutuhkan oleh developer sistemTerdiri dari definisi dan spesifikasi kebutuhanBUKAN dokumen desain. Sejauh mungkin, menentukan APA yang harus dikerjakan sistemdaripada BAGAIMANA mengerjakannya

Rekayasa Perangkat Lunak 48

User dari dokumenkebutuhan

Konsumen sistem

Manager

Engineer sistem

Engineer testing sistem

Engineer maintenance

sistem

Spesifikasi kebutuhan danmembacanya untuk memeriksa

apakah sesuai kebutuhankonsumen. Konsumenmenentukan perubahan

kebutuhan

Menggunakan dokumenkebutuhan untuk perencanaan

sistem dan merencanakanproses pengembangan sistem

Menggunakan kebutuhanuntuk mengerti sistem apa

yang dikembangkan

Menggunakan kebutuhanuntuk mengembangkan

tes validasi sistem

Menggunakan kebutuhanuntuk membantu mengertisistem dan hubungan antar

bagian

Page 25: 4. Kebutuhan Software

25

Rekayasa Perangkat Lunak 49

Kebutuhan Dokumen KebutuhanMenentukan perilaku sistem eksternalMenentukan batasan implementasiMudah diubahBerlaku sebagai alat referensi untukmaintenanceMenyimpan siklus hidup sistem, misalnyamemprediksi perubahanMenentukan karakter respon untuk even yang tak diharapkan

Rekayasa Perangkat Lunak 50

Standard IEEE untuk KebutuhanPendahuluanDeskripsi UmumKebutuhan spesifikLampiranIndeksMerupakan struktur generik yang harusdisesuaikan sistem spesifik

Page 26: 4. Kebutuhan Software

26

Rekayasa Perangkat Lunak 51

Struktur Dokumen Kebutuhan

PendahuluanDaftar IstilahDefinisi Kebutuhan UserArsitektur SistemSpesifikasi kebutuhan sistemModel sistemEvolusi sistemLampiranIndeks

Rekayasa Perangkat Lunak 52

SummaryKebutuhan menentukan apa yang seharusnyadilakukan sistem dan menentukan batasanoperasi dan implementasiKebutuhan fungsional menentukan servissistem yang harus disediakanKebutuhan non-fungsional membatasipengembangan sistem atau pengembanganprosesKebutuhan user adalah pernyataan level tinggiapa yang sistem harus kerjakan

Page 27: 4. Kebutuhan Software

27

Rekayasa Perangkat Lunak 53

SummaryKebutuhan sistem dapat ditulis dalam bahasaalami, tabel dan diagramKebutuhan sistem dimaksudkan untukmengkomunikasikan fungsi yang harusdisediakan sistemKebutuhan sistem dapat ditulis dalam bahasanatural terstruktur, PDL atau bahasa formalDokumen kebutuhan software adalahpernyataan persetujuan dari kebutuhan sistem