You are on page 1of 29

IF36318

Rekayasa Perangkat Lunak

Software Process

RPL/Mira/Software Process
Overview
• Perjalanan untuk mendapatkan Produk P/L yang berkualitas tinggi/handal
adalah dengan Software Process
• Software Process merupakan cara untuk menemukan keinginan dari
perekayasa dengan manager dimana mereka yang bertanggung jawab
dalam pembangunan sebuah produk
• Sebuah software process menghasilkan sebuah framework untuk me-
manage aktivitas yang menyebabkan kemudahan dalam mengontrolnya
• Permintaan yang berbeda dalam tipe proyek membutuhkan perbedaan
dalam proses P/L
• Perekayasa mengerjakan produknya(program, dokumentasi, data) adalah
produk yang berdasarkan aktivitas yang telah didefinisikan dalam Proses
P/L
• Indikator yang baik yang menyatakan sebuah proses berjalan adalah
kualitas, jadwal yang sesuai, dan waktu penggunaan yang lama dari
produk P/L yang dihasilkan

RPL/Mira/Software Process
Kerangka Kerja Proses Umum
• Komunikasi
Pelangan berkolaborasi dengan sekumpulan kebutuhan
• Perencanaan
Membangun rencana kerja, mendeskripsikan resiko secara teknis, daftar
kebutuhan sumber daya, produk kerja yang dihasilkan, dan
mendefinisikan jadwal kerja
• Pemodelan
Memodelkan yang dapat membantu perekayasa dan pelanggan dalam
memahami kebutuhan dan perancangan P/L
• Konstruksi
Pembangkitan kode dan Pengujian
• Penyebaran
P/L dikirimkan pada pelanggan untuk dievaluasi dan memberikan
masukan untuk diperbaiki

RPL/Mira/Software Process
Aktivitas Pelindung dalam Rekayasa
Sistem
• Kontrol dan pelacakan proyek perangkat lunak
• Manajemen resiko
• Jaminan kualitas P/L
• Review teknis formal
• Pengukuran
• Manajemen konfigurasi P/L sebagai efek dari perubahan
• Manajemen reusabilitas(Kembali digunakan)
• Persiapan produk bekerja(persiapan dokumentasi) dan
Produk yang dihasilkan

RPL/Mira/Software Process
Software Engineering Institute (SEI)
Capability Maturity Model Integration (CMMI)

• Level 5 : Optimized

• Level 4 : Quantitatively Managed

• Level 3 : Defined

• Level 2 : Managed

• Level 1 : Performed

• Level 0 : Incomplete RPL/Mira/Software Process


SEI - CMMI
• Level 0 Incomplete
– Proses yang masih belum jelas tidak akan menghasilkan definisi perfomed yang akan
dilakukan di level 1
• Level 1 Performed
– Togas kerja yang ditetapkan adalah menghasilkan produksi kerja yang telah ditetapkan
• Level 2 Managed
– Proses-proses manajemen proyek dasar dibangun untuk menelusuri masalah biaya,
jadual, dan fungsionalitas. Disiplin proses yang perlu ada untuk mengulangi sukses-
sukse proyek yang terdahulu dengan penerapan yang sama
• Level 3 Defined
– Proses P/L, baik untuk aktivitas manajemen atau perekayasaan didokumentasikan,
distandarkan, dan diintegrasikan ke dalam proses P/L organisasi besar
• Level 4 Quantitatively Managed
– Pengukuran detail terhadap proses P/L dan kualitas produksi dikumpulkan
• Level 5 Optimized
– Pertambahan proses terus menerus dimungkinkan oleh umpan balik kuantitatif dari
proses dan dari gagasan inovatif pengujian serta teknologi.

RPL/Mira/Software Process
SEI - CMMI
Level Focus
• Optimizing • Continues Process
Improvement
• Quantitatively • Quantitative Management
Managed
• Defined • Process Standardization
• Manage • Basic Project Management

• Performed

RPL/Mira/Software Process
Process Assessment
• Assessment adalah Proses penaksiran
• SPICE (ISO/IE 15504) mendefinisikan kumpulan
kebutuhan untuk process assessment
– Pelajari Proses yang akan dilakukan untuk suatu
organisasi sehingga goal tercapai
– Menghasilkan model referensi
– SPICE model assessment adalah evaluasi struktur dari
model proses (aktivitas, tugas-tugas, produk kerja, dll)
• ISO 9001:2000 dari kebutuhan definisi P/L untuk me-
manage kualitas sistem yang akan dibuat menjadi
berkualitas tinggi/handal dan membuat pelanggan
menjadi puas
RPL/Mira/Software Process
Process Model
• Prescriptive Models
– The Waterfall Model
– Incremental Model
– Evolutionary Process Model
• Spescialized Process Models
• The Unified Process

RPL/Mira/Software Process
Prescriptive Models
• Merupakan sebuah model “chaos” yang menggambarkan
“perkembangan P/L sebagai sebuah kesatuan dari pemakai
ke pengembang dan ke teknologi”
• Disebut dengan “Prescriptive” karena :
– Menentukan sekumpulan elemen proses (Aktivitas, Aksi,
tugas, produk kerja, jaminan kualitas, dll untuk setiap
proyek)
– Setiap model proses juga menentukan alur kerjanya
• Pada saat kerja bergerak maju menuju sebuah sistem yang
lengkap, keadaan yang digambarkan secara rekursif
diaplikasikan kepada kebutuhan pemakai dan spesifikasi
teknis P/L pengembang
• Saat ini, prescriptive memberikan jawaban secara definitive
untuk masalah pengembangan P/L dalam setiap perubahan
lingkungan komputasi
RPL/Mira/Software Process
The Waterfall Model
• Waterfall Model merupakan model lama
namun sangat beralasan digunakan ketika
kebutuhan dari sistem telah dipahami dengan
baik

RPL/Mira/Software Process
The Waterfall Model
Requirements
Definition

System and
software Design

Implementation
and
Unit Testing

Integration and
System Testing

Operational
Maintenance

RPL/Mira/Software Process
The Waterfall Model Problem
• Sulit untuk merespon perubahan kebutuhan
dari pelanggan
• Sangat disarankan ketika kebutuhan sistem
telah benar-benar dipahami
• Hanya beberapa sistem bisnis yang memiliki
kebutuhan yang stabil
• Kebanyakan digunakan untuk proyek
rekayasa sistem yang besar dimana sistem
dibangun di beberapa bagian
RPL/Mira/Software Process
Incrementals Model
• Incrementals model
– Mengirimkan sebagian produk kecil yang merupakan
bagian inti dari P/L, dimana dari produk tersebut akan
mengembangkan dibuatnya produl lain untuk melengkapi
P/L tersebut
• Rapid Application and Development (RAD) model
– Sebuah model proses perkembangan P/L sekuensial linier
yang menekankan siklus perkembangan yang sangat
pendek.
– Merupakan sebuah adaptasi “kecepatan tinggi” dari model
sekuensial linier di mana perkembangan cepat dicapai
dengan menggunakan pendekatan konstruksi berbasis
komponen

RPL/Mira/Software Process
Evolutionary Models - The Incremental Model

System/information increment 1
engineering

analysis design code test delivery of


1st increment

analysis design code test delivery of


increment 2
2nd increment

increment 3 analysis design code test delivery of


3rd increment

increment 4 analysis design code test

delivery of
4th increment

RPL/Mira/Software Process
calendar time
Iterative Models - RAD
team #3
team #2
business
mode ling

team #1 business dat a


modeling mode ling

process
business mode ling

modeling data
modeling application
generat ion

testing
&
process turnover

data modeling
modeling

application
generation

process
modeling testing
&
turnover

application
generation

testing
&
turnover

60 - 90 days

RPL/Mira/Software Process
Evolutionary Process Models
• Prototyping Model
– Merupakan metode yang baik bagi pelanggan yang hanya menjelaskan sistem
secara umum tidak secara detail
– Dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan
bertemi dan mendefinisikan obyektif keseluruhan dari P/L, mengidentifikasikan
segala kebutuhan yang diketahui, dan area garis besar dimana definisi lebih
jau merupakan keharusan kemudian dilakukan “perancangan kilat”
• Spiral Model
– Model proses P/L yang evolusioner yang merangkai sifat iteratif dari prototipe
dengan cara kontrol dan aspek sistematis dari model sekuensial linier
– Model ini berpotensi untuk pengembangan versi pertambahan P/L secara
cepat
• Concurrent Development Model
– Digunakan sebagai paradigma bagi pengembangan aplikasi Client/Server
– Model Proses konkuren dikendalikan oleh kebutuhan para pemakai, keputusan
manajemen, hasil kajian

RPL/Mira/Software Process
Prototyping Model

listen
to build/revise
customer mock-up

customer
test-drives
mock-up

RPL/Mira/Software Process
Spiral Model
Pla n n in g
Risk Ana lysis

C usto m e r
C o m m unic a tio n

Eng in e e rin g

C usto m e r
Eva lua tio n C o nstruc tio n & Re le a se

RPL/Mira/Software Process
Concurrent Development Model
none

Under Analysis activity


development

Awaiting changes

Under revision Under


development

Baselined

Done

RPL/Mira/Software Process
Specialized Process Models
• Component-Based Development
– Variasi dari model spiral dimana aplikasi dibangun dari komponen
perangkat yang belum dikemas atau biasa disebut kelas-kelas
• Formal Methods Model
– Tepatnya notasi matematika yang digunakan untuk spesifikasi,
perancangan, dan verifikasi sistem berbasis komputer
• Aspect-Oriented Programming
– Menghasilkan suatu proses untuk didefinisi, dispesifikasikan,
dikonstruksikan berdasrkan dari aspek perangkat lunak seperti user
interface, keamanan, dan manajemen memori yang meliki dampak
besar terhadap pembangunan sistem

RPL/Mira/Software Process
DISKUSIKAN
• Masalah Model • Aplikasi Model
Incremental? Incremental?
• Masalah Model RAD • Aplikasi Model RAD
• Masalah Model? • Aplikasi Model?
Prototipe Prototipe
• Masalah Model Spiral? • Aplikasi Model Spiral?
• Masalah Model • Aplikasi Model
Perkembangan Perkembangan
Konkuren? Konkuren?
RPL/Mira/Software Process
Component Based Development
• Sistem diintegrasikan dengan komponen yang telah
ada sebelumnya (reuse) atau sistem COTS
• Tahapan Proses :
– Analisis Komponen
– Modifikasi Kebutuhan
– Rancang sistem sesuai komponen yang telah ada
– Bangun dan integrasikan
• Pendekatan ini makin bertambah digunakan sebagai
standar komponen

RPL/Mira/Software Process
The Unified Process
• Use-case Driven, architecture centric, iterative, and
incremental sofware process
• Usaha untuk menggambarkan features yang terbaik dari
model proses perangkat lunak tradisional dan
mengimplementasikan banyak features dari pembangunan
P/L agile
• Tahapannya :
– Tahap Permulaan/Inception (komunikasi dengan pelanggan dan
perencanaan)
– Tahap Perluasan/Elaboration (Komunikasi dan pemodelan)
– Tahap Konstruksi
– Tahap Transisi (Pengiriman Terhadap pelanggan dan perbaikan)
– Tahap tahap Produksi (Memonitor P/L / Perawatan)

RPL/Mira/Software Process
Iteration and Workflow

RPL/Mira/Software Process
Unified Process Work Product
• Tahap Inception • Tahap Konstruksi
– Dokumen Rencana – Rancang model
– Inisialisasi Use-case model – Komponen P/L
– Inisialisasi daftar proyek – Penambahan integrasi komponen P/L
– Inisialisasi business case – Rencana Pengujian
– Rencana Proyek (Tahapan-tahapan – Uji dengan kasus
dan Iterasi) – Dokumentasi Pendukung (User,
– Business model instalasi)
– Prototipe
• Tahap Transisi
• Tahap Elaboration – Pengiriman P/L
– Use-case model – Laporan Pengujian Beta
– Kebutuhan fungsional dan non – User Feedback
fungsional
– Analisis model
– Deskripsi arsitektur P/L
– Prototipe arsitektur hasil akhir P/L
– Persiapan rancangan model
– Meninjau kembali daftar resiko
– Perencanaan Proyek (iteration plan,
workflows, milestones)
– Persiapan user manual
RPL/Mira/Software Process
An Agile View of Process
• Merepresentasikan alasan yang mungkin antara model rekayasa
konvensional untuk beberapa kelas dari P/L dan beberapa tipe dari
proyek P/L
• Dapat mengirimkan sistem dengan sukses dan cepat
• Penekanan pada kelangsungan komunikasi dan kolaborasi antara
developer dan pelanggan
• Cakupan Philosophy yang mendorong hal ini :
– Kepuasan Pelanggan
– Pengiriman P/L secara bertahap
– Team proyek yang kecil
– Metode informal
– Minimal produk kerja rekayasa P/L
• Tekanan pada ketepatan dalam pengiriman dari operasi penambahan
yang melebihi analisis dan perancangan

RPL/Mira/Software Process
Manifesto for Agile Software
Development
• Bermaksud untuk menghasilkan nilai dari item dibawah ini
menjadi lebih baik, yaitu :
– Individual dan interaksi antara proses dan alat
– P/L bekerja berdasarkan dokumentasi
– Kolaborasi Pelanggan berdasarkan negosiasi kontrak
– Menerima perubahan dengan sesuai dengan perencanaan
• Item diatas sangat penting dilakukan namun item dalam
philosophy jauh lebih berharga
• Catatan : meskipun banyak praktisi setuju dengan philosophy
dalam teori, banyak isu pandangan dalam dunia nyata yang
menyatakan item ini lebih penting bila dibandingkan dengan
item dalam philosophy

RPL/Mira/Software Process
Agile Process Models
• Extreme Programming (XP)
• Adaptive Sofware Development (ASD)
• Dynamics System Development Methods
(DSDM)
• Scrum
• Crystal
• Feature Driven Development (FDD)
• Agile Modelling (AM)
RPL/Mira/Software Process

You might also like