PERENCANAAN PROYEK PERANGKAT LUNAK
Di Susun Oleh : Linda Liana – 41813120100 Dosen Pengampu : Wahyu Hari Haji M.Kom
FAKULTAS ILMU KOMPUTER PROGRAM STUDY SISTEM INFORMASI UNIVERSITAS MERCU BUANA JAKARTA 2015
PERENCANAAN PROYEK 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
Tahap perencanaan Perangkat Lunak bertujuan untuk menyediakan sebuah kerangka kerja sehingga manajer dapat membuat estimasi mengenai sumber daya, biaya, dan jadwal..
Aktivitas Perencanaan Perangkat Lunak Aktivitas-aktivitas yang dilakukan pada tahap perencanaan Perangkat Lunak:
Menentukan ruang lingkup Perangkat Lunak yang meliputi fungsi, kinerja, batasan, interface, dan reliabilitas.
Mengestimasi sumber daya yang diperlukan.
Menentukan ukuran dari proyek Perangkat Lunak.
Studi kelayakan: teknis, ekonomis, legal, operasional dan schedule
Kebutuhan-Kebutuhan Perangkat Lunak -
Kebutuhan fungsional: menyajikan suatu pelayanan, operasi dan transformasi data dsb kepada user.
-
Kebutuhan non-fungsional: menentukan batasan-batasan dimana PL harus dioperasikan.
-
Antar-muka pemakai.
-
Antar-muka eksternal/ sistem dengan sistem lain.
-
Perangkat keras (hardware).
-
Database.
-
Penanganan kesalahan (error handling).
-
Implementasi rancangan, petunjuk dan panduan pengujian.
1) TUJUAN PERENCANAAN PROYEK PERANGKAT LUNAK Tujuan perencanaan proyek perangkat lunak adalah untuk menyediakan sebuah kerangka
kerja
yang
memungkinkan
manajer
membuat
estimasi
yang
dapat
dipertanggungjawabkan mengenai sumber daya, biaya dan jadwal. Tujuan perencanaan
dicapai melalui suatu proses penemuan informasi yang menunjuk ke estimasi yang dapat dipertanggungjawabkan. 2) RUANG LINGKUP PERANGKAT LUNAK Penentuan ruang lingkup perangkat lunak merupakan aktivitas pertama dalam perencanaan proyek perangkat lunak. Ruang lingkup perangkat lunak menggabarkan fungsi, kinerja, batasan, interface dan reliabilitas. Fungsi yang digambarkan dalam statmen ruang lingkup dievaluasi dan disaring untuk memberikan awalan yang lebih detail pada saat estimasi dimulai. Pertimbangan kinerja melingkupi pemrosesan dan kebutuhan waktu respon. Batasan ini mengidentifikasi dari batas yang ditempatkan pada perangkat lunak oleh perangkat keras eksternal, memori, atau sistem informasi yang ada. Teknik yang banyak dipakai secara umum untuk menjembatani jurang komunikasi antara pelanggan dan pengembang serta untuk memulai proses komunikasi adalah dengan melakukan pertemuan atau wawancara pendahuluan. Gause & weinberg mengusulkan bahwa analis harus memulai dengan mengajukan pertanyaan-pertanyaan bebas konteks, yaitu serangkaian pertanyaan yang akan membawa pada pemahaman mendasar terhadap masalah, orang yang menginginkan suatu solusi, sifat solusi yang diharapkan, dan efektivitas pertemuan itu. Bagian Question dan Answer hanya akan digunakan untuk pertemuan pertama yang kemudian diganti dengan format pertemuan yang mengkombinasikan elemen-elemen penyelesaian masalah, negoisasi, dan spesifikasi. Sejumlah peneliti lepas mengembangkan pedekatan yang berorientasi pada tim terhadap pengumpulan kebutuhan yang dapat deiterapkan untuk membangun ruang lingkup sebuah proyek, yang disebut teknik spesifikasi aplikasi yang teraplikasi (FAST) 3) SUMBER DAYA YANG DIBUTUHKAN Mengestimasi
sumber
daya
yang
dibutuhkan
untuk
menyelesaikan
usaha
pengembangan perangkat lunak yang meliputi manusia, komponen perangkat lunak, dan peranti perangkat keras/perangkat lunak. Piramida di atas memperlihatkan sumber daya pengembangan sebagai sebuah piramid. Peranti perangkat keras dan perangkat lunak berada pada fondasi dari piramida di atas dan menyediakan infrastruktur untuk mendukung usaha pengembangan(lingkungan pengembang). Dalam tingkat yang lebih tinggi terdapat komponen perangkat lunak reuseable – blok bangungan perangkat lunak yang dapat mengurangi biaya pengembangan secara dramatis dan
mempercepat penyampaian. Dan di puncak terdapat sumber daya utama yaitu manusia. Masing-masing sumber daya ditentukan dengan empat karakteristik : 1) Deskripsi sumber daya 2) Statemen ketersediaan 3) Waktu kronologis sumber daya diperlukan 4) Durasi waktu sumber daya diaplikasikan I.
Sumber daya manusia Perencanaan sumber daya manusia memulai dengan mengevaluasi ruang lingkup serta
memilih kecakapan yang dibutuhkan untuk mnyelesaikan pengembangan. Baik posisi organisasi maupun specialty. Jumlah orang yang diperlukan untuk sebuah proyek perangkat lunak dapat ditentukan setelah estimasi usaha pengembangan dibuat. II.
Sumber daya perangkat lunak reusable Kreasi dan penggunaan kembali blok bangunan perangkat lunak yang seharusnya
dikatalog menjadi referensi yang mudah, distandarisasi untuk aplikasi yang mudah, dan divalidasi untuk integrasi yang mudah. Ada empat kategori sumber daya perangkat lunak yang harus dipertimbngkan pada saat perencanaan berlangsung, yaitu :
Komponen off-the-self Perangkat lunak yang ada dapat diperoleh dari bagian ketiga atau telah dikembangkan secara internal untuk proyek sebelumnya.
Komponen full-experience Spesifikasi, kode, desain atau pengujian data yang sudah ada yang dikembangkan pada proyek yang lalu yang serupa dengan perangkat lunak yang akan dibangun pada proyek saat ini.
Komponen partial-experience Aplikasi, kode, desain, atau data pengujiaan yang ada pada proyek yang lalu yang dihubungkan dengan perangkat lunak yang dibangun untuk proyek saat ini, tetapi akan membutuhkan modifikasi substansial.
Komponen baru Komponen perangkat lunak yang harus dibangun oleh tim perangkat lunak khususnya adalah untuk kebutuhan proyek sekarang . Lebih baik mengkhususkan syarat sumber daya perangkat lunak dari awal. Dengan
cara ini evaluasi teknis dari semua alternatif dapat dilakukan dan akuisisi secara berkala dapat terjadi. III.
Sumber Daya Lingkungan Lingkungan yang mendukung poyek perangkat lunak, yang disebut juga Software
Engineering Environment (SEE), menggabungkan perangkat lunak dan perangkat keras. Karena sebagian besar organisasi perangkat lunak memiliki konstituen ganda yang
memerlukan akses ke SEE, maka perencana proyek harus menentukan jendela waktu yang dibutuhkan bagi perangkat keras dan perangkat lunak serta membuktikan bahwa sembersumber daya tersebut dapat diperoleh. Pada saat sebuah sistem berbasis komputer akan direkayasa, tim perangkat lunak mungkin membutuhkan akses ke elemen perangkat keras yang sedang dikembangkan oleh tim rekayasa yang lain. 4) ESTIMASI PROYEK PERANGKAT LUNAK Estimasi sumber daya, biaya dan jadwal untuk usaha pengembangan perangkat lunak membutuhkan pengalaman, mengakses informasi historis yang baik, dan keberanian untuk melakukan pengukuran kuantitatif bila hanya data kualitatif saja yang ada. Estimasi membawa resiko yang inheren dan resiko inilah yang membawa kepada ketidakpastian. Dibawah ini merupakan faktor-faktor yang mempengaruhi estimasi. a) Project Complexity (Kompleksitas Proyek) Kompleksitas Proyek berpengaruh kuat terhadap ketidapastian yang inheren dalam perencanaan. Tetapi kompleksitas merupakan pengukuran relatif yang dipengaruhi oleh kebiasaan dengan usaha yang sudah dilakukan pada masa sebelumnya. b) Project Size (Ukuran Proyek) Bila ukuran bertambah maka ketergantungan diantara berbagai elemen perangkat lunak akan meningkat dengan cepat. Dekomposisi masalah sebagai suatu pendekatan yang sangat penting dalam proses estimasi menjadi lebih sulit karena lagi karena elemen-elemen yang akan didekomposisimasih sangat berat. c) Structural Uncertainty (Ketidakpastian Struktural) Bila metrik perangkat lunak yang komprehensif dapat diperoleh pada proyek yang telah lalu, maka estimasi dapat dilakukan dengan kepastian yang lebih tinggi.jadwal dapat dibuat untuk menhindari kesulitan-kesuliatan yang terjadi di masa lalu, dan resiko keseluruhan dapat dikurangi. Biaya perangkat lunak terdiri dari presentase kecil pada biaya sistem berbasis komputer secara keseluruhan. Kesalahan estimasi biaya yang besar dapat memberikan perbedaan antara keuntungan dan kerugian. Estimasi proyek perangkat lunak dapat ditranformasi dari suatu seni yang misterius ke dalam langkah-langkah yang sistematis yang memberikan estimasi dengan risiko yang dapat diterima. Sejumlah pilihan untuk mencapai estimasi biaya dan usaha yang dapat dipertanggung jawabkan :
Menunda etimasi sampai akhir proyek
Mendasarkan etimasi pada proyek-proyek yang mirip yang sudah pernah dilakukan sebelumnya
Menggunakan “teknik dekomposisi” yang relatif sederhana untuk melakukan estimasi biaya dan usaha proyek
Menggunakan satu atau lebih model empiris bagi estimasi usaha dan biaya perangkat lunak. Model estimasi empiris dapat digunakan untuk melengkapi teknik dekomposisi serta
menawarkan pendekatan estimasi yang secara potensial berharga. Model berbasis pengalaman (data hitoris) dan berbentuk :
= ( ) di mana d adalah satu dari sejumlah
harga estimasi (contoh : usaha, biaya,durasi proyek) dan
adalah parameter independen
yang dipilih (seperti LOC dan FP yang diestimasi). Peranti estimasi otomatis mengimplementasi satu atau lebih teknik dekomposisi atau model empiris. Masing-masing pilihan estimasi biaya perangkat lunak yang dapat dilakukan sama baiknya dengan data hitoris yang digunakan untuk menumbuhkan estimasi.
Langkah-langkah Dalam Perencanaan Proyek Perangkat Lunak: 1) Scoping (Ruang Lingkup) Memahami permasalahan dan pekerjaan yang harus dilaksanakan. Idenya adalah sejauh mana permasalahan atau pekerjaan yang akan ditangani. Misalnya mengenai: Data, fungsionalfungsional, kinerja, kendala (constraint) atau syarat. Scoping menggunakan teknik : A. Teknik Dekomposisi Masalah yang dipecahkan sangat kompleks untuk dipertimbangkan sebagai satu kesatuan, karena itu kita mendekomposisi masalah, menandainya sebagai serangkaian masalah yang lebih kecil.
Penggambaran dua fungsi perangkat lunak mayor, diikuti oleh perkiraan baik ukuran maupun jumlah person-month yang dibutuhkan untuk mengimplementasikan masing-masing fungsi. Dekomposisi |---------> Masalah : LOC Dan FP |---------> Proses : perkiraan proses yg akan digunakan, dekomposisi aktivitas dan usaha yg dibutuhkan untuk menyelesaikan tugas yang diestimasi. Teknik yang digunakan : a.
Software Sizing (Penentuan ukuran Proyek)
Yaitu dengan cara langsung (LOC) dan tak langsung (FP). Akurasi estimasi proyek perangkat lunak didasarkan pada sejumlah hal :
Tingkat di mana perencana telah dengan tepat mengestimasi ukuran produk yang akan dibuat.
Kemampuan untuk menerjemahkan estimasi ukuran ke dalam kerja manusia, waktu kalender, dan dolar.
Tingkat di mana rencana proyek mencerminkan kemampuan tim perangkat lunak.
Stabilitas
syarat
produk
serta
lingkungan
yang
mendukung
usaha
pengembangan perangkat lunak Dalam
konteks
perencanaan
proyek,
ukuran
berarti
keluran
yang
dapat
dikuantitatifkan dari proyek perangkat lunak. Bila dilakukan pendekatan secara langung, ukuran dapat diukur dalam LOC. Tetapi bila dipilih pendekatan tidak langsung, ukuran dihadirkan dalam FP. Putnam dan Myres mengusulkan 4 pendekatan yang berbeda dalam masalah pengukuran : 1. Fuzzy-logic sizing Pendekatan yang menggunakan teknik reasoning aproksimasi yang merupakan dasar bagi fuzzy logic(logika kabur). Perencana harus mengidentifikasi tipe aplikasi, membuat besarnya dalam skala kuantitatif, dan menyaring besaran itu dalam bentuk oriinil. 2. Function point sizing Perencanaan pengembangan estimasi karakteritik domain informasi 3. Standart component sizing Perangkat lunak dibangun dari sejumlah komponen yang standar yang berbeda-beda yang umum bagi suatu era aplikasi tertentu. 4. Change sizing Pendekatan ini digunakan bila proyek melingkupi pemakaian perangkat lunak yang ada harus dimodihikasi dengan banyak cara sebagai bagian dari sebuah proyek. Dengan menggungakan suatu “rasio kerja” bagi masing-masing tipe perubahan, maka ukuran perubahan dapat diperkirakan. b.
Perkiraan berdasarkan masalah
Baris kode (LOC) dan titik fungsi (FP) digambarkan sebagai pengukuran dasar di mana metrik produktivitas dapat dihitung. Data LOC dan FP digunakan dalam dua cara :
Sebagai variabel untuk estimasi yang dipakai untuk mengukur masing-masing elemen perangkat lunak
Sebagai metrik baseline yang dikumpulkan dari proyek yang lalu dan dipakai dalam hubungannya dengan variabel estimasi untuk mengembangkan proyeksi kerja dan biaya.
Expected value untuk variabel estimasi (ukuran), EV, dapat dihitung sebagai rata-rata terbobot dari estimasi optimistik (Sopt), paling sering(Sm), dan pesimistik (Spess). Contohnya : EV = ( Sopt +Sm +Spess)/6 Memberikan kepercayaan terbesar pada estimasi “yang paling mungkin” serta mengikuti distribui probabilitas beta. Sekali expected value untuk variabel estimasi ditentukan, data produktivitas LOC dan FP diaplikasikan. Setiap teknik estimasi, bagaimanapun canggihnya, masih harus tetap di cross check dengan pendekatan lainnya dan baru kemudian kaidah umum dan pengalaman dapat berlaku di sini. B. Model Perkiraan Empiris Model perkiraan untuk perangkat lunak komputer menggunakan rumusan yang ditarik secara empiris untuk memprediksi usaha sebagai sebuah fungi LOC dan FP. Data empiris yang mendukung sebagaian besar model perkiraan ditarik dari sebuah sampel proyek yang terbatas. a. Struktur model perkiraaan Model perkiraan tertentu ditarik dengan menggunakan analisis regresi terhadap data yang dikumpulkan dari proyek perangkat lunak sebelumnya. Struktur model ini berbentuk : E = A+Bx(Ev)c Dimana A, B, C adalah konstanta yang ditarik secara empiris, E adalah usaha dalam peron-month, dan EV adalah variabel perkiraan (baik dalam LOC maupun FP). b. Model COCOMO
Kependekan dari COnstructive COst MOdel (Model Biaya KOnstruktif). Hirarki model Boehm berbentuk sebagai berikut : -
Model1 : Model COCOMO dasar menghitung usaha pengembangan perangkat lunak (dan biaya) sebagai fungsi dari ukuran program yang diekspresikan dalam baris kode yang diestimasi,
-
Model2 : Model COCOMO Intermediete menghitung usaha pengembangan perangkat lunak sebagai fungsi ukuran program dan serangkaian “pengendali biaya” yang menyangkut penilaian yang subyektif terhadap produk, perangkat keras personil, dan atribut proyek.
-
Model3 : Model COCOMO advenced menghubungkan semua karakteristik versi intermediete dengan penilaian terhadap pengaruh pengendali biaya pada setiap langkah (analisis, perancangan, dll) dari proses rekayasa perangkat lunak. Persamaan COCOMO dasar berbentuk : E = abKLOCbb D = cbEdb Dimana E adalah usaha yang diaplikasikan dalam person-month, D adalah waktu pengembangan dalam bulan kronologis, dan KLOC adalah jumlah baris penyampaian kode yang diperkirakan untuk proyek tersebut. Koefisien ab dan cb dan eksponen bb dan db ada pada tabel Model cocomo dasar Proyek perangkat lunak ab bb cb db Organik 2,4 1,05 2,5 0,38 Semi-detached 3,0 1,12 2,5 0,35 Embedded 3,6 1,20 2,5 0,32
2) Estimasi Menyangkut cost (biaya) dan time (waktu) kerja, size (besarnya software yang akan dikerjakan), user, usaha-usaha yang diperlukan. Apakah estimasi itu berdasarkan yang meminta atau yang mempunyai uang (proyek) hal itu menjadi masalah.
3) Pertimbangkan Resiko / hal-hal yang harus dipikirkan : -
Apa yang dapat menjadi salah
-
Bagaimana untuk menghindari
-
Apa yang dapat dikerjakan untuk mengatasi hal tersebut.