SlideShare a Scribd company logo
1 of 27
Our Team
Inka Sulistiani
11180910000013
Adya Sari
11180910000016
Perancangan Dalam Bentuk
Rekayasa Perangkat Lunak
CONCEPTS
Proses Perancangan
Konsep-Konsep Perancangan
Model Perancangan
color: #eecc11;
01
Perancangan data/kelas
Pada dasarnya melakukan transformasi model-model kelas menjadi rancangan
kelas-kelas realisasi dan juga menghasilkan struktur-struktur data yang
diperlukan untuk mengimplementasikan perangkat lunak.
02
Perancangan arsitektural
sistem/perangkat lunak
Mendefinisikan hubungan antara elemen-elemen structural utama dari suatu
perangkat lunak, mendefinisikan gaya arsitektural dan pola-pola perancangan
dapat digunakan untuk mencapai kebutuhan-kebutuhan yang sebelumnya telah
didefinisikan pada tahapan analisis sistem, dan memungkinkan batasan-batasan
yang memiliki imbas pada arsitektur dapat diimplementasikan.
03
Perancangan antarmuka
Mendeskripsikan bagaimana caranya kelak perangkat lunak berkomunikasi
dengan sistem-sistem yang bekerja bersamanya dan dengan orang-orang yang
akan menggunakannya.
• Infographic Style
• Memuat rancangan komponen-
komponen yang memperlihatkan
karakteristik-karakteristik fungsional
yang bersifat mandiri.
• Memuat antarmuka-antarmuka yang
akan mengurangi kompleksitas
hubungan-hubungan antara komponen-
komponen dalam perangkat lunak
dengan lingkungan eksternalnya.
• Didapat dari metode perulangan yang
dikendalikan oleh informasi yang
diperoleh selama analisis kebutuhan
perangkat lunak dilakukan.
• Direpresentasikan menggunakan
notasi-notasi yang secara efektif
mengkomunikasikan maknanya.
• Mencerminkan arsitektur yang telah dibuat
menggunakan gaya yang telah dikenal
sebelumnya, tersusun oleh komponen yang
memiliki karakteristik perancangan perangkat
lunak yang baik, dan dapat diimplementasikan
dalam bentuk evolusioner.
• Bersifat modular.
• Memuat secara jelas representasi data,
arsitektur, antarmuka-antarmuka, dan
komponen-komponen.
• Memuat struktur-struktur data yang sesuai
untuk kelas-kelas sedemikian rupa
sehingga kelak dapat diimplementasikan
dan dapat digambarkan dari pola-pola
data yang dapat dikenali.
Panduan Kualitas
Atribut-Atribut Kualitas
01 02 0403 05
Melakukan evaluasi atas
sejumlah fitur, kemampuan
program, fungsi-fungsi
umum yang akan
diserahkan, serta keamanan
sistem secara keseluruhan
Fungsionalitas
Mempertimbangkan faktor-
faktor manusia, estetika
secara keseluruhan,
konsistensi, serta
dokumentasi
Penggunaan
Melakukan penilaian atas
sejumlah serta
keparahan kegagalan
sistem, akurasi dari
output sistem, selang
waktu antarkegagalan,
serta kemampuan
program untuk
diramalkan perilakunya.
Keandalan
Pertimbangan kecepatan
pemrosesan, response
time, penggunaan sumber
daya, serta efisiensinya.
Kinerja
Menggabungkan kemampuan
program untuk dikembangkan,
kemampuannya beradaptasi
terhadap perubahan
lingkungan komputasi,
kemampuannya untuk
melayani kebutuhan pengguna.
Daya Dukung
Evolusi Perancangan
Perangkat Lunak
Pekerjaan awal perancangan perangkat lunak berkonsentrasi pada
kriteria untuk pengembangan program yang bersifat modular dan
berkonsentrasi pada metode-metode yang digunakan untuk
melakukan penghalusan struktur perangkat lunak yang secara
umum bergerak dari atas ke bawah.
Pendekatan perangkat lunak yang lebih baru menggunakan
pendekatan berorientasi objek pada perancangan.
Penekanan yang terbaru pada perancangan perangkat lunak
adalah pada arsitektur sistem/perangkat lunak dan pda pola-pola
perancangan perangkat lunak pada peringkat-peringkat abstraksi
perancangan yang lebih rendah.
color: #eecc11;
Abstraksi adalah satu dari cara yang
mendasar yang sering digunakan oleh
manusia untuk menanggapi
kompleksitas.
Saat kita mempertimbangkan solusi
modular untuk setiap permasalahan,
beberapa peringkat abstraksi dapat di
perlihatkan. Mulai dari paling tinggi, lebih
randah, dan paling rendah. Saat berbagai
peringkat abstraksi dikembangkan, kita
bekerja untuk membuat baik abstraksi
procedural maupun abstraksi data.
Suatu abstraksi procedural merujuk pada
urutan dari perintah-perintah yang
memiliki fungsi yang sifatnya spesifik dan
terbatas. Sementara itu, abstraksi data
merupakan kumpulan data yang
mendeskripsikan sebuah objek data.
1. Abstarksi
Arsitektur sistem/perangkat lunak
merupakan struktur atau organisasi dari
komponen-komponen program (modul-
modul) yang menjelaskan bagaimana
komponen-komponen itu berinteraksi
dan juga menjelaskan struktur data
yang digunakan oleh komponen-
komponen itu.
Salah satu sasaran perancangan
perangkat lunak adalah untuk
mendapatkan suatu arsitektur yang
membentuk sistem. Pembentukan
sistem ini bertindak sebagai kerangka
kerja darimana aktivitas-aktivitas
perancangan yang lebih rinci
dikerjakan. Sejumlah pola arsitektural
perangkat lunak memungkinkan
rekayasawan perangkat lunak
menyelesaikan permasalahan-
permasalahan perancangan bersifat
umum.
2. Arsitektur
3. Patterns (Pola-pola)
Pola perancangan perangkat lunak mendeskripsikan suatu struktur
perancangan yang menyelesaikan suatu permasalahan perancangan yang ada
di dalam suatu konteks tertentu dan memiliki imbas yang serupa pada
perancangan saat ini seperti dengan diterapkannya pola yang bersangkutan di
masa-masa sebelumnya.
Tujuan dari masing-masing pola perancangan perangkat lunak adalah untuk
menyediakan sebuah deskripsi lengkap yang memungkinkan para perancang
perangkat lunak untuk menentukan: (1) apakah pola perancangan perangkat
lunak itu dapat diterapkan pada pekerjaan yang sekarang sedang
dilaksanakan. (2) apakah pola perancangan perangkat lunak itu dapat
digunakan ulang. (3) dan apakah pola perancangan perangkat lunak itu dapat
bertindak sebagai panduan untuk mengembangkan pola yang serupa,
meskipun fungsionalitas serta strukturnya berbeda.
Education
Plan
5. Modularitas
Perangkat lunak bisa dibagi menjadi
komponen-komponen yang dapat diselesaikan
secara mandiri (seringkali dinamakan sebagai
modul-modul), yang kemudian diintegrasikan
untuk menyelesaikan kebutuhan-kebutuhan
permasalahan yang telah didefinisikan
sebelumnya.
6. Information Hiding
(Penyembunyian Informasi)
Information hiding mengimplikasikan
bahwa modularitas perangkat lunak dapat
dicapai dengan mendefinisikan sejumlah
modul perangkat lunak mandiri yang
berkomunikasi dengan modul yang lainnya
dalam hal informasi yang diperlukan untuk
mencapai fungsi perangkat lunak tertentu
4. Separation of Concerns
(Pemisahan Perhatian)
Pemisahan perhatian merupakan
konsep perancangan yang
menyarankan bahwa setiap
permasalahan yang kompleks
dapat lebih mudah ditangani jika
permasalahan itu dibagi-bagi
menjadi bagian-bagian yang lebih
kecil dan lebih mudah diselesaikan
dan/atau dioptimasi.
Dengan memisahakan perhatian-
perhatian menjadi bentuk yang
lebih kecil, lebih mudah dipahami
dan dikelola, permasalahan-
permasalahan akan memerlukan
usaha dan waktu yang lebih sedikit
untuk dapat diselesaikan.
7. Functional Independence
Kemandirian fungsional dapat dicapai dengan cara
mengembangkan modul-modul perangkat lunak yang masing-
masing memiliki fungsi tunggal dan masing-masing memiliki
interaksi yang bersifat tertutup dengan modul-modul perangkat lunak
lainnya.
kemandirian modul-modul perangkat lunak dapat dinilai
menggunakan 2 kriteria yang bersifat kualitatif :
1. Kohesivitas : suatu indikasi dari kemandirian relatif antarmodul.
Suatu modul bersifat kohesif seharusnya (idealnya) hanya
melakukan satu pekerjaan.
2. Keterhubungan : indikasi kesalingterhubungan antarmodul
dalam struktur suatu perangkat lunak. pada perancangan
perangkat lunak, kita harus berusaha agar tingkat
keterhubungan antarmodul menjadi serendah mungkin.
Education
Plan
8. Refinement
Penghalusan (refinement)
merupakan proses elaborasi.
Kita mulai dengan pernyataan
fungsi yang didefinisikan pada
peringkat abstraksi perangkat
lunak yang tinggi, yaitu
pernyataan yang
mendeskripsikan fungsi atau
informasi secara konseptual.
Kemudian kita melakukan
elaborasi pada pernyataan awal
dengan cara memberikan
rincian-rincian saat penghalusan
tersebut (elaborasi) berlangsung.
Refinement membantu kita untuk
menyingkapkan rincian-rincian
peringkat rendah saat proses
perancangan perangkat lunak
berlangsung.
9. Aspects
Aspek-aspek merupakan
kumpulan dari beberapa
“concern” yang mencakup
didalamnya spesifikasi-
spesifikasi kebutuhan, use case-
use case, struktur-struktur data,
kolaborasi-kolaborasi, pola-pola
dan batasan-batasan.
Refaktorasi merupakan suatu teknik
pengorganisasian ulang perancangan
perangkat lunak yang bertujuan untuk
menyederhanakan perancangan komponen-
komponen (atau kode program yang
dihasilkan) tanpa harus mengubah fungsi
atau behaviornya.
10. Refaktorisasi
Konsep-konsep perancangan “berorientasi
objek” contohnya, seperti konsep-konsep
yang berkaitan dengan kelas-kelas dan
objek-objek, pewarisan (inheritence), pesan-
pesan (message), dan polimosfisme.
11. Object-Oriented Design
Concepts
12. Design class
Mengimplementasikan abstraksi bisnis
peringkat lebih rendah yang diperlukan
untuk secara penuh mengelola business
domain classes.
Process Classes
Merepresentasikan tempat-tempat
penyimpanan data (misalnya sistem basis
data) yang akan digunakan untuk
menyimpan data-data yang diperlukan bagi
eksekusi perangkat lunak.
Persistent Classes
Mengidentifikasi atribut-atribut dan layanan-
layanan (metode-metode) yang diperlukan
untuk mengimplementasikan beberapa
elemen business domain classes.
Business Domain Classes
Mendefinisikan semua abstraksi yang
diperlukan bagi interaksi manusia-komputer
(Human Computer Interaction).
User Interface Classes
Mengimplementasikan pengelolaan
perangkat lunak dan mengendalikan fungsi-
fungsi yang memungkinkan sistem
beroperasi dan berkomunikasi didalam
lingkungan komputasi yang digunakan dan
juga memungkinkan sistem beroperasi dan
berkomunikasi dengan dunia luar.
System Classes
Arlow dan Neustadt mendefinisikan 4 karakteristik dari
kelas perancangan yang baik :
S
T
W
O
Perancangan data membuat model data
dan/atau informasi yang kelak akan
direpresentasikan pada peringkat abstraksi
yang tinggi.
Struktur data dan algoritma adalah bagian
penting dari perancangan perangkat lunak.
Elemen-elemen perancangan arsitektural
memberi pada kita gambaran keseluruhan
perangkat lunak yang akan dikembangkan.
Model arsitektual perangkat lunak didapatkan
dari 3 sumber :
1. Informasi tentang application domain
untuk perangkat lunak yang akan
dikembangkan.
2. Kebutuhan-kebutuhan spesifik elemen-
elemen model seperti diagram aliran
data (data flow diagram) atau kelas-
kelas analisis, hubungan-hubungannya
untuk penyelesian masalah.
3. Ketersediaan gaya arsitektural serta
pola-pola.
1. Data Design Elements
2. Architectural Design Elements
Internal Interface
External Interface
3. Interface Design Elements
User Interface
–ke sistem-sisem lainnya, interface ke sarana-sarana lainnya,
interface ke jaringan-jaringan lainnya, atau interface produsen-
produsen/konsumen-konsumen informasi lainnya.
Internal interface diantara berbagai komponen-komponen
perancangan.
Diagram komponen UML
Perancangan peringkat
komponen untuk perangkat
lunak secara penuh
mendeskripsikan rincian
internal untuk masing-masing
komponen perangkat lunak.
4. Component-Level
Design Elements
Elemen-elemen perancangan
peringkat penebaran-komponen
(deployment) menggambarkan
bagaimana fungsionalitas perangkat
lunak dan subsistem-subsistem akan
dialokasikan didalam lingkungan
komputasi fisik yang akan
mendukungnya.
5. Deployment-Level
Design Elements
UML deployment diagram
Thank You

More Related Content

What's hot

Arsitektur desain data pada RPL
Arsitektur desain data pada RPLArsitektur desain data pada RPL
Arsitektur desain data pada RPLari alfian
 
Spesifikasi perangkat lunak
Spesifikasi perangkat lunakSpesifikasi perangkat lunak
Spesifikasi perangkat lunakarfianti
 
Rpl 012 - perancangan berorientasi objek
Rpl   012 - perancangan berorientasi objekRpl   012 - perancangan berorientasi objek
Rpl 012 - perancangan berorientasi objekFebriyani Syafri
 
Rpl 09 - spesifikasi formal
Rpl   09 - spesifikasi  formalRpl   09 - spesifikasi  formal
Rpl 09 - spesifikasi formalFebriyani Syafri
 
Aps12 design object_modeling
Aps12 design object_modelingAps12 design object_modeling
Aps12 design object_modelingArif Rahman
 
Sim 12, septian hilmawan, prof. dr. ir. h. hapzi ali, mm, sistem pengambilan ...
Sim 12, septian hilmawan, prof. dr. ir. h. hapzi ali, mm, sistem pengambilan ...Sim 12, septian hilmawan, prof. dr. ir. h. hapzi ali, mm, sistem pengambilan ...
Sim 12, septian hilmawan, prof. dr. ir. h. hapzi ali, mm, sistem pengambilan ...septiansch1623
 
02 01-001-sistem[arnold]
02 01-001-sistem[arnold]02 01-001-sistem[arnold]
02 01-001-sistem[arnold]jono13
 
Aps13 design unified_modelinglanguage
Aps13 design unified_modelinglanguageAps13 design unified_modelinglanguage
Aps13 design unified_modelinglanguageArif Rahman
 
03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis DataAinul Yaqin
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunakSahrul Sindriana
 
Sistem terdistribusi (dhaa9)
Sistem terdistribusi (dhaa9)Sistem terdistribusi (dhaa9)
Sistem terdistribusi (dhaa9)Mawaddah Warahmah
 
Uml yusep wendy budiman
Uml yusep wendy budimanUml yusep wendy budiman
Uml yusep wendy budimanYusep Budiman
 

What's hot (20)

Arsitektur desain data pada RPL
Arsitektur desain data pada RPLArsitektur desain data pada RPL
Arsitektur desain data pada RPL
 
Spesifikasi perangkat lunak
Spesifikasi perangkat lunakSpesifikasi perangkat lunak
Spesifikasi perangkat lunak
 
Rpl 012 - perancangan berorientasi objek
Rpl   012 - perancangan berorientasi objekRpl   012 - perancangan berorientasi objek
Rpl 012 - perancangan berorientasi objek
 
Rpl 09 - spesifikasi formal
Rpl   09 - spesifikasi  formalRpl   09 - spesifikasi  formal
Rpl 09 - spesifikasi formal
 
Aps12 design object_modeling
Aps12 design object_modelingAps12 design object_modeling
Aps12 design object_modeling
 
Sim 12, septian hilmawan, prof. dr. ir. h. hapzi ali, mm, sistem pengambilan ...
Sim 12, septian hilmawan, prof. dr. ir. h. hapzi ali, mm, sistem pengambilan ...Sim 12, septian hilmawan, prof. dr. ir. h. hapzi ali, mm, sistem pengambilan ...
Sim 12, septian hilmawan, prof. dr. ir. h. hapzi ali, mm, sistem pengambilan ...
 
Hci pert52
Hci pert52Hci pert52
Hci pert52
 
Desain arsitektur-pl-pert5
Desain arsitektur-pl-pert5Desain arsitektur-pl-pert5
Desain arsitektur-pl-pert5
 
Modul uml
Modul umlModul uml
Modul uml
 
02 01-001-sistem[arnold]
02 01-001-sistem[arnold]02 01-001-sistem[arnold]
02 01-001-sistem[arnold]
 
Aps13 design unified_modelinglanguage
Aps13 design unified_modelinglanguageAps13 design unified_modelinglanguage
Aps13 design unified_modelinglanguage
 
03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data03 Sistem Manajemen Basis Data
03 Sistem Manajemen Basis Data
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunak
 
Uml
UmlUml
Uml
 
Sistem terdistribusi (dhaa9)
Sistem terdistribusi (dhaa9)Sistem terdistribusi (dhaa9)
Sistem terdistribusi (dhaa9)
 
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan SistemRekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
 
Perancangan tampilan
Perancangan tampilanPerancangan tampilan
Perancangan tampilan
 
Tugas umll
Tugas umllTugas umll
Tugas umll
 
Uml yusep wendy budiman
Uml yusep wendy budimanUml yusep wendy budiman
Uml yusep wendy budiman
 
Rancangan perangkat lunak
Rancangan perangkat lunakRancangan perangkat lunak
Rancangan perangkat lunak
 

Similar to Design Concept

Rekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsRekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsListyowatik (Yanie)
 
Materi Permodelan Perangkat Lunak 1.pptx
Materi Permodelan Perangkat Lunak 1.pptxMateri Permodelan Perangkat Lunak 1.pptx
Materi Permodelan Perangkat Lunak 1.pptxardanaadam1
 
04 Software Design Strategies and Methods
04 Software Design Strategies and Methods04 Software Design Strategies and Methods
04 Software Design Strategies and MethodsAinul Yaqin
 
meet_05 - MDPL - INF Kls A.pptx
meet_05 - MDPL - INF Kls A.pptxmeet_05 - MDPL - INF Kls A.pptx
meet_05 - MDPL - INF Kls A.pptxAndraAnonimus
 
Rancangan perangkat lunak
Rancangan perangkat lunakRancangan perangkat lunak
Rancangan perangkat lunakAinul Yaqin
 
9. sistem terdistribusi (dhaa9)
9. sistem terdistribusi (dhaa9)9. sistem terdistribusi (dhaa9)
9. sistem terdistribusi (dhaa9)khalghy
 
PPT KELOMPOK_Desain Arsitektur_Semester 3
PPT KELOMPOK_Desain Arsitektur_Semester 3PPT KELOMPOK_Desain Arsitektur_Semester 3
PPT KELOMPOK_Desain Arsitektur_Semester 3thevillain911
 
Pbo perbandingan antara pemrograman procedural dengan pemrograman beroriant...
Pbo   perbandingan antara pemrograman procedural dengan pemrograman beroriant...Pbo   perbandingan antara pemrograman procedural dengan pemrograman beroriant...
Pbo perbandingan antara pemrograman procedural dengan pemrograman beroriant...Wahyu Zakwan
 
Chapt 5. interface design principles
Chapt 5. interface design principlesChapt 5. interface design principles
Chapt 5. interface design principlesIbnu Dzakwan
 
Webeng2010 05-arsitektur-aplikasi-web
Webeng2010 05-arsitektur-aplikasi-webWebeng2010 05-arsitektur-aplikasi-web
Webeng2010 05-arsitektur-aplikasi-webAdkha Abib
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunakAdityaSaputra83
 
Materi rsi 3 koordinasi
Materi rsi 3 koordinasiMateri rsi 3 koordinasi
Materi rsi 3 koordinasidonasiilmu
 
Analisis dan perancangan sistem informasi
Analisis dan perancangan sistem informasiAnalisis dan perancangan sistem informasi
Analisis dan perancangan sistem informasiDyah Ayu Damayanti
 

Similar to Design Concept (20)

Rekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsRekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentals
 
Materi Permodelan Perangkat Lunak 1.pptx
Materi Permodelan Perangkat Lunak 1.pptxMateri Permodelan Perangkat Lunak 1.pptx
Materi Permodelan Perangkat Lunak 1.pptx
 
04 Software Design Strategies and Methods
04 Software Design Strategies and Methods04 Software Design Strategies and Methods
04 Software Design Strategies and Methods
 
meet_05 - MDPL - INF Kls A.pptx
meet_05 - MDPL - INF Kls A.pptxmeet_05 - MDPL - INF Kls A.pptx
meet_05 - MDPL - INF Kls A.pptx
 
Rancangan perangkat lunak
Rancangan perangkat lunakRancangan perangkat lunak
Rancangan perangkat lunak
 
Kelompok 5
Kelompok 5Kelompok 5
Kelompok 5
 
9. sistem terdistribusi (dhaa9)
9. sistem terdistribusi (dhaa9)9. sistem terdistribusi (dhaa9)
9. sistem terdistribusi (dhaa9)
 
PPT KELOMPOK_Desain Arsitektur_Semester 3
PPT KELOMPOK_Desain Arsitektur_Semester 3PPT KELOMPOK_Desain Arsitektur_Semester 3
PPT KELOMPOK_Desain Arsitektur_Semester 3
 
Pbo perbandingan antara pemrograman procedural dengan pemrograman beroriant...
Pbo   perbandingan antara pemrograman procedural dengan pemrograman beroriant...Pbo   perbandingan antara pemrograman procedural dengan pemrograman beroriant...
Pbo perbandingan antara pemrograman procedural dengan pemrograman beroriant...
 
Chapt 5. interface design principles
Chapt 5. interface design principlesChapt 5. interface design principles
Chapt 5. interface design principles
 
Webeng2010 05-arsitektur-aplikasi-web
Webeng2010 05-arsitektur-aplikasi-webWebeng2010 05-arsitektur-aplikasi-web
Webeng2010 05-arsitektur-aplikasi-web
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunak
 
Materi rsi 3 koordinasi
Materi rsi 3 koordinasiMateri rsi 3 koordinasi
Materi rsi 3 koordinasi
 
Analisis dan perancangan sistem informasi
Analisis dan perancangan sistem informasiAnalisis dan perancangan sistem informasi
Analisis dan perancangan sistem informasi
 
Komponen Dss
Komponen DssKomponen Dss
Komponen Dss
 
Komponen Dss
Komponen DssKomponen Dss
Komponen Dss
 
Komponen Dss
Komponen DssKomponen Dss
Komponen Dss
 
Komponen Dss
Komponen DssKomponen Dss
Komponen Dss
 
Komponen Dss
Komponen DssKomponen Dss
Komponen Dss
 
Komponen Dss
Komponen DssKomponen Dss
Komponen Dss
 

Design Concept

  • 1.
  • 3. Perancangan Dalam Bentuk Rekayasa Perangkat Lunak CONCEPTS Proses Perancangan Konsep-Konsep Perancangan Model Perancangan
  • 5.
  • 6. 01 Perancangan data/kelas Pada dasarnya melakukan transformasi model-model kelas menjadi rancangan kelas-kelas realisasi dan juga menghasilkan struktur-struktur data yang diperlukan untuk mengimplementasikan perangkat lunak. 02 Perancangan arsitektural sistem/perangkat lunak Mendefinisikan hubungan antara elemen-elemen structural utama dari suatu perangkat lunak, mendefinisikan gaya arsitektural dan pola-pola perancangan dapat digunakan untuk mencapai kebutuhan-kebutuhan yang sebelumnya telah didefinisikan pada tahapan analisis sistem, dan memungkinkan batasan-batasan yang memiliki imbas pada arsitektur dapat diimplementasikan. 03 Perancangan antarmuka Mendeskripsikan bagaimana caranya kelak perangkat lunak berkomunikasi dengan sistem-sistem yang bekerja bersamanya dan dengan orang-orang yang akan menggunakannya.
  • 7.
  • 8. • Infographic Style • Memuat rancangan komponen- komponen yang memperlihatkan karakteristik-karakteristik fungsional yang bersifat mandiri. • Memuat antarmuka-antarmuka yang akan mengurangi kompleksitas hubungan-hubungan antara komponen- komponen dalam perangkat lunak dengan lingkungan eksternalnya. • Didapat dari metode perulangan yang dikendalikan oleh informasi yang diperoleh selama analisis kebutuhan perangkat lunak dilakukan. • Direpresentasikan menggunakan notasi-notasi yang secara efektif mengkomunikasikan maknanya. • Mencerminkan arsitektur yang telah dibuat menggunakan gaya yang telah dikenal sebelumnya, tersusun oleh komponen yang memiliki karakteristik perancangan perangkat lunak yang baik, dan dapat diimplementasikan dalam bentuk evolusioner. • Bersifat modular. • Memuat secara jelas representasi data, arsitektur, antarmuka-antarmuka, dan komponen-komponen. • Memuat struktur-struktur data yang sesuai untuk kelas-kelas sedemikian rupa sehingga kelak dapat diimplementasikan dan dapat digambarkan dari pola-pola data yang dapat dikenali. Panduan Kualitas
  • 9. Atribut-Atribut Kualitas 01 02 0403 05 Melakukan evaluasi atas sejumlah fitur, kemampuan program, fungsi-fungsi umum yang akan diserahkan, serta keamanan sistem secara keseluruhan Fungsionalitas Mempertimbangkan faktor- faktor manusia, estetika secara keseluruhan, konsistensi, serta dokumentasi Penggunaan Melakukan penilaian atas sejumlah serta keparahan kegagalan sistem, akurasi dari output sistem, selang waktu antarkegagalan, serta kemampuan program untuk diramalkan perilakunya. Keandalan Pertimbangan kecepatan pemrosesan, response time, penggunaan sumber daya, serta efisiensinya. Kinerja Menggabungkan kemampuan program untuk dikembangkan, kemampuannya beradaptasi terhadap perubahan lingkungan komputasi, kemampuannya untuk melayani kebutuhan pengguna. Daya Dukung
  • 10. Evolusi Perancangan Perangkat Lunak Pekerjaan awal perancangan perangkat lunak berkonsentrasi pada kriteria untuk pengembangan program yang bersifat modular dan berkonsentrasi pada metode-metode yang digunakan untuk melakukan penghalusan struktur perangkat lunak yang secara umum bergerak dari atas ke bawah. Pendekatan perangkat lunak yang lebih baru menggunakan pendekatan berorientasi objek pada perancangan. Penekanan yang terbaru pada perancangan perangkat lunak adalah pada arsitektur sistem/perangkat lunak dan pda pola-pola perancangan perangkat lunak pada peringkat-peringkat abstraksi perancangan yang lebih rendah.
  • 12. Abstraksi adalah satu dari cara yang mendasar yang sering digunakan oleh manusia untuk menanggapi kompleksitas. Saat kita mempertimbangkan solusi modular untuk setiap permasalahan, beberapa peringkat abstraksi dapat di perlihatkan. Mulai dari paling tinggi, lebih randah, dan paling rendah. Saat berbagai peringkat abstraksi dikembangkan, kita bekerja untuk membuat baik abstraksi procedural maupun abstraksi data. Suatu abstraksi procedural merujuk pada urutan dari perintah-perintah yang memiliki fungsi yang sifatnya spesifik dan terbatas. Sementara itu, abstraksi data merupakan kumpulan data yang mendeskripsikan sebuah objek data. 1. Abstarksi Arsitektur sistem/perangkat lunak merupakan struktur atau organisasi dari komponen-komponen program (modul- modul) yang menjelaskan bagaimana komponen-komponen itu berinteraksi dan juga menjelaskan struktur data yang digunakan oleh komponen- komponen itu. Salah satu sasaran perancangan perangkat lunak adalah untuk mendapatkan suatu arsitektur yang membentuk sistem. Pembentukan sistem ini bertindak sebagai kerangka kerja darimana aktivitas-aktivitas perancangan yang lebih rinci dikerjakan. Sejumlah pola arsitektural perangkat lunak memungkinkan rekayasawan perangkat lunak menyelesaikan permasalahan- permasalahan perancangan bersifat umum. 2. Arsitektur
  • 13. 3. Patterns (Pola-pola) Pola perancangan perangkat lunak mendeskripsikan suatu struktur perancangan yang menyelesaikan suatu permasalahan perancangan yang ada di dalam suatu konteks tertentu dan memiliki imbas yang serupa pada perancangan saat ini seperti dengan diterapkannya pola yang bersangkutan di masa-masa sebelumnya. Tujuan dari masing-masing pola perancangan perangkat lunak adalah untuk menyediakan sebuah deskripsi lengkap yang memungkinkan para perancang perangkat lunak untuk menentukan: (1) apakah pola perancangan perangkat lunak itu dapat diterapkan pada pekerjaan yang sekarang sedang dilaksanakan. (2) apakah pola perancangan perangkat lunak itu dapat digunakan ulang. (3) dan apakah pola perancangan perangkat lunak itu dapat bertindak sebagai panduan untuk mengembangkan pola yang serupa, meskipun fungsionalitas serta strukturnya berbeda.
  • 14. Education Plan 5. Modularitas Perangkat lunak bisa dibagi menjadi komponen-komponen yang dapat diselesaikan secara mandiri (seringkali dinamakan sebagai modul-modul), yang kemudian diintegrasikan untuk menyelesaikan kebutuhan-kebutuhan permasalahan yang telah didefinisikan sebelumnya. 6. Information Hiding (Penyembunyian Informasi) Information hiding mengimplikasikan bahwa modularitas perangkat lunak dapat dicapai dengan mendefinisikan sejumlah modul perangkat lunak mandiri yang berkomunikasi dengan modul yang lainnya dalam hal informasi yang diperlukan untuk mencapai fungsi perangkat lunak tertentu 4. Separation of Concerns (Pemisahan Perhatian) Pemisahan perhatian merupakan konsep perancangan yang menyarankan bahwa setiap permasalahan yang kompleks dapat lebih mudah ditangani jika permasalahan itu dibagi-bagi menjadi bagian-bagian yang lebih kecil dan lebih mudah diselesaikan dan/atau dioptimasi. Dengan memisahakan perhatian- perhatian menjadi bentuk yang lebih kecil, lebih mudah dipahami dan dikelola, permasalahan- permasalahan akan memerlukan usaha dan waktu yang lebih sedikit untuk dapat diselesaikan.
  • 15. 7. Functional Independence Kemandirian fungsional dapat dicapai dengan cara mengembangkan modul-modul perangkat lunak yang masing- masing memiliki fungsi tunggal dan masing-masing memiliki interaksi yang bersifat tertutup dengan modul-modul perangkat lunak lainnya. kemandirian modul-modul perangkat lunak dapat dinilai menggunakan 2 kriteria yang bersifat kualitatif : 1. Kohesivitas : suatu indikasi dari kemandirian relatif antarmodul. Suatu modul bersifat kohesif seharusnya (idealnya) hanya melakukan satu pekerjaan. 2. Keterhubungan : indikasi kesalingterhubungan antarmodul dalam struktur suatu perangkat lunak. pada perancangan perangkat lunak, kita harus berusaha agar tingkat keterhubungan antarmodul menjadi serendah mungkin.
  • 16. Education Plan 8. Refinement Penghalusan (refinement) merupakan proses elaborasi. Kita mulai dengan pernyataan fungsi yang didefinisikan pada peringkat abstraksi perangkat lunak yang tinggi, yaitu pernyataan yang mendeskripsikan fungsi atau informasi secara konseptual. Kemudian kita melakukan elaborasi pada pernyataan awal dengan cara memberikan rincian-rincian saat penghalusan tersebut (elaborasi) berlangsung. Refinement membantu kita untuk menyingkapkan rincian-rincian peringkat rendah saat proses perancangan perangkat lunak berlangsung. 9. Aspects Aspek-aspek merupakan kumpulan dari beberapa “concern” yang mencakup didalamnya spesifikasi- spesifikasi kebutuhan, use case- use case, struktur-struktur data, kolaborasi-kolaborasi, pola-pola dan batasan-batasan.
  • 17. Refaktorasi merupakan suatu teknik pengorganisasian ulang perancangan perangkat lunak yang bertujuan untuk menyederhanakan perancangan komponen- komponen (atau kode program yang dihasilkan) tanpa harus mengubah fungsi atau behaviornya. 10. Refaktorisasi Konsep-konsep perancangan “berorientasi objek” contohnya, seperti konsep-konsep yang berkaitan dengan kelas-kelas dan objek-objek, pewarisan (inheritence), pesan- pesan (message), dan polimosfisme. 11. Object-Oriented Design Concepts
  • 18. 12. Design class Mengimplementasikan abstraksi bisnis peringkat lebih rendah yang diperlukan untuk secara penuh mengelola business domain classes. Process Classes Merepresentasikan tempat-tempat penyimpanan data (misalnya sistem basis data) yang akan digunakan untuk menyimpan data-data yang diperlukan bagi eksekusi perangkat lunak. Persistent Classes Mengidentifikasi atribut-atribut dan layanan- layanan (metode-metode) yang diperlukan untuk mengimplementasikan beberapa elemen business domain classes. Business Domain Classes Mendefinisikan semua abstraksi yang diperlukan bagi interaksi manusia-komputer (Human Computer Interaction). User Interface Classes Mengimplementasikan pengelolaan perangkat lunak dan mengendalikan fungsi- fungsi yang memungkinkan sistem beroperasi dan berkomunikasi didalam lingkungan komputasi yang digunakan dan juga memungkinkan sistem beroperasi dan berkomunikasi dengan dunia luar. System Classes
  • 19. Arlow dan Neustadt mendefinisikan 4 karakteristik dari kelas perancangan yang baik :
  • 20.
  • 21.
  • 22.
  • 23. S T W O Perancangan data membuat model data dan/atau informasi yang kelak akan direpresentasikan pada peringkat abstraksi yang tinggi. Struktur data dan algoritma adalah bagian penting dari perancangan perangkat lunak. Elemen-elemen perancangan arsitektural memberi pada kita gambaran keseluruhan perangkat lunak yang akan dikembangkan. Model arsitektual perangkat lunak didapatkan dari 3 sumber : 1. Informasi tentang application domain untuk perangkat lunak yang akan dikembangkan. 2. Kebutuhan-kebutuhan spesifik elemen- elemen model seperti diagram aliran data (data flow diagram) atau kelas- kelas analisis, hubungan-hubungannya untuk penyelesian masalah. 3. Ketersediaan gaya arsitektural serta pola-pola. 1. Data Design Elements 2. Architectural Design Elements
  • 24. Internal Interface External Interface 3. Interface Design Elements User Interface –ke sistem-sisem lainnya, interface ke sarana-sarana lainnya, interface ke jaringan-jaringan lainnya, atau interface produsen- produsen/konsumen-konsumen informasi lainnya. Internal interface diantara berbagai komponen-komponen perancangan.
  • 25. Diagram komponen UML Perancangan peringkat komponen untuk perangkat lunak secara penuh mendeskripsikan rincian internal untuk masing-masing komponen perangkat lunak. 4. Component-Level Design Elements
  • 26. Elemen-elemen perancangan peringkat penebaran-komponen (deployment) menggambarkan bagaimana fungsionalitas perangkat lunak dan subsistem-subsistem akan dialokasikan didalam lingkungan komputasi fisik yang akan mendukungnya. 5. Deployment-Level Design Elements UML deployment diagram