Software Reuse, oleh M Adi P [5105 100 159]

1. Pengertian
Software reuse, disebut juga code reuse adalah penggunaan software yang sudah ada, atau pengetahuan software (software knowledge) untuk membangun software baru. Di banyak disiplin ilmu teknik, sitem dibangun dengan menyusun componen yang sudah ada dan telah digunakan pada system lain. Software engineering lebih difokuskan pada pembangunan software secara asli, tapi sekarang untuk mendapatkan hasil software yang lebih baik, lebih cepat dan harga murah, kita membutuhkan mengadopsi proses yang didasarkan pada konsep software reuse.
Reuse telah di praktikkan semenjak hari pertama memprogram. Programmer selalu memggunakan kembali (reuse) sebagian dari code, template, fungsi, dan procedure. Software reuse telah diterima kedalam area belajar software engineering.
Item dari reusable software atau software knowledge disebut sebagai software asset. Asset mungkin adalah desain, model tes, kebutuhan – kebutuhan, arsitektur, dll.

Reuse didasarkan pada software engineering
a. Application system reuse
Sebuah aplikasi besar pada sebuah sistem mungkin digunakan tanpa merubah ke sistem lain atau membangun aplikasi yang mirip.
b. Component reuse
Penggunaan dari komponen sebuah aplikasi.
c. Object and function reuse
Pengunaan komponen software berupa objek atau fungsi.

Mungkin yang paling dikenal baik dari software reuse adalah code. Ide dari penggunaan ulang code ialah sebagian atau keseluruhan program computer yg ditulis suatu ketika lalu digunakan oleh program lain yang di tulis kemudian. Penggunaan ulang code adalah teknik yg umum dilakukan untuk menghemat waktu dan energi untuk mengurangi pekerjaan. Contoh yang umum dari software reuse adalah Teknik penggunaan software library. Banyak operasi umum seperti konversi informasi diantara format yang berbeda, mengakses simpanan luar, berkomunikasi dengan external program, atau memanipulasi informasi (angka, kata, nama, lokasi., tanggal, dll) yang sering dibutuhkan oleh berbagi program berbeda. Pembuat program baru bisa menggunakan kode pada software library untuk melakukan tugas tertentu, bukan sebaliknya dengan menulis penuh program untuk melakukan tugas / operasi yg diinginkan. Implementasi dari libarary sering kali memberi keuntungan dalam menyelesaikan kasus yang tidak biasa.

2. Keuntungan dan masalah software reuse
Keuntungan software reuse.
a. Meningkatkan kepercayaan
Software yang akan digunakan kembali telah di tes dan dicoba pada sistemnya, sehingga lebih bisa dipercaya dari software baru. awal pembuatan dari software mendeteksi berbagai kesalahan desain dan implementasi. Ini kemudian diperbaiki, yang megurangi tingkat kegagalan saat software di gunakan kembali.
b. Mengurangi resiko
Jika sotware telah ada, ada pengurangan biaya dalam pembuatan software. Ini adalah factor yang penting untuk manajemen proyek untuk mengurang estimasi biaya proyek disisi kesalahan software. Hal ini lebih terlihat saat sejumlah besar komponen software digunakan kembali.
c. Lebih efektif untuk para spesialis
Para spesialis tidak perlu melakukan pekerjaan yang sama pada proyek berbeda. Para spesialis bisa menggunakan software sebelumnya dengan mengkapsulasi program mereka.
d. Standar pelaksanaan
Beberapa standar, seperti standar user interface, bisa diimplementasikan sebagai standard reusable component. Sebagai contoh interface menu bisa diimplementasikan memggunakan reusable component, semua aplikasi menyajikan format menu yang sama. Standar interface ini meningkatkan keyakinan user untuk mengurangi kesalahan ketika medapati interface yang familiar.
e. Percepatan pengembangan
Membawa software ke pasaran secepat mungkin adalah lebih penting dari semua biaya pengembangan. Reuse softrware dapat mempercepat produksi karena waktu pengembangan dan pengesahan software bisa dikurangi.

Masalah software reuse.
a. Meningkatkan biaya perawatan
Biaya perawatan mungkin akan bertambah saat reuse elemen dari suatu sistem memjadi semakin tidak sesuai dengan perubahan system.
b. Kekurangan tool pendukung
Toolset mungkin tidaksupport pembangunan software dengan model reuse. Ini mungkin sulit atau tidak mungkin untuk mengintegrasi tool – tool ini dengan sistem component library.
c. Sindrome Not-Invented-here
Beberapa software engineer kadang – kadang lebih suka menulis ulang reuse component sebagian dengan alasan dapat meningkatkan kegunaan reusable component, sebagian melakukan dengan kepercayaan bahwa fakta menulis original software adalah lebih menantang dari menggunakan software orang lain.
d. Membuat dan merawat komponen library
Menyusun sejumlah reusable componenet library dan menjamin pengembang bisa mengunakan library ini bisa menjadi mahal. Teknik umum kita untuk mengklasifikasi, mengkatalog, dan megambil komponen software adalah belum tepat.
e. Menemukan, mengerti dan mengadaptasikan komponen reusable
Komponen software harus ditemukan di library, dimengerti dan, kadang, diadaptasikan untuk bekerja di lingkungan baru. Engineer harus yakin untuk menemukan komponen di library sebelum mereka akan menyertakan komponen sebagai bagian dari proses pembangunan software mereka.
Software library adalah contoh yang bagus sebagai abstraksi. Programmer mungkin memutuskan untuk membuat abstraksi internal sehingga bagian dari program mereka bisa digunakan kembali, atau mungkin membuat library untuk digunakan sendiri. Untuk penggunaan code yang sudah ada, beberapa hal seperti interface, atau jalur komunikasi, harus didefinisikan. Ini umumnya termasuk penggunaan subroutine, object, class, atau prototype. Praktik seperti ini di formalisasi dan distandarisasi oleh software product line engineering. Praktek yang umum adalah pengunaan versi terdahulu dari program yg ada sebagai titik mulai dari versi selajutnya juga disebut dengan software reuse.
3. Landasan software reuse (reuse landscape)
Meskipun reuse sering disederhanakan sebagai sebuah komponen sistem, ada banyak pendekatan berbeda untuk menggunakan kembali software. Reuse dimungkinkan untuk selang level dari fungsi simple sampai aplikasi komplit. landscape reuse memberi landasan pemahaman dalam pengaplikasian reuse.
madi1
[gambar 1]

a. Design patterns (Pola desain) : Abstraksi umum yang terjadi dalam memperesentasikan aplikasi dalam sebuah desain yang menunjukkan astraksi umum, objek konkret dan interaksi.
b. Component-based development (pembangunan berbasis komponen) : system dibangun dengan mengintegrasikan komponen yang sesuai dengan model standar komponen.
c. Aplication framework (Kerangka aplikasi) : koleksi dari abstrak dan class konkret yang bisa diadaptasikan dan diperluas untuk membuat aplikasi system.
d. Legacy system wrapping : kebijaksaaan sistem yang bisa disatukan dengan mendefisniskan seset interface dan menyediakan akses ke kebijaksanaan system ini melalui interface.
e. Service oriented system (system berorientasi service) : sistem yang dibangun dengan menghubungkan share service yang mungkin disediakan pihak luar.
f. Application product lines : sebuah tipe aplikasi yang umum pada arsitekture software sehingga bisa diadaptasiakan dengan cara berbeda utuk costumer berbeda.
g. Program libraries (Program library) : Library Class dan function yang mengimplementasikan code yang siap digunakan.
h. Program generators : Sebuah generator system yang bisa menghsilkan system atau software dengan menspesifikasikan type parameter / hasil yang diinginkan.
Beberapa meyebut penggunaan ulang kode adalah termasuk juga mengkopi beberapa atau sebagian code dari program yang sudah ada ke program baru. Dengan menyadari nilai dari produk baru, mereka bisa bersedih hati kemudian hari dengan adanya banyak code yg sama disebabkan cut dan paste programming yang membuat kebutuham memory lebih besar. Banyak penelitian yg telah dilakukan untuk membuat reuse lebih cepat, mudah, lebih sistematik, dan dalam sebuah kesatuan proses normal pemrograman. Ini adalah tujuan utama dibalik penemuan pemrograman berbasis objek (object oriented programaing), dimana menjadi salah satu bentuk yang paling umum dari penggunaan ulang program yang formal (formalized reuse). Dimana kemudian melahirkan penemuan yang disebut generic programming.
Alat terbaru yang lain disebut dengan software generator, program yang bisa membuat program baru dari sebuah tipe yang ditentukan. Didasarkan pada sekumpulan parameter yang user pilih. Bidang study dari system seperti ini disebut generative progrmaing dan net progrmaing.
Just little thing,,, wish for better

2 Responses to “Software Reuse, oleh M Adi P [5105 100 159]”


  1. 1 littlemobileproject Juni 22, 2007 pukul 8:05 am

    ooo ternyata software bisa di reuse ya?
    😀

  2. 2 EL November 18, 2008 pukul 1:50 am

    Thank dari bukunya Mr. Ian Sommervile ya…


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s




Arsip

RSS My Blog

  • Pindahan! Februari 13, 2012
    Para pembaca sekalian, mulai hari ini blog ini pindah ya.. alamatnya di www.handyeka.com Posting-posting terbaru akan muncul di alamat baru tersebut. Terima kasih :)
  • Selamat Tahun Baru 2012! Januari 26, 2012
    Selamat tahun baru 2012!! Bagaimana tahun 2011 yang baru saja kita lewati ini? pasti banyak up-and-down nya. Biasanya orang kalau ngomongin tahun baru mesti nanyain resolusi tahun baru, tapi kali ini saya ga mau nanya-nanya tentang resolusi, hahaha.. kenapa? karena … Continue reading →
  • Adele – Someone Like You Oktober 10, 2011
    Pernahkah Anda merasakan jatuh cinta.. namun pada akhirnya Anda hanya bisa mengagumi dia yang Anda cinta karena Anda berdua sayangnya tidak bisa bersatu.. namun ia akhirnya bisa bahagia.. meskipun bukan bersama Anda.. Sakit.. dan penuh emosi jiwa pastinya.. tapi apakah … Continue reading →

RSS Recipee World

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.

RSS Indonesia Travel Guide

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.

RSS Music Info Online

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.

%d blogger menyukai ini: