Top Banner
ST. MAWADDATANWWARAHMAH PERT 14 Dhawarahmah 1
30

Rekayasa perangkat lunak (dha14)

Jul 04, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rekayasa perangkat lunak (dha14)

ST. MAWADDATANWWARAHMAH

PERT 14

Dhawarahmah 1

Page 2: Rekayasa perangkat lunak (dha14)

Dhawarahmah 2

Page 3: Rekayasa perangkat lunak (dha14)

Pemakaian ulang perangkat lunak harus diperhitungkan pada saat perancangan perangkat lunak.

Pemakaian ulang yang oportunistik mungkin dilakukan pada saat pemrograman, ketika ditemukan komponen yang memenuhi persyaratan.

Pemakaian ulang yang sistematik menuntut proses perancangan yang memepertimbangkan bagaimana desain yang sudah ada dapat dipakai ulang.

Dhawarahmah 3

Page 4: Rekayasa perangkat lunak (dha14)

Rekayasa perangkat lunak yang berbasis pemakaianulang merupakan pendekatan terhadap pengembangan yangmencoba memaksimasi pemakaian ulang perangkat lunakyang ada.

Dhawarahmah 4

Page 5: Rekayasa perangkat lunak (dha14)

Contoh unit perangkat lunak yang dipakai ulangyang bisa berukuran berbeda:

1. Pemakaian ulang sistem aplikasi. Seluruh sistem aplikasidapat dipakai ulang dengan menggabungkannya tanpaperubahan dengan sistem lain.

2. Pemakaian ulang komponen. Komponen dari suatuaplikasi yang ukurannya berkisar dari subsistem sampaisatu objek tunggal dapat dipakai ulang.

3. Pemakaian ulang fungsi. Komponen perangkat lunakyang mengimplementasi satu fungsi.

Dhawarahmah 5

Page 6: Rekayasa perangkat lunak (dha14)

Keuntungan yang jelas dari pemakaian ulangperangkat lunak adalah diperkecilnya biaya pengembangansecara keseluruhan. Komponen- komponen perangkat lunakyang harus dispesifikasi, dirancang, diimkplementasi, dandivalidasi menjadi berkurang. Namun demikian reduksibiaya merupakan salah satu keuntungan potensial daripemakaian ulang. Berikut keuntungan lainnya:

Dhawarahmah 6

Page 7: Rekayasa perangkat lunak (dha14)

KEUNTUNGAN KETERANGAN

Keandalan bertambah Komponen yang dipakai ulang, yang telah digunakan pada sistem yang telah berjalan, seharusnya lebih dapat diandalkan dari pada komponen baru. Komponen ini telah dicoba & diuji pada berbagai lingkungan. Kesalahan perancangan & implementasi ditemukan & dihilangkan pada pemakaian awal komponen tersebut, sehingga memperkecil jumlah kegagalan pada pemakaian ulang.

Dhawarahmah 7

Page 8: Rekayasa perangkat lunak (dha14)

KEUNTUNGAN KETERANGAN

Resiko Proses diperkecil Jika suatu koponen telah ada, ketidak pastian biaya pemakaian ulang Menjadi lebih kecil daripada biaya pengembangan . Ini merupakan faktor penting untuk manajemen proyek karena memperkecil ketidak pastian dalam estimasi biaya proyek. Hal ini terutama berlaku ketika komponen-komponen yang relatif besar seperti subsistem dipakai ulang

Dhawarahmah 8

Page 9: Rekayasa perangkat lunak (dha14)

KEUNTUNGAN KETERANGAN

Pemakaian Spesialis yang efektif Spesialis aplikasi tidak melakukan pekerjaan yang sama pada berbagaiproyek , tapi mereka dapat mengembangkan komponen-komponen yang dapat dipakai ulang, yang mengengkapsulasi pengetahuan mereka.

Pemenuhan Standar Beberapa standar, seperti standar interface, dapat diimplementasi sebagai satu set komponen standar. Sebagai contoh, komponen yang dapat dipakai ulang dapat dikembangkan untuk implementasi menu sebagai interface user.

Dhawarahmah 9

Page 10: Rekayasa perangkat lunak (dha14)

KEUNTUNGAN KETERANGAN

Pengembangan yang dipercepat Membawa suatu sistem ke pasar secepat mungkin seringkali lebih penting dari biaya pengembangan secara keseluruhan. Pemakaian ulang komponen mempercepat produksi karena waktu pengembangan & waktu validasi akan dipersingkat.

Dhawarahmah 10

Page 11: Rekayasa perangkat lunak (dha14)

Komponen yang dapat dipakai ulang dan sesuai.

Pemakaian ulang komponen harus pasti bahwakomponen- komponen tersebut akan bekerja sebagaimanadispesifikasi & akan andal.

Komponen tersebut harus memiliki dokumentasi yangberhubungan untuk membantu pemakai ulangmemahaminya & mengadaptasi ke aplikasi yang baru.

Dhawarahmah 11

Page 12: Rekayasa perangkat lunak (dha14)

MASALAH KETERANGAN

Biaya pemeliharaan yang membengkak Jika source kode komponen tidak tersedia maka biaya pemeliharaan dapat bertambah besar, karena elemen sistem yang dipakai ulang bisa makin tidak kompatibel dengan perubahan sistem.

Tidak adanya dukungan alat bantu Toolset CASE tidak mendukung pengembangan dengan pemakaian ulang. Integrasi alat bantu ini dengan sistem librari komponen mungkin sulit atau bahkan tidak mungkin.

Dhawarahmah 12

Page 13: Rekayasa perangkat lunak (dha14)

MASALAH KETERANGAN

Sindrom tidak dibuat di sini Beberapa perekayasa perangkat lunak kadang lebih suka menulis kembali komponen karena mereka percaya bahwa mereka dapat membuat suatu komponen yang dipakai ulang.

Mempertahankan library komponen Memenuhi library komponen dan menjamin bahwa pengembang perangkat lunak dapat memakai library ini mungkin akan mahal.

Menemukan dan mengadaptasi komponen yang dapat dipakai ulang

Komponen perangkat lunak harus ditemukan pada suatu library, dipahami dan kadangkala diadaptasi untuk bekerja pada lingkungan yang baru. Perekayasa harus cukup yakin dapat menemukan komponen di library sebelum secara rutin memasukkan pencarian komponen sebagai bagian dari proses pengembangan normal mereka.Dhawarahmah 13

Page 14: Rekayasa perangkat lunak (dha14)

Keberhasilan pemakaian Visual Basic dan Visual C++dengan komponen-komponen dan Java dengan Javabeanstelah menunjukkan nilai pemakaian ulang. Rekayasaperangkat lunakberbasis komponen telah diterima luassebagai pendekatan dengan efektif terhadap biaya terhadappengembangan perangkat lunak.

Dhawarahmah 14

Page 15: Rekayasa perangkat lunak (dha14)

Namun tidak sedikit biaya dan masalah yangberhubungan dengan pemakain ulang, hal ini dapatmenghambat dilakukannya pemakaian ulang & bisa berartibahwa pengurangan biaya pengembangan pemakaian ulangmungkin lebih kecil, kesulitan ini berarti bahwa pemakaianulang yang sistematis tidak dapat terjadi begitu saja tetapiharus direncanakan & diperkenalkan melalui programpemakaian ulang diseluruh organisasi.contoh kasus:

Dhawarahmah 15

Page 16: Rekayasa perangkat lunak (dha14)

GAMBAR: PEMAKAIAN ULANG BERBASIS GENERATOR

Dhawarahmah 16

Page 17: Rekayasa perangkat lunak (dha14)

Alternatif bagi pandangan berorientasi komponenpemakaian ulang adalah pandangan generator.

Pada pendekatan terhadap pemakaian ulangini, pengetahuan yang dapat dipakai ulang ditangkap padasistem generator program yang dapat diprogram dalambahasa berorientasi domain.

Deskripsi aplikasi menspesifikasi dengan cara yangabstrak, komponen yang dapat dipakai ulang yang manayang akan digunakan, bagaimana penggabungannya, &parameterisasinya.

Dengan menggunakan informasi ini, suatu sistemperangkat lunak operasional dapat dibangkitkan( Gambardiatas).

Dhawarahmah 17

Page 18: Rekayasa perangkat lunak (dha14)

Pemakaian ulang berbasis generator efektif dalam hal biayatetapi bergantung pada identifikasi abstraksi domainstereotipis.

Keuntungan utamanya adalah bahwa lebih muda bagiend-user untuk mengembangkan program denganmenggunakan generator dibandingkan dengan pendekatanberbasis komponen lainnya terhadap pemakaian ulang.

Akan tetapi kebutuhan akan pemahaman yang dalam darikonsep aplikasi domain & model domain cukup membatasikemampuan penerapan teknik ini.

Dhawarahmah 18

Page 19: Rekayasa perangkat lunak (dha14)

Pengembangan berbasis komponen muncul padaakhir tahun 1990-an sebagai pendekatan berbasispemakaian ulang terhadap pengembangan sistemperangkat lunak.

Motovasinya adalah kefrustrasian pengembanganberorientasi objek tidak berkembang menjadipemakaian ulang yang ekstensif sebagaimana yangdiperkirakan pada awalnya.

Komponen lebih abstrak dari kelas objek & dapatdianggap sebagai penyedia layanan yang berdirisendiri.

Dhawarahmah 19

Page 20: Rekayasa perangkat lunak (dha14)

Penggambaran suatu komponen sebagai penyedialayanan menekankan dua karakteristik kritis darikomponen yang dapat dipakai ulang:

1. Komponen merupakan entitas yang dapat dieksekusi danindependen.

2. Komponen mengeluarkan interface mereka dan semuainteraksi melalui interface tersebut.

Dhawarahmah 20

Page 21: Rekayasa perangkat lunak (dha14)

Komponen didefinisikan oleh interfacenya dan dalamkasus yang paling umum dapat dianggap memiliki interfacedua interface yang berhubungan, ditunjukkan pada gambar:

GAMBAR: INTERFACE KOMPONEN

Dhawarahmah 21

Page 22: Rekayasa perangkat lunak (dha14)

Interface provides, yaitu interface yang mendefinisikanlayanan yang disediakan oleh komponen tersebut.

Interface requires, yaitu interface yang menspesifikasilayanan apa yang harus tersedia dari sistem yang memakaikomponen. Jika tidak tersedia maka komponen tidak akanbekerja.

Dhawarahmah 22

Page 23: Rekayasa perangkat lunak (dha14)

Komponen-komponen bisa eksis pada tingkat abstraksi yangberbeda-beda, dari subrutin library yang sederhana sampaiseluruh aplikasi seperti Microsoft Excel (Meyer 1999)mengidentifikasi lima tingkat abstraksi:

1. Abstraksi fungsional, komponen mengimplementasi satufungsi.

2. Pengelompokan kasual, komponen merupakansekumpulan entitas yang berhubungan longgar yangmungkin berupa deklarasi data, fungsi, dsb.

3. Abstraksi Data. Komponen merepresentasikan abstraksidata atau kelas perangkat lunak bahasa berorientasiobjek.

Dhawarahmah 23

Page 24: Rekayasa perangkat lunak (dha14)

4. Abstraksi Cluster, komponen merupakan sekumpulankelas yang berhubungan yang bekerja sama. Kelas inikadang- kadang dinamakan kerangka kerja.

5. Abstraksi Sistem, komponen merupakan sistem yangsepenuhnya berdiri sendiri. Pemakaian ulang abstraksitingkat sistem kadang kala disebut pemakaian ulangCOTS.

Dhawarahmah 24

Page 25: Rekayasa perangkat lunak (dha14)

Pada pengembangan yang didorong oleh pemakaianulang, persyaratan sistem dimodifikasi menurut komponenpemakaian ulang yang tersedia. Desain juga didasarkan ataskomponen-komponen yang tersedia itu. Namun demikian,biaya pengembangan yang lebih kecil, pengiriman sistemyang lebih cepat, dan keandalan sistem yang bertambahseharusnya dapat mengkompensasi hal ini.

Dhawarahmah 25

Page 26: Rekayasa perangkat lunak (dha14)

Salah satu pendekatan efektif bagi pemakaian ulangdidasarkan sekitar kerabat aplikasi.

Sebuah kerabat aplikasi atau jalur produk merupakansatu set aplikasi yang memiliki arsitektur spesifikdomain.

Inti umum dari kerabat aplikasi adalah dapat dipakaiulang setiap kali dibutuhkan aplikasi baru.

Dhawarahmah 26

Page 27: Rekayasa perangkat lunak (dha14)

Spesialisasi platform, di mana berbagai versi aplikasidikembangkan untuk berbagai platform.

Spesialisasi konfigurasi, di mana berbagai versi aplikasidibuat untuk menangani berbagai peranti periferal.

Spesialisasi profesional, di mana berbagai versi aplikasidibuat untuk pelanggan dengan persyaratan yang berbeda.

Dhawarahmah 27

Page 28: Rekayasa perangkat lunak (dha14)

Pola rancangan diturunkan dari ide yang dikemukakanoleh cristopher Alexander, yang mengusulkan bahwa adapola tertentu pada rancangan pembangunan yang umumsekaligus memuaskan & efektif.

Pola merupakan deskripsi & inti solusinya sehingga solusitersebut dapat dipakai ulang pada setting yang berbeda.

Pola dapat dipakai pada saat analisis mengembangkanmodel sistem sebagaimana pada saat proses perancangan.

Pada perancangan perangkat lunak, pola rancangan telahdihubungkan dengan desain berorientasi objek. Pola iniseringkali bergantung pada karakteristik objek untukmemberikan generilitas.

Prinsip umumnya dapat diterapkan pada semuapendekatan perangkat lunak.

Dhawarahmah 28

Page 29: Rekayasa perangkat lunak (dha14)

Gamma et al, mendefinisikan empat elemen yangpenting pada pola rancangan:

Nama yang merupakan referensi yang bermakna terhadappola.

Deskripsi area masalah yang menjelaskan kapan polatersebut dapat diterapkan.

Deskripsi solusi yang mendeskripsikan bagian-bagiansolusi perancangan,hubungannya & tanggung jawabnya.

Pernyataan konsekuensi-hasil & pertukaran-penerapanpola tersebut.

Dhawarahmah 29

Page 30: Rekayasa perangkat lunak (dha14)

Dhawarahmah 30