SlideShare a Scribd company logo
Arfianti          (092904019)


            Pendidikan Teknik Informatika dan Komputer
                    Universitas Negeri Makassar
                                2011


Perancangan dengan Pemakaian
           Ulang
Perancangan dengan Pemakaian Ulang
   Proses perancangan ulang pada sebagian besar disiplin
ilmu ditekankan pada pemakaian ulang komponen.

   Perangkat lunak harus dianggap sebagai suatu aset, dan
pemakaian ulang aset sangat penting untuk menaikkan
pengembangan dari biaya pengembangnya.

   Rekayasa perangkat lunak berbasis pemakaian ulang
adalah pendekatan terhadap pengembangan yang mencoba
memaksimalkan pemakaian perangkat lunak yang ada. Unit
perangkat lunak yang dipakai ulang bisa berukuran sangat
berbeda.
                                                            2
Contoh
• Pemakaian ulang sistem aplikasi, yaitu seluruh
  sistem aplikasi dapat dipakai ulang dengan
  menggabungkannya tanpa perubahan dengan
  sistem lain.
• Pemakaian ulang komponen. Komponen subsistem
  atau satu objek tunggal aplikasi dapat dipakai
  ulang.
• Pemakaian ulang fungsi. Komponen perangkat
  lunak yang menggunakan satu fungsi (contohnya
  fungsi matematik) dapat dipakai ulang.
                                                   3
Keuntungan
Keuntungan            Keterangan
Keandalan             Komponen yang dipakai ulang telah diuji pada berbagai lingkungan, sehingga
bertambah             komponen tersebut lebih dapat diandalkan daripada komponen baru.


Resiko         proses Jika komponen telah ada, ketidakpastian biaya pemakaian ulang menjadi lebih
diperke-cil           kecil daripada biaya pengembangan.
Pemakaian spesialis Spesialis aplikasi tidak melakukan pekerjaan yang sama pada berbagai proyek,
yang efektif          tapi mereka dapat mengembangkan komponen-komponen yang dipakai ulang,
                      yang sesuai dengan pengetahuan mereka.


Pemenuhan             Pemakaian tampilan antarmuka standar memperbaiki kehandalan, karena
Standar               pemakai lebih terbiasa menggunakan tampilan antarmuka yang mereka kenal
                      sejak lama.
Pengembangan          Pemakaian ulang komponen mempercepat proses produksi karena waktu
yang dipercepat       pengembangan dan waktu validasi bisa dipersingkat.
                                                                                                    4
Syarat kritis Pengembangan
• Komponen yang dapat dipakai ulang dan sesuai,
  harus dimiliki dan bisa ditemukan.
• Pemakaian ulang komponen harus memastikan
  komponen-komponen tersebut bisa bekerja
  dengan andal dan sebagaimana mestinya.
• Komponen tersebut harus memiliki dokumentasi
  yang sesuai untuk membantu pemakai ulang
  memahaminya dan mengadaptasinya ke aplikasi
  baru.
                                                  5
Masalah dan Hambatan
Masalah                               Keterangan
Biaya pengembangan perangkat Jika source code untuk komponen tidak tersedia, maka biaya pemeliharaan
lunak                                 bertambah besar, karena elemen sistem yang dipakai ulang bisa makin tidak
                                      kompatibel dengan perubahan sistem.
Tidak    adanya   duku-ngan      alat Toolset CASE tidak mendukung pengembangan dengan pemakaian ulang.
bantu                                 Integrasi alat bantu ini dengan sistem library sulit bahkan tidak mungkin.


Sindrom tidak dibuat disini.          Beberapa perekayasa perangkat lunak kadang-kadang lebih suka menulis kembali
                                      komponen karena mereka yakin dapat membuat kembali suatu komponen yang
                                      dipakai ulang.
Mempertahankan                 library Memenuhi library komponen dan menjamin pengembang perangkat lunak dapat
komponen                              memakai library ini mungkin akan mahal. Teknik terbaru untuk klasifikasi,
                                      katalog, dan mengambil komponen perangkat lunak belum matang.


Menemukan      dan   mengadaptasi Komponen perangkat lunak harus ditemukan pada suatu library, dipahami, dan
komponen perangkat lunak belum diadaptasi untuk bekerja pada lingkungan yang baru.
matang


                                                                                                                     6
Pandangan Generator
    Alternatif untuk pandangan berorientasi
komponen pemakaian ulang adalah pandangan
generator. Pada pendekatan ini, pengetahuan
yang dapat dipakai ulang ditangkap pada sistem
generator program yang dapat diprogram dalam
bahasa berorientasi domain. Pemakaian berbasis
generator hanya mungkin jika abstraksi domain
dan pemetaannya pada kode eksekusi dapat
diidentifikasi.
                                                 7
Pemakaian Ulang Berbasis Generator




                                     8
Pemakaian Berbasis Generator yang
        Berhasil digunakan
• Generator aplikasi untuk pemetaan bisnis. Inputnya
  berupa 4GL atau interaktif seluruhnya dimana pengguna
  mendefinisikan tampilan dan aksi pemrosesan.
  Outputnya berupa program seperti COBOL atau SQL.
• Generator parser untuk pemrosesan bahasa. Inputnya
  berupa Grammar yang mendeskripsikan bahasa dan
  Outputnya berupa parser bahasa.
• Generator kode pada CASE tool. Inputnya berupa desain
  perangkat lunak, dan Outputnya berupa program yang
  mengimplementasikan sistem yang dirancang.
                                                          9
Keuntungan Pandangan Generator

    Lebih mudah bagi pemakai untuk
mengembangkan program dengan menggunakan
generator dibandingkan dengan pendekatan
berbasis komponen lainnya terhadap pemakaian
ulang.



                                               10
Pengembangan Berbasis Komponen
      Pengembangan berbasis komponen atau rekayasa perangkat lunak
berbasis komponen muncul pada akhir tahun 1990-an sebagai pendekatan
berbasis pemakaian ulang terhadap pengembangan sistem perangkat
lunak. Motivasinya adalah kefrustrasian bahwa pengembangan
berorientasi objek tidak berkembang menjadi pemakaian ulang yang
ekstensif sebagaimana diperkirakan pada awalnya.

     Komponennya lebih abstrak dari kelas objek dan dapat dianggap
sebagai penyedia layanan yang berdiri sendiri. Ketika sistem
membutuhkan layanan, sistem memanggil komponen untuk menyediakan
layanan tersebut tanpa peduli di mana komponen tersebut berjalan atau
bahasa pemrograman yang dipakai untuk mengembangkannya.

                                                                        11
Karakteristik Komponen yang dapat
           dipakai ulang
1. Komponen merupakan entitas yang dapat
   dieksekusi dan independen. Source code tidak
   tersedia sehingga komponen tidak dikompilasi
   dengan komponen sistem lain.
2. Komponen mengeluarkan interface mereka dan
   semua interaksi melalui inter-face tersebut.
   Interface komponen dinyatakan dalam operasi
   yang diparamete-risasi dan status internalnya
   tidak pernah diperlihatkan.
                                                   12
Interface Komponen

                     Komponen
Interface requires              Interface provides




                                                     13
Komponen didefinisikan oleh interfacenya dan, dalam
kasus yang paling umum, dapat dianggap memiliki dua
interface yang berhubungan

• 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 itu. Jika ini tidak
  disediakan, maka komponen tidak akan bekerja.

                                                            14
Contoh : Komponen layanan
              pencetakan
                            Print Sevice
Interface requires                                   Interface provides

               GetPDfile                     Print

               PrinterInt                  GetQueue

                                            Remove

                                            Transfer

                                            Register

                                           UnRegister


                                                                          15
Tingkat Abstaksi
Meyer (1999) mengidentifikasi lima tingkat abstraksi:

1.   Abstraksi fungsional dimana komponen mengimplementasi satu
     fungsi, misalnya fungsi matematika.
2.   Pengelompokan kasual dimana komponen merupakan sekumpulan
     entitas yang ber-hubungan longgar (loosely related) yang mungkin
     berupa deklarasi data, fungsi, dsb.
3.   Abstraksi data dimana komponen merepresentasikan abstraksi data
     atau kelas pe-rangkat lunak bahasa berorientasi objek.
4.   Abstraksi cluster dimana komponen merupakan sekumpulan kelas
     yang berhubungan yang bekerja sama. Kelas-kelas ini kadang-kadang
     dinamakan kerangka kerja.
5.   Abstraksi sistem dimana komponen merupakan sistem yang
     sepenuhnya berdiri sendiri.

                                                                         16
Pengembangan Berorientasi Komponen
Pengembangan berorientasi komponen dapat
diintegrasikan ke dalam proses pengembangan
sistem dengan menggunakan kegiatan pemakaian
ulang yang spesifik

 Rancangan                     Cari komponen
              Spesifikasi                            Pakai komponen
 arsitektur                      yang dapat
              Komponen                               yang ditemukan
   sistem                       dipakai ulang


               Proses pemakaian ulang oportunistik


                                                                      17
Proses implementasi sistem dengan menggunakan
komponen biasanya merupa-kan proses pembuatan
prototipe atau proses pengembangan inkremental.
Bahasa pemrograman standar seperti Java dapat
digunakan dengan komponen pada library yang
direferensi dari program. Alternatifnya (dan lebih
umum) digunakan bahasa scripting yang khusus
dirancang untuk integrasi komponen yang dapat
dipakai ulang untuk mendukung pengembangan
program yang cepat.


                                                     18
Pengembangan dengan Pemakaian Ulang

                                         Modifikasi
Buat garis besar   Cari komponen
                                    persyaratan menurut
  persyaratan        yang dapat
                                      komponen yang
    sistem          dipakai ulang
                                          didapat




                                      Rancang sistem
                   Cari komponen
 Perancangan                         dengan memakai
                     yang dapat
  arsitektural                       komponen yang
                    dipakai ulang
                                    dapat dipakai ulang




                                                          19
Kerangka Kerja Aplikasi
    Pemakaian ulang paling baik didukung pada
proses pengembangan berorientasi objek melalui
abstraksi yang tidak terlalu detil, yang disebut
sebagai kerangka kerja (framework)
    Kerangka kerja (atau kerangka kerja aplikasi)
merupakan desain subsistem yang terdiri dari
sekumpulan kelas yang abstrak dan konkret, dan
berbagai interface di antara mereka (Wirfs-Brock
dan Johnson, 1990).
                                                    20
Kelas Kerangka Kerja
Fayad dan Schmidt (1997) mengidentifikasi tiga kelas kerangka kerja:
1. Kerangka kerja infrastruktur sistem yang mendukung pengembangan
    infrastruktur sistem seperti komunikasi, interface user dan compiler
    (Schmidt, 1997).
2. Kerangka kerja integrasi middleware (perangkat menengah) yang
    terdiri dari satu set standar dan kelas objek yang berhubungan yang
    mendukung komunikasi dan pertukaran informasi komponen.
3. Kerangka kerja aplikasi perusahaan yang berhubungan dengan
    domain aplikasi yang spesifik seperti sistem telekomunikasi atau
    finansial (Baumer et al., 1997).

Kerangka-kerangka kerja ini memiliki pengetahuan domain aplikasi dan
mendukung pengembangan aplikasi end-user.


                                                                           21
Kerangka Kerja Model-View-Controller

                    Lihat message                         Input user
     Status view    modifikasi      Status kontroler

    Metode View                     Metode kontroler


Query dan                                    Edit model
update
model
                   Status model

                   Metode model




                                                                       22
MVC
    Kerangka kerja ini pada awalnya diusulkan pada
tahun 1980-an sebagai pendekatan terhadap
perancangan GUI yang memungkinkan presen-tasi
multipel dart sebuah objek dan gaya interaksi yang
berbeda dengan setiap presentasi ini.
    Kerangka kerja MVC mendukung presentasi data
dengan cara-cara yang berbeda dan interaksi yang
terpisah dengan setiap presentasi ini. Ketika data
dimodifikasi melalui salah satu part presentasi
tersebut, semua presentasi lain di-update.
                                                     23
Pemakaian Ulang Produk COST

   COST, Commercial Off-The-Shelf
Systems    merupakan      komponen-
komponen dari sistem pemakaian ulang
yang ditawarkan oleh vendor pihak
ketiga.

                                       24
Masalah Integrasi COST
Boehm (1999) membahas empat masalah dengan integrasi
sistem COTS :

1. Tidak adanya kontrol terhadap fungsionalitas dan
   kinerja.
2. Masalah dengan kemampuan antar operasi sistem
   COTS.
3. Tidak ada kontrol terhadap evolusi sistem.
4. Dukungan dari vendor COTS.
                                                       25
Keuntungan COST
    Keuntungan pemakaian ulang produk COTS
sangat signifikan karena sistem-sistem ini
memberikan begitu banyak fungsio-nalitas bagi
pemakai ulang. Usaha implementasi yang
berbulan-bulan atau bahkan bertahun-tahun
dapat dipersingkat jika sistem yang ada dipakai
ulang dan waktu pengembangan sistem pun
diperkecil secara drastis.

                                                  26
Pengembangan Komponen Untuk Pemakaian
                Ulang
    Proses pengembangan komponen yang ideal harus
merupakan proses berbasis pengalaman, di mana
komponen pemakaian ulang khusus dibuat dari
komponen yang ada yang telah dipakai ulang dengan
cara yang oportunis. Dengan meng-gunakan
pengetahuan mengenai masalah pemakaian ulang dan
adaptasi komponen yang dibutuhkan untuk
mendukung pemakaian ulang, versi komponen yang
lebih generik, yang lebih dapat dipakai ulang, dapat
dibuat.
                                                       27
Karakteristik Komponen yang Dapat
               Dipakai Ulang
1. Komponen harus merefleksikan abstraksi domain yang
   stabil. Abstraksi do-main yang stabil merupakan konsep
   mendasar pada domain aplikasi yang berubah perlahan.
2. Komponen harus menyembunyikan cara statusnya
   direpresentasikan dan harus menyediakan operasi yang
   memungkinkan status tersebut diakses dan di-up-date.
3. Komponen harus seindependen mungkin. Idealnya, sebuah
   komponen harus berdiri sendiri sehingga komponen tidak
   memerlukan komponen lain untuk beroperasi.
4. Semua eksepsi harus merupakan bagian dari interface
   komponen. Komponen tidak boleh menangani eksepsi sendiri
   karena aplikasi yang berbeda akan memiliki persyaratan
   yang berbeda untuk penanganan eksepsi.
                                                              28
Kerabat Aplikasi
     Salah satu pendekatan yang paling efektif bagi
pemakaian ulang didasarkan sekitar kerabat aplikasi.
Sebuah kerabat aplikasi atau jalur produk merupakan satu
set aplikasi yang memiliki arsitektur spesifik domain

     Namun demikian, setiap aplikasi khusus merupakan
spesialisasi dalam satu hal. Inti umum dari kerabat aplikasi
dipakai ulang setiap kali dibutuhkan aplikasi bare.
Pengembangan barn bisa melibatkan penulisan beberapa
komponen tambahan dan adaptasi beberapa komponen pada
aplikasi untuk memenuhi permintaan baru.
                                                               29
Kerabat Aplikasi yang dapat Dikembangkan

1. Spesialisasi platform, di mana berbagai versi
   aplikasi dikembangkan untuk ber-bagai
   platform.
2. Spesialisasi konfigurasi, di mana berbagai versi
   aplikasi dibuat untuk menangani berbagai
   peranti periferal.
3. Spesialisasi fungsional, di mana berbagai versi
   aplikasi dibuat untuk pelanggan dengan
   persyaratan yang berbeda.
                                                      30
Library user access



Add   Delete    Query     Browse   Admin      Report   Issue     Return   Users




               Resource
                               Screen spec.       Report spec.
                 desc.



                   Library Holdings Database


                            Sistem perpustakaan

                                                                                  31
Lankah-Langkah Proses Generik
1.   Elisitasi persyaratan stakeholder yang didasarkan atas proses
     rekayasa persyaratan normal.
2.   Pilih anggota kerabat yang paling sesuai. Persyaratan dianalisis dan
     anggota kerabat yang paling sesuai untuk persyaratan-persyaratan
     ini dipilih untuk dimodifikasi.
3.   Negosiasi ulang persyaratan. Sementara makin banyak muncul detil
     perubahan yang dibutuhkan bagi sistem yang telah ada dan proyek
     direncanakan
4.   Adaptasi sistem yang sudah ada. Modul-modul baru dikembangkan
     untuk sistem yang sudah ada dan modul-modul sistem yang telah
     ada, diadaptasi untuk memenuhi persyaratan-persyaratan baru.
5.   Serahkan anggota kerabat yang baru. Anggota kerabat aplikasi yang
     baru diserahkan kepada pelanggan.


                                                                            32
Pengembangan Anggota Kerabat

                              Negosiasi ulang
                               persyaratan


  Esilitasi   Pilih anggota
persyaratan   kerabat yang
stakeholder   paling sesuai


                                                  Serahkan
                              Adaptasi sistem
                                                   anggota
                              yang sudah ada
                                                kerabat baru




                                                               33
Pola Perancangan
     Pola rancangan (Gamma et al., 1995) diturunkan dari
ide yang dikemukakan oleh Christopher Alexander
(Alexander et al., 1977), yang mengusulkan bahwa ada pola
tertentu pada rancangan pembangunan yang umum dan
sekaligus memaskan dan efektif.
     'Pola' merupakan deskripsi masalah dan inti solusinya
sehingga solusi tersebut dapat dipakai ulang pada setting
yang berbeda. Pola ini tidak merupakan spesifikasi yang
rinci. Melainkan, Anda dapat menganggapnya sebagai
deskripsi dari kebijaksanaan dan pengalaman yang
terakumulasi. Pola ini merupakan solusi terhadap masalah
umum yang telah diuji dengan baik.

                                                             34
Elemen Penting Pola Rancangan
Gamma et al. (1995) mendefinisikan empat elemen yang penting
pada pola rancangan:

1. Nama yang merupakan referensi yang bermakna terhadap
   pola.
2. Deskripsi area masalah yang menjelaskan kapan pola
   tersebut dapat diterapkan.
3. Deskripsi solusi yang mendeskripsikan bagian-bagian solusi
   perancangan, hu-bungannya dan tanggung jawabnya.
4. Pernyataan konsekuensi-hasil dan pertukaran-penerapan
   pola tersebut. Pernyataan ini digunakan untuk membantu
   perancang memahami apakah suatu pola dapat diterapkan
   secara efektif pada suatu situasi tertentu.
                                                                35
Pola Observer




                36
Terima Kasih ~


                 37

More Related Content

What's hot

LANDASAN TEORI
LANDASAN TEORILANDASAN TEORI
LANDASAN TEORI
Bruce Lee
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunak
Nita Resta Dewi
 
Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)Mawaddah Warahmah
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)gleebelle
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
mistertugas
 
Kebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpelKebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpelartha69
 
Rekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsRekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsListyowatik (Yanie)
 
Buku ajar kecil 01
Buku ajar kecil 01Buku ajar kecil 01
Buku ajar kecil 01Ainul Yaqin
 
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAKDhika The'Lover
 
C7 Integrating SQA to PLC
C7 Integrating SQA to PLCC7 Integrating SQA to PLC
C7 Integrating SQA to PLCIka Nurkasanah
 
Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1
Denny Yahya
 
Perancangan arsitektural
Perancangan arsitekturalPerancangan arsitektural
Perancangan arsitekturalarfianti
 
Rpl 09 - spesifikasi formal
Rpl   09 - spesifikasi  formalRpl   09 - spesifikasi  formal
Rpl 09 - spesifikasi formalFebriyani Syafri
 
Rpl 02 - rekayasa sistem berbasis komputer
Rpl   02 - rekayasa sistem berbasis komputerRpl   02 - rekayasa sistem berbasis komputer
Rpl 02 - rekayasa sistem berbasis komputer
Febriyani Syafri
 
Rekayasa Perangkat Lunak
Rekayasa Perangkat LunakRekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Yudi Purwanto
 

What's hot (19)

LANDASAN TEORI
LANDASAN TEORILANDASAN TEORI
LANDASAN TEORI
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunak
 
Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)
 
Bab ii
Bab iiBab ii
Bab ii
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 
Kebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpelKebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpel
 
Rekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsRekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentals
 
Buku ajar kecil 01
Buku ajar kecil 01Buku ajar kecil 01
Buku ajar kecil 01
 
tes
testes
tes
 
Rpl 08 - uts
Rpl   08 - utsRpl   08 - uts
Rpl 08 - uts
 
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAK
 
C7 Integrating SQA to PLC
C7 Integrating SQA to PLCC7 Integrating SQA to PLC
C7 Integrating SQA to PLC
 
Materi ppl
Materi pplMateri ppl
Materi ppl
 
Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1
 
Perancangan arsitektural
Perancangan arsitekturalPerancangan arsitektural
Perancangan arsitektural
 
Rpl 09 - spesifikasi formal
Rpl   09 - spesifikasi  formalRpl   09 - spesifikasi  formal
Rpl 09 - spesifikasi formal
 
Rpl 02 - rekayasa sistem berbasis komputer
Rpl   02 - rekayasa sistem berbasis komputerRpl   02 - rekayasa sistem berbasis komputer
Rpl 02 - rekayasa sistem berbasis komputer
 
Rekayasa Perangkat Lunak
Rekayasa Perangkat LunakRekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
 

Similar to Perancangan dengan pemakaian ulang

Software reuse
Software reuseSoftware 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
fajrillah
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunak
AdityaSaputra83
 
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza SafitriPerangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
Sandra Vio
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOps
TerabitKomputer
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunak
Sahrul Sindriana
 
Rpl 01 - pendahuluan
Rpl   01 - pendahuluanRpl   01 - pendahuluan
Rpl 01 - pendahuluan
Febriyani Syafri
 
2. distributed system
2. distributed system2. distributed system
2. distributed systemDony Riyanto
 
materi lanjutan.ppt
materi lanjutan.pptmateri lanjutan.ppt
materi lanjutan.ppt
JokoSuprianto24
 
W8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering DrawingW8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering Drawing
Jepree Ibrahim
 
Apsi (modul 2)
Apsi  (modul 2)Apsi  (modul 2)
Apsi (modul 2)
manja purnasari
 
Implementasi perangkat-lunak
Implementasi perangkat-lunakImplementasi perangkat-lunak
Implementasi perangkat-lunak
benzy swaroes
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
Lusiana Diyan
 
ETS MPPL 2019
ETS MPPL 2019ETS MPPL 2019
ETS MPPL 2019
ganiwijaya
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle software
Harzalik Meank
 
Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405
nadyaindah10
 
Meeting 3 metode pengembangan sistem
Meeting 3   metode pengembangan sistemMeeting 3   metode pengembangan sistem
Meeting 3 metode pengembangan sistem
Universitas Teknokrat Indonesia
 
Testing&implementasi 2
Testing&implementasi 2Testing&implementasi 2
Testing&implementasi 2
aiiniR
 

Similar to Perancangan dengan pemakaian ulang (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
 
RPL
RPLRPL
RPL
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunak
 
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza SafitriPerangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
 
Rangkuman SDLC
Rangkuman SDLCRangkuman SDLC
Rangkuman SDLC
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOps
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunak
 
Rpl 01 - pendahuluan
Rpl   01 - pendahuluanRpl   01 - pendahuluan
Rpl 01 - pendahuluan
 
2. distributed system
2. distributed system2. distributed system
2. distributed system
 
materi lanjutan.ppt
materi lanjutan.pptmateri lanjutan.ppt
materi lanjutan.ppt
 
W8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering DrawingW8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering Drawing
 
Apsi (modul 2)
Apsi  (modul 2)Apsi  (modul 2)
Apsi (modul 2)
 
Implementasi perangkat-lunak
Implementasi perangkat-lunakImplementasi perangkat-lunak
Implementasi perangkat-lunak
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
ETS MPPL 2019
ETS MPPL 2019ETS MPPL 2019
ETS MPPL 2019
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle software
 
Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405
 
Meeting 3 metode pengembangan sistem
Meeting 3   metode pengembangan sistemMeeting 3   metode pengembangan sistem
Meeting 3 metode pengembangan sistem
 
Testing&implementasi 2
Testing&implementasi 2Testing&implementasi 2
Testing&implementasi 2
 

More from arfianti

Bergerak menuju s istem terdistribusi
Bergerak menuju s istem terdistribusiBergerak menuju s istem terdistribusi
Bergerak menuju s istem terdistribusiarfianti
 
Evolusi sistem terdistribusi
Evolusi sistem terdistribusiEvolusi sistem terdistribusi
Evolusi sistem terdistribusiarfianti
 
Konsep dasar sistem terdistribusi
Konsep dasar sistem terdistribusiKonsep dasar sistem terdistribusi
Konsep dasar sistem terdistribusiarfianti
 
Proses, objek dan layanan distribusi
Proses, objek dan layanan distribusiProses, objek dan layanan distribusi
Proses, objek dan layanan distribusiarfianti
 
Sistem operasi client server
Sistem operasi client serverSistem operasi client server
Sistem operasi client serverarfianti
 
Client server
Client serverClient server
Client serverarfianti
 
Arsitektur client server
Arsitektur client serverArsitektur client server
Arsitektur client serverarfianti
 
Sistem operasi client server
Sistem operasi client serverSistem operasi client server
Sistem operasi client serverarfianti
 
Protokol sister berbasis internet
Protokol sister berbasis internetProtokol sister berbasis internet
Protokol sister berbasis internetarfianti
 
Sistem manajemen jaringan
Sistem manajemen jaringanSistem manajemen jaringan
Sistem manajemen jaringanarfianti
 
Pemrograman sistem teristribusi
Pemrograman sistem teristribusiPemrograman sistem teristribusi
Pemrograman sistem teristribusiarfianti
 
Pemrograman internet
Pemrograman internetPemrograman internet
Pemrograman internetarfianti
 
Pemrograman basis data internet dan client server
Pemrograman basis data internet dan client serverPemrograman basis data internet dan client server
Pemrograman basis data internet dan client serverarfianti
 
Status, analisi event dan dukungan implementasi
Status, analisi event dan dukungan implementasiStatus, analisi event dan dukungan implementasi
Status, analisi event dan dukungan implementasiarfianti
 
Manajemen client server
Manajemen client serverManajemen client server
Manajemen client serverarfianti
 
Sistem keamanan client server
Sistem keamanan client serverSistem keamanan client server
Sistem keamanan client serverarfianti
 
Pemeliharaan dan pengujian client server
Pemeliharaan dan pengujian client serverPemeliharaan dan pengujian client server
Pemeliharaan dan pengujian client serverarfianti
 
Pert16 pemeliharaan dan pengujian client server
Pert16 pemeliharaan dan pengujian client serverPert16 pemeliharaan dan pengujian client server
Pert16 pemeliharaan dan pengujian client serverarfianti
 
Pengantar rpl
Pengantar rplPengantar rpl
Pengantar rplarfianti
 
Tim perangkat lunak
Tim perangkat lunakTim perangkat lunak
Tim perangkat lunakarfianti
 

More from arfianti (20)

Bergerak menuju s istem terdistribusi
Bergerak menuju s istem terdistribusiBergerak menuju s istem terdistribusi
Bergerak menuju s istem terdistribusi
 
Evolusi sistem terdistribusi
Evolusi sistem terdistribusiEvolusi sistem terdistribusi
Evolusi sistem terdistribusi
 
Konsep dasar sistem terdistribusi
Konsep dasar sistem terdistribusiKonsep dasar sistem terdistribusi
Konsep dasar sistem terdistribusi
 
Proses, objek dan layanan distribusi
Proses, objek dan layanan distribusiProses, objek dan layanan distribusi
Proses, objek dan layanan distribusi
 
Sistem operasi client server
Sistem operasi client serverSistem operasi client server
Sistem operasi client server
 
Client server
Client serverClient server
Client server
 
Arsitektur client server
Arsitektur client serverArsitektur client server
Arsitektur client server
 
Sistem operasi client server
Sistem operasi client serverSistem operasi client server
Sistem operasi client server
 
Protokol sister berbasis internet
Protokol sister berbasis internetProtokol sister berbasis internet
Protokol sister berbasis internet
 
Sistem manajemen jaringan
Sistem manajemen jaringanSistem manajemen jaringan
Sistem manajemen jaringan
 
Pemrograman sistem teristribusi
Pemrograman sistem teristribusiPemrograman sistem teristribusi
Pemrograman sistem teristribusi
 
Pemrograman internet
Pemrograman internetPemrograman internet
Pemrograman internet
 
Pemrograman basis data internet dan client server
Pemrograman basis data internet dan client serverPemrograman basis data internet dan client server
Pemrograman basis data internet dan client server
 
Status, analisi event dan dukungan implementasi
Status, analisi event dan dukungan implementasiStatus, analisi event dan dukungan implementasi
Status, analisi event dan dukungan implementasi
 
Manajemen client server
Manajemen client serverManajemen client server
Manajemen client server
 
Sistem keamanan client server
Sistem keamanan client serverSistem keamanan client server
Sistem keamanan client server
 
Pemeliharaan dan pengujian client server
Pemeliharaan dan pengujian client serverPemeliharaan dan pengujian client server
Pemeliharaan dan pengujian client server
 
Pert16 pemeliharaan dan pengujian client server
Pert16 pemeliharaan dan pengujian client serverPert16 pemeliharaan dan pengujian client server
Pert16 pemeliharaan dan pengujian client server
 
Pengantar rpl
Pengantar rplPengantar rpl
Pengantar rpl
 
Tim perangkat lunak
Tim perangkat lunakTim perangkat lunak
Tim perangkat lunak
 

Perancangan dengan pemakaian ulang

  • 1. Arfianti (092904019) Pendidikan Teknik Informatika dan Komputer Universitas Negeri Makassar 2011 Perancangan dengan Pemakaian Ulang
  • 2. Perancangan dengan Pemakaian Ulang Proses perancangan ulang pada sebagian besar disiplin ilmu ditekankan pada pemakaian ulang komponen. Perangkat lunak harus dianggap sebagai suatu aset, dan pemakaian ulang aset sangat penting untuk menaikkan pengembangan dari biaya pengembangnya. Rekayasa perangkat lunak berbasis pemakaian ulang adalah pendekatan terhadap pengembangan yang mencoba memaksimalkan pemakaian perangkat lunak yang ada. Unit perangkat lunak yang dipakai ulang bisa berukuran sangat berbeda. 2
  • 3. Contoh • Pemakaian ulang sistem aplikasi, yaitu seluruh sistem aplikasi dapat dipakai ulang dengan menggabungkannya tanpa perubahan dengan sistem lain. • Pemakaian ulang komponen. Komponen subsistem atau satu objek tunggal aplikasi dapat dipakai ulang. • Pemakaian ulang fungsi. Komponen perangkat lunak yang menggunakan satu fungsi (contohnya fungsi matematik) dapat dipakai ulang. 3
  • 4. Keuntungan Keuntungan Keterangan Keandalan Komponen yang dipakai ulang telah diuji pada berbagai lingkungan, sehingga bertambah komponen tersebut lebih dapat diandalkan daripada komponen baru. Resiko proses Jika komponen telah ada, ketidakpastian biaya pemakaian ulang menjadi lebih diperke-cil kecil daripada biaya pengembangan. Pemakaian spesialis Spesialis aplikasi tidak melakukan pekerjaan yang sama pada berbagai proyek, yang efektif tapi mereka dapat mengembangkan komponen-komponen yang dipakai ulang, yang sesuai dengan pengetahuan mereka. Pemenuhan Pemakaian tampilan antarmuka standar memperbaiki kehandalan, karena Standar pemakai lebih terbiasa menggunakan tampilan antarmuka yang mereka kenal sejak lama. Pengembangan Pemakaian ulang komponen mempercepat proses produksi karena waktu yang dipercepat pengembangan dan waktu validasi bisa dipersingkat. 4
  • 5. Syarat kritis Pengembangan • Komponen yang dapat dipakai ulang dan sesuai, harus dimiliki dan bisa ditemukan. • Pemakaian ulang komponen harus memastikan komponen-komponen tersebut bisa bekerja dengan andal dan sebagaimana mestinya. • Komponen tersebut harus memiliki dokumentasi yang sesuai untuk membantu pemakai ulang memahaminya dan mengadaptasinya ke aplikasi baru. 5
  • 6. Masalah dan Hambatan Masalah Keterangan Biaya pengembangan perangkat Jika source code untuk komponen tidak tersedia, maka biaya pemeliharaan lunak bertambah besar, karena elemen sistem yang dipakai ulang bisa makin tidak kompatibel dengan perubahan sistem. Tidak adanya duku-ngan alat Toolset CASE tidak mendukung pengembangan dengan pemakaian ulang. bantu Integrasi alat bantu ini dengan sistem library sulit bahkan tidak mungkin. Sindrom tidak dibuat disini. Beberapa perekayasa perangkat lunak kadang-kadang lebih suka menulis kembali komponen karena mereka yakin dapat membuat kembali suatu komponen yang dipakai ulang. Mempertahankan library Memenuhi library komponen dan menjamin pengembang perangkat lunak dapat komponen memakai library ini mungkin akan mahal. Teknik terbaru untuk klasifikasi, katalog, dan mengambil komponen perangkat lunak belum matang. Menemukan dan mengadaptasi Komponen perangkat lunak harus ditemukan pada suatu library, dipahami, dan komponen perangkat lunak belum diadaptasi untuk bekerja pada lingkungan yang baru. matang 6
  • 7. Pandangan Generator Alternatif untuk pandangan berorientasi komponen pemakaian ulang adalah pandangan generator. Pada pendekatan ini, pengetahuan yang dapat dipakai ulang ditangkap pada sistem generator program yang dapat diprogram dalam bahasa berorientasi domain. Pemakaian berbasis generator hanya mungkin jika abstraksi domain dan pemetaannya pada kode eksekusi dapat diidentifikasi. 7
  • 9. Pemakaian Berbasis Generator yang Berhasil digunakan • Generator aplikasi untuk pemetaan bisnis. Inputnya berupa 4GL atau interaktif seluruhnya dimana pengguna mendefinisikan tampilan dan aksi pemrosesan. Outputnya berupa program seperti COBOL atau SQL. • Generator parser untuk pemrosesan bahasa. Inputnya berupa Grammar yang mendeskripsikan bahasa dan Outputnya berupa parser bahasa. • Generator kode pada CASE tool. Inputnya berupa desain perangkat lunak, dan Outputnya berupa program yang mengimplementasikan sistem yang dirancang. 9
  • 10. Keuntungan Pandangan Generator Lebih mudah bagi pemakai untuk mengembangkan program dengan menggunakan generator dibandingkan dengan pendekatan berbasis komponen lainnya terhadap pemakaian ulang. 10
  • 11. Pengembangan Berbasis Komponen Pengembangan berbasis komponen atau rekayasa perangkat lunak berbasis komponen muncul pada akhir tahun 1990-an sebagai pendekatan berbasis pemakaian ulang terhadap pengembangan sistem perangkat lunak. Motivasinya adalah kefrustrasian bahwa pengembangan berorientasi objek tidak berkembang menjadi pemakaian ulang yang ekstensif sebagaimana diperkirakan pada awalnya. Komponennya lebih abstrak dari kelas objek dan dapat dianggap sebagai penyedia layanan yang berdiri sendiri. Ketika sistem membutuhkan layanan, sistem memanggil komponen untuk menyediakan layanan tersebut tanpa peduli di mana komponen tersebut berjalan atau bahasa pemrograman yang dipakai untuk mengembangkannya. 11
  • 12. Karakteristik Komponen yang dapat dipakai ulang 1. Komponen merupakan entitas yang dapat dieksekusi dan independen. Source code tidak tersedia sehingga komponen tidak dikompilasi dengan komponen sistem lain. 2. Komponen mengeluarkan interface mereka dan semua interaksi melalui inter-face tersebut. Interface komponen dinyatakan dalam operasi yang diparamete-risasi dan status internalnya tidak pernah diperlihatkan. 12
  • 13. Interface Komponen Komponen Interface requires Interface provides 13
  • 14. Komponen didefinisikan oleh interfacenya dan, dalam kasus yang paling umum, dapat dianggap memiliki dua interface yang berhubungan • 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 itu. Jika ini tidak disediakan, maka komponen tidak akan bekerja. 14
  • 15. Contoh : Komponen layanan pencetakan Print Sevice Interface requires Interface provides GetPDfile Print PrinterInt GetQueue Remove Transfer Register UnRegister 15
  • 16. Tingkat Abstaksi Meyer (1999) mengidentifikasi lima tingkat abstraksi: 1. Abstraksi fungsional dimana komponen mengimplementasi satu fungsi, misalnya fungsi matematika. 2. Pengelompokan kasual dimana komponen merupakan sekumpulan entitas yang ber-hubungan longgar (loosely related) yang mungkin berupa deklarasi data, fungsi, dsb. 3. Abstraksi data dimana komponen merepresentasikan abstraksi data atau kelas pe-rangkat lunak bahasa berorientasi objek. 4. Abstraksi cluster dimana komponen merupakan sekumpulan kelas yang berhubungan yang bekerja sama. Kelas-kelas ini kadang-kadang dinamakan kerangka kerja. 5. Abstraksi sistem dimana komponen merupakan sistem yang sepenuhnya berdiri sendiri. 16
  • 17. Pengembangan Berorientasi Komponen Pengembangan berorientasi komponen dapat diintegrasikan ke dalam proses pengembangan sistem dengan menggunakan kegiatan pemakaian ulang yang spesifik Rancangan Cari komponen Spesifikasi Pakai komponen arsitektur yang dapat Komponen yang ditemukan sistem dipakai ulang Proses pemakaian ulang oportunistik 17
  • 18. Proses implementasi sistem dengan menggunakan komponen biasanya merupa-kan proses pembuatan prototipe atau proses pengembangan inkremental. Bahasa pemrograman standar seperti Java dapat digunakan dengan komponen pada library yang direferensi dari program. Alternatifnya (dan lebih umum) digunakan bahasa scripting yang khusus dirancang untuk integrasi komponen yang dapat dipakai ulang untuk mendukung pengembangan program yang cepat. 18
  • 19. Pengembangan dengan Pemakaian Ulang Modifikasi Buat garis besar Cari komponen persyaratan menurut persyaratan yang dapat komponen yang sistem dipakai ulang didapat Rancang sistem Cari komponen Perancangan dengan memakai yang dapat arsitektural komponen yang dipakai ulang dapat dipakai ulang 19
  • 20. Kerangka Kerja Aplikasi Pemakaian ulang paling baik didukung pada proses pengembangan berorientasi objek melalui abstraksi yang tidak terlalu detil, yang disebut sebagai kerangka kerja (framework) Kerangka kerja (atau kerangka kerja aplikasi) merupakan desain subsistem yang terdiri dari sekumpulan kelas yang abstrak dan konkret, dan berbagai interface di antara mereka (Wirfs-Brock dan Johnson, 1990). 20
  • 21. Kelas Kerangka Kerja Fayad dan Schmidt (1997) mengidentifikasi tiga kelas kerangka kerja: 1. Kerangka kerja infrastruktur sistem yang mendukung pengembangan infrastruktur sistem seperti komunikasi, interface user dan compiler (Schmidt, 1997). 2. Kerangka kerja integrasi middleware (perangkat menengah) yang terdiri dari satu set standar dan kelas objek yang berhubungan yang mendukung komunikasi dan pertukaran informasi komponen. 3. Kerangka kerja aplikasi perusahaan yang berhubungan dengan domain aplikasi yang spesifik seperti sistem telekomunikasi atau finansial (Baumer et al., 1997). Kerangka-kerangka kerja ini memiliki pengetahuan domain aplikasi dan mendukung pengembangan aplikasi end-user. 21
  • 22. Kerangka Kerja Model-View-Controller Lihat message Input user Status view modifikasi Status kontroler Metode View Metode kontroler Query dan Edit model update model Status model Metode model 22
  • 23. MVC Kerangka kerja ini pada awalnya diusulkan pada tahun 1980-an sebagai pendekatan terhadap perancangan GUI yang memungkinkan presen-tasi multipel dart sebuah objek dan gaya interaksi yang berbeda dengan setiap presentasi ini. Kerangka kerja MVC mendukung presentasi data dengan cara-cara yang berbeda dan interaksi yang terpisah dengan setiap presentasi ini. Ketika data dimodifikasi melalui salah satu part presentasi tersebut, semua presentasi lain di-update. 23
  • 24. Pemakaian Ulang Produk COST COST, Commercial Off-The-Shelf Systems merupakan komponen- komponen dari sistem pemakaian ulang yang ditawarkan oleh vendor pihak ketiga. 24
  • 25. Masalah Integrasi COST Boehm (1999) membahas empat masalah dengan integrasi sistem COTS : 1. Tidak adanya kontrol terhadap fungsionalitas dan kinerja. 2. Masalah dengan kemampuan antar operasi sistem COTS. 3. Tidak ada kontrol terhadap evolusi sistem. 4. Dukungan dari vendor COTS. 25
  • 26. Keuntungan COST Keuntungan pemakaian ulang produk COTS sangat signifikan karena sistem-sistem ini memberikan begitu banyak fungsio-nalitas bagi pemakai ulang. Usaha implementasi yang berbulan-bulan atau bahkan bertahun-tahun dapat dipersingkat jika sistem yang ada dipakai ulang dan waktu pengembangan sistem pun diperkecil secara drastis. 26
  • 27. Pengembangan Komponen Untuk Pemakaian Ulang Proses pengembangan komponen yang ideal harus merupakan proses berbasis pengalaman, di mana komponen pemakaian ulang khusus dibuat dari komponen yang ada yang telah dipakai ulang dengan cara yang oportunis. Dengan meng-gunakan pengetahuan mengenai masalah pemakaian ulang dan adaptasi komponen yang dibutuhkan untuk mendukung pemakaian ulang, versi komponen yang lebih generik, yang lebih dapat dipakai ulang, dapat dibuat. 27
  • 28. Karakteristik Komponen yang Dapat Dipakai Ulang 1. Komponen harus merefleksikan abstraksi domain yang stabil. Abstraksi do-main yang stabil merupakan konsep mendasar pada domain aplikasi yang berubah perlahan. 2. Komponen harus menyembunyikan cara statusnya direpresentasikan dan harus menyediakan operasi yang memungkinkan status tersebut diakses dan di-up-date. 3. Komponen harus seindependen mungkin. Idealnya, sebuah komponen harus berdiri sendiri sehingga komponen tidak memerlukan komponen lain untuk beroperasi. 4. Semua eksepsi harus merupakan bagian dari interface komponen. Komponen tidak boleh menangani eksepsi sendiri karena aplikasi yang berbeda akan memiliki persyaratan yang berbeda untuk penanganan eksepsi. 28
  • 29. Kerabat Aplikasi Salah satu pendekatan yang paling efektif bagi pemakaian ulang didasarkan sekitar kerabat aplikasi. Sebuah kerabat aplikasi atau jalur produk merupakan satu set aplikasi yang memiliki arsitektur spesifik domain Namun demikian, setiap aplikasi khusus merupakan spesialisasi dalam satu hal. Inti umum dari kerabat aplikasi dipakai ulang setiap kali dibutuhkan aplikasi bare. Pengembangan barn bisa melibatkan penulisan beberapa komponen tambahan dan adaptasi beberapa komponen pada aplikasi untuk memenuhi permintaan baru. 29
  • 30. Kerabat Aplikasi yang dapat Dikembangkan 1. Spesialisasi platform, di mana berbagai versi aplikasi dikembangkan untuk ber-bagai platform. 2. Spesialisasi konfigurasi, di mana berbagai versi aplikasi dibuat untuk menangani berbagai peranti periferal. 3. Spesialisasi fungsional, di mana berbagai versi aplikasi dibuat untuk pelanggan dengan persyaratan yang berbeda. 30
  • 31. Library user access Add Delete Query Browse Admin Report Issue Return Users Resource Screen spec. Report spec. desc. Library Holdings Database Sistem perpustakaan 31
  • 32. Lankah-Langkah Proses Generik 1. Elisitasi persyaratan stakeholder yang didasarkan atas proses rekayasa persyaratan normal. 2. Pilih anggota kerabat yang paling sesuai. Persyaratan dianalisis dan anggota kerabat yang paling sesuai untuk persyaratan-persyaratan ini dipilih untuk dimodifikasi. 3. Negosiasi ulang persyaratan. Sementara makin banyak muncul detil perubahan yang dibutuhkan bagi sistem yang telah ada dan proyek direncanakan 4. Adaptasi sistem yang sudah ada. Modul-modul baru dikembangkan untuk sistem yang sudah ada dan modul-modul sistem yang telah ada, diadaptasi untuk memenuhi persyaratan-persyaratan baru. 5. Serahkan anggota kerabat yang baru. Anggota kerabat aplikasi yang baru diserahkan kepada pelanggan. 32
  • 33. Pengembangan Anggota Kerabat Negosiasi ulang persyaratan Esilitasi Pilih anggota persyaratan kerabat yang stakeholder paling sesuai Serahkan Adaptasi sistem anggota yang sudah ada kerabat baru 33
  • 34. Pola Perancangan Pola rancangan (Gamma et al., 1995) diturunkan dari ide yang dikemukakan oleh Christopher Alexander (Alexander et al., 1977), yang mengusulkan bahwa ada pola tertentu pada rancangan pembangunan yang umum dan sekaligus memaskan dan efektif. 'Pola' merupakan deskripsi masalah dan inti solusinya sehingga solusi tersebut dapat dipakai ulang pada setting yang berbeda. Pola ini tidak merupakan spesifikasi yang rinci. Melainkan, Anda dapat menganggapnya sebagai deskripsi dari kebijaksanaan dan pengalaman yang terakumulasi. Pola ini merupakan solusi terhadap masalah umum yang telah diuji dengan baik. 34
  • 35. Elemen Penting Pola Rancangan Gamma et al. (1995) mendefinisikan empat elemen yang penting pada pola rancangan: 1. Nama yang merupakan referensi yang bermakna terhadap pola. 2. Deskripsi area masalah yang menjelaskan kapan pola tersebut dapat diterapkan. 3. Deskripsi solusi yang mendeskripsikan bagian-bagian solusi perancangan, hu-bungannya dan tanggung jawabnya. 4. Pernyataan konsekuensi-hasil dan pertukaran-penerapan pola tersebut. Pernyataan ini digunakan untuk membantu perancang memahami apakah suatu pola dapat diterapkan secara efektif pada suatu situasi tertentu. 35