PERENCANAAN PROYEK PERANGKAT LUNAK

advertisement
MAKALAH REKAYASA PERANGKAT LUNAK
( PERENCANAAN PROYEK PERANGKAT LUNAK )
Disusun Oleh :
MUKHAMAT JAFAR – 41813120014
MATA KULIAH : REKAYASA PERANGKAT LUNAK
DOSEN : WACHYU HARI HAJI, S.KOM, MM
UNIVERSITAS MERCUBUANA
2015
BAB I
PENDAHULUAN
Latar Belakang
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
1
Rekayasa Perangkat Lunak adalah satu bidang profesi yang mendalami cara-cara
pengembangan perangkat lunak termasuk dalam pembuatan, pemeliharaan, manajaman
organisasi pengembangan perangkat lunak dan manajemen kualitas. Rekayasa perangkat
lunak merupakan sebagai penerapan suatu penfekatan yang sistematis, serta studi atas
pendekat-pendekatan yang menerapkan pendekatan engineering atas perangkat lunak untuk
menghasilkan perangkat lunak yang dapat bekerja lebih effisien dan efektif untuk pengguna.
Proyek Software adalah manajemen proyek yang berfokus hanya pada membuat dan
mengupdate software. Sifat manajemen proyek haruslah seperti berikut ini:
 Menyeselsaikan masalah,
 Mengerjakan sesuatu hingga selesai,
 Memiliki batas waktu mulai dan selesainya,
 Membutuhkan resource/sumber daya dan waktu,
 Bagi beberapa orang merupakan kesempatan/opportunity dan menarik.
Untuk itu sebuah proyek software perlu di menej. Manajemen itu berupa persiapan pekerjaan,
pelaksanaan rencana, mengendalikan proyek tersebut dan terakhir menutup proyek dengan
sebuah kesimpulan, yaitu sukses. Secara lebih sistematis, tahapan-tahapan proyek dapat
tergambarkan sebagai berikut:
Contoh Gambar Tahapan Proyek





Initiating: proyek sedang dalam proses untuk dipilih/disetujui, disponsori, didanai,
dan diluncurkan.
Planning: perencanaan adalah proses yang berulang (perhatikan gambar).
Perencanaan pada dasarnya menggambarkan proses bagaimana proyek akan
dilaksanakan hingga selesai.
Executing: setelah proyek direncanakan, tim proyek memulai pekerjaannya.
Controlling: selama tim proyek mengerjakan tugasnya, project manager
mengontrolnya.
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
2

Closing: setelah proyek diselesaikan project manager akan menutup proyek software.
OBSERVASI PADA ESTIMASI
Estimasi yang diperlukan dalam perancangan proyek perangkat lunak di antaranya adalah
sumber daya, biaya, dan jadwal sebagai usaha dalam pengembangan perangkat lunak,
mengakses informasi historis yang baik, dan keberanian untuk melakukan pengukuran
kuantitatif bila hanya data kualitatif saja yang ada. Berikut adalah yang menimbulkan
ketidakpastian dalam estimasi :

Project complexity (kompleksitas proyek) berpengaruh kuat terhadap ketidakpastian
yang inheren dalam perencanaan. Komplekitas ini merupakan pengukuran relatif yang
dipengaruhi oleh kebiasaan dengan usaha yang dilakukan sebelumnya.

Project size (Ukuran proyek) Merupakan faktor penting yang dapat mempengaruhi
akurasi estimasi. Bila ukuran bertambah maka ketergantungan di antara berbagai
elemen perangkat lunak akan meningkat dengan cepat.

Structural uncertainty (Ketidakpastian struktural) Tingkat ketidakpastian strutural
juga berpengaruh dalam risiko estimasi. Dengan melihat kembali, kita dapat
mengingat lagi hal-hal yang terjadi dan dapat menghindari tempat-tempat dimana
masalah muncul.
Risiko diukur melalui tingkat ketidakpastian pada estimasi kuantitatif yang dibuat untuk
sumber daya, biaya, dan jadwal.Bila ruang lingkup proyek atau syarat proyek tidak dipahami
dengan baik, maka risiko dan ketidakpastian menjadi sangat tinggi. Perencana perangkat
lunak harus melengkapi fungsi, kinerja, dan definisi interface(yang diisikan ke dalam
spesifikasi sistem). Pendekatan-pendekatan rekayasa perangkat lunak modern (seperti model
proses evolusioner) memakai pandangan pengembangan yang interaktif. Dengan pandangan
semacam ini dimungkinkan untuk melihat estimasi dan merevisinya bila customer mengubah
kebutuhannya.
BAB II
PEMBAHASAN
A. Tujuan Perencanaan Proyek Perangkat Lunak
Tujuan perencanaan proyek perangkat lunak adalah merupakan perencanaan spesifik untuk
membangun sebuah perangkat lunak dan untuk menyediakan sebuah kerangka kerja yang
memungkinkan manajer membuat estimasi yang dapat dipertanggungjawabkan mengenai
sumber daya, biaya dan jadwal, serta bertujuan untuk merencanaan melalui suatu proses
penemuan informasi yang menunjuk ke estimasi yang dapat dipertanggungjawabkan. Dalam
sebuah proyek perangkat lunak langkah pertama yang harus dilakukan adalah menentukan
jenis proyek perangkat lunak yang akan dikerjakan. Adapun jenis-jenis proyek perangkat
lunak adalah :
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
3

Sistem Informasi
Sistem Informasi merupakan jenis proyek umumnya melibatkan basis data dalam
sebuah perusahaan dan membutuhkan analisa suatu proses.

Embedded System
Embedded system merupakan perangat lunak yang banyak brhubungan dengan mesin
atau perangkat keras lain, misalnya : perangkat lunak untuk mengkontrol mesin
manufakturi.
B. RUANG LINGKUP PERANGKAT LUNAK
Penentuan ruang lingkup perangkat lunak merupakan aktivitas pertama dalam perencanaan
proyek perangkat lunak. Ruang lingkup perangkat lunak menggambarkan fungsi, kinerja,
batasan, interface dan reliabilitas.
 Function ( Fungsi ), merupakan fungsi dari perangkat lunak yang akan dibuat atau
dikerjakan, harus dievaluasi kembali sehingga mendapat fungsi dari perangkat lunak
secara rinci. Fungsi ini termasuk biaya dan jadwal perkiraan pengerjaan perangkat
lunak.
 Performance ( Kinerja ), meliputi pemrosesan waktu dan respon.
 Constraint ( batasan ), mengidentifikasikan keterbatasan perangkat lunak dilihat dari
memory atau sistem yang tersedia.
 Interface meliputi, Perangkat keras yang akan dipakai untuk mengerjakan perangkat
lunak dan peralatan secara tidak langsung mengontrol perangkat lunak dan menggabungkan perangkat lunak yang telah ada dengan perangkat lunak yang baru
melalui terminal atau Input/Output dengan prosedur pemakaian perangkat lunak.
 Reliability ( tahan uji ), merupakan keandalan perangkat lunak yang dihasilkan,
namun dalam pengukuran reliability jarang dilakukan karena sulit untuk
diterjemahkan ke domain perangkat lunak.
MENCARI INFORMASI YANG DIBUTUHKAN UNTUK RUANG LINGKUP
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. Beberapa pertanyaan bebas konteks pada pelanggan yang meliputi tujuan
keseluruhan, serta keuntungan :




Siapa di belakang permintaan kerja ini?
Siapa yang akan memakai solusi ini?
Apakah yang akan menjadi keutungan ekonomi dari sebuah solusi yang sukses?
Adakah sumberdaya lain bagi solusi ini?
Beberapa contoh pertanyaan yang memungkinkan analis untuk memahami masalah lebih baik
:
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
4




Bagaimanakah anda menandai output yang baik yang akan dimunculkan oleh sebuah
solui yang baik?
Masalah apa yang akan dituju oleh solusi ini?
Dapatkah anda memperlihatkan atau menggambarkan lingkungan di mana solusi akan
dipakai?
Adakah batasan atau isu kinerja khusus yang akan mempengaruhi cara pendekatan
terhadap solusi?
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).
C. SUMBER DAYA
Mengestimasi sumber daya yang dibutuhkan untuk menyelesaikan usaha pengembangan
perangkat lunak yang meliputi manusia, komponen perangkat lunak, dan peranti perangkat
keras/perangkat lunak.
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 :




Deskripsi sumber daya
Statemen ketersediaan
Waktu kronologis sumber daya diperlukan
Durasi waktu sumber daya diaplikasikan
1. 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.
2. 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 :
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
5




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.
3. 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 sember-sumber 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.
D. ESTIMASI PROYEK PERANGKAT LUNAK
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.
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
6
Model estimasi empiris dapat digunakan untuk melengkapi teknik dekomposisi serta
menawarkan pendekatan estimasi yang secara potensial berharga. Model berbasis
pengalaman(data hitoris) dan berbentuk :
d=f(vi)
Di mana d adalah satu dari sejumlah harga estimasi(contoh : usaha, biaya,durasi proyek) dan
vi 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.
 TEKNIK DEKOMPOSISI
Masalah yang dipecahkan sangat kompleks untuk dipertimbangkan sebagai satu kesatuan,
karena itu kita mendekoposisi masalah, menandainya sebagai serangkaian masalah yang
lebih kecil.
 Software sizing
Akurasi estimasi proyek perangkat lunak didasrkan 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 :
o 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 orisinil.
o Function point sizing
Perencanaan pengembangan estimasi karakteritik domain informasi
o Standart component sizing
Perangkat lunak dibangun dari sejumlah komponen yang standar yang
berbeda-beda yang umum bagi suatu era aplikasi tertentu.
o Change sizing
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
7
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 perubahanm,
maka ukuran perubahan dapat diperkirakan.
 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 :
o Sebagai variabel untuk estimasi yang dipakai untuk mengukur masing-masing
elemen perangkat lunak
o 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.

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.
 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
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
8
Dimana A, B, C adalah konstanta yang ditarik secara empiris, E adalah usaha dalam peronmonth, dan EV adalah variabel perkiraan (baik dalam LOC maupun FP).
 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.

Persamaan Perangkat Lunak
Persamaan perangkat lunak adalah model yang multivariasi yang mengasumsikan
distribusi khusus usaha sepanjang hidup proyek pengembangan perangkat lunak.
Model estimasinya berbentuk :
E = [LOC x B0,333/P]3 x (1/t4)
Di mana E = Usaha dalam person-month atau person-year T = durasi proyek dalam bulan
atau tahun B = “faktor skill khusus” yang meningkat secara pelan- pelan “pada saat
kebutuhan akan integrasi, pengujian, jaminan kualitas, dokumentasi, manajemen skill
tumbuh”. Untuk oprogram kecil (KLOC = 5 sampai 15)` B = 0,16. Untuk program yang lebih
besar dari pada 70 KLOC, B=0,39. P = “parameter produktivitas” yang mencerminkan :
o
o
o
o
kematangan proses dan praktik manajemen secara keseluruhan
tingkat bahasa pemrograman yang digunakan – keadaan lingkungan perangkat lunak
skill dan pengalaman tin perangkat lunak
kompleksitas aplikasi
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
9
KEPUTUSAN MAKE-BUY
Manajer rekayasa perangkat lunak dihadapkan pada keputusan make-buy yang dapat
dikompilasikan lebih jauh lagi oleh sejumlah pilihan akuisisi :
a. Perangkat lunak dapat dibeli(atau lisensi) off-the-shelf.
b. Komponen perangkat lunak full-experience dan partial-experiance dapat diperoleh
dan kemudian dimodifikasi dan diintegrasikan untuk memenuhi kebutuhan tertentu.
c. Perangkat lunak dapat dibuat custom-built oleh kontraktor luar untuk memenuhi
spesifikasi pembeli.
Langkah-langkah yang tercakup dalam akuisisi perangkat lunak ditentukan oleh kekritisan
perangkat lunak yang akan dibeli dan biaya akhir. Dalam analisis akhir, keoputusan makebuy dibuat berdasarkan kndisi berikut :
1. Apakah tanggal penyampaian produk perangkat lunka akan lebih cepat dari pada
perangkat lunak yang dikembangkan secara internal?
2. Apakah biaya akuisisi ditambah biaya pemesanan akan lebih kecil dari pada biaya
pengembangan perangkat lunak secara internal?
3. Apakah biaya dukungan luar (seperti kontrak pemeliharaan) akan lebih rendah
daripada biaya dukungan internal?
4. Kondisi ini berlaku untuk setiap pilihan akuisisi yang telah dicantumkan di atas.
BAB III
PENUTUP
KESIMPULAN
 Proyek Software adalah manajemen proyek yang berfokus hanya pada membuat dan
mengupdate software. Sifat manajemen proyek haruslah seperti berikut ini:
 Menyeselesaikan masalah,
 Mengerjakan sesuatu hingga selesai,
 Memiliki batas waktu mulai dan selesainya,
 Membutuhkan resource/sumber daya dan waktu,
 Bagi beberapa orang merupakan kesempatan/opportunity dan menarik.
 Tahapan-tahapan perencanaan proyek perangkat lunak ialah :
 Initialing
 Persiapan
 Perencanaan
 Executting
 Controlling
 Closing
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
10
 Ruang Lingkup Perencanaan Proyek Perangkat Lunak :
 Fungsi
 Kinerja
 Batasan
 Interface
 Tahap Uji
 Sumber Daya yang dibutuhkan untuk menyelesaikan usaha pengembangan perangkat
lunak, adalah :
 Sumber Daya Manusia
 Sumber Daya perangkat lunak reusable
 Sumber Daya Lingkungan
 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.
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
11
Download