1 1
6.1 Observasi pada Estimasi 6.2 Tujuan Perencanaan Proyek
6.3. Ruang Lingkup Perangkat Lunak
6.3.1. Rangkaian Pertanyaan SW Scope
6.3.1.1 Contoh Rangkaian Pertanyaan Pertama 6.3.1.2 Contoh Rangkaian Pertanyaan Kedua 6.3.1.3 Contoh Rangkaian Pertanyaan Ketiga 6.3.2. Contoh Scoping
6.3.2.1 Penjelasan Gambar 6.3.2.2 Dekomposisi Pernyataan 6.3.2.3 Kesimpulan Contoh Scoping
6.4 Sumber Daya
6.4.1 Sumber Daya Manusia
6.4.2 Reusable Software Resources 6.4.3 Environmental Resources
6.5. Estimasi Proyek Perangkat Lunak
6.5.1. Teknik Dekomposisi 6.5.1.1 Software Sizing
6.5.1.2 Problem-based Estimation 6.5.1.3 Contoh Estimasi Berbasis-LOC 6.5.1.4 Contoh Estimasi Berbasis FP 6.5.1.5 Contoh Estimasi Berbasis Proses 6.5.2 Empirical Estimation Models
6.5.2.1 Beberapa Model Estimasi
6.5.2.2 COnstructive COst MOdel (COCOMO)
6. Perenc. Proyek Perangkat Lunak
6. Perenc. Proyek Perangkat Lunak
(Software Project Planning)
2 2
Project planning adalah serangkaian
Project planning adalah serangkaian
aktivitas-aktivitas kolektif
aktivitas-aktivitas kolektif
dalam proses
dalam proses
manajemen proyek perangkat lunak.
manajemen proyek perangkat lunak.
Estimation adalah aktivitas pertama
Estimation adalah aktivitas pertama
dalam project planning
dalam project planning
Estimation menjadi
Estimation menjadi
dasar
dasar
bagi aktivitas
bagi aktivitas
perencanaan proyek yang lain.
perencanaan proyek yang lain.
Project planning menjadi
Project planning menjadi
peta jalan
peta jalan
bagi
bagi
kesuksesan rekayasa perangkat lunak
kesuksesan rekayasa perangkat lunak
Perenc. Proyek Perangkat Lunak
3
6.1 Observasi pada Estimasi
6.1 Observasi pada Estimasi
Estimasi pada project planning meliputi estimasi
Estimasi pada project planning meliputi estimasi
sumber daya, biaya, dan jadwal
sumber daya, biaya, dan jadwal
pengembangan
pengembangan
perangkat lunak.
perangkat lunak.
Hal-hal yang mempengaruhi estimasi:
Hal-hal yang mempengaruhi estimasi:
Project complexityProject complexity (kompleksitas proyek); berpengaruh (kompleksitas proyek); berpengaruh
terhadap ketidakpastian yang inheren dalam perencanaan
terhadap ketidakpastian yang inheren dalam perencanaan
Project sizeProject size (ukuran project); berpengaruh terhadap (ukuran project); berpengaruh terhadap
akurasi estimasi
akurasi estimasi
Structural uncertaintyStructural uncertainty (ketidakpastian struktural); (ketidakpastian struktural);
berpengaruh terhadap resiko estimasi
4 4
6.2 Tujuan Perencanaan Proyek
6.2 Tujuan Perencanaan Proyek
menyediakan sebuah
menyediakan sebuah
kerangka kerja
kerangka kerja
yang
yang
memungkinkan manajer membuat
memungkinkan manajer membuat
estimasi
estimasi
yang dapat dipertanggungjawabkan
yang dapat dipertanggungjawabkan
mengenai sumber daya, biaya, dan jadwal.
mengenai sumber daya, biaya, dan jadwal.
Tujuan project planning dapat tercapai
Tujuan project planning dapat tercapai
melalui proses
melalui proses
penemuan informasi
penemuan informasi
yang
yang
menunjuk ke estimasi yang dapat
menunjuk ke estimasi yang dapat
dipertanggungjawabkan.
5
6.3. Ruang Lingkup Perangkat Lunak
6.3. Ruang Lingkup Perangkat Lunak
(Software Scope)
(Software Scope)
Fungsi (functions)
Fungsi (functions)
Kinerja (perfomance)
Kinerja (perfomance)
Batasan(constraints)
Batasan(constraints)
Antarmuka (interface)
Antarmuka (interface)
Keandalan (reliability)
Keandalan (reliability)
6 6
6.3.1. Rangkaian Pertanyaan SW Scope
6.3.1. Rangkaian Pertanyaan SW Scope
Lingkup PL yang akan dibuat ditentukan melalui
pertemuan-pertemuan antara customer dengan developer
Untuk menjembatani jurang komunikasi antara customer
dengan developer, Gause & Weinberg mengusulkan 3 rangkaian pertanyaan berikut:
Rangkaian pertanyaan pertama adalah sekumpulan pertanyaan
bebas konteks yang memusatkan pada customer, sasaran keseluruhan PL yang dibuat, dan keuntungan yang akan diperoleh.
Rangkaian pertanyaan kedua adalah sekumpulan pertanyaan
yang memungkinkan analis mendapatkan pemahaman yang lebih baik atas problem, dan customer dapat menyuarakan persepsinya atas suatu solusi.
Rangkaian pertanyaan ketiga adalah pertanyaan-pertanyaan
yang memusatkan pada efektivitas dari pertemuan itu sendiri (disebut meta-questions).
7
6.3.1.1 Contoh Rangkaian Pertanyaan Pertama
6.3.1.1 Contoh Rangkaian Pertanyaan Pertama
Siapa di belakang permintaan pekerjaan ini?
Siapa di belakang permintaan pekerjaan ini?
Siapa yang akan menggunakan solusi ini?
Siapa yang akan menggunakan solusi ini?
Keuntungan ekonomis apa yang diperoleh
Keuntungan ekonomis apa yang diperoleh
dari solusi ini?
dari solusi ini?
8 8
6.3.1.2 Contoh Rangkaian Pertanyaan Kedua
6.3.1.2 Contoh Rangkaian Pertanyaan Kedua
Bagaimana anda mengkarakterisir keluaran “yang
Bagaimana anda mengkarakterisir keluaran “yang
baik” yang akan dimunculkan oleh solusi ini?
baik” yang akan dimunculkan oleh solusi ini?
Problem apa saja yang akan dihadapi oleh solusi
Problem apa saja yang akan dihadapi oleh solusi
ini?
ini?
Dapatkan anda menunjukkan kepada kami (atau
Dapatkan anda menunjukkan kepada kami (atau
menjelaskan) lingkungan di mana solusi ini akan
menjelaskan) lingkungan di mana solusi ini akan
dipakai?
dipakai?
Adakah batasan atau isu kinerja khusus yang akan
Adakah batasan atau isu kinerja khusus yang akan
mempengaruhi cara pendekatan terhadap solusi?
9
6.3.1.3 Contoh Rangkaian Pertanyaan Ketiga
6.3.1.3 Contoh Rangkaian Pertanyaan Ketiga
Apakah anda orang yang tepat untuk
Apakah anda orang yang tepat untuk
menjawab pertanyaan-pertanyaan ini?
menjawab pertanyaan-pertanyaan ini?
Apakah jawaban anda “resmi”?
Apakah jawaban anda “resmi”?
Apakah pertanyaan-pertanyaan kami relevan
Apakah pertanyaan-pertanyaan kami relevan
untuk problem yang anda punya?
untuk problem yang anda punya?
Apakah saya terlalu banyak pertanyaan?
Apakah saya terlalu banyak pertanyaan?
Apakah ada orang lain yang dapat
Apakah ada orang lain yang dapat
memberikan informasi-informasi tambahan?
memberikan informasi-informasi tambahan?
Apakah ada hal-hal lain yang harus kami
Apakah ada hal-hal lain yang harus kami
tanyakan kepada anda?
10 10
6.3.2. Contoh Scoping
6.3.2. Contoh Scoping
1 2 3 4 5 6 ID No. ID No. ID No. ID No. SORTING STATION control connection conveyor line motion shunt bar code11
6.3.2.1 Penjelasan Gambar
6.3.2.1 Penjelasan Gambar
Conveyor Line Sorting System (CLSS) menyortir box-box Conveyor Line Sorting System (CLSS) menyortir box-box
yang bergerak pada ban berjalan.
yang bergerak pada ban berjalan.
Setiap Setiap box diidentifikasi dengan bar codebox diidentifikasi dengan bar code yang menyatakan yang menyatakan
nomor part.
nomor part.
Box-box tersebut akan disortir ke dalam Box-box tersebut akan disortir ke dalam 6 wadah6 wadah berdasarkan berdasarkan
nomor part.
nomor part.
Box-box tersebut melewati stasiun sortir yang berisi pembaca Box-box tersebut melewati stasiun sortir yang berisi pembaca
bar code dan sebuah PC (Personal Computer).
bar code dan sebuah PC (Personal Computer).
PC di stasiun sortir dihubungkan dengan PC di stasiun sortir dihubungkan dengan mekanisme langsiran mekanisme langsiran
(shunt) yang akan menyortir box-box
(shunt) yang akan menyortir box-box tersebut ke dalam tersebut ke dalam wadah-wadah yang sesuai.
wadah-wadah yang sesuai.
Box-box tersebut lewat dengan urutan yang acak dan berjarak Box-box tersebut lewat dengan urutan yang acak dan berjarak
sama.
sama.
PL CLSS menerima informasi masukan dari pembaca bar code PL CLSS menerima informasi masukan dari pembaca bar code
dengan interval waktu sesuai dengan kecepatan ban berjalan.
12 12
6.3.2.1 Penjelasan Gambar(lanj)
6.3.2.1 Penjelasan Gambar(lanj)
Data bar code tersebut akan didekodekan ke dalam format Data bar code tersebut akan didekodekan ke dalam format
identifikasi box.
identifikasi box.
PL akan melakukan look-up pada basis data part number yang PL akan melakukan look-up pada basis data part number yang
berisi maksimum 1000 entry untuk
berisi maksimum 1000 entry untuk menentukan lokasimenentukan lokasi wadah wadah yang sesuai bagi box yang saat itu di stasiun sortir.
yang sesuai bagi box yang saat itu di stasiun sortir.
Lokasi wadah yang sesuai diberikan pada sorting shunt yang Lokasi wadah yang sesuai diberikan pada sorting shunt yang
akan menempatkan box tersebut pada wadah yang sesuai. akan menempatkan box tersebut pada wadah yang sesuai.
Sebuah catatan (record) yang berisi wadah tujuan dari setiap Sebuah catatan (record) yang berisi wadah tujuan dari setiap
box dibangkitkan untuk recovery nantinya dan pelaporan.
box dibangkitkan untuk recovery nantinya dan pelaporan.
PL CLSS juga menerima masukan dari sebuah tachometer PL CLSS juga menerima masukan dari sebuah tachometer
pulsa yang akan dipakai untuk sinkronisasi sinyal kontrol ke
pulsa yang akan dipakai untuk sinkronisasi sinyal kontrol ke
mekanisme shunting.
mekanisme shunting.
Berdasarkan pada jumlah pulsa yang akan dibangkitkan Berdasarkan pada jumlah pulsa yang akan dibangkitkan
antara stasiun sortir dan shunt, PL akan menghasilkan sebuah
antara stasiun sortir dan shunt, PL akan menghasilkan sebuah
sinyal kontrol ke shunt untuk menenpatkan box tersebut
sinyal kontrol ke shunt untuk menenpatkan box tersebut
dengan benar.
13
6.3.2.2 Dekomposisi Pernyataan
6.3.2.2 Dekomposisi Pernyataan
Dekomposisi dari pernyataan di atas, dapat diekstrak menjadi Dekomposisi dari pernyataan di atas, dapat diekstrak menjadi
fungsi-fungsi penting dari PL yang akan dibuat; yaitu:
fungsi-fungsi penting dari PL yang akan dibuat; yaitu:
read bar code input (membaca input bar code)read bar code input (membaca input bar code)
read pulse tachometer (membaca pulsa tachometer)read pulse tachometer (membaca pulsa tachometer)
decode part code data (mengkodekan bagian data kode)decode part code data (mengkodekan bagian data kode) do database look-up (mengerjakan look-up database)do database look-up (mengerjakan look-up database) determine bin location (menentukan lokasi kotak determine bin location (menentukan lokasi kotak
penyimpanan
penyimpanan
produce control signal for shunt (memproduksi sinyal produce control signal for shunt (memproduksi sinyal
kontrol untuk shunt)
kontrol untuk shunt)
maintain record of box destinations (memelihara rekaman maintain record of box destinations (memelihara rekaman
tujuan kotak)
14 14
6.3.2.3 Kesimpulan Contoh Scoping
6.3.2.3 Kesimpulan Contoh Scoping
Kinerja sistem ini ditentukan oleh kecepatan ban
Kinerja sistem ini ditentukan oleh kecepatan ban
berjalan.
berjalan.
Pemrosesan setiap box harus selesai
Pemrosesan setiap box harus selesai
sebelum box berikutnya tiba di pembaca bar code
sebelum box berikutnya tiba di pembaca bar code
.
.
Kendala-kendala yang membatasi PL CLSS adalah
Kendala-kendala yang membatasi PL CLSS adalah
meliputi
meliputi
perangkat keras
perangkat keras
yang harus diakses
yang harus diakses
(pembaca bar code, shunt, PC), memori yang
(pembaca bar code, shunt, PC), memori yang
tersedia, dan konfigurasi keseluruhan dari lini ban
tersedia, dan konfigurasi keseluruhan dari lini ban
berjalan tersebut.
15
6.3.2.3 Kesimpulan Contoh Scoping (lanj)
6.3.2.3 Kesimpulan Contoh Scoping (lanj)
Interface
Interface
: PL yang dibuat berinteraksi dengan
: PL yang dibuat berinteraksi dengan
elemen-elemen lain dari sistem berbasis komputer
elemen-elemen lain dari sistem berbasis komputer
ini. Konsep interface mempunyai arti;
ini. Konsep interface mempunyai arti;
(1) hardware yang mengeksekusi PL dan perangkat lain
(1) hardware yang mengeksekusi PL dan perangkat lain
yang secara tidak langsung dikontrol oleh PL tersebut.
yang secara tidak langsung dikontrol oleh PL tersebut.
(2) software yang telah ada dan harus dilink dengan
(2) software yang telah ada dan harus dilink dengan
software yang baru (dibuat) tersebut.
software yang baru (dibuat) tersebut.
(3) orang yang menggunakan PL tersebut via keyboard atau
(3) orang yang menggunakan PL tersebut via keyboard atau
I/O devices lainnya.
I/O devices lainnya.
(4) prosedur-prosedur yang mengawali atau mengakhiri
(4) prosedur-prosedur yang mengawali atau mengakhiri
(mengikuti) PL tersebut sebagai urutan operasi yang
(mengikuti) PL tersebut sebagai urutan operasi yang
sekuensial.
16 16
6.4 Sumber Daya
6.4 Sumber Daya
Hardware/Software Tools Reusable Software Components People17
6.4.1 Sumber Daya Manusia
6.4.1 Sumber Daya Manusia
Diperlukan keahlian untuk menyelesaikan
Diperlukan keahlian untuk menyelesaikan
pengembangan PL; baik dari segi posisi
pengembangan PL; baik dari segi posisi
organisasional (misal: manager, senior
organisasional (misal: manager, senior
software engineer, dsb) maupun spesialisasi
software engineer, dsb) maupun spesialisasi
(misal: telekomunikasi, basis data, dsb).
(misal: telekomunikasi, basis data, dsb).
Sedangkan jumlah banyaknya personil yang
Sedangkan jumlah banyaknya personil yang
dibutuhkan ditentukan setelah estimasi beban
dibutuhkan ditentukan setelah estimasi beban
kerja (development effort).
18 18
6.4.2 Reusable Software Resources
6.4.2 Reusable Software Resources
Off-the-shelf components;
Off-the-shelf components;
memanfaatkan
memanfaatkan
yang
yang
telah dibuat pada proyek internal sebelumnya.
telah dibuat pada proyek internal sebelumnya.
Full-experience components;
Full-experience components;
mereview
mereview
spesifikasi,
spesifikasi,
kode, desain atau pengujian data dari proyek
kode, desain atau pengujian data dari proyek
sebelumnya
sebelumnya
Partial-experience components; aplikasi, kode,
Partial-experience components; aplikasi, kode,
desain atau data dari proyek sebelumnya
desain atau data dari proyek sebelumnya
dihubungkan
dihubungkan
dengan proyek sekarang
dengan proyek sekarang
19
6.4.3 Environmental Resources
6.4.3 Environmental Resources
Lingkungan yang mendukung proyek PL,
Lingkungan yang mendukung proyek PL,
disebut juga software engineering
disebut juga software engineering
environment (SEE); meliputi
environment (SEE); meliputi
hardware
hardware
software
software
20 20
6.5. Estimasi Proyek Perangkat Lunak
6.5. Estimasi Proyek Perangkat Lunak
(
(
Software project estimation
)
)
Ada 2 teknik dalam melakukan estimasi
Ada 2 teknik dalam melakukan estimasi
proyek perangkat lunak, yaitu:
proyek perangkat lunak, yaitu:
Decomposition Techniques
Decomposition Techniques
Empirical Estimation Models
Empirical Estimation Models
21
6.5.1. Teknik Dekomposisi
6.5.1. Teknik Dekomposisi
(
(
Decomposition techniques
Decomposition techniques
)
)
Dekomposisi masalah : Dekomposisi masalah : memecah-mecah masalahmemecah-mecah masalah yang yang
kompleks menjadi serangkaian masalah yang lebih kecil.
kompleks menjadi serangkaian masalah yang lebih kecil.
Ketelitian estimasi proyek PL diprediksi pada sejumlah hal:Ketelitian estimasi proyek PL diprediksi pada sejumlah hal:
(1) derajat ketepatan estimasi ukuran produk yang akan
(1) derajat ketepatan estimasi ukuran produk yang akan
dibuat,
dibuat,
(2) kemampuan menterjemahkan ukuran terestimasi
(2) kemampuan menterjemahkan ukuran terestimasi
tersebut ke dalam beban kerja, waktu kalender, dan
tersebut ke dalam beban kerja, waktu kalender, dan
rupiah,
rupiah,
(3) derajat rencana proyek yang mencerminkan
(3) derajat rencana proyek yang mencerminkan
kemampuan tim software, dan
kemampuan tim software, dan
(4) kestabilan persyaratan-persyaratan produk dan
(4) kestabilan persyaratan-persyaratan produk dan
lingkungan yang mendukung upaya software
lingkungan yang mendukung upaya software
engineering.
22 22
6.5.1.1 Software Sizing
Dalam kontek project planning, size mengacu pada
Dalam kontek project planning, size mengacu pada
hasil-hasil proyek PL yang dapat dikuantifikasi.
hasil-hasil proyek PL yang dapat dikuantifikasi.
Putnam & Myers mengusulkan 4 cara untuk
Putnam & Myers mengusulkan 4 cara untuk
pengukuran problem;
pengukuran problem;
Fuzzy-logic sizingFuzzy-logic sizing; menggunakan teknik reasoning ; menggunakan teknik reasoning
aproksimasi
aproksimasi
Function point sizingFunction point sizing; mengembangkan estimasi ; mengembangkan estimasi
karakteristik domain informasi
karakteristik domain informasi
Standard component sizingStandard component sizing; menggunakan komponen-; menggunakan
komponen-komponen standar yang ada.
komponen standar yang ada.
Change sizingChange sizing; memodifikasi PL dengan banyak cara, ; memodifikasi PL dengan banyak cara,
menggunakan suatu rasio kerja setiap perubahan,
menggunakan suatu rasio kerja setiap perubahan,
sehingga ukuran perubahan dapat diperkirakan
23
6.5.1.2 Problem-based Estimation
6.5.1.2 Problem-based Estimation
Data LOC dan FP dipakai dalam dua hal
Data LOC dan FP dipakai dalam dua hal
selama estimasi proyek PL:
selama estimasi proyek PL:
(1) sebagai suatu estimation variable yang dipakai
(1) sebagai suatu estimation variable yang dipakai
untuk “
untuk “
memberi ukuran
memberi ukuran
” pada setiap elemen PL
” pada setiap elemen PL
yang akan dibuat, dan
yang akan dibuat, dan
(2) sebagai
(2) sebagai
baseline metrics
baseline metrics
yang dikumpulkan dari
yang dikumpulkan dari
proyek terdahulu dan dipakai bersama-sama
proyek terdahulu dan dipakai bersama-sama
dengan estimation variable untuk
dengan estimation variable untuk
menghitung
menghitung
proyeksi biaya dan beban kerja.
24 24
Tanpa memandang variabel estimasi yang
Tanpa memandang variabel estimasi yang
dipakai, project planner mulai dengan
dipakai, project planner mulai dengan
mengestimasi rentang nilai
mengestimasi rentang nilai
untuk setiap
untuk setiap
fungsi atau nilai domain informasi.
fungsi atau nilai domain informasi.
Dengan menggunakan
Dengan menggunakan
data historis atau
data historis atau
intuisi
intuisi
, ditentukan ukuran nilai yang
, ditentukan ukuran nilai yang
optimistik (sopt), rata-rata (sm),
optimistik (sopt), rata-rata (sm),
dan yang
dan yang
pesimistik (spess).
pesimistik (spess).
Kemudian dihitung nilai yang diharapkan
Kemudian dihitung nilai yang diharapkan
(three-point atau expected value) sbb.
(three-point atau expected value) sbb.
EV = (sopt + 4 sm + spess)/6
EV = (sopt + 4 sm + spess)/6
6.5.1.2 Problem-based Estimation (lanj)
25 25
6.5.1.3 Contoh Estimasi Berbasis-LOC
6.5.1.3 Contoh Estimasi Berbasis-LOC
Rekayasa :
Rekayasa :
Software CAD
Software CAD
yang dapat menerima
yang dapat menerima
data geometrik 2-D dan 3-D dari seorang engineer.
data geometrik 2-D dan 3-D dari seorang engineer.
Engineer akan berinteraksi dan mengkontrol sistem
Engineer akan berinteraksi dan mengkontrol sistem
CAD tersebut melalui
CAD tersebut melalui
user interface
user interface
yang akan
yang akan
mencerminkan karakteristik perancangan interface
mencerminkan karakteristik perancangan interface
human-machine yang baik.
human-machine yang baik.
Semua data geometrik dan informasi pendukung
Semua data geometrik dan informasi pendukung
lainnya akan disimpan dalam suatu
lainnya akan disimpan dalam suatu
basis data CAD
basis data CAD
.
.
Modul-modul analisis - design akan dibuat untuk
Modul-modul analisis - design akan dibuat untuk
menghasilkan keluaran
menghasilkan keluaran
yang akan memperagakan
yang akan memperagakan
(display) pada berbagai graphics devices.
(display) pada berbagai graphics devices.
Software akan dirancang guna
Software akan dirancang guna
mengontrol dan
mengontrol dan
berinteraksi
berinteraksi
dengan devices periferal yang meliputi
dengan devices periferal yang meliputi
mouse, digitizer, dan laser printer.
26 26
Kita asumsikan fungsi-fungsi utama PL
Kita asumsikan fungsi-fungsi utama PL
tersebut adalah:
tersebut adalah:
user interface and control facilities (UICF)
user interface and control facilities (UICF)
two-dimensional geometric analysis (2DGA)
two-dimensional geometric analysis (2DGA)
three-dimensional geometric analisys (3DGA)
three-dimensional geometric analisys (3DGA)
database management (DBM)
database management (DBM)
computer graphics display facilities (CGDF)
computer graphics display facilities (CGDF)
peripheral control (PC)
peripheral control (PC)
design analysis modules (DAM)
design analysis modules (DAM)
6.5.1.3 Contoh Estimasi Berbasis-LOC (lanj)
27
user interface and control facilities (UICF) two-dimensional geometric analysis (2DGA) three-dimensional geometric analysis (3DGA) database management (DBM)
computer graphics display facilities (CGDF) peripheral control (PC)
design analysis modules (DAM)
Estimated LOC Function 2.300 5.300 6.800 3.350 4.950 2.100 8.400 33.200
estimated lines of code
6.5.1.3 Contoh Estimasi Berbasis-LOC (lanj)
28 28
6.5.1.4 Contoh Estimasi Berbasis FP
6.5.1.4 Contoh Estimasi Berbasis FP
number of inputs number of outputs number of inquiries number of files
number of external interfaces
Information Domain Value opt. likely pess.
20 24 30 12 15 22 16 22 28 4 4 5 2 2 3 est.
count weight FP-count
24 16 22 4 2 4 5 4 10 7 96 80 88 40 14 count-total 318
29
Backup and recovery Data communication Distributed processing Performance critical
Existing operation environment On-line data entry
Input transaction over multiple screens Master files updated on-line
Information domain values complex internal processing complex
Code designed for reuse
Conversion/installation in design Multiple installations
Application designed for change Complexity adjustment factor
4 2 0 4 3 4 5 3 5 5 4 3 5 5 1.17 Factor Value FPestimated = count-total x [0,65 + 0,01 x ΣFi] FPestimated = 372
6.5.1.4 Contoh Estimasi Berbasis FP(lanj)
30 30
6.5.1.5 Contoh Estimasi Berbasis Proses
6.5.1.5 Contoh Estimasi Berbasis Proses
Sederetan kegiatan proses software harus
Sederetan kegiatan proses software harus
dikerjakan untuk masing-masing fungsi.
dikerjakan untuk masing-masing fungsi.
Fungsi-fungsi
Fungsi-fungsi
dan
dan
kegiatan-kegiatan
kegiatan-kegiatan
proses
proses
PL yang terkait dapat dinyatakan dalam tabel
PL yang terkait dapat dinyatakan dalam tabel
berikut.
31
Software Engineering Tasks
Product Functions Text input
Editing & formatting Automatic copy edit Page layout capability Automatic indexing & TOC File management Document production COMMON PROCESS FRAMEWORK ACTIVITIES cu st ome r co m mu ni ca tio n pl an ni ng ris k an al ys is en gi ne eri ng
32 32
6.5.2 Empirical Estimation Models
6.5.2 Empirical Estimation Models
Model estimasi untuk software komputer dengan Model estimasi untuk software komputer dengan
menggunakan
menggunakan formula-formula yang diturunkan secara formula-formula yang diturunkan secara empirik
empirik untuk memprediksi beban kerja sebagai fungsi untuk memprediksi beban kerja sebagai fungsi dari LOC atau FP.
dari LOC atau FP.
Data empirik yang mendukung model-model estimasi Data empirik yang mendukung model-model estimasi
tersebut diturunkan dari sample proyek yang terbatas.
tersebut diturunkan dari sample proyek yang terbatas.
Model-model estimasi mempunyai struktur sbb.Model-model estimasi mempunyai struktur sbb. C
ev
B
A
E
=
+
×
(
)
dengan A, B, dan C adalah konstanta yang diturunkan
secara empirik
E adalah effort dalam orang bulan
33
6.5.2.1 Beberapa Model Estimasi
6.5.2.1 Beberapa Model Estimasi
91 , 0 ) ( 2 , 5 KLOC E = × 16 , 1 ) ( 73 , 0 5 , 5 KLOC E = + × 05 , 1 ) ( 2 , 3 KLOC E = × 047 , 1 ) ( 288 , 5 KLOC E = × Walston-Felix model Bailey-Basili model Boehm simple model
Doty model untuk KLOC > 9
) ( 0545 , 0 39 , 13 FP E = − + × 3 8( ) 10 728 , 7 62 , 60 FP E= × × − ) ( 12 . 15 7 , 585 FP E = + ×
Albrecht and Gaffney model Kemerer model
Matson, Barnett, and Mellichamp model
LOC-Oriented LOC-Oriented
FP-Oriented FP-Oriented
34 34
6.5.2.2 COnstructive COst MOdel
6.5.2.2 COnstructive COst MOdel
(COCOMO)
(COCOMO)
Model mempunyai bentuk hirarki (berdasarkan Boehm) sbb:
Model 1. Basic COCOMO Model
Model 1. Basic COCOMO Model
Menghitung development effort (dan cost) sebagai fungsi dari ukuran program yang dinyatakan dalam estimasi LOC.
E
E = = aabbKLOCKLOCbbbb
D
D = = ccbbEEddbb
dengan E adalah effort (usaha) dalam orang-bulan dan D adalah waktu pengembangan dalam bulan kronologis.
35 Software Project organic semi-detached embedded ab 2,4 3,0 3,6 bb 1,05 1,12 1,20 cb 2,5 2,5 2,5 db 0,38 0,35 0,32
BASIC COCOMO MODEL
Dengan mengambil nilai pada contoh CAD, maka biaya per-person:
E = 2,4 (KLOC)1,05
E = 2,4 (33,2)1,05
E = 95 person-month
Untuk menghitung durasi proyek: D = 2,5 E0,35
E = 2,5 (95)0,35
E = 12,3 month
Jumlah orang yang disetujui: E = E/D = 95/12,3 = ~8 person
• Organic – proyek perangkat lunak yang sederhana dan relatif kecil
• Semi-detached – proyek perangkat lunak menengah
36 36
Menghitung usaha pengembangan PL sebagai fungsi
ukuran program dan serangkaian pengendali biaya
yang menyangkut penilaian yang subyektif terhadap
produk, hardware, personil, dan atribut proyek.
E
=
a
iKLOC
bix
EAF
dengan E adalah effort dalam orang-bulan dan EAF
adalah faktor penyesuaian usaha dengan harga
berkisar antara 0,9 sampai 1,4.
37
Software Project
organic
semi-detached
embedded
a
i3,2
3,0
2,8
b
i1,05
1,12
1,20
Model 2. Intermediate COCOMO Model (lanj)
• Organic – proyek perangkat lunak yang sederhana dan relatif kecil
• Semi-detached – proyek perangkat lunak menengah
• Embedded – proyek perangkat lunak yang kompleks seperti PL penerbangan
38 38
Menghubungkan semua karakteristik model
intermediate dengan penilaian terhadap pengaruh
pengendali biaya pada setiap langkah (analisis,
perancangan, pemrograman, dll) dari proses rekayasa
perangkat lunak.
Model 3. Advanced COCOMO Model
39 39
6.5.2.3 Persamaan Perangkat Lunak
6.5.2.3 Persamaan Perangkat Lunak
Persamaa PL : Persamaa PL : model multivariasi yang mengasumsikan model multivariasi yang mengasumsikan
distribusi khusus effort sepanjang hidup proyek
distribusi khusus effort sepanjang hidup proyek
pengembangan perangkat lunak
pengembangan perangkat lunak..
Dihasilkan (estimasi) dari data produktivitas 4000 proyek Dihasilkan (estimasi) dari data produktivitas 4000 proyek
perangkat lunak yang sejaman.
perangkat lunak yang sejaman.
Didefinisikan sbb:Didefinisikan sbb:
E = [LOC x B
E = [LOC x B0,3330,333/P]/P]33 x (1/t x (1/t44))
keterangan :
keterangan :
E= effort dalam person-month atau person-year
E= effort dalam person-month atau person-year
t = durasi proyek dalam bulan atau tahun
t = durasi proyek dalam bulan atau tahun
B = faktor skill khusus (pertumbuhan skill). Untuk program kecil
B = faktor skill khusus (pertumbuhan skill). Untuk program kecil
(KLOC=5 sampai 15) B=0,16; untuk program lebih besar dari 70 (KLOC=5 sampai 15) B=0,16; untuk program lebih besar dari 70 KLOC, B=0,39
KLOC, B=0,39
P = parameter produktivitas
P = parameter produktivitas
Waktu pengembangan minimum didefinisikan:Waktu pengembangan minimum didefinisikan:
t
tminmin=8,14(LOC/P)=8,14(LOC/P)0,430,43