• Tidak ada hasil yang ditemukan

Software Architecture. Muhammad Bagir, S.E., M.T.I

N/A
N/A
Protected

Academic year: 2021

Membagikan "Software Architecture. Muhammad Bagir, S.E., M.T.I"

Copied!
33
0
0

Teks penuh

(1)

Software

Architecture

Muhammad Bagir, S.E., M.T.I

(2)

Software Architecture

Architectural Design

Proses untuk mengidentifikasi subsistem

yang menyusun sebuah sistem

Mendefinisikan framework komunikasi

dan kontrol sub-sistem

Software Architecture

Deskripsi sistem yang menghasilkan

(3)

Proses Architectural Design

System structuring

 Sistem yang dibagi menjadi beberapa subsistem  Komunikasi subsistem dibangun

Control modeling

 Model keterhubungan kontrol antar komponen

sistem yang dibangun

Modular decomposition

 Mengenali subsistem yang dibagi menjadi

(4)

Architectural Models

Static structural model

 Menunjukkan komponen-komponen sistem

utama

Dynamic process model

 Menunjukkan struktur proses sistem

Interface model

 Mendefinisikan interface subsistem

Relationships model

(5)

CASE Repository Model

Project repository Design

translator Programeditor Design

editor generatorCode

Design

(6)

Call-Return Model

Routine 1.2

Routine 1.1 Routine 3.1 Routine 3.2 Routine 2 Routine 3

Routine 1

Main program

(7)

Real-Time System Control Model

System contr oller

User

interface handlerFault Computation processes Actuator processes Sensor processes

(8)

Selective Broadcasting Model

Sub-system 1

Event and message handler Sub-system

(9)

Interrupt-Driven Control Model

Handler

1 Handler2 Handler3 Handler4

Process

1 Process2 Process3 Process4 Interrupts

Interrupt vector

(10)

Compiler Model

Lexical analysis Syntactic analysis Semantic analysis Code generation Symbol table

(11)

OSI Reference Model

Application Presentation Session Transport Network Data link Physical 7 6 5 4 3 2 1 Communications medium Network Data link Physical Application Presentation Session Transport Network Data link Physical Application

(12)

Distributed Systems

Kebanyakan sistem komputer besar

diimplementasikan sebagai sistem

terdistribusi

Informasi juga didistribusikan melalui

beberapa komputer ketimbang

dipandang sebuah mesin tunggal

Distributed software engineering

(13)

System Types

Personal systems

 Didesain untuk berjalan pada sebuah sistem user

tunggal

Embedded systems

 Dapat berjalan pada sebuah prosesor tunggal  Dapat berjalan pada sekelompok processor

terintegrasi

Distributed systems

 System software berjalan pada sekelompok

processor yang bekerja sama terintegrasi yang dihubungkan oleh sebuah jaringan

(14)

Distributed Systems

Karakteristik

Resource sharing

Openness

Concurrency

Scalable

Fault tolerant

Transparent

Yang perlu diperhatikan

Complexity

Communication

Security

Manageability

Quality of Service

Unpredictability

(15)

Arsitektur Distributed Systems

Client/Server

 Memberikan layanan terdistribusi yang dapat

dipanggil oleh klien

 Server memberikan layanan yang dilayani secara

berbeda dibandingkan klien yang menggunakan servis

Distributed Object

 Tidak ada perbedaan yang dibuat antara klien

dan server

 Setiap objek sistem dapat menyediakan dan

(16)

Middleware

Software yang mengatur dan mendukung

komponen-komponen yang berbeda dari

sistem terdistribusi

Berada di tengah sistem

broker service

request

antara komponen-komponen

Biasanya produk jadi ketimbang kustom

Arsistektur yang mewakili

 CORBA (ORB)  COM (Microsoft)  JavaBeans (Sun)

(17)

Arsitektur Multiprocessor

Sistem Model terdistribusi paling

sederhana

Sistem yang terdiri dari banyak proses

yang dapat dieksekusi pada processor

yang berbeda

Model digunakan pada banyak sistem

ril-time besar.

Distribusi proses ke processor dapat di

mulai atau diawasi oleh sebuah

(18)

Arsitektur Client/Server

Aplikasi dimodel sebagai seperangkat

layanan yang diprovide oleh server dan

seperangkat klien yang menggunakan

servis-servis ini.

Klien mengenal server namun

server-server tidak butuh mengetahui seluruh

klien

Klien dan server berproses secara logis

(tidak selalu mesin fisik)

Pemetaan proses ke processor tidak selalu

(19)

Representative Sistem Client/Server

Part 1

File servers

 Klien meminta rekod terpilih dari sebuah file  Server mentransmisikan rekod ke klient

melalui jaringan

Database servers

 Klien mengirimkan permintaan SQL ke

server

 Server memproses permintaan

 Server mengembalikan hasil ke klien melalui

(20)

Representative Sistem Client/Server

part 2

Transaction servers

 Klien mengirimkan permintaan yang

memanggil prosedur remote di server

 Server mengeksekusi prosedur yang

dipanggil dan mengembalikan hasil ke klien

Groupware servers

 Server menyediakan seperangkat aplikasi

yang memampukan komunikasi antara klien menggunakan teks, gambar, papan buletin, video dan lain-lain.

(21)

Komponen Software

Client/Server

 Subsistem interaksi/presentasi user.  Subsistem Aplikasi

 Mengimplementasikan kebutuhkan-kebutuhan yang

didefinisikan aplikasi dalam konteks lingkungan operasi.

 Komponen-komponen dapat berada disisi server atau

klien

 Susbistem Manajemen Database  Middleware

 Seluruh komponen-komponen software yang ada

pada sisi klien dan server yang memungkinkan pertukaran informasi

(22)

Representative Konfigurasi

Client/Server - part 1

Distributed presentation

 Logika Database dan aplikasi berada di server  Software klien memformar kembalo data server

menjadi formasi GUI

Remote presentation

 Mirip ke distributed presentation

 Logika Database utama dan aplikasi berada di

server

 Data yang dikirimkan server digunakan oleh

(23)

Representative Konfigurasi

Client/Server - part 2

Distributed logic

 Klien ditugaskan semua kegiatan presentasi user

yang berhubungan entri data dan formulasi kueri server

 Server ditugaskan kegiatan manajemen data

dan update informasi berdasarkan tindakan user

Remote data management

 Aplikasi pada sisi server menciptakan sumber

data baru

 Aplikasi pada sisi klien memproses data baru

(24)

Representative Konfigurasi

Client/Server - part 3

Distributed databases

 Data disebar lintas server dan klien

 Membutuhkan klien untuk mendukung manajemen

data sebagaimana komponen-komponen aplikasi dan GUI

Fat server

 Kebanyakan fungsi-fungsi software untuk sistemC/S

dialokasikan ke server

Thin clients

 Pendekatan komputer jaringan yang menugaskan

(25)

Thin Client Model

Digunakan ketika sistem yang ada

dimigrasikan ke arsitektur client server

 Sistem yang ada dapat bertindak sebagai

sebuah server dengan hak aksesnya sendiri

 GUI dapat diimplemetasikan di sebuah

klien

Kerugian utamanya adalah load

proses data sangat berat pada server

dan jaringan

(26)

Fat Client Model

 Lebih banyak proses yang didelegasikan ke

klien sebagaimana proses aplikasi yang diperluas secara lokal

 Cocok untuk sistem client/server yang baru

dimana kemampuan sistem klien telah dikenali terlebih dahulu

 Lebih komplek ketimbang model thin klien

dengan mempertimbangkan isu manajemen

 Versi baru masing-masing aplikasi butuh untuk

(27)

Three-tier Architecture

 Masing-masing later arsitektur aplikasi

(presentation, application, database) dapat berjalan pada proses yang terpisah

 Mengizinkan kinerja yang lebih baik

ketimbang pendekatan thin-client

 Lebih sederhana untuk dikelaola ketimbang

pendekatan fat client

 Mudah di skala atau diukur (ketika

permintaan bertambah tinggal tambahkan server lebih)

(28)

Petunjuk Subsistem Aplikasi

terdistribusi

Subsistem interkasi/presentasi yang

secara umum ditempatkan di klien.

Jika database dishare oleh banyak user

yang terhubung melalui sebuah LAN,

database dilokasikan di server.

Data static digunakan untuk referensi

(29)

Menghubungkan subsistem

software Client/Server

Pipes

 Mengizinkan pengiriman pesan antara mesin

yang berbeda yang menjalankan sistem operasi yang berbeda.

Remote procedure calls

 Mengizinkan proses berjalan pada sebuah

mesin untuk memanggil eksekusi proses pada mesin yang lain

Interaksi SQL Client/server

 Request SQL dikirinkan dari client leserver DBMS,

(30)

Desain Sistem Client/Server

Systems - part 1

Desain Data and architectural

 Mendominasi proses desain agar dapat

secara efektif menggunakan kemampuan RDBMS atau OODBMS

Paradigma Event-driven

 Ketika digunakan, pemodelan perilaku

harus dijalankan

 Aspek yang berorientasi kontrol dari model

perilaku harus diterjemahkan menjadi model desain.

(31)

Desain Sistem Client/Server -

part 2

 Interface design

 Meningkat berdasarkan tingkat

kepentingannya

 Komponen interaksi/presentasi user

mengimplementasikan seluruh fungsi yang berhubungan dengan sebuah GUI

 Sudut Pandang Object-oriented

 Seringkali dipilih, ketika struktur objek diberikan

oleh even-even yang diinisiasikan di dalam GUI dan event-event handler di dalam suatu

(32)

Desain Arsitektur Sistem

Client/Server - part 1

Menggambarkan arsitektur proses

komunikasi

Tujuan Arsitektural digunakan untuk

mencapai skalabilitas yang mudah

ketika menambahkan sejumlah klien.

Sistem C/S modern cenderung

berbasis komponen

Sebuah Arsitektur

Object Request

Broker

(ORB) digunakan untuk

implementasi

(33)

Desain Arsitektur Sistem

Client/Server - part 2

Adapter objek atau wrapper memfasilitasi

komunikasi antara klien dan server

 Implementasi komponen-komponen

didaftarkan

 Semua referensi komponen diinterpretasikan

dan direkonsiliasi

 Referensi komponen dipetakan ke implementasi

komponen terkait

 Objek diaktivasi dan deaktivasi

 Operasi dipanggil ketika pesan ditransmisikan  Fitur-fitur sekuriti diimplementasikan

Referensi

Dokumen terkait

Orang-orang percaya di Filipi menderita banyak kesukaran karena mereka hidup di antara orang-orang musyrik yang berlawanan, tetapi Paulus berjanji bahwa meskipun mereka

Ortopedik adalah pencegahan dan perbaikan dari kerusakan struktur tubuh, seperti pada orang yang mengalami gangguan otot. Orang yang bedrest lama juga akan menurunkan tonus otot.

Demikian laporan pelaksanaan program kegiatan USBN SMAN 2 Pineleng, Tahun Pelajaran 2016-2017 kami sampaikan seabagai pertanggungjawaban kepada Dinas Pendidikan daerah

C. Menyebutkan manfaat air bagi makhluk hidup. Menjelaskan manfaat air bagi makhluk hidup. Menyimpulkan manfaat air bagi makhluk hidup. Mengidentifikasi proses daur air yang terjadi

Meskipun penggunaan metode kuantitatif dalam penetap- an jumlah bahasa kerabat baik dengan teknik leksikostatistik maupun dengan teknik leksiko- statistik, tidak terlepas dari

Dengan demikian Ha diterima dan Ho ditolak yang menyatakan bahwa frekuensi gelombang ultrasonik berpengaruh terhadap pola perilaku gerak pasif dari belalang

yang datang ke UNAIR, menuturkan bahwa acara yang telah berlangsung untuk kali kelima ini sengaja diadakan untuk mencari potensi pemuda, terkhusus mahasiswa UNAIR..

Wawancara adalah proses untuk memperoleh informasi dengan mengajukan sejumlah petanyaan secara lisan untuk dijawab secara lisan pula, yaitu dengan kontak langsung