SlideShare une entreprise Scribd logo
1  sur  30
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 pemakaian
ulang merupakan pendekatan terhadap pengembangan yang
mencoba memaksimasi pemakaian ulang perangkat lunak
yang ada.




                           Dhawarahmah                   4
Contoh unit perangkat lunak yang dipakai ulang
 yang bisa berukuran berbeda:

1. Pemakaian ulang sistem aplikasi. Seluruh sistem aplikasi
   dapat dipakai ulang dengan menggabungkannya tanpa
   perubahan dengan sistem lain.
2. Pemakaian ulang komponen. Komponen dari suatu
   aplikasi yang ukurannya berkisar dari subsistem sampai
   satu objek tunggal dapat dipakai ulang.
3. Pemakaian ulang fungsi. Komponen perangkat lunak
   yang mengimplementasi satu fungsi.



                              Dhawarahmah                     5
Keuntungan yang jelas dari pemakaian ulang
perangkat lunak adalah diperkecilnya biaya pengembangan
secara keseluruhan. Komponen- komponen perangkat lunak
yang harus dispesifikasi, dirancang, diimkplementasi, dan
divalidasi menjadi berkurang. Namun demikian reduksi
biaya merupakan salah satu keuntungan potensial dari
pemakaian 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 berbagai
                                   proyek , 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 bahwa
 komponen- komponen tersebut akan bekerja sebagaimana
 dispesifikasi & akan andal.

 Komponen tersebut harus memiliki dokumentasi yang
 berhubungan  untuk   membantu       pemakai      ulang
 memahaminya & 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 perangkat lunak harus
komponen yang dapat dipakai ulang    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 Javabeans
telah menunjukkan nilai pemakaian ulang. Rekayasa
perangkat lunakberbasis komponen telah diterima luas
sebagai pendekatan dengan efektif terhadap biaya terhadap
pengembangan perangkat lunak.




                             Dhawarahmah                    14
Namun tidak sedikit biaya dan masalah yang
berhubungan dengan pemakain ulang, hal ini dapat
menghambat dilakukannya pemakaian ulang & bisa berarti
bahwa pengurangan biaya pengembangan pemakaian ulang
mungkin lebih kecil, kesulitan ini berarti bahwa pemakaian
ulang yang sistematis tidak dapat terjadi begitu saja tetapi
harus direncanakan & diperkenalkan melalui program
pemakaian ulang diseluruh organisasi.contoh kasus:




                              Dhawarahmah                      15
GAMBAR: PEMAKAIAN ULANG BERBASIS
           GENERATOR
             Dhawarahmah           16
 Alternatif  bagi pandangan berorientasi komponen
  pemakaian ulang adalah pandangan generator.
 Pada     pendekatan     terhadap     pemakaian     ulang
  ini, pengetahuan yang dapat dipakai ulang ditangkap pada
  sistem generator program yang dapat diprogram dalam
  bahasa berorientasi domain.
 Deskripsi aplikasi menspesifikasi dengan cara yang
  abstrak, komponen yang dapat dipakai ulang yang mana
  yang akan digunakan, bagaimana penggabungannya, &
  parameterisasinya.
 Dengan menggunakan informasi ini, suatu sistem
  perangkat lunak operasional dapat dibangkitkan( Gambar
  diatas).
                             Dhawarahmah                     17
 Pemakaian ulang berbasis generator efektif dalam hal biaya
  tetapi bergantung pada identifikasi abstraksi domain
  stereotipis.

 Keuntungan utamanya adalah bahwa lebih muda bagi
  end-user untuk mengembangkan program dengan
  menggunakan generator dibandingkan dengan pendekatan
  berbasis komponen lainnya terhadap pemakaian ulang.

 Akan tetapi kebutuhan akan pemahaman yang dalam dari
  konsep aplikasi domain & model domain cukup membatasi
  kemampuan penerapan teknik ini.


                               Dhawarahmah                     18
 Pengembangan berbasis komponen muncul pada
 akhir tahun 1990-an sebagai pendekatan berbasis
 pemakaian ulang terhadap pengembangan sistem
 perangkat lunak.

 Motovasinya  adalah kefrustrasian pengembangan
 berorientasi objek tidak berkembang menjadi
 pemakaian ulang yang ekstensif sebagaimana yang
 diperkirakan pada awalnya.

 Komponen lebih abstrak dari kelas objek & dapat
 dianggap sebagai penyedia layanan yang berdiri
 sendiri.
                        Dhawarahmah                 19
Penggambaran suatu komponen sebagai penyedia
     layanan menekankan dua karakteristik kritis dari
     komponen yang dapat dipakai ulang:

1.    Komponen merupakan entitas yang dapat dieksekusi dan
      independen.



2.    Komponen mengeluarkan interface mereka dan semua
      interaksi melalui interface tersebut.



                              Dhawarahmah                    20
Komponen didefinisikan oleh interfacenya dan dalam
kasus yang paling umum dapat dianggap memiliki interface
dua interface yang berhubungan, ditunjukkan pada gambar:




                 GAMBAR: INTERFACE KOMPONEN



                             Dhawarahmah                    21
 Interface provides, yaitu interface yang mendefinisikan
 layanan yang disediakan oleh komponen tersebut.



 Interface requires, yaitu interface yang menspesifikasi
 layanan apa yang harus tersedia dari sistem yang memakai
 komponen. Jika tidak tersedia maka komponen tidak akan
 bekerja.




                             Dhawarahmah                    22
Komponen-komponen bisa eksis pada tingkat abstraksi yang
 berbeda-beda, dari subrutin library yang sederhana sampai
 seluruh aplikasi seperti Microsoft Excel (Meyer 1999)
 mengidentifikasi lima tingkat abstraksi:

1. Abstraksi fungsional, komponen mengimplementasi satu
   fungsi.
2. Pengelompokan      kasual,    komponen      merupakan
   sekumpulan entitas yang berhubungan longgar yang
   mungkin berupa deklarasi data, fungsi, dsb.
3. Abstraksi Data. Komponen merepresentasikan abstraksi
   data atau kelas perangkat lunak bahasa berorientasi
   objek.

                             Dhawarahmah                     23
4.    Abstraksi Cluster, komponen merupakan sekumpulan
     kelas yang berhubungan yang bekerja sama. Kelas ini
     kadang- kadang dinamakan kerangka kerja.



5.     Abstraksi Sistem, komponen merupakan sistem yang
     sepenuhnya berdiri sendiri. Pemakaian ulang abstraksi
     tingkat sistem kadang kala disebut pemakaian ulang
     COTS.



                              Dhawarahmah                    24
Pada pengembangan yang didorong oleh pemakaian
ulang, persyaratan sistem dimodifikasi menurut komponen
pemakaian ulang yang tersedia. Desain juga didasarkan atas
komponen-komponen yang tersedia itu. Namun demikian,
biaya pengembangan yang lebih kecil, pengiriman sistem
yang lebih cepat, dan keandalan sistem yang bertambah
seharusnya dapat mengkompensasi hal ini.




                             Dhawarahmah                     25
 Salah satu pendekatan efektif bagi pemakaian ulang
 didasarkan sekitar kerabat aplikasi.


 Sebuah kerabat aplikasi atau jalur produk merupakan
 satu set aplikasi yang memiliki arsitektur spesifik
 domain.


 Inti umum dari kerabat aplikasi adalah dapat dipakai
 ulang setiap kali dibutuhkan aplikasi baru.
                            Dhawarahmah                  26
 Spesialisasi platform, di mana berbagai versi aplikasi
  dikembangkan untuk berbagai platform.

 Spesialisasi konfigurasi, di mana berbagai versi aplikasi
  dibuat untuk menangani berbagai peranti periferal.

 Spesialisasi profesional, di mana berbagai versi aplikasi
  dibuat untuk pelanggan dengan persyaratan yang berbeda.




                              Dhawarahmah                     27
 Pola rancangan diturunkan dari ide yang dikemukakan
  oleh cristopher Alexander, yang mengusulkan bahwa ada
  pola tertentu pada rancangan pembangunan yang umum
  sekaligus memuaskan & efektif.
 Pola merupakan deskripsi & inti solusinya sehingga solusi
  tersebut dapat dipakai ulang pada setting yang berbeda.
 Pola dapat dipakai pada saat analisis mengembangkan
  model sistem sebagaimana pada saat proses perancangan.
 Pada perancangan perangkat lunak, pola rancangan telah
  dihubungkan dengan desain berorientasi objek. Pola ini
  seringkali bergantung pada karakteristik objek untuk
  memberikan generilitas.
 Prinsip umumnya dapat diterapkan pada semua
  pendekatan perangkat lunak.
                              Dhawarahmah                     28
Gamma et al, mendefinisikan empat elemen yang
 penting pada pola rancangan:

 Nama yang merupakan referensi yang bermakna terhadap
  pola.
 Deskripsi area masalah yang menjelaskan kapan pola
  tersebut dapat diterapkan.
 Deskripsi solusi yang mendeskripsikan bagian-bagian
  solusi perancangan,hubungannya & tanggung jawabnya.
 Pernyataan konsekuensi-hasil & pertukaran-penerapan
  pola tersebut.


                           Dhawarahmah                   29
Dhawarahmah   30

Contenu connexe

En vedette

Interaksi manusia dan komputer (dha11)
Interaksi manusia dan komputer (dha11)Interaksi manusia dan komputer (dha11)
Interaksi manusia dan komputer (dha11)Mawaddah Warahmah
 
Sistem terdistribusi (dhaa12)
Sistem terdistribusi (dhaa12)Sistem terdistribusi (dhaa12)
Sistem terdistribusi (dhaa12)Mawaddah Warahmah
 
Rekayasa perangkat lunak (dha15)
Rekayasa perangkat lunak (dha15)Rekayasa perangkat lunak (dha15)
Rekayasa perangkat lunak (dha15)Mawaddah Warahmah
 
Interaksi manusia dan komputer (dha12)
Interaksi manusia dan komputer (dha12)Interaksi manusia dan komputer (dha12)
Interaksi manusia dan komputer (dha12)Mawaddah Warahmah
 
Interaksi manusia dan komputer (dha14)
Interaksi manusia dan komputer (dha14)Interaksi manusia dan komputer (dha14)
Interaksi manusia dan komputer (dha14)Mawaddah Warahmah
 
Interaksi manusia dan komputer (dha8)
Interaksi manusia dan komputer (dha8)Interaksi manusia dan komputer (dha8)
Interaksi manusia dan komputer (dha8)Mawaddah Warahmah
 
Sistem terdistribusi (dhaa15)
Sistem terdistribusi (dhaa15)Sistem terdistribusi (dhaa15)
Sistem terdistribusi (dhaa15)Mawaddah Warahmah
 
Sistem terdistribusi (dhaa3)
Sistem terdistribusi (dhaa3)Sistem terdistribusi (dhaa3)
Sistem terdistribusi (dhaa3)Mawaddah Warahmah
 
Interaksi manusia dan komputer (dha5)
Interaksi manusia dan komputer (dha5)Interaksi manusia dan komputer (dha5)
Interaksi manusia dan komputer (dha5)Mawaddah Warahmah
 
Логотипы
ЛоготипыЛоготипы
Логотипыbarabash99
 
Sistem terdistribusi (dhaa1)
Sistem terdistribusi (dhaa1)Sistem terdistribusi (dhaa1)
Sistem terdistribusi (dhaa1)Mawaddah Warahmah
 
Interaksi manusia dan komputer (dha4)
Interaksi manusia dan komputer (dha4)Interaksi manusia dan komputer (dha4)
Interaksi manusia dan komputer (dha4)Mawaddah Warahmah
 
Sistem tterdistribusi (dhaa10)
Sistem tterdistribusi (dhaa10)Sistem tterdistribusi (dhaa10)
Sistem tterdistribusi (dhaa10)Mawaddah Warahmah
 
Sistem terdistribusi (dhaa9)
Sistem terdistribusi (dhaa9)Sistem terdistribusi (dhaa9)
Sistem terdistribusi (dhaa9)Mawaddah Warahmah
 
Метафизика. Тай-Цзи.
Метафизика. Тай-Цзи.Метафизика. Тай-Цзи.
Метафизика. Тай-Цзи.barabash99
 
Modul paj tahap i thn 1 v5 lengkap dengan cover, pj dan pk
Modul paj tahap i thn 1 v5 lengkap dengan cover, pj dan pkModul paj tahap i thn 1 v5 lengkap dengan cover, pj dan pk
Modul paj tahap i thn 1 v5 lengkap dengan cover, pj dan pksaiful azhar
 

En vedette (20)

Quis1
Quis1Quis1
Quis1
 
Interaksi manusia dan komputer (dha11)
Interaksi manusia dan komputer (dha11)Interaksi manusia dan komputer (dha11)
Interaksi manusia dan komputer (dha11)
 
Sistem terdistribusi (dhaa12)
Sistem terdistribusi (dhaa12)Sistem terdistribusi (dhaa12)
Sistem terdistribusi (dhaa12)
 
Rekayasa perangkat lunak (dha15)
Rekayasa perangkat lunak (dha15)Rekayasa perangkat lunak (dha15)
Rekayasa perangkat lunak (dha15)
 
Interaksi manusia dan komputer (dha12)
Interaksi manusia dan komputer (dha12)Interaksi manusia dan komputer (dha12)
Interaksi manusia dan komputer (dha12)
 
Interaksi manusia dan komputer (dha14)
Interaksi manusia dan komputer (dha14)Interaksi manusia dan komputer (dha14)
Interaksi manusia dan komputer (dha14)
 
Interaksi manusia dan komputer (dha8)
Interaksi manusia dan komputer (dha8)Interaksi manusia dan komputer (dha8)
Interaksi manusia dan komputer (dha8)
 
Sistem terdistribusi (dhaa15)
Sistem terdistribusi (dhaa15)Sistem terdistribusi (dhaa15)
Sistem terdistribusi (dhaa15)
 
Sistem terdistribusi (dhaa3)
Sistem terdistribusi (dhaa3)Sistem terdistribusi (dhaa3)
Sistem terdistribusi (dhaa3)
 
Sistem terdistribusi (dha5)
Sistem terdistribusi (dha5)Sistem terdistribusi (dha5)
Sistem terdistribusi (dha5)
 
Quiz 2
Quiz 2Quiz 2
Quiz 2
 
Interaksi manusia dan komputer (dha5)
Interaksi manusia dan komputer (dha5)Interaksi manusia dan komputer (dha5)
Interaksi manusia dan komputer (dha5)
 
Логотипы
ЛоготипыЛоготипы
Логотипы
 
Sistem terdistribusi (dhaa1)
Sistem terdistribusi (dhaa1)Sistem terdistribusi (dhaa1)
Sistem terdistribusi (dhaa1)
 
Interaksi manusia dan komputer (dha4)
Interaksi manusia dan komputer (dha4)Interaksi manusia dan komputer (dha4)
Interaksi manusia dan komputer (dha4)
 
Sistem tterdistribusi (dhaa10)
Sistem tterdistribusi (dhaa10)Sistem tterdistribusi (dhaa10)
Sistem tterdistribusi (dhaa10)
 
Sistem terdistribusi (dha2)
Sistem terdistribusi (dha2)Sistem terdistribusi (dha2)
Sistem terdistribusi (dha2)
 
Sistem terdistribusi (dhaa9)
Sistem terdistribusi (dhaa9)Sistem terdistribusi (dhaa9)
Sistem terdistribusi (dhaa9)
 
Метафизика. Тай-Цзи.
Метафизика. Тай-Цзи.Метафизика. Тай-Цзи.
Метафизика. Тай-Цзи.
 
Modul paj tahap i thn 1 v5 lengkap dengan cover, pj dan pk
Modul paj tahap i thn 1 v5 lengkap dengan cover, pj dan pkModul paj tahap i thn 1 v5 lengkap dengan cover, pj dan pk
Modul paj tahap i thn 1 v5 lengkap dengan cover, pj dan pk
 

Similaire à 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 fajrillah
 
Software quality factor(blog)
Software quality factor(blog)Software quality factor(blog)
Software quality factor(blog)Luthfia Ulinnuha
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsTerabitKomputer
 
Rpl 07 - pembuatan prototipe perangkat lunak
Rpl   07 - pembuatan prototipe perangkat lunakRpl   07 - pembuatan prototipe perangkat lunak
Rpl 07 - pembuatan prototipe perangkat lunakFebriyani Syafri
 
W8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering DrawingW8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering DrawingJepree Ibrahim
 
Kelompok 8 rapid application development (rad)
Kelompok 8   rapid application development (rad)Kelompok 8   rapid application development (rad)
Kelompok 8 rapid application development (rad)Yudha Arif Budiman
 
Buku ajar kecil 01
Buku ajar kecil 01Buku ajar kecil 01
Buku ajar kecil 01Ainul Yaqin
 
Week2-BAB I II-ReKAYASA PERANGKAT LUNAK.pptx
Week2-BAB I II-ReKAYASA PERANGKAT LUNAK.pptxWeek2-BAB I II-ReKAYASA PERANGKAT LUNAK.pptx
Week2-BAB I II-ReKAYASA PERANGKAT LUNAK.pptxMuhMahdinulBahar1
 
2. distributed system
2. distributed system2. distributed system
2. distributed systemDony Riyanto
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle softwareHarzalik Meank
 
Kebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpelKebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpelartha69
 
Software Peningkat Performa PC
Software Peningkat Performa PCSoftware Peningkat Performa PC
Software Peningkat Performa PCHario Noviyanto
 
Pengujian kualitas perangkat lunak
Pengujian kualitas perangkat lunakPengujian kualitas perangkat lunak
Pengujian kualitas perangkat lunakArsyiSobirin
 
Implementasi perangkat-lunak
Implementasi perangkat-lunakImplementasi perangkat-lunak
Implementasi perangkat-lunakbenzy swaroes
 
Evolutionary software process model
Evolutionary software process modelEvolutionary software process model
Evolutionary software process modelFirmansyah Xifshw
 

Similaire à Rekayasa perangkat lunak (dha14) (20)

Software reuse
Software reuseSoftware reuse
Software reuse
 
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
 
Software quality factor(blog)
Software quality factor(blog)Software quality factor(blog)
Software quality factor(blog)
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOps
 
Rpl 07 - pembuatan prototipe perangkat lunak
Rpl   07 - pembuatan prototipe perangkat lunakRpl   07 - pembuatan prototipe perangkat lunak
Rpl 07 - pembuatan prototipe perangkat lunak
 
W8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering DrawingW8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering Drawing
 
Kelompok 8 rapid application development (rad)
Kelompok 8   rapid application development (rad)Kelompok 8   rapid application development (rad)
Kelompok 8 rapid application development (rad)
 
Buku ajar kecil 01
Buku ajar kecil 01Buku ajar kecil 01
Buku ajar kecil 01
 
Metode pengembangat Sistem
Metode pengembangat SistemMetode pengembangat Sistem
Metode pengembangat Sistem
 
RPL
RPLRPL
RPL
 
Week2-BAB I II-ReKAYASA PERANGKAT LUNAK.pptx
Week2-BAB I II-ReKAYASA PERANGKAT LUNAK.pptxWeek2-BAB I II-ReKAYASA PERANGKAT LUNAK.pptx
Week2-BAB I II-ReKAYASA PERANGKAT LUNAK.pptx
 
2. distributed system
2. distributed system2. distributed system
2. distributed system
 
Rd
RdRd
Rd
 
Rad
RadRad
Rad
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle software
 
Kebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpelKebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpel
 
Software Peningkat Performa PC
Software Peningkat Performa PCSoftware Peningkat Performa PC
Software Peningkat Performa PC
 
Pengujian kualitas perangkat lunak
Pengujian kualitas perangkat lunakPengujian kualitas perangkat lunak
Pengujian kualitas perangkat lunak
 
Implementasi perangkat-lunak
Implementasi perangkat-lunakImplementasi perangkat-lunak
Implementasi perangkat-lunak
 
Evolutionary software process model
Evolutionary software process modelEvolutionary software process model
Evolutionary software process model
 

Plus de Mawaddah Warahmah

Plus de Mawaddah Warahmah (16)

Interaksi manusia dan komputer (dha16)
Interaksi manusia dan komputer (dha16)Interaksi manusia dan komputer (dha16)
Interaksi manusia dan komputer (dha16)
 
Interaksi manusia dan komputer (dha15)
Interaksi manusia dan komputer (dha15)Interaksi manusia dan komputer (dha15)
Interaksi manusia dan komputer (dha15)
 
Interaksi manusia dan komputer (dha13)
Interaksi manusia dan komputer (dha13)Interaksi manusia dan komputer (dha13)
Interaksi manusia dan komputer (dha13)
 
Interaksi manusia dan komputer (dha10)
Interaksi manusia dan komputer (dha10)Interaksi manusia dan komputer (dha10)
Interaksi manusia dan komputer (dha10)
 
Interaksi manusia dan komputer (dha6)
Interaksi manusia dan komputer (dha6)Interaksi manusia dan komputer (dha6)
Interaksi manusia dan komputer (dha6)
 
Interaksi manusia dan komputer (dha3)
Interaksi manusia dan komputer (dha3)Interaksi manusia dan komputer (dha3)
Interaksi manusia dan komputer (dha3)
 
Uts
UtsUts
Uts
 
Uas
UasUas
Uas
 
Quiz 1
Quiz 1Quiz 1
Quiz 1
 
Rekayasa perangkat lunak (dha4)
Rekayasa perangkat lunak (dha4)Rekayasa perangkat lunak (dha4)
Rekayasa perangkat lunak (dha4)
 
Rekayasa perangkat lunak (dha1)
Rekayasa perangkat lunak (dha1)Rekayasa perangkat lunak (dha1)
Rekayasa perangkat lunak (dha1)
 
Sistem terdistribusi (dha16)
Sistem terdistribusi (dha16)Sistem terdistribusi (dha16)
Sistem terdistribusi (dha16)
 
Sistem terdistribusi (dha14)
Sistem terdistribusi (dha14)Sistem terdistribusi (dha14)
Sistem terdistribusi (dha14)
 
Sistem terdistribusi (dha13)
Sistem terdistribusi (dha13)Sistem terdistribusi (dha13)
Sistem terdistribusi (dha13)
 
Sistem terdistribusi (dhaa11)
Sistem terdistribusi (dhaa11)Sistem terdistribusi (dhaa11)
Sistem terdistribusi (dhaa11)
 
Sistem terdistribusi (dhaa8)
Sistem terdistribusi (dhaa8)Sistem terdistribusi (dhaa8)
Sistem terdistribusi (dhaa8)
 

Rekayasa perangkat lunak (dha14)

  • 1. ST. MAWADDATANWWARAHMAH PERT 14 Dhawarahmah 1
  • 3.  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
  • 4. Rekayasa perangkat lunak yang berbasis pemakaian ulang merupakan pendekatan terhadap pengembangan yang mencoba memaksimasi pemakaian ulang perangkat lunak yang ada. Dhawarahmah 4
  • 5. Contoh unit perangkat lunak yang dipakai ulang yang bisa berukuran berbeda: 1. Pemakaian ulang sistem aplikasi. Seluruh sistem aplikasi dapat dipakai ulang dengan menggabungkannya tanpa perubahan dengan sistem lain. 2. Pemakaian ulang komponen. Komponen dari suatu aplikasi yang ukurannya berkisar dari subsistem sampai satu objek tunggal dapat dipakai ulang. 3. Pemakaian ulang fungsi. Komponen perangkat lunak yang mengimplementasi satu fungsi. Dhawarahmah 5
  • 6. Keuntungan yang jelas dari pemakaian ulang perangkat lunak adalah diperkecilnya biaya pengembangan secara keseluruhan. Komponen- komponen perangkat lunak yang harus dispesifikasi, dirancang, diimkplementasi, dan divalidasi menjadi berkurang. Namun demikian reduksi biaya merupakan salah satu keuntungan potensial dari pemakaian ulang. Berikut keuntungan lainnya: Dhawarahmah 6
  • 7. 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
  • 8. 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
  • 9. KEUNTUNGAN KETERANGAN Pemakaian Spesialis yang efektif Spesialis aplikasi tidak melakukan pekerjaan yang sama pada berbagai proyek , 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
  • 10. 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
  • 11.  Komponen yang dapat dipakai ulang dan sesuai.  Pemakaian ulang komponen harus pasti bahwa komponen- komponen tersebut akan bekerja sebagaimana dispesifikasi & akan andal.  Komponen tersebut harus memiliki dokumentasi yang berhubungan untuk membantu pemakai ulang memahaminya & mengadaptasi ke aplikasi yang baru. Dhawarahmah 11
  • 12. 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
  • 13. 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 perangkat lunak harus komponen yang dapat dipakai ulang 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
  • 14. Keberhasilan pemakaian Visual Basic dan Visual C++ dengan komponen-komponen dan Java dengan Javabeans telah menunjukkan nilai pemakaian ulang. Rekayasa perangkat lunakberbasis komponen telah diterima luas sebagai pendekatan dengan efektif terhadap biaya terhadap pengembangan perangkat lunak. Dhawarahmah 14
  • 15. Namun tidak sedikit biaya dan masalah yang berhubungan dengan pemakain ulang, hal ini dapat menghambat dilakukannya pemakaian ulang & bisa berarti bahwa pengurangan biaya pengembangan pemakaian ulang mungkin lebih kecil, kesulitan ini berarti bahwa pemakaian ulang yang sistematis tidak dapat terjadi begitu saja tetapi harus direncanakan & diperkenalkan melalui program pemakaian ulang diseluruh organisasi.contoh kasus: Dhawarahmah 15
  • 16. GAMBAR: PEMAKAIAN ULANG BERBASIS GENERATOR Dhawarahmah 16
  • 17.  Alternatif bagi pandangan berorientasi komponen pemakaian ulang adalah pandangan generator.  Pada pendekatan terhadap pemakaian ulang ini, pengetahuan yang dapat dipakai ulang ditangkap pada sistem generator program yang dapat diprogram dalam bahasa berorientasi domain.  Deskripsi aplikasi menspesifikasi dengan cara yang abstrak, komponen yang dapat dipakai ulang yang mana yang akan digunakan, bagaimana penggabungannya, & parameterisasinya.  Dengan menggunakan informasi ini, suatu sistem perangkat lunak operasional dapat dibangkitkan( Gambar diatas). Dhawarahmah 17
  • 18.  Pemakaian ulang berbasis generator efektif dalam hal biaya tetapi bergantung pada identifikasi abstraksi domain stereotipis.  Keuntungan utamanya adalah bahwa lebih muda bagi end-user untuk mengembangkan program dengan menggunakan generator dibandingkan dengan pendekatan berbasis komponen lainnya terhadap pemakaian ulang.  Akan tetapi kebutuhan akan pemahaman yang dalam dari konsep aplikasi domain & model domain cukup membatasi kemampuan penerapan teknik ini. Dhawarahmah 18
  • 19.  Pengembangan berbasis komponen muncul pada akhir tahun 1990-an sebagai pendekatan berbasis pemakaian ulang terhadap pengembangan sistem perangkat lunak.  Motovasinya adalah kefrustrasian pengembangan berorientasi objek tidak berkembang menjadi pemakaian ulang yang ekstensif sebagaimana yang diperkirakan pada awalnya.  Komponen lebih abstrak dari kelas objek & dapat dianggap sebagai penyedia layanan yang berdiri sendiri. Dhawarahmah 19
  • 20. Penggambaran suatu komponen sebagai penyedia layanan menekankan dua karakteristik kritis dari komponen yang dapat dipakai ulang: 1. Komponen merupakan entitas yang dapat dieksekusi dan independen. 2. Komponen mengeluarkan interface mereka dan semua interaksi melalui interface tersebut. Dhawarahmah 20
  • 21. Komponen didefinisikan oleh interfacenya dan dalam kasus yang paling umum dapat dianggap memiliki interface dua interface yang berhubungan, ditunjukkan pada gambar: GAMBAR: INTERFACE KOMPONEN Dhawarahmah 21
  • 22.  Interface provides, yaitu interface yang mendefinisikan layanan yang disediakan oleh komponen tersebut.  Interface requires, yaitu interface yang menspesifikasi layanan apa yang harus tersedia dari sistem yang memakai komponen. Jika tidak tersedia maka komponen tidak akan bekerja. Dhawarahmah 22
  • 23. Komponen-komponen bisa eksis pada tingkat abstraksi yang berbeda-beda, dari subrutin library yang sederhana sampai seluruh aplikasi seperti Microsoft Excel (Meyer 1999) mengidentifikasi lima tingkat abstraksi: 1. Abstraksi fungsional, komponen mengimplementasi satu fungsi. 2. Pengelompokan kasual, komponen merupakan sekumpulan entitas yang berhubungan longgar yang mungkin berupa deklarasi data, fungsi, dsb. 3. Abstraksi Data. Komponen merepresentasikan abstraksi data atau kelas perangkat lunak bahasa berorientasi objek. Dhawarahmah 23
  • 24. 4. Abstraksi Cluster, komponen merupakan sekumpulan kelas yang berhubungan yang bekerja sama. Kelas ini kadang- kadang dinamakan kerangka kerja. 5. Abstraksi Sistem, komponen merupakan sistem yang sepenuhnya berdiri sendiri. Pemakaian ulang abstraksi tingkat sistem kadang kala disebut pemakaian ulang COTS. Dhawarahmah 24
  • 25. Pada pengembangan yang didorong oleh pemakaian ulang, persyaratan sistem dimodifikasi menurut komponen pemakaian ulang yang tersedia. Desain juga didasarkan atas komponen-komponen yang tersedia itu. Namun demikian, biaya pengembangan yang lebih kecil, pengiriman sistem yang lebih cepat, dan keandalan sistem yang bertambah seharusnya dapat mengkompensasi hal ini. Dhawarahmah 25
  • 26.  Salah satu pendekatan efektif bagi pemakaian ulang didasarkan sekitar kerabat aplikasi.  Sebuah kerabat aplikasi atau jalur produk merupakan satu set aplikasi yang memiliki arsitektur spesifik domain.  Inti umum dari kerabat aplikasi adalah dapat dipakai ulang setiap kali dibutuhkan aplikasi baru. Dhawarahmah 26
  • 27.  Spesialisasi platform, di mana berbagai versi aplikasi dikembangkan untuk berbagai platform.  Spesialisasi konfigurasi, di mana berbagai versi aplikasi dibuat untuk menangani berbagai peranti periferal.  Spesialisasi profesional, di mana berbagai versi aplikasi dibuat untuk pelanggan dengan persyaratan yang berbeda. Dhawarahmah 27
  • 28.  Pola rancangan diturunkan dari ide yang dikemukakan oleh cristopher Alexander, yang mengusulkan bahwa ada pola tertentu pada rancangan pembangunan yang umum sekaligus memuaskan & efektif.  Pola merupakan deskripsi & inti solusinya sehingga solusi tersebut dapat dipakai ulang pada setting yang berbeda.  Pola dapat dipakai pada saat analisis mengembangkan model sistem sebagaimana pada saat proses perancangan.  Pada perancangan perangkat lunak, pola rancangan telah dihubungkan dengan desain berorientasi objek. Pola ini seringkali bergantung pada karakteristik objek untuk memberikan generilitas.  Prinsip umumnya dapat diterapkan pada semua pendekatan perangkat lunak. Dhawarahmah 28
  • 29. Gamma et al, mendefinisikan empat elemen yang penting pada pola rancangan:  Nama yang merupakan referensi yang bermakna terhadap pola.  Deskripsi area masalah yang menjelaskan kapan pola tersebut dapat diterapkan.  Deskripsi solusi yang mendeskripsikan bagian-bagian solusi perancangan,hubungannya & tanggung jawabnya.  Pernyataan konsekuensi-hasil & pertukaran-penerapan pola tersebut. Dhawarahmah 29