Analisa & Pemodelan
Analisa & Pemodelan
Sistem Berorientasi Obyek
Sistem Berorientasi Obyek
Restyandito Restyandito
e-mail : dito@ukdw.ac.id website : http://lecturer.ukdw.ac.id/~dito
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
Software system terdiri dari modul-modul, dimana masing-masing modul memiliki peran/fungsi yang khusus. Modul-modul tersebut saling berinteraksi dalam sistem.
Class vs Modul
Class vs Modul
Mengapa Modul? Mengapa Modul? ÎÎtidak ada orang yang benartidak ada orang yang benar--benar memahami keseluruhan benar memahami keseluruhan sistem.
sistem. Î
Îorang berbuat kesalahan dan sistem dapat break downorang berbuat kesalahan dan sistem dapat break down.. Î
Îhanya interface modul yang perlu dipahamihanya interface modul yang perlu dipahami
Î
Îmodul dapat dimodul dapat di--share dengan sistem yang lainshare dengan sistem yang lain
Î
Îsuatu modul dapat diganti/ditingkatkan tanpa merubah suatu modul dapat diganti/ditingkatkan tanpa merubah modul yang lain.
modul yang lain.
Class vs Modul
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
Pada program yang berorientasi obyek modul-modul tersebut berupa class.
Class vs Modul
Class vs Modul
Class
Class ≈≈ModulModul
Bagaimana menentukan class yang diperlukan oleh sistem? )
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
Use Case
Use Case
sekumpulan skenario tentang kegunaan suatu sekumpulan skenario tentang kegunaan suatu sistem
sistemdilihat dari sudut pandang userdilihat dari sudut pandang user
apa yang diinginkan designer untuk dilakukan apa yang diinginkan designer untuk dilakukan oleh sistem
oleh sistem
Use Case
Use Case
Use case direpresentasikan menggunakan Use Case Diagram:
Structural Element
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
Use Case
Use Case
Use case direpresentasikan menggunakan Use Case Diagram:
Relationship
Association Generalization Dependency Aggregation
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
Contoh Kasus
Contoh Kasus::PERPUSTAKAANPERPUSTAKAAN
Use Case
Use Case
Peminjam Buku Memperpanjang pinjaman Mengembalikan buku Pinjam buku Reserve buku Contoh KasusContoh Kasus::PERPUSTAKAANPERPUSTAKAAN
Use Case
Use Case
Peminjam Buku Memperpanjang pinjaman Mengembalikan buku Pinjam buku Reserve buku Pustakawan Update katalog Pengunjung Browsing BelajarRestyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
CLASS
Responsibilities Collaborators
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
apa yang dilakukan oleh suatu class informasi yang harus disimpan
CRC Cards
CRC Cards
nama class
menunjukkan domain permasalahan
class-class lain yang dibutuhkan bukan hubungan simetris Class Responsibilities Collaborators
CRC Cards
CRC Cards
HOW
HOW
1.1. Aktivitas kelompok (group exercises) 3-Aktivitas kelompok (group exercises) 3-4 orang4 orang 2.
2. Kartu dipertukarkan, beri komentarKartu dipertukarkan, beri komentar, , ‘‘act outact out’’ 3.
3. Buat perubahan pada kartuBuat perubahan pada kartu 4.
4. CatatanCatatan::
Suatu class tidak boleh memiliki terlalu banyak responsibility (biasanya 3-4) → low cohession
Suatu class tidak boleh memiliki terlalu banyak collaborators → high coupling
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
HOW
HOW
1.1. List semua kata List semua kata benda dan kata kerjabenda dan kata kerja 2.
2. Cari kata benda yang dapat dijadikan class, cari Cari kata benda yang dapat dijadikan class, cari fungsi / tanggung jawab class tersebut fungsi / tanggung jawab class tersebut 3.
3. Simulasikan / Simulasikan / act outact outskenario yang adaskenario yang ada 4.
4. Catat pada CRC cardsCatat pada CRC cards 5.
5. Sempurnakan dan lengkapi CRC cardsSempurnakan dan lengkapi CRC cards
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
HOW
HOW
1.
1. List semua kata List semua kata benda dan kata kerjabenda dan kata kerja 2.
2. Cari kata benda yang dapat dijadikan class, cari Cari kata benda yang dapat dijadikan class, cari fungsi / tanggung jawab class tersebut fungsi / tanggung jawab class tersebut 3.
3. Simulasikan / Simulasikan / act outact outskenario yang adaskenario yang ada 4.
4. Catat pada CRC cardsCatat pada CRC cards 5.
5. Sempurnakan dan lengkapi CRC cardsSempurnakan dan lengkapi CRC cards
Contoh Kasus
Contoh Kasus::PERPUSTAKAANPERPUSTAKAAN
Suatu
Suatu sekolahsekolahingin ingin melakukanmelakukankomputerisasi pada komputerisasi pada perpustakaan
perpustakaanuntuk untuk menyimpanmenyimpanrecordrecordbukubukuyang yang
dipinjam oleh siswanya. Tiap
dipinjam oleh siswanya. Tiap--tiap siswatiap siswamemilikimemilikinomornomor
yang unik, setiap
yang unik, setiap bukubukujuga juga memilikimemilikinomor identitasnomor identitas
yang unik. Semua
yang unik. Semua siswasiswamemilikimemilikikartu siswakartu siswadengan dengan
barcode
barcodedemikian pula semua buku demikian pula semua buku ditempeli dengan ditempeli dengan stiker
stiker barcodebarcode..
Seorang
Seorang siswasiswadapat dapat meminjammeminjammaksimal 3 maksimal 3 bukubuku. Setiap . Setiap buku
bukuharus dikembalikan dalam waktu 2 minggu.harus dikembalikan dalam waktu 2 minggu.
CRC Cards
CRC Cards
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
perpustakaan, sekolah, sistem komputer, perpustakaan, sekolah, sistem komputer, komputer, buku, siswa, nomor, nomor identitas, komputer, buku, siswa, nomor, nomor identitas, barcode, barcode reader, record, ...
barcode, barcode reader, record, ...
melakukan, menyimpan, memiliki, meminjam, melakukan, menyimpan, memiliki, meminjam, mengembalikan, ...
mengembalikan, ...
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
HOW
HOW
1.
1. List semua kata List semua kata benda dan kata kerjabenda dan kata kerja 2.
2. Cari kata benda yang dapat dijadikan class, cari Cari kata benda yang dapat dijadikan class, cari fungsi / tanggung jawab class tersebut fungsi / tanggung jawab class tersebut 3.
3. Simulasikan / Simulasikan / act outact outskenario yang adaskenario yang ada 4.
4. Catat pada CRC cardsCatat pada CRC cards 5.
5. Sempurnakan dan lengkapi CRC cardsSempurnakan dan lengkapi CRC cards
CRC Cards
CRC Cards
siswa, buku, peminjaman, kalender, barcode siswa, buku, peminjaman, kalender, barcode reader, ...
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
HOW
HOW
1.1. List semua kata List semua kata benda dan kata kerjabenda dan kata kerja 2.
2. Cari kata benda yang dapat dijadikan class, cari Cari kata benda yang dapat dijadikan class, cari fungsi / tanggung jawab class tersebut fungsi / tanggung jawab class tersebut 3.
3. Simulasikan / Simulasikan / act outact outskenario yang adaskenario yang ada 4.
4. Catat pada CRC cardsCatat pada CRC cards 5.
5. Sempurnakan dan lengkapi CRC cardsSempurnakan dan lengkapi CRC cards
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
Mis
Mis::BoboHo hendak meminjam buku SinchanBoboHo hendak meminjam buku Sinchan
CRC Cards
CRC Cards
Barcode reader: Saya membaca kartu siswa dan mencari data siswa Siswa: Saya tahu bahwa nama saya ‘BoboHo’
Barcode reader: Saya membaca barcode buku dan mencari datanya Buku: Saya tahu bahwa judul saya adalah ‘Sinchan’
Barcode reader: Saya membuat obyek peminjaman baru dengan
siswa BoboHo dan buku Sinchan. Saya meminta obyek peminjaman untuk mencatat detailnya pada kalender
Peminjaman: Saya mengingat data siswa dan buku. Saya meminta
kalender untuk mencatat bahwa buku harus dikembalikan dalam waktu 2 minggu
Kalender: Saya mencatat peminjaman
CRC Cards
CRC Cards
HOW
HOW
1.
1. List semua kata List semua kata benda dan kata kerjabenda dan kata kerja 2.
2. Cari kata benda yang dapat dijadikan class, cari Cari kata benda yang dapat dijadikan class, cari fungsi / tanggung jawab class tersebut fungsi / tanggung jawab class tersebut 3.
3. Simulasikan / Simulasikan / act outact outskenario yang adaskenario yang ada 4.
4. Catat pada CRC cardsCatat pada CRC cards 5.
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
CLASS: Siswa Responsibilities: Collaborators: Mengidentifikasi siswa Menghubungkan siswa dengan kode barcode-nya • Peminjaman CLASS: Buku Responsibilities: Collaborators: Mengidentifikasi buku Menghubungkan buku dengan kode barcode-nyaRestyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
CLASS: Peminjaman Responsibilities: Collaborators: Mencatat bahwa siswa telah meminjam buku (dan tanggal kembali) Mencatat apakah buku telah dikembalikan • Buku • Siswa • KalenderCLASS: Barcode reader
Responsibilities: Collaborators: Mencari siswa /
buku dari barcode yang dibaca Mencatat bahwa Siswa telah meminjam atau mengembalikan buku • Siswa • Buku • Peminjaman
CRC Cards
CRC Cards
CLASS: Kalender Responsibilities: Collaborators: Mengetahui pinjaman mana yang telah lewatRestyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
HOW
HOW
1.1. List semua kata List semua kata benda dan kata kerjabenda dan kata kerja 2.
2. Cari kata benda yang dapat dijadikan class, cari Cari kata benda yang dapat dijadikan class, cari fungsi / tanggung jawab class tersebut fungsi / tanggung jawab class tersebut 3.
3. Simulasikan / Simulasikan / act outact outskenario yang adaskenario yang ada 4.
4. Catat pada CRC cardsCatat pada CRC cards 5.
5. Sempurnakan dan lengkapi CRC cardsSempurnakan dan lengkapi CRC cards
Restyandito PBO – Analisa & Pemodelan Sistem Berorientasi Obyek
CRC Cards
CRC Cards
tentukan attributes yang dibutuhkan oleh tiap-tentukan attributes yang dibutuhkan oleh tiap -tiap class
tiap class
tentukan methods / services yang dibutuhkan tentukan methods / services yang dibutuhkan oleh tiap
oleh tiap--tiap classtiap class
cari hubungan yang terjadi antar classcari hubungan yang terjadi antar class