K1 Software and Software Engineering Bab 1
K1 Software and Software Engineering Bab 1
1-2 Chapter 21
QUICK LOOK
WHAT IS IT? WHAT ARE THE STEPS
o PL Komputer adalah work product yang dibangun dan PL dibangun seperti Anda membangun produk yang sukses:
didukung oleh professional PL selama bertahun-tahun. o menerapkan proses yang gesit (agile) dan mudah
o Work product adalah program yang dieksekusi beradaptasi
komputer pada ukuran dan arsitektur komputer yang o mengarah pada hasil berkualitas tinggi
beragam o memenuhi kebutuhan orang-orang yang akan
o RPL mencakup proses, koleksi metode-metode menggunakan produk
(praktik), dan array of tools untuk profesional
membangun PL berkualitas tinggi WHAT IS THE WORK PRODUCT
o Sudut pandang Software Engineers: gugus program-
WHO DOES IT program, konten (data), dan work product lainnya untuk
mendukung PL komputer
o Software Engineers: membangun dan mendukung
PL. Software engineers menerapkan proses RPL o Sudut pandang Users: tool atau produk yang sedemikian
rupa membuat dunia users menjadi lebih baik
o Every Users: setiap orang pada industrialized world
Ketergantungan
Aspek dan Minat
pada PL
o PL telah menjadi aspek dari setiap kehidupan o Individu, bisnis, dan pemerintah semakin
o Peningkatan jumlah orang memiliki minat pada bergantung pada PL untuk pengambilan
fitur dan fungsi yang terdapat pada aplikasi PL keputusan strategis dan taktis serta operasi
o Upaya bersama (seperti konser) harus dan control sehari-hari
dilakukan untuk memahami masalah sebelum o Software should exhibit high quality (PL harus
solusi PL dikembangkan menunjukkan kualitas tinggi)
Some realities:
Upaya bersama (seperti konser) harus dilakukan untuk
memahami masalah sebelum solusi PL dikembangkan
Design has become a pivotal activity (Desain telah menjadi
aktivitas penting)
Software should exhibit high quality (PL harus menunjukkan
kualitas tinggi)
Software should be maintainable (PL harus dapat
dipelihara/maintain)
The seminal definition:
[RPL adalah] penetapan dan penggunaan prinsip-prinsip
rekayasa untuk mendapatkan PL ekonomis yang dapat
diandalkan dan bekerja secara efisien pada mesin nyata
(real machines)
5
1-5 Chapter 1
1) SIFAT PERANGKAT LUNAK
2. Struktur Data
Memungkinkan program-
program untuk memanipulasi
informasi secara memadai
Informasi Deskriptif
1. Instruksi (Program- Dalam bentuk hardcopy dan
bentuk virtual yang
program Komputer)
menjelaskan operasi dan
Apabila dieksekusi penggunaan program-
menyediakan fitur-fitur, program
fungsi dan kinerja yang
diinginkan
1-7 Chapter 71
▰ Karakteristik PL
berbeda dari hal-hal
lain yang dibuat
oleh manusia.
▰ PL adalah logik Fig.1.1 Kurva kegagalan hardware Fig.1.1 Kurva kegagalan PL (software)
bukan elemen
sistem fisik.
o Disebut bathtub curve relationship o PL tidak rentan terhadap penyakit lingkungan
o Kegagalan relatif tinggi di awal yang menyebabkan hardware usang
▰ PL memiliki satu (cacat desain/manufaktur), lalu o Secara teori, kurva tingkat kegagalan PL harus
karakteristik dikoreksi, lalu cacat menurun berbentuk “kurva ideal” (idealized curve)
mendasar yang sampai tingkat steady-state o Awal program, cacat akan tinggi, lalu dikoreksi
membuatnya o Seiring waktu, laju gagal sehingga tingkat cacat mendatar
sangat berbeda dari meningkat lagi (efek kumulatif o PL mengalami deteriorate (menurun) sehingga
hardware: “PL debu, vibrasi, penyalagunaan, perlu diubah (change), akan ada tingkat error
temperature ekstrim, dll WEAR (actual curve), dst.
Tidak “Usang”.
OUT (usang)
1-8 Chapter 81
1.b DOMAIN APLIKASI PERANGKAT LUNAK
Netsourcing
Web sebagai engine komputasi
Ubiquitous
Computing Open Source
Source code “gratis” terbuka
Wireless Network (jaringan untuk komunitas komputasi
nirkabel) (berkah, tetapi juga berpotensi
kutukan!)
1-10 Chapter101
1.c LEGACY PERANGKAT LUNAK
1-11 Chapter111
ALASAN LEGACY SYSTEM HARUS BEREVOLUSI
14
1-14 Chapter 1
2) DEFINING THE DISCIPLINE
1-18 Chapter181
Framework Proses Generik
1-19 Chapter191
▰ Penerapan lima framework ▰ Banyak proyek PL melakukan
aktivitas generik: framework aktivitas secara iteratif
▻ Pengembangan program seiring dengan berkembangnya
sederhana dan kecil proyek
▻ Penciptaan aplikasi web ▻ Komunikasi, Perencanaan, Pemodelan,
Konstruksi, dan Deployment diterapkan
▻ Rekayasa sistem berbasis
berulang kali pada sejumlah iterasi
komputer yang besar dan
proyek
komplek
▻ Setiap iterasi menghasilkan software
increment berupa subset dari
keseluruhan fitur dan fungsi PL
1-20 Chapter201
Aktivitas Framework
Proses RPL dilengkapi
3.b UMBRELLA ACTIVITIES oleh sejumlah
Umbrella Activities
1-22 Chapter221
4) PRAKTIK RPL - a) Esensi Praktik RPL
▰ SafeHome:
▰ Setiap proyek PL dipicu oleh beberapa
kebutuhan bisnis —
o kebutuhan untuk memperbaiki cacat pada aplikasi yang ada;
o kebutuhan akan kebutuhan untuk mengadaptasi ‘legacy
system' dengan lingkungan bisnis yang berubah;
o kebutuhan untuk memperluas fungsi dan fitur aplikasi yang
ada, atau
o kebutuhan untuk menciptakan produk, layanan, atau sistem baru.
1-25 Chapter251
6) RANGKUMAN
▰ PL adalah elemen kunci ▰ Perangkat lunak — ▰ RPL meliputi proses, metode, dan tools yang
dalam evolusi sistem dan program, data, dan memungkinkan sistem berbasis komputer yang
produk berbasis komputer informasi deskriptif kompleks untuk dibangun secara tepat waktu dan
dan salah satu teknologi — menangani berkualitas.
terpenting di panggung dunia. beragam bidang ▰ Proses PL menggabungkan lima framework
▰ Selama 60 tahun terakhir, PL teknologi dan aktivitas — komunikasi, perencanaan, pemodelan,
telah berevolusi dari aplikasi. konstruksi, dan penyebaran (deployment) — yang
pemecahan masalah khusus ▰ PL lama terus berlaku untuk semua proyek PL.
dan alat analisis informasi menghadirkan ▰ Praktik RPL adalah aktivitas pemecahan masalah
menjadi industri itu sendiri. tantangan khusus yang mengikuti seperangkat prinsip inti.
▰ Namun masih terdapat bagi mereka yang
harus ▰ Saat Anda mempelajari lebih lanjut tentang RPL,
kesulitan mengembangkan Anda akan mulai memahami mengapa prinsip-
PL berkualitas tinggi tepat memeliharanya.
prinsip ini harus dipertimbangkan saat memulai
waktu dan sesuai anggaran. proyek PL apa pun
26
1-26 Chapter 1
Chapter 1:
Perangkat Lunak dan
Rekayasa Perangkat Lunak
Meuthia Rachmaniah
Departemen Ilmu Komputer, FMIPA IPB
▰ Roger S. Pressman
▰ Bruce R. Maxim 1-27 Chapter 1