pertemuan 7 - gunadarmahera_agustina.staff.gunadarma.ac.id/.../pertemuan+7.pdfmicrosoft powerpoint -...
TRANSCRIPT
Hera Agustina, S.Kom., MMSI
METODE PRAKTIS(ESTIMASI)
Definisi
Estimasi adalah evaluasikeseluruhan elemen dari sebuah
proyek atau usaha yangdiberikan berdasarkan
kesepakatan terhadap suatulingkup pekerjaan
Pendahuluan• Estimasi merupakan sebuah proses
pengulangan.
• Pemanggilan ulang estimasi yang pertamadilakukan selama fase definisi, yaitu ketika andamenulis rencana pendahuluan proyek.
• Estimasi diperlukan dalam pembuatan proposal
• Setelah fase analisis direncanakan ulang, andaharus memeriksa estimasi dan merubah rencanapendahuluan proyek menjadi rencana akhirproyek.
• Salah satu hal penting dalam pembuatan proposal proyek adalahestimasi dan penganggaran.
• Jika estimasi biaya dilakukan dengan dengan kurang hati-hatisehingga menghasilkan perkiraan biaya yang terlalu tinggi, makaakan berakibat perusahaan akan kalah bersaing denganperusahaan lain yang menawarkan harga lebih rendah dengankualitas yang sepadan.
• Jika estimasi biaya yang dilakukan ternyata terlalu rendah, makameski menang dalam tender namun dalam pelaksanaannya dapatmengalami kesulitan pendanaan yang dapat berujung pada tidakselesainya proyek dan kehilangan kepercayaan dari mereka yangmemberi proyek.
Teknik Estimasi
Teknik Estimasi
KeputusanProfesional
Sejarah
Rumus-Rumus
• Keuntungan dari teknik ini adalah cepat , danjika seseorang sudah ahli dalam teknik ini, makaestimasinya pasti akan lebih akurat.
• Kerugian dari teknik ini adalah bahwa andamembutuhkan seorang ahli yangberpengalaman dalam bidang ini, dan beberapaahli tersebut akan bekerja keras untukmendapatkan estimasi yang tepat.
Keputusan Profesional
Sejarah• Jalan keluar dari ketergantungan pada orang dan
untuk membuat estimasi lebih khusus, yaitu andaharus mengerti tentang sejarahnya. Tulislah berapalama masing-masing tugas dapat diselesaikan dansiapa yang bertanggung jawab atas tugas tersebut.
• Anda dapat membandingkan tuagas yang akandiestimasi dengan tugas yang sama yang dikerjakanlebih awal, setelah itu mulailah dengan melakukanestimasi. Hal ini dimaksudkan agar anda menjabarkansuatu proyek ke dalam beberapa tugas yang biasanyadiulang dan mudah untuk dibandingkan.
• Software estimasi yang biasanya digunakan adalahCocomo.
• Cocomo dapat digunakan untuk memperkirakan biayaproyek, usaha (person months), jadwal, dan jumlah staffdalam masing-masing fase berikut :
Preliminary Design - our Analysis Phase
Detailed Design (DD) - our Design Phase
Code and Unit Tes (CUT) - same as ours
System Test - our System Test and AcceptancePhase
Rumus-Rumus
Estimasi Biaya Perangkat Lunak
• Cocomo adalah model estimasi perangkat lunakyang paling banyak digunakan.
• Cocomo memprediksi upaya dan durasi proyekberdasarkan input yang berkaitan denganukuran sistem yang dihasilkan dan sejumlah“cost drivers” yang mempengaruhi produktivitas.
Pendahuluan
• Top down (analogi histori dan informasi) :dari analisa bisnis sampai ke detail.
• Bottom up: dari estimasi masing-masingaktivitas proyek dikumpulkan secara total.
• Model matematis;• Software tools.• Perlu diingat dalam SW metodologi bahwa: Biaya (cost) tidak sebanding linear
dengan jumlah code yang akandiprogram (size).
• Dasar perhitungan :
• Dikenal sebagai Constructive Cost Model (COCOMO), modelkonstruksi biaya.
• C dan M adalah koefisien konstanta ( > 1 ), targantung pada tipeproyek dan organisasi, dengan cara melihat Tabel Konstanta (sudahtersedia dari penelitian).
• Ditentukan pula oleh: application experience, leadership capability,new environment and tools, requirements uncertainty, softwarereuse.
effort = C x sizeM
Model Cocomo
ModelCocomo
Basic IntermediateDetailed/Advanced
• Basic (COCOMO I 1981) Menghitung dari estimasi jumlah FP dan LOC; FP = suatu unit pengukuran untuk keterhubungan dan
keterkaitan antar prosedur, fungsi dan lingkungan SW• Intermediate (COCOMO II 1999)
Menghitung dari besarnya program dan “cost drivers” (faktor-faktoryang berpengaruh langsung kepada proyek), seperti : hardware,personnel, dan atribut-atribut proyek;
• AdvancedMemperhitungkan semua karakteristik dari “intermediate” di atasdan “cost drivers” dari setiap fase (analisis, design, implementation,etc) dalam SW life cycles.
Model yang lebih kompleks memperhitungkan lebih banyak faktor yang memengaruhi proyek perangkat lunak, dan membuat perkiraan yang
lebih akurat.
Mode PengembanganFaktor terpenting yang berkontribusi padadurasi dan biaya proyek adalah ModePengembangan.
(E = effort ) = Ca x (size=KLOC=kilo line of code) Ma
(satuan: ManMonth (Person Month) = 152 jam kerja)
(D = duration) = Cb x E Mb
(satuan: Month)
Productivity = size / E (satuan: KLOC/Man Month)
Average staffing = E / D (satuan: FTE = Full Time Employees jumlahorang yang bekerja penuh dalam 1 hari kerja ~ 8 jam )
Basic Cocomo
1. Menghitung estimasi informasi nilai domain count total;
2. Menyesuaikan kompleksitas proyek berdasarkan faktorpemberat dan “cost drivers” kemudian menghitung estimasijumlah Function Points unit of measure that representfunctions required by the user.
FP = count total * [0.65 + 0.01 * ∑ Fi];
3. Menghitung estimasi LOC (Line of Code). Tekniknya samaengan PERT Calculation (three points estimation);
EV = (Sopt + 4 Sm + Spess) / 6;
Atau menghitung LOC / FP dari tabel berdasar padabahasa pemrograman;
4. Memilih kompleksitas proyek (menentukan C dan M), dariorganic, embedded atau semi-detached system mode.
5. Menghitung E dan D estimasi biaya dan waktu.
Simple Avrg. Compl. JumlahJumlah input pemakai 3 4 6 * =Jumlah output pemakai 4 5 7 * =Jumlah inquiry pemakai 3 4 6 * =Jumlah file 7 10 15 * =Jumlah eksternal interface 5 7 10 * =
+Count Total
Informasi Nilai Domain
• Input pemakai : setiap input data dari useryang dipakai untuk menjalankan aplikasi.
• Output pemakai : setiap hasil output dariproses yang ditampilkan kepada user.
• Inquiry pemakai : setiap on-line input yangmenghasilkan responsi software secaralangsung.
• Jumlah file : setiap master file yang menjadibagian dari aplikasi.
• Eksternal interface : setiap interface (sarana)eksternal yang menyalurkan informasi darisistem satu ke sistem lainnya.
1. Backup dan recovery2. Komunikasi data3. Proses terdistribusi4. Kepentingan performa5. Keberadaan lingkungan operasi6. Online data entry7. Input melalui bbrp tampilan/operasi8. Peng-update-an file master secara online9. Kompleksitas nilai ‘domain’ (tahap1) diatas10. Kompleksitas proses internal aplikasi11. Perulangan (reuse) penggunaan code12. Ketersediaan rancangan untuk konversi dan instalasi13. Rancangan untuk pengulangan instalasi di lingkungan yg berbeda14. Fleksibiltas bagi pemakai
14 Pos Kompleksitas Faktor(Cost Drivers)
Kesemuanya ini dihitung berdasarkan nilai dari 0-5 menunjukkan perkiraan nilai
kepentingan (No Influence, Incidental, Moderate,
Average, Significant, Essential)
Tabel LOC / FP Rata-rata
Mode Pengembangan
Contoh Kasus
Dalam soal ini Anda akanmensimulasikan perhitungan estimasijumlah kode pada suatu proyekperangkat lunak dengan menggunakanCOCOMO model. Seluruh data-datayang diperlukan akan diberikan, tugasanda hanyalah menerapkan prosesperhitungannya. Latar belakang proyekadalah :
Suatu perangkat lunak CAD akan menerima data geometri dua dantiga dimensi dari seorang perekayasa. Perekayasa akan berinteraksidan mengontrol sistem CAD melalui suatu interface pemakai yangakan memperhatikan desain manusia mesin yang baik. Semua datageometri dan informasi pendukung yang lain akan dipelihara padadatabase CAD. Modul analisis desain akan dikembangkan untukmemproduksi output yang dibutuhkan yang akan ditampilkan padaberbagai perangkat grafik. Perangkat lunak akan dirancang untukmengontrol dan berinteraksi dengan perangkat keras peripheraltermasuk mouse, digitizer dan printer laser.Dengan latar belakang tersebut, dibuatlah sebuah desain perangkat lunakdengan data flow diagram, yang pada akhirnya dapat digunakan untukmengestimasi jumlah kode yang diperlukan dalam pengimplementasiandengan memperkirakan jumlah Function Point-nya.
Tahap 1 : Informasi Nilai Domain
Informasi nilaidomain
Jumlahestimasi per do
main
Bobot domain Average
Jumlah FP per domain ( ?? )
Jumlah input 24 4
Jumlah output 26 5
Jumlah inquiry 22 4
Jumlah file 4 10
Jumlahinterfaceeksternal
2 7
Jumlah total
Tahap 2 : Menghitung Cost Drivers
Tahap 3 : Hitung Size
Diminta bahwa Anda menggunakan bahasapemrograman yang berorientasi obyek. Diketahui bahwa estimasi LOC / FP-nya adalah 30.
Hitung estimasi LOC-nya:
LOC = … ubah menjadi KLOC
KLOC = …
Dari hasil requirements dan desain, diketahui bahwa produk akan beroperasidi tipe sistem semi-detached.Tentukan nilai konstanta, dari tabel tipe-sistemCa = … Cb = …Ma = … Mb = …
Tahap 4 : Konstanta KompleksitasProyek
Tahap 5 : Hitung BesaranCocomo
Effort = …
Durasi = …
Produktivitas = …
Staffing = …
• Jangan pernah menanyakan pada seseorangyang tidak berpengalaman untuk melakukanestimasi.
• Lakukan estimasi secara berkelompok, jika andamampu menyediakan sumber daya manusianya.
• Jangan memaksa melakukan estimasi padaseseorang profesional, seperti programmer.
• Jangan pernah mengambil rata-rata dariestimasi yang berbeda.
Aturan Persetujuan Estimasi
• Membagi persoalan menjadi bagiankecil secara mendetail selama satuminggu atau kurang.
• Selalu tambahkan (kalikan ?) untukkejadian yang tidak pasti.
• Selalu berikan jangka waktu ketikamelakukan estimasi bagi manajer atauklien.
• Gunakan naluri anda.