• Tidak ada hasil yang ditemukan

Rpl 9 Creating An Architectural Design

N/A
N/A
Protected

Academic year: 2019

Membagikan "Rpl 9 Creating An Architectural Design"

Copied!
40
0
0

Teks penuh

(1)
(2)

1.

Quick Look of this chapter

2.

Software Architecture

3.

Data Design

4.

Architectural Styles and Patterns

5.

Architectural Design

6.

Assessing Alternative Architecture Designs

7.

Mapping Data Flow into a Software Architecture

(3)

 What is it ?

◦ Desain arsitektur merupakan

 Untuk mewakili struktur data & komponen Program

 Mempertimbangkan

 Struktur dan sifat dari komponen sistem

 Hubungan timbal balik antara komponen sistem

 Siapa yang melakukannya?

◦ Software engineer

◦ Specialists

 Ketika sistem yang besar dan kompleks

 Mengapa penting ?

◦ Misalnya, ketika membangun rumah

 Ada perlu memiliki blueprint untuk membangun

(4)

 Apa langkah-langkahnya ?

◦ 1) Desain Data

◦ 2) Representasi struktur arsitektur sistem

 Apakah produk kerja ?

◦ Arsitektur Data

◦ Struktur Program

(5)

 Apa arsitektur?

◦ Ketika kita membahas arsitektur bangunan,

 Cara di mana berbagai komponen bangunan yang terintegrasi untuk membentuk suatu kesatuan yang utuh

 Untuk memenuhi kebutuhan

◦ Ketika kita membahas perangkat lunak,

 Struktur komponen software

(6)

 Mengapa Arsitektur Penting?

◦ Untuk mengaktifkan untuk komunikasi antara para stakeholder

◦ Untuk menyoroti keputusan desain yang akan memiliki dampak pada sukses rekayasa perangkat lunak

(7)

 Apa desain data ?

◦ Untuk menerjemahkan objek data yang didefinisikan sebagai bagian dari model analisis ke dalam struktur data pada komponen perangkat lunak

 Desain Data di Tingkat Arsitektur

◦ Salah satu desain contoh di tingkat arsitektur, data warehouse

 Desain Data di Tingkat Komponen

◦ Wasserman telah mengusulkan seperangkat prinsip

1) Prinsip analisis sistematis diterapkan untuk fungsi juga harus diterapkan pada data

(8)

2) Semua struktur data dan operasi harus diidentifikasi

 Struktur data yang efisien harus mempertimbangkan operasi

3) Sebuah mekanisme untuk mendefinisikan isi dari setiap objek data harus ditetapkan dan digunakan

4) Keputusan desain tingkat rendah data harus ditunda sampai akhir dalam proses desain

 Karena skema top-down

 Untuk Tentukan secara rinci selama desain komponen-tingkat

5) Representasi struktur data harus hanya diketahui modul yang langsung menggunakan

6) Sebuah perpustakaan data yang berguna dan operasi harus dikembangkan

(9)

What is architecture style ?

Transformasi pada desain tingkat sistem keseluruhan

Tujuannya adalah untuk membangun struktur untuk semua

komponen dari sistem

What is architecture pattern ?

Transformasi pada desain tingkat arsitektur

Berbeda dari gaya dalam sejumlah cara yang mendasar

 Ruang lingkup pola kurang luas

 Berfokus pada satu aspek dari arsitektur

 Untuk memberlakukan aturan pada arsitektur

 Menggambarkan bagaimana perangkat lunak akan menangani beberapa aspek fungsionalitas

(10)

Sebuah Taksonomi/Klasifikasi Singkat Styles Arsitektur

arsitektur data-berpusat

 Sebuah menyimpan data (misalnya, file atau database) berada di pusat arsitektur ini

Data store (repository) Client

software

Client software

Client software

Client software

Client software

(11)

Data-flow architecture

A pipe and filter structure

 Filter: Sebuah set komponen

 Pipe: Untuk menghubungkan antar komponen

 Untuk mengirimkan data dari satu komponen ke yang berikutnya

Filter

Filter Filter Filter Filter

Filter

Filter Filter

(12)

Call and return architecture

Relatif mudah untuk memodifikasi dan skala

Dua substyles ada

 Main program/subprogram architecture

 Struktur program klasik

 "Program Utama" memanggil sejumlah komponen program

 Remote procedure call architecture

 Komponen arsitektur program utama / sub pada jaringan

Main Program

Controller subprogram

Controller subprogram

Controller subprogram

Application subprogram

Application subprogram

Application subprogram

Application subprogram

(13)

Core Layer Core Layer  Object-oriented architecture

◦ Komponen sistem merangkum data dan operasi

◦ Komunikasi antara komponen dicapai melalui lewat pesan

 Layered architecture

Core Layer

Utility Layer

Application Layer

User Interface Layer

(14)

 Representing the System in Context

◦ In chapter 6, the system context diagram

 Mewakili arus informasi ke dalam dan keluar dari sistem, user interface, dan pengolahan dukungan yang relevan

user maintenance

and

Bar code reader

Bar code

Request Queries

Line speed indicator

(15)

 Representing the System in Context

◦ In this chapter,

 To use an architectural context diagram (ACD)

 Untuk model cara di mana perangkat lunak berinteraksi dengan entitas eksternal untuk batas-batasnya

Target system Superordinate systems

Used by

Use

Peers Use

Actors

Depend on

Subordinate systems

- Superordinate systems: Untuk menggunakan

sistem target sebagai bagian dari beberapa tingkat yang lebih tinggi

- Subordiate systems: Untuk digunakan oleh

sistem target dan memberikan data atau pengolahan

- Peer-level: Untuk berinteraksi secara

peer-to-peer

- Actors: Entitas (orang, perangkat) yang berinter

(16)

 Example of ACD, Fungsi keamanan rumah dari produk SafeHome

Target system : Security function Safehome

product

Home owner Control

panel

Surveillance function

Sensors Sensor

Internet-based system

Use

Peers Use

Actors

Uses

Subordinate systems

(17)

 Defining Archetypes

◦ An archetype is a class or pattern

 Untuk mewakili abstraksi inti untuk desain arsitektur

◦ Example of the SafeHome home security function

 Node

 Input dan output unsur fungsi keamanan rumah (ex, berbagai sensor, indikator alarm)

 Detector

 Semua peralatan penginderaan yang feed informasi ke dalam sistem target

 Indicator

 Semua mekanisme untuk menunjukkan bahwa kondisi alarm yang terjadi pengawas

 Controller

(18)

 Defining Archetypes

◦ Example of the SafeHome home security function

Controller

Node

Detector Indicator

Communication with

(19)

 An Architecture Trade-Off Analysis Method

◦ The Software Engineering Institute (SEI) has developed an architecture trade-off analysis method (ATAM)

 Evaluation process for software architecture

1) Collect scenarios

 Satu set penggunaan-kasus dikembangkan untuk menyajikan sistem dari sudut pandang pengguna

2) Menampilkan Persyarata, kendala, dan deskripsi lingkungan

3) Describe the architectural styles/pattern

4) Evaluasi atribut kualitas dengan mempertimbangkan setiap atribut

 Penilaian meliputi kehandalan, kinerja, keamanan, pemeliharaan, fleksibilitas, testability, portabilitas, usabilitas, dan interoperabilitas

5) Mengidentifikasi sensitivitas atribut kualitas untuk berbagai atribut arsitektur  Membuat perubahan kecil dalam arsitektur

(20)

6) Critique candidate architectures using the sensitivity analysis (in step 5)

(21)

 Sekarang, kita perlu beberapa transisi dari model analisis untuk berbagai

gaya arsitektur

 Dua Jenis Metode Pemetaan

1)Transform Flow

 Informasi harus masuk dan software keluar dalam bentuk di "dunia luar”

 Sebagai contoh, data diketik pada keyboard, nada pada saluran telepon, dan gambar video dalam aplikasi multimedia adalah segala bentuk informasi dunia luar

 Data dieksternalisasi tersebut harus diubah menjadi bentuk internal untuk diproses

 Definisi Kata

 Aliran Masuk

 Jalur yang mengubah data eksternal menjadi data internal

 Aliran Keluar

(22)

2) Aliran Transaksi

 Transaction

 Sebuah item data tunggal memicu arus informasi

 Item data tunggal disebut transaksi

 Transaction center

 Pusat arus informasi

T

Transaction center

Action paths

... ... ...

... ...

Transaction

(23)

 Two kinds of mapping method

1)Transform Mapping

 Satu set langkah-langkah desain yang memungkinkan DFD (data flow diagram) dalam gaya arsitektur tertentu

 Untuk menggambarkan pendekatan ini, contoh fungsi keamanan SafeHome

 Untuk memetakan data flow diagram ke dalam arsitektur, langkah-langkah desain berikut

 Step 1. Ulasan model sistem yang mendasar

 Mewakili produsen eksternal dan konsumen data

SoftHome User command

and data

Sensor Number tones

(24)

 Step 2. eview dan memperbaiki diagram aliran data untuk perangkat lunak

 Model analisis disempurnakan untuk menghasilkan lebih detail

Configuration information

Control And status

Monitor User command

and data

Configure Number tones Sensor

Valid ID msg.

Configuration data

Sensor information

(25)

Configuration information number tones Alarm Sensor ID,

type

Level 2 DFD that refines the monitor sensors transform

Alarm type Sensor

information

Sensor ID, type, location Configuration

(26)

 Step 3. Tentukan apakah DFD memiliki transformasi atau karakteristik aliran transaksi

 Evaluating Level 3 DFD,

 No distinct transaction center is implied

 So, transform characteristic will be assumed

Configuration information

Read

conditions Select

Phone

number Setup Connection

To phone net

Generate Pulse to

line

(27)

 Step 4. mengisolasi transformasi pusat dengan menetapkan batas-batas aliran masuk dan keluar

 Step 5. Perform “first-level factoring”

 Hasil pemfaktoran ini dalam top-down mendistribusikan kontrol

 Top-level: Melakukan Pengambilan keputusan

 Middle-level: melakukan kontrol dan melakukan dalam jumlah sedang kerja

 Low-level: melakukan sebagian input, perhitungan, dan hasil outputnya

(28)

 Step 5. Perform “first-level factoring”

Monitor Sensors executive

Sensor Input controller

Alarm Output controller Alarm

Conditions controller Incoming

Information Processing controller

Outgoing Information Processing controller Transform

(29)

 Step 6. Melakukan “second-level factoring”

 Pemetaan transformasi individual dari DFD ke dalam modul yang tepat dalam arsitektur

1) Dimulai pada transformasi Batas Pusat

2) Pindah keluar sepanjang jalan masuk dan keluar

(30)

 Step 6. Perform “second-level factoring”

Generate display

Setup Connection

To phone net

Generate Pulses to

line Format

display Generate Alarm Signal

Monitor Sensors executive

Sensor Input

controller Alarm output

controller Alarm conditions

controller Incoming path

Outgoing path Transform

center

Generate alarm signal Format

display

Setup connection To phone net

Generate display

(31)

 Step 7. Perbaiki arsitektur pertama-iterasi menggunakan desain heuristic untuk meningkatkan kualitas perangkat lunak

 Untuk menyaring untuk kohesi yang baik, kopling minimal, tanpa kesulitan, dan dipelihara tanpa kesulitan

Monitor Sensors

(32)

Transaction Mapping

 A single data item triggers one of a number of information flows

 The single data item is called transaction

 This Mapping will be illustrated by considering the SafeHome user interaction system

(33)

 Step 1. Review the fundamental system model

 Level 1 data flow for this mapping

Control And status

Monitor

Configuration information

User command and data

Configure Number tones Sensor

Valid ID msg.

Configuration data

Sensor information

(34)

 Step 2. Review and refine data flow diagram for the software

 Level 2 data flow diagram for user interaction subsystem

Configuration information Read And status Read

password

Compare Password With file

Produce

type Configure System parameters

and data

Raw

A/D message

Configuration data

Valid password

Level 2 DFD for user interaction subsystem

- The data object (User command) flows into the system

- A single data item (Command type) triggers the data flow to fan outward from hub

(35)

 Step 3. Determine whether the DFD has transform or transaction flow characteristic

 Transaction flow characteristic

 Step 4. Identify the transaction center and the flow characteristic along each of the action paths

 The transaction center lies at the origin of a number of actions paths

(36)

Read And status Read

password

Compare Password With file

Produce Invalid message

Configuration information User

commands

Command

type Configure System parameters

and data

Raw

A/D message

Configuration data

Valid password

- Transform characteristic - Incoming, transform, and outgoing flow are bounded

- Transform characteristic - Incoming, transform, and outgoing flow are bounded

(37)

 Step 5. Map the DFD in a program structure amenable to transaction processing

 Mapped into incoming branch and dispatch branch

 Incoming branch: Along incoming path

 Dispatch branch: Start transaction center

(38)

 Step 6. Factor and refine the transaction structure and the structure of each action path

User With file

Password

(39)

 Step 7. Refine the first-iteration architecture using design heuristics for improved software quality

(40)

 Arsitektur perangkat lunak memberikan

Referensi

Dokumen terkait

Penyakit yang hingga saat ini tidak ada obatnya ini telah merambah di Kabupaten Penajam Paser Utara, pada tahun 2011 ditemukan 8 kasus HIV/AIDS dengan jumlah kematian

Dengan menambahkan generalisasi sederhana ( removing dan inverting ) pada Snort Rules diharapkan IDS dapat menghasilkan alert yang lebih bervariasi dan mampu mendeteksi

Kurang tersedianya P dalam gambut untuk tanaman dapat ditingkatkan melalui pemanfaatan mikroorganisme pelarut P (Agustina et al. 2013), akan tetapi kepadatan populasi

Berdasarkan tabel 4.10 dapat dilihat pada tabel Independent Samples T-Test bahwa nilai signifikansi pada kolom T-Test For Equality Of Means diperoleh nilai signifikan

data hasil belajar yang berbantuk nilai, yaitu pada mata pelajaran.. kewirausahaan di

Misi 1: Meningkatkan tata kelola pemerintahan yang baik melalui peningkatan kualitas birokrasi yang responsif dan penerapan e-govt yang terintegrasi dalam

Kabid 3 3.8 Secara keseluruhan, Arsyan dan tim udah tau mau bawa JGTC jadi kayak gimana. Setiap kabid sudah benar-benar memahami seluk beluk dari bidangnya dan sudah memiliki

Proyeksi kebutuhan pasar dalam negeri adalah permintaan semen yang akan digunakan dalam pembangunan infrastruktur baik untuk kepentingan pribadi, proyek pemerintah maupun