•
Software Project Management Plan (SPMP)
•
Software Requirement Specification (SRS)
•
Software Design Description (SDD)
•
Software Test Plan (STP)
•
Software Test Description (STD)
•
Software Test Result (STR)
•
Software Version
•
User Guide / User Manual
2
Perangkat lunak dibuat supaya bisa digunakan (oleh pemakai)
untuk
membantu menyelesaikan masalah/ pekerjaan
.
Perangkat lunak digunakan oleh pemakai di
lingkungan
operasional
dengan
teknologi
tertentu sebagai
bagian dari
sistem
yang lebih besar.
Perangkat lunak yang dibuat harus
memenuhi apa yang
diinginkan
oleh pemakai (bukan yang diinginkan
developer
),
ekonomis
(memberikan keuntungan bagi
developer
), dan
andal
(dapat digunakan dalam jangka waktu yang lama).
3
MENGAPA PERANGKAT LUNAK?
4
MENGAPA PERANGKAT LUNAK?
(2)
Perangkat lunak sudah diselesaikan dan diserahkan
(
delivered
) tetapi tidak pernah digunakan (47%).
Pemakai (
user
) sudah membayar untuk perangkat lunak
tetapi tidak pernah jadi dan diserahkan (29,7%).
Perangkat lunak sudah digunakan tetapi kritis atau
ditinggalkan (19%).
Perangkat lunak digunakan setelah dilakukan modifikasi
(3%).
Hanya sebagian kecil perangkat lunak yang dapat
5
KAPAN PERANGKAT LUNAK ?
•
Ukuran perangkat lunak besar:
–
Cakupan atau ruang lingkup persoalan luas dan dalam.
–
Kompleksitas masalah dan tingkat kekritisan tinggi.
•
Melibatkan banyak personal pelaksana.
• Perangkat lunak yang dihasilkan sesuai dengan kebutuhan yang
diinginkan.
• Perangkat lunak dapat digunakan dan beroperasi dengan benar di
lingkungan sebenarnya.
• Perangkat lunak memberikan manfaat bagi pemakai yang
menggunakannya.
• Biaya yang dikeluarkan untuk membuatnya rendah (efisien), efektif dan
sesuai dengan anggaran yang telah ditetapkan.
• Tepat waktu, baik saat pembuatan, penyerahan ke pemakai, maupun
instalasinya.
• Setiap tahap pekerjaan terjamin kualitasnya, terdokumentasi, dan dapat
dipertanggungjawabkan kebenarannya (ada proses verifikasi dan
validasi).
6
• Software requirements • Software design
• Software construction • Software testing
• Software maintenance
• Software configuration management • Software engineering management • Software engineering process
• Software engineering tools and methods • Software quality
7
Karakteristik Perangkat Lunak
1. Dikembangkan/direkayasa
2. Tidak dibuat secara masal
3. Tidak ‘Usang’ mengalami penyusutan
4. Dibuat secara khusus
Problem Perangkat lunak
1. Tidak berfungsi secara baik
2. Ketidak tepatan penjadwalan proses dan
biaya produksi.
3. Produktivitas yang belum dapat memenuhi
tuntutan kebutuhan pemakai.
4. Pemeliharaan yang sukar.
5. Perkembangan teknologi perangkat keras di
luar kemampuan programmer
Tahapan-tahapan dalam siklus klasik :
1. Analisis dan rekayasa sistem : perangkat lunak merupakan bagian dari sebuah sistem, untuk mendapatkan gambaran yang meluas pada aras sistem.
2. Analisis persyaratan : fokus lebih terarah ke perangkat lunak, berusaha mengetahui aspek 'what', melibatkan pemakai dan pengembang.
3. Perancangan : menerjemahkan persyaratan menjadi suatu bentuk representasi yang dapat dievaluasi kualitasnya sebelum coding dilakukan.
4. Coding (penulisan program) : penerjemahan rancangan ke dalam bentuk yang dapat dimengerti komputer, menggunakan bahasa pemrograman teretentu.
5. Pengujian : berfokus pada rincian logikal dari perangkat lunak, bertujuan mengungkap dan menghilangkan kesalahan-kesalahan yang ada sehingga perangkat lunak bekerja sesuai dengan yang diharapkan.
6. Pemeliharaan : meliputi kegiatan-kegiatan koreksi kesalahan dan penyesuaian perangkat lunak terhadap perubahan lingkungannya.
11
MODEL PROSES PENGEMBANGAN
•
Cara
atau
strategi
bagaimana perangkat lunak
dibuat
sedemikian rupa sehingga produk perangkat lunak
tersebut
dapat diwujudkan
.
•
Beberapa model proses pengembangan PL:
–
Waterfall / Linear-Sequential Model
–
Prototyping Model
–
Spiral Model
–
Rational Unified Process (RUP)
–
Extreme Programming (XP)
12
BEBERAPA MODEL PROSES
•
Waterfall Model
Analisis Kebutuhan Perancangan Pengkodean Pengujian Pengoperasian Rekayasa Sistem/ InformasiAnalisis Perancangan Pengkodean Pengujian
Prototyping
Bila pemakai belum siap dengan persyaratan perangkat lunak
secara lengkap
Model perangkat lunak :
1. Model 'kertas' : ditujukan hanya agar pemakai dapat mengerti interaksi antara dia dengan perangkat lunak.
2. Model kerja : mengimplikasikan beberapa fungsi perangkat lunak.
3. Program : sebagian atau semua fungsi telah diimplementasikan, dan akan dikembangkan dalam proses pengembangan.
Problem :
ketidaksadaran bahwa prototipe bukan hasil yang diharapkan.
1. Pemakai : tidak sabar menunggu perangkat lunak yang sebenarnya. 2. Pengembang : pemakaian teknik dan tools yang tidak optimal pada
prototipe yang akhirnya tetap digunakan pada perangkat lunak yang sesungguhnya.
Model Spiral
Menggabungkan keuntungan-keuntungan model air terjun dan
prototyping, dan memasukkan aktivitas analisis resiko (risk analysis).
Melibatkan proses iterasi, tiap iterasi bekerja pada satu 'level produk‘]
(dari level prototipe sampai pada level perangkat lunak yang diinginkan).
Tiap perpindahan level didahului oleh analisis resiko.
Terdiri dari empat aktivitas utama :
1. Perencanaan : penentuan sasaran, alternatif solusi, dan hambatan.
2. Analisis resiko : analisis alternatif solusi dan identifikasi resiko.
3. Perekayasaan : pengembangan produk pada 'level berikutnya'.
4. Evaluasi oleh pemakai : diterapkan pada hasil proses perekayasaan.
15
BEBERAPA MODEL PROSES
(lanjutan)
•
Prototyping Model
Pengumpulan Kebutuhan Perancangan Cepat Prototype Bangun Evaluasi Prototype Perbaikan PrototypePERENCANAAN ANALISIS RESIKO
REKAYASA EVALUASI PEMAKAI
16
BEBERAPA MODEL PROSES
(lanjutan)
17
18
METODE PENGEMBANGAN
•
Pendekatan
,
sudut pandang
, atau
kumpulan aturan
yang harus diikuti untuk menyelesaikan
tahap-tahap
aktivitas
pengembangan perangkat lunak.
•
Beberapa metode pengembangan PL:
–
Konvensional atau tradisional (1955)
–
Berorientasi Data (1975)
–
Berorientasi Aliran Data atau Proses (1976)
–
Berorientasi Objek (1980an)
19
METODE KONVENSIONAL
Sudut pandang pengembangan adalah alur
(prosedur) kerja pada sistem fisik organisasi.
Prinsip pengembangan:
◦
Dokumen apa yang menjadi media data atau informasi
◦
Bagaimana dokumen tersebut terbentuk dan mengalir dari
satu bagian organisasi ke bagian organisasi yang lain
◦
Proses apa saja yang dilakukan terhadap dokumen tersebut
20
METODE BERORIENTASI DATA
•
Sudut pandang pengembangan adalah struktur data dari
dokumen masukan/keluaran yang digunakan dalam
sistem .
•
Prinsip pengembangan:
–
Mengidentifikasi entitas atau item-item yang menjadi objek
informasi berikut operasi-operasinya.
–
Menyatakan struktur informasi secara hirarki dengan
menggunakan konstruksi
sequence
,
selection
dan
repetition
.
21
METODE BERORIENTASI FUNGSI
•
Perangkat lunak dianggap sebagai kumpulan
fungsi atau proses transformasi data:
–
data masukan
–
proses transformasi
–
data keluaran/hasil transformasi
–
keadaan awal dan akhir
–
perubahan (dari keadaan awal ke akhir)
22
METODE BERORIENTASI OBJEK
Dekomposisi
persoalan
menjadi
objek-objek
yang
berkorespondensi dengan dunia nyata.
Objek:
•
Dosen
•
Mahasiswa
•
Kuliah
•
Nilai
Persoalan: PERKULIAHAN23
•
Perangkat bantu atau kakas otomatis dan
semi-otomatis yang akan digunakan untuk mendukung
proses dan metode.
•
Bentuk-bentuk alat bantu pengembangan:
–
Diagram-diagram
untuk memodelkan hasil setiap tahap
pengembangan.
–
Perangkat lunak
untuk membantu pelaksanaan analisis,
perancangan, pembuatan program, atau pengelolaan
proyek.
–
Bahasa pemrograman
untuk penulisan program.
24
25
•
Workflow Diagram
•
Event Model
•
Value Chain Diagram
•
H – Method
•
Business Modeling:
–
Business Use Case Diagram
–
Business Object Model
–
Business Activity Diagram
ALAT BANTU PEMODELAN
PERSOALAN BISNIS
26
CONTOH WORKFLOW DIAGRAM
Customer Bagian Penjualan Bagian Keuangan Bagian Gudang Bagian Ekspedisi pemesanan pengiriman pengepakan pemeriksaan stok pencatatan kas/piutang
27
EVENT MODEL
• Prinsip pelaksanaan analisis seperti workflow, akan tetapi
fokus ke kejadian (event) bukan kronologis pekerjaan.
• Contoh:
Pemesanan Pemeriksaan Stok Pemeriksaan
Hutang
mulai Pengepakan
28
Support activities
Primary activities
Inbound Logistics Materials receiving, storing, and distribution to manufacturing premises
Operations Transforming inputs into finished products.
Outbound Logistics Storing and distributing products
Marketing and Sales Promotions and sales force
Service Service to maintain or enhance product value
Corporate Infrastructure Support of entire value chain, e.g. general management planning, financing, accounting, legal services, government affairs, and QM
Human Resources Man. Recruiting, hiring, training, and development
Technology Development Improving product and manufacturing process
Procurement Purchasing input
29
H – METHOD
•
Inputs. What the person
needs to do their job.
•
Outputs. What the person
produces.
•
Functionality. What the
person does.
•
Business Rules. What
rules govern the way the
person works.
•
Data. The people places
and things the person
needs to keep track of.
30