Object-Oriented Reengineering Patterns and Techniques Wahyu Andhyka Kusuma, S.Kom Materi 3 Software Visualization.

Slides:



Advertisements
Presentasi serupa
Hieronimus Edhi Nugroho, M.Kom
Advertisements

INTERAKSI MANUSIA DAN KOMPUTER
DASAR-DASAR PENGUJIAN PERANGKAT LUNAK
Program Paket Niaga Putu Putra Astawa S.Kom.,M.kom
PRASYARAT : - PPDE / PTI PERKULIAHAN : 16 x Pertemuan Terdiri dari:
Interaksi Manusia dan Komputer
Pemrograman Berbasis Komponen
PENGENALAN ANALISA SISTEM BERORIENTASI OBYEK
OBJECT ORIENTED PROGRAMMING
Algoritma & Pemrograman 1
PEMROGRAMAN APLIKASI BISNIS I (VISUAL STUDIO 2010)
Sistem Operasi (Operating Systems) Minggu 8
Nama Kelompok JUNIAR AJI SAPUTRA IFANKA AJI SAPUTRO HABIBUL hAKIM.
Object-Oriented Reengineering Patterns and Techniques Wahyu Andhyka Kusuma, S.Kom Materi 2 Reverse Engineering.
Kompleksitas Algoritma
06/10/2014 Course : Rekayasa Perangkat Lunak, Aetthea, Elektro Unsoed,
INTERAKSI MANUSIA dan KOMPUTER (HUMAN COMPUTER INTERACTION)
PERANCANGAN SISTEM.
Testing Levels. Activities of Test Engineer Test engineer is an information technology professional who is in charge of ane or more technical test activities,
Model dan Pemodelan. Topik Bahasan 1. Definisi Model dan Pemodelan 2. Beberapa jenis model 3. Model pada Pengembangan Sistem.
Rekayasa Perangkat Lunak Pertemuan 1 : Pengantar RPL
Rekayasa Perangkat Lunak Pertemuan 1 : Pengantar RPL
The development of the software in this context is parallel processing or known as parallelization. In this parallel processing this software used.
P ENGANTAR A NALISA D ESAIN B ERORIENTASI O BJEK SRI HERAWATI, S.Kom, M.Kom Blog : zheira83.wordpress.com MANAJEMEN INFORMATIKA.
Metode Penelitian di bidang teknik informatika
Matakuliah: R0604/ Komputasi Desain Arsitektur II Tahun: 2008 Pertemuan 25 Presentasi Akhir.
Rekayasa Perangkat Lunak UML (Unified Modelling Language)
Analisa dan Perancangan Berbasis Objek
Perangkat Lunak 1.
Interaksi Manusia & Komputer Pendahuluan
Pemrograman Visual I Outline: Pengenalan bahasa C#
Rekayasa Perangkat Lunak Model Proses PL
Introduction Object Oriented Analysis & Design
ABAP.
Rekayasa Perangkat Lunak
INTERAKSI MANUSIA & KOMPUTER
Algoritma & Pemrograman 1
Pengantar Pemrograman
Object oriented analyst and design
Testing dan Implementasi
SISTEM GRAFIKA KOMPUTER
DASAR ILMU BIDANG INFORMATIKA
PARADIGMA PEMROGRAMAN
DST115 Desain Praktis Indra G Rochyat, MA INTRODUCING PERTEMUAN 1.
Java Fundamental Java Fundamental Syahrul Mauluddin S.Kom.
Java Fundamentals Eko Hari Rachmawanto.
REKAYASA PERANGKAT LUNAK
Interaksi Manusia & Komputer (Human Computer Interaction)
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
Pertemuan 1 Metoda Perancangan Berorientasi Object
KELOMPOK FARHATULLAILA ( )
REKAYASA PERANGKAT LUNAK
MODUL PRATIKUM PEMOGRAMAN BERORIENTASI OBJEK (OOP)
INTERAKSI MANUSIA DAN KOMPUTER
REKAYASA PERANGKAT LUNAK
INTRODUCTION.
MODUL PRATIKUM PEMOGRAMAN BERORIENTASI OBJEK (OOP)
PEMROGRAMAN BERORIENTASI OBYEK
DIAN PRAJARINI, S.T.,M.Eng ROSITA YANUARTI, S.Kom.,M.Cs
Pengantar Basis Data Pengantar Basis Data.
KOMPUTASI PEMROGRAMAN
Pengantar Analisa Desain Berorientasi Objek
Rekayasa Perangkat Lunak
Java Fundamental Java Fundamental Syahrul Mauluddin S.Kom.
PARADIGMA PEMROGRAMAN
OBJECT ORIENTED ANALISYS AND DESIGN
Pengenalan HCI : Interaksi Manusia & Komputer
Pemrograman berorientasi objek
TIM RPL Program Studi Teknik Informatika
SAPUTRA MAY SANDI TANDIALI  4GT INI ADALAH METODE PENGEMBANGAN PERANGKAT LUNAK GENERASI KEEMPAT.  PERANGKAT SOFTWARE YANG DAPAT MEMPERMUDAH.
Transcript presentasi:

Object-Oriented Reengineering Patterns and Techniques Wahyu Andhyka Kusuma, S.Kom Materi 3 Software Visualization

Topik Pengantar – Software V Visualization dalam Reengineering Context Static Code Visualization – Contoh Dynamic Code Visualization – Contoh Memahami Evolusi Kesimpulan

Topik Pengantar – Software Visualization dalam Reengineering Context Static Code Visualization – Contoh Dynamic Code Visualization – Contoh Memahami Evolusi Kesimpulan

5.4 Program Visualization Pengurangan kompleksitas Menghasilkan sudut pandang yang berbeda dari sistem Visualization Sangat kuat tetapi memiliki kelemahan : – Dapat menjadi komplek, dan menjadikan penelitian tersendiri, Penggunaan spasi, penggunaan tab, dll – Warna yang bagus tidak mengindikasikan informasi penting – Dimana dilihat dan apa itu penting ?

5.5 Kekurangan Kosakata Visualization – Information Visualization Software Visualization – Algorithm Visualization – Program Visualization Static Code Visualization Dynamic Code Visualization Tujuan dari kesemuanya adalah mengurangi kompleksitas

5.6 (Information) Visualization Kurang lebih ada tiga pertanyaan – Lower perception (one element) – Medium perception (several elements) – Upper perception (all elements/the complete picture) Didalam Information Visualization digunakan untuk mengurangi kompleksitas Mengumpukan Informasi Bagaimana menampilkan informasi Bagaimana memvisualisasikan

5.7 Software Visualization “Software Visualization is the use of the crafts of typography, graphic design, animation, and cinematography with modern human-computer interaction and computer graphics technology to facilitate both the human understanding and effective use of computer software.” Price, Baecker and Small, “Introduction to Software Visualization” 2 bidang utama: – Algorithm Visualization – Program Visualization Permasalahan utama: “Software is intangible, having no physical shape or size. Software visualisation tools use graphical techniques to make software visible by displaying programs, program artifacts and program behaviour.” [Thomas Ball]

5.8 Dalam konteks Teknik Bekerja dalam sistem lama, juga arsitektur yang kadarluarsa Biasanya tools (editor) tidak dapat memroses kode yang berbeda atau lama Sebuah pendekatan – Scalability sangat penting – Efficient (waktu / Informasi yang diperoleh) – Membutuhkan sebuah fokus Solusi – Mengurangi dukungan dari tools atau editor juga ketergantungannya – Gunakan tool untuk visualisasi (Rigi, CodeCrawler, Jinsight) – Lakukan sendiri tetapi gunakan pemikiran sederhana

5.9 Program Visualization “Program visualization is the visualization of the actual program code or data structures in either static or dynamic form” [Price, Baecker and Small] Static code visualization Dynamic code visualization Menghasilkan sudut pandang yang berbeda dari sistem dan mempelajari informasi yang ada didalam visualization tersebut Permasalahan yang kompleks, seperti : – Efficient space use, edge crossing problem, layout problem, focus, HCI issues, GUI issues, … – Kaidah yang tidak sesuai (colors, symbols, interpretation, …)

Topik Pengantar – Software V Visualization dalam Reengineering Context Static Code Visualization – Contoh Dynamic Code Visualization – Contoh Memahami Evolusi Kesimpulan

5.11 Static Code Visualization Informasi dari visualisasi dapat di peroleh dari static structure dari sebuah sistem Tergantung dari bahasa pemrograman dan paradigmanya – Object-Oriented PL: classes, methods, attributes, inheritance, … – Procedural PL: procedures, invocations, … – Functional

Topik Pengantar – Software V Visualization dalam Reengineering Context Static Code Visualization – Contoh Dynamic Code Visualization – Contoh Memahami Evolusi Kesimpulan

5.13 Dynamic Code Visualization Memvisualisasikan perilaku (behaviour) dinamis dari sistem – Instrumen dari kode – Trace collection (melihat jejak dari pengumpulan variabel) – Trace evaluation (melihat jejak dari evaluasi setelah dieksekusi) – Untuk apa visualisasinya Execution trace (melihat jejak dari hasil eksekusi Memory consumption (seberapa besar memori digunakan) Object interaction (interaksi antar objek) Kompleksitas dari Algoritma …

5.14 Dynamic Software Visualization: Evaluation Permasalahan instrumen dari kode – Blue Print, Method Wrapping, enkapsulasi, dll Permasalahan Scalability

Topik Pengantar – Software V Visualization dalam Reengineering Context Static Code Visualization – Contoh Dynamic Code Visualization – Contoh Memahami Evolusi Kesimpulan

5.16 Memahami Evolusi Informasi ada didalam riwayat perngkat lunak Kompleksitas yang sangat berlimpah Bagaimana kita dapat mendeteksi dan memahami perubahan? Solusi: – Revision Towers – TimeWheel, Infobug – The Evolution Matrix

Topik Pengantar – Software V Visualization dalam Reengineering Context Static Code Visualization – Contoh Dynamic Code Visualization – Contoh Memahami Evolusi Kesimpulan

5.18 Menjadi diri sendiri lebih baik Visualisasi yang baik dapat menjadi pekerjaan yang susah – Algoritma dapat menjadi sangat penting – Efisien dari penggunaan space sangat penting Sangat susah untuk fokus: – Beautiful graphs are not always meaningful – Bagaimana seharusnya melihat informasi? – Bagaimana seharusnya informasi untuk digunakan?

5.19 Kesimpulan Software Visualization sangat penting jika digunakan dengan baik Pendekatan terintegrasi sangat dibutuhkan hanya menggunakan visualisasi dengan penampilan yang baik tidak cukup Secara umum, hanya orang yang tahu tentang Software Visualization yang mengerti dan dapat memberikan informasi tentang sistem Masa depan dari software sedang berkembang dan software visualization akan menjadi bagian dari itu