• Tidak ada hasil yang ditemukan

The Problems with our Requirements Practices

N/A
N/A
Protected

Academic year: 2019

Membagikan "The Problems with our Requirements Practices"

Copied!
31
0
0

Teks penuh

(1)

Requirements

Engineering

(2)

Requirements Engineering

• Problems with requirements practices

• Requirements engineering tasks (Inception, Elicitation,

Elaboration, Negotiation, Specification, Validation, Requirements management)

Initiating the Requirements Engineering Process

Collaborative Requirement Gathering

• Developing Use Case

(3)

3

The Problems with our

Requirements Practices

• Kesulitan memahami kebutuhan dari pelanggan • Persyaratan sering direkam dengan tidak teratur

• Menghabiskan terlalu banyak waktu memverifikasi data • Membolehkan perubahan untuk pengendalian, dari pada

membangun mekanisme untuk mengontrol perubahan

• Yang paling penting, gagal untuk membangun dasar yang kuat untuk sistem atau membangun perangkat lunak yang diinginkan pengguna

(4)

4

The Problems with our

Requirements Practices (continued)

• Banyak pengembang software berpendapat bahwa

– Membangun perangkat lunak begitu menarik bahwa sehingga ingin langsung memulai (sebelum memiliki pemahaman yang jelas tentang apa yang dibutuhkan)

– Hal akan menjadi jelas saat kita membangun perangkat lunak

– Stakeholder proyek akan dapat lebih memahami apa yang mereka butuhkan hanya setelah memeriksa iterasi awal dari perangkat lunak

– Banyak hal yang berubah begitu cepatnya bahwa kebutuhan rekayasa adalah buang-buang waktu

– Intinya adalah memproduksi program kerja dan bahwa semua yang lain adalah sekunder

• Semua argumen ini mengandung beberapa kebenaran, terutama untuk proyek-proyek kecil yang memakan waktu kurang dari satu bulan untuk menyelesaikan

(5)

5

A Solution: Requirements

Engineering

• Dimulai selama kegiatan komunikasi dan berlanjut sampai kegiatan modeling.

• Membangun jembatan dari sistem Requirements ke dalam desain software dan konstruksi

• Memungkinkan kebutuhan engineering untuk memeriksa

– Konteks kerja perangkat lunak yang akan dilakukan

– Kebutuhan spesifik bahwa desain dan konstruksi harus mengatasi

– Prioritas yang memandu urutan pekerjaan yang harus diselesaikan

(6)

Why is Getting Good

Requirements Hard?

 Stakeholder tidak tahu apa yang mereka inginkan.

 Stakeholder mengungkapkan persyaratan dalam istilah mereka sendiri.

 Stakeholder yang berbeda mungkin memiliki persyaratan yang saling bertentangan.

 Faktor Organisasi dan politik dapat mempengaruhi persyaratan sistem.

(7)

Requirements Engineering Tasks

Requirements

Engineering

menyediakan

mekanisme untuk memahami keinginan client,

menganalisa kebutuhan, menilai fisibilitas solusi,

melakukan negosiasi pemilihan solusi yang tepat,

menghilangkan

ambigu,

memvalidasi

solusi,

“mengelola”

kebutuhan agar dapat diubah ke

(8)

Requirements Engineering Tasks

(cont.)

Rekayasa

kebutuhan

membangun

jembatan

menuju desain dan pembangunan perangkat lunak

dengan menyediakan mekanisme yang tepat untuk

memahami

apa

yang

diinginkan

klien,

menganalisis

kebutuhan,

menguji

kelayakan,

(9)

9

Requirements Engineering Tasks

(cont.)

 Seven distinct tasks

1. Inception (Permulaan) 2. Elicitation

3. Elaboration (Perluasan) 4. Negotiation

5. Specification 6. Validation 7. Management

 Beberapa tugas ini dapat terjadi secara paralel dan semua disesuaikan dengan kebutuhan proyek

 Semua berusaha untuk menentukan apa yang pelanggan inginkan

(10)

Inception

 Inception atau permulaan, merupakan awal dari terjadinya pembicaraan tentang kebutuhan akan software. Permulaan ini dapat terjadi karena dari pembicaraan biasa,kebutuhan bisnis yang dirasakan, adanya pasar potensial, atau munculnya layanan potensial yang dapat dilakukan oleh software.

 Mengidentifikasi stakeholder

 Siapa yg menginginkan sistem/program?  Siapa yg menggunakan solusi?

(11)

Inception

Memahami masalah

 Bagaimana karakteristik solusi yg baik ?

 Masalah apa yang dipecahkan oleh solusi tsb?

 Bagaimana kondisi business environment dimana solusi tersebut diimplementasikan?

 Apakah ada masalah dan batasan tertentu yag

(12)

Elicitation

Klien

mengungkapkan

kebutuhan. Proses ini tidak

mudah karena: batasan sistem sering tidak jelas,

klien tidak cukup paham apa yang dibutuhkan dan

kebutuhan sering berubah.

 Problems of scope

(13)

Elicitation

Product Request

1. Membuat daftar semua objek yang merupakan bagian dari sistem.

2. Membuat daftar semua obyek yg dihasilkan oleh sistem 3. Membuat daftar semua obyek yg digunakan oleh sistem.

4. Membuat daftar fungsi/piranti/proses yg berinteraksi dg obyek2 tersebut.

(14)

Elaboration

Penjelasan. Apa yang diungkapkan pada proses

permulaan

dan

pengungkapan

kebutuhan,

dijelaskan panjang lebar.

Fokus pada pemodelan fungsi, fitur dan batasan

dari perangkat lunak.

Dalam kasus OOP, maka class, atribute dan

(15)

Negotiation

Negosiasi bukanlah suatu kompetisi

Buat suatu strategi (Apa yg kita inginkan? Apa yg

client inginkan ?)

Mendengarkan secara aktif.

Fokus pada apa yg menjadi keinginan client.

Jangan anggap

‘personal’

Jadilah kreatif

Komitmen terhadap keputusan yg diambil.

(16)

Negotiation

Examines the specification to ensure that all software requirements have been stated unambiguosly; that inconsistencies, omissions and errors have been detected and corrected

(17)

Specification

Spesifikasi dapat berupa dokumen, model grafik,

model matematika, skenario atau prototype yang

merupakan produk akhir dari rekayasa kebutuhan.

Apa yang disajikan sebagai spesifikasi merupakan

hasil identifikasi kebutuhan melalui

aktifitas-aktifitas sebelumnya.

Spesifikasi menggambarkan fungsi dan kenerja

(18)

Validation

Menguji

kualitas

dari

spesifikasi

untuk

memastikan kebutuhan yang dinyatakan dapat

diterima/sepaham, konsisten, lengkap dan bebas

kesalahan.

(19)

Management

(20)

Initiating The Requirements

Engineering Process

• Identifikasi stakeholders (pemangku kepentingan)

• Mengakui keberadaan beberapa sudut pandang stakeholder • Bekerja kolaborasi antara stakeholder

• Pertanyaan bebas konteks ini fokus pada pelanggan, stakeholder, tujuan keseluruhan, dan manfaat dari sistem

– Siapa yang meminta untuk bekerja?

– Siapa yang akan menggunakan solusi?

– Apa yang akan menjadi keuntungan ekonomi dari solusi yang sukses?

(21)

Initiating The Requirements

Engineering Process

• Set pertanyaan berikutnya memungkinkan pengembang untuk lebih memahami masalah dan persepsi pelanggan berdasarkan solusi

– Bagaimana ciri output yang bagus untuk solusi yang sukses?

– Apa masalah dari solusi ini?

– Dapatkah Anda menggambarkan lingkungan bisnis dimana solusi digunakan?

– Adakah kendala yang mempengaruhi dalam pendekatan solusi?

• Set pertanyaan terakhir berfokus pada efektivitas komunikasi

– Apakah Anda orang terbaik untuk memberikan jawaban “resmi” atas pertanyaan ini?

– Apakah pertanyaan saya relevan dengan masalah Anda?

– Apakah saya terlalu banyak bertanya?

– Dapatkah orang lain memberikan informasi tambahan?

(22)

How would you resolve

this?

(23)

Collaborative Requirement

Gathering

• Rapat yang dihadiri oleh seluruh pemangku kepentingan.

• Aturan ditetapkan untuk persiapan dan partisipasi.

• Agenda harus cukup untuk menutup semua poin penting formal, tapi cukup informal untuk mendorong aliran ide.

• Seorang fasilitator mengendalikan pertemuan.

• Mekanisme definisi (papan tulis, sandal grafik, dll) yang digunakan..

• Dalam pertemuan tersebut: – Masalahnya diidentifikasi.

– Elemen dari solusi yang diusulkan.

– Pendekatan yang berbeda dinegosiasikan.

– Seragkaian dari persyaratan solusi diperoleh.

(24)

Collaborative requirement

gathering

• Dalam pertemuan awal, mendistribusikan "permintaan produk" (didefinisikan oleh stakeholder) untuk semua peserta.

• Berdasarkan permintaan produk, masing-masing peserta diminta untuk membuat

– Daftar objek (internal atau benda sistem eksternal)

– Daftar (Proses atau fungsi)

– Daftar kendala (biaya, ukuran, aturan bisnis) dan

– kriteria kinerja (kecepatan, ketepatan) yang dikembangkan.

• Mengumpulkan daftar dari semua orang dan digabungkan.

• Daftar gabungan meniadakan entri berlebihan, menambahkan ide-ide baru, tetapi tidak menghapus.

(25)

• Berdasarkan daftar, tim dibagi menjadi lebih kecil sub-tim: setiap bekerja untuk mengembangkan mini-spesifikasi

untuk satu atau lebih masukan pada setiap daftar.

• Setiap sub-tim hadiah yang mini-spesifikasi untuk semua peserta diskusi. Selain itu, penghapusan dan elaborasi lebih lanjut dibuat.

• Sekarang masing-masing tim membuat daftar kriteria validasi untuk produk dan hadir untuk tim.

• Akhirnya, satu atau lebih peserta ditugaskan tugas menulis draft spesifikasi lengkap.

(26)

Use Cases

(27)

Developing Use Case

• Use Case menggambarkan interaksi antara pengguna dan sistem.

• Berfokus pada apa sistem dilakukan untuk pengguna. • Menggambarkan totalitas sistem dan perilaku sistem. • Includes:

– Actors List

– Use Case Packages

– Use Case Diagrams

– Use Case Text

– Use Case Views :

(28)

Activities Involved in Use Cases

Find Actors

– Project Manager – Architect

– End-Users – Customers

– Development Team

Find Use Cases

Describe the use case

(29)

Steps for Developing Use case

Diagram

1. Use Abstract Idea

2. Define use case actors

3. Define use case actors goals

4. Identify reuse opportunity for use case 5. Create use case inedx

6. Identify the key components

7. Name and briefly describe the use case 8. Create use case basic view

9. Create use case alternate flows 10. Produre the use case decument

11. Generate a use case model diagram

(30)

Sample Use Case Diagram

(31)

Terima Kasih

Referensi

Dokumen terkait

Sebagai salah satu program pembangunan berbasis/digerakkan oleh masyarakat yang ditujukan untuk mendukung terwujudnya kota tanpa pemukiman kumuh, program NUSP-2 akan

Tidak hanya menempuh pendidikan formal ia juga menempuh pendidikan informal yang diberikan ayahnya secara langsung ia mendapatkan pendidikan agama dari ayahnya

Dalam rangka menjamin pasien memperoleh pelayanan asuhan keperawatan berkualitas, maka perawat sebagai pemberi pelayanan harus bermutu, kompeten, etis

Hasil dan kesimpulan dari penelitian ini adalah pembangunan BIJB merupakan suatu kebijakan pemerintah dalam upaya peningkatan sarana transportasi udara serta

Persyaratan infrastruktur konstruksi dibuat untuk mengantisipasi seluruh proses penyiapan manufaktur, fabrikasi, peralatan konstruksi dan sumber daya manusia yang diperlukan

NO DESCRIPTION DESCRIPTION LOCATION LOCATION CUSTOMER CUSTOMER ADDRESS ADDRESS DATE DATE VALUE VALUE IDR.. IDR

Pak Menteri dan jajarannya. Saya berterima kasih sekali sama Pak Menteri karena reaksi cepat sekali menanggapi segala sesuatu yang ada di lingkungan terutama

Bahan yang digunakan adalah 65 ekor ikan Guppy (Poecilia reticulata), yang merupakan sebagai objek yang akan diamati, berukuran kecil dengan panjang ± 5 cm; air