• Tidak ada hasil yang ditemukan

ANALISIS KEBUTUHAN DAN SPESIFIKASI

N.1: Basis Data: Sistem manajemen basis data yang tersedia gratis di domain publik harus digunakan

4.8 LATIHAN

Pro dan Kontra spesifikasi aljabar

Spesifikasi aljabar memiliki dasar matematika yang kuat dan dapat dipandang sebagai aljabar heterogen. Oleh karena itu, mereka tidak ambigu dan tepat. Menggunakan spesifikasi aljabar, efek dari sembarang urutan operasi yang melibatkan prosedur antarmuka dapat dipelajari secara otomatis. Kelemahan utama dari spesifikasi aljabar adalah bahwa mereka tidak dapat menangani efek samping. Oleh karena itu, spesifikasi aljabar sulit untuk diintegrasikan dengan bahasa pemrograman biasa. Juga, spesifikasi aljabar sulit dipahami.

b. Dokumen spesifikasi persyaratan perangkat lunak (SRS) harus menghindari pembahasan yang mana dari berikut ini?

i. Persyaratan fungsional ii. Persyaratan non-fungsional iii. Spesifikasi desain

iv. Kendala pada implementasi

c. Manakah dari berikut ini yang bukan merupakan tujuan dari analisis kebutuhan?

i. Singkirkan ambiguitas dalam persyaratan ii. Menyingkirkan inkonsistensi dalam persyaratan iii. Singkirkan persyaratan non-fungsional

iv. Menyingkirkan ketidaklengkapan dalam persyaratan

d. Pertimbangkan persyaratan berikut untuk perangkat lunak pengolah kata:

"Perangkat lunak harus menyediakan fasilitas untuk mengimpor gambar yang ada yang tersedia sebagai file jpeg ke dalam dokumen yang sedang dibuat." Manakah dari jenis persyaratan berikut ini?

i. Persyaratan fungsional ii. Persyaratan non-fungsional iii. Kendala pada implementasi iv. Tujuan implementasi

e. Asumsikan bahwa Anda adalah manajer proyek dari proyek pengembangan untuk aplikasi pemrosesan data di mana persyaratan pengguna untuk bagian GUI tidak terlalu jelas. Model siklus hidup mana yang akan Anda gunakan untuk mengembangkan bagian GUI?

i. Model air terjun klasik ii. Model air terjun berulang iii. Model prototipe

iv. Model spiral

2. Apa perbedaan antara analisis persyaratan dan spesifikasi? Apa saja aktivitas penting yang dilakukan selama fase analisis kebutuhan dan spesifikasi? Apa hasil akhir dari fase analisis kebutuhan dan spesifikasi?

3. Apa tujuan dari fase analisis kebutuhan dan spesifikasi? Bagaimana kegiatan analisis kebutuhan dan spesifikasi dilakukan dan oleh siapa?

4. Diskusikan cara-cara penting di mana dokumen SRS yang dirumuskan dengan baik dapat bermanfaat bagi berbagai pemangku kepentingan.

5. Apa perbedaan antara persyaratan fungsional dan non-fungsional dari suatu sistem?

Identifikasi setidaknya dua persyaratan fungsional dari sistem mesin anjungan tunai mandiri (ATM) bank. Juga mengidentifikasi satu kebutuhan non-fungsional untuk sistem ATM.

6. Apa empat jenis kebutuhan non-fungsional yang diusulkan oleh dokumen standar IEEE 830. Berikan satu contoh dari masing-masing kategori persyaratan ini.

7. Apa yang Anda pahami dengan pengumpulan persyaratan? Sebutkan dan jelaskan teknik pengumpulan persyaratan yang berbeda yang biasanya digunakan oleh seorang analis.

8. Apa saja jenis masalah persyaratan yang biasanya diantisipasi dan diperbaiki oleh analis dalam persyaratan yang dikumpulkan sebelum mulai menulis dokumen SRS? Berikan setidaknya satu contoh untuk masing-masing.

9. Jelaskan kemungkinan konsekuensi memulai upaya pengembangan proyek besar tanpa secara akurat memahami dan mendokumentasikan persyaratan pelanggan.

10. Misalkan Anda telah ditunjuk sebagai analis untuk proyek pengembangan perangkat lunak yang besar. Diskusikan aspek produk perangkat lunak yang akan Anda dokumentasikan dalam dokumen spesifikasi persyaratan perangkat lunak (SRS)? Apa yang akan menjadi organisasi dokumen SRS Anda? Bagaimana Anda akan memvalidasi dokumen SRS Anda?

11. Buat daftar periksa kesalahan yang mungkin ada dalam dokumen SRS. Daftar periksa ini dapat digunakan untuk meninjau dokumen SRS.

12. Tuliskan pengguna penting dari dokumen SRS untuk sebuah proyek, cara spesifik di mana mereka menggunakan dokumen tersebut, dan harapan spesifik mereka dari dokumen tersebut, jika ada.

13. Apa yang Anda pahami dengan masalah spesifikasi berlebih, referensi ke depan, dan noise dalam dokumen SRS? Jelaskan masing-masing dengan contoh yang sesuai.

14. Apa perbedaan antara persyaratan fungsional dan non-fungsional? Berikan satu contoh dari setiap jenis persyaratan untuk perangkat lunak otomatisasi perpustakaan.

15. Sebutkan lima karakteristik yang diinginkan dari dokumen spesifikasi persyaratan perangkat lunak (SRS) yang baik.

16. Misalkan Anda mencoba mengumpulkan persyaratan untuk perangkat lunak yang perlu dikembangkan untuk mengotomatisasi kegiatan pembukuan supermarket. Identifikasi tugas utama yang akan Anda lakukan sebagai analis untuk mengumpulkan persyaratan secara memuaskan.

17. Bagaimana prinsip abstraksi dan dekomposisi digunakan dalam pengembangan spesifikasi kebutuhan perangkat lunak yang baik?

18. Misalkan analis dari usaha pengembangan produk besar telah menyiapkan dokumen SRS dalam bentuk esai naratif dari sistem yang akan dikembangkan. Berdasarkan dokumen ini, aktivitas pengembangan produk dimulai. Jelaskan masalah yang mungkin dibuat oleh dokumen spesifikasi persyaratan saat mengembangkan perangkat lunak.

19. Diskusikan keuntungan relatif dari spesifikasi persyaratan formal dan informal.

20. Mengapa dokumen SRS disebut juga sebagai spesifikasi kotak hitam suatu sistem?

21. Siapa saja kategori pengguna dokumen SRS yang berbeda? Dalam hal apa dokumen SRS berguna bagi mereka?

22. Berikan contoh kebutuhan fungsional yang tidak konsisten. Jelaskan mengapa menurut Anda persyaratan tersebut tidak konsisten.

23. Apa yang Anda pahami dengan ketertelusuran dalam konteks spesifikasi persyaratan perangkat lunak. Bagaimana ketertelusuran dicapai? Identifikasi setidaknya dua manfaat penting memiliki ketertelusuran di antara artefak pengembangan.

24. Nyatakan apakah pernyataan berikut BENAR atau SALAH. Berikan alasan untuk jawaban Anda.

a. Aplikasi yang dikembangkan menggunakan 4GL biasanya akan lebih efisien dan berjalan lebih cepat dibandingkan dengan aplikasi yang dikembangkan menggunakan 3GL.

b. Spesifikasi formal tidak boleh ambigu.

c. Spesifikasi formal tidak boleh tidak lengkap.

d. Spesifikasi formal tidak boleh tidak konsisten.

e. Rencana pengujian sistem dapat disiapkan segera setelah selesainya fase spesifikasi persyaratan.

f. Dokumen SRS adalah spesifikasi formal dari suatu sistem.

g. Masalah antarmuka pengguna suatu sistem biasanya merupakan persyaratan fungsionalnya.

h. Dokumen SRS ditulis menggunakan terminologi pelanggan dari berbagai data dan prosedur dalam masalah, daripada terminologi tim pengembangan.

i. Spesifikasi yang tepat tidak mungkin tidak lengkap.

j. Jika spesifikasi persyaratan tepat, maka secara otomatis akan menyiratkan bahwa itu adalah spesifikasi persyaratan yang tidak ambigu.

25. Gambarkan logika pemrosesan dari masalah berikut dalam bentuk tabel keputusan:

Sistem Otomasi Keanggotaan Perpustakaan perlu mendukung tiga fungsi: add new member, memperbarui keanggotaan, membatalkan keanggotaan. Jika pengguna meminta fungsi apa pun selain dari ketiga fungsi ini, maka pesan kesalahan akan di-flash.

Ketika permintaan tambah anggota baru dibuat, catatan anggota baru dibuat dan tagihan untuk biaya keanggotaan tahunan untuk anggota baru dibuat. Jika permintaan perpanjangan keanggotaan dibuat, maka tanggal kedaluwarsa dari catatan keanggotaan yang bersangkutan diperbarui dan tagihan untuk biaya keanggotaan tahunan dibuat.

Jika permintaan pembatalan keanggotaan dibuat, maka catatan keanggotaan yang bersangkutan dihapus dan cek untuk jumlah saldo yang harus dibayar anggota dicetak.

26. Apa yang Anda pahami dengan kondisi pra dan pasca suatu fungsi? Tulis pra-dan pasca- kondisi untuk secara aksiomatis menentukan fungsi-fungsi berikut:

a. Sebuah fungsi mengambil dua bilangan floating point yang mewakili sisi-sisi persegi panjang sebagai input dan mengembalikan luas dari yang sesuai persegi panjang sebagai output.

b. Suatu fungsi menerima tiga bilangan bulat dalam kisaran -100 dan +100 dan menentukan yang terbesar dari ketiga bilangan bulat tersebut.

c. Sebuah fungsi mengambil array bilangan bulat sebagai input dan menemukan nilai minimumnya.

d. Sebuah fungsi bernama square-array membuat 10 elemen array dimana setiap elemen array, nilai setiap elemen array adalah kuadrat dari indeksnya.

e. Pengurutan fungsi mengambil array integer sebagai argumennya dan mengurutkan array input dalam urutan menaik.

27. Dengan menggunakan metode spesifikasi aljabar, tentukan secara formal string yang mendukung operasi berikut:

a. tambahkan: tambahkan string yang diberikan ke string lain b. tambahkan: menambahkan karakter ke string

c. buat: buat string nol baru

d. isequal: memeriksa apakah dua string sama atau tidak e. isempty: memeriksa apakah string tersebut null

28. Menggunakan metode spesifikasi aljabar, tentukan secara formal array elemen tipe generik. Asumsikan bahwa array mendukung operasi berikut:

a. create: mengambil batas larik sebagai parameter dan menginisialisasi nilai larik ke undefined.

b. eval: mengungkapkan nilai elemen tertentu.

c. first: mengembalikan batas pertama larik.

d. last: mengembalikan batas terakhir larik.

29. Apa yang Anda pahami dengan bahasa spesifikasi yang dapat dieksekusi? Apa bedanya dengan bahasa pemrograman prosedural tradisional? Berikan contoh bahasa spesifikasi yang dapat dieksekusi.

30. Apa yang dimaksud dengan teknik pemrograman generasi keempat? Apa kelebihan dan kekurangannya dibandingkan dengan teknik generasi ketiga?

31. Apa fungsi bantu dalam spesifikasi aljabar? Mengapa ini dibutuhkan?

32. Apa yang Anda pahami dengan perkembangan inkremental dari spesifikasi aljabar? Apa keuntungan dari pengembangan inkremental dari spesifikasi aljabar?

a. Secara aljabar tentukan tipe data abstrak yang menyimpan sekumpulan elemen dan mendukung operasi berikut. Asumsikan bahwa elemen ADT telah ditentukan dan Anda dapat menggunakannya:

i. new: membuat set nol.

ii. add : mengambil set dan elemen dan mengembalikan set dengan elemen tambahan yang disimpan.

iii. size: mengambil satu set sebagai argumen dan mengembalikan jumlah elemen dalam set.

iv. remove: mengambil set dan elemen sebagai argumennya dan mengembalikan set dengan elemen yang dihapus.

v. fill: satu set dan elemen sebagai argumennya dan mengembalikan nilai boolean true jika elemen termasuk dalam himpunan dan mengembalikan false jika elemen bukan milik himpunan.

vi. equals: mengambil dua set sebagai argumen dan mengembalikan true jika mengandung elemen identik dan mengembalikan false sebaliknya.

b. Menggunakan spesifikasi yang telah Anda kembangkan untuk himpunan ADT, kurangi ekspresi berikut dengan menerapkan aturan penulisan ulang: equals (add(5, (add(6, new()), add(6, (add(5, new ()))).Tampilkan detail setiap pengurangan.

33. Secara aljabar tentukan tipe data Point, yang mendukung operasi berikut: create, xcoord, ycoord, move, movex, movey. Arti informal dari operasi ini adalah sebagai berikut—create mengambil dua bilangan bulat sebagai argumennya dan membuat turunan tipe titik yang memiliki dua bilangan bulat sebagai nilai koordinat x dan y masing-masing, xcoord dan ycoord mengembalikan koordinat x dan y dari a titik yang diberikan, move mengambil sebuah titik dan dua nilai integer sebagai argumennya dan menetapkan koordinat x dan y dari titik tersebut ke nilai yang ditentukan, movex mengambil sebuah titik dan sebuah nilai integer sebagai argumennya dan menetapkan koordinat x dari titik tersebut ke nilai integer yang diberikan. Demikian pula, movey mengambil titik dan nilai bilangan bulat dan menetapkan koordinat y dari titik ke nilai bilangan bulat yang diberikan. Kurangi ekspresi berikut, tunjukkan dengan jelas setiap langkah dan sebutkan aturan pengurangan yang digunakan.

xcoord(movex(create(20.100), ycoord(create(10,50)))

34. Tulis spesifikasi aljabar formal dari tabel simbol pengurutan yang operasinya didefinisikan secara informal sebagai berikut:

a. create: membuat tabel simbol menjadi ada.

b. enter: memasukkan tabel simbol dan tipenya ke dalam tabel.

c. lookup: mengembalikan tipe yang terkait dengan nama dalam tabel.

d. delete: hapus nama, ketik pasangan dari tabel, beri nama sebagai parameter.

e. replace: mengganti tipe yang terkait dengan nama yang diberikan dengan tipe yang ditentukan sebagai parameternya. Operasi enter gagal jika nama sudah ada di tabel. Operasi pencarian, penghapusan, dan penggantian gagal jika nama tidak tersedia dalam tabel.

35. Tentukan secara aljabar antrian tipe data yang mendukung operasi berikut:

a. create: membuat antrian kosong.

b. append: mengambil antrian dan item sebagai argumennya dan mengembalikan antrian dengan item ditambahkan di akhir antrian.

c. delete: mengambil antrian sebagai argumennya dan mengembalikan antrian dengan elemen pertama dari antrian asli dihapus.

d. inspect: mengambil antrian sebagai argumennya dan mengembalikan nilai item pertama dalam antrian.

e. isempty: mengambil antrian sebagai argumennya dan mengembalikan true jika antrian tidak mengandung elemen, dan mengembalikan false jika berisi satu atau lebih elemen.

f. Anda dapat mengasumsikan bahwa item tipe data telah ditentukan sebelumnya dan Anda dapat menggunakan kembali spesifikasi ini.

36. Tentukan terminasi hingga dan properti terminasi unik dari spesifikasi aljabar? Mengapa diperlukan spesifikasi aljabar untuk memenuhi sifat-sifat ini?

37. Jika model prototyping digunakan dalam upaya pengembangan, apakah perlu untuk mengembangkan dokumen spesifikasi persyaratan?

38. Nyatakan pengambilan keputusan yang terlibat dalam fungsi penarikan tunai berikut dari ATM bank menggunakan tabel keputusan. Untuk menarik uang tunai, pertama- tama diperlukan identifikasi pelanggan yang valid. Untuk ini, pelanggan diminta untuk memasukkan kartu ATM-nya ke mesin pengecekan kartu. Jika kartunya ditemukan tidak valid, kartu dikeluarkan bersama dengan pesan yang sesuai ditampilkan. Jika kartu diverifikasi sebagai kartu yang valid, pelanggan diminta untuk mengetikkan kata sandinya. Jika kata sandi tidak valid, pesan kesalahan ditampilkan dan pelanggan diminta untuk memasukkan kata sandinya lagi. Jika nasabah salah memasukkan password sebanyak tiga kali berturut-turut, maka kartunya disita dan diminta untuk menghubungi pengelola bank. Di sisi lain, jika pelanggan memasukkan kata sandinya dengan benar, maka dia dianggap telah mengidentifikasi dirinya secara sah dan diminta untuk memasukkan jumlah yang perlu dia tarik. Jika ia memasukkan jumlah yang bukan kelipatan Rp. 100 ribu, dia diminta untuk memasukkan jumlah lagi. Setelah ia memasukkan jumlah yang merupakan kelipatan Rp. 100 ribu, uang tunai dikeluarkan jika jumlah yang cukup tersedia di rekeningnya dan kartunya dikeluarkan; jika tidak, kartunya dikeluarkan tanpa ada uang tunai yang dikeluarkan bersama dengan tampilan pesan tentang posisi dana yang tidak mencukupi di rekeningnya.

39. Identifikasi kebutuhan fungsional dan non-fungsional dalam uraian masalah berikut dan dokumentasikan. Perangkat lunak jam kosmopolitan akan dikembangkan yang menampilkan hingga 6 jam dengan nama kota dan waktu setempat. Jam harus dirancang secara estetis. Perangkat lunak harus memungkinkan pengguna untuk mengubah nama kota mana pun dan mengubah pembacaan waktu setiap jam dengan mengetikkan c (untuk konfigurasi) pada jam mana pun. Pengguna juga harus dapat beralih antara jam digital dan tampilan jam analog dengan mengetikkan d (untuk digital) atau a (untuk analog) pada tampilan jam. Setelah implementasi yang berdiri sendiri bekerja, versi web harus dikembangkan yang dapat diunduh pada browser sebagai applet dan dijalankan.

Jam seharusnya hanya menggunakan siklus idle di komputer yang dijalankannya.

40. Apa yang Anda pahami dengan inkonsistensi, anomali, dan ketidaklengkapan dalam dokumen SRS. Identifikasi inkonsistensi, anomali, dan ketidaklengkapan dalam persyaratan berikut dari perangkat lunak otomatisasi aktivitas akademik dari lembaga pendidikan: “Kinerja semester setiap mahasiswa dihitung sebagai kinerja akademik rata- rata untuk semester tersebut. Wali dari semua mahasiswa yang memiliki catatan kinerja buruk di semester dikirimi surat yang menginformasikan tentang kinerja lingkungan yang buruk dan mengisyaratkan bahwa pengulangan kinerja yang buruk di semester berikutnya dapat menyebabkan pengusiran. Kegiatan ekstrakurikuler seorang

mahasiswa juga dinilai dan dijadikan pertimbangan untuk penentuan prestasi semester.”

41. Identifikasi inkonsistensi, anomali, dan ketidaklengkapan yang ada dalam persyaratan berikut yang dikumpulkan dengan mewawancarai pegawai departemen CSE untuk mengembangkan perangkat lunak otomatisasi akademik (AAS): “CGPA setiap mahasiswa dihitung sebagai kinerja rata-rata untuk semester. Orang tua dari semua mahasiswa yang memiliki kinerja buruk dikirimi surat yang menginformasikan tentang kinerja yang buruk di lingkungan mereka dan dengan permintaan untuk menyampaikan peringatan kepada mahasiswa bahwa kinerja yang buruk tidak boleh diulangi.

42. Mewakili pengambilan keputusan yang terlibat dalam persyaratan fungsional sistem otomasi perpustakaan berikut: Item Masalah: Item ketika diserahkan di konter bersama dengan kartu identitas perpustakaan, pertama-tama ditentukan apakah anggota telah melebihi kuotanya. Jika dia telah melebihi kuotanya, maka tidak ada barang yang bisa dikeluarkan untuknya. Jika item yang diminta adalah jurnal, maka diterbitkan hanya untuk dua hari. Jika itu buku, maka diperiksa apakah itu buku referensi. Buku referensi tidak dapat dikeluarkan. Jika itu bukan buku referensi, ditentukan apakah ada yang memesannya. Buku yang dipesan tidak dapat diterbitkan. Jika permintaan penerbitan buku anggota memenuhi semua kriteria yang disebutkan, maka buku tersebut dikeluarkan untuk anggota selama satu bulan, entri yang sesuai dibuat di rekening anggota dan slip penerbitan dicetak.

43. Misalkan Anda ingin mengembangkan perangkat lunak pengolah kata yang memiliki fitur yang mirip dengan Microsoft Word. Kembangkan dokumen SRS untuk perangkat lunak pengolah kata ini.

BAB 5

Dalam dokumen Perangkat Lunak - Digital Library Univ STEKOM (Halaman 177-184)