Wednesday, October 19, 2016

Software Reuse


Reuse rekayasa perangkat lunak adalah strategi rekayasa perangkat lunak di mana proses pembangunan diarahkan untuk menggunakan kembali perangkat lunak yang ada. Meskipun penggunaan kembali diusulkan sebagai strategi pembangunan yang lebih dari 40 tahun yang lalu (McIlroy, 1968), hanya sejak tahun 2000 yang 'pengembangan dengan reuse' telah menjadi norma bagi sistem bisnis baru. Tujuan mempelajari Bab ini :
1. Memahami manfaat dan masalah dalam penggunaan kembali PL ketika sistem baru di buat.
2. Memahami konsep dari sebuah framework aplikasi sebagai sebuah set objek penggunaan kembali dan bagaimana framework dapat digunakan dalam pengembangan aplikasi
3. Dapat menyebutkan bentuk produk perangkat lunak, yang terdiri dari sebuah bentuk umum inti arsitektur dan konfigurasinya, komponen yang dapat digunakan kembali.
4. Dapat memahami sistem dapat di kembangkan dengan mengkonfigurasi serta menyusun sistem aplikasi perangkat lunak off-the-shelf.




Sudut pandang penggunaan kembali

Faktor utama jika ingin merancang penggunaan kembali antara nya :

1. Jadwal pengembangan untuk perangkat lunak (jika perangkat lunak harus dikembangkan dengan cepat, anda harus mencoba untuk menggunakan sistem off-the-shelf daripada menggunakan kompenen individu. Ini merupakan aset large-grain yang dapat di gunakan kembali. Walau persyaratan tidak sempurna, tetapi hal ini meminimalkan jumlah pembangunan yang hanya di perlukan saja )
2. Software yang di harapkan seumur hidup (Jika Anda sedang mengembangkan sebuah sistem yang lama seumur hidup, Anda harus fokus pada pemeliharaan sistem. Anda seharusnya tidak hanya berpikir tentang manfaat langsung dari penggunaan kembali tetapi juga implikasi jangka panjang. Selama seumur hidup, Anda harus menyesuaikan sistem dengan persyaratan baru, yang berarti membuat perubahan ke bagian dari sistem. Jika Anda tidak memiliki akses ke kode sumber, Anda dapat memilih untuk menghindari komponen off-the-shelf dan sistem dari pemasok eksternal; pemasok mungkin tidak dapat melanjutkan dukungan untuk perangkat lunak digunakan kembali)

Aplikasi framework

kerangka aplikasi adalah koleksi benda-benda konkret dan abstrak yang dirancang untuk digunakan kembali melalui spesialisasi dan penambahan objek baru. Mereka biasanya menggabungkan praktek desain yang baik melalui pola desain.
Menurut fayad dan schimidt (1997) ada tiga kelas framework
1. System infrastructure frameworks  (Kerangka ini mendukung pengembangan infrastruktur sistem seperti komunikasi, user interface, dan compiler)
2. Middleware integration frameworks (Ini terdiri dari satu set standar dan kelas objek yang terkait yang mendukung komunikasi komponen dan pertukaran informasi. Contoh dari jenis framework mencakup NET Microsoft dan Enterprise Java Beans (EJB). Kerangka ini memberikan dukungan untuk model komponen standar, seperti dibahas dalam Bab 17.)
3. Enterprise application frameworks (Ini bersangkutan dengan domain aplikasi tertentu seperti telekomunikasi atau sistem keuangan (Baumer, et al., 1997). Ini menanamkan aplikasi pengetahuan domain dan mendukung pengembangan aplikasi pengguna akhir.)



Bentuk Produk Perangkat Lunak

Salah satu pendekatan yang paling efektif untuk menggunakan kembali perangkat lunak adalah menciptakan produk perangkat lunak atau keluarga aplikasi. Kerangka aplikasi dan lini produk perangkat lunak jelas memiliki banyak kesamaan. Mereka berdua mendukung arsitektur yang umum dan komponen, dan memerlukan pengembangan baru untuk menciptakan versi tertentu dari sistem. Perbedaan utama antara pendekatan ini adalah sebagai berikut:
1.Kerangka Aplikasi mengandalkan fitur berorientasi objek seperti warisan dan polimorfisme menerapkan ekstensi untuk kerangka kerja. Secara umum, kerangka Kode tidak diubah dan modifikasi yang mungkin terbatas pada apa pun yang diizinkan oleh framework. Software lini produk yang belum tentu dibuat menggunakan pendekatan berorientasi objek. komponen aplikasi berubah, dihapus, atau ditulis ulang. Tidak ada batasan, pada prinsipnya setidaknya, untuk perubahan yang dapat dibuat.
2.Kerangka aplikasi terutama difokuskan pada penyediaan teknis lebih dari dukungan domain-spesifik. Sebagai contoh, ada aplikasi kerangka kerja untuk membuat aplikasi berbasis web. Sebuah lini produk perangkat lunak biasanya memiliki rinci domain dan platform informasi. Misalnya, mungkin ada produk software yang bersangkutan dengan aplikasi berbasis web untuk manajemen catatan kesehatan


Penggunaan kembali produk COTS


Sebuah produk commercial-off-the-shelf (COTS) adalah sistem perangkat lunak yang dapat disesuaikan dengan kebutuhan pelanggan yang berbeda tanpa mengubah kode sumber dari sistem. Hampir semua perangkat lunak desktop dan berbagai macam produk server nya COTS software. Karena software ini dirancang untuk penggunaan umum, biasanya mencakup banyak fitur dan fungsi. COTS dibagi menjadi 2 yaitu :
1. Sistem COTS-solusi adalah sistem aplikasi generik yang dapat dirancang untuk mendukung jenis tertentu bisnis, kegiatan usaha, atau kadang-kadang, lengkap perusahaan bisnis. Sebagai contoh, sistem COTS-solusi dapat dihasilkan untuk dokter gigi yang menangani janji, catatan gigi, ingatan pasien, dll Pada lebih besar skala, sebuah Enterprise Resource Planning (ERP) sistem dapat mendukung semua manufaktur, pemesanan, dan manajemen hubungan pelanggan kegiatan besar perusahaan.
2. COTS-terintegrasi sistem aplikasi yang mencakup dua atau lebih produk COTS atau, kadang-kadang, sistem aplikasi warisan. Anda dapat menggunakan pendekatan ini ketika ada tidak adanya sistem COTS tunggal yang memenuhi semua kebutuhan Anda atau ketika Anda ingin mengintegrasikan produk COTS baru dengan sistem yang sudah Anda gunakan. COTS produk dapat berinteraksi melalui API mereka (Application Programming Interfaces) atau antarmuka layanan jika ini didefinisikan. Atau, mereka dapat terdiri dengan menghubungkan output dari satu sistem ke input lain atau dengan memperbarui database yang digunakan oleh aplikasi COTS.


EmoticonEmoticon