Software Project Planning (Perencanaan Proyek Software) 1. Tujuan: Perkiraan: sumber daya, biaya/harga, jadwal (waktu) 2. Beberapa faktor yang mempengaruhi ketepatan perkiraan. - Kompleksitas proyek: ukuran relatif proyek yang dipengaruhi oleh seberapa jauh orang / organisasi tersebut mengenal software yang akan dibuat. - Ukuran proyek: semakin besar ukuran proyek semakin tinggi ketergantungan antar komponen / element - element penyusun software. Dekomposisi menjadi lebih sulit sejalan dengan semakin besarnya proyek. - Derajat ketakpastian struktur. Struktur merujuk pada: Kestabilan kebutuhan software Mudah/tidaknya fungsi-fungsi sofware dilokalisir Hirarki informasi yang harus diproses. - Ketersediaan informasi historis (masa lalu). memungkinkan kita mengetahui hal-hal yang dapat dipakai / tidak dapat dipakai. Memperkecil kemungkinan mengulang kesalahan yang sama. 3. Ruang lingkup software(software scope) - Penentuan ruang lingkup software merupakan aktifitas pertama dalam merencanakan proyek. - Menggambarkan fungsi, kinerja, batasan / kendala, antarmuka, dan keandalan. Fungsi: apa saja yang harus dapat dilakukan oleh software yang akan dibuat. Dapat diperoleh dengan cara dekomposisi pernyataan ruang lingkup software. Kinerja: merujuk pada kebutuhan pemrosesan dan waktu tanggap. Batasan / kendala: Batasan yang dikenakan pada software sehubungan dengan hardware dan memori yang tersedia atau sistem yang sudah ada. - Ruang lingkup software dapat diperoleh dengan cara mengajukan beberapa pertanyaan yang akan membawa pada pemahaman tentang : Permasalahan. Orang/organisasi yang memerlukan software. Penyelesaian yang diinginkan.
4. Sumber daya. - Perkiraan sumber daya yang diperlukan untuk menyelesaikan proyek. - Ada tiga sumber daya: Manusia Reusable components Development environment ( hardware dan software tools ) - Setiap sumber daya harus disebutkan: Gambaran tentang sumber daya tersebut. Ada / tidaknya sumber daya tersebut. Kapan diperlukannya sumber daya tersebut. Lama waktu diperlukannya sumber daya tersebut. - Sumber daya manusia Keahlian yang diperlukan (database specialist, communication specialist,.). Posisi dalam organisasi. Banyaknya (hanya dapat ditentukan setelah perkiraan usaha (effort) untuk membuat software selesai). - Reusable software components Komponen program yang dapat dipakai. Ada empat katagori: Off the shelf components: dapat langsung dipakai Full-experience components Berasal dari proyek masa lalu yang mirip dengan proyek sekarang. Mengubah komponen hanya mengan-dung resiko kecil. Partial-experience components Berasal dari proyek yang ada kaitannya dengan proyek sekarang. Mengubah komponen mempunyai resiko yang cukup besar. Komponen baru: komponen yang khusus dibuat untuk proyek yang sekarang. - Development environment
Hardware menyediakan platform untuk menjalankan software tools untuk membuat proyek. 5. Perkiraan Proyek Software - Ketepatan perkiraan tergantung dari: a) Ketepatan perkiraan ukuran proyek. b) Kemampuan mengubah ukuran proyek menjadi banyaknya usaha yang diperlukan. c) Bagaimana anggota tim pembuat software mencerminkan rencana proyek. d) Kestabilan kebutuhan software dan lingkungan yang mendukung pengembangan software. - Ukuran software dapat ditentukan secara langsung (LOC) atau tidak langsung (FP). Ada empat cara: Fuzzy logic sizing: berdasar pada approximate reasoning. Harus mempunyai akses terhadap proyek-proyek yang lalu. Function point (FP) sizing (lihat materi kuliah yang lalu) Standard component sizing: Software dianggap terdiri dari komponen komponen standar, yang ukurannya diperoleh dari proyek-proyek yang lalu. Contoh: andaikan proyek mempunyai 18 report. Dari proyek proyek yang lalu diketahui satu report memerlukan 763 baris. Maka banyaknya beris program untuk seluruh report adalah 18 X 763 Change sizing: Ukuran proyek diukur dari banyak perubahan yg harus dilakukan terhadap proyek yang lalu. - Ukuran proyek dinyatakan sebagai expected value dg cara menggabung perkiraan perkiraan secara optimistik, most likely dan pesimistik dg rumus: EV ( Sopt 4Sm S pess ) / 6 6. Contoh perkiraan berbasis LOC - CAD Software Scope (ruang lingkup): The CAD software will accept two and three dimensional geometric data from an engineer. The engineer will interact and control the CAD system through a user interface that will exhibit characteristics of good human-machine interface design. All geometric data and other supporting information will be maintained in a CAD database. Design analysis modules will be developed to producerequired output which
will be displayed on a variety of graphics devices. The software will be designed to control and interact with peripheral devices that include a mouse, digitizer, and a laser printer. - Dari dekomposisi ruang lingkup software di dapat fungsi fungsi: Antarmuka pemakai dan fasilitas kontrol (UICF) Analisis geometris 2 dimensi (2DGA) Analisis geometris 3 dimensi (3DGA) Pengelolaan basisdata (DBM) Fasilitas tampilan grafis (CGDF) Kontrol periferal (PC) Modul analisa desain (DAM) - Perkiraan jumlah baris untuk masing masing fungsi, misalnya: Banyaknya baris Perkiraan Fungsi Optimis Most likely Pesimistik LOC UICF 2300 2DGA 5300 3DGA 4600 6900 8600 6800 DBM 3350 CGDF 4950 PC 2100 DAM 8400 Perkiraan # baris total 33200 - Andaikan dari data perusahaan diperoleh Produktifitas karyawan 620 LOC / orang-bulan - Diperoleh: Gaji karyawan (dalam proyek) 4 jt / orang-bulan Harga perbaris program 4 juta / 620 Harga software (proyek) 4 620 X 33200 juta Usaha (effort) 33200 / 620 orang bulan 7. Contoh perkiraan berbasis FP - Untuk contoh ini dianggap software yang dibuat mempunyai tingkat kerumitan sedang sehingga faktor bobotnya adalah sedang (average).
- Andaikan diperoleh angka berikut: Domain informasi Opt. Most likely Pes. Est. count (EV) bobo t FP. count # input 20 24 30 24 4 96 # output 12 16 22 16 5 80 # inquiries 16 22 28 22 3 88 # files 4 4 5 4 10 40 # antarmuka eksternal - Hitung faktor kompleksitas (F i, i = 1,, 14). 2 2 3 2 7 14 Count total 318 Andaikan didapat nilai nilai (4, 2, 0, 4, 3, 4, 5, 3, 5, 5, 4, 3, 5, 5), maka didapat faktor kompleksitas 1.17 - Hitung FP FP perkiraan = Count total X [0.65 + 0.01 X F i ) = 372 - Andaikan data perusahaan adalah sebagai berikut: - Diperoleh: produktifitas karyawan 6.5 FP / orang bulan Gaji karyawan (dalam proyek) 4 juta / orang-bulan Harga per FP 4 juta / 6.5 Harga proyek 4 / 6.5 X 372 juta Usaha yang diperlukan 372 / 6.5 orang bulan 8. Beberapa Catatan - Beli atau membuat software? Pertimbangan Kecepatan mendapat sistem (software) Harga (lebih murah buat atau beli?) Support / maintenance - Outsourcing