• Tidak ada hasil yang ditemukan

SOFTWARE ENGINEERING

N/A
N/A
Protected

Academic year: 2021

Membagikan "SOFTWARE ENGINEERING"

Copied!
43
0
0

Teks penuh

(1)
(2)

SOFTWARE ENGINEERING

(REKAYASA PERANGKAT LUNAK)

PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO

(3)

 Memahami kelebihan dan kekurangan utama dari

arsitektur sistem terdistribusi

 Memahami berbagai pendekatan terhadap

pengembangan sistem terdistribusi

 Memahami perbedaan antara arsitektur client-server

dengan objek terdistribusi

 Memahami konsep object request broker dan

prinsip-prinsip yang mendasari standar CORBA

(4)

 Arsitektur multiprosesor

 Arsitektur Client-Server

 Arsitektur Objek Terdistribusi

 CORBA

(5)

Hampir semua sistem berbasis-komputer yang

besar, saat ini merupakan sistem terdistribusi

(sistem tersebar)

Kegiatan memproses informasi disitribusikan

kepada sejumlah komputer sebagai pengganti

komputer tunggal

Rekayasa Perangkat Lunak Terdistribusi sekarang

menjadi isu yang penting

(6)

Sistem Personal yang tidak terdistribusi dan dirancang untuk berjalan pada personel komputer atau workstation. Contoh : Word,Spreadsheet,grafis dll

Sistem embedded yang berjalan pada satu prosesor atau pada kelompok prosesor yang terintegrasi

 Sistem terdistribusi (tersebar) dimana perangkat lunak

sistem berjalan pada sekelompok prosesor yang bekerja

sama dan terintegrasi secara longgar, dengan

dihubungkan oleh jaringan

(7)

 Pemakaian bersama sumber daya

 Keterbukaan  Konkurensi  Skalabilitas  Toleransi kesalahan  Transparansi

Karakteristik Sistem

terdistribusi

(8)

 Kompleksitas

 Keamanan

 Kemampuan untuk dapat dikendalikan

 Tidak dapat diramalkan

Kerugian Sistem

Terdistribusi

(9)

Design issue Description

Resource

identification The resources in a distributed system are spread across differentcomputers and a naming scheme has to be devised so that users can discover and refer to the resources that they need. An example of such a naming scheme is the URL (Uniform Resource Locator) that is used to identify WWW pages. If a meaningful and universally understood identification scheme is not used then many of these resources will be inaccessible to system users.

Communications The universal availabilit y of the Internet and the efficient

implementation of Internet TCP/IP communication protocols means that, for most distributed systems, these are the most effective way for the computers to communicate. However, where there are specific requirements for performance, reliability etc. alternative approaches to communications may be used.

Quality of service The quality of service offered by a system reflects its performance, availabilit y and reliabilit y. It is affected by a number of factors such as the allocation of processes to processes in the system, the

distribution of resources across the system, the network and the system hardware and the adaptability of the system.

Software

architectures The software architecture describes how the applicationfunctionality is distributed over a number of logi cal components and how these components are distributed across processors. Choosing the right architecture for an application is essential to achieve the

(10)

 Arsitektur Client-Server

Sistem dapat dianggap sebagai satu set layanan yg

disediakan untuk Client. Server penyedia layanan, server dan client dilakukan berbeda.

 Arsitektur Objek Terdistribusi

Tidak ada perbedaan antara server dan client, sistem

dapat dianggap sebagai satu objek yang berinteraksi yang lokasinya tidak relevan. Tidak ada perbedaan antara server dan client

Arsitektur Sistem

Terdistribusi

(11)

 Perangkat lunak yang dapat menangani bagian-bagian

yang beragam agar dapat berkomunikasi dan bertukar data

 Istilah middleware mengacu kepada posisi

ditengah-tengah dari software ini diantara berbagai komponen sistem terdistribusi yang berbeda

Contoh :

Transaction processing monitors Data convertors

Communication controllers

(12)

Merupakan model sistem terdistribusi yang paling

sederhana

Sistem terdiri dari sejumlah proses yang dapat (tapi tidak

mesti) berjalan pada beberapa prosesor yang terpisah

 Model ini umum pada sistem real-time yang besar

Pendistribusian proses ke prosesor dapat ditentukan

sebelumnya atau bisa juga dikendalikan oleh dispatcher

yang memutuskan proses yang mana dialokasikan ke masing-masing prosesor

Arsitektur

(13)

Sistem Kontrol Lalu Lintas Multiprosesor

Traffic lights Light

control process

Traffic light control processor Traffic flow

processor

Operator consoles Traffic flow sensors

and cameras Sensor processor Sensor control process Display process

(14)

 Model Aplikasi dimana sekumpulan layanan

disediakan oleh Server dan sekumpulan Client yang membutuhkan layanan tersebut

 Klien tahu server dan server tidak perlu tahu client

nya

Klient dan server berada pada proses logikal

 Tidak harus ada pemetaan 1:1 antar proses dengan

prosesor pada sistem

(15)

Sistem Client - Server

s1 s2 s3 s4 c1 c2 c3 c4 c5 c6 c7 c8 c9 c1 0 c1 1 c1 2 Client process Server process

(16)

Komputer Pada Jaringan

Client/Server Network

Network SC1 SC2 CC1 CC2 CC3 CC5 CC6 CC4 Server computer Client computer s1 , s2 s3, s4 c5, c6, c7 c1 c2 c3, c4 c8, c9 c1 0, c1 1 , c1 2

(17)

 Contoh-contoh dari model client-server, dimana ada

beberapa server dan client. Masing-masing server menyimpan datanya sendiri dan setiap client bisa mengakses/menggunakan layanan pada tiap server. Client server merupakan arsitektur terdistribusi. Bisa digunakan secara efektif pada jaringan dengan

prosesor yang terdistribusi.

Keterangan Komputer Pada

(18)

 Lapisan Presentasi

Berhubungan dengan penyajian informasi ke user dan

dengan semua interaksi user

 Lapisan Pemrosesan Informasi

Berhubungan dengan implementasi logika aplikasi

Lapisan Manajemen Data

Berhubungan dengan semua operasi database

Arsitektur Lapisan

Aplikasi

(19)

Lapisan Aplikasi

Presentation layer

Application processing layer

(20)

Model Thin-client

Pada model ini semua pemrosesan aplikasi dan

manajemen data dilakukan pada server. Klien bertanggung jawab untuk menjalankan perangkat lunak presentasi

Model Fat-client

Pada model ini, server hanya bertanggung jawab

untuk manajemen data. Perangkat lunak pada klien mengimplementasi logika aplikasi dan interaksi

Thin Client dan Fat

Client

(21)

Thin Client dan Fat

Client

Thin-client model Fat-client model Client Client Server Data management Application processing Presentation Server Data management Presentation Application processing

(22)

 Model ini merupakan model yang paling sederhana

untuk digunakan ketika sistem warisan (legacy) sentral dikembangkan menjadi arsitektur Client-Server.

 Kekurangan terbesar dari model thin-client adalah

bahwa model tersebut menempatkan beban berat pemrosesan pada pada server dan jaringan

(23)

 Menggunakan kekuatan pemrosesan yang tersedia

dan mendistribusikan pemrosesan logika aplikasi dan presentasi kepada klien

 Server harus merupakan server transaksi yang

menangani semua transaksi database

Lebih rumit dibandingkan model thin client

terutama aspek manajemen.Aplikasi diinstal di semua client

(24)

Client-Server Untuk SistemATM

Account server Customer account database Tele-processing monitor ATM ATM ATM

(25)

 Pada arsitektur three-tier , tiap lapisan arsitektur

aplikasi dapat dieksekusi dengan prosessor yang terpisah

 Arsitektur ini mempunyai unjuk kerja yang lebih

baik dibandingkan pendekatan thin-client dan lebih sederhana mengelolanya dibandingkan pendekatan fat-client

 Arsitektur yang dapat dikembangkan- bila demands

bertambah , maka tinggal menambahA more scalable

(26)

Arsitektur Three-Tier Untuk Model

Client-Server

Client Server Data management Presentation Server Application processing

(27)

Sistem Internet Banking

Database server Customer account database Web server Client Client Client Client Account service provision SQL SQL query HTTP interaction

(28)

Kegunaan Arsitektur Client Server Yang

Berbeda

Architecture Applications

Two-tier C/S architecture with thin clients

Legacy system applications where separating application processing and data management is impractical

Computationally-intensive applications such as compilers with little or no data management

Data-intensive applications (browsing and querying) with little or no application processing.

Two-tier C/S

architecture with fat clients

Applications where application processing is provided by COTS (e.g. Microsoft Excel) on the client

Applications where computationally-intensive processing of data (e.g. data visualisation) is required.

Applications with relatively stable end-user functionality used in an environment with well-established system management

Three-tier or

multi-tier C/S architecture Large scale applications with hundreds or thousands of clients Applications where both the data and the application are volatile. Applications where data from multiple sources are integrated

(29)

Pada model Client-Server sistem terdistribusi, klien dan server berbeda  Klien menerima layanan dari server dan tidak dari klien lainnya

 Server dapat bertindak sebagai klien dan menerima layanan dari server lainnya

 Klien tidak meminta layanan dari klien

 Model ini membatasi fleksibilitas perancang sistem dalam arti perancang harus memutuskan kapan layanan diberikan

Pendekatan yang lebih umum bagi sistem terdistribusi adalah

menghilangkan perbedaan antara klien dan server, dan merancang arsitektur sistem sebagai arsitektur objek terdistribusi

Arsitektur Objek

Terdistribusi

(30)

Arsitektur Objek

Terdistribusi

Software bus o1 o2 o3 o4 o5 o6

(31)

 Sistem ini memungkinkan perancang sistem menunda

keputusan mengenai dimana dan bagaimana layanan harus disediakan

 Model ini merupakan arsitektur yang sangat terbuka yang

meungkinkan sumber day abaru ditambahkan jika perlu

 Sistem ini sangat fleksibel dan dapt dikembangkan dengan

mudah

 Rekonfigurasi sistem secara dinamis akan dimungkinkan

dengan objek berimigrasi melintasi jaringan bilamana

Keuntungan Model Arsitektur Sistem

Terdistribusi

(32)

 Sebagai model logika yang memungkinkan Anda

menstruktur dan mengorganisasikan sistem. Dalam hal ini , yang perlu dipikirkan mengenai bagaimana menyediakan fungsionalitas sistem hanya dalam hitungan layanan dan kombinasi layanan

 Sebagai pendekatan yang fleksibel terhadap sistem

klien-server. Dalam hal ini , model logika sistem merupakan model client-server, tetapi baik client maupun server direalisasikan sebagai objek terdistribusi yang

Penggunaan Arsitektur Objek

Terdistribusi

(33)

Sistem data-mining

Database 1 Database 2 Database 3 Integrator 1 Integrator 2 Visualiser Display Report gen.

(34)

 Data mining adalah contoh dari sistem arsitektur objek

terdistribusi

 Data mining akan mencari hubungan dalam sejumlah

database yang berbeda

 Objek integrator masing-masing dapat menangani

hubungan-hubungan khusus dan mengumpulkan informasi dari semua database untuk mencoba

menyimpulkan hubungannya

 Objek visualiser berinteraksi dengan objek integrator

untuk menghasilkan visualisasi atau laporan mengenai hubungan yang telah ditemui

(35)

CORBA adalah standar internasional untuk

Object

Request Broker

- middleware - untuk mengelola

komunikasi diantara objek yang didistribusikan

Ada beberapa implementasi dari CORBA yang

tersedia

DCOM [ Distributed Component Object Mode]

adalah alternatif lain dari CORBA yeng merupakan

produk Microsoft

(36)

 OMG mengusulkan agar aplikasi terdistribusi terbuat dari

sejumlah komponen :

Objek Aplikasi : yang dirancang dan diimplementasikan

untuk aplikasi ini

Objek Standar : yang didefinisikan oleh OMG untuk domain

khusus. Misalnya untuk keuangan/asuransi, e-comm, kesehatan dll.

Layanan CORBA : fundamental yang menyediakan layanan

komputasi terdistribusi dasar seperti direktori, manajemen sekuritas , dll.

(37)

Struktur Aplikasi

CORBA

CORBA services Object request broker

Domain

facilities CORBA facilitiesHorizontal Application

(38)

Objek CORBA merupakan enkapsulasi status dengan interface

yang terdefinisi dengan baik dan netral dalam hal bahasa yang dideskripsikan dalam IDL [interface definition language]

Model objek untuk objek aplikasi

Object Request Broker (ORB) yang menangani permintaan

akan layanan objek

Satu set layanan objek yang merupakan layanan umum dan

mungkin diperlukan oleh banyak aplikasi terdistribusi

Satu set komponen umum, yang dibangun diatas

(39)

Objek CORBA dapat dikomparasi , secara prinsip,

dengan objek di dalam C++ dan Java

Kedua mesti terpisah dan dinyatakan dengan IDL

Oleh karenanya diperlukan pemetaan dari IDL ke

bahasa pemrograman (C++, Java, etc.)

Dengan demikian object yang ditulis dengan

bahasa yang berbeda dapat berkomunikasi satu

dengan lainnya

(40)

 Layanan Penamaan dan Layanan Pertukaran

Memungkinkan objek mengacu ke dan menemukan

objek lain pada jaringan

 Layanan Pengumuman

Memungkinkan objek memberitahu objek lain telah

terjadi event

 Layanan Transaksi

Mendukung transaksi atomic dan rollback (kembali ke

asal) jika ada kesalahan

(41)

 Hampir semua sistem besar yang baru saat inni merupakan

sistem terdistribusi di mana perangkat lunak sistem

berjalan pada kelompok jaringan prosesor yang terintegrasi secara longgar (loose)

 Sistem terdistribusi dapat mendukung pemakaian bersama

sumber daya, keterbukaan, konkurensi, skalabilitas, toleransi kesalahan, dan transparansi

 Sistem client-server merupakan sistem terdistribusi di

mana sistem dimodelkan sebagai satu set layanan yang

(42)

 Pada sistem client-server, interface user selalu beroperasi

pada klien, dan manajemen data selalu disediakan oleh server yang dipakai bersama

 Pada arsitektur objek terdistribusi, tidak ada perbedaan

antara klien dan server. Objek memberikan layanan umum yang bisa dipanggil oleh objek lain . Pendekatan ini dapat dipakai untuk pendekatan Client-Server

(43)

Referensi

Dokumen terkait

Hukum Islam yang merupakan payung sandaran bagi umat islam dalam mengaplikasikan segala bentuk tindakan nyata dalam kesahariannya, sebagaimana kita ketahui

dengan memberikan obat-obatan dengan memberikan obat-obatan yang dapat memperpanjang hidup yang dapat memperpanjang hidup

6) Pembongkaran tumpatan pada kavitas. Penghalusan akses dan pengangkatan semua bahan pengisi lama dari kamar pulpa merupakan tahap yang paling penting dalam

Sehubungan dengan musim tanam yang sering kali terlambat, baik musim tanam pertama atau rendeng, dan musim tanan kedua atau sadon, maupun tanam pada musim

Bil ki hoş şeylerin en güzeli su ve süslerin en güzeli sürmedir.”130 44- Mukatil Bin Süleyman’dan; “Rasulullah sallallahu aleyhi ve sellem buyıurdu ki; “Her hangi bir

Maka Kebijakan, Rencana, Program yang dapat diidentifikasi menimbulkan dampak lingkungan yang dapat ditelaah untuk urusan Koperasi dan UMKM adalah berkaitan dengan Misi

Instabilitas panggul yang dapat dipalpasi, panjang tungkai yang tidak sama, dan lipatan kulit paha yang asimetris dapat ditemukan pada bayi baru lahir dengan dislokasi panggul,

Buat top_module yang mengintegrasikan kedua modul tersebut dengan nama kombinasional_top1. Definisi port masukan dan keluaran dari kombinasional_top ini