Perencanaan Proyek Perangkat Lunak Perancangan Perangkat Lunak Software Engineering Bertalya,, 2009
Perencanaan Proyek Objektivitas perencanaan proyek adalah menyediakan framework yang dapat memungkinkan manager membuat estimasi sumber daya, biaya & jadual proyek software Aktifitas2nya al: 1. menentukan ruang lingkup software 2. resources estimation (estimasi sumber daya) 3. risk analysis (analisis resiko) 4. scheduling (penjadualan) 5. acquisition decision making 6. reengineering 7. organizational planning Perencanaan Proyek 2
Ruang Lingkup Ruang lingkup perangkat lunak menggambarkan 1. Function Fungsi ini terdapat dalam pernyataan ruang lingkup perangkat lunak,, yang akan dievaluasi untuk keperluan estimasi 2. Performance Meliputi kebutuhan pemrosesan & waktu respons 3. Constraint Mengindentifikasikan keterbatasan perangkat lunak dilihat dari memori, sistem yg tersedia 4. Interface Interface ini diartikan 5. Reliability Pengukuran untuk reliability jarang dilakukan karena sulit diterjemahkan ke domain perangkat lunak Perencanaan Proyek 3
Sumber Daya Sumber daya digambarkan sebagai suatu piramida; di dasar, perangkat keras maupun lunak, sedangkan di atas adalah sumber daya manusia Sumber daya dispesifikasikan dengan 4 karakteristik : deskripsi sumber daya pernyataan ketersediaan waktu secara kronologis sumber daya digunakan Durasi waktu aplikasi sumber daya Time window Perencanaan Proyek 4
Sumber Daya (lanj.) 1. Sumber daya manusia Perancang mulai dg mengevaluasi ruang lingkup perangkat lunak & menyeleksi kemampuan untuk - posisi organisasi (manager,senior, dll) - speciality (telekomunikasi,, database, dll) 2. Sumber daya perangkat keras. Kategori yg harus diperhatikan : a. sistem pembuatan Komputer & peripheral yg akan digunakan b. mesin target Mesin dimana perangkat keras akan dieksekusi c. elemen perangkat keras lainnya Element perangkat keras lainnya dapat dispesifikasikan sebagai sumber daya perangkat lunak Perencanaan Proyek 5
Sumber Daya (lanj.) 3. Sumber daya perangkat lunak Perangkat lunak untuk membantu pembuatan perangkat lunak baru, contohnya perangkat CASE. Kategori perangkat : - business systems planning tools - project management tools - support tools - analysis & design tools - programming tools - integration & testing tools - prototyping & simulation tools - maintenance tools - framework tools Perencanaan Proyek 6
Estimasi Dengan memahami ruang lingkup perangkat lunak, seorang perancang proyek perangkat lunak dapat membuat estimasi untuk effort & biaya dalam pembuatan perangkat lunak yang baru 3 Tehnik estimasi yang digunakan al: 1. decomposition techniques 2. empirical estimation models 3. automated tools Perencanaan Proyek 7
Tehnik Estimasi 1. Decomposition techniques Untuk setiap subfungsi hasil dari dekomposisi, diestimasi LOC & FP kemudian dikombinasikan untuk mendapat estimasi global. LOC & FP digunakan sebagai - variabel estimasi yg digunakan untuk ukuran masing2 element pada perangkat lunak - pengukuran baseline dari proyek lama yang dikonjugasi dengan variabel estimasi untuk membuat proyeksi biaya & effort Perencanaan Proyek 8
Tehnik Estimasi (lanj.) 2. Empirical Estimation Models Model estimasi (estimation model) menggunakan formula yang diturunkan secara empiris untuk memprediksi data yang digunakan pada tahap perencanaan. Model sumber daya terdiri atas satu atau lebih persamaan2 yang diturunkan secara empiris dimana dapat memprediksi effort, durasi proyek & data proyek lainnya. Perencanaan Proyek 9
Tehnik Estimasi (lanj.) 4 klas pada model sumber daya al: - static single-variable models, contoh COCOMO (Construction Cost Model) - static multivariables models - dynamic multivariables models, contoh Putnam Estimation Model - theoretical models 3. Automated Estimation Tools Mengimplementasikan model empiris yang spesifik. Perencanaan Proyek 10
Contoh Ruang lingkup software untuk aplikasi Computer-Aided Design (CAD) The CAD software will accept 2 or 3 dimensional geometric data from an engineer. The engineer will interact & control the CAD system through a user interface that will exhibit characteristic of good human-machine machine interface design. All geometric data & other supporting information will be maintained in a CAD database. Design analysis modules will be developed to produce required output which will be displayed on a variety of graphics devices. The software will be designed to control & interact with peripheral ral devices that include a mouse, digitizer, laser printer, & plotter. Fungsi2 : - user interface & control facilities (UICF) - 2 dimensional geometric analysis (2DGA) - 3 dimensional geometric analysis (3DGA) - Database Management (DDM) - Computer graphics display facilities (CGDF) - Peripheral Control (PC) - Design analysis modules (DAM) Perencanaan Proyek 11
Functional Decomposition Statement of Scope perform a "grammatical parse" functional decomposition Perencanaan Proyek 12
Contoh: Pendekatan LOC Functions estimated LOC LOC/pm $/LOC Cost Effort (months) UICF 2340 315 14 32,000 7.4 2DGA 5380 220 20 107,000 24.4 3DGA 6800 220 20 136,000 30.9 DSM 3350 240 18 60,000 13.9 CGDF 4950 200 22 109,000 24.7 PCF 2140 140 28 60,000 15.2 DAM 8400 300 18 151,000 28.0 Totals 33,360 655,000 145.0 Perencanaan Proyek 13
Contoh: Pendekatan FP measurement parameter count weight number of user inputs 40 x 4 = 160 number of user outputs 25 x 5 = 125 number of user inquiries 12 x 4 = 48 number of files number of ext.interfaces 4 4 x x 7 7 = = 28 28 0.25 p-m / FP = 120 p- algorithms 60 x 3 = 180 count-total 569 complexity multiplier.84 feature points 478 Perencanaan Proyek 14
Keputusan Membuat atau Membeli simple (0.30) $380,000 system X build reuse buy major changes (0.60) difficult (0.70) minor changes (0.40) simple (0.20) complex (0.80) $450,000 $275,000 $310,000 $490,000 contract minor changes (0.70) $210,000 major changes (0.30) $400,000 without changes (0.60) $350,000 with changes (0.40) $500,000 Perencanaan Proyek 15
Nilai Biaya yang Diharapkan biaya yg diharapkan = (probabilitas) probabilitas)i x (biaya( yang diestimasi)i i = jalur pada pohon - Biaya buat - Biaya reuse - Biaya beli - Biaya kontrak = 0.30($380K) + 0.70($450K) = $429K = 0.40($275K) + 0.60($310K) + 0.80($490K) = $382K = 0.70($210K) + 0.30($400K) = $267K kontrak = 0.60($350K) + 0.40($500K) = $410K Ternyata beli lebih kecil biayanya. Perencanaan Proyek 16