Pengenalan Rekayasa Perangkat Lunak
1. Konsep Dasar RPL (Software Engineering)
2. Tanggung Jawab Profesional & Etika
3. Siklus Hidup Perangkat Lunak (SWDLC/Software Development Life Cycle)
Perencanaan Proyek Perangkat Lunak
1. Observasi pada Estimasi
2. Tujuan Perencanaan Proyek
3. Ruang Lingkup Perangkat Lunak
4. Sumber Daya
5. Estimasi Proyek Perangkat Lunak
PEMBAHASAN:
PENGENALAN REKAYASA PERANGKAT LUNAK
1. Konsep Dasar Rekayasa Perangkat Lunak
Konsep dasar rekayasa perangkat lunak mempunyai dua hal pokok yaitu perangkat
lunak (software) dan komponen perekayasa. Menurut IEEE definisi perangkat lunak (software) merupakan program komputer, prosedur, data dan semua dokumentasi yang
berhubungan operasi pada sistem komputer. Jadi, bisa disimpulkan bahwa software
merupakan kumpulan dari object membentuk konfigurasi yang didalamnya termasuk
program, dokumen, dan data. Sedangkan Perekayasa software bertugas mengembangkan
produk perangkat lunak, yang secara produk dapat dikategorikan menjadi 2 tipe yaitu:
a. Produk Generik
Sistem Stand-alone, produk shrink-wrapped
b.Produk pesanan
Produk custemisasi, terdapat proses interaksi antara pemesan dan pembuat.
Rekayasa perangkat lunak dapat didefinisikan sebagai disiplin ilmu yang membahas
semua aspek produksi perangkat lunak, mulai tahap awal spesifikasi sistem sampai
pemeliharaan sistem setelah digunakan. Rekayasa perangkat lunak tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga mencakup kegiatan manajemen proyek perangkat lunak dan pengembangan alat bantu, metode dan teori untuk mendukung produksi perangkat lunak. Secara umum rekaya
sa perangkat lunak memakai pendekatan yang sistematis dan terorganisir dengan menggunakan metode tertentu.
2. Tanggung Jawab Profesional dan Etika
Rekayasa perangkat lunak jelas dibatasi oleh hukum lokal, nasional dan internasional.
Perekayasa perangkat lunak harus memiliki tanggung jawab etis dan moral jika ingin
dihormati sebagai profesional. Terdapat beberapa standar dan kode etik yang harus dipertimbangkan, yaitu:
a. Konfidensialitas
Harus menghormati konfidensialitas atasan dan kliennya walaupun tidak ada
persetujuan yang ditanda tangani secara formal.
b. Kompetensi
Tidak boleh menyalahi tingkat kompetensinya (melebihi atau menyimpang)
c. Hak Properti Intelektual
Menyadari terhadap hukum yang mengatur penggunaan properti intelektual,
seperti paten, hak cipta dan lain sebagainya.
d. Penyalahgunaan Komputer
Tidak boleh dengan sengaja menyalah gunakan komputer yang nantinya berakibat
merugikan orang lain, seperti penyebaran virus, penyadapan dan lain sebagainya.
3. Siklus Hidup Perangkat Lunak (SWDLC/Software Development Life Cycle)
Seperti halnya manusia system pengembangan perangkat lunak juga mempunya siklus hidup yang lebih kita kenal sebagai SDLC. SDLC merupakan siklus yang paling penting untuk digunakan dalam pengembangan prangkat lunak. Kenapa ini penting karena berdasarkan pengalaman penulis di lapangan sebagai developer perangkat lunak, tanpa kita memahami siklus ini Developer hanya akan bersinergi dalam Development saja tanpa sampai pada tahap produksi.
Itulah maka pentingnya pemahaman terhadap siklus pengembangan perangkat lunak. Dalam SDLC pembangunan system di bagi dalam 6 langkah:
a. Analisis system
yaitu tahapan pembuatan analisa aliran kerja system yang sedang berjalan.
b. Spesifikasi kebutuhan system
yaitu tahapan proses dalam melakukan perincian mengenai apa saja yang di butuhkan dalam pengembangan system dan pembuatan perencanaan yang berkaitan dengan proyek system.
c. Perancangan system
yaitu tahapan pembuatan design aliran kerja manajemen dan design pemrograman pembuatan system informasi.
d. Pengembangan system
yaitu tahapan pengembangan system informasi dengan menulis program yang di perlukan.
e. Pengujian system
yaitu tahapan melakukan pengujian system yang telah di buat.
f. Implementasi dan pemeliharaan system
yaitu tahapan penerapan dan pemeliharaan system yang telah dibuat.
Penerapan SDLC harus dilakukan secara berurutan dari langkah pertama hingga langkah ke enam dan setiap langkah yang telah selesai harus dikaji ulang, hal ini penting untuk mengkaji proses tahapan agar sesuai dengan yang diharapkan. Pengkajian ulang yang dimaksud dalam hal ini adalah quality control.
PERENCANAAN PROYEK PERANGKAT LUNAK
PENDAHULUAN
A. Estimation (perkiraan) merupakan aktivitasdalam project planning (perencanaan proyek).
B. Project complexity (kompleksitas proyek) berpengaruh kuat terhadap ketidak pastian yang inheren dalam perencanaan.
C. Project size (ukuran proyek) merupakan faktorpenting lain yang mempengaruhi akurasiestimasi.
D. Ketidakpastian struktural (structural uncertainty) juga berpengaruh dalam estimasi
1. 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:
a. 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.
b. 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.
c. 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.
2. Tujuan Perencanaan Proyek
a. Tujuan perencanaan proyek Perangkat Lunak adalah untuk menyediakan sebuah kerangkakerja yang memungkinkan manajer membuatestimasi yang dapat dipertanggung jawabkanmengenai sumber daya, biaya, dan jadwal.
b. Tujuan perencanaan dicapai melalui suatuproses penemuan informasi yang menunjuk keestimasi yang dapat dipertanggung jawabkan
3. Ruang Lingkup Perangkat Lunak
Ruang lingkup Perangkat Lunak menggambarkan fungsi, kinerja, batasan, interface dan reliabilitas. Fungsi-fungsi yang digambarkan dalam statement ruanglingkup dievaluasi dan disaring untuk memberikanawalan yang lebih detail saat estimasi dimulai. Mencari informasi yang dibutuhkan untuk ruang lingkup.
a. Penggunaan teknik diperlukan utk menjembatani jurangkomunikasi antara pelanggan dan pengembang.
b. Analis, harus memulai dengan mengajukan pertanyaan-pertanyaan yg bebas konteks, yaitu serangkaian pertanyan yg akan membawa kepada pemahaman yg mendasar terhadap
masalah, orang yg menginginkan suatu solusi, sifat solusi ygdiharapkan, dan efektivitas pertemuanitu sendiri.
Rangkaian pertanyaan bebas konteks ygpertama berfokus kepada pelanggan , tujuankeseluruhan serta keuntungan. Sebagai contohanalis dpt menayakan:
a. Siapa dibelakang permintaan kerja ini?
b. Siapa yang akan memakai solusi ini?
c. Apakah yang akan menjadi keuntunganekonomi dari sebuah solusi yg sukses?
d. Adakah sumber daya lain bagi solusi ini?
Rangkaian pertanyaan berikutnyamemungkinkan analis utk memahami masalahdengan lebih baik serta memungkinkanpelanggan untuk menyuarakan persepsi merekatentang sebuah solusi:
a. Bagaimanakah anda (pelanggan) menandai output yg baik yg akan diunsulkan oleh sebuah solusi yg baik?
b. Masalah apa yg akan dituju oleh solusi ini?
c. Dapatkah anda memperlihatkan ataumenggambarkan lingkungan dimana solusi akandipakai?
d. Adakah batasan atau isu kinerja khusus yg akanmempengaruhi cara pendekatan terhadap solusi?
Rangkaian akhir pertanyaan berfokus padaefektivitas pertemuan. Gauss dan weinbergmenyebutnya meta-question dan mengusulkandaftar berikut:
a. Apakah anda orang yg tepat untuk menjawabpertanyaan ini? Apakah jawaban anda resmi?
b. Apakah pertanyaan saya relevan dengan problem yg anda punyai?
c. Apakah saya terlalu banyak pertanyaan?
d. Apakah ada orang lain yg dapat menyediakaninformasi tambahan?
e. Adakahsesuatu yg lain yg dapat saya tanyakankepada anda?
Untuk membangun ruang lingkup sebuahproyek sejumlah peneliti lepas mengembangkan pendekatan yg berorientasi pada tim denganmenggunakan
teknik spesifikasi aplikasi yang teraplikasi(FAST). Pendekatan inimenumbuhkan kreasi tim gabungan pelanggandan pengembang, yang bekerja besama-samauntuk menentukan masalah, mengusulkanelemen-elemen solusi, membicarakanpendekatan-pendekatan yang berbeda danmenentukan serangkaian kebutuhanpendahuluan.
4. Sumber Daya
Tugas kedua perencanaan Perangkat Lunak adalahmengestimasisumber daya yang dibutuhkan untuk menyelesaikan usaha pengembangan Perangkat Lunak tersebut.
Perspektif Sumber Daya
1. Masing-masing sumber daya tersebutdispesifikasikan dengan 4 karakteristik berikutini:
a. Deskripsi-Siapa, Apa
b. Ketersediaan-Jumlah dan kualitas
c. Waktu-Kapan digunakan
d. Durasi-Berapa lama dipakai
1. Sumber Daya Manusia
a. Perencana sumber daya manusia memulaidengan mengevaluasi ruang lingkup dankecakapan yang dibutuhkan utk menyelesaikanpengembangan.
b. Posisi organisasi (seperti manajer, perekayasaPerangkat Lunak senior, dll) maupun specialty ( seperti telekomunikasi, data base,client/server) ditentukan.
c. Jumlah orang yang diperlukan utk sebuahproyek Perangkat Lunak dapat ditentukanhanya setelah sebuah estimasi pengembangandibuat.
2. Sumber Daya RPL Reusable
Keunatan mengusulkan empat kategori sumber daya Perangkat Lunak yang harus dipertimbangkan saatperencanaan berlangsung:
a. Komponen Off-the-self
Perangkat lunak yang ada yang dpt diperoleh dari sebuah bagian ketiga atau telah
dikembangkan secara internal untuk proyek sebelumnya.
Komponen-komponen tersebut siap digunakan pada proyek sekarang dan telah divalidasi seluruhnya.
b. Komponen Full-Experience
Spesifikasi, kode, desainatau pengujian data yg sudah ada yg dikembangkan pada
proyek yg lalu yg serupa dengan Perangkat Lunak yang akan
dibangun pada proyek saat ini.
c. Komponen Partial-Experience
Aplikasi, kode, desainatau data pengujian yg ada pada proyek yang lalu yang dihubungkan dengan Perangkat Lunak yg akan dibangun utk proyek saat ini, tetapi akan membutuhkan modiikasi
subtansial.
d.Komponen baru
Komponen PL yg harus dibangun olehtim PL khususnya adalah untuk kebutuhan proyek sekarang.
3. Sumber Daya Lingkungan
a. Lingkungan yg mendukung proyek perangkatlunak disebut juga dengan Software Engineering Enviroment (SEE), menggabungkan perangkat lunak dan perangkatkeras.
b. Perangkat keras menyediakan sebuah platform yg mendukung peranti (perangkat lunak) ygdibutuhkan untuk menghasilkan produk kerja ygmerupakan keluaran dari pratik rekayasaPerangkat Lunak yang baik.
5. Estimasi Proyek Perangkat Lunak
Pada masa-masa awal perhitungan, biaya PerangkatLunak terdiri dari persentase kecil biaya sistem berbasis komputer secara keseluruhan. Sekarang Perangkat Lunak menjadi elemen paling mahal di dalam sebagian besar sistem berbasiskomputer. Kesalahan estimasi biaya yg besar dpt memberikanperbedaan antara keuntungan dan kerugian. Biaya yg terlalu banyak dpt menjasi bencana bagipengembang Perangkat Lunak.
Ada sejumlah pilihan untuk mencapai estimasi biaya dan usaha yg dapat dipertanggung jawabkan.
a. Menunda estimasi sampai akhir proyek (jelas kitadapat melakukan estimasi yang 100 persen akurat bila proyek sudah selesai).
b. Mendasarkan estimasi pada proyek-proyek ygmirip yg sudah dilakukan sebelumnya.
c. Menggunakan “teknik dekomposisi” yg relatif sederhana utk melakukan estimasi biaya dan usahaproyek.
d. Menggunakan satu atau lebih model empiris bagiestimasi usaha dan biaya Perangkat Lunak.
KESIMPULAN:
Perencana proyek perangkat lunak harus memperkirakan tiga hal sebelum proyek dimulai:
1. Berapa lama waktu yang dibutuhkan.
2. Berapa banyak usaha akan diperlukan.
3. Berapa banyak orang yang akan terlibat.
4. Selain itu, perencana harus memprediksi sumber daya (hardware dan software) yang akan diperlukan dan resiko yang terlibat.
REFERENSI:
http://web.unair.ac.id/admi/file/f_33720_rpl_1_Konsep_Dasar_Rekayasa_Perangkat_Lunak.pdf
https://alfinfanther.wordpress.com/2012/08/02/software-development-life-cycle-sdlc/
http://www.academia.edu/7437549/PERENCANAAN_PROYEK_PERANGKAT_LUNAK
0 komentar:
Posting Komentar