10 BAB Perancangan pada Perangkat Komponen
Oct 20, 2015
10BAB
Perancangan pada Perangkat Komponen
Tujuan perangcangan pada perangkat komponen adalah untuk menerjemah model
perancangan menjadi perangkat lunak operasional
Tujuan
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Aswar Ahmad D421 11 266
Bangunan pembentuk perangkat lunak komputer yang bersiafat modular.
AtauBagian sistem yang bersifat modular, dapat di-
deploy, dan dapat digantikan, yang membungkus implementasi dan
memperlihatkan sejumlah antarmuka
10.1. Apa Itu Komponen
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Aswar Ahmad D421 11 266
10.1.1. Pandangan Berorintasi Objek
Suatu komponen memuat di dalam sejumlah kelas yang saling berkolaborasi. Masing-masing
kelas di dalam suatu komponen telah dielaborasi dengan lengkap untuk melibatkan di dalamnya semua atribut dan operasi yang
relevan untuk implementasinya.
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Aswar Ahmad D421 11 266
Atribut kelas Analisis
PrintJob didefinisikan Sebagai komponen yang ada di dalam arsitektur perangkat lunak dan ia
dipresentasikan menggunakan notasi komponen UML2 seperti yang terlihat pada
gambar
Klik
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Aswar Ahmad D421 11 266
Elaborasi Sebuah Komponen RancanganAnalisis Class
Printjob
NumberOfPageNumberOfSidePapertypeMagnificationProductionFreaturesComputeJobCost()PassJobPrinter()
Printjob
ComputeJob
InitiateJob
Designcomponent
Elaborated design class
Printjob
NumberOfPageNumberOfSidePapertype PapeWeight PaperSize PaperColorMagnificationColorrequermentsProductionFreatures CollationOptions bindingOptions CoverStock Bleed PriorityTotalJobCostWOnumber
ComputePageCost()ComputePaperCost()ComputeProdCost()ComputeTotalJobCost()BuildWorkOrder()checkPriority()PassJobto Production()
<<Interface>>ComputeJob
ComputePageCost()ComputePaperCost()ComputeProdCost()ComputeTotalJob()
<<Interface>>ComputeJob
ComputePageCost()ComputePaperCost()ComputeProdCost()ComputeTotalJobCost()
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Aswar Ahmad D421 11 266
PrintJob
PrintJob memiliki 2 antarmuka1. computeJob : yang menyediakan
kemampuan perhitungan biaya pekerjaan pengecetakan
2. initiateJob : yang akan melewatkan pekerjaanpencetakan ke fasilitas produksi
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Aswar Ahmad D421 11 266
Sebuah komponen tradisional, juga sering disebut sebagai modul, berada dalam
arsitektur perangkat lunak
10.1.2. Pandangan Tradisional
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Aswar Ahmad D421 11 266
1. Sebagai komponen kendali yang mengkordinasi pemanggilan semua komponen ranah permasalahan yang lain
2. Sebuah komponen ranah permasalahan yang mengimplementasikan secara lengkap atau secara bagian fungsi yang diperlukan untuk pelanggan
3. sebuah komponen infrastuktur yang bertanggung jawab untuk fungsi-fungsi yang mendukung pemrosesan yang diperlukan dalam ranah permasalahan
Peran penting
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Aswar Ahmad D421 11 266
Diagram Struktur untuk Sistem TradisionalJob
management system
ReadPrint Job
data
SelectJobmgmtfungtion
DevelovJob cost
ComputeProd cost
Send JobTo
Production
BuildWork cover
Checkpriority
Pass job toProduction
ComputePaper cost
Compute Poge cost
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Perancangan pada Peringkat komponen untuk ComputePageCost
CompatePageCost
GetJobData
accessCostDB
Design component
PageCost
In: NumberPagesIn: NumberDocsIn: sides = 1, 2In: color = 1, 2, 3, 4In : page size = A, B, C, DOut : page costIn : job sizeIn : color = 1, 2, 3, 4In : page size = A, B, C, DOut : BPCOut : SF
GetJobData (numberpages, NumberDocs, Sides, color, pageSize, pageCost)accessCostDB(jobSize, color, pageSize. BPC,SF)ComputePageCost()
Job size (JS) = Numberpages * numberDocs;Lookup base page cost (BRP) -> AccessCostsDB (JS, color);Lookup size factor (SF) -> AccessCostsDB (JS, color, size)Job complexity factor (JCF) = 1 + [(sides-1)*sideCost + SF]pageCost = BPC * JCP
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Suatu katalog dari perencanaan yang sudah terbukti dari komponen-komponen pada
peringkat kode telah tersedia bagi kita pada saat pekerjaan perancangan berlangsung
10.1.3. Pandangan yang Berhubungan dengan Proses
10.1.1. Pandangan Berorientasi Objek
10.1.2. Pandangan Tradisional
10.1.3. Pandangan yang berhubungan dengan Proses
10.1. Apa Itu Kompnen
Tujuan
Aswar Ahmad D421 11 266
Perancangan Komponen-komponen
berbasis kelas
Perancangan komponen berbasis kelas
Pada perancangan peringkat komponen berbasis kelas berbasis elaborasi pada kelas yang bersifat spesifik terhadap rana permasalahan dan pada defenisi pengahalusan kelas infrastruktur yang ada pada model kebutuhan.
Niar khadijah D421 11 258
Prinsip-prinsip Perancangan Dasar
• OCP (Open-Closed Principle)
Niar khadijah D421 11 258
• Liskov Substitution Principle (LSP) ini menyarankan bahwa komponen-komponen yang menggunakan kelas dasar seharusnya dapat berfungsi dengan baik jika suatu kelas dari kelas dasar dimasukkan pada komponen itu.
• Dependency Inversion Principle (DIP) apabila suatu komponen semakin bergantung dengan komponen lainnya maka komponen tersebut semakin sukar untuk diperluas.
• Interface Segregation Principle (ISP) prinsip ISP menyarankan agar kita membuat antarmuka yang bersifat khusus untuk melayani setiap kategori utama klien, hanya operasi yang relevan pada suatu kategori klien tertentu yang harus dispesifikasi untuk klien yang bersangkutan.Niar khadijah D421 11 258
Prinsip pengemasan pada perancangan peringkat komponen yang disarankan oleh
Martin [Mar00] :
• Release Reuse Equevalency Principle ( REP )• Common Closure Principle ( CCP )• Common Reuse Principle ( CRP )
Niar khadijah D421 11 258
Panduan Perancangan pada yang disarankan oleh Ambler [Amb02b] :
• Komponen• Perancangan lantai dasar• Antarmuka• Kebergantungan dan pewarisan
Niar khadijah D421 11 258
Kohesi Lapisan
Niar khadijah D421 11 258
Kohesi adalah komponen-komponen yang berpikiran tunggal.
Kohesi perancangan komponen sistem berorientasi objek mengaplikasikan kelas hanya membungkus atribut dan operasi yang berhubungan satu sama lain kemudian membungkus atribut dan operasi yang dekat dengan kelas itu sendiri.
Niar khadijah D421 11 258
Jenis Kohesi yang didefenisikan Lethbridge & Laganiere [Let01] :
Fungsional operasi peringkat kohesi ini terjadi saat komponen melakukan komputasi sesuai dengan diharapkan, kemudian kembali dengan hasil tertentu.
Lapisan (layer) jenis kohesi ini terjadi ketika lapisan lebih tinggi mengakses layanan lapisan lebih awal, tetapi lapisan bawah tidak mengakses lapisan yang lebih tinggi.
Komunikasional semua operasi yang mengakses data yang sama didefenisikan dalam satu kelas, kelas yang berfokus pada kegiatan untuk melayani pertanyaan yang berkaitan dengan data tersebut.
Niar khadijah D421 11 258
Derajat Keterhubungan AntarKomponen
adalah pengurangan kualitatif tentang derajat bagaimana kelas-kelas saling terhubung satu sama lain. Saat kelas (komponen) lebih saling terhubung, derajat keterhubungan antar komponen juga bertambah.
Niar khadijah D421 11 258
Kategori derajat keterhubungan antarkelas/komponen didefinisikan
Lethbridge & Laganiere [Let01] sebagai berikut :
Keterhubungan isi Keterhubungan kendali Keterhubungan data Keterhubungan pemanggilan rutin Keterhungan penggunaan tipe data Keterhubungan inklusi atau impor Keterhubungan eksternal
Niar khadijah D421 11 258
MELAKUKAN PERANCANGAN PADA PERINGKAT KOMPONEN
MELAKUKAN PERANCANGAN PADA PERINGKAT KOMPONEN
Langkah-langkah merepresentasikan pekerjaan yang dilakukan pada perancangan pada peringkat komponen :
1. Mengidentifikasi semua Kelas-kelas perancangan yang berhubungan dengan ranah permasalahan.
2. Mengelaborasi semua kelas-kelas perancangan yang berhubungan dengan infrastruktur.
3. Mengelaborasi semua kelas-kelas yang tidak di perlukan sebagai kelas yang dapat digunakan ulang.
Muh. Imam Mirza D421 11 276
Langkah 3 terbagi menjadi empat langkah yaitu :
• Spesifikasi rincian pesan saat kelas-kelas atau komponen-komponen berkolaborasi.
Gambar 10.6 memperlihatkan bagaimana suatu diagram kolaborasi sederhana untuk sistem pencetakan.
Muh. Imam Mirza D421 11 276
• Mengidentifikasi antarmuka-antarmuka yang sesuai untuk masing-masing komponen.
• Elaborasi atribut-atribut dan definisikan tipe data dan struktur data yang di perlukan untuk mengimplementasikan.
Gambar 10.7 memperlihatkan proses faktorisasi dan defenisi kelas-kelas untuk Printjob
Muh. Imam Mirza D421 11 276
• Deskripsikan aliran pemrosesan di dalam masing-masing operasi secara rinci.
Gambar 10.8 Diagram aktivitas UML untuk compute Papercost
Muh. Imam Mirza D421 11 276
4. Mendeskripsikan sumber-sumber data persisten dan mengidentifikasi kelas-kelas yang dibutuhkan untuk mengelolanya.
5. Mengembangkan dan mengelaborasi representasi perilaku untuk kelas komponen.
Gambar 10.9 mengindikasi bahwa kelas printjob pada dasarnya bergantung pada du persetujuan pelanggan atas biaya dan jadwal untu.k pekerjaan percetakan.
Muh. Imam Mirza D421 11 276
6. Elaborasi diagram penebaran komponen untuk menyediakan rincian implementasi tambahan.
7. Lakukan refaktorisasi setiap representasi perancangan pada peringkat komponen dan pertimbangkanlah selalu alternatif yang mungkin.
Selain itu, kita tidak cukup hanya dengan satu model itu, kembangkan alternatif model pencangan yang lainnya.
Muh. Imam Mirza D421 11 276
zul
PERANCANGAN KOMPONEN-KOMPONEN TRADISIONAL
“ Setiap konstruksi memiliki struktur logika yang dapat diperkirakan hasilnya dan akan dijalankan mulai dari atas dan akan diakhiri dibagian bawah, hal ini memungkinkan para
pembaca program komputeryang dibuat dapat mengikuti aliran-aliran program dengan
cara yang relatif lebih mudah”
Tonny Christian P.PD D421 11 277
10.5.1 NOTASI PERANCANGAN SECARA GRAFIS
“ Gambar seringkali lebih berarti dari ribuan kata”, meski demikan penting untuk mengetahui yang mana yang harus berupa gambar dan yang mana harus dituliskan dalam bentuk 1000 kata. Tidak ada keraguan sedikit pun bahwa perkakas grafik, seperti diagram aktivitas UML atau diagram alir (flowchart) bisa menyediakan pola gambar yang sangat bermanfaat, yang secara mudah memperlihatkan rincian-rincian yang sifatnya prosudural.
Tonny Christian P.PD D421 11 277
KONSTRUKSI DIAGRAM ALIR
Tonny Christian P.PD D421 11 277
10.5.2 NOTASI PERANCANGAN TABULAR
“Pada banyak perangkat lunak aplikasi, suatu modul tertentu mungkin diperlukan untuk melakukan evaluasi-evaluasi atas kombinasi kondisi-kondisi yang kompleks dan kemudian memilih tindakan-tindakan yang sesuai berdasarkan kondisi-kondisi tersebut”.
Tonny Christian P.PD D421 11 277
TATA NAMA TABEL KEPUTUSAN
Tonny Christian P.PD D421 11 277
10.5.3 BAHASA PERANCANGAN PROGRAM
“Bahasa perancangan program (program design lenguage [PDL]) yang seringkali juga dinamakan sebagai bahasa inggris terstruktur atau pseudocode, pada dasarnya menggabungkan struktur logika bahasa pemograman dengan kemampuan bahasa alamiah (bahasa inggris) untuk membentuk pernyataan ekspresif yang berbentuk bebas”.
Tonny Christian P.PD D421 11 277
TATA NAMA TABEL KEPUTUSAN
Tonny Christian P.PD D421 11 277
Pengembangan Berbasis Komponen
10.6
Rahmat Ramadhan D421 11 278
• Penggunaan ulang komponen merupakan ide yang
baru sekaligus Lama.
• Menggunakan ide-ide, abstraksi, serta proses-proses
sejak awal komputasi dilakukan. Pendekatan baru
adalah pada penggunaan ulang komponen
Rahmat Ramadhan D421 11 278
Computer Based Software Engineering (CBSE)
• Menekankan pada perancangan dan konstruksi sistem.
• Menggunakan komponen perangkat lunak yang dapat digunakan ulang.
• Integrasi komponen yang digunakan ulang sehingga membentuk sistem yang lengkap . [Clement]
Rahmat Ramadhan D421 11 278
Rekayasa Ranah10.6.1
Sasaran :
Mengidentifikasi, mengontruksi, pembuatan katalog dan
menyebarkan sejumlah komponen pada perangkat lunak dalam
ranah aplikasi.
Rahmat Ramadhan D421 11 278
Langkah-langkah :
1. Mendefinisikan ranah yang akan diteliti.
2. Melakukan penggolongan item.
3. Mengumpulkan contoh aplikasi.
4. Melakukan analisis aplikasi.
5. Mengembangkan Model kebutuhan untuk kelas analisis.
Rahmat Ramadhan D421 11 278
Kualifikasi Komponen, Adaptasi, dan Komposisi
10.6.2
1. Kualifikasi Komponen.
Memastikan komponen-komponen dapat melaksanakan
Fungsi yang diperlukan, Sesuai dengan gaya arsitektur yang
telah ditentukan, dan memperlihatkan karakteristik kualitas.
Rahmat Ramadhan D421 11 278
Faktor-faktor yang perlu diperhatikan :
• Application Programming Interface (API)
• Pengembangan dan perkakas integrasi.
• Lingkungan saat komponen dijalankan.
• Kebutuhan-kebutuhan layanan.
• Fitur-fitur keamanan.
• Asumsi tentang Perancangan.
• exception handling
Rahmat Ramadhan D421 11 278
2. Adaptasi Komponen.
Implikasi dari “kemudahan diintegrasikan” adalah:
1. Metode yang konsisten diimplementasikan untuk semua komponen
yang dapat digunakan ulang,
2. Aktivitas-aktivitas yang bersifat umum,
3. Interface di dalam arsitektur sistem dan interface untuk lingkungan
eksternal diimplementasikan dengan cara yang konsisten
Rahmat Ramadhan D421 11 278
3. Komposisi Komponen
Pekerjaan Komposisi Komponen yang dapat digunakan ulang :
• Perakitan komponen.
• Komponen yang mampu beradaptasi dengan lingkungan aplikasi
• Mengisi arsitektur yang diterapkan pada aplikasi yang dikembangkan
Rahmat Ramadhan D421 11 278
• OMG/COBRA
(Object Management Group/Common Requets Broker Architecture)
• Microsoft COM dan .NET.
• Komponen JavaBeans dari Sun
Rahmat Ramadhan D421 11 278
ANALISIS DAN PERANCANGAN UNTUK PENGGUNAAN ULANG
10.6.3
Hal yang perlu dalam perancangan komponen :
1. Data Standar
• Ranah aplikasi harus diivestigasi,
• Struktur data global yang bersifat baku diidentifikasi
secara saksama.
Rahmat Ramadhan D421 11 278
2. Protokol antar muka yang bersifat baku
• Antarmuka-antarmuka antarmodul,
• Perancangan antarmuka eksternal secara teknis,
• Antarmuka antar manusia-komputer.
3. Pola-pola Program
• Pemilihan gaya arsitektural sebagai pola dasar sangat
berpengaruh pada perancangan sistem baru yang dapat
digunakan ulang.
Rahmat Ramadhan D421 11 278
KLASIFIKASI DAN PEMANGGILAN KOMPONEN-KOMPONEN
10.6.4
Klasifikasi memungkinkan untuk menemukan dan memanggil
kandidat komponen yang akan digunakan ulang.
Rahmat Ramadhan D421 11 278
untuk efektifnya, lingkungan penggunaan-ulang harus berkarakteristik:
1. Suatu Basis data Komponen yang memungkinkan pemanggilan
2. Sistem pengolaan pustaka komponen yang menyediakan akses
basisdata
3. Suatu sistem pemanggilan komponen perangkat lunak.
4. Perkakas CBSE yang mendukung integrasi komponen
Rahmat Ramadhan D421 11 278