Upload
radithya-firahansyah
View
103
Download
1
Tags:
Embed Size (px)
DESCRIPTION
RPL pengantar
Citation preview
© 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
© 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”
© 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 !
© 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
© 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).
© 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
© 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
© 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
© 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
© 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
© 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
© 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