Professional Documents
Culture Documents
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 3 : Defined
• Level 2 : Managed
• Level 1 : Performed
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
delivery of
4th increment
RPL/Mira/Software Process
calendar time
Iterative Models - RAD
team #3
team #2
business
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
Awaiting changes
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