Rpl modul 1

12
© Restyandito Tahap Desain - 1 TI 1153 REKAYASA PERANGKAT LUNAK 1 Rekayasa Perangkat Lunak TI1153 Restyandito e-mail : [email protected] website : http://lecturer.ukdw.ac.id/~dito TI1153 – Tahap Desain © Restyandito - 2 TAHAP DESAIN TI1153 – Tahap Desain © Restyandito - 3 Definisi Design is an acitivity concerned with making major decisions, often of a structural nature. It shares with programming a concern for abstracting infromation representation and processing sequences, but the level of detail is quite different at the extremes. Design builds coherent, well-planned representations of program that concentrate on the interrelationships of parts at the higher level and the logical operations involved at lower levels. P Freeman The Context of Design inSoftware Design Techniques, 3 rd edition IEEE Comput Society Press, 1980 TI1153 – Tahap Desain © Restyandito - 4 Ada 2 cara dasar yang dapat digunakan untuk merancang suatu produk, yaitu dengan pendekatan data-oriented design yang menitikberatkan pada analisa data dan action-oriented design yang menitik beratkan pada analisa aksi. Fase perancangan tersebut biasanya teridiri dari 3 tahap, yaitu: perancangan arsitektur perancangan detil pengujian perancangan Design Activities

description

RPL pengantar

Transcript of Rpl modul 1

Page 1: Rpl modul 1

© Restyandito Tahap Desain - 1

TI 1153REKAYASA PERANGKAT LUNAK 1

Rekayasa Perangkat Lunak

TI1153

Restyanditoe-mail : [email protected]

website : http://lecturer.ukdw.ac.id/~dito

TI1153 – Tahap Desain © Restyandito - 2

TAHAP DESAIN

TI1153 – Tahap Desain © Restyandito - 3

Definisi

Design is an acitivity concerned with making major decisions, often of a structural nature. It shares with programming a concern for abstracting infromation representation and processing sequences, but the level of detail is quite different at the extremes.

Design builds coherent, well-planned representations of program that concentrate on the interrelationships of parts at the higher level and the logical operations involved at lower levels.

P FreemanThe Context of Design inSoftware Design Techniques, 3rd edition

IEEE Comput Society Press, 1980

TI1153 – Tahap Desain © Restyandito - 4

Ada 2 cara dasar yang dapat digunakan untuk merancang suatu produk, yaitu dengan pendekatan data-oriented design yang menitikberatkan pada analisa data dan action-oriented design yang menitik beratkan pada analisa aksi.Fase perancangan tersebut biasanya teridiri dari 3 tahap, yaitu:

perancangan arsitekturperancangan detilpengujian perancangan

Design Activities

Page 2: Rpl modul 1

© Restyandito Tahap Desain - 2

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 5

pada tahap ini spesifikasi produk dipelajari dengan seksama, selanjutnya produk dibagi menjadi beberapa modul.Hasil dari tahap ini adalah daftar modul yang akan dibuat, lengkap dengan penjelasannya serta hubungan antar modul

Perancangan Arsitektur

Architectural Design, General Design, Logical Design, High Level Design

TI1153 – Tahap Desain © Restyandito - 6

pada tahap ini tiap-tiap modul dirancang secara lebih rinci, termasuk pemilihan algoritma, struktur data, sertia tipe data yang akan digunakan.

Perancangan Detil

Modular Design, Physical Design, Low-Level Design,

TI1153 – Tahap Desain © Restyandito - 7

Action-Oriented DesignDATA FLOW ANALYSISAdalah suatu teknik perancangan yg digunakan untukmemperoleh modul-modul dg tingkat kohesi yg tinggi.

TI1153 – Tahap Desain © Restyandito - 8

Data Flow AnalysisProduk mengubah (transform) input menjadi outputTentukan

“Point of highest abstraction of input”“Point of highest abstract of output”

Page 3: Rpl modul 1

© Restyandito Tahap Desain - 3

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 9

Proses dibagi menjadi 3 modulUlang langkah-langkah di atas hingga tercapai kohesi yg tinggi

Kadang diperlukan modifikasi kecil untuk memperkecil kopling

Data Flow Analysis

TI1153 – Tahap Desain © Restyandito - 10

ContohMerancang suatu program untuk menghitung jumlah kata dalam suatu file.

Data Flow Analysis

TI1153 – Tahap Desain © Restyandito - 11

Langkah selanjutnya adalah membuat structure chart, yg tidak hanya menunjukkan alir data tetapi juga alir control yg terjadi.

Data Flow Analysis

Communicational

Cohesion !

TI1153 – Tahap Desain © Restyandito - 12

Data Flow Analysis

Functional Cohesion !

Page 4: Rpl modul 1

© Restyandito Tahap Desain - 4

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 13

Jika perancangan arsitektur telah selesai, maka tahap selanjutnya adalah perancangan detail. Tahap ini menentukan struktur data dan algoritma yg akan digunakan. Perancangan detail harus dapat dipahami oleh programmer yg akan melaksanakan tahap implementasi, tanpa harus melihat rancangan keseluruhan / modul lain yg terkait, karena kemungkinan besar suatu produk dibuat oleh banyak tim-tim yg bekerja sendiri-sendiri.

Data Flow Analysis

TI1153 – Tahap Desain © Restyandito - 14

Data Flow AnalysisContoh detil desain

TI1153 – Tahap Desain © Restyandito - 15

Data Flow AnalysisContoh detil desain

TI1153 – Tahap Desain © Restyandito - 16

Desain di atas bersifat programming language-independent, berarti rancangan tersebut dapat diaplikasikan pd semua bahasa pemrograman.Jika bahasa pemrograman yg akan dipakai sudah ditentukan, maka perancangan detail dapat direpresentasikan dalam bentuk PDL (Program Description Language) yg terdiri dari komentar-komentar yg dihubungkan dg control-statement dari bahasa yg dipilih.

Data Flow Analysis

Page 5: Rpl modul 1

© Restyandito Tahap Desain - 5

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 17

Data Flow AnalysisContoh representasi PDL

TI1153 – Tahap Desain © Restyandito - 18

Kelebihan PDL yaitu, rancangan dapat dibaca dg jelas, selain itu jika modul akan diimplementasikan maka cukup mengganti komentar yg ada dg bahasa pemrograman yg sesuai.

Kelemahannya adalah kecenderungan perancang yg memberikan terlalu banyak detail pada PDL sehingga sama saja dengan menulis program

Data Flow Analysis

TI1153 – Tahap Desain © Restyandito - 19

Multiple Input and Ouput streams

Tentukan POHA untuk masing-masing ‘stream’

Data Flow Analysis

TI1153 – Tahap Desain © Restyandito - 20

Transaction Analysis

Suatu transaksi adalah segala bentuk kegiatan dilihat dari sudut pandang pengguna. DFA kurang cocok untuk produk-produk yang memiliki transaction-processing, dimana terdapat beberapa aksi/kegiatan yang saling berhubungan, dan secara garis besar memiliki kemiripan (walau secara detail berbeda).

Page 6: Rpl modul 1

© Restyandito Tahap Desain - 6

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 21

Transaction AnalysisContoh: ATM (Automatic Teller Machine)

Control Coupling!

TI1153 – Tahap Desain © Restyandito - 22

Software reuse

Transaction Analysis

TI1153 – Tahap Desain © Restyandito - 23

Perancangan Berorientasi Data

Prinsip DasarStruktur suatu program harus sesuai dengan struktur datanya

Data-oriented designtidak sepopuler action-oriented designDengan perkembangan OOD, data-oriented design mulai banyak ditinggalkan

TI1153 – Tahap Desain © Restyandito - 24

OOD terdiri dari 4 langkah:1. Membangun diagram interaksi untuk masing-

masing skenario2. Membangun diagram class secara detail3. Merancang berdasarkan klien dari objek4. Merancang secara detail

Perancangan Berorientasi Objek

Page 7: Rpl modul 1

© Restyandito Tahap Desain - 7

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 25

Membangun diagram interaksi untuk masing-masing skenarioSkenario dapat direpresentasikan menggunakan sequence diagram (menitikberatkan pada urutan kronologi peristiwa / pengiriman message) dan collaboration diagram (menitikberatkan pada hubungan antar objek)

Perancangan Berorientasi Objek

TI1153 – Tahap Desain © Restyandito - 26

Perancangan Berorientasi Objek

Contoh:Skenario normalpada elevator

TI1153 – Tahap Desain © Restyandito - 27

Contoh:Sequence Diagrampada elevator

Perancangan Berorientasi Objek

TI1153 – Tahap Desain © Restyandito - 28

Perancangan Berorientasi Objek

Contoh:Collaboration Diagrampada elevator

Page 8: Rpl modul 1

© Restyandito Tahap Desain - 8

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 29

Membangun diagram class secara detailSuatu aksi dapat diterapkan pada suatu class atau client yg mengirimkan message ke suatu objek.Kriteria yg dapat digunakan untuk menerapkan suatu aksi dengan berdasarkan information-hiding, mengurangi duplikasi aksi dan responsibility-driven design

Perancangan Berorientasi Objek

close doors is assigned to Elevator Doorsmove one floor down is assigned to Elevator

Contoh:

TI1153 – Tahap Desain © Restyandito - 30

Perancangan Berorientasi Objek

Contoh:Class Diagrampada elevator

TI1153 – Tahap Desain © Restyandito - 31

Merancang berdasarkan klien dari objekJika suatu objek C mengirimkan pesan ke objek O, maka C disebut client dari O. Pada tahap ini, detailed-class diagram digambarkan dengan menunjukkan hubungan antar objek. Message yg dikirim dari clientC ke objek O direpresentasikan dengan menggunakan panah dari C ke O.

Jika ada objek yg bukan merupakan client dari modul yg lain, maka modul tersebut harus diinisialisasi, biasanya dipanggil oleh method main.

Perancangan Berorientasi Objek

TI1153 – Tahap Desain © Restyandito - 32

C++ Client-object relations

Perancangan Berorientasi Objek

Page 9: Rpl modul 1

© Restyandito Tahap Desain - 9

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 33

Java Client-object relations

Perancangan Berorientasi Objek

TI1153 – Tahap Desain © Restyandito - 34

elevator controller needs method elevator control loop so that main (or elevator application) can call it

Perancangan Berorientasi Objek

TI1153 – Tahap Desain © Restyandito - 35

Merancang secara detailPada tahap ini, perancangan secara detail dilakukan pada main program dan semua classes yang ada.Biasanya digunakan cara stepwise refinement dan formal technique.

Perancangan Berorientasi Objek

TI1153 – Tahap Desain © Restyandito - 36

Contoh:Desain Detail method elevator controller loop

Perancangan Berorientasi Objek

Page 10: Rpl modul 1

© Restyandito Tahap Desain - 10

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 37

CASE Tools

UpperCASE toolsBuilt around data dictionaryConsistency checkerScreen, report generatorsModern tools represent OOD using UMLExamples: Software through Pictures, Rose

TI1153 – Tahap Desain © Restyandito - 38

OOD terdiri dari 4 langkah:1. Membangun diagram interaksi untuk masing-

masing skenario2. Membangun diagram class secara detail3. Merancang berdasarkan klien dari objek4. Merancang secara detail

Studi Kasus : Air Gourmet

TI1153 – Tahap Desain © Restyandito - 39

LANGKAH 1:InteractionDiagram

Studi Kasus : Air Gourmet

Buat skenario untuk melakukan reservasi

TI1153 – Tahap Desain © Restyandito - 40

LANGKAH 1:InteractionDiagram

Studi Kasus : Air Gourmet

Buat sequence-diagramuntuk melakukan reservasi

Page 11: Rpl modul 1

© Restyandito Tahap Desain - 11

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 41

LANGKAH 1:InteractionDiagram

Studi Kasus : Air Gourmet

Buat collaboration-diagram untuk pengiriman dan penerimaan pos

TI1153 – Tahap Desain © Restyandito - 42

LANGKAH 2:DetailedClassDiagram

Studi Kasus : Air Gourmet

TI1153 – Tahap Desain © Restyandito - 43

LANGKAH 3:Merancang berdasarkan klien dari objek

Studi Kasus : Air Gourmet

TI1153 – Tahap Desain © Restyandito - 44

LANGKAH 3:Merancang berdasarkan klien dari objek

Studi Kasus : Air Gourmet

Page 12: Rpl modul 1

© Restyandito Tahap Desain - 12

TI 1153REKAYASA PERANGKAT LUNAK 1

TI1153 – Tahap Desain © Restyandito - 45

LANGKAH 4:Merancang secara detail

Studi Kasus : Air Gourmet

TI1153 – Tahap Desain © Restyandito - 46

Tantangan Pada Desain

Jangan terlalu banyak / detaildesain bukan “coding”

Jangan terlalu sedikit / umumcukup detail

TI1153 – Tahap Desain © Restyandito - 47

Referensi

• Pressman, Roger S., Software Engineering: A Practitioner’s Approach, 6th Edition, McGraw-Hill, 2005 (bab 10)

• Schach, Stephen R., Classical and Object-Oriented Software Engineering, 4th Edition, WCB McGraw-Hill, 1999 (bab 12)

The Endterima kasih