Bahan Ajar disusun oleh Budi Susanto, S.Kom,MT Estimasi Software Bahan Ajar disusun oleh Budi Susanto, S.Kom,MT
Perkiraan Biaya PL Kegiatan estimasi PL adalah untuk menentukan berapa banyak sesumber yang dibutuhkan untuk menyelesaikan proyek. Biasanya satuan perkiraan ini adalah programmer-months (PM). Dua pendekatan: LOC estimation, didasarkan pada perkiraan awal jumlah kode yang perlu dikembangkan untuk proyek. Function Points terhadap deskripsi proyek.
Line of Code NCLOC digunakan untuk menyatakan LOC non- commented Sering disebut juga dengan effective lines of code (ELOC). Jika baris dokumentasi internal diperhitungkan, maka CLOC digunakan. total length (LOC) = NCLOC + CLOC KLOC digunakan untuk menyatakan ribuan LOC.
Perkiraan LOC Langkah pertama dalam perkiraan berbasis LOC adalah memperkirakan jumlah baris kode program pada akhir proyek. Dapat dilakukan berdasar pengalaman, ukuran proyek sebelumnya, ukuran dari kompetitor, atau membagi proyek ke dalam bagian-bagian yang lebih kecil dan kemudian memperkirakan ukuran setiap bagian yang lebih kecil tersebut.
Perkiraan LOC Pendekatan baku, untuk setiap bagian (Pi), adalah memperkirakan ukuran maksimum yang mungkin (maxi), ukuran minimum yang mungkin (mini), Tebakan ukuran terbaik (besti). Perkiraan untuk seluruh proyek adalah 1/6 dari jumlah maksimum, minimum, dan 4 * best. Simpangan baku (S) = Perkiraan tiap Pi = (mini+maxi+4*best)/6
Contoh Total LOC = 170.07
Model Biaya Berbasis LOC Model biaya menyediakan perkiraan langsung beban. Model ini memiliki sebuah faktor utama biaya: pengendali biaya sekunder. Pengendali biaya merupakan karakteristik dari proyek, proses, produk atau sesumber yang mempengaruhi beban. Model biaya dihasilkan dengan menggunakan analisis regresi terhadap kumpulan data dari proyek PL sebelumnya. Struktur model berbasis regresi berbentuk: E = A + B x S^C
Model Biaya berbasis LOC Model Walston-Felix E = 5.2 x (KLOC)^0.91 Model Bailey-Basili E = 5.5 + 0.73 x (KLOC)^1.16 Model COCOMO Basic E = 3.2 x (KLOC)^1.05 Model Doty Model untuk KLOC > 9 E = 5.288 x (KLOC)^1.047
Function Point Function Point Analysis dikembangkan pertama kali oleh Allan J. Albrecht di pertengahan 1970. Mencoba menyelesaikan kesulitan terkait dengan LOC sebagai pengukuran PL, dan membantu dalam pengembangan sebuah mekanisme untuk meramalkan beban (effort) terkait dengan pengembangan PL. Metode ini pertama dipublikasikan tahun 1979, kemudian tahun 1983. Tahun 1984, Albrecht memperbaiki metode ini dan sejak 1986, ketika International Function Point User Group (IFPUG) dibentuk, beberapa versi Function Point Counting Practices Manual diterbitkan oleh IFPUG. -- http://www.ifpug.org/
Function Point Albrecht dan Gaffney menulis "Software Function, Source Lines of Code and Development Effort Prediction : A Software Science Validation," IEEE Trans. Software Eng., Nov 1983. Dalam metode Function points, ukuran sebuah sistem dapat dihitung dengan 3 komponen: information processing size (Unadjusted Function Points-UFP), Technical complexity adjustment factors, dan Function Points.
Unadjusted Function Points - UFP UFP dikenal sebagai ukuran pemrosesan informasi. Ukuran ini ditentukan dengan penentuan 5 komponen sistem : EI(external Input), EO(external output), EQ(external inquiry), ILF(internal logical file), dan EIF(external interface file). Komponen-komponen tersebut kemudian diberi nilai "simple", "average" atau "complex", tergantung pada karakteristik masing-masing. Kemudian, jumlahkan semua komponen yang disebut sebagai Unadjusted Function Points (UFP).
External Input (EI) Adalah proses dasar dimana data melewati batas dari luar ke dalam. Data ini mungkin berasal dari layar input atau aplikasi lain. Data mungkin digunakan untuk memelihara satu atau lebih berkas logika internal. Data dapat berupa baik informasi kontrol atau informasi bisnis. Jika data adalah informasi kontrol, maka tidak perlu mengupdate berkas logika internal.
External Outputs (EO) Sebuah proses dasar dimana hasil data dilewatkan dari dalam ke keluar. Contoh aplikasi menghasilkan berkas XML atau CSV(Comma-Separated Value) Aplikasi tersebut mungkin digunakan aplikasi lain untuk untuk update tabel aplikasi eksternal Ada laporan yang dihasilkan atau file yang dikirim ke aplikasi lain. Laporan dan file tersebut dibuat dari satu atau lebih ILF dan external interface file.
External Inquiry (EQ) Proses dasar dengan input dan out yang menghasilkan hasil pencarian Hasil dari 1 atau lebih ILF
Bagian FP: Data Bagian Data dibagi menjadi: Internal logical file (ILF): data berelasi secara logika di dalam batasan aplikasi. Aplikasi memelihara data. Contoh : tabel PELANGGAN akan dipelihara melalui layar data entry Pelanggan. External Interface files (EIF): berisi komponen yang akan berada di luar dari batasan aplikasi dan digunakan hanya jika untuk tujuan referensi. Catatan : Jangan memasukkan fungsionalitas seperti update aplikasi eksternal dalam bagian ini. Ranking berdasar RET dan DET
Bagian FP: Transaksi Bagian transaksi menggunakan bagian data, yang memelihara informasi dari ILF dan EIF. External Input (EI) External Output (EO) External Inquiry (EQ) Ranking tergantung pada jumlah file yang terupdate dan jumlah DET (Data Element Type)
Bagian FP: Sub Bagian Ini adalah subbagian yang dapat menjadi sebuah sub bagian dari transaksi atau data. Record Element Type (RET): sub kelompok data di dalam sebuah logical file. Contoh: seorang Pelanggan dapat memiliki 2 RET, alamat dan nomor telepon. Data Element Type (DET): adalah field yang tidak berulang dalam sebuah ILF. Contoh: Kode Pelanggan adalah DET. File Type Reference (FTR): adalah sebuah file yang ditunjuk oleh transaksi. Sebuah FTR harus sebuah ILF atau EIF.
Rating setiap komponen Untuk EI, EO, EQ dirangking berdasar jumlah file terupdate atau referensi (FTR) dan jumlah elemen tipe data (DET). Contoh: sebuah EI yang menunjuk atau update 2 File Types Referenced (FTR) dan memiliki 7 data elemen akan diberikan ranking average dan dinyatakan dengan rating 4. FTR adalah kombinasi sejumlah ILF dan EIF yang direferensi dan diupdate. Rating didasarkan pada total jumlah elemen data (DET) dan FTR unique. Jika FTR atau DET yang sama digunakan baik pada sisi input dan output, maka dihitung sekali.
Tabel Ranking EI, EO dan EQ
Ranking ILF dan EIF
Tabel Index UFP
Contoh UFP
Contoh sebuah Form Ada 2 ILF: PELANGGAN dan ALAMAT_PELANGGAN Tidak ada EIF dari form tersebut
Tabel Ranking UFP untuk form Pelanggan
Model Biaya berbasis FP Model Albrecht dan Gaffney E = -12.39 + 0.0545 FP Model Kemerer E = 60.62 x 7.728 x 10-8 FP3 Model Matson, Barnett, dan Mellichamp E = 585.7 + 15.12 FP