• Tidak ada hasil yang ditemukan

Bagian 2 Bagian 2

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "Bagian 2 Bagian 2"

Copied!
43
0
0

Teks penuh

(1)

Catatan Kuliah Catatan Kuliah

Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak

(Software Engineering) (Software Engineering)

Bagian 2 Bagian 2

copyright © 2006

R.S. Pressman & Associates, Inc M. Idham Ananta Timur, S.T., M.Kom.

Hanya digunakan di lingkungan Universtias

Hanya boleh digandakan untuk mahasiswa di lingkungan universitas yang menggunakan buku Software Engineering: A Practitioner's Approach.

Selain itu dilarang keras menggandakan.

(2)

Software Engineering: A Practitioner’s Approach, 6/e Software Engineering: A Practitioner’s Approach, 6/e

Bab 10 Bab 10

Desain Arsitektur Desain Arsitektur

copyright © 1996, 2001, 2005

R.S. Pressman & Associates, Inc.

For University Use Only

May be reproduced ONLY for student use at the university level

when used in conjunction with Software Engineering: A Practitioner's Approach.

Any other reproduction or use is expressly prohibited.

(3)

Kenapa Arsitektur ? Kenapa Arsitektur ?

Arsitektur bukanlah PL operasional, namun dia Arsitektur bukanlah PL operasional, namun dia

merupakan representasi yang memungkinkan merupakan representasi yang memungkinkan

pengembang PL untuk : (1)menganalisa efektivitas desain pengembang PL untuk : (1)menganalisa efektivitas desain

dalam memenuhi kebutuhan, dalam memenuhi kebutuhan,

(2) Mengetahui alternatif2x arsitektur pada keadaan (2) Mengetahui alternatif2x arsitektur pada keadaan

dimana membuat perubahan desain masih relatif lebih dimana membuat perubahan desain masih relatif lebih

mudah, dan mudah, dan

(3) Mengurangi resiko terkait dengan konstruksi PL.

(3) Mengurangi resiko terkait dengan konstruksi PL.

(4)

Mengapa Arsitektur Penting?

Mengapa Arsitektur Penting?

 Representasi dari arsitektur PL adalah enabler Representasi dari arsitektur PL adalah enabler bagi komunikasi bagi komunikasi antar pihak (stakeholder) yang tertarik dengan pengembangan antar pihak (stakeholder) yang tertarik dengan pengembangan

sistem berbasis komputer.

sistem berbasis komputer.

 Arsitketur menyoroti keputusan desain awal Arsitketur menyoroti keputusan desain awal yang akan mempunyai yang akan mempunyai pengaruh yang sangat besar pada pekerjaan RPL yang

pengaruh yang sangat besar pada pekerjaan RPL yang

mengikutinya, dan keberhasilan pada entitas sistem operasional.

mengikutinya, dan keberhasilan pada entitas sistem operasional.

 Arsitektur membangun model yang relatif kecil dan mudah Arsitektur membangun model yang relatif kecil dan mudah digenggam secara intelektual

digenggam secara intelektual tentang bagaimana sistem tentang bagaimana sistem

distrukturkan dan bagaimana komponen2x bekerja sama [BAS03].

distrukturkan dan bagaimana komponen2x bekerja sama [BAS03].

(5)

Desain Data Desain Data

 Pada level arsitektur … Pada level arsitektur …

 Desain satu atau lebih database untuk mendukung arsitektur Desain satu atau lebih database untuk mendukung arsitektur aplikasi

aplikasi

 Desain method untuk ‘mining Desain method untuk ‘ mining’ isi dari berbagai database ’ isi dari berbagai database

 Navigasi melalui database2x yang ada dalam usaha untuk Navigasi melalui database2x yang ada dalam usaha untuk mengambil informasi level bisnis yang sesuai

mengambil informasi level bisnis yang sesuai

 Desain sebuah data warehouse Desain sebuah data warehouse—sebuah database besar, —sebuah database besar,

independen yang mempunyai akses pada data yang disipan dalam independen yang mempunyai akses pada data yang disipan dalam database yang melayani sekelompok aplikasi yang dibutuhkan database yang melayani sekelompok aplikasi yang dibutuhkan bisnis

bisnis

(6)

Desain Data Desain Data

 Pada level komponen … Pada level komponen …

 Mengambil objek2x data dan mengembangkan satu set Mengambil objek2x data dan mengembangkan satu set abstraksi data

abstraksi data

 Implementasi atribut2x objek data sebagai satu atau Implementasi atribut2x objek data sebagai satu atau lebih struktur data

lebih struktur data

 review struktur data untuk memastikan bahwa relasi review struktur data untuk memastikan bahwa relasi yang tepat sudah dibuat

yang tepat sudah dibuat

 Sederhanakan struktur data sesuai dengan kebutuhan Sederhanakan struktur data sesuai dengan kebutuhan

(7)

Desain Data—Level Komponen Desain Data—Level Komponen

1. Prinsip2x analisis semantik yang diterapkan pada fungsi dan 1. Prinsip2x analisis semantik yang diterapkan pada fungsi dan perilaku harus juga dapat berjalan pada data.

perilaku harus juga dapat berjalan pada data.

2. Seluruh struktur data dan operasi yang akan dilakukan harus 2. Seluruh struktur data dan operasi yang akan dilakukan harus dapat diidentifikasi.

dapat diidentifikasi.

3. Sebuah data dictionary harus dibuat dan digunakan untuk 3. Sebuah data dictionary harus dibuat dan digunakan untuk menentukan desain program dan data.

menentukan desain program dan data.

4. Keputusan desain data level rendah harus ditunda hingga akhir 4. Keputusan desain data level rendah harus ditunda hingga akhir proses desain.

proses desain.

5. Representasi struktur dara harus diketahui oleh modul yang 5. Representasi struktur dara harus diketahui oleh modul yang menggunakannya langsung dalam struktur tersebut (enkapsulasi).

menggunakannya langsung dalam struktur tersebut (enkapsulasi).

6. Sebuah pustaka struktur data dan operasi yang memungkinkan 6. Sebuah pustaka struktur data dan operasi yang memungkinkan untuk diterapkan harus dikembangkan.

untuk diterapkan harus dikembangkan.

7. Desain PL dan bahasa pemrograman harus mendukung 7. Desain PL dan bahasa pemrograman harus mendukung spesifikasi dan realisasi dari tipe data abstrak.

spesifikasi dan realisasi dari tipe data abstrak.

(8)

Ragam Gaya Arsitektur Ragam Gaya Arsitektur

 Data-centered architectures Data-centered architectures

 Data flow architectures Data flow architectures

 Call and return architectures Call and return architectures

 Object-oriented architectures Object-oriented architectures

Masing2x menggambarkan kategori sistem yang menunjukkan : (1) a Masing2x menggambarkan kategori sistem yang menunjukkan : (1) a sekumpulan komponen

sekumpulan komponen (mis database, modul komputasi) yang (mis database, modul komputasi) yang menunjukkan fungsi yan dibutuhkan sistem, (2)

menunjukkan fungsi yan dibutuhkan sistem, (2) sekumpulan connectors sekumpulan connectors yang memungkinkan komunikasi, koordinasi dan kerjasama antar

yang memungkinkan komunikasi, koordinasi dan kerjasama antar komponen components, (3)

komponen components, (3) batasan yang menentukan bagaimana batasan yang menentukan bagaimana komponen dapat diintegrasikan untuk membentuk sistem, dan (4) komponen dapat diintegrasikan untuk membentuk sistem, dan (4) smodel semantik

smodel semantik yang memungkinkan desainer untk memahami yang memungkinkan desainer untk memahami properti keseluruhan dari sistem dengan menganlisai properti dalam properti keseluruhan dari sistem dengan menganlisai properti dalam bagian2x di dalamnya.

bagian2x di dalamnya.

(9)

Data-Centered Architecture

Data-Centered Architecture

(10)

Data Flow Architecture

Data Flow Architecture

(11)

Call and Return Architecture

Call and Return Architecture

(12)

Layered Architecture

Layered Architecture

(13)

Pattern Arsitektural Pattern Arsitektural

Concurrency—aplikasi harus menangani banyak tugas dalam pola Concurrency —aplikasi harus menangani banyak tugas dalam pola yang mensimulasikan paralelisasi

yang mensimulasikan paralelisasi

operating system process management operating system process management pattern pattern

task scheduler pattern task scheduler pattern

Persistence—Data ada jika dia bertahan setelah eksekusi proses yang Persistence —Data ada jika dia bertahan setelah eksekusi proses yang membuatnya. Ada dua pattern umum ::

membuatnya. Ada dua pattern umum ::

database management system pattern yang menerapkan penyimpanan dan database management system pattern yang menerapkan penyimpanan dan pengambilan dari DBMS kepada arsitektur aplikasi

pengambilan dari DBMS kepada arsitektur aplikasi

application level application level persistence persistence pattern yang membangun fitur persistence pattern yang membangun fitur persistence pada aristektur aplikasi

pada aristektur aplikasi

Distribution— pola dimana sistem atau komponen2x di antaranya Distribution — pola dimana sistem atau komponen2x di antaranya berkomunkasi dalam lingkungan terdistribusi

berkomunkasi dalam lingkungan terdistribusi

broker broker bertindak sebagai orang di tengah antara komponen klient dan bertindak sebagai orang di tengah antara komponen klient dan komponen server.

komponen server.

(14)

Desain Arsitektur Desain Arsitektur

 PL harus ditempatkan pada konteks PL harus ditempatkan pada konteks

 Desain harus menentukan entitas eksternal (sistem lain, piranti, Desain harus menentukan entitas eksternal (sistem lain, piranti, orang) dimana PL berinteraksi dengannya

orang) dimana PL berinteraksi dengannya

 Sekumpulan arsitektur archetypes harus diidentifikasi Sekumpulan arsitektur archetypes harus diidentifikasi

archetype adalah abstraksi (mirip dengan class) yang archetype adalah abstraksi (mirip dengan class) yang menampilkan satu elemen dari perilaku sistem

menampilkan satu elemen dari perilaku sistem

 Desainer menentukan struktur sistem dengan memilih Desainer menentukan struktur sistem dengan memilih komponen PL yang mengimplmentasi masing2x

komponen PL yang mengimplmentasi masing2x

(15)

Architectural Context Architectural Context

target system:

Security Function

uses

uses peers

homeowner

Safehome

Product Internet-based system

surveillance function

sensors control

panel

sensors

uses

(16)

Archetypes Archetypes

Controller

Node

communicates with

Detector Indicator

(17)

Component Structure Component Structure

SafeHome Executive

External Communication

Management

GUI Internet

Interface

Function selection

Security Surveillance Home

management

Control panel processing

detector management

alarm processing

(18)

Refined Component Structure Refined Component Structure

External Communication

Management

GUI Internet

Interface

Security

Control panel processing

detector management

alarm processing

Keypad

processing scheduler phone

communicat ion

SafeHome Executive

(19)

Analisis Desain Arsitektur Analisis Desain Arsitektur

1. Kumpulkan semua skenario.

1. Kumpulkan semua skenario.

2. Dapatkan kebutuhan2x, batasan2x, dan gambaran lingkungan.

2. Dapatkan kebutuhan2x, batasan2x, dan gambaran lingkungan.

3. Gambarkan pola/gaya arsitektur yang telah dipilih untuk 3. Gambarkan pola/gaya arsitektur yang telah dipilih untuk menangani skenario2x dan kebutuhan2x ::

menangani skenario2x dan kebutuhan2x ::

• • module view module view

• • process view process view

• • data flow view data flow view

4. Evaluasi kualitas atribut2x dengan melihat setiap atribut dalam 4. Evaluasi kualitas atribut2x dengan melihat setiap atribut dalam isolasi.

isolasi.

5. Kenali kualitas atribut untuk setiap atribut arsitektural untuk 5. Kenali kualitas atribut untuk setiap atribut arsitektural untuk masing-masik gaya arsitektur yang spesifik.

masing-masik gaya arsitektur yang spesifik.

6. Lakukkan kritik pada arsitektur2x kandidat (yg dikembangkan

6. Lakukkan kritik pada arsitektur2x kandidat (yg dikembangkan

(20)

Metode Desain Arsitektur Metode Desain Arsitektur

"four bedrooms, three baths, lots of glass ..."

customer requirements

(21)

Memperoleh Arsitektur Program Memperoleh Arsitektur Program

Program Program

Architecture

Architecture

(22)

Partisi Arsitektur Partisi Arsitektur

 Partisi “horizontal” dan “vertical” Partisi “horizontal” dan “vertical”

dibutuhkan

dibutuhkan

(23)

Partisi Horizontal Partisi Horizontal

 Tentukan cabang yang terpisah pada hierarki Tentukan cabang yang terpisah pada hierarki modul untuk setiap fungsi utama

modul untuk setiap fungsi utama

 Gunakan modul kontrol untuk koodinasi Gunakan modul kontrol untuk koodinasi komunikasi antar fungsi2x

komunikasi antar fungsi2x

function 1

function 1 function 3 function 3

(24)

Partisi Vertikal : Factoring Partisi Vertikal : Factoring

 Didesain sehingga pengambilan keputusan dan Didesain sehingga pengambilan keputusan dan pekerjaan distratifikasi

pekerjaan distratifikasi

 Modul pengambilan keputusan tetap ada di Modul pengambilan keputusan tetap ada di puncak arsitektur

puncak arsitektur decision-makers decision-makers

(25)

Mengapa Arsitektur Terpartisi?

Mengapa Arsitektur Terpartisi?

 Hasilnya adalah PL yang mudah diuji Hasilnya adalah PL yang mudah diuji

 Membawa kepada PL yang lebih mudah dikelola Membawa kepada PL yang lebih mudah dikelola

 Hasilnya efek samping yang semakin sedikit Hasilnya efek samping yang semakin sedikit

 Hasilnya adalah PL yang lebih mudah Hasilnya adalah PL yang lebih mudah dikembangkan

dikembangkan

(26)

Desain Terstruktur Desain Terstruktur

 Tujuan : untuk mendapatkan arsitektur Tujuan : untuk mendapatkan arsitektur program yang terpartisi

program yang terpartisi

 pendekatan: pendekatan:

 DFD dipetakan ke arsitektur program DFD dipetakan ke arsitektur program

 PSPEC dan STD digunakan untuk PSPEC dan STD digunakan untuk mengindikasikan setiap modul mengindikasikan setiap modul

 notasi: notasi: diagram struktur diagram struktur

(27)

Karakteristik Aliran Karakteristik Aliran

Aliran Transformasi

Aliran Transaksi

(28)

Pendekatan Pemetaan Umum Pendekatan Pemetaan Umum

Isolasi aliran ke dalam dan ke luar Isolasi aliran ke dalam dan ke luar

batasan; untuk aliran transaksi, isolasi batasan; untuk aliran transaksi, isolasi

Pusat transaksi Pusat transaksi

Bekerja dari batasan luar, petakan Bekerja dari batasan luar, petakan Transformasi DFD ke modul terkait Transformasi DFD ke modul terkait

Tambahkan modul kontrol jika dibutuhkan Tambahkan modul kontrol jika dibutuhkan

Sempurnakan struktur program

Sempurnakan struktur program

(29)

Pemetaan Transformasi Pemetaan Transformasi

data flow model

"Transform" mapping

a b

c

d e f g h

i j

x1

x2 x3 x4

b c d e f g i

(30)

Factoring Factoring

typical "decision making" modules direction of increasing

decision making

(31)

First Level Factoring First Level Factoring

main program controller

input

controller processing controller

output

controller

(32)

Second Level Mapping Second Level Mapping

D

C

B A

A C

B

mapping from the D flow boundary outward

main

control

(33)

Transaction Flow Transaction Flow

T

incoming flow

action path

(34)

Transaction Example Transaction Example

operator commands

process operator commands

fixture setting

report

robot control

fixture servos

display screen

robot

control

software

assembly

(35)

Refining the Analysis Model Refining the Analysis Model

write an English language processing narrative write an English language processing narrative for the level 01 flow model

for the level 01 flow model

apply noun/verb parse to isolate processes, data apply noun/verb parse to isolate processes, data items, store and entities

items, store and entities

develop level 02 and 03 flow models develop level 02 and 03 flow models

create corresponding data dictionary entries create corresponding data dictionary entries

refine flow models as appropriate refine flow models as appropriate 1. 1.

2. 2.

3. 3.

4. 4.

5. 5.

(36)

Deriving Level 1 Deriving Level 1

Processing narrative for " process operator commands"

Processing narrative for " process operator commands"

Process operator command software reads operator commands from Process operator command software reads operator commands from the cell operator. An error message is displayed for invalid commands.

the cell operator. An error message is displayed for invalid commands.

The command type is determined for valid commands and appropriate The command type is determined for valid commands and appropriate action is taken. When fixture commands are encountered, fixture

action is taken. When fixture commands are encountered, fixture status is analyzed and a fixture setting is output to the fixture servos.

status is analyzed and a fixture setting is output to the fixture servos.

When a report is selected, the assembly record file is read and a When a report is selected, the assembly record file is read and a

report is generated and displayed on the operator display screen.

report is generated and displayed on the operator display screen.

When robot control switches are selected, control values are sent to When robot control switches are selected, control values are sent to the robot control system.

the robot control system.

Processing narrative for " process operator commands"

Processing narrative for " process operator commands"

Process operator command software

Process operator command software reads reads operator operator commands commands from from the cell

the cell operator operator . An error message . An error message is is displayed displayed for for invalid commands invalid commands . . The The command type command type is is determined determined for for valid commands valid commands and appropriate and appropriate action is

action is taken taken. When . When fixture commands fixture commands are are encountered encountered , , fixture fixture status is is analyzed and a and a fixture setting is is output output to the to the fixture servos . noun-verb

noun-verb

parse

parse

(37)

Level 1 Data Flow Diagram Level 1 Data Flow Diagram

operator commands

read operator commands

determine command

type

analyze fixture status

generate report

send control value

fixture servos

display screen

robot control assembly

record valid command

Error msg

fixture setting

report fixture

select report

control robot

status

(38)

Level 2 Data Flow Diagram Level 2 Data Flow Diagram

read command

produce error

msg

validate command

determine type

read fixture status

determine setting

format setting

read record

calculate output values

format report

report values

record command

command invalid command

status error msg

robot control

send control

value

combined status

raw setting

fixture setting

(39)

Transaction Mapping Principles Transaction Mapping Principles

isolate the incoming flow path isolate the incoming flow path

define each of the action paths by looking for define each of the action paths by looking for the "spokes of the wheel"

the "spokes of the wheel"

assess the flow on each action path assess the flow on each action path

define the dispatch and control structure

define the dispatch and control structure

map each action path flow individually

map each action path flow individually

(40)

Transaction Mapping Transaction Mapping

data flow model

a b

t

d e f

g h

i

j

k l

m

n Mapping

b a

x1

t

x2 x3

g h x3.1

x4

l m n

(41)

Isolate Flow Paths Isolate Flow Paths

read command

produce error

msg

validate command

determine type

read fixture status

determine setting

format setting

read record

calculate output values

format report

report values

record

assembly record command

command invalid command

status error msg

robot control

send control

value

combined status

raw setting

fixture setting

(42)

Map the Flow Model Map the Flow Model

process operator commands

command input controller

read

command validate command

produce error message

determine type

fixture status controller

report generation

controller

send control

value

(43)

Refining the Structure Chart Refining the Structure Chart

process operator commands

command input controller

read

command validate command

produce error message

determine type

send control

value

read

fixture determine

setting format setting

read record

calculate

output format report fixture

status controller

report generation

controller

Referensi

Dokumen terkait

Stability Analysis of Equality Point Mathematics Model of Influenza Virus in The Human Body with Herbal Treatment Therapy.. The mathematical model that has been formed will

OVCRE Form 2016-4 EVALUATION FORM REPORT for Advisory/ Technical Services Title of Activity Type of Service Date Conducted Duration of Activity hours Rating Staff Involved