Rekayasa perangkat lunak (dha14)

Post on 04-Jul-2015

1185 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

ST. MAWADDATANWWARAHMAH

PERT 14

Dhawarahmah 1

Dhawarahmah 2

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

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

Dhawarahmah 4

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

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

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

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

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

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

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

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

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

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

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

GAMBAR: PEMAKAIAN ULANG BERBASIS GENERATOR

Dhawarahmah 16

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

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

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

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

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

GAMBAR: INTERFACE KOMPONEN

Dhawarahmah 21

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

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

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

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

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

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

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

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

Dhawarahmah 30

top related