1 of 9

Mata Kuliah : Rekayasa Perangkat Lunak�Minggu ke-3

2 of 9

Mahasiswa memahami tentang Software Design Strategies and Methods

Tujuan perkuliahan

3 of 9

Dasar-dasar Desain Perangkat Lunak�Software Design Fundamentals

  • Desain didefinisikan sebagai proses mendefinisikan arsitektur, komponen, antarmuka, dan karakteristik lain dari sistem atau komponen" dan "hasil dari proses [itu]"
  • Desain software didefinisikan sebagai aktivitas siklus hidup rekayasa dan deskripsi struktur internal yang akan menjadi dasar untuk konstruksinya.
  • Hasil mendesain menggambarkan komponen pada tingkat detail dan antarmuka di antara komponen-komponen tersebut

4 of 9

Permasalahan Utama Pada Desain Perangkat LunakKey Issues in Software Design

Sejumlah isu kunci harus ditangani dengan ketika merancang perangkat lunak, yaitu:

  1. Concurrency
    • Bagaimana untuk menguraikan perangkat lunak ke dalam proses, tugas, dan benang dan menangani terkait dengan efisiensi, atomicity, sinkronisasi, dan masalah penjadwalan.
  2. Pengendalian dan Penanganan Acara
    • Bagaimana untuk mengatur data dan kontrol aliran, bagaimana menangani reaktif dan temporal acara melalui berbagai mekanisme seperti seruan implisit dan panggilan-punggung.
  3. Distribusi Komponen
    • Bagaimana untuk mendistribusikan perangkat lunak di seluruh perangkat keras, bagaimana komponen berkomunikasi, bagaimana middleware dapat digunakan untuk menangani perangkat lunak heterogen.
  4. Kesalahan dan Penanganan Exception dan Toleransi Kesalahan
    • Bagaimana mencegah dan toleransi kesalahan dan menangani kondisi yang luar biasa.
  5.  Interaksi dan Presentasi
    • Bagaimana struktur dan mengatur interaksi dengan pengguna dan penyajian informasi . Perlu dicatat bahwa hal ini topik bukan tentang rincian menentukan antarmuka pengguna, yang tugas desain antarmuka pengguna.
  6. Data Ketekunan
    • Berapa lama tinggal data harus ditangani.

5 of 9

Struktur dan Arsitektur perangkat lunakSoftware Structure and Architecture

Dalam arti ketat, arsitektur perangkat lunak adalah "deskripsi dari subsistem dan komponen sistem perangkat lunak dan hubungan antara mereka:

  • Arsitektur Struktur dan Viewpoints
    • Berbeda tingkat tinggi segi desain software dapat dan harus dijelaskan dan didokumentasikan. Aspek ini sering disebut views: "view merupakan aspek parsial dari perangkat lunak arsitektur yang menunjukkan sifat-sifat tertentu dari sebuah  perangkat lunak sistem “.
  • Pola desain (pola microarchitectural)
    • Singkatnya dijelaskan, pola adalah "solusi umum untuk masalah umum dalam konteks tertentu ". Sementara gaya arsitektur dapat dilihat sebagai pola yang menggambarkan organisasi tingkat tinggi dari perangkat lunak 
  • Keluarga dan Kerangka Program
    • Satu kemungkinan pendekatan untuk memungkinkan penggunaan kembali perangkat lunak desain dan komponen untuk merancang keluarga dari perangkat lunak, juga dikenal sebagai lini produk perangkat lunak. 

6 of 9

Desain Perangkat Lunak Analisis dan Evaluasi KualitasSoftware Design Quality Analysis and Evaluation

Bagian ini mencakup sejumlah kualitas dan evaluasi topik yang secara khusus berkaitan dengan desain perangkat lunak. Kebanyakan dibahas secara umum dalam KA Kualitas Perangkat Lunak:

  1. Kualitas Atribut
    • Berbagai atribut pada umumnya dianggap penting untuk mendapatkan perangkat lunak desain berkualitas baik berbagai "Ilities" (rawatan, portabilitas, testability, ketertelusuran), berbagai "nesses" (kebenaran, ketahanan), termasuk "kebugaran dari tujuan." 
  2. Analisis kualitas dan Teknik Evaluasi
    • Berbagai alat dan teknik yang dapat membantu memastikan kualitas desain perangkat lunak. Seperti Ulasan Software Design, Kualitas Artefak Desain, Statis Analisis, Simulasi dan Prototipe.
  3. Tindakan
    • Tindakan dapat digunakan untuk menilai atau memperkirakan secara kuantitatif berbagai aspek dari ukuran desain perangkat lunak, struktur, atau kualitas.

7 of 9

Desain perangkat lunak NotasiSoftware Design Notations

Banyak notasi dan bahasa yang ada untuk mewakili desain perangkat lunak. Beberapa digunakan terutama untuk menjelaskan desain struktur organisasi, dan untuk mewakili perangkat lunak perilaku :

  1. Deskripsi Struktural (pandangan statis)
    • Notasi berikut, sebagian besar (tetapi tidak selalu) grafis, menggambarkan dan mewakili aspek struktural perangkat lunak desain-yaitu, mereka menjelaskan komponen utama dan�bagaimana mereka saling berhubungan (lihat statis):
  2. Deskripsi perilaku (pandangan dinamis)
    • Berikut notasi dan bahasa, beberapa grafis dan beberapa tekstual, yang digunakan untuk menggambarkan perilaku dinamis dari perangkat lunak dan komponen. Banyak dari notasi yang�kebanyakan berguna, tetapi tidak eksklusif, selama desain rinci.
      1. Data flow diagram (DFD)
      2. Flowchart dan diagram alur terstruktur
      3. Pseudocode dan bahasa program desain (PDLs)

8 of 9

Strategi dan Metode Desain Perangkat LunakSoftware Design Strategies and Methods

Ada ada berbagai strategi umum untuk membantu memandu proses desain:

  1. Strategi Umum
  2. Fungsi-Oriented (Structured) Desain
  3. Desain Berorientasi Objek
  4. Data-Struktur-Centered Desain
  5. Komponen Berbasis Desain (CBD)

9 of 9