Anda di halaman 1dari 27

Proses dan model

pengembangan
perangkat lunak

Sandra Shadiqah
1929040015
PTIK A-19
Pokok Bahasan
01Proses Perangkat Lunak
.

02 Aliran Proses

03Penilaian dan Perbaikan Proses

Model-model Pengembangan Perangkat Lun


04
Perbedaan RPL dan Rekayasa
Sistem

Rekayasa system berkaitan dengan semua


aspek dalam pembangunan system berbasis
computer termasuk hardware, rekayasa
perangkat lunak dan proses.
Rekayasa perangkat lunak adalah bagian dari
rekayasa system yang meliputi pembangunan
perangkat lunak, infrastruktur, control,
aplikasi dan database pada system.
Proses Perangkat Lunak
Place Your Picture
Here

Kerangka kerja proses mencakup


sekumpulan aktivitas yang berperan
Place Your Picture 1
Here sebagai penyangga dan cocok dengan
keseluruhan proses perangkat lunak.

2 Suatu proses merupakan


sekumpulan aktivitas, aksi dan
tugas yang dijalankan ketika
Place Your Picture suatu produk kerja harus dibuat.
Kerangka kerja proses membangun Here
dasar bagi proses rekayasa perangkat
lunak yang lengkap dengan cara
mengidentifikasikan sejumlah kecil 3
aktivitas kerangka kerja yang cocok
bagi semua proyek RPL, tanpa
memperhatikan ukurannya maupun
kompleksitasnya.
Proses Perangkat Lunak
Masing-masing tindakan
PL didefenisikan
menggunakan himpunan
pekerjaan (task set) yang Titik jaminan
mengidentifikasikan kualitas yang
pekerjaan-pekerjaan yang akan diperlukan
harus diselesaikan

Masing-masing Produk-produk Patok-patok kerja


aktivitas kerja yang proyek (milestone)
kerangka kerja dihasilkan yang akan digunakan
diisi oleh untuk menilai
sejumlah kemajuan pekerjaan.
tindakan-
tindakan RPL
ALIRAN
PROSES
Aliran proses (process flow),
mendeskripsikan bagaimana aktivitas-
aktivitas kerangka kerja dan tindakan-
tindakan yang harus dilakukan didalam
masing-masing aktivitas kerangka kerja
diorganisasi dengan urutan dan waktu
tertentu.
Aliran Proses Linier

Aliran proses linier (linier


process flow) mengeksekusi
masing-masing aktivitas-
aktivitas kerangka kerja
dalam urutan tertentu, mulai
dari komunikasi dan berakhir
pada penyerahan perangkat
lunak ke pelanggan/pengguna
(deployment).
Aliran Proses Iteratif

Aliran kerja iteratif (interative process flow) melakukan perulangan


satu atau lebih aktivitas sebelum melanjutkannya ke aktivitas
berikutnya.
Aliran Proses Paralel

Aliran proses parallel (parallel process flow)


mengeksekusi satu atau lebih aktivitas proses perangkat
lunak secara parallel dengan aktivitas-aktivitas lainnya

Contohnya pemodelan untuk suatu aspek tertentu dalam


perangkat lunak mungkin dilakukan secara beriringan
dengan konstruksi aspek perangkat lunak lainnya.
Process Patterns

[Ambler, 1998] mengusulkan karakteristik-karakterstik suatu pola untuk


mendeskripsikan pola-pola proses yaitu nama pola, efektivitas, dan jenis.
jenis. Tipe pola dispesifikasi. Ada 3 jenis pola, yaitu :

Stage patterns. Mendefinisikan suatu permasalahan yang


berhubungan dengan aktifitas kerangka kerja tertentu untuk
suatu proses

Task patterns. Mendefenisikan suatu permasalahan yang berhubungan


dengan suatu aksi rekayasa perangkat lunak atau tugas-tugas kerja dan
relevan dengan RPL yang berhasil

Phase patterns. Mendefenisikan urutan kerangka kerja yang terjadi


didalam suatu proses, meskipun saat aliran aktivitas secara keseluruhan
secara alamiah bersifat iterative.
Penilaian dan Perbaikan Proses
Sejumlah pendekatan penilaian proses perangkat lunak dan
perbaikan yang berbeda telah diusulkan dalam beberapa decade
belakangan ini :

SCAMPI (standard CMMI Assesment Method for Process Improvement). Menyediakan model penilaian
1
proses 5 langkah yang berhubungan dengan 5 tahapan dalam proses RPL, yaitu : initiating, diagnosing,
establishing, acting, dan learning. Metode SCAMPI menggunakan SEI CMMI sebagai basis penilaian.

CBA IPI (CMM-Based Appraisal of Internal Process Improvement). Menyediakan


2
teknik diagnose untuk melakukan penilaian kematangan relative suatu organisasi
perangkat lunak; menggunakan SEI CMM sebagai basis penilaian
SPICE (ISO/IEC 15504). Suatu standar yang mendefenisikan sejumlah spesifikasi kebutuhan untuk
3 penilaian proses perangkat lunak. Tujuan pembuatan standar ini adalah untuk membantu organisasi-
organisasi perangkat lunak untuk mengembangkan suatu evaluasi yang bersifat objektif dari suatu
proses perangkat lunka yang telah didefenisikan sebelumnya.
ISO 9001:2000 for Software. Suatu standar generic yang diterapkan untuk setiap organisasi yang
4
mau secara keseluruhan melakukan perbaikan kualitas produk-produk, system-system, atau
layanana-layanan yang disediakannya.
Model Pengembangan Perangkat Lunak

THE WATERFALL 5MODEL


Merupakan model yang paling banyak digunakan
didalam software engineering (SE).
Disebut dengan waterfall karena tahap demi tahap
dilalui harus menunggu selesainya tahap sebelumnya
dan berjalan berurutan.
Kelebihan:

d
He re a n
r e
Pictu
Your end to Ba
ck Proses menjadi teratur
S

Mudah diaplikasikan

Jadwal menjadi lebih menentu

Cocok digunakan untuk produk software yang sudah


jelas kebutuhannya di awal, sehingga minim
kesalahannya
Kelemahan:
Bersifat kaku, sehingga
penanganan perubahan pada
saat proses sedang
berlangsung jadi lebih sulit
Terjadinya pembagian proyek
Perubahan ditengah
menjadi tahap yang tidak
program akan membuat
fleksibel, karena komitmen
bingung teamwork yang
harus dilakukan pada tahap
sedang membuat program
awal proses

User harus sabar dalam Adanya waktu menganggur bagi


menanti program selesai, pengembang, karena harus
Karena dikerjakan tahap per menunggu anggota tim proyek
tahap, menyelesaikan tahap lainnya menuntaskan
awal baru bias ke tahap pekerjaannya.
selanjutnya
Your Picture Here And Send To Back

SOCIAL MEDIA

THE V-MODEL
Merupakan suatu variasi dari model waterfall dinamakan
sebagai model-V. Model-V pada dasarnya menyediakan
cara visual bagaimana tindakan-tindakan verifikasi dan
validasi seharusnya diterapkan pada bagian-bagian
pekerjaan rekayasa perangkat lunak yang lebih awal
The Incremental Model

Model incremental menggabungkan elemen-elemen


aliran proses linier dan parallel.

Masing-masing urutan linier menghasilkan bagian penambah


sedikit demi sedikit (incremental) yang dihasilkan oleh suatu
aliran proses yang bersifat evlosioner.

Incremental model berfokus pada pengiriman produk


yang bersifat operasional pada setiap tahapan.

Model incremental sangat baik digunakan untuk pengembangan sistem yang


sering melakukan penambahan pekerjaan/operasi dimana pengembangan
perangkat lunak yang lengkap tidak dimungkinkan.
Selain itu, implementasi model incremental dapat direncanakan dengan
mempertimbangkan resiko-resiko teknis tertentu.
Your Picture Here

Rapid
Application
Development
(RAD)
 RAD adalah proses
pembangunan Perangkat Lunak
yang menekankan pada siklus
pengembangan yang pendek dan
singkat.
 Model ini mengawinkan model
waterfall dan model component
based construction
tahapan-tahapan RAD adalah sebagai berikut:

Tahap
Pengujian
Tahap Tahap Tahap Tahap dan
Pemodel Pemodelan Pemodelan Pembuatan Pergantian
an Bisnis Data Proses Aplikasi

dibuat agar dapat informasi- aliran informasi yang RAD dapat saja Proses RAD
menjawab pertanyaan- informasi yang didapat dalam proses memakai kembali menekankan pada
pertanyaan berikut: dipadu dari pemodelan data diolah komponen program pemakaian kembali
informasi apa yang pemodelan bisnis sedemikian untuk dapat yang sudah ada bila yang
mengontrol proses dipilah-pilah ke menopang fungsi- dimungkinkan, atau memungkinkan
bisnis? Informasi apa menjadi fungsi bisnis. membuat komponen berkurangnya
yang didapat? Siapa sekumpulan objek Prosesnya dikreasikan yang dapat keseluruhan waktu
yang mendapatkannya? data yang masing- untuk menambah, digunakan lagi bila pengujian, namun
Untuk siapa informasi masing objek memodifikasi, diperlukan di masa komponen harus
itu ditujukan? Siapa diidentifikasikan menghapus dan atau mendatang. RAD diuji dan harus
yang akan dan ditentukan mendapatkan kembali juga diasumsikan dilatih secara penuh
memprosesnya? hubungan antara sebuah objek data. menggunakan teknik dan terintegrasi.
Kelebihan:
 Tahap-tahap RAD membuatnya mampu untuk menggunakan
kembali komponen yang ada (reusable object), karena setiap
komponen software dikerjakan secara terpisah dengan tim-
tim tersendiri sehingga dapat digunakan juga untuk aplikasi
lain yang pada akhirnya akan menghemat waktu. 
 Penggunaan tim yang terpisah untuk mengerjakan pekerjaan
yang berbeda membuat pekerjaan lebih cepat dalam proses
integrasi dan efisien terhadap waktu tanpa mengacaukan

Kelemahan:
aplikasi.

 Tidak begitu cocok untuk proyek dengan skala besar karena


dibutuhkan sumber daya manusia yang semakin banyak
seiring dengan semakin banyaknya komponen yang
dikerjakan, selain itu, semakin besar proyek, semakin
kompleks pula koordinasi yang dibutuhkan. 
 Dalam waktu yang singkat, rasanya sulit untuk pengembang
dan pemakai berkomitmen untuk melaksanakan berbagai
kegiatan untuk melengkapi sistem. Apalagi bila sistem
ternyata tidak dapat dimodularisasi sementara sistem
Evolutionary Models: Prototyping

Prototyping adalah salah satu


pendekatan dalam rekayasa
perangkat lunak yang secara
langsung mendemonstrasikan
bagaiman sebuah perangkat lunak
atau komponen-komponen
perangkat lunak akan bekerja dalam
lingkungannya sebelum tahapan
konstruksi actual dilakukan
(Howard, 1997).
Evolutionary Models: The
Spiral

Model spiral adalah gabungan dari model prototyping


dan model waterfall dengan penekanan yang tinggi
pada analisis risiko tiap tahapannya.
Model ini bersifat iterative atau berulang dengan
mengontrol aspek yang teratur dari sekuensial linier.
Fungsi model spiral ini adalah untuk melakukan
perubahan, penambahan dan pengembangan suatu
software dengan deretan pertambahan menjadi lebih
baik secara cepat dan tepat berdasarkan keinginan dan
kebutuhan penggunanya.
Dalam model spiral terdapat lima tahapan untuk merealisasikan
penggunaannya sebagai berikut :
1. Tahap Liason
Tahap ini berhubungan dengan komunikasi antara orang yang akan
mengembangkan software (system analyst) dengan pelanggan. Tujuannya
adalah agar dapat memuaskan pelangga dengan memperbaiki dan
mengembangkan software sesuai dengan kebutuhan, kepentingan dan
2. Planning
keigninannya.
Tahap perencanaan meliputi estimasi biaya yang digunakan, batas waktu,
pengaturan jadwal, identifikasi lingkungan kerja, sumber-sumber infomasi
untuk melakukan iterasi. Hasilnya adalah dokumen spesifikasi kebutuhan
sistem dan bisnis.
3. Risk Analysis
tahap ini berfungsi untuk mengidentifikasi risiko yang berpotensi untuk terjadi
dan menghasilkan suatu solusi alternative secara teknis dan manajemen saat
strategi mitigasi risiko direncanakan dan diselesaikan.
4. Contruction
Pada tahap ini, yang dilakukan adalah menguji, coding dan mengembangkan software.
Membuat prototype, mendesain dokumen, meringkas suatu pengujian software serta
5. Evaluation membuat laporan atas kekurangan dari software agar segera diperbaiki
Peran pelanggan sangat diperlukan pada tahap ini. Mereka dapat memberikan masukan dan tanggapan,
mengevaluasi produk kerja dan memastikan bahwa produk yang dibutuhkan sesuai dengan semua
ketentuan. Jika terdapat perubahan, semua tahapan akan diperbaiki sesuai dengan kepuasan pelanggan.
Evolutionary Models: Concurrent
Model ini disebut juga dengan concurrent engineering yang
dapat digambarkan secara sistematik sebagai serial dari
kegiatan teknis utama, tugas-tugas, dan hubungan antar bagian-
bagian yang saling terkait di mana aktifitas analisa seperti
desain/rancangan atau komunikasi pelanggan dapat diskemakan
dengan cara yang sama.
Terdapat 2 dimendi aktivitas yang diigambarkan oleh model ini
:
1. Dimensi sistem : terdapat tiga proses didalamnya
yakni perancangan, perakitan (assembly) dan
pengunaan (use)
2. Dimensi komponen : terdapat dua kegiatan utama
Concurrency dapat
yaitu diperolehdan
perancangan dengan dua cara :
realisasi
 Sistem dan komponen kegiatan (aktifitas) terjadi secara
simultan dan dapat diperagakan dengan memanfaatkan
pendekatan yang berdasar pada status sebelumnya
 Aplikasi clinet/server yang bersifat unik/khas dimana
dapat diterapkan pada banyak komponen yang tiap-tiap
komponen bisa dirancang dan direalisasikan secara
serentak.
Component Assembly 
Model  (CAM)
 Model ini merupakan
gabungan dari berbagai sifat
dan karakter dari model
spiral Boehm dan sangat erat
keterikatannya dengan
model RAD (Rapid
Application Development)
model karena model CAM  pembuatan aplikasinya
ini menggunakan peralatan- dibuat dari paket perangkat
peralatan dan GUI (Graphic lunak yang berisi
User Interface) untuk serangkaian komponen yang
membangun software. telah ada sebelumnya.
Namun, waktu yang
dibutuhkan dapat
disesuaikan atau lebih
efektif ketimbang harus
mengerjakan program dari
awal.
Tahapan-tahapan Model ini adalah:

Tahap melihat
Tahap Identifikasi 2.
1. komponen-komponen
calon-calon komponen
dalam pustaka;
(kelas objek);

3. 4. 5. 6.

Tahap Tahap Tahap


membangun Tahap
mengekstrak menyimpan
komponen jika mengkonstruksi
komponen jika komponen
tidak ada; iterasi ke-n dari
Kelebihan:

tinggal mencaplok atau menggunakan program atau komponen


yang sudah ada dan menyusunnya menjadi sebuah program
yang lebih kompleks dan berkembang sesuai dengan kebutuhan
user/pengguna sehingga dapat mengefisienkan penggunaan
waktu dan tenaga.  Selain itu, model ini juga menyediakan
kemampuan untuk memvisualisasikan hasil rakitan dengan
kesanggupan untuk mengukur, menganalisa, merancang dan
merancang ulang program.

Kekurangan:
seringnya program atau komponen-komponen
terdahulu tidak kompatibel atau sejalan dengan
model perakitan komponen ini sehingga untuk
perusahaan berskala kecil akan kesulitan
menemukan komponen yang sesuai untuk dirakit.
Thank You

Anda mungkin juga menyukai