A. Tujuan dan Ruang Lingkup Proyek Perancangan Rekayasa Perangkat Lunak
Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain. Bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat. Secara lebih khusus kita dapat menyatakan tujuan RPL adalah : a. Memperoleh biaya produksi perangkat lunak yang rendah. b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu. c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform. d. Menghasilkan perangkat lunak yang biaya perawatannya rendah.
Tujuan Perencanaan Proyek : Perencanaan proyek Rekayasa Perangkat Lunak dari berbagai sudut pandang kurang lebih memiliki tujuan sebagai berikut: 1. Bagi Project Manager: a. untuk menggambarkan status proyek kepada manajer senior dan stakeholder,
b. untuk merencanakan aktivitas tim proyek. 2. Bagi anggota Tim Proyek: untuk memahami konteks pekerjaan. 3. Bagi Manajer Senior: a. untuk memastikan apakah biaya dan waktu yang dialokasikan masuk akal dan terkendali, b. untuk melihat apakah proyek dilaksanakan secara efisien dan cost effective. 4. Bagi Stakeholder: a. untuk memastikan apakah proyek masih berada pada jalurnya, b. untuk memastikan kebutuhan mereka sedang diakomodir oleh proyek.
Perencanaan proyek rekayasa perangkat lunak membahas berbagai tindakan atau pekerjaan yang perlu dilakukan oleh semua yang terlibat di dalam proyek, termasuk dokumen-dokumen yang sebaiknya dibuat. Dokumen Perencanaan Proyek Rekayasa Perangkat Lunak akan terdiri atas sub-sub dokumen berikut ini: 1. Vision and Scope 2. Statement of Work 3. Resource List 4. Work Breakdown Structure 5. Project Schedule 6. Risk Plan Ruang lingkup rekayasa perangkat lunak Sesuai definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut :
Software requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.
Software design mencakup proses penentuan arsitektur, komponen, antarmuka, dan karakteristik lain dari perangkat lunak.
Software construction berhubungan dengan detil pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian, dan pencarian kesalahan.
Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak.
Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan.
Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.
Software engineering process berhubungan dengan definisi, implementasi, pengukuran, pengelolaan, perubahan dan perbaikan proses RPL.
Software quality menitikberatkan pada kualitas dan daur hidup perangkat lunak.
Aktivitas pertama dalam perencanaan perangkat lunak adalah penentuan ruang lingkup perangkat lunak. Fungsi dan kinerja yang dialokasikan untuk perangkat lunak selama rekayasa sistem seharusnya ditaksir untuk membentuk sebuah ruang lingkup proyek yang jelas dan dapat dimengerti pada tingkat manajemen dan teknis. Ruang lingkup perangkat lunak menggambarkan fungsi, kinerja, batasan, interface dan reliabilitas. Fungsi-fungsi yang digambarkan dalam statemen ruang lingkup dievaluasi dan dalam banyak kasus juga disaring untuk memberikan awalan yang lebih detail pada saat estimasi dimulai. 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 analisis harus memulainya dengan mengajukan pertanyaan-pertanyaan bebas konteks, yaitu serangkaian pertanyaan yang akan membawa kepada pemahaman yang mendasar terhadap
masalah, orang yang menginginkan suatu solusi, sifat solusi yang diharapkan, dan efektivitas pertemuan itu sendiri. Rekayasa perangkat lunak seperti nan sudah kita ketahui sebelumnya yaitu melakukan pengubahan dari perangkat lunak nan sudah ada atau software nan sudah ada, dengan mengubah, mengembangkan, membangun kembali serta dipelihara dengan prinsiprekayasa nan sahih buat menghasilkan suatu perangkat lunak nan baru agar perangkat lunak tersebut bisa bekerja lebih efektif dan efisien bagi seluruh pengguna komputer dan teknologi nan sudah ada. Syarat-syarat nan menyertai suatu rekayasa perangkat lunak ialah : 1. Rekayasa perangkat lunak tersebut harus menghasilkan suatu perangkat lunak baru nan bisa mengikuti dan bisa memenuhi para pengguna perangkat lunak di seluruh dunia. 2. Perangkat lunak nan dilakukan pengembangandengan menggunakan rekayasa perangkat lunak itu harus bisa dilakukan perawatan dan pemeliharaannya serta bisa terus mengikuti perkembangan teknologi nan semakin pesat. 3. Perangkat lunak nan mengalami rekayasa perangkat lunak tersebut harus pula memiliki taraf keefektifan dan efisiensi nan tinggi sehingga memudahkan penggunanya dalam melakukan aktivitas nan berhubungan dengan perangkat lunak. 4. Perangkat lunak baru nan dihasilkan dari rekayasa perangkat lunak harus bisa dilakukan pengujian buat menguji kefektifan dan kebenarannya.
B. Sumber daya yang diperlukan Sumber Daya Proyek Tiga tipe sumber daya Proyek 1. Sumber daya manusia
2. Sumber daya komponen software 3. Sumber daya perangkat keras /perangkat lunak
1. Sumber daya manusia (Human Resource)
Mengevaluasi ruang lingkup serta memilih kecakapan yang dibutuhkan untuk menyelesaikan pengembangan sistem.
Memilih jumlah person per proyek. Jumlah orang yang diperlukan proyek software ditentukan setelah menentukan estimasi effort pembangunan.
2.
Untuk proyek kecil sekitar 6 orang per month, adalah standar.
Sumber daya software (software Resources)
Reusable Components Reusable adalah kreasi dan penggunaan kembali blok bangunan perangkat lunak.
Blok-blok tersebut harus dikatalogkan dan distandarisasi untuk aplikasi yang mudah dan divalidasi untuk integrasi.
Kategori Sumber Daya Empat kategori sumber daya (resources) : 1. Off the shelf components Software yang ada dapat diambil/diperoleh dari pihak ketiga dan sudah dibangun internal. COTS (commercial off the shelf) 2. Full experience components Spesifikasi, design, code atau data test yang sudah ada yang dikembangkan pada proyek yang lalu yang serupa dengan software yang akan dibangun pada proyek saat ini. 3. Partial experience components spesifikasi yang ada ( kode, desain dan data uji) perlu dimodifikasi. 4. New components Software yang harus dibangun dari awal oleh team software untuk kebutuhan proyek sekarang.
Environment Resources (Sumber daya lingkungan) Lingkungan yang mendukung proyek software disebut juga dengan Software Engineering Environments (SEE) merupakan incorporasi (penggabungan) dari software dan hardware. Software Project Estimation • Agar meraih cost/biaya dan usaha/effort estimasi yang reliable maka ada sejumlah pilihan yang dapat dipertanggung jawabkan : • Menunda estimasi • Menggunakan estimasi pada proyek yang mirip • Menggunakan teknik decomposisi • Menggunakan satu atau lebih model empiris bagi estimasi biaya/usaha.
C. Estimasi Proyek perangkat lunak Estimasi biaya dan usaha perangkat lunak tidak akan pernah menjadi ilmu pasti. Variabel yang terlalu banyak – manusia, teknik, lingkungan, politik – dapat mempengaruhi biaya dan usaha akhir yang diaplikasikan untuk mengembangkannya. Ada sejumlah pilihan untuk mencapai estimasi biaya dan usaha yang dapat dipertanggungjawabkan : 1. Menunda estimasi sampai akhir proyek (estimasi akurat 100% bila proyek sudah selesai) 2. mendasarkan estimasi pada proyek-proyek yang mirip yang sudah dilakukan sebelumnya. 3. menggunkana “teknik dekomposisi” yang relatif sederhana untuk melakukan estimasi biaya dan usaha proyek. 4. menggunakan satu atau lebih model empiis bagi estimasi usaha dan biaya PL. Secara ideal, teknik yang ditulis untuk masing-masing pilihan harus diaplikasi secara berpasangan, masing-masing digunakan sebagai cross check bagi yang lain. Pada estimasi proyek PL, teknik dekomposisi mengambil cara “membagi dan mengalahkan.”
Model estimasi empiris dapat digunakan
untuk melengkapi teknik
dekomposisi serta menawarkan pendekatan estimasi yang secara potensial berharga. Model berbasis pengalaman dan berbentuk : D = f(vi) Dimana 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. Teknik Dekomposisi Akurasi estimasi proyek PL didasarkan pada sejumlah hal : 1. tingkat dimana perencana telah dengan tepat mengestimasi ukuran produk yang akan dibuat 2. kemampuan untuk menerjemahkan estimasi ukuran ke dalam kerja manusia, waktu kalender, dan dolar 3. Tingkat di mana rencana proyek mencerminkan kemampuan tim PL 4. stabilitas syarat produk serta lingkungan yang mendukung usaha pengembangan PL. 5. Dalam konteks perencanaan proyek, ukuran berarti keluaran yang dapat dikuantitatifkan dari proyek PL. Bila dilakukan pendekatan langsung, ukuran dapat diukur dalam LOC. Tetapi bila dipilih pendekatan tidak langsung, ukuran dihadirkan sebagai FP. Selama estimasi proyek PL, data LOC dan FP digunakan dalam dua cara : 1. sebagai variabel estimasi yang dipakai untuk “mengukur” masing-masing elemen PL, 2. Sebagai metrik baseline yang dikumpulkan dari proyek yang lalu dan dipakai dalam hubungannya dengan variabel estimasi untuk mengembangkan proyeksi kerja dan biaya. Teknik estimasi LOC dan FP berbeda di dalam tingkat detail yang dibutuhkan untuk dekomposisi dan target pembagian. Bila LOC digunakan sebagai variabel estimasi, dekomposisi menjadi sangat penting dan sering dipakai pada tingkat yang dapat dipertanggungjawabkan. Semakin besar tingkat pemisahannya, semakin akurat estimasi LOC dan FP yang dikembangkan.
Kemudian three-point atau expected value dihitung. 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