pemodelan sistem perangkat lunak -...
TRANSCRIPT
![Page 1: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/1.jpg)
Pemodelan Sistem Perangkat Lunak
Andronicus Riyono, M.T.Universitas Kristen Duta Wacana
1
![Page 2: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/2.jpg)
Building Software,Requirements, Changes
Pemodelan Sistem Perangkat LunakPertemuan 2
2
![Page 3: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/3.jpg)
Bagian I: Building Software
Pemodelan Sistem Perangkat LunakPertemuan 2
3
![Page 4: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/4.jpg)
Menurut Anda, apakah ‘Pemrograman’ itu?
________________________________
________________________________
________________________________
________________________________
4
![Page 5: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/5.jpg)
Pemrograman adalah
• menyuruh komputer agar melakukanapa yang kita ingin komputer lakukan
• untuk mempermudah kehidupan manusia
• proses pembuatan (writing),pengujian (testing), perbaikan (debugging/troubleshooting), dan pengelolaan (maintaining)kode program komputer
5
![Page 6: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/6.jpg)
Membuat Software, Menyelesaikan Masalah• Kita membuat perangkat lunak untuk
menyelesaikan masalah. Orang-orang memiliki masalah.
• Jadi, kita membuat perangkat lunak untuk membantu orang-orang
• Perangkat lunak yang baik tidak hanya dapat menyelesaikan masalah, namun mudah disesuaikan dengan perubahan.
6
![Page 7: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/7.jpg)
Toko Blackberry milik si Jerry
Menyimpan data tentang
berbagai macam Blackberry
Mencari Blackberry yang
sesuai untuk para pelanggan
7
![Page 8: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/8.jpg)
Yang telah dibuat
• Apakah Anda paham maksud diagram ini?
family : Stringmodel : Stringprice : doublegetPrice() : doublesetPrice(newPrice : double)getFamily() : StringgetModel() : String
Blackberry
addBlackberry(family : String, model : String, price : double)getBlackberry(model : String) : BlackberrysearchBlackberry(searchedFor : Blackberry) : Blackberry
blackberries : ListInventory
8
![Page 9: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/9.jpg)
Stokdi
gudangmilik
si Jerry
family: Curvemodel: 8300price: 200
family: Curvemodel: 8330price: 500
family: Curvemodel: 8900price: 600
family: Boldmodel: 9000price: 650
family: Stormmodel: 9530price: 700
family: Tourmodel: 9630price: 750
9
![Page 10: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/10.jpg)
Koq nggak ada?“Saya mau beli.
Saya dari tadi
sudah cari-cari.
Gimana ini?”
“yang dicari apa pak?”
“bold 9000”
*hmm, ada koq di gudang*
10
![Page 11: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/11.jpg)
Koq nggak ada?“Saya mau beli.
Saya dari tadi
sudah cari-cari.
Gimana ini?”
“yang dicari apa pak?”
“bold 9000”
*hmm, ada koq di gudang*
bold != BOLD != Bold11
![Page 12: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/12.jpg)
method search dalam class Inventory
public Blackberry search(Blackberry searchedBlackberry) { for (Iterator i = blackberries.iterator(); i.hasNext(); ) { Blackberry blackberry = (Blackberry)i.next(); String family = searchedBlackberry.getFamily(); if ((family != null) && (!family.equals("")) && (!family.equals(blackberry.getFamily()) continue; return blackberry; } return null;}
12
![Page 13: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/13.jpg)
Apa yang bisa dilakukan?
________________________________
________________________________
________________________________
________________________________
13
![Page 14: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/14.jpg)
Apa yang bisa dilakukan?
• Mengubah agar pembandingan family mengabaikan besar kecil huruf
• Mengubah agar semua pembandingan mengabaikan besar kecil huruf
• Menggunakan konstanta untuk family
• Bicara dengan Jerry untuk mendapat detil permasalahan yang dihadapi
14
![Page 15: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/15.jpg)
15
![Page 16: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/16.jpg)
16
![Page 17: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/17.jpg)
Langkah pertama untuk Great Software
1. Pastikan bahwa perangkat lunak yang Anda buat bekerja sesuai dengan apa yang diperlukan oleh customer
17
![Page 18: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/18.jpg)
Langkah 1: Tanya Jerry
Pertanyaan apa saja kahyang akan Anda tanyakan
ke Jerry?
18
![Page 19: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/19.jpg)
Pertanyaan-Pertanyaan untuk si Jerry
________________________________
________________________________
________________________________
________________________________
19
![Page 20: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/20.jpg)
Pertanyaan-Pertanyaan untuk si Jerry
• Apakah hanya berjualan BlackBerry saja?
• Bagaimana proses update Inventory?
• Bagaimana proses pencarian yang seharusnya?
• Apakah perlu laporan gudang dan laporan penjualan?
20
![Page 21: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/21.jpg)
Jawaban Jerry
• Pembeli seringkali tidak tahu detil dari apa yang mereka cari
• Seringkali ada lebih dari satu model yang sebenarnya sesuai dengan apa yang dicari oleh pembeli
• Pembeli sering mencari berdasarkan harga
• Laporan perlu, tapi yang paling penting adalah mencari BlackBerry untuk pembeli
21
![Page 22: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/22.jpg)
Yang harus dilakukan
1. Apabila di gudang ada BlackBerry yang dicari pembeli, maka harus ditemukan
2. Kesalahan pengetikan oleh pembeli harus ditoleransi, atau buat supaya tidak mungkin memasukkan data yang salah dalam pencarian
22
![Page 23: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/23.jpg)
method search dalam class Inventory
public Blackberry search(Blackberry searchedBlackberry) { for (Iterator i = blackberries.iterator(); i.hasNext(); ) { Blackberry blackberry = (Blackberry)i.next(); String family = searchedBlackberry.getFamily().toLowerCase(); if ((family != null) && (!family.equals("")) && (!family.equals(blackberry.getFamily().toLowerCase()) continue; } return null;}
23
![Page 24: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/24.jpg)
Perubahan PertamaMenghilangkan String• private Family family;
• public enum Family { CURVE, BOLD, STORM, TOUR; public String toString() { switch(this) { case CURVE: return "Curve"; case BOLD: return "Bold"; case STORM: return "Storm"; case TOUR: return "Tour"; } }}
24
![Page 25: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/25.jpg)
Perubahan PertamaMenghilangkan String
(lanjutan)public Blackberry search(Blackberry searchedBlackberry) { for (Iterator i = blackberries.iterator(); i.hasNext(); ) { Blackberry blackberry = (Blackberry)i.next(); if (blackberry.getFamily() != searchedBlackberry.getFamily()) continue; return blackberry; } return null;}
25
![Page 26: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/26.jpg)
Perubahan PertamaMenghilangkan String
(lanjutan)family : Familymodel : Stringprice : doublegetPrice() : doublesetPrice(newPrice : double)getFamily() : FamilygetModel() : String
Blackberry
addBlackberry(family : Family, model : String, price : double)getBlackberry(model : String) : BlackberrysearchBlackberry(searchedFor : Blackberry) : Blackberry
blackberries : ListInventory
26
![Page 27: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/27.jpg)
Dampak Perubahan
• Ubah form untuk menambah data
• Ubah database inventory
27
![Page 28: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/28.jpg)
Apakah sudah cukup?
• Lebih dari satu hasil pencarian (hal 20)
• mengembalikan array? atau List?
• Hanya menyebut sebagian saja (hal 25)
• kasus di buku, GuitarSpec (encapsulation)
• pelajari .ppt dari Head First OOA&D
28
![Page 29: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/29.jpg)
Increments & Iterations
• Iterative development
• Mengulangi langkah-langkah proses pengembangan
• Semakin pendek semakin baik
• Incremental development
• Tambahkan sedikit demi sedikit
• Tidak ada "Big Bang"
Start
Goal
29
![Page 30: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/30.jpg)
Akhir dari Bagian Pertama
30
![Page 31: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/31.jpg)
Bagian II: Requirements
Pemodelan Sistem Perangkat LunakPertemuan 2
31
![Page 32: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/32.jpg)
• Kita membuat perangkat lunak karena suatu alasan...
• Kita membuat perangkat lunak untuk orang-orang yang memerlukannya...
• Kita perlu tahu apa yang orang-orang inginkan dari perangkat lunak yang kita buat
• Inilah yang disebut REQUIREMENTS
32
![Page 33: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/33.jpg)
Siapa yang menentukan requirements?
________________________________
________________________________
________________________________
________________________________
33
![Page 34: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/34.jpg)
Siapa yang menentukan requirements?
• Pembeli
• Pengguna akhir
• Tim pengembang
• Manajemen
• Penyedia teknologi
pihak-pihak inilah yang disebut sebagai Stakeholders
34
![Page 35: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/35.jpg)
Aplikasi yang akan dibahas pada bagian ini
• Doug, Dog, Door (Bab 2, buku HF OOA&D)
35
![Page 36: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/36.jpg)
Pekerjaan yangditawarkan...
Todd dan Gina memerlukan pintu dengan remote control agar mereka dapat membuka pintu dari kamar tidur mereka jika Fido, anjing peliharaan mereka, membangunkan mereka di tengah malam.
36
![Page 37: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/37.jpg)
Gambaran awal produk
37
![Page 38: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/38.jpg)
Requirements1. Tekan tombol pada remote control, pintu akan terbuka
"Ini yang harus kita buat, setidaknya, begitu kata Doug."
2. Tekan tombol lagi untuk menutup
pintu
"Kamu yakin, cuma itu saja yang
perlu kita buat?Ayo kita desain
dulu sebelum implementasi"
38
![Page 39: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/39.jpg)
Requirement - dua class• DogDoor
‣ Buka
‣ Tutup
‣ Tunggu sinyal dari remote control
• Remote
‣ Beri sinyal ke pintu untuk menutup atau membuka
‣ Mengenali ketika tombol ditekan
Fokus pada class responsibility(sebuah class bertanggung jawab atas apa saja?)
39
![Page 40: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/40.jpg)
public class DogDoor {
private boolean open;
public DogDoor() { this.open = false; }
public void open() { System.out.println("The dog door opens."); open = true; }
public void close() { System.out.println("The dog door closes."); open = false; }
public boolean isOpen() { return open; } }
public class Remote {
private DogDoor door;
public Remote(DogDoor door) { this.door = door; }
public void pressButton() { System.out.println("Pressing the remote control button..."); if (door.isOpen()) { door.close(); } else { door.open(); } }}
40
![Page 41: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/41.jpg)
Pertanyaan dari departemen QA*
"Yakin programnya bekerja dengan baik?Mana pengujiannya?"
*Quality Assurance
41
![Page 42: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/42.jpg)
Program Pengujian (dari buku HF OOA&D)public class DogDoorSimulator {
public static void main(String[] args) { DogDoor door = new DogDoor(); Remote remote = new Remote(door);
System.out.println("Fido barks to go outside..."); remote.pressButton();
System.out.println("\nFido has gone outside..."); remote.pressButton();
System.out.println("\nFido's all done..."); remote.pressButton();
System.out.println("\nFido's back inside..."); remote.pressButton(); }}
Apakah pengujianini sudah baik?
Mengapa?
42
![Page 43: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/43.jpg)
Pembeli adalah Raja
43
![Page 44: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/44.jpg)
Mari introspeksi
• Sudah membuat tepat seperti yang diperintahkan Doug
• Sudah melakukan pengujian
• Pintu bekerja sesuai program yang dibuat
• Hardware OK
• Software OK
Lantas, apa yang salah?
44
![Page 45: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/45.jpg)
Apakah requirement itu?
• Requirement adalah fitur yang harus dimiliki sistem untuk memuaskan pembeli
• Requirement adalah sesuatu yang harus dilakukan oleh sistem yang dibuat
Apakah sudah memenuhi requirements?
45
![Page 46: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/46.jpg)
Mendefinisikan masalah
• Bicara dengan pembeli
• Bicara dengan stakeholders lain
• Bertanya
• Brainstorm
• Coba lihat permasalahan dari berbagai sudut pandang yang mungkin
46
![Page 47: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/47.jpg)
Kami tidak ingin pergi dari kamar di tengah malam. Kami mau pintu yang bisa dibuka dengan remote control dan menutup otomatis setelah anjing kembali dari luar
Saya ingin Fluffy bisa keluar tanpa saya harus pergi membukakan pintu, tapi saya hanya ingin pintu terbuka bila saya mengizinkannya
saya hanya ingin keluar
47
![Page 48: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/48.jpg)
Apa yang kita tahu‣ Doug‣ Kita perlu sistem segera jadi‣ Sistem yang dibuat harus hemat biaya
‣ Hardware engineer‣ Pintu punya dua macam sinyal‣ Cek kondisi saat ini (terbuka/tertutup)‣ Ubah kondisi pintu (buka⇒tutup, tutup⇒buka)
‣ Remote mengirim satu sinyal saja (ketika tombol ditekan)‣ Pembeli menyatakan bahwa‣ Pintu harus dapat terbuka dengan menekan tombol remote‣ Pintu harus dapat menutup setelah anjing kembali
‣ Requirement yang tersirat dari pernyataan pembeli‣ Pintu tidak boleh tertutup ketika anjing sedang melewatinya‣ Pintu harus tertutup secara otomatis tanpa menekan remote
48
![Page 49: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/49.jpg)
Requirements (dari buku)
49
![Page 50: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/50.jpg)
Skenario
50
![Page 51: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/51.jpg)
Skenario
51
![Page 52: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/52.jpg)
Skenario
52
![Page 53: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/53.jpg)
Skenario
53
![Page 54: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/54.jpg)
Skenario
54
![Page 55: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/55.jpg)
Apakah kita perlu diagram?
55
![Page 56: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/56.jpg)
Skenario lain
• Fido tidak pergi keluar, tapi malah diam di dalam rumah
• Fido tidak kembali ke dalam rumah
• Pintu menutup ketika Fido sedang melalui pintu
• ...
56
![Page 57: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/57.jpg)
Salam kenal dariUse Case
Use Case mendeskripsikanapa yang dilakukan sistem
untuk mencapaitujuan tertentu
yang diinginkan oleh pembeli
57
![Page 58: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/58.jpg)
Use Case
• Use Case adalah teknik untuk mendapatkan potential requirements dari sebuah sistem baru atau perubahan software
• Setiap Use Case memberisatu atau lebih skenario yang menunjukkan bagaimana sistem harus berinteraksi dengan pengguna atau sistem lain untuk mencapai tujuan tertentu
58
![Page 59: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/59.jpg)
Satu Use Case, Tiga Bagian
• Sebuah Use Case harus
• Memiliki langkah-langkah lengkap yang bernilai bagi seseorang
• Memiliki kondisi awal dan akhir
• Dimulai oleh Actor (seseorang atau sesuatu yang bukan bagian dari sistem yang dibuat)
59
![Page 60: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/60.jpg)
Intinya...
• Use case pasti
• bernilai (terhadap kegunaan sistem)
• lengkap (ada kondisi awal dan akhir)
• dimulai oleh actor
• menunjukkan sebuah tujuan dari sistem
60
![Page 61: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/61.jpg)
Use Case ≠ Scenario
• Skenario adalah salah satu cara untuk mencapai tujuan dari sebuah kondisi awal
• Use Case mendeskripsikan semua cara yang mungkin untuk mencapai tujuan dari sebuah kondisi awal
61
![Page 62: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/62.jpg)
Bagian-bagian Use Case• Nama: biasanya kata kerja + kata benda
(misal: mengambil matakuliah)
• Deskripsi: satu atau dua paragraf yang menjelaskan tujuan dan nilai (hasil)
• Actors: nama actor(s) yang terlibat
• Basic Flow: yang paling umum atau yang diharapkan dalam use case
• Alternate Flows: yang mungkin terjadi
• Preconditions: kondisi yang harus terpenuhi sebelum use case dapat dinyatakan dimulai
• Postconditions: kondisi yang harus terpenuhi ketika use case selesai
62
![Page 63: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/63.jpg)
Seberapa formal?
Jika berhasil/berguna, gunakan!
63
![Page 64: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/64.jpg)
Dog Door v.2
import java.util.Timer;import java.util.TimerTask;
public class Remote { private DogDoor door;
public Remote(DogDoor door) { this.door = door; }
public void pressButton() { System.out.println("Pressing the remote control button..."); if (door.isOpen()) { door.close(); } else { door.open();
final Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { door.close(); timer.cancel(); } }, 5000); } }}
sepertinya karma tanggungjawab tidak seimbang
64
![Page 65: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/65.jpg)
Requirement - dua class• DogDoor
‣ Buka
‣ Tutup
‣ Tunggu sinyal dari remote control
‣ Tutup pintu setelah 5 detik
• Remote
‣ Beri sinyal ke pintu untuk menutup atau membuka
‣ Mengenali ketika tombol ditekan
Information Expert Pattern (LAR, 283, 294)65
![Page 66: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/66.jpg)
Looking ahead
66
![Page 67: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/67.jpg)
Looking ahead
67
![Page 68: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/68.jpg)
Looking ahead
68
![Page 69: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/69.jpg)
Apa saja kira-kira fitur untuk versi berikutnya?
________________________________
________________________________
________________________________
________________________________
69
![Page 70: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/70.jpg)
Akhir dari Bagian Kedua
70
![Page 71: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/71.jpg)
Bagian III: Perubahan
Pemodelan Sistem Perangkat LunakPertemuan 2
71
![Page 72: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/72.jpg)
dan Anda bertanggungjawabuntuk mengubah program buatan Anda
72
![Page 73: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/73.jpg)
Great dog door, but...Bisakah ditambahkan hardware untuk mengenali gonggongan Fido ketika Fido ingin pergi keluar dan kembali serta otomatis membuka pintunya? Dengan demikian kami tidak perlu mendengarnya atau mencari remotenya.
73
![Page 74: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/74.jpg)
Kemungkinan perubahan
________________________________
________________________________
________________________________
________________________________
74
![Page 75: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/75.jpg)
Kemungkinan perubahan
• Hardware (baru dan modifikasi)
• Use Case
• Kode program (implementasi, pengujian)
• ...
75
![Page 76: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/76.jpg)
Skenario Lama
The dog door opens (again).6.5
Fido barks to be let out.1
Todd or Gina hears Fido barking.2
Todd or Gina presses the button on the remote control.
3 The dog door opens.4
Fido goes outside.5
Fido does his business.6
The door shuts automatically.6.1
Fido barks to be let back inside.6.2
Todd or Gina hears Fido barking (again).
6.3
Todd or Gina presses the button on the remote control.
Fido goes back inside.7The door shuts automatically.8
Woof! Woof!
Gina, open the dog door…Fido won’t quit barking!
I feel much better now!
Woof! Woof!
Again with the barking! Someone let Fido back inside
6.4
76
![Page 77: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/77.jpg)
Skenario Baru
The dog door opens (again).6.5
Fido barks to be let out.1
Todd or Gina hears Fido barking.
2
Todd or Gina presses the button on the remote control.
3
The dog door opens.4
Fido goes outside.5
Fido does his business.6
The door shuts automatically.6.1
Fido barks to be let back inside.6.2
Todd or Gina hears Fido barking (again).
6.3
Todd or Gina presses the button on the remote control.
Fido goes back inside.7The door shuts automatically.8
6.4
The bark recognizer “hears” a bark (again).
6.3.1
The bark recognizer sends a request to the door to open.
6.4.1
The bark recognizer “hears” a bark.
2.1
The bark recognizer sends a request to the door to open.
3.1
77
![Page 78: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/78.jpg)
Alternate Path
Masuk akal?Ada ide untuk
perbaikan?
78
![Page 79: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/79.jpg)
79
![Page 80: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/80.jpg)
Urutan hasil
Requirements
Design documents and classes
Code
Tests
Documentation
80
![Page 81: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/81.jpg)
Desain Lama
Association
Multiplicity
81
![Page 82: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/82.jpg)
Desain Baru
82
![Page 83: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/83.jpg)
BarkRecognizer classpublic class BarkRecognizer {
private DogDoor door;
public BarkRecognizer(DogDoor door) { this.door = door; }
public void recognize(String bark) { System.out.println(" BarkRecognizer: Heard a '" + bark + "'"); door.open(); }}
Hmm, mudah sekali membuatnya!
83
![Page 84: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/84.jpg)
Untung kita sudah mengaplikasikan polaInformation Expert.
Mengapa untung?Apakah ada prinsip yang penting di sini?
84
![Page 85: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/85.jpg)
Jika tidak...
Copy saja kode untuk menutup pintu otomatis dari Remote ke BarkRecognizer
Ini Doug. Dia bukan programmer.
Bagaimana menurut Anda?Apakah ide Doug ini baik?
85
![Page 86: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/86.jpg)
Yang salah dari ide Doug
• Kemungkinan kesalahan copy-paste
• Kalau ada peralatan lain, maka perlu copy kodenya lagi, dan lagi, dan lagi.
• Semakin banyak copy, semakin banyak yang harus diubah ketika ada perubahan requirement
• Tidak rapi dan jelek
86
![Page 87: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/87.jpg)
Guk!(artinya: apa kegunaan parameter Bark di BarkRecognizer?
Apa parameter Bark itu?
Apakah kita memerlukannya?
Apa yang harus kita lakukan?
87
![Page 88: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/88.jpg)
Versi kedua siap diluncurkan
• Kita telah melampaui sebuah iterasi
• Requirement
• Design
• Code
• Test
• Kita mengerjakan suatu bagian pekerjaan yang dapat dikelola
• Kita meluncurkan sistem yang bekerja dengan baik
88
![Page 89: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/89.jpg)
Mari berpikir
• Apakah Remote dan BarkRecognizer mirip?
• Bisakah kemiripannya dienkapsulasi?
• Bagaimana perubahan ini berpengaruh terhadap sistem?
• Class Bark belum diimplementasi, bagaimana mengimplementasinya?
• Apa yang kita dapatkan?
89
![Page 90: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/90.jpg)
Akhir dari Bagian Ketiga
90
![Page 91: Pemodelan Sistem Perangkat Lunak - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/riyono/wp-uploads/2009/08/pertemuan-2.pdfPemodelan Sistem Perangkat Lunak Andronicus Riyono, M.T. Universitas](https://reader033.vdocuments.site/reader033/viewer/2022052310/5cf6c03888c993e14d8bd913/html5/thumbnails/91.jpg)
Referensi
• Craig, L. (2004). Applying UML and patterns: An introduction to object-oriented analysis and design and iterative development. Westford, MA: Prentice Hall PTR.
• McLaughlin, B.D., Pollice, G., & West, D. (2006). Head first object-oriented analysis & design. Sebastopol, CA: O'Reilly.
91