• Tidak ada hasil yang ditemukan

COMPONENT BASED SOFTWARE ENGINEERING

N/A
N/A
Protected

Academic year: 2021

Membagikan "COMPONENT BASED SOFTWARE ENGINEERING"

Copied!
28
0
0

Teks penuh

(1)

http://www.free-powerpoint-templates-design.com

COMPONENT

BASED SOFTWARE

ENGINEERING

(2)

Poin Pembahasan

• Definisi CBSE • Komponen CBSE

• Karakteristik komponen CBSE • Model-model CBSE

• Proses CBSE

• Komposisi Komponen (Component Composition) • Tipe-tipe komposisi

• Sequential composition • Hierarchical composition • Additive composition

(3)
(4)

SEJARAH CBSE

1968

• Garmish mencetuskan ide yang bertitel Mass Produced Software Components pada konferensi NATO

• Douglas McIlroy kemudian mencetuskan ide bahwa software seharusnya dibangun dari komponen-komponen. • Brad Cox dari Stepstone mengembangkan konsep dari

Douglas dengan software IC-nya

1990

• IBM memimpin sebuah proyekdengan nama System Object Model (SOM) yang kemudian ditiru oleh Microsoft melalui OLE dan COM

(5)

DEFINISI CBSE

CBSE = COMPONENT BASED SOFTWARE ENGINEERING

Menurut Councill dan Pressman

• Sebuah komponen perangkat lunak adalah elemen software yang sesuai

dengan model komponen dan dapat mandiri digunakan dan terdiri tanpa

modifikasi sesuai dengan standar komposisi.

Menurut Clemen Szyperski

• Sebuah komponen perangkat lunak adalah unit komposisi dengan

antarmuka kontrak yang ditentukan dan konteks eksplisit hanya dependensi.

Sebuah komponen perangkat lunak dapat digunakan secara independen dan

tunduk pada komposisi oleh pihak ketiga.

(6)

TUJUAN CBSE

untuk mengembangkan sebuah sistem yang besar dengan menggabungkan komponen -komponen yang telah dikembangkan sebelumnya sehingga dapat mengurangi waktu dan biaya dalam pengembangan suatu perangkat lunak

(7)

TUJUAN CBSE

Untuk membuat komponen software yang reusable secara

efektif, maka komponen harus :

1.

Didokumentasikan secara lengkap

2.

Testing secara menyeluruh

3.

Check validasi dengan beragam inputan

4.

Menerima feedback error yang berguna

5.

Dibangun dengan hati-hati sebab penggunaannya tidak kasat mata

6.

Mekanisme kompensasi yang menguntungkan untuk developer

(8)

PRINSIP CBSE

Seperti dikutip oleh Herri Setiawan dan Edi Winarko, menurut I

Kaur

(2009)

CBSE

umumnya

mewujudkan

prinsip-prinsip

pengembangan perangkat lunak fundamental berikut:

1.

Independent Software Development, yaitu sistem perangkat lunak besar

yang memisahkan pengembang dan pengguna komponen melalui

abstrak

dan

spesifikasi

implementasi-netral

antarmuka

perilaku

komponen;

2.

Reusability, yaitu merancang dan merakit komponen yang sudah ada (di

dalam atau di seluruh domain) dalam mengembangkan komponen baru;

3.

Software Quality, yaitu penjaminan kualitas perangkat lunak yang

terukur; dan

(9)

KARAKTERISTIK CBSE

Karakteristik komponen antara lain sebagai berikut :

Standarisasi : Setelah model komponen standar

Independent : Dapat digunakan tanpa Adapators

Composable : Interaksi eksternal menggunakan antarmuka

publik

Deployable : Stand-alone entitas

(10)

SPESIFIKASI CBSE

 Pengembangan berorientasi

komponen dapat diintegrasikan ke dalam proses pengembangan system dengan menggunakan kegiatan pemakaian ulang komponen yang spesifik

sebagaimana ditunjukkan pada gambar.

 Spesifikasi ini digunakan untuk

menemukan komponen yang akan dipakai ulang.Spesifikasi ini mungkin dimasukkan pada tingkat arsitektural atau pada tingkat perancangan yang lebih rinci

(11)
(12)

PROSES CBSE (1)

 alur pengembangan model proses

Component-based software

engineering menurut Ivica, Stig, dan Michael dalam jurnal yang berjudul “Component-based Development Process and Component Life Cycle”

1. Definisi kebutuhan sistem 2. Perancangan sistem

(13)

PROSES CBSE (1)

DEFINISI KEBUTUHAN SISTEM

Model proses CBSE ini dimulai dari tahap definisi dan spesifikasi kebutuhan sistem

seperti model proses lainnya. Pada model pengembangan perangkat lunak noncomponent-based proses akan diteruskan pada tahap perancangan unit, implementasiunit dan pengujian unit yang dijelaskan pada kotak dengan warna arsiran pada Gambar. Pada tahap ini salah satu kegiatan yang penting adalah untuk menganalisis kemungkinan mewujudkan solusi yang memenuhi kebutuhan sistem. Pendekatan ini menyiratkan bahwa perlu untuk menganalisis apakah persyaratan ini dapat dipenuhi oleh komponen yang tersedia. Karena tidak mungkin bahwa komponen yang sesuai dapat selalu ditemukan.

(14)

PROSES CBSE (1)

PERANCANGAN SISTEM

Seperti dengan fase definisi kebutuhan sistem, perancangan sistem sangat terkait

dengan ketersediaan komponen. Model komponen tertentu membutuhkan

arsitektur framework tertentu dan aplikasi sistem tertentu harus menggunakan framework tersebut juga. Untuk alasan ini proses perancangan erat terhubung pada ketersediaan komponen. Pada tahap pencarian komponen harus benar-benar dilihat dari perancangan sistem itu sendiri, karena dalam suatu repository terdapat banyak komponen yang tidak perlu untuk dipilih. Maka dalam pencarian komponen harus dilakukan proses evaluasi supaya komponen yang dipilih sesuai dengan kebutuhan sistem. Untuk mengetahui apakah sebuah komponen sesuai dengan definisi kebutuhan dan perancangan sistem dapat dilihat dari interface masing-masing komponen. Suatu komponen yang tersedia dalam repository biasanya sudah teruji dan dapat diadopsi sebelum dapat diintegrasikan dengan sistem yang lain.

(15)

PROSES CBSE (1)

IMPLEMENTASI DAN PENGUJIAN SISTEM

 Pada implementasi sistem meliputi proses integrasi antara infrasktuktur komponen

standar dalam suatu framework dan aplikasi berbasis komponen itu sendiri. Untuk dapat mengintegrasikan antara komponen dari standar framework dengan aplikasi berbasis komponen yaitu dengan cara melakukan konfigurasi sesuai dengan peraturan yang ada pada framework tersebut.

(16)

PROSES CBSE (2)

Domain Analysis Software Architecture Development Reusable Artifact Development Domain Engineering Domain model Structural Model Repository Reusable Artifacts/ Components Software Engineering User Requirements System Analysis Specification & Design Construction System Spec Analysis & Design Models Application Software

(17)

PROSES CBSE (2)

 Keterangan gambar :

• Domain engineering menciptakan model domain bagi aplikasi yang akan

digunakan untuk menganalisis kebutuhan pengguna. Identifikasi,

pembangunan, pengelompokan dan pengalokasikan komponen-komponen software supaya bisa digunakan pada sistem yang ada dan yang akan datang.

• Software engineering (component-based development) melakukan analisis

terhadap domain model yang sudah ditetapkan kemudian menentukan spesifikasi dan merancang berdasarkan model struktur dan spesifikasi sistem,

kemudian melakukan pembangunan software dengan menggunakan

komponen-komponen yang sudah ditetapkan berdasarkan analisis dan

rancangan yang dihasilkan sebelumnya hingga akhirnya menghasilkan software.

(18)
(19)

TIPE-TIPE KOMPOSISI

Sequential composition

dimana komponen dijalankan secara berurutan. Hal ini

melibatkan antarmuka yang disediakan oleh masing-masing

komponen.

Hierarchical composition

dimana salah satu komponen panggilan pada layanan lain. Hal

ini menyediakan antarmuka satu komponen dan antarmuka

yang lain.

Additive composition

dimana interface dari dua komponen diletakkan

(20)

ADAPTOR KOMPONEN

 Mengatasi masalah ketidakcocokan komponen dengan mendamaikan antarmuka dari

komponen yang terdiri. Berbagai jenis adaptor yang diperlukan tergantung pada jenis komposisi. Sebuah addressfinder dan komponen mapper dapat terdiri dari adaptor yang menempatkan kode pos dari alamat dan melewati ini untuk komponen mapper.

(21)

IDENTIFIKASI KOMPONEN

Trust

Anda harus dapat mempercayai pemasok komponen. Paling-paling,

komponen yang tidak terpercaya tidak dapat beroperasi seperti yang

diiklankan; paling buruk, dapat melanggar keamanan Anda.

Requirements

Kelompok yang berbeda dari komponen akan memenuhi kebutuhan

yang berbeda.

Validation

Komponen spesifikasi mungkin tidak cukup rinci untuk

(22)

ABSTRAKSI KOMPONEN

Komponen-komponen bisa diakses pada tingkat abstraksi yang

berbeda-beda. Mayer (1999) mengidentifikasi lima tingkat

anstraksi :

1.

Abstraksi fungsional

2.

Pengelompokan kasula

3.

Abstraksi data

4.

Abstraksi cluster

5.

Abstraksi system

(23)

ABSTRAKSI KOMPONEN

ABSTRAKSI FUNGSIONAL

Komponen mengimplementasi satu fungsi, misalnya fungsi

matematika. Pada intinya, interface provides merupakan fungsi

itu sendiri.

(24)

ABSTRAKSI KOMPONEN

PENGELOMPOKAN KASULA

Komponen merupakan sekumpulan entitas yang berhubungan

longgar (loosely related) yang mungkin berupa deklarasi data,

fungsi, dan sebagainya. Interface provides terdiri dari nama

semua entitas pada pengelompokan tersebut.

(25)

ABSTRAKSI KOMPONEN

ABSTRAKSI DATA

Komponen merepresentasikan abstraksi data atau kelas

perangkat lunak bahasa berorientasi objek. Interface provides

terdiri dari operasi untuk membuat, memodifikasi, dan

mengakses abstraksi data.

(26)

ABSTRAKSI KOMPONEN

ABSTRAKSI CLUSTER

Komponen merupakan sekumpulan kelas yang berhubungan

yang bekerja sama. Kelas-kelas ini kadang-kadang dinamakan

kerangka kerja. Interface provides merupakan komposisi semua

interface provides dari objek-objek yang membangun kerangka

kerja tersebut.

(27)

ABSTRAKSI KOMPONEN

ABSTRAKSI SYSTEM

Komponen merupakan system yang sepenuhnya berdiri sendiri.

Pemakaian ulang abstraksi tingkat system kadangkala disebut

pemakaian ulang produk COTS. Interface provides adalah apa yang

disebut API (Application Progamming Interface) yang didefinisikan

untuk memungkinkan program mengakses command dan operasi

system.

(28)

Thank you

Referensi

Dokumen terkait

 Rekayasa perangkat lunak merupakan suatu proses rancang bangun perangkat lunak yang menggunakan kaidah ‐ kaidah ilmu, seperti prinsip, konsep, dan metode sehingga dihasilkan

Rekayasa yang dilakukan harus sesuai dengan keinginan user, walupun terkadang diperlukan kreativitas perekayasa untuk membuat perangkat lunak. 

perangkat lunak ,dan yang terkait dengan proses perangkat lunak ,dan yang terkait dengan

• Membangun pondasi untuk proses perancangan perangkat lunak dengan mengidentifikasi sebagian kecil kerangka aktifitas yang dapat diaplikasikan ke semua proyek perangkat lunak. •

program yang digunakan untuk mendukung semua kegiatan perangkat lunak seperti analisis persyaratan, permodelan sistem, debugging, dan pengujian..  CASE bisa terdiri dari :

 Proses dimana persoalan/kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak melalui suatu rangkaian aktivitas tertentu sesuai model proses, metode, dan alat bantu

Pada perancangan animasi 3D simulasi pelabuhan ini dibutuhkan beberapa perangkat lunak (software) yang akan digunakan baik sebagai perangkat lunak utama perancangan maupun

Dokumen ini membahas tentang pengertian perangkat lunak ("software"), jenis-jenis perangkat lunak, dan siklus