Software Engineering 1 (Requirement Engineering)

46
Rekayasa Perangkat Lunak 1 Adam Mukharil Bachtiar Rekayasa Kebutuhan

Transcript of Software Engineering 1 (Requirement Engineering)

Page 1: Software Engineering 1 (Requirement Engineering)

RekayasaPerangkat Lunak 1

Adam Mukharil Bachtiar

Rekayasa Kebutuhan

Page 2: Software Engineering 1 (Requirement Engineering)

Pemahaman Rekayasa Kebutuhan

Page 3: Software Engineering 1 (Requirement Engineering)

Apa itu rekayasa kebutuhan?

Page 4: Software Engineering 1 (Requirement Engineering)

Proses pembentukan layanan-layanan(fungsional) yang dibutuhkan oleh customer dari sebuahperangkat lunak dan batasan-batasan di mana sistem

tersebut beroperasi dan dikembangkan

Page 5: Software Engineering 1 (Requirement Engineering)

Kenapa butuhrekayasa kebutuhan?

Page 6: Software Engineering 1 (Requirement Engineering)

Jawabannya mudah, karena kita membangunsoftware untuk Customer

Page 7: Software Engineering 1 (Requirement Engineering)

Software Engineer yang baik harus bisa menjadipendengar yang baik danpemberi saran yang baik

Page 8: Software Engineering 1 (Requirement Engineering)

Poor Communication(https://www.youtube.com/watch?v=W1RY_72O_LQ)

Page 9: Software Engineering 1 (Requirement Engineering)

“If your customer is not happy with your software, that means you build a wrong software”

[Head First Quote]

Page 10: Software Engineering 1 (Requirement Engineering)

Tapi harus hati-hati dengan“Fool Customer”

Page 11: Software Engineering 1 (Requirement Engineering)

Bagaimana caramerekayasa kebutuhan?

Page 12: Software Engineering 1 (Requirement Engineering)

Wawancara

Komunikasi verbal untukmendapatkan informasilangsung dari satu atausekelompok orang

Page 13: Software Engineering 1 (Requirement Engineering)

Kuesioner

Komunikasi dalam bentukpertanyaan tertulis yang diberikan ke customer

Page 14: Software Engineering 1 (Requirement Engineering)

Observasi

Peninjauan dan penilaiantentang apa yang terjadi padasuatu proses bisnis

Page 15: Software Engineering 1 (Requirement Engineering)

Analisa Dokumen Manual

Pencarian dan pemahamantentang dokumen manual yang akan ada pada suatukasus pembangunan software

Page 16: Software Engineering 1 (Requirement Engineering)

dan masih banyak lagi…

Page 17: Software Engineering 1 (Requirement Engineering)

Masing-masing model proses akan punyapendekatan tersendiri dalamrekayasa kebutuhan

Page 18: Software Engineering 1 (Requirement Engineering)

Akan tetapi tujuannya samayaitu mendapatkan list kebutuhan pada perangkatlunak yang akan dibangun

Page 19: Software Engineering 1 (Requirement Engineering)

Jenis-Jenis Kebutuhan pada Software

Page 20: Software Engineering 1 (Requirement Engineering)

Kebutuhan pada software dimulai dari domain masalah yang dikenalsebagai user requirement

Page 21: Software Engineering 1 (Requirement Engineering)

Apa yang user harapkan untuk bisa dilakukanpada suatu perangkat lunak, biasanya dituliskan dalam

bentuk User Requirement Document

Page 22: Software Engineering 1 (Requirement Engineering)

Kebutuhan yang baik harusterukur dan dapat diuji

Page 23: Software Engineering 1 (Requirement Engineering)

Contoh 1

“Sistem yang dibangun harus user-friendly”

“Antarmuka yang dibangun harus berbentuk menu-driven, dan

menggunakan komponen yang tepat seperti radio button, check

box, dll”

Page 24: Software Engineering 1 (Requirement Engineering)

Contoh 2

“Semua tampilan harus muncul dengan cepat di layar”

“Ketika user mengakses tampilan, tampilan akan muncul di layar

kurang dari 3 detik”

Page 25: Software Engineering 1 (Requirement Engineering)

Contoh 3

“Usaha untuk login harus dibatasi”“Seorang user hanya

mendapatkan kesempatan 3 kali login salah pada sistem”

Page 26: Software Engineering 1 (Requirement Engineering)

User requirement bisa juga disampaikan dalam bentukuser stories (lihat bab 3)

Page 27: Software Engineering 1 (Requirement Engineering)

Dari User Requirement, kebutuhan akan didetailkan kedalam bentuk solusi domain a.k.a System Requirement

Page 28: Software Engineering 1 (Requirement Engineering)

PARAMETERPEMBANDING

USER REQUIREMENT SYSTEM REQUIREMENT

Kedetilan Informasi Tidak terlalu detil Detil

Target PenggunaPengguna sistem yang tidak mempunyai pengetahuan teknik yang detil

Developer

Bentuk InformasiBahasa natural atau bisa disampaikan dalam bentuk userstories

Grafik, bahasa teknis, format kode, tabel kebutuhan, atau diagram teknis

Page 29: Software Engineering 1 (Requirement Engineering)

Petugas perpustakaan harus bisa menambahkan data buku ke dalam sistem sesuai aturan

User Requirement

• Data buku yang disimpan antara lain: kode ISBN, judul buku, penerbit, pengarang, ....

• ISBN harus diisi dengan format: xxx-999-xxx-999

• Tidak boleh ada data yang dikosongkan pada data buku

• Untuk mengisi data pengarang, petugas perpustakaan memilih dari data pengarang yang

sudah ada

• Sistem bisa melakukan pengisian data buku secara otomatis dengan mengambil data dari

amazon.com.

System Requirement Spesification/Requirement Spesification

Page 30: Software Engineering 1 (Requirement Engineering)

Dari dua tipe kebutuhantersebut, kebutuhan bisadibedakan menjadi kebutuhanfungsional dan non fungsional

Page 31: Software Engineering 1 (Requirement Engineering)

Kita mulai penjelasan darikebutuhan fungsional

Page 32: Software Engineering 1 (Requirement Engineering)

Pernyataan dari layanan sistem yang harus disediakan, bagaimana sistem harus bereaksi terhadap input tertentu,

dan bagaimana sistem harus berperilaku dalam situasitertentu

Page 33: Software Engineering 1 (Requirement Engineering)

Pengguna bisa menambahkan komentar pada status yang muncul di timeline

Sistem menyediakan filter “Clarendon” yang bisa dipilih pengguna

Pengguna bisa men-tag teman pada tweet yang dibuat

Mahasiswa bisa memilih kelas sesuai dengan pilihan kelas yang disediakan

Page 34: Software Engineering 1 (Requirement Engineering)

Selain kebutuhanfungsional, suatu perangkatlunak punya kebutuhannon fungsional

Page 35: Software Engineering 1 (Requirement Engineering)

Batasan-batasan dari layanan-layanan (fungsional) darisebuah sistem, seperti: batasan waktu, batasan daripengembangan proses, dan batasan dari pengguna

Page 36: Software Engineering 1 (Requirement Engineering)

Walaupun bernamakebutuhan non fungsionalakan tetapi kebutuhan initetap harus dipenuhi

Page 37: Software Engineering 1 (Requirement Engineering)

Kebutuhan non fungsional terbagimenjadi: Product Requirement, Organizational Requirement, External Requirement

Page 38: Software Engineering 1 (Requirement Engineering)

Klasifikasi keb. Non fungsional

Page 39: Software Engineering 1 (Requirement Engineering)

Pengguna hanya bisa menambah teman sebanyak 5000 teman, apabila lebih maka pengguna harus membuat pages

Ukuran maksimal gambar yang bisa diupload tidak lebih dari 10 MB (Dummy Example)

Pengguna tidak bisa mengirimkan DM apabila belum follow

Jumlah SKS keseluruhan setiap prodi S1 tidak boleh lebih dari 150 SKS

Page 40: Software Engineering 1 (Requirement Engineering)

Kebutuhan non fungsionalseringkali dinyatakansecara tidak terukur

Page 41: Software Engineering 1 (Requirement Engineering)

Sistem harus cepat Penyimpanan harus hemat Sistem harus high portability

Page 42: Software Engineering 1 (Requirement Engineering)

Beberapa ukuran yang bisa dijadikan acuan agar kebutuhan menjadi terukur

Page 43: Software Engineering 1 (Requirement Engineering)

PROPERTI UKURAN

Kecepatan1. Transaksi yang diproses/detik2. Waktu respon pengguna/event3. Waktu refresh layar

Ukuran1. K Bytes2. Jumlah RAM

Kemudahan Penggunaan1. Waktu Pelatihan2. Jumlah help yang disediakan

Reliabilitas

1. Rata-rata waktu kegagalan2. Kemungkinan untuk tidak bisa diakses3. Jumlah kegagalan yang terjadi4. Availability

Robustness1. Waktu untuk restart ketika terjadi kegagalan2. Persentase dari kegagalan3. Kemungkinan data hilang ketika terjadi kegagalan

Portability1. Persentase dari statement yang berhasil dieksekusi pada target system2. Jumlah dari target system yang bisa dilayani

.. ..

Page 44: Software Engineering 1 (Requirement Engineering)

Waktu layanan < 2 sekon Ukuran file < 10 MBSistem harus berjalan di OS

Windows dan Linux

Page 45: Software Engineering 1 (Requirement Engineering)

Discussion Time

Page 46: Software Engineering 1 (Requirement Engineering)

Cari kebutuhan fungsional dan non fungsional(Lakukan per kelompok tugas besar)

• Youtube• Snapchat• Qraved

• Trello• Path• Line

• Spotify• Office Lens• Go-Jek