Minggu, 04 April 2010

Perencanaan Perangkat Lunak

Perencanaan Perangkat
Lunak
Pertemuan ke 9-10
• Proses manajemen proyek perangkat lunak dimulai
dengan sekumpulan aktivitas yang dikumpulkan
secara kolektif, yang disebut dengan perencanaan
proyek. Aktivitas pertamanya adalah melakukan
estimasi untuk mengetahui alokasi waktu, biaya,
sumber daya, dan aktivitas kegiatan pada suatu
proyek. Meskipun estimasi tidak pernah eksak, tetapi
estimasi tidak dapat dihindari dalam pelaksanaan
suatu proyek, karena estimasi merupakan dasar untuk
perencanaan semua aktivitas proyek dan dalam
perencanaan proyek memberikan suatu road map
indikasi kesuksesan proyek.
• Tujuan perencanaan proyek perangkat lunak
adalah untuk memberikan suatu framework bagi
seorang manager untuk melakukan estimasi terhadap
resources, biaya, dan jadwal. Dalam melakukan
estimasi seharusnya mendefinisikan skenario best
case dan worst case sebagai hasil realisasi suatu
proyek.
Ruang Lingkup Perangkat Lunak
• Fungsi mendeskripsikan fungsionalitas produk
perangkat lunak, yang akan digunakan untuk
melakukan estimasi terhadap resources, biaya dan
jadwal selama proses pelaksanaan proyek.
• Performansi mendeskripsikan kebutuhan untuk
pemrosesan dan response time produk perangkat
lunak.
• Interfaces mendeskripsikan kebutuhan interface
dengan perangkat lunak lain, perangkat keras, dan
lingkungan yang digunakan untuk menjalankan
produk perangkat lunak.
• Reliabiliti mendeskripsikan tingkat reliabilitas
terhadap produk perangkat lunak yang dihasilkan.
• Constraint mendeskripsikan batasan-batasan yang
diberlakukan terhadap produk perangkat lunak yang
dihasilkan.
Mesin Penjual Minuman (MPM)
MPM adalah sebuah mesin yang berfungsi untuk menjual
minuman secara otomatis.
Cara kerjanya adalah sebagai berikut:
Seorang pembeli harus memasukkan koin dengan harga
tertentu ke dalam mesin. Kemudian pembeli harus
memasukkan jenis minuman yang dibeli. Jika koin yang
dimasukkan sudah memenuhi syarat harga beli, maka mesin
akan mengeluarkan minuman yang dibeli tersebut.
Beberapa masalah yang mungkin dihadapi oleh mesin adalah:
• Seseorang yang berusaha memasukkan benda, tetapi bukan
koin, ke dalam mesin untuk mendapatkan minuman secara
ilegal
• Seseorang yang iseng memasukkan sampah ke dalam mesin
yang akan menyebabkan kerusakan mesin
• Seseorang yang berusaha menekan tombol-tombol secara
sembarang tanpa prosedur yang benar untuk mengacaukan
mesin
1. Menerima objek dari pembeli untuk membayar minuman
(SRS-MPM-01)
2. Memeriksa apakah objek yang dimasukkan adalah benarbenar
koin yang sah/valid. Hal ini harus dilakukan dengan
cara memeriksa ukuran, berat, dan ketebalan (SRS-MPM-
02)
3. Menerima koin dalam bentuk 1000-an, 500-an, dan 100-
an. Koin dalam bentuk lain akan dianggap sampah oleh
mesin dan akan dikembalikan ke pembeli (SRS-MPM-03)
4. Perhitungan pembayaran ataupun proses pemilihan
minuman hanya akan dilakukan jika koin yang
dimasukkan sudah dideteksi keabsahannya (SRS-MPM-
04)
5. Menerima masukan jenis minuman dari pembeli (SRSMPM-
05)
6. Memeriksa apakah minuman yang dibeli masih tersedia
dalam jumlah cukup, jika tidak mencukupi maka mesin
akan mengembalikan koin secara otomatis dan
memberikan pesan ke pembeli (SRS-MPM-06)
7. Menerima jenis bermacam-macam minuman,
sehingga tabel harga juga harus dapat diubah
setiap saat (SRS-MPM-07)
8. Mengembalikan koin jika pembeli membatalkan
pembelian (SRS-MPM-08)
9. Mengeluarkan jenis minuman yang dibeli jika
tersedia dan jumlahnya memenuhi (SRS-MPM-
09)
10. Mengembalikan koin kepada pembeli jika koin
yang dimasukkan melebihi harga minuman yang
dibeli (SRS-MPM-10)
11. Me-nonaktif-kan tombol pemilihan minuman
setelah minuman dikeluarkan dari mesin, sampai
koin berikutnya terdeteksi keabsahannya (SRSMPM-
11)
Resources
Orang
Komponen S/W yang
Dapat Digunakan
Hardware/Software
Tools
Orang
• Kebutuhan Orang yang akan terlibat
dalam proyek perangkat lunak meliputi
manajer (manajer proyek, manajer
konfigurasi, dan manager quality
assurances), software engineer (analyst,
designer, programmer, tester), dan tenaga
pendukung administrasi.
Komponen software
• adalah mengacu pada pengembangan
produk perangkat lunak dengan
menggunakan block-block dengan tujuan
untuk mudah dalam melakukan reference,
mengaplikasikan, memvalidasi, dan
mengintegrasikan. Sehingga untuk
perencanaan proyek perangkat lunak yang
akan dikerjakan dapat memiliki kategori
sebagai berikut :
1. Off-the-shelf components. Perangkat lunak
sudah ada (dari proyek sebelumnya) dan siap
digunakan untuk current proyek tanpa adanya
modifikasi.
2. Full-experience components. Spesifikasi,
analysis, design, code, dan data test sudah ada
(dari proyek sebelumnya) dapat digunakan untuk
current proyek dengan melakukan sedikit
modifikasi.
3. Partial-experience components. Spesifikasi,
analysis, design, code, dan data test yang sudah
ada dari proyek sebelumnya dapat digunakan
untuk current proyek dengan melakukan
modifikasi substasi masing-masing.
4. New components. Komponen perangkat lunak
dibangun oleh team software engineer mulai dari
awal untuk kebutuhan current proyek.
Hardware/software tools
• adalah berhubungan dengan kebutuhan
perangkat keras dan perangkat lunak lain
yang dibutuhkan pada pengembangan
proyek produk perangkat lunak.
Estimasi Proyek Perangkat Lunak
• Estimasi adalah kegiatan pengujian/perkiraan
nilai/jumlah dari sesuatu yang akan dihitung,
umumnya berdasarkan pada model-model
probabilistic.
• Kegunaan estimasi sebagai dasar perencanaan
meliputi alokasi resources, biaya, dan jadwal,
sebagai pendukung proses pengambilan
keputusan meliputi pengadaan resources dan
aktivitas
Estimasi Proyek
ESTIMASI
PROYEK
Perencanaan
Sistem
Perencanaan
Proyek
Manajemen
Proyek
Pengendalian
Proyek
Pengendalian
Biaya
Peng-Auditan
Proyek
Review Rinci
Proyek
Basis Data Ketrampilan
dan Produktivitas
Basis Data Informasi
Biaya
Metoda-metoda estimasi
1. Algorithmic Model. Model ini dikembangkan dari
review proyek (sebelumnya) dan relasi matematik
yang menghubungkan antara biaya dan ukuran
perangkat lunak (umumnya jumlah baris kode
program / KLOC (Kilo Line of Code)). Contohnya
adalah Model COCOMO (Constructive Cost
Model)
2. Expert Judgment. Hasil konsultasi dengan satu
atau beberapa pakar yang diputuskan dengan
konsensus.
3. Analogical Estimation. Menggunakan analogi
satu atau beberapa proyek yang sejenis yang
sudah selesai dikerjakan.
4. Parkinson Law. Biaya ditetapkan oleh
ketersediaan resources. Misalnya, perangkat
lunak di deliver selama 12 bulan dan jika tersedia
5 orang, maka estimasi usaha = 60 bulan-orang.
5. Winning Price. Estimasi menggunakan harga
yang dipercaya akan menyelesaikan pekerjaan
(sesuai / yang dapat dianggarkan).
6. Functional Estimation. Estimasi didasarkan pada
fungsi lojik dari arsitektural perangkat lunak. Biaya
di estimasi ke dalam fungsi global dan dipecah ke
dalam sub-sub fungsi. Contohnya adalah model
Function Point.
7. Design Estimation. Estimasi biaya diperoleh dari
penjumlahan biaya komponen elementer
perangkat lunak, misalnya unit modul penyusun
perangkat lunak
Kesimpulan Metoda
• Dari sekian metoda estimasi yang perlu
diperhatikan adalah tidak ada metoda
yang lebih baik/jelek antara satu dengan
yang lainnya. Setiap metoda memiliki
kelebihan dan kekurangan, sehingga
untuk mendapatkan estimasi yang baik
seharusnya beberapa metoda harus dikaji
secara sejajar dan kemudian hasilnya
dibandingkan

Tidak ada komentar:

Posting Komentar