Anda di halaman 1dari 28

Software process

• Pihak-pihak yang terlibat dalam software


process:
– Client adalah seseorang atau organisasi yang
menginginkan dibuatnya suatu produk
– Developer adalah orang yang bertanggung-
jawab atas pembuatan dan pengembangan
produk tersebut
– User adalah orang yang menggunakan produk
(perangkat lunak) tersebut
Lapisan RPL
Tujuan Rekayasa Perangkat Lunak
• Meningkatkan keakuratan, performance &
efficiency produk secara keseluruhan dalam
pengembangan
• Menerapkan metodologi yang terdefinisi
dengan baik untuk resolusi software
Perbedaan Rekayasa Perangkat Lunak dan
Ilmu Komputer
• Ilmu Komputer berhubungan dengan teori dan metode yang
mendasari sistem komputer dan perangkat lunak. Teori ini
merupakan suatu model fisik dan analitik untuk
menyelesaikan kasus yang spesifik.
• Rekayasa Perangkat Lunak berhubungan dengan masalah-
masalah praktis untuk menghasilkan suatu perangkat lunak.
Pendekatan dilakukan dengan model bisnis dan strategi bisnis
suatu perangkat lunak.
Perbedaan Rekayasa Perangkat Lunak dan
Rekayasa Sistem
• Rekayasa Sistem berhubungan dengan semua
aspek pengembangan sistem berbasis
komputer, termasuk perangkat keras,
perangkat lunak dan rekayasa proses.
• Rekayasa Perangkat Lunak adalah bagian dari
Rekayasa Sistem
Proses Perangkat Lunak
• Proses perangkat lunak adalah serangkaian
kegiatan yang tujuannya untuk
mengembangkan atau evolusi perangkat lunak.
• Kegiatan-kegiatan tersebut adalah:
– Spesifikasi perangkat lunak,
– Pengembangan perangkat lunak,
– Validasi perangkat lunak,
– Evolusi perangkat lunak
MODEL - MODEL
PROSES
PERANGKAT LUNAK
Lifecycle Model
• Secara ringkas, usaha yg berhubungan dengan
RPL dapat dikategorikan ke dalam tiga fase
umum
– Tahap Definisi ,
berfokus pada “apa”
– Tahap Pengembangan ,
berfokus pada “bagaimana”
– Tahap Pemeliharaan ,
berfokus pada “perubahan”
Tahap Definisi
• Pada tahap ini pengembang mengidentifikasi
informasi apa yang akan diproses, fungsi dan
unjuk kerja apa yang dibutuhkan, tingkah laku
sistem seperti apa yang diharapkan, interface
apa yang akan dibangun, batasan desain apa
yang ada, dan kriteria validasi apa yang
dibutuhkan untuk mendefinisikan sistem yang
sukses mendefinisikan kebutuhan kunci
(requirement)
Tahap Pengembangan,
• Mendefinisikan bagaimana data
dikonstruksikan, bagaimana fungsi-fungsi
diimplementasikan sebagai sebuah arsitektur
perangkat lunk, bagaimana detail prosedur
akan diimplementasikan, bagaimana interface
dibuat, bagaimana rancangan akan
diterjemahkan ke dalam bahasa pemrograman
(atau bahasa non prosedural), serta
bagaimana pengujian akan dilakukan.
Tahap Pemeliharaan,
• Berhubungan dengan koreksi kesalahan,
penyesuaian yang dibutuhkan ketika
lingkungan perangkat lunak berkembang,
serta perubahan sehubungan denga
perkembangan yang disebabkan oleh
perubahan kebutuhan pelanggan.
Tahap Pemeliharaan,
• Empat macam perubahan:
Model Pengembangan Sistem
• Model proses perangkat lunak adalah representasi
yang disederhanakan dari proses perangkat lunak
yang dipresentasikan dari sudut pandang tertentu
• Paradigma pengembangan model sistem :
– Waterfall Development Model
– Evolutionary Development Model
– Spiral Development Model
– Incremental Development Model
Waterfall Development Model
Evolutionary Development Model
• Pengembangan Eksplorasi:
– Sistem berubah dengan adanya fitur-fitur
tambahan dari user.
• Prototype yang dapat dibuang (Throw-
Away):
– Memahami persyaratan user untuk mendapatkan
definisi persyaratan yang lebih baik.
Evolutionary Development Model

Spesifikasi Versi Awal

Penjelasan
Garis Besar Pengembangan Versi Menengah

Validasi Versi Akhir


Evolutionary Development Model
• Masalah-masalah dalam Pengembangan Evolusioner
– Proses tidak dapat dilihat
– Sistem seringkali mempunyai struktur yang tidak
baik
– Mungkin diperlukan alat bantu khusus
• Model pengembangan evolusioner ini cocok untuk
aplikasi yang kecil dan life-cycle yang pendek.
Spiral Development Model

menggabungkan model-model
yang ada sebelumnya
hanya utk proyek berskala besar
harus ada orang yg kompeten
dalam risk analysis
Incremental Development Model
Incremental Development Model
Proses perangkat lunak dibagi menjadi serangkaian
increment yang dikembangkan secara bergantian.
Keuntungan Pengembangan Incremental
User tidak perlu menunggu seluruh sistem dikirimkan, karena
increment pertama mempunyai persyaratan kritis dan perangkat
lunak segera dapat digunakan.
User dapat memakai increment pertama sebagai prototype
Resiko kegagalan proyek secara keseluruhan lebih rendah
Pengujian paling ketat diberlakukan pada increment pertama.
Fase Utama Persyaratan Perangkat Lunak

• Studi Kelayakan
• Elisitasi dan Analisis Persyaratan
• Spesifikasi Persyaratan
• Validasi Persyaratan
Spesifikasi Persyaratan Perangkat Lunak
Elisitasi dan
Studi
Analisis
Kelayakan
Persyaratan

Spesifikasi
Persyaratan

Validasi
Laporan
Model Sistem Persyaratan
Kelayakan

Persyaratan
User dan Sistem

Dokumen
Persyaratan
Kegiatan Perancangan Perangkat Lunak

• Perancangan Arsitektural
• Spesifikasi Abstrak
• Perancangan Interface
• Perancangan Komponen
• Perancangan Struktur Data
• Perancangan Algoritma
Perancangan dan Implementasi
Perangkat Lunak
Spesifikasi Perancangan Arsitektur
Persyaratan Arsitektural Sistem

Spesifikasi Spesifikasi
Abstrak Perangkat Lunak

Perancangan Spesifikasi
Interface Interface

Perancangan Spesifikasi
Komponen Komponen

Perancangan Spesifikasi
Struktur Data Struktur data

Perancangan Spesifikasi
Algoritma Algoritma
Validasi Perangkat Lunak
Pengujian
Unit

Pengujian
Modul

Pengujian
Sub Sistem

Pengujian
Sistem 1

Pengujian
Sistem 2
Pengujian
Pengujian Integrasi Pengujian User
Komponen
Evolusi Perangkat Lunak

Definisi Pengajuan
Nilai Sistem Modifikasi
Persyaratan Perubahan
Yang Ada Sistem
Sistem Sistem

Sistem Sistem
Yang Ada Baru
TUGAS 1

Anda mungkin juga menyukai