APLIKASI PERANGKAT LUNAK
• 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
DOKUMEN PERANGKAT LUNAK
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?
(1)
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
digunakan sebagaimana mestinya (2%).
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.
• Waktu dan anggaran pengembangan terbatas.
• 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
MANFAAT RPL
• 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
Rekayasa Perangkat Lunak
Karakteristik Perangkat Lunak
1. Dikembangkan/direkayasa 2. Tidak dibuat secara masal
3. Tidak ‘Usang’ mengalami penyusutan 4. Dibuat secara khusus
5. Tidak disusun dari komponen yang sudah ada
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/
Informasi
Analisis Perancangan Pengkodean Pengujian
• Linear-Sequential Model
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.
Problem : menuntut keahlian dalam bidang analisis resiko.
15
BEBERAPA MODEL PROSES (lanjutan)
• Prototyping Model
Pengumpulan Kebutuhan
Perancangan Cepat
PrototypeBangun Evaluasi
Prototype Perbaikan
Prototype
PERENCANAAN ANALISIS RESIKO
REKAYASA EVALUASI PEMAKAI
• Spiral Model
16
BEBERAPA MODEL PROSES (lanjutan)
• Rational Unified Process
17
BEBERAPA MODEL PROSES (lanjutan)
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
◦ Proses mana yang akan dibantu komputer
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.
– Memetakan hirarki struktur informasi menjadi struktur program.
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)
– aksi untuk mengubah keadaan
22
METODE BERORIENTASI OBJEK
Dekomposisi persoalan menjadi objek-objek yang berkorespondensi dengan dunia nyata.
Objek:
• Dosen
• Mahasiswa
• Kuliah
• Nilai
Persoalan: PERKULIAHAN
23
OBJECT ORIENTED VS FUNCTIONAL
• 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
ALAT BANTU
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 CONTOH WORKFLOW DIAGRAM
Customer
Bagian Penjualan
Bagian Keuangan
Bagian Gudang Bagian Ekspedisi
pemesanan
pengiriman pengepakan
pemeriksaan stok
pencatatan kas/piutang
27
EVENT MODEL EVENT MODEL
• Prinsip pelaksanaan analisis seperti
workflow, akan tetapi fokus ke kejadian (event) bukan kronologis pekerjaan.
• Contoh:
Pemesanan Pemeriksa an Stok
Pemeriksa an Hutang
mul
ai Pengepaka
n Barang
Pengirima n Barang
seles ai
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
VALUE CHAIN
VALUE CHAIN
29
H – METHOD 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