• Tidak ada hasil yang ditemukan

Desain Software. Arna Fariza PENS. Rekayasa Perangkat Lunak. Materi. Apakah desain software itu? Apakah modularisasi itu? Model

N/A
N/A
Protected

Academic year: 2021

Membagikan "Desain Software. Arna Fariza PENS. Rekayasa Perangkat Lunak. Materi. Apakah desain software itu? Apakah modularisasi itu? Model"

Copied!
14
0
0

Teks penuh

(1)

Desain Software

Arna Fariza

PENS

1 Rekayasa Perangkat Lunak

Materi

Apakah desain software itu?

Apakah modularisasi itu?

Model

2 Rekayasa Perangkat Lunak

(2)

Apakah Desain Software itu?

 Desain adalah proses mengubah persyaratan sistem ke

dalam produk yang lengkap

 Desain Software adalah output dari proses yang

o Dekomposisi sistem dalam beberapa baian o Menentukan tanggung jawab setiap bagian

o Memastikan bagian-bagian tersebut dapat mencapai tujuan global

 Desain terdiri dari aktifitas dan hasil dari aktifitas  Desain adalah aktifitas iteratif

o Mulai dari titik inisial

o Berkembang dan beriterasi dengan menambahkan fitur/kapabilitas

o Mencapai state yang tepat berdasarkan

• Obyektif/tujuan desain • Input/feedback dari konsumen

3 Rekayasa Perangkat Lunak

Apakah Desain Software itu?

 Software dikembangkan secara terinci sampai cukup

detail untuk mendukung implementasi

o Sistem dibagi ke dalam modul- modul (komponen, paket, class dll)

o Dekomposisi Top-Down

• Modul besar (komponen, paket, class) didekomposisi ke dalam bagian yang lebih kecil

• Bagian yang lebih kecil tsb mengimplementasikan bagian yang lebih besar

• Bagian yang lebih besar dikomposisi dari bagian yang lebih kecil

o Dekomposisi Bottom-Up

• Modul level yang lebih rendah didefinisikan terlebih dahulu • Modul-modul tsb dikombinasikan untuk membentuk modul yang

lebih besar

 Baik TD atau BU dapat mencapai hasil yang sama

4 Rekayasa Perangkat Lunak

(3)

Contoh Desain TD dan BU

5 Rekayasa Perangkat Lunak

Apakah Desain Software itu?

 Desain Software adalah

o Aktifitas yang menjembatani antara persyaratan dan implementasi software

o Aktifitas yang memberikan struktur benda yang dihasilkan

• Dokumen spesifikasi persyaratan harus didesain • Struktur dapat memudahkan untuk mengerti dan

mengembangkannya

 Aktifitas Desain Software

o Menentukan dekomposisi sistem ke dalam modul o Menghasilkan dokumen desain software

• Menggambarkan dekomposisi sistem ke dalam modul-modul

o Biasanya Arsitektur Software dihasilkan sebelum desain software

6 Rekayasa Perangkat Lunak

(4)

Apakah Arsitektur Software itu?

 Arsitektur Software

o Bentuk kasar dari sistem yang ditentukan o Terdiri dari deskripsi

• Komponen utama sistem • Relasi antar komponen

• Alasan dekomposisi ke dalam komponen-komponen • Batasan yang harus dipatuhi dalam mendesain komponen o Petunjuk pengembangan desain

7 Rekayasa Perangkat Lunak

Contoh Arsitektur Sistem

High-Tech Supermarket System (HTSS)

 Otomatisasi fungsi dan aksi

o Update kasir dan inventori

o Meletakkan bahan makanan secara user friendly o Pelacakan delivery order dengan cepat

o Mengontrol inventory

 Antar muka sistem user

o Scanner Cash Register o GUI untuk kontrol Inventory

o Shopper menghubungkan Locator dan Orderer o Antar muka deli untuk pekerja delivery order

8 Rekayasa Perangkat Lunak

(5)

Arsitektur Software HTSS

IC IC CR CR CR CR IL IL IL SDO SDO EDO EDO Order Payment Item ItemDB Local Server Non-Local Client Int. Inventory Control ItemDB Global Server OrderDB SupplierDB CreditCardDB ATM-BanKDB

IL: Item Locator CR: Cash Register

IC: Invent. Control

DO: Deli Orderer for Shopper/Employee

9 Rekayasa Perangkat Lunak

Apakah Modularisasi itu?

 Modularisasi mengungkit ide dari arsitektur software

o Arsitektur software mendekomposisi sistem ke dalam komponen yang berpengaruh

o Biasanya, komponen tersebut merupakan program independent terhadap platform hardware

o Modularisasi mendekomposisi komponen tersebut ke dalam modul-modul yang berpengaruh

 Modul:

o Adalah komponen Well-defined (terdifinisi dengan baik) dari sistem software

o Bagian dari sistem yang menyediakan layanan ke modul-modul lain

• Layanan adalah elemen komputasi yang tersedia untuk digunakan oleh modul lain

• Modul memberikan layanan dan mengambil layanan

10 Rekayasa Perangkat Lunak

(6)

Contoh Modularisasi

 Memanggil komponen Cash

Register dari HTSS  CR terdiri dari modul

o UPC Scanner

o Menyimpan Item yg terjual

• Mengurangi inventory • Menambah ke Nota • Menambah porfil konsumen o Pembayaran • Kupon • Cash/Debit/Credit o Nota  Modul-modul tersebut berinteraksi dengan komponen HTTS lain 11 Rekayasa Perangkat Lunak

Model

Kita membuat model untuk mendapatkan

pemahaman yang lebih baik dari entitas aktual

yang akan dibangun.

Ketika entitas adalah hal fisik (misalnya,

bangunan, pesawat, mesin), kita dapat

membangun sebuah model yang identik dalam

bentuk tetapi skala lebih kecil.

Ketika entitas yang akan dibangun adalah

perangkat lunak, model kita harus mengambil

bentuk yang berbeda.

(7)

Model

Harus mampu mewakili

o informasi transformasi software,

o arsitektur dan fungsi yang memungkinkan transformasi terjadi,

o fitur yang diinginkan pengguna, dan

o Perilaku sistem dimana transformasi terjadi

Rekayasa Perangkat Lunak 13

Dua Kelas Model

Dalam software engineering, dapat dibuat 2

kelas model yaitu:

o Model persyaratan dan o Model desain

Model persyaratan (atau analysis model)

merepresentasikan persyaratan konsumen

dengan menggambarkan software dalam 3

domain yang berbeda:

o Domain infomrasi o Domain fungsional o Domain perilaku

(8)

Dua Kelas Model

Model desain merepresentasikan karakteristik

software yang membantu praktisi membangun

dengan efektif: arsitektur, user interface dan

detail component-level

Rekayasa Perangkat Lunak 15

Prinsip Pemodelan

1. Tujuan utama dari tim software adalah

membangun software, bukan membuat model

2. Travel light—jangan membuat model lebih dari

yang dibutuhkan

3. Berusaha untuk menghasilkan model

sederhana yang akan menjelaskan masalah

atau perangkat lunak.

4. Membangun model yang memungkinkan untuk

perubahan

5. Mampu menyatakan suatu tujuan secara

eksplisit untuk setiap model yang dibuat.

(9)

Prinsip Pemodelan

6. Sesuaikan model yang Anda kembangkan untuk sistem yang dibangun.

7. Cobalah untuk membangun model yang berguna, tetapi lupakan membangun model yang sempurna. 8. Jangan menjadi dogmatis terhadap sintak dari

model. Jika dapat menjelaskan konten dengan baik, representasi adalah hal sekunder.

9. Jika naluri Anda mengatakan model ini tidak tepat meskipun tampaknya baik-baik saja di atas kertas, Anda mungkin punya alasan untuk

khawatir.

10. Dapatkan umpan balik secepat yang Anda bisa.

Rekayasa Perangkat Lunak 17

Prinsip Model Persyaratan

1. Domain informasi dari masalah harus diwakili dan dipahami.

2. Fungsi apa yang dilakukan software harus didefinisikan.

3. Perilaku software (sebagai akibat event eksternal) harus direpresentasikan.

4. Model yang menggambarkan informasi, fungsi, dan perilaku harus dipartisi dengan cara

mengungkapkan detail dalam layer berlapis (atau hirarkis).

5. Task analisis harus bergerak dari informasi penting menjadi detail implementasi

(10)

Elemen Model Persyaratan

 Elemen Scenario-based.

o Sistem ini dijelaskan dari sudut pandang pengguna menggunakan pendekatan berbasis skenario

o Elemen Scenario-based dari model persyaratan seringkali menjadi bagian pertama dari model yang dikembangkan. o Dengan demikian, mereka berfungsi sebagai input untuk

pembuatan elemen pemodelan lainnya.

 Elemen Class-based.

o Setiap penggunaan skenario menyiratkan satu set objek yang dimanipulasi sebagai aktor yang berinteraksi dengan sistem.

o Obyek ini dikategorikan ke dalam kelas- yaitu

sekumpulan hal-hal yang memiliki atribut yang sama dan perilaku yg umum.

o Kelas perlu berkolaborasi dengansatu sama lain dan hubungan dan interaksi antara kelas

Rekayasa Perangkat Lunak 19

Elemen Model Persyaratan

Elemen Perilaku.

o Perilaku sistem berbasis komputer dapat dapat memiliki efek mendalam pada desain yang dipilih dan pendekatan implementasi yang diterapkan. o Oleh karena itu, model persyaratan harus

menyediakan unsur-unsur pemodelan yang menggambarkan perilaku.

Elemen Flow-oriented.

o Informasi berubah karena mengalir melalui sebuah sistem berbasis komputer.

o Sistem ini menerima masukan dalam berbagai bentuk, menggunakan fungsi untuk mengubahnya, dan menghasilkan output dalam berbagai bentuk.

(11)

Elemen Model Persyaratan

Rekayasa Perangkat Lunak 21

Model Desain

Model desain perangkat lunak dianalog dengan

rencana arsitek untuk rumah.

Dimulai dengan mewakili keseluruhan yang

akan dibangun (misalnya, render tiga dimensi

dari rumah) dan perlahan-lahan

menyempurnakan hal untuk memberikan

bimbingan untuk membangun setiap detail

(misalnya, tata letak pipa).

Demikian pula, model desain yang dibuat untuk

perangkat lunak menyediakan berbagai

pandangan yang berbeda dari sistem.

(12)

Model Desain

 Desain adalah apa yang engineer ingin lakukan.  Adalah tempat di mana kreativitas

aturan-pemangku kepentingan persyaratan, persyaratan bisnis, dan pertimbangan teknis semua menjadi perumusan suatu produk atau sistem.

 Desain membuat representasi atau model perangkat lunak, tetapi tidak seperti model

persyaratan (yang fokus pada penggambaran data yang dibutuhkan, fungsi, dan perilaku), model desain menyediakan detail tentang arsitektur perangkat lunak, struktur data, antarmuka, dan komponen yang diperlukan untuk

mengimplementasikan sistem.

Rekayasa Perangkat Lunak 23

Dari Model Persyaratan ke

Model Desain

(13)

Prinsip Model Desain

1. Desain harus dapat dilacak dari model

persyaratan.

2. Selalu mempertimbangkan arsitektur sistem yang akan dibangun.

3. Desain data sama pentingnya dengan desain fungsi pengolahan.

4. Antarmuka (baik internal maupun eksternal) harus dirancang dengan hati-hati.

5. Desain antarmuka pengguna harus disesuaikan dengan kebutuhan pengguna akhir. Namun, dalam setiap kasus, harus ditekankan pada kemudahan penggunaan.

Rekayasa Perangkat Lunak 25

Prinsip Model Desain

6. Desain level komponen harus independen

secara fungsional.

7. Komponen harus mudah digabungkan satu

sama lain dan dengan lingkungan eksternal.

8. Representasi desain (model) harus mudah

dimengerti.

9. Desain harus dikembangkan secara iteratif.

Dengan setiap iterasi, desainer harus berusaha

untuk menyederhanakan.

(14)

Prinsip Model Desain

 Ketika prinsip-prinsip desain diterapkan dengan benar, Anda membuat desain yang menunjukkan faktor kualitas baik eksternal dan internal.  Faktor kualitas eksternal adalah sifat dari

perangkat lunak yang dapat dengan mudah diamati oleh pengguna (misalnya, kecepatan, kehandalan, ketepatan, kegunaan).

 Faktor kualitas internal yang penting bagi engineer perangkat lunak.

o Mengarah pada desain berkualitas tinggi dari perspektif teknis.

o Untuk mencapai faktor mutu internal, desainer harus memahami konsep desain dasar

Referensi

Dokumen terkait

sahamnya yang diatur dalam anggaran dasar PT sesuai dengan ketentuan. peraturan

Untuk mengetahui penyakit yang ditimbulakan oleh bakteri Salmonella typhi.. Untuk mengetahui cara pemeriksaan laboratorium atas bakteri

Semakin tinggi posisi piston valve, maka semakin tinggi jarum skep terangkat, karena bentuk jarum yang tirus, maka semakin besar celah antara main jet dengan jarum skep,

yang dilakukan oleh Rosydah (2011) dengan meningkatnya jumlah kitosan, mikropartikel yang terbentuk lebih sferis dengan permukaan yang halus, sedangkan pada penelitian

Penyusunan laporan ini merupakan salah satu syarat yang harus dipenuhi untuk menyelesaikan Program Studi Teknik Mesin D III pada Fakultas Teknik Universitas Muria Kudus..

Berdasarkan analisa dari data ekspor dan Impor Udang serta produk olahnnya, walaupun Indonesia dan Thailand merupakan negara produsen dan eksportir komoditi tersebut, namun

Dibutuhkan suatu program pelatihan kerja yang terus menerus bagi para pegawai baik yang baru saja diterima maupun yang sudah lama bekerja di dalam

String matching fokus pada pencarian satu, atau lebih umum, semua kehadiran sebuah kata (lebih umum disebut pattern ) dalam sebuah teks. Semua algoritma yang akan dibahas