4 Rekayasa Sistem 3 SKS Dedy Alamsyah, S.Kom.
Tentang Mata Kuliah Rekayasa Sistem Kredit: 3 SKS Kelas: Senin, 19.20-21.00 WIB
The Big Picture Salah merencanakan berati merencanakan yang salah Ibnu Adam Aciviena (http://rumahcahayabintang.blogspot.com/2010/04/salah-merencanakan-berarti- merencanakan.html) Lord Kelvin berkata : Bila Anda dapat mengukur apa yg sedang Anda bicarakan dan mengekspresikannya dalam angka, berarti Anda memahaminya. Peter Drucker berkata: “Jika Anda tidak dapat mengukurnya, Anda tidak bisa mengelolanya”
SDLC (Software Development Lifecycle)
PADI Planning (Perencanaan) Analysis (Analisa) 1) Perencanaan (Planning) 2) Analisis (Analysis) 3) Rancangan (Design) 4) Penerapan (Implementation) 5) Penggunaan (Use) Planning (Perencanaan) Analysis (Analisa) Development (Pengembangan) Implementation (Implementasi)
Definisi (Planning/Perencanaan) : oxford noun the process of making plans for something. • [often as adj. ] the control of urban development by a local government authority, from which a license must be obtained to build a new property or change an existing one : the local planning authority. plan |plan| 1 a detailed proposal for doing or achieving something : the UN peace plan. • [with adj. ] a scheme for the regular payment of contributions toward a pension, savings account, or insurance policy : a personal pension plan. 2 (usu. plans) an intention or decision about what one is going to do : I have no plans to retire. 3 a detailed diagram, drawing, or program, in particular • a fairly large-scale map of a town or district : a street plan. • a drawing or diagram made by projection on a horizontal plane, esp. one showing the layout of a building or one floor of a building. Compare with elevation (sense 3). • a diagram showing how something will be arranged : look at the seating plan
Definisi Perencanaan RPL Perencanaan Proyek Perangkat Lunak adalah perencanaan yang spesifik untuk membangun sebuah perangkat lunak Perencanaan Proyek (Project Planning) merupakan awal dari serangkaian aktivitas secara kolektif dari sebuah proses Manajemen Proyek Perangkat Lunak. Proses manajemen proyek perangkat lunak dimulai dengan kegiatan project planning (perencanaan proyek). Yang pertama dari aktifitas ini adalah estimation (perkiraan). Estimasi menjadi dasar bagi semua aktivitas perencanaan proyek yang lain dan perencanaan proyek memberikan sebuah peta jalan bagi suksesnya rekayasa perangkat lunak, maka tanpa estimasi kita tidak dapat berjalan dengan baik.
Latar Belakang Perencanaan Software Development Dalam proyek fisik seperti pembangunan jembatan atau pembangunan jalan, estimasi biaya dan usaha proyek dapat dilakukan dengan lebih realistis karena semua komponen proyek dapat diestimasi dengan perkiraan secara fisik. Dalam proyek software estimasi biaya dan usaha proyek mempunyai kesulitan tersendiri karena karakteristik-karakteristik software yang lain dengan proyek fisik. Kesulitan-kesulitan yang sering dihadapi dalam estimasi proyek software sangat berkaitan dengan sifat alami software khususnya kompleksitas dan invisibilitas (keabstrakan).
Count Selain itu pengembangan software merupakan kegiatan yang lebih banyak dilakukan secara intensif oleh manusia sehingga tidak dapat diperlakukan secara mekanistik murni. Kesulitan-kesulitan lainya adalah [9]: 1. Novel application of software artinya dalam rekayasa proyek tradisional, suatu sistem dapat dikonstruksi dengan sistem sebelumnya yang serupa tetapi dalam lokasi dan customer yang berbeda. Sehingga dapat dilakukan estimasi proyek berdasarkan pengalaman sebelumnya. Dalam proyek software akan mempunyai produk yang unik sehingga akan menimbulkan ketidakpastian estimasi. 2. Changing technology, Untuk mengikuti perkembangan teknologi, maka suatu software aplikasi yang sama dapat diimplementasikan dalam lingkungan yang berbeda sehingga akan mempunyai estimasi proyek yang berbeda. 3. Lack of homogeneity of project experience, untuk mendapatkan estimasi proyek yang efektif harus didasarkan pada informasi bagaimana proyek-proyek sebelumnya dilakukan.
Perencanaan (Planning) Proses manajemen proyek perangkat lunak dimulai dengan kegiatan project planning (perencanaan proyek). Yang pertama dari aktifitas ini adalah estimation (perkiraan). Estimasi membawa resiko yang inheren (dari diri sendiri) dan resiko inilah yang membawa ketidakpastian. Yang mempengaruhi estimasi : - Project complexity (kompleksitas proyek) - Project size (ukuran proyek) - Struktural uncertainty (ketidakpastian struktural)
Tujuan dari perencanaan Tujuan Perencanaan Proyek Perangkat Lunak : menyediakan sebuah kerangka kerja yang memungkinkan manajer membuat estimasi yang dapat dipertanggungjawabkan terhadap sumber daya, biaya dan jadwal pada awal proyek yang dibatasi oleh waktu.
Metodologi Barry Boehm [2] telah mengidentifikasi beberapa metode estimasi biaya dan usaha proyek pengembangan software sebagai berikut: Model algoritmik, Analogi, Pendapat pakar, Parkinson, Top-down, dan Bottom- up.
Pengukuran Software Perangkat Lunak Ukuran merupakan faktor utama untuk menentukan biaya, penjadwalan, dan usaha. Kegagalan dari perkiraan ukuran yang tepat akan mengakibatkan penggunaan biaya yang berlebih atau keterlambatan penyelesaian proyek. Estimasi ukuran software merupakan suatu aktifitas yang komplek dan sukar berdasarkan pada beberapa alasan seperti kemampuan programmer, faktor lingkungan dan sebagainya. Tetapi karena tindakan ini harus dilakukan dan untuk mendapatkannya dengan mengukur ukuran proyek menggunakan ukuran seperti jumlah baris program (Source lines of code/SLOC) dan Function Points.
Count Pengukuran perangkat lunak dibedakan menjadi dua yaitu : Pengukuran langsung (direct) Metrik Size-Oriented Pengukuran tidak langsung (indirect) Metrik Function-Oriented Metrik Function Point
Count Yang diukur pada pengukuran langsung adalah : Biaya Pengaruh Jumlah baris perintah (LOC) yg diproduksi Kecepatan eksekusi Ukuran memori Kesalahan Yang diukur pada pengukuran tidak langsung adalah : fungsi kualitas kompleksitas efisiensi keandalan kemampuan pemeliharaan
Matrix Size Oriented Produktivitas = KLOC / usaha Kualitas = kesalahan / KLOC Biaya = biaya / KLOC Dokumentasi = halaman / KLOC Metrik size-oriented tidak diterima sebagai cara terbaik untuk mengukur proses pengembangan perangkat lunak. Sebagian besar berkisar di seputar pemakaian LOC.
Matrix Function Oriented Metode pendekatan yg digunakan dapat disebut : Function Point (FP). FP dihitung dgn melengkapi tabel dibawah ini : Faktor pembobotan
Tahapan Perencanaan Versi SCM Perencanaan perangkat lunak memiliki beberapa tahapan yang telah distandarisasi oleh IEEE (Institute Electrical and Electronics and Engineering). Standarisasi untuk perencanaan perangkat lunak yang dibuat oleh IEEE terangkum sebagai SCM (Software Configuration Management). Dalam dokumen tersebut, tahapan perencanaan proyek perangkat lunak terbagi menjadi : Introduction SCM Management SCM Activities SCM Schedules SCM Resources SCM Plan Maintenance
1. Introduction (merupakan tahapan awal dari perencanaan yang didalamnya meliputi : a. Ruang Lingkup perangkat lunak yang akan dikerjakan. b. Tujuan dari perangkat lunak yang akan dibuat c. Definisi dari perangkat lunak d. Referensi perangkat lunak
2. SCM Management Merupakan aspek manjerial dari perencanaan proyek perangkat lunak. Didalam tahapan ini, seorang manajer tim melakukan pembagian tugas, pelimpahan tanggung jawab, rencana implementasi serta penetapan prosedur dalam pembuatan perangkat lunak. 3. SCM Activities Merupakan perencanaan aktivitas yang nantinya dilakukan dalam pembuatan perangkat lunak, termasuk di dalamnya target yang harus dicapai dalam satuan waktu tertentu serta wewenang revisi dan kendali saat proyek dilaksanakan.
4. SCM Schedules Merupakan tahapan untuk pembuatan jadwal proyek dengan timeline yang sesuai dengan permintaan pelanggan. 5. SCM Resource Dalam tahapan ini, jadwal serta target yang telah selesai kemudian dipetakan sesuai dengan sumber daya yang dimiliki. Sumber daya dalam ruang lingkup ini adalah sumber daya perangkat keras dan perangkat lunak yang dimiliki oleh tim pengembang serta sumber daya manusia yang nanti terlibat dalam proyek pengerjaan perangkat lunak.
6. SCM Plan Maintenance Merupakan tahapan akhir dalam perencanaan, yakni perencanaan tentang pemeliharaan perangkat lunak jika perangkat lunak telah selesai di produksi.
Estimasi Estimasi : sebuah pengukuran yang didasarkan pada hasil secara kuantitatif atau dapat diukur dengan angka tingkat akurasinya. Estimasi Perangkat Lunak : melakukan prediksi atau ramalan mengenai keluaran dari sebuah proyek dengan meninjau jadwal, usaha, biaya bahkan hingga ke resiko yang akan ditanggung dalam proyek tersebut.
Metode Dalam Estimasi COCOMO ( Constructive Cost Model ) COCOMO adalah model untuk melakukan estimasi biaya, usaha dan jadwal saat merencanakan sebuah aktivitas pengembangan perangkat lunak. COCOMO sendiri diciptakan pertama kali oleh Boehm pada tahun 1981.
Saat ini telah dikembangkan evolusi dari COCOMO yakni COCOCMO II yang mulai dikenalkan pada tahun 2000. Pada perkembangan COCOMO II memiliki tujuan : Mengembangkan estimasi biaya dan jadwal proses pengembangan perangkat lunak. Mengembangkan kapabilitas alat bantu untuk membantu melakukan estimasi biaya pengembangan perangkat lunak Menyediakan sebuah kerangka kerja yang secara kuantitatif dapat melakukan evaluasi mengenai siklus hidup perangkat lunak beserta biaya dan jadwal yang ada.
Q & A