PERTEMUAN 2 DAN 3 PERENCANAAN PROYEK PERANGKAT LUNAK 1 PENDAHULUAN Unrtuk keberhasilan proyek atau pengerjaan pengembangan maupun pembuatan perangkat lunak, beberapa hal yang harus dimengerti oleh pemimpin proyek antara lain: Batasan dari pekerjaan yang akan dikerjakan,pada point ini pemimpin proyek harus dapat mengenali permasalahan yang akan dikerjakan tujuanya adalah untuk menentukan batasan permasalahan yang akan dikerjakan. Sumber daya ditentukan, setelah pemimpin proyek dapat menentukan batasan permasalahan, berikutnya menentukan sumber daya yang diperlukan. Kendala dan batasan, pemimpin proyek harus mampu meramalkan kendala dan batasan yang mungkin timbul pada tahab pekerjaan permasalan dan cara untuk mengatasinya. Biaya dan jadwal keja, hal yang terakhir adalah kemampuan untuk menentukan perkiraan biaya yang akan dihabisksn atau diperlukan dan jadwal kerja pengejaan. 2 Definisi Rekayasa Perangkat Lunak Menurut Timothy dalam bukunya Object Oriented Software Engineering, Rekayasa Perangkat Lunak adalah proses menyelesaikan masalah dengan membangun secara sistematik dan evolusi dari sistem perangkat lunak berkualitas dengan memperhitungkan biaya, waktu dan batasan-batasan lain. IEEE* : Aplikasi yang sistematik, teratur pendekatan kuantitatif dalam membangun, mengoperasikan dan perawatan dari sebuah perangkat lunak *) Institute of Electrical and Electronics Engineers Canadian Standard Association : Aktifitas sistematik yang melibatkan desain, implementasi dan testing dari perangkat lunak untuk memaksimalkan produksi dan dukungannya. 3 Karakteristik Perangkt lunak Untuk dapat mengerti secara jelas mengenai perangkat lunak, kita perlu mengetahui beberapa karakteristik yang terdapat pada perangkat lunak tersebut. Karakteristik tersebut adalah : Pembuatan perangkat lunak berdasarkan logika. Ini menyebabkan pembuatan perangkat lunak berbeda satu programmer dengan programmer lainnya. Perangkat lunak dikembangkan bukan dibuat oleh pabrikpabrik tertentu. Hal ini berarti bahwa perangkat lunak tidak dibuat secara masaal, karena dalam pembuatan perangkat lunak memerlukan perancangan yang baik. Perangkat lunak tidak akan pernah usang karena selalu diperbaharui 4 Aplikasi Perangkat Lunak System software Merupakan kumpulan program yang ditulis untuk menunjang pemakaian atau pembuatan suatau program Contoh: Compiler, Editor Real Time Sofware Adalah perangkat lunak yang digunakan untuk mengukur atau menganalisis atau mengontrol proses pemasukan data dari lingkungan luar sampai menghasilkan laporan yang sesuai dengan keinginnan. Bussines Software Engineering and Scientific Software Embedded Sofware Perangkat lunak yang digunakan untuk mengontrol suatu proses atau sistem Personal Computer Software Diigunakan untuk aplikasi mikro Artificial Intelligence Software 5 Katagori Ukuran Proyek Trivial Proyek (Proyek Sederhana) 2. Small Proyek 3. Medium Proyek 4. Large Proyek 5. Very Large Proyek 6. Extremely large proyek 1. 6 Perencanaan Sumber DAya perencanaan sumber daya meliputi 3 kriteria: Perencanaan sumber daya manusia Perencanaan sumber daya perangkat keras Perncanaan sumber daya perangkat lunak 7 Penentu Keberhasilan Proyek Untuk membuat suatu proyek perangkat lunak efektif maka diperlukan 3 hal berikut (3P) yaitu: : People Problem Process 8 Perbedaan RPL dengan rekayasa lain Rekayasa Perangkat Lunak berbeda dengan jenis rekayasa lain karena manajemen perangkat lunak sangat sulit. Perbedaan tersebut a.l : 1. Produk perangkat lunak tidak berwujud 2. Tidak ada proses perangkat lunak standard 3. Proyek perangkat lunak yang besar seringkali merupakan proyek ‘one-off’ 9 Stakeholder (pengguna) yang memanfaatkan hasil rekayasa perangkat lunak USER Pihak yang akan memanfaatkan perangkat lunak, CUSTOMER (sering disebut client) Adalah bagian yang membuat keputusan akan memesan atau membeli suatu perangkat lunak. Bisa sebagai user bisa juga bukan. Tujuannya untuk meningkatkan profit atau menjalankan bisnis lebih efektif. Customer berapresiasi pada perangkat lunak yang membantu organisasi mereke SOFTWARE DEVELOPMENT Adalah bagian yang membangun dan mengelola perangkat lunak beberapa atau semuanya. Seringkali disebut perekayasa perangkat lunak. Dalam bentuk tim biasanya terdiri dari berbagai macam spesialis, seperti : analisis, database, programmer dll. DEVELOPMENT MANAGER Pihak yang mengendalikan organisasi pembangun perangkat lunak. Tujuannya menjual sebanyak mungkin perangkat lunak. Biasanya tidak terlibat secara detail dalam proyek perangkat lunak. 10 Kegiatan-Kegiatan Manajemen Penulisan proposal Tujuan proyek Bagaimana pelaksanaannya. Perkiraan biaya dan jadwal Perencanaan dan penjadwalan proyek Identifikasi kegiatan Patokan Apa yang harus dihasilkan proyek Sebagai panduan pengembangan ke arah tujuan proyek Pembiayaan proyek Perkiraan sumber daya yang dibutuhkan untuk melaksanakan rencana Pemantauan dan peninjauan proyek Kegiatan proyek berkesinambungan 11 Membandingkan kemajuan dan biaya yang dikeluarkan dengan Kegiatan-Kegiatan Manajemen (cont...) Pemilihan dan evaluasi personel Ideal : Staf ahli dengan pengalaman sesuai Kurang ideal, karena : Anggaran proyek mungkin tidak memenuhi penggunaan staf yang harus dibayar mahal .Staf dengan pengalaman yang sesuai mungkin tidak tersedia .Organisasi mungkin ingin mengembangkan keahlian karyawan dengan menempatkan staf yang tidak berpengalaman untuk belajar dan memperoleh pengalaman Penulisan laporan dan presentasi Manajer proyek bertanggung jawab melaporkan proyek pada klien dan organisasi Manajer proyek harus menulis dokumen yang ringkas dan logis dan megemukakan laporan Manajer proyek harus mempunyai kemampuan berkomunikasi lisan dan tertulis yang efektif. 12