Perangkat Lunak
~ ~ Meet 03 ~ ~
– Pada pertemuan sebelumnya kita telah melihat kumpulan aktivitas yang dilakukan
ketika PL akan dibuat.
– Masing-masing aktivitas ini berada dalam kerangka kerja atau model yang
mendefinisikan hubungan mereka dengan proses lain.
– Setiap aktivitas rekayasa perangkat lunak didefinisikan dengan :
1. mengidentifikasi tugas kerja yang harus diselesaikan
2. produk kerja yang akan dihasilkan
3. poin jaminan kualitas yang akan diperlukan
4. dan milestone yang akan digunakan untuk menunjukkan kemajuan.
Pendahuluan
– mengeksekusi satu atau lebih aktivitas secara paralel dengan aktivitas lain
(mis., pemodelan untuk satu aspek perangkat lunak dapat dieksekusi secara
paralel dengan konstruksi aspek lain dari perangkat lunak)
Prescriptive Process
Models
Prescriptive Process Models
– Tidak ada jawaban yang mudah untuk pertanyaan-pertanyaan ini, tetapi ada
alternatif yang tersedia untuk para insinyur perangkat lunak.
– Disebut "preskriptif" karena mereka meresepkan satu set elemen proses —
aktivitas kerangka kerja, tindakan rekayasa perangkat lunak, tugas, produk
kerja, jaminan kualitas, dan mekanisme kontrol perubahan untuk setiap
proyek.
– Setiap model proses juga menentukan process flow (juga disebut work flow)
—yaitu, cara elemen proses saling terkait satu sama lain.
Prescriptive Process Models
– Beberapa kekuatan dan kelemahan model proses yang telah kita bahas
– Kenyataannya tidak ada proses yang sempurna untuk setiap proyek.
– Biasanya tim perangkat lunak mengadaptasi satu atau lebih model proses
yang dibahas atau menggunakan agile process models.
Agile Process Models
What Is Agility
– Tetapi agility lebih dari sekadar respons yang efektif terhadap perubahan.
– Agility juga mendorong struktur dan sikap tim yang membuat komunikasi (antara
anggota tim, antara teknolog dan pebisnis, dan antara insinyur perangkat lunak
dan manajer mereka) lebih mudah.
– Agility menekankan pengiriman perangkat lunak yang cepat dan tidak
menekankan pentingnya produk kerja perantara (tidak selalu merupakan hal
yang baik).
– Agility menganggap pelanggan sebagai bagian dari tim pengembangan dan
bekerja untuk menghilangkan sikap "kita dan mereka" yang terus meliputi
banyak proyek perangkat lunak.
What Is Agility
– Memahami kebutuhan adalah salah satu tugas paling sulit yang dihadapi seorang
insinyur perangkat lunak.
– Ketika Anda pertama kali memikirkannya, mengembangkan pemahaman yang
jelas tentang persyaratan tampaknya tidak terlalu sulit. Lagi pula, bukankah
pelanggan tahu apa yang dibutuhkan? Bukankah seharusnya pengguna akhir
memiliki pemahaman yang baik tentang fitur dan fungsi yang mereka butuhkan?
– Anehnya, dalam banyak kasus, jawaban atas pertanyaan-pertanyaan ini adalah
TIDAK.
– bahkan jika pelanggan dan pengguna akhir dapat menyatakan kebutuhan
mereka secara eksplisit, kebutuhan tersebut akan berubah sepanjang proyek.
Requirement Engineering
– Requirement Engineering adalah istilah untuk cakupan tugas dan teknik yang luas
yang mengarah pada pemahaman tentang persyaratan.
– Dari perspektif proses perangkat lunak, Requirement Engineering adalah tindakan
rekayasa perangkat lunak utama yang dimulai selama aktivitas komunikasi dan
berlanjut ke aktivitas pemodelan.
– Requirement Engineering menetapkan dasar yang kokoh untuk desain dan konstruksi.
– Tanpa RE, perangkat lunak yang dihasilkan memiliki kemungkinan besar untuk tidak
memenuhi kebutuhan pelanggan.
– Penting untuk disadari bahwa setiap tugas ini dilakukan secara berulang karena tim
proyek dan pemangku kepentingan terus berbagi informasi tentang masalah mereka
masing-masing.
Requirement Engineering
1. Inception
membangun pemahaman dasar tentang masalah, orang-orang yang menginginkan
solusi, dan sifat solusi yang diinginkan.
2. Elisitasi
tanyakan kepada pelanggan, pengguna, dan orang lain apa tujuan sistem atau
produk, apa yang harus dicapai, bagaimana sistem atau produk cocok dengan
kebutuhan bisnis, dan terakhir, bagaimana sistem atau produk yang akan
digunakan sehari-hari.
3. Elaborasi
berfokus pada pengembangan model refined requirements yang mengidentifikasi
berbagai aspek fungsi perangkat lunak, perilaku, dan informasi
Requirement Engineering
4. Negosiasi
Bukan hal yang aneh bagi pelanggan dan pengguna untuk meminta lebih
dari yang dapat dicapai, mengingat sumber daya bisnis yang terbatas.
5. Spesifikasi
Spesifikasi dapat berupa dokumen tertulis, satu set model grafis, model
matematika formal, kumpulan skenario penggunaan, prototipe, atau
kombinasi dari semuanya.
Requirement Engineering
6. Validasi
memeriksa spesifikasi untuk memastikan bahwa semua persyaratan
perangkat lunak telah dinyatakan dengan jelas; bahwa inkonsistensi,
kelalaian, dan kesalahan telah dideteksi dan diperbaiki; dan bahwa produk
kerja sesuai dengan standar yang ditetapkan untuk proses, proyek, dan
produk.
7. Manajemen
adalah serangkaian aktivitas yang membantu tim proyek mengidentifikasi,
mengontrol, dan melacak persyaratan dan perubahan persyaratan setiap
saat saat proyek berlangsung.
Non Functional
Requirements
Nonfunctional Requirements
– Security:
Confidentiality, integrity, accountability, authenticity
– Performance
Timing, resource utilization, capacity
– Usability
Appropriateness, learnability, operability, error protection, aesthetics,
accessibility
Terima Kasih
ada pertanyaan…???