REKAYASA PERANGKAT LUNAK LANJUT
DESIGN ENGINEERING Defri Kurniawan M.Kom email
Fasilkom|| 12/10/2013
Content
email
Pengenalan Perancangan Model Analysis to Model Design Design Concept Design Model
Fasilkom|| 12/10/2013
Pengenalan Perancangan
Perancangan PL merupakan tindakan rekayasa PL yang terakhir di dalam aktivitas pemodelan dan merupakan landasan bagi aktivitas konstruksi
Perancangan merupakan tempat disatukannya kebutuhan-kebutuhan stakeholder, kebutuhan-kebutuhan bisnis, dan pertimbangan-pertimbangan teknis
email
Tujuan design untuk membentuk sebuah produk atau sistem/PL yang berkualitas Fasilkom|| 12/10/2013
Pengenalan Perancangan
email
Pertanyaan yang dapat dilakukan untuk menilai kualitas, sebelum konstruksi dilakukan: Apakah desain mengandung kesalahan, inkonsistensi, atau kelalaian? Apakah ada alternatif desain yang lebih baik? Dapatkah desain diimplementasikan dalam keterbatasan, jadwal, dan biaya yang telah ditetapkan?
Fasilkom|| 12/10/2013
Pengenalan Perancangan
email
Model perancangan PL menyediakan rincian tentang: 1. Arsitektur PL (architectural design) 2. Struktur-struktur data (data/class design) 3. Antarmuka-antarmuka (interface design), dan 4. Komponen-komponen/subsistem-subsistem (component level design) yang diperlukan untuk mengimplementasikan sistem/PL Fasilkom|| 12/10/2013
Pengenalan Perancangan
email
architectural design / desain arsitektur mendefinisikan hubungan antara elemen-elemen struktural utama dari perangkat lunak, gaya arsitektur dan pola desain yang membantu mencapai persyaratan yang ditetapkan untuk sistem
data/class design / perancangan kelas/data mengubah kelas analisis ke dalam kelas desain bersama dengan struktur data yang diperlukan untuk mengimplementasikan perangkat lunak Fasilkom|| 12/10/2013
Pengenalan Perancangan
email
interface design / perancangan antarmuka menjelaskan bagaimana software berkomunikasi dengan sistem yang beroperasi dengan hal itu dan dengan manusia yang menggunakannya
component level design / perancangan peringkat komponen mentransformasikan elemen struktural dari arsitektur perangkat lunak ke sebuah deskripsi prosedur dari komponen software
Fasilkom|| 12/10/2013
FROM ANALYSIS MODEL TO DESIGN MODEL
Old
Transformasi Model Analisis ke Model Perancangan (condong kepada pendekatan Model Analisis Terstruktur) email
Fasilkom|| 12/10/2013
FROM ANALYSIS MODEL TO DESIGN MODEL Transformasi Model Analisis ke Model Perancangan berdasarkan 4 (empat) elemen model Analisis
(Class-based model, Flow-oriented model Behavioral model)
(Roger, S.Pressman)
(Scenario-based model, Flow-oriented model Behavioral model)
Component-level Design
Interface Design
Architectural Design (Class-based model, Flow-oriented model) New
Data/Class Design (Class-based model)
email
Fasilkom|| 12/10/2013
Design Concepts
Dalam perancangan terdapat konsep dasar (fundamental concepts) yang memberikan dasar bagi perancangan, meliputi:
email
Abstraction Refinement Modularity Software Architecture Control Hierarchy
Structure Partitioning Data Structure Software Procedure Information Hidding
Fasilkom|| 12/10/2013
Design Concepts Abstraction / Abstraksi Mengidentifikasi fitur penting untuk representasi Ada banyak tingkat abstraksi tergantung pada seberapa rinci representasi diperlukan
Data abstraksi - representasi objek data Prosedural abstraksi - representasi instruksi
Refinement / Penghalusan Dimulai dari level abstraksi tertinggi, setiap langkah penghalusan merupakan dekomposisi ke tingkat lebih rinci (top to down strategy) Melengkapi/memperjelas abstraksi email
Fasilkom|| 12/10/2013
Design Concepts Modularity / Pemodulan Software dibagi menjadi beberapa modul Masalah dipecah menjadi potongan-potongan yang terkelola Software Architecture / Arsitektur PL Modul dapat diintegrasikan dengan berbagai cara untuk menghasilkan sistem Arsitektur PL adalah struktur keseluruhan perangkat lunak Hirarki dan interaksi komponen, serta struktur data yang digunakan oleh komponen email
Fasilkom|| 12/10/2013
Design Concepts Control Hierarchy / Hirarki Kontrol Hirarki modul mewakili hubungan kontrol Sebuah modul super-ordinat mengontrol modul lain Sebuah modul subordinate/bawahan dikendalikan oleh modul lain Tindakan yang relevan untuk mengendalikan hirarki: kedalaman, lebar, fan-in, fan-out
email
Fasilkom|| 12/10/2013
Structure Terminology
M Fan-out a
b
c
Depth d
e
f
g
h
Fan-in i Width email
Fasilkom|| 12/10/2013
Structure Terminology
email
Fasilkom|| 12/10/2013
Design Concepts Structural Partitioning / Pemartisi Struktur Jika gaya arsitektur suatu sistem adalah hirarki, maka struktur program dapat dipartisi secara horizontal dan vertikal Partisi horizontal menggambarkan cabang terpisah untuk setiap fungsi program utama Partisi vertikal mendefinisikan kontrol (pengambilan keputusan) di bagian atas dan bekerja di bagian bawah
email
Fasilkom|| 12/10/2013
Structural Partitioning
email
Fasilkom|| 12/10/2013
Design Concepts Data Structure / Struktur Data Struktur data adalah representasi dari hubungan logis antara elemen-elemen individual data. Struktur informasi akan selalu mempengaruhi prosedural akhir desain Struktur data adalah sama pentingnya dengan struktur program untuk representasi arsitektur perangkat lunak
email
Fasilkom|| 12/10/2013
Design Concepts Software Procedure / Prosedur PL Prosedur Software berfokus pada rincian pengolahan setiap modul secara individual Prosedur harus memberikan spesifikasi pengolahan yang tepat, termasuk urutan kejadian, poin-poin keputusan, operasi berulang, dan bahkan organisasi data dan struktur
email
Fasilkom|| 12/10/2013
Design Concepts Information Hidding / Penyembunyian Informasi Informasi (prosedur dan data) yang terdapat dalam modul ini tidak dapat diakses oleh modul lain yang tidak membutuhkan informasi tersebut Modularitas efektif dicapai dengan modul independen, yang berkomunikasi hanya informasi yang diperlukan Kemudahan pemeliharaan - pengujian, modifikasi lokal dan kecil kemungkinannya untuk menyebarkan
email
Fasilkom|| 12/10/2013
Design Model
Model desain dapat dilihat dalam dua dimensi yang berbeda
email
Horizontal / Dimensi Proses: menunjukkan evolusi bagian model desain sebagai setiap tugas desain yang harus dieksekusi Vertikal / Dimensi Abstraksi: merupakan tingkat detail setiap elemen model analisis ditransformasikan ke dalam model desain dan kemudian disempurnakan secara iteratif
Fasilkom|| 12/10/2013
Dimensions of the Design Model High
Abstraction Dimension
Analysis model
Design model
Low
Data/Class Elements
Architectural Elements
Interface Elements
Component-level Elements
Deployment-level Elements
Process Dimension (Progression) email
Fasilkom|| 12/10/2013
Design Model
Design model memilki elemenelemen berlapis
email
Data/class design Architectural design Interface design Component-level design Dan elemen tambahan deployment-level design
Component-level Design
Interface Design
Architectural Design Data/Class Design
deployment-level design: menunjukkan bagaimana fungsi perangkat lunak dan subsistem akan dialokasikan dalam lingkungan komputasi fisik yang akan mendukung perangkat lunak Fasilkom|| 12/10/2013
Architecture Design Penggolongan sederhana gaya-gaya arsitektur 1. Arsitektur Berpusat pada Data Sebuah tempat penyimpanan data (misal basis data) berada pada pusat arsitektur dan diakses secara sering oleh komponen-komponen lainnya yang melakukan pembaruan, penambahan, penghapusan, atau memodifikasi data yang berada di tempat penyimpanan
email
Fasilkom|| 12/10/2013
Architecture Design
Arisitektur Berpusat pada Data email
Fasilkom|| 12/10/2013
Architecture Design Penggolongan sederhana gaya-gaya arsitektur 2. Arsitektur Aliran Data Aristektur aliran data ini dapat diterapkan saat data yang dimasukkan akan ditransformasikan menggunakan sejumlah komponen komputasional atau pemanipulasi untum menghasilkan data keluaran
email
Fasilkom|| 12/10/2013
Architecture Design
Arisitektur Aliran Data email
Fasilkom|| 12/10/2013
Architecture Design Penggolongan sederhana gaya-gaya arsitektur 3. Arsitektur Pemanggilan dan Pengembalian Nilai Gaya arsitektur yang memungkinkan untuk mencapai suatu struktur program yang relatif mudah untuk dimodifikasi dan diubah.
email
Fasilkom|| 12/10/2013
Architecture Design Program Utama Sub Program Pengendali
Sub Program Aplikasi
Sub Program Pengendali
Sub Program Aplikasi
Sub Program Pengendali
Sub Program Aplikasi
Sub Program Aplikasi
Sub Program Aplikasi
Arisitektur Pemanggilan dan Pengembalian Nilai email
Fasilkom|| 12/10/2013
Architecture Design Penggolongan sederhana gaya-gaya arsitektur 4. Arsitektur Berorientasi Objek Komponen-komponen suatu sistem yang membungkus di dalamnya data dan operasi untuk memanipulasi data 5. Arsitektur Perlapisan Sejumlah lapisan yang berbeda, masing-masing menyelesaikan operasinya. Dengan lapisan inti adalah sistem operasi
email
Fasilkom|| 12/10/2013
Architecture Design
Arisitektur Pemanggilan dan Pengembalian Nilai email
Fasilkom|| 12/10/2013
Interface Design The User Interface Design Process 1. User, Task & Environment Analysis 2. Interface Design 3. Implementation 4. Interface Validation
email
Fasilkom|| 12/10/2013
Interface Design Interface Design Evaluation Process
email
Fasilkom|| 12/10/2013
email
Fasilkom|| 12/10/2013