Anda di halaman 1dari 11

PENGGUNAAN KEMBALI (REUSE) PERANGKAT LUNAK

A. DEFINISI REUSE SOFTWARE Penggunakan kembal !e"angka# lunak (S$%#&a"e Reu'e) adalah proses menciptakan sistem perangkat lunak dari perangkat lunak yang ada daripada membangun sistem perangkat lunak dari awal. Ini sederhana namun visi yang kuat diperkenalkan pada tahun 1968. Dengan kata lain reuse software adalah integrasi dan penggunaan aset perangkat lunak dari sebuah sistem yang dikembangkan sebelumnya. B. (ENIS REUSE SOFTWARE

Oportunistik Reuse - Meskipun bersiap-siap untuk memulai sebuah proyek tim menyadari bahwa ada komponen yang ada bahwa mereka dapat menggunakan kembali.

Planning Reuse - !ebuah tim desain komponen strategis sehingga mereka akan dapat digunakan kembali dalam proyek-proyek masa depan.

Menggunakan kembali oportunistik dapat dikategorikan lebih lan"ut#

Internal reuse - !ebuah tim reuses komponen sendiri. Ini mungkin keputusan bisnis karena tim mungkin ingin mengontrol sebuah komponen penting untuk proyek.

External reuse - !ebuah tim mungkin memilih untuk lisensi pihak ketiga komponen. $isensi pihak ketiga komponen biaya biasanya tim 1-%& persen dari berapa biaya untuk mengembangkan internal. 'im "uga harus memperhatikan waktu yang dibutuhkan untuk mencari bela"ar dan mengintegrasikan komponen.

). MANFAAT REUSE SOFTWARE (iaya


)aktu *eliabilitas +da bagian memiliki pengalaman dan data yang nyata pengu"ian tidak menyediakan

note# catatan# $,(I- diperlukan waktu untuk merancang untuk digunakan kembali .produser/

dibutuhkan sedikit waktu untuk merancang dengan menggunakan kembali .konsumen/

D. TU(UAN REUSE SOFTWARE 'u"uan penggunaan kembali adalah untuk mengurangi biaya waktu usaha dan risiko dan untuk meningkatkan produktivitas kualitas kiner"a dan interoperabilitas. E. PERAN)ANGAN REUSE SOFTWARE

mende0inisikan antarmuka 1 spesi0ikasi mende0inisikan pelaksanaan pemrograman berorientasi obyek 1 warisan templates generics 1 templates parameter passing modul dekomposisi 1 parameter kelulusan 0itur

F. PROSES REUSE SOFTWARE

*. Pe"kaka' Reu'eable a. *encana proyek

b. 2erkiraan biaya c. +rsitektur d. Model dan spesi0ikasi persyaratan e. Desain 0. 3ode sumber g. Dokumentasi teknis dan pemakai h. Inter0ace manusia i. Data ". 'est case +. M$,el P"$'e'

"eka-a'a ,$ma n 'u"uan # mengidenti0ikasi mengkonstruksi meng-katalog dan menyebarkan serangkaian perkakas perangkat lunak yang memiliki aplikabilitas dan perangkat lunak masa depan didalam suatu domain aplikasi tertentu. *ekayasa domain meliputi 4 akti0itas yaitu analisis konstruksi dan penyebaran. a. P"$'e' Anal ' ' D$ma n

$angkah-langkah proses itu dide0inisikan sebagai# 1. 'entukan domain yang akan diselidiki. %. 3ategorikan item yang akan di-ekstrak dari domain. 4. 3umpulkan sampel yang presentati0 dari aplikasi didalam domain. 5. +nalisis masing-masing aplikasi didalam sampel. 6. 3embangkan sebuah analisis bagi ob"ek. .. Fung' /Fung' Ka"ak#e" 'a' !erangkaian karakteristik domain untuk suatu perkakas reusable dapat direpresentasikan sebagai 7Dp8 dimana Dpi merepresentasikan karakteristik domain spesi0ik 9 nilai yang diberikan ke Dpi merepresentasikan skala ordinal yang merupakan indikasi mengenai relevansi dari karakteristik untuk perkakas p. 'ipe skala# a. tidak relevan b. relevan dalam situasi yang tidak biasa c. relevan dapat dimodi0ikasi meskipun berbeda d. sangat relevan bila perangkat lunak tidak memiliki karakteristik ini reuse tidak e0isien e. sangat relevan bila perangkat lunak tidak memiliki karakteristik ini reuse tidak e0ekti0 reuse tidak disetu"ui. (ila perangkat lunak baru w, akan dibangun didalam domain aplikasi

serangkaian karakteristik domain ditarik untuknya. Dpi dan Dwi kemudian dibandingkan untuk menentukan apakah perkakas yang ada .p/ dapat secara e0ekti0 digunakan lagi didalam aplikasi w
Tabel Ka"ak#e" '# k D$ma n

0. Pem$,elan S#"uk#u"al ,an P$ n# S#"uk#u" 2emodelan struktural adalah suatu pola yang berdasarkan pendekatan rekayasa domain aplikasi yang beker"a dengan asumsi bahwa setiap domain aplikasi memiliki pola pengulangan .0ungsi data tingkah laku/ yang memiliki potensi reuse. 2oint struktur memiliki 4 karakteristik# a. 2oint struktur adl abstarksi yg harus memiliki se"umlah contoh terbatas. b. Inter0ace ke point struktur harus sederhana. c. 2oint struktur hrs mengimplementasi penyembunyian in0ormasi yg diisikan di dlm point struktur itu sendiri. G. MEMBANGUN KOMPONEN REUSE SOFTWARE *. Anal ' ' ,an ,e'a n un#uk "eu'e Idealnya model analisis di analisis untuk menentukan elemenelemen model yang menun"uk ke perkakas reusable yang ada. 3unci untuk desain reuse# .Design :or *euse1D:*/ ; Data standar # Domain aplikasi dan struktur data global standar .struktur 0ile atau database/ lengkap harus diidenti0ikasi. ; 2rotokol inter0ace standar # 'iga tingkat protokol harus dibangun9 si0at inter0ace intramodular desain inter0ace teknis eksternal dan inter0ace manusia mesin. ; 'emplate program # Model struktur dapat ber0ungsi sebagai template untuk desain arsitektur dari program baru. +. Me#$,e K$n'#"uk' 3onstruksi dapat dilakukan dengan bahasa pemrograman generasi ketiga yang konvensional bahasa generasi keempat dan generator kode teknik pemrograman visual dan peranti yang lebih canggih. !erangkaian komponen

generik dan dapat diadaptasikan yang disebut kerangka .0rame/ atau teknologi kerangka. .. Pengembangan Be"ba' ' K$m!$nen 2endekatan konstruksi kadang diacukan ke pengembangan berbasis komponen atau perangkat lunak komponen. Implementasi pengembangan berbasis komponen# ; Model pertukaran data # Mekanisme yang memungkinkan pemakai dan aplikasi berinteraksi dan mentrans0er data untuk semua komponen reusable. ; Otomasi # (erbagai peranti macro dan script harus diimplementasi untuk mem0asilitasi interaksi antar komponen reusable. ; Penyimpanan terstruktur # Data heterogen .gra0is suara teks dan numeris/ dikumpulkan dan diakses sebagai struktur data tunggal. ; Model obyek yang mendasari # Inter0ace De0inition $anguage .ID$/ ; OpenDoc # !tandar dokumen gabungan dan perangkat lunak komponen. ; OMG !OR"# # <b"ect *e=uest (roker1<*( memberi pelayanan komponen reusable berkomunikasi dengan komponen lain tanpa melihat lokasi didalam sistem. ; O$E %&' (Ob)ect $inking and Embedding* # Merupakan bagian dari >omponent <b"ect Model .><M/. 1. KEUNTUNGAN REUSE SOFTWARE

2engembangan sistematis komponen dapat digunakan kembali. !istematis penggunaan kembali komponen-komponen ini sebagai blok bangunan untuk menciptakan sistem baru. !ebuah komponen dapat digunakan kembali kode tetapi man0aat yang

lebih besar menggunakan kembali datang dari yang lebih luas dan tampilan tingkat tinggi dari apa yang dapat digunakan kembali. 3euntungan utama untuk menggunakan kembali perangkat lunak adalah untuk#

2erangkat lunak meningkatkan produktivitas. Mempersingkat waktu pengembangan perangkat lunak.

Meningkatkan interoperabilitas sistem so0tware. Mengembangkan so0tware dengan lebih sedikit orang. 2indahkan personel lebih mudah dari proyek ke proyek. Mengurangi pengembangan perangkat lunak dan biaya pemeliharaan. Memproduksi lebih banyak perangkat lunak standar. Menghasilkan perangkat lunak kualitas yang lebih baik dan memberikan keunggulan kompetiti0 yang kuat.

I. PENGKLASIFIKASIAN ,an PENGAMBILAN KEMBALI KOMPONEN *. Penggamba"an K$m!$nen Reu'e 3onsep harus menggambarkan isi komponen yaitu# isi dan konteks. !kema klasi0ikasi komponen perangkat lunak dibagi men"adi tiga kategori# ; Enumerated !lassification # 3omponen digambarkan dengan menentukan struktur hirarki dimana kelas dan sub kelas yang bervariasi dari komponen diterapkan. ; +aceted !lassification # !ebuah area domain dianalisis dan serangkaian ciri deskripti0 dasar diidenti0ikasi. >iri-ciri tersebut disebut 0aceted. ; ,lasifikasi atribut-nilai # !ama dengan klasi0ikasi 0aced. +. L ngkungan Reu'e ; Database komponen ; !istem mana"emen pustaka ; !istem pemanggilan kembali perangkat lunak .<(*/ ; 2eranti >+!, (. DAMPAK TER1ADAP EKONOMI *. Penga"u2 Te"2a,a! Kual #a' P"$,uk# 3 #a' ,an B a-a ; ,ualitas # Dengan reuse cacat ditemukan dan dieliminasi sebagai hasilnya kualitas komponen meningkat ; Produkti.itas # $ebih sedikit waktu yang digunakan untuk membuat rencana model dokumen kode dan data yang diperlukan untuk membuat sistem.

; "iaya # 2enghematan waktu neto untuk reuse diperkirakan dengan memproyeksikan bila proyek dikembangkan se"ak awal.

+. Anal ' ' B a-a Dengan Menggunakan P$ n S#"uk#u" Idealnya adaptasi integrasi dan biaya pemeliharaan yang berhubungan pada masing-masing komponen pada suatu pustaka reuse disimpan dari masing-masing contoh panggunaan lalu dianalisa untuk mengembangkan proyeksi biaya bagi contoh reuse selan"utnya. U'a2a ke'elu"u2an 4 Ene& 5 Ea,a!# 5E n# Dimana Ene& adalah usaha untuk komponen perangkat lunak baru. Ea,a!# adalah usaha untuk menyelesaikan reuse dari tiga point struktur yaitu !21 !2% !24 E n# adalah usaha untuk mengintgrasikan !21 !2% !24 !21 !2% dan !24 ditentukan dengan mengambil rata-rata data historis. .. Me#" k Reu'e @ntuk mengukur man0aat reuse pada sistem berbasis komputer. *euse pada sistem ! diekspresikan sebagai# Rb(S) 4 6)n$"eu'e 7 )"eu'e 89)n$"eu'e Dimana )n$"eu'e adalah biaya pengembangan tanpa reuse )"eu'e adalah biaya pengembangan dengan reuse *b.!/ dieksresikan sebagai nilai nondimensional dalam range# &A *b.!/A1 !emakin tinggi nilai *b.!/ reuse akan semakin menarik. 2engukuran reuse dalam sistem << disebut reuse le.erage ditentukan sebagai#

Rle3 4 OB("eu'e, 9 OB(bu l# dimana OB("eu'e, adalah "umlah ob"ek yang digunakan kembali OB(bu l# adalah "umlah ob"ek yang dibangun. (ila *lev bertambah *b "uga bertambah K. PENTINGN:A INTEGRASI REUSE SOFTWARE ke DALAM BUDA:A PERUSA1AAN !o0tware *euse adalah strategi penting untuk semua kelompok pengembangan perangkat lunak. Dengan menggunakan kembali kode sementara pindah ke plat0orm generasi berikutnya perusahaan dapat meman0aatkan investasi perangkat lunak yang ada mereka dan mengurangi waktu ke pasar. Bamun banyak perusahaan sedang ber"uang untuk sepenuhnya menggunakan kembali kode menerapkan seluruh organisasi mereka. @ntuk mencapai e0isien dan metodis penggunaan kembali kode organisasi harus mengintegrasikan tu"uan ini ke dalam budaya mereka. 3ode *eusing memberikan man0aat terbesar untuk sebuah organisasi "ika hal itu dilakukan secara sistematis daripada secara sporadis dan opportunistically. Bamun ada banyak hal yang dapat mencegah penggunaan kembali kode sistematis baik teknis dan non-teknis. S$%#&a"e "eu'e / Ma'ala2 Tekn ' Di sisi teknis ada banyak perbedaan antara sistem operasi seperti tingkat prioritas tugas yang ditawarkan oleh masing-masing <! yang membuat memodi0ikasi kode untuk plat0orm yang berbeda membosankan dan rumit. Ini telah membawa perlunya port >ots alat yang secara otomatis akan men"elaskan perbedaan-perbedaan dalam sistem operasi untuk membuat port beker"a lebih cepat dan lebih mudah. @ntuk menghindari masalah port sama sekali organisasi melihat kebutuhan untuk solusi abstraksi untuk melindungi kode mereka terhadap perubahan plat0orm masa depan. Bamun mengembangkan sebuah antarmuka abstraksi menggunakan <! asli +2I tidak akan memberikan portabilitas dan kiner"a yang diperlukan dalam aplikasi embedded. !ebaliknya tingkat rendah pendekatan perlu diambil untuk men"amin bahwa sumber daya sistem operasi dasar seperti benang !emaphore

1&

dan muteC akan berperilaku sama di seluruh plat0orm dan kiner"a yang tidak terkena dampak. Dika membangun dan memelihara rumah yang di-abstraksi untuk beberapa sistem operasi memerlukan banyak waktu uang dan sumber daya. 2ara pengembang harus memiliki pengetahuan yang terperinci dari masing-masing sistem operasi dan melakukan banyak pengu"ian untuk memveri0ikasi portabilitas plat0orm yang berbeda yang mengakibatkan biaya tinggi. Inilah sebabnya mengapa banyak perusahaan yang berubah ke arah abstraksi >ots lapisan yang tetap dipertahankan diu"i dan diveri0ikasi oleh pihak ketiga daripada mengambil 0okus "auh dari kompetensi inti organisasi. >ommon Menggunakan +2I .yang disediakan oleh <! >ots abstraksi/ di seluruh plat0orm "uga mengurangi potensi kurva pembela"aran saat mengembangkan sistem operasi baru sehingga membuat lebih mudah untuk menggunakan kembali kode !ama seperti menggunakan kembali kode pada sistem operasi yang berbeda memiliki tantangan sendiri menggunakan kembali kode ketika pindah ke bahasa yang berbeda "uga menya"ikan kesulitan. !ebagai contoh banyak perusahaan yang sekarang bergerak men"auh dari +da yang lebih modern bahasa > karena kurangnya dukungan untuk programmer dan +da. <rganisasi-organisasi ini meman0aatkan konversi bahasa >ots alat untuk konversi otomatis untuk menghindari penulisan ulang. S$%#&a"e Reu'e 7 Ma'ala2 In,u'#" Di sisi non-teknis sementara tingkat atas eksekuti0 dan lembaga pemerintah mungkin akan melihat man0aat penggunaan kembali kode ada tu"uan kurangnya kesesuaian dengan kelompok rekayasa dan subkontraktor. (erkali-kali kelompok-kelompok ini mempunyai hambatan psikologis untuk menggunakan kembali kode. Mereka mungkin keliru berpikir bahwa menggunakan kembali kode akan menyebabkan bakat-bakat mereka tidak lagi diperlukan. Bamun dengan menggunakan kembali kode warisan mereka dengan cepat dan e0isien dengan menggunakan kembali kode >ots solusi mereka dapat menyumbangkan bakat untuk proyek-proyek baru dan pengembangan produk bukannya macet oleh port melelahkan beker"a. mengadopsi.

11

<rganisasi mungkin "uga perlu mengubah kebi"akan dan standar produktivitas untuk secara e0ekti0 menggunakan kembali kode mengintegrasikan ke dalam budaya mereka. +lih-alih ber0okus pada berapa banyak baris kode baru pengembang berkontribusi mereka mungkin perlu untuk memberikan penghargaan lebih pendek kali untuk penyelesaian proyek. Ini akan memotivasi para pengembang untuk menggunakan alat-alat port >ots sehingga mereka dapat menggunakan kembali sebanyak mungkin lebih cepat untuk memenuhi tenggat waktu sebelumnya. -al ini akan menyebabkan penyelesaian proyek lebih banyak lebih banyak produk baru dan akhirnya lebih banyak kesempatan untuk mendapatkan pangsa pasar yang lebih besar dalam organisasi industri.

Anda mungkin juga menyukai