johan rpl-5
-
Upload
johan-peusangan -
Category
Documents
-
view
226 -
download
0
Transcript of johan rpl-5
-
8/11/2019 johan rpl-5
1/17
Software Engineering
Ir.Teuku Muhammad Johan M. ITjohantm @yahoo.com
+628116702263
-
8/11/2019 johan rpl-5
2/17
1. Rekayasa Perangkat lunak Pendahuluan2. Proses Rekayasa Perangkat Lunak.
3. Manajemen Proyek (Schedulling & Planning).
Course Outline
2
-
8/11/2019 johan rpl-5
3/17
Estimasi Perangkat Lunak
Proyek estimasi dan penjadwalan adalah
kegiatan manajemen yang biasanya dilakukanbersama-sama.
Estimasi melibatkan beberapa pertanyaan
berikut:
Berapa banyak usaha yang dibutuhkan untukmenyelesaikan suatu kegiatan?
Berapa banyak waktu kalender yangdibutuhkan untuk menyelesaikan Kegiatan?
Berapa total biaya dari suatu kegiatan?
3
-
8/11/2019 johan rpl-5
4/17
Kalkulasi Biaya perangkat lunak
Komponen yang terlibat dalam menghitung total biaya suatu
proyek perangkat lunak: Biaya perangkat keras dan perangkat lunak (termasuk pemeliharaan).
Biaya perjalanan dan pelatihan.
Biaya upaya (faktor dominan dalam sebagian besar proyek)
Gaji dari insinyur yang terlibat dalam proyek;
Biaya jaminan sosial dan asuransi.
Biaya Upaya harus memperhitungkan biaya tidak langsung:
Biaya bangunan, penerangan dan pemanas ruangan.
Biaya jaringan dan komunikasi.
Biaya fasilitas bersama (misalnya perpustakaan, staf restoran, dll).
Biaya staf pendukung misalnya (akuntan, teknisi dll).
4
-
8/11/2019 johan rpl-5
5/17
Kalkulasi Biaya Perangkat Lunak
Tujuannya adalah untuk secara akurat memperkirakan
biaya untuk mengembangkan perangkat lunak.
Secara klasik, definisi harga adalah biaya ditambahkeuntungan.
Namun, tidak ada hubungan yang sederhana antarabiaya suatu pengembangan dengan harga yang harusdibebankan kepada pelanggan.
Organisasi yang lebih luas, ekonomi, politik dan
pertimbangan bisnis banyak mempengaruhi hargayang dibebankan.
5
-
8/11/2019 johan rpl-5
6/17
Faktor-faktor yang Mempengaruhi Kalkulasi Biaya P L
6
F a k t o r U r a i a n
Peluang pasar Sebuah organisasi pengembangan dapat memberikan penawaran dengan harga yangrendah karena ia berharap untuk pindah ke segmen baru dari perangkat lunak pasar.
Menerima suatu keuntungan yang rendah pada satu proyek dapat memberikan
kesempatan untuk keuntungan yang lebih kemudian. Pengalaman yang diperoleh dapat
memungkinkan produk baru yang akan dikembangkan.
Ketidakpastian
Estimasi Biaya
Jika suatu organisasi tidak yakin akan perkiraan biayanya, mungkin menaikkan harga
sebesar kontingensi beberapa atas dan di atas nya yang normal profit.
Istilah
kontraktual
Pelanggan mungkin bersedia untuk mengizinkan pengembang untuk mempertahankan
kepemilikan dari source code dan menggunakannya kembali dalam proyek-proyek
lainnya. Harga yang dikenakan kemudian mungkin kurang dibandingkan jika perangkat
lunak source code diserahkan kepada pelanggan.
Persyaratan
ketidak stabilan
Jika persyaratan cenderung untuk berubah, suatu organisasi dapat menurunkan harganya
untuk memenangkan suatu kontrak. Setelah kontrak ini diberikan, harga yang tinggi
dapat dikenakan untuk perubahan pada persyaratan.
Kesehtatan
Keuangan
Faktor-faktor yang Mempengaruhi perangkat lunak Kalkulasi Biaya Pengembang yang
berada dalam kesulitan keuangan dapat menurunkan harga untuk mendapatkan sebuah
kontrak. Lebih baik untuk membuat lebih kecil dari normal keuntungan atau mencapai
titik impas daripada pergi gulung tikar.
-
8/11/2019 johan rpl-5
7/17
Produktivitas perangkat lunak
Sebuah ukuran tingkat di mana individu yang
terlibat dalam pengembangan perangkat lunakdapat menghasilkan suatu perangkat lunak dandokumentasi yang terkait.
Tidak berorientasi mutu meskipun jaminankualitas merupakan suatu faktor dalampenilaian produktivitas.
Pada dasarnya, kita ingin mengukur fungsibermanfaat yang diproduksi per unit waktu.
7
-
8/11/2019 johan rpl-5
8/17
Produktivitas perangkat lunak
Produktivitas dapat diukur dengan:
Ukuran yang terkait saiz
Berdasarkan output daripada proses perangkat lunak.
Mis Baris source code yang dihasilkan (LOC), instruksi
kode objek, dll Fungsi-yang terkait ukuran indakan
Berdasarkan perkiraan fungsi dari perangkat lunak yangdihasilkan.
Mis poin fungsi adalah jenis ukuran yang paling dikenalsaat ini.
8
-
8/11/2019 johan rpl-5
9/17
Produktivitas perangkat lunak
Beberapa masalah ukuran-ukuran
produktivitas:
Memperkirakan saiz dari setiap ukuran (misalnyaberapa banyak fungsi poin).
Memperkirakan jumlah programmer digunakanpada bulan yang telah berlalu.
Memperkirakan produktifitas kontraktor
(misalnya team dokumentasi) danmenggabungkan perkiraan ini denganperkiraaan keseluruhan.
9
-
8/11/2019 johan rpl-5
10/17
Produktivitas perangkat lunak: LOC
Apa yang dimaksud dengan line of code (LOC)?
Diusulkan manakala program diketik pada kartudengan satu baris per kartu (misalnya COBOL,Fotran).
Bagaimana hal ini sesuai dengan pernyataan sepertipada Java yang dapat menjangkau beberapa barisatau di mana bisa ada beberapa pernyataan padasatu baris?
Model ini mengasumsikan bahwa ada hubunganlinear antara sistem saiz dan volume daridokumentasi.
10
-
8/11/2019 johan rpl-5
11/17
Produktivitas perangkat lunak: LOC
Semakin rendah tingkat bahasa program, maka
semakin produktif seorang programmer. Dengan fungsi yang sama bahasa tingkat rendah akan
membutuhkan lebih banyak kode dibandingkan denganbahasa tingkat tinggi.
Semakin terinci (verbose) programmer, makasemakin tinggi produktivitas.
Ukuran produktifitas didasarkan pada baris kode menunjuk-kan bahwa programmer yang menulis kode terinci lebih
produktif dibandingkan programmer yang menulis kodedengan ringkas.
11
-
8/11/2019 johan rpl-5
12/17
Produktivitas perangkat lunak: LOC
12
Analysis Design Coding Testing Documentation
Assembly Code 3 weeks 5 weeks 8 weeks 10 weeks 2 weeks
High-level
language 3 weeks 5 weeks 4 weeks 6 weeks 62weeks
Saiz Effort Produktivity
Assembly Code 5000 lines 28 weeks 714 lines/month
High-level
language1500 lines 20 weeks 300 lines/month
-
8/11/2019 johan rpl-5
13/17
Produktivitas P.L.: Poin Fungsi
Berdasarkan hasil kombinasi dari karakteristik program:
Input dan output eksternal;
Interaksi pengguna;
Antarmuka eksternal;
File yang digunakan oleh sistem.
Bobot dikaitkan dengan kondisi masing-masing di atas.
Penghitungan poin fungsi diperoleh dengan mengalikanmasing-masing raw jumlah dengan bobot dan menjumlahkansemua nilai.
UFC = (jumlah elemen dari tipe yang diberikan) x (bobot)
Catatan: UFCUnadjusted Function-point Count (PerhitunganPoin Fungsi yang tidak disesuaikan).
13
-
8/11/2019 johan rpl-5
14/17
Produktivitas P.L.: Poin Fungsi
Penghitungan poin fungsi dimodifikasi oleh
kompleksitas dari proyek.
PF dapat digunakan untuk memperkirakan LOCtergantung pada jumlah rata-rata per LOC FP untuk
bahasa yang diberikan.
LOC = AVC * jumlah poin fungsi;
AVC adalah faktor yang tergantung pada bahasa bervariasi dari
200-300 untuk bahasa assembly ke 2-40 untuk 4GL.
FP sangat subjektif. Mereka bergantung padaestimator.
Penghitungan poin fungsi secara automatik adalah tidak mungkin.
14
-
8/11/2019 johan rpl-5
15/17
Produktivitas P.L.: Poin Objek
Obyek poin (alternatif lain bernama poin aplikasi)
adalah suatu ukuran alternatif fungsi yangberhubungan kepada poin fungsi di mana 4GLs ataubahasa pemograman yang sesuai serupa digunakanuntuk pembangunan.
Poin Obyek TIDAK sama dengan kelas objek.
Jumlah titik objek dalam sebuah program adalahsuatu bobot estimasi dari:
Jumlah layar terpisah yang ditampilkan;
Jumlah laporan yang dihasilkan oleh sistem;
Jumlah modul program yang harus dikembangkan untuk melengkapikode database;
15
-
8/11/2019 johan rpl-5
16/17
Produktivitas P.L.: Poin Objek
Poin Objek lebih mudah diperkirakan darispesifikasi daripada fungsi poin karenamereka hanya peduli dengan layar, laporandan modul bahasa pemrograman.
Oleh karena itu mereka dapat diperkirakanpada poin cukup awal proses pengembangan.
Pada tahap ini, sangat sulit untuk
memperkirakan jumlah baris kode dalamsuatu sistem.
16
-
8/11/2019 johan rpl-5
17/17
Beberapa perkiraan:
Sistem embedded waktu nyata, 40-160 LOC / P-bulan.
Sistem program, 150-400 LOC / P-bulan.
Aplikasi komersial, 200-900 LOC / P-bulan.
Dalam poin objek, produktivitas telah diukur antara4 dan 50 poin objek / bulan tergantung pada alat
pendukung dan kemampuan pengembang.
17