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.
1
). 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 ,$man
'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 akti0itasyaitu analisis konstruksi dan penyebaran.
a. P"$'e' Anal'' D$man
$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.
4
.. 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$man
0. Pem$,elan S#"uk#u"al ,an P$n# S#"uk#u"
5
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'an 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
6
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.
6
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.
+. Lngkungan 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 Ba-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'' Ba-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!# 5En#
Dimana
Ene& adalah usaha untuk komponen perangkat lunak baru.
Ea,a!# adalah usaha untuk menyelesaikan reuse dari tiga point struktur yaitu
!21 !2% !24
En# 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(bul#
dimana OB("eu'e, adalah "umlah ob"ek yang digunakan kembali
OB(bul# adalah "umlah ob"ek yang dibangun.
(ila *lev bertambah *b "uga bertambah
8
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
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
9
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
mengadopsi.
!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.
<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
1&
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.
11

Anda mungkin juga menyukai