1 / 52

OBJECT MODELING Pertemuan 9

OBJECT MODELING Pertemuan 9. Matakuliah : Konsep object-oriented Tahun : 2009. Object Modelling. Modelling. Model adalah representasi dari bagian dunia nyata Modeling adalah proses mengambarkan dan mengorganisir fitur-fitur yang berarti dari bagian dunia nyata.

daphne
Download Presentation

OBJECT MODELING Pertemuan 9

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OBJECT MODELINGPertemuan 9 Matakuliah : Konsep object-oriented Tahun : 2009

  2. Object Modelling

  3. Modelling • Model adalah representasi dari bagian dunia nyata • Modeling adalah proses mengambarkan dan mengorganisir fitur-fitur yang berarti dari bagian dunia nyata. • Sebuah model yang baik akan merepresentasikan hanya fitur dari kenyataan yang berguna dan mengabaikan detail yang tidak relevan

  4. Kegunaan Model: • Untuk komunikasi • Menangani kompleksitas • Digunakan dalam setiap tahap pembangunan sistem

  5. Untuk komunikasi • Komunikasi dengan klien atau user dengan developer, atau developer dengan developer • Sekarang ini model biasanya menggunaka diagram grafik, teks atau keduanya • Dengan model dapat mengidentifikasi perbedaan, mengurangi ketidak konsistenan dan salah pengertian. • Lebih mudah dan menghasilkan umpan balik

  6. Untuk menangani kompleksitas • Model membantu developer untuk mengkomunikasikannya dengan klien dan membantu klien mengerti tentang sistem yang baru. • Menangani kompleksitas dengan cara: • Dekomposisi: membagi problem menjadi ukuran yang dapat dimengerti oleh otak • Abstraction: berkonsentrasu oada detil yang penting dan mengabaikan detail yang tidak relevan.

  7. Tahap berbeda didalam pembangunan sistem • Dapat menggunakan model dari tahap awal sampai tahap selanjutnya.

  8. Class Diagram • Titik awal dari O-O sistem development adalah sebuah obyek, tetapi konsep utama dari setiap tahap adalah class diagram.

  9. Class Diagram(lanj’) • Untuk setiap class, diagram terdiri dari atribut dan operasi yang berhubungan dengannya. • Class diagram berdasarkan data, lebih stabil daripada proses. • Struktur yang berdasarkan data memberikan dasar yang kuat ketika sistem dibuat.

  10. Tahap membuat class diagram • Tahap membuat class diagram: • Identifikasikan obyek dan class turunannya • Identifikasikan atribut class • Mulai membuat kamus data • Identifikasikan operasi tiap class • Gunakan teknik CRC untuk mengkover tanggung jawab dan kolaborasi • Identifikasikan hubungan antar class, menggunakan asosiasi, agregasi dan inheritance • Iterasikan dan definisikan model

  11. Identifikasikan obyek dan class turunannya • Identifikasikan obyek fisik dan konsep yang potensial didalam problem domain

  12. Daftarkan obyek fisik dan obyek konsep yang ada diproblem domain Just A Line management security building site employee people company car park card name departement number member of staff access barrier card reader entrance driver car system signal exit space sign visitor reception

  13. Pelajari obyek dan buat obyek yang tidak berguna. Buang jika : • Duplikat • Tidak relevan • Mempunyai arti ganda • Terlalu umum • Merupakan atribut • Merupakan asosiasi • Merupakan aturan(Roles) • Merupakan implementasi

  14. Duplikat • Jika ada dua atau lebih obyek yang berbeda nama tetapi menunjuk ke hal yan sama, hanya satu yang digunakan, buang yang lainnya • Contohnya : employee/member of staff dan company/Just a Line management security building site employee people company car park card name departement number access barrier card reader entrance driver car system signal exit space sign visitor reception Just A Line member of staff

  15. Tidak relevan • Obyek berada didalam problem domain tetapi tidak merupakan bagian dari sistem, dibuang saja • Contohnya : management, site, company, visitor dan reception security employee people car park card name departement number access barrier card reader entrance driver car system signal exit space sign management building site company visitor reception

  16. Mempunyai arti ganda (Vague) • Ketika sebuah kata dibaca dengan hati-hati, kadang sebuah kata tidak mempunyai arti yang tepat sehingga tidak dapat dijadikan basis data contohnya : security dan people employee car park card name departement number access barrier card reader entrance driver car system signal exit space sign security people

  17. Terlalu umum • Sebuah kata seperti kata sistem tidak bisa menjadi class yang berguna karena terlalu umum artinya: employee car park card name departement number access barrier card reader entrance driver car signal exit space sign system

  18. Attributes • Sometime we discover a word is a part of some other class. Such departement, name and number may be would be attributes of the class card employee car park card access barrier card reader entrance driver car signal exit space sign name departement number

  19. Asosiasi • Kadang sebuah kata, seperti “ACCESS” keluar sebagai obyek, tetapi sebetulnya kata tersebut mewakili relasi antar obyek employee car park card barrier card reader entrance driver car signal exit space sign access

  20. Aturan (Roles) • Jangan ambil sebuah kata yang bersifat aturan(role) sebagai anggota class diagram kata “driver” hanya berlaku sementara, sesorang yang mengendarai kednaraan bermotor, jika sudah tidak mengendarai tidak dapat disebut driver lagi employee car park card barrier card reader entrance car signal exit space sign driver

  21. Implementasi • Jangan mengambil sebuah kata sebagai class, jika kata tersebut nantinya akan digunakan diwaktu implementasi contoh “SIGNAL” employee car park card barrier card reader entrance car exit space sign signal

  22. Find any missed class • Is common sense if we have include a “sensor” into class, because need sensor for each barrier to opened the barrier if any car arrives and leaves.

  23. Potential class in Just A Line Car Park Staff Card Visitor Card Employee Entrance Exit Card reader Barrier Full Sign Space Sensor Car

  24. Identifikasikan atribut sebuah class • Identifikasikan aribut dari kata-kata. • Kumpulkan data yang penting dan relevan tentang obyek tersebut dan buang informasi yang tidak relevan • Buang atribut jika dapat diturunkan dari class lain. • Ketika kita memikirkan atribut. Sering kali kita menemukan bahwa: • Detil yang sama dari dua class yang berbeda, misalnya employee dengan staf card, artinya salah satunya tidak berguna, dapat dibuang. • Tidak ada atribut atau sesuatu yang dilakukan oleh class tersebut, contohnya : entrance, exit, car and space, karena tidak berguna dapat dibuang

  25. Car Park Staff Card Visitor Card Card reader Barrier Full Sign Sensor Employee Entrance Exit Space Car

  26. Mulai membangun kamus data

  27. Identifikasikan operasi yang dilakukan class

  28. Gunakan CRC card untuk menembukan tanggung jawab dan kolaborasi • CRC(class-responsibility-collaboration) • CRC card adalah bagian dalam metode pendekatan sistem dengan nama Responsibility-Driven-Design

  29. Tujuan dari Responsibility Driven Design adalah untuk melihat semua fungsi didalam sistem dan membaginya kedalam class. • Tanggung jawab untuk menyediakan layanan bagi class lain.

  30. Contoh: • Class Full sign bertanggung jawab untuk menyala ketika tidak ada lagi tempat yang tersisa didalam parkir dan padam ketika ada tempat kosong(tersedia)

  31. Kadang sebuah class berlaku sebagai server dan memberikan layanan kepada class lain dan di lain waktu berlaku sebagai client menerima layanan dari class yang lainnya

  32. Sebuah contoh CRC Card dengan responsibilities and collaborations

  33. Jika sebuah class tidak menjadi solusi yang fleksibel

  34. Identifikasikan hubungan apakah menggunakan association, aggregation atau inheritance • Asosiasi(association) : hubungan singkat antar obyek. studies 1..* 0..* Zero or one 0..1 Exactly one 1(or ommited) Zero, one or many *, or 0..* One or more 1..* An exact number 2,3,4, 24 An a range 2..3,4..6

  35. 1..* 1

  36. Agregasi(Aggregation): hubungan antar obyek ketika sebuah class terdiri dari class yang lain (“part of”, ”consist of”, “made up of”).

  37. Inheritance: ketika sebuah obyek merupakan spesialisasi dari class yang lain. • Kadang orang lain menyebutnya Gen-Spec

  38. Sebuah class diagram komplit Just A line

  39. Kamus data(Data Dictionary) • Kamus data merupakan sumber keterangan utama tentang data. • Kamus data menyediakan cara yang pasti untuk mencatat data.

  40. Notasi kamus data: • Harus mengekspresikan: • Urutan atribut yang muncul; • Atribut atau grup atribut yang berulang; • Atribut yang opsional; • Atribut merupakan pilihan yang harus dipilih;

  41. Notasi kamus data

  42. Contoh employee obyek

  43. Jika dilukiskan dalam kamus data dapat berbentuk seperti ini Employee = number + (title) + {first name}+ last name + address + phone number+ dept Lebih tepatnya: Employee = number + (title) + 1{ [ first name | title ] }3+ last name + address + phone number+ dept Lebih dalam lagi Dept. = [“Accounts” | “Design” | “Marketing” | “Administration” ]

  44. Mendeskripsikan dokumen

  45. Dari dokumen tersebut dapat didefinisikan kamus data Car Park List = month + year+ {employee name + (dept). + ext + 1{ car make + car model + car number + car colour } 2} Untuk mencegah kesalahan membaca dan membuat mudah dalam membacanya maka kamus data tersebut ditulis : Car Park List = Date + { entry } Date = month + year Entry = employee + { Car }2 Employee = name + ( dept ) + extension Dept. = [“account” | “Design” | “Marketing” | “Administration” ] Car = make + model + number + colour

  46. Langkah berikutnya adalah • Membuatnya lebih detil dan • Gambarkan operasi nya ) contohnya pada halaman berikut:

  47. Disarikan dari kamus data sistem parkir just a line Barrier = Barrier type + up Barrier type = [“entrance”|”exit”] up = [“true”|”False”] raise: if the barrier not already raised, this operation takes an argument an object if the barrier class and returns an object of the same class. With the up attribute set to “true”. If the barrier is already up the operation returns the error message “Barrier already raised”. lower: if the barrier not already lower, this operation takes an argument an object if the barrier class and returns an object of the same class. With the up attribute set to “False”. If the barrier is already down the operation returns the error message “Barrier already lowered”.

  48. Card = Number + [staff card|visitor card] delete: this operation remove the card from the set of cards known to Just A Line. Car Reader = location read card: this operation takes a card number as input and check it against the number of known card in the Valid Card class Car Park = capacity + spaces capacity:*the total number of parking places in the car park* spaces:*the number of currently free spaces in the car park* inc.spaces: this operation check that the car park is not empty (number of spaces left is not equal to capacity of the car park. In this the case the value of “space” increment by 1. dec.spaces: this operation check that value of attributes in the car park is greather than 0. in this the case the value of space decrement by 1

More Related