SlideShare a Scribd company logo
1 of 36
Software reuse, disebut juga code reuse
adalah penggunaan software yang sudah
ada, atau pengetahuan software (software
knowledge) untuk membangun software
baru.
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.
Programmer selalu memggunakan kembali
(reuse) sebagian dari :
Code
Template
Procedure
Fungsi
Item dari reusable software atau software
knowledge disebut sebagai software asset.
Asset adalah desain, model tes, kebutuhan
– kebutuhan, arsitektur, dan lain
sebagainya.
Sebuah aplikasi besar pada sebuah sistem
mungkin digunakan tanpa merubah ke
sistem lain atau membangun aplikasi yang
mirip.
Penggunaan dari komponen sebuah
aplikasi.
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.
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.
 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.
 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.
 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.
 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.
 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.
 Meningkatkan Biaya Perawatan
Biaya perawatan mungkin akan bertambah
saat reuse elemen dari suatu sistem
memjadi semakin tidak sesuai dengan
perubahan system.
 Kekurangan Tool Pendukung
Toolset mungkin tidak support pembangunan
software dengan model reuse. Ini mungkin
sulit atau tidak mungkin untuk mengintegrasi
tool – tool ini dengan sistem component
library.
 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.
 Membuat & 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.
 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.
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.
Abstraksi umum yang terjadi dalam
memperesentasikan aplikasi dalam sebuah
desain yang menunjukkan astraksi umum,
objek konkret dan interaksi.
System dibangun dengan mengintegrasikan
komponen yang sesuai dengan model
standar komponen.
Koleksi dari abstrak dan class konkret yang
bisa diadaptasikan dan diperluas untuk
membuat aplikasi system.
Kebijaksaaan sistem yang bisa disatukan
dengan mendefisniskan seset interface dan
menyediakan akses ke kebijaksanaan
system ini melalui interface.
Sistem yang dibangun dengan
menghubungkan share service yang
mungkin disediakan pihak luar.
Sebuah tipe aplikasi yang umum pada
arsitekture software sehingga bisa
diadaptasiakan dengan cara berbeda utuk
costumer berbeda.
Library Class dan function yang
mengimplementasikan code yang siap
digunakan.
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 dapat membuat
kebutuhan 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.

More Related Content

What's hot

Rekayasa Kebutuhan Perangkat Lunak
Rekayasa Kebutuhan Perangkat LunakRekayasa Kebutuhan Perangkat Lunak
Rekayasa Kebutuhan Perangkat LunakSherly Uda
 
Pertemuan 6 tabview
Pertemuan 6 tabviewPertemuan 6 tabview
Pertemuan 6 tabviewheriakj
 
Arsitektur dan Infrastruktur Data Warehouse
Arsitektur dan Infrastruktur Data WarehouseArsitektur dan Infrastruktur Data Warehouse
Arsitektur dan Infrastruktur Data Warehousededidarwis
 
Pertemuan 3 activity
Pertemuan 3 activityPertemuan 3 activity
Pertemuan 3 activityheriakj
 
Proses di Sistem Operasi
Proses di Sistem OperasiProses di Sistem Operasi
Proses di Sistem Operasieddie Ismantoe
 
Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)Fitria Hati
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristikBaguss Chandrass
 
Pertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
Pertemuan 2 - Organisasi dan Arsitektur Komputer.pptPertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
Pertemuan 2 - Organisasi dan Arsitektur Komputer.pptagro6
 
Studi kelayakan sistem informasi akademik
Studi kelayakan sistem informasi akademikStudi kelayakan sistem informasi akademik
Studi kelayakan sistem informasi akademikKania Amalia
 
Software Measurement : Function Point
Software Measurement : Function PointSoftware Measurement : Function Point
Software Measurement : Function PointDendie Sanjaya
 
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]Theo Pratama
 
Proposal Proyek Aplikasi Web Percetakan
Proposal Proyek Aplikasi Web PercetakanProposal Proyek Aplikasi Web Percetakan
Proposal Proyek Aplikasi Web Percetakansubhan
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Aprioridedidarwis
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
 
9. tabel informasi
9. tabel informasi9. tabel informasi
9. tabel informasiyuster92
 

What's hot (20)

Rekayasa Kebutuhan Perangkat Lunak
Rekayasa Kebutuhan Perangkat LunakRekayasa Kebutuhan Perangkat Lunak
Rekayasa Kebutuhan Perangkat Lunak
 
Pertemuan 6 tabview
Pertemuan 6 tabviewPertemuan 6 tabview
Pertemuan 6 tabview
 
Arsitektur dan Infrastruktur Data Warehouse
Arsitektur dan Infrastruktur Data WarehouseArsitektur dan Infrastruktur Data Warehouse
Arsitektur dan Infrastruktur Data Warehouse
 
Pertemuan 3 activity
Pertemuan 3 activityPertemuan 3 activity
Pertemuan 3 activity
 
Proses di Sistem Operasi
Proses di Sistem OperasiProses di Sistem Operasi
Proses di Sistem Operasi
 
Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)
 
Software reuse
Software reuseSoftware reuse
Software reuse
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
 
2 konsep basis data
2 konsep basis data2 konsep basis data
2 konsep basis data
 
Pertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
Pertemuan 2 - Organisasi dan Arsitektur Komputer.pptPertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
Pertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
 
System Request
System RequestSystem Request
System Request
 
Studi kelayakan sistem informasi akademik
Studi kelayakan sistem informasi akademikStudi kelayakan sistem informasi akademik
Studi kelayakan sistem informasi akademik
 
Software Measurement : Function Point
Software Measurement : Function PointSoftware Measurement : Function Point
Software Measurement : Function Point
 
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
 
Proposal Proyek Aplikasi Web Percetakan
Proposal Proyek Aplikasi Web PercetakanProposal Proyek Aplikasi Web Percetakan
Proposal Proyek Aplikasi Web Percetakan
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Apriori
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 
9. tabel informasi
9. tabel informasi9. tabel informasi
9. tabel informasi
 
4. pengamanan sistem operasi
4. pengamanan sistem operasi4. pengamanan sistem operasi
4. pengamanan sistem operasi
 
Ansis 8 - Use Case Diagram
Ansis 8 - Use Case DiagramAnsis 8 - Use Case Diagram
Ansis 8 - Use Case Diagram
 

Similar to Software reuse

Perancangan dengan pemakaian ulang
Perancangan dengan pemakaian ulangPerancangan dengan pemakaian ulang
Perancangan dengan pemakaian ulangarfianti
 
Rpl 014 - perancangan dengan pemakaian ulang
Rpl   014 - perancangan dengan pemakaian ulangRpl   014 - perancangan dengan pemakaian ulang
Rpl 014 - perancangan dengan pemakaian ulangFebriyani Syafri
 
Rekayasa perangkat lunak (dha14)
Rekayasa perangkat lunak (dha14)Rekayasa perangkat lunak (dha14)
Rekayasa perangkat lunak (dha14)Mawaddah Warahmah
 
KONSEP DAN PENERAPAN MODEL-MODEL PROSES PEMBANGUNAN PERANGKAT LUNAK
KONSEP DAN PENERAPAN MODEL-MODEL PROSES  PEMBANGUNAN PERANGKAT LUNAK KONSEP DAN PENERAPAN MODEL-MODEL PROSES  PEMBANGUNAN PERANGKAT LUNAK
KONSEP DAN PENERAPAN MODEL-MODEL PROSES PEMBANGUNAN PERANGKAT LUNAK fajrillah
 
T U G A S R P L Kel U M L (System Design With Reuse)
T U G A S  R P L Kel  U M L (System Design With Reuse)T U G A S  R P L Kel  U M L (System Design With Reuse)
T U G A S R P L Kel U M L (System Design With Reuse)nafrilyan
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlcmistertugas
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlcmistertugas
 
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptxPemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptxagusnugraha41
 
Modul1 Penjelasan Mengenai Codeigniter
Modul1 Penjelasan Mengenai CodeigniterModul1 Penjelasan Mengenai Codeigniter
Modul1 Penjelasan Mengenai CodeigniterRiki Afriansyah
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsTerabitKomputer
 
Buku ajar kecil 01
Buku ajar kecil 01Buku ajar kecil 01
Buku ajar kecil 01Ainul Yaqin
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle softwareHarzalik Meank
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunakAdityaSaputra83
 
Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)Mawaddah Warahmah
 
Proses rekayasa perangkat lunak
Proses rekayasa perangkat lunakProses rekayasa perangkat lunak
Proses rekayasa perangkat lunakDavy Arya Atmaja
 

Similar to Software reuse (20)

Perancangan dengan pemakaian ulang
Perancangan dengan pemakaian ulangPerancangan dengan pemakaian ulang
Perancangan dengan pemakaian ulang
 
Rpl 014 - perancangan dengan pemakaian ulang
Rpl   014 - perancangan dengan pemakaian ulangRpl   014 - perancangan dengan pemakaian ulang
Rpl 014 - perancangan dengan pemakaian ulang
 
Rekayasa perangkat lunak (dha14)
Rekayasa perangkat lunak (dha14)Rekayasa perangkat lunak (dha14)
Rekayasa perangkat lunak (dha14)
 
KONSEP DAN PENERAPAN MODEL-MODEL PROSES PEMBANGUNAN PERANGKAT LUNAK
KONSEP DAN PENERAPAN MODEL-MODEL PROSES  PEMBANGUNAN PERANGKAT LUNAK KONSEP DAN PENERAPAN MODEL-MODEL PROSES  PEMBANGUNAN PERANGKAT LUNAK
KONSEP DAN PENERAPAN MODEL-MODEL PROSES PEMBANGUNAN PERANGKAT LUNAK
 
T U G A S R P L Kel U M L (System Design With Reuse)
T U G A S  R P L Kel  U M L (System Design With Reuse)T U G A S  R P L Kel  U M L (System Design With Reuse)
T U G A S R P L Kel U M L (System Design With Reuse)
 
RPL
RPLRPL
RPL
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 
Rangkuman SDLC
Rangkuman SDLCRangkuman SDLC
Rangkuman SDLC
 
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptxPemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
 
Modul1 Penjelasan Mengenai Codeigniter
Modul1 Penjelasan Mengenai CodeigniterModul1 Penjelasan Mengenai Codeigniter
Modul1 Penjelasan Mengenai Codeigniter
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOps
 
Buku ajar kecil 01
Buku ajar kecil 01Buku ajar kecil 01
Buku ajar kecil 01
 
epl1.pdf
epl1.pdfepl1.pdf
epl1.pdf
 
Perkuliahan 02 Model software engginer
Perkuliahan 02 Model software engginerPerkuliahan 02 Model software engginer
Perkuliahan 02 Model software engginer
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle software
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunak
 
Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)
 
Forum dan Kuis
Forum dan KuisForum dan Kuis
Forum dan Kuis
 
Proses rekayasa perangkat lunak
Proses rekayasa perangkat lunakProses rekayasa perangkat lunak
Proses rekayasa perangkat lunak
 

Software reuse

  • 1.
  • 2. Software reuse, disebut juga code reuse adalah penggunaan software yang sudah ada, atau pengetahuan software (software knowledge) untuk membangun software baru.
  • 3. 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.
  • 4. Programmer selalu memggunakan kembali (reuse) sebagian dari : Code Template Procedure Fungsi
  • 5. Item dari reusable software atau software knowledge disebut sebagai software asset. Asset adalah desain, model tes, kebutuhan – kebutuhan, arsitektur, dan lain sebagainya.
  • 6. Sebuah aplikasi besar pada sebuah sistem mungkin digunakan tanpa merubah ke sistem lain atau membangun aplikasi yang mirip.
  • 7. Penggunaan dari komponen sebuah aplikasi.
  • 8. Pengunaan komponen software berupa objek atau fungsi.
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12.  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.
  • 13.  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.
  • 14.  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.
  • 15.  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.
  • 16.  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.
  • 17.  Meningkatkan Biaya Perawatan Biaya perawatan mungkin akan bertambah saat reuse elemen dari suatu sistem memjadi semakin tidak sesuai dengan perubahan system.
  • 18.  Kekurangan Tool Pendukung Toolset mungkin tidak support pembangunan software dengan model reuse. Ini mungkin sulit atau tidak mungkin untuk mengintegrasi tool – tool ini dengan sistem component library.
  • 19.  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.
  • 20.  Membuat & 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.
  • 21.  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.
  • 22. 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.
  • 23. 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.
  • 24. 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.
  • 25.
  • 26. Abstraksi umum yang terjadi dalam memperesentasikan aplikasi dalam sebuah desain yang menunjukkan astraksi umum, objek konkret dan interaksi.
  • 27. System dibangun dengan mengintegrasikan komponen yang sesuai dengan model standar komponen.
  • 28. Koleksi dari abstrak dan class konkret yang bisa diadaptasikan dan diperluas untuk membuat aplikasi system.
  • 29. Kebijaksaaan sistem yang bisa disatukan dengan mendefisniskan seset interface dan menyediakan akses ke kebijaksanaan system ini melalui interface.
  • 30. Sistem yang dibangun dengan menghubungkan share service yang mungkin disediakan pihak luar.
  • 31. Sebuah tipe aplikasi yang umum pada arsitekture software sehingga bisa diadaptasiakan dengan cara berbeda utuk costumer berbeda.
  • 32. Library Class dan function yang mengimplementasikan code yang siap digunakan.
  • 33. Sebuah generator system yang bisa menghsilkan system atau software dengan menspesifikasikan type parameter / hasil yang diinginkan.
  • 34. Beberapa meyebut penggunaan ulang kode adalah termasuk juga mengkopi beberapa atau sebagian code dari program yang sudah ada ke program baru dapat membuat kebutuhan memory lebih besar.
  • 35. 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.
  • 36. 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.