Structural Modelling Tujuan Memahami aturan dan notasi class dan object diagram Memahami langkah-langkah pembuatan class dan object diagram Memahami keterkaitan antara use-case dan structural model Slide 2 Deskripsi A structural model describes the structure of the data that supports the business process in an organization. During the analysis phase, the structural model presentas the logical organization of data without indicating how the data are stored, created, or manipulated. Analysts need to understand the information that is used and created by the system A structural model is a formal way of representing the objects that are used and created by a business system. Slide 3 It illustrates people, places, or things about which information is captured and how they are related to each other. At this stage, the structural models doesn’t represent software component or classes in an OO programming language. It should represent the responsibilities of each class and the collaborations between the classes. Structural models are depicted using CRC cards, class diagram, and object diagram Slide 4 Tujuan Structural Modelling Reduce the “semantic gap ” between the underlying problem domain and the evolving structural model. Create a vocabulary that can be used by both the analyst and users. Represent the things, ideas, or concepts, that is, the objects, contained in the domain of the problem and their relationships. Slide 5 Classes Templates for creating instances or objects Typical examples: Concrete Abstract Application domain, user interface, data structure, file structure, operating environment, document, and multimedia classes Atributes : Units of information relevant to the description of the class Only attributes important to the task should be included Slide 6 Operations : Action that instances/objects can take Focus on relevant problem-specific operations (at this point) Slide 7 Relationship Generalization Aggregation Enables inheritance of attributes and operations Example : staff dan nurse Relates parts to wholes Example : house dan door,window Association Miscellaneous relationships between classes Example : patient dan appointment Slide 8 CLASS-RESBONSIBILITYCOLLABORATION CARD Content Responsibilities Knowing Doing Collaboration Objects working together to service a request Slide 10 A CRC Card Slide 11 Slide 12 CLASS DIAGRAM Notasi Class Diagram A CLASS ClassName -attribute +operation () AN ATTRIBUTE AN OPERATION AN ASSOCIATION Attribute name/ derived attribute name operation name () 1..* 0..1 ______verb phrase____ Slide 14 Example Slide 15 Atribut Derived attributes /age, for example can be calculated from birth date and current date Visibility Public (+) Protected (#) Private (-) Slide 16 Operasi Constructor Query Creates object Typically not written explicitly on the class diagram Makes information about the state of an object available to other objects Update Changes values of some or all attributes Slide 17 Relationship Tepat satu Department Boss Sebuah Department hanya memiliki satu Boss Nol atau lebih Employee 1 0 .. * Child Satu Employee memiliki nol atau banyak Child Satu atau lebih Boss 1..* Employee Satu Boss memimpin satu atau lebih Employee Slide 18 Nol atau satu Employee Spouse Seorang Employee dapat menikah dengan nol atau satu pasangan Kisaran tertentu Employee 0..1 2..4 Vacation Seorang Employee dapat memperoleh jatah Vacation 2 hingga 4 kali per tahun Multiple, disjoint ranges Employee 1..3, 5 Comitte Seorang Employee adalah anggota dari satu hingga tiga atau lima komite Slide 19 Sometimes a relationship has associated properties, especially when its classes share a many-to-many relationship. In these cases, a class is formed, called an association class Example : Gejala Penyakit Pengobatan Slide 20 Generalization & Aggregation Generalization : Occurs when we need to use words as “is a-kind-of” to describe the relationship. Example : the blue line Aggregation Classes actually comprises other class Example : the red line Slide 21 Object Diagram Slide 22 Object Identification Common approaches : Textual analysis Common object lists Patterns Slide 23 Textual Analysis Analysis of the text in the use-case descriptions Starts by reviewing the use-case descriptions and the use-case diagrams. Identify potential objects, attributes, operations, and relationships. The nouns possible classes, the verbs possible operations Slide 24 Common Object List Simply list the objects that are common to the business domain of the system. Several categories : things incidents roles interactions Slide 25 Patterns Is a useful group of collaborating classes that provide a solution to a commonly occurring problem. For example : many business transactions involve the same type of objects and interactions : a transaction class a transaction line item class an item class a location class a participant class Slide 26 Steps for Object Identification and Structural Modeling 1. Create CRC cards by performing textual analysis on the use-cases. 2. Brainstorm additional candidate classes, attributes, operations, and relationships by using the common object list approach. 3. Role-play each use-case using the CRC cards. 4. Create the class diagram based on the CRC cards. 5. Review the structural model for missing and/or unnecessary classes, attributes, operations, and relationships. 6. Incorporate useful patterns. 7. Review the structural model. Slide 27 Class Tasks 1. Gambarlah class diagram untuk kelas-kelas berikut : Movie (title, producer, length, director, genre) Ticket (price, adult or child, showtime, movie) Patron (name, adult or child, age) 2. Gambarlah class diagram untuk kelas-kelas berikut : Patient (age, name, hobbies, blood type, occupation, insurance carrier, address, phone) Insurance carrier (name, number of patients on plan, address, contact name, phone) Doctor (speciality, provider identification number, age, phone, name) Slide 28 3. Gambarkan relasi-relasi berikut : a) b) c) Seorang pasien hanya boleh mendaftar ke seorang dokter, dan seorang dokter boleh memeriksa banyak pasien Seorang pegawai dapat memiliki satu ekstensi telpon, dan satu nomor ekstensi telpon hanya diberikan untuk satu pegawai Sebuah teater dapat menayangkan banyak filem dan sebuah film dapat ditayangkan di banyak teater Slide 29 4. Buatlah class diagram untuk situasi berikut : Saat pasien pertama kali berkonsultasi, mereka harus mengisi informasi pasien yang berisi datadata tentang nama, alamat, nomor telpon, dan asuransi yang disimpan di file informasi pasien. Pasien hanya dapat terdaftar pada satu asuransi. Seorang pasien hanya dapat berkonsultasi dengan seorang dokter. Setiap kali pasien mengunjungi dokter, sebuah klaim asuransi dikirim kepada pihak asuransi berkaitan dengan pembayaran. Klaim berisi informasi kunjungan yaitu tentang tanggal, tujuan, dan biaya. Seorang pasien bisa mengajukan maksimal 2 klaim di hari yang sama. Slide 30 Tugas Kelompok Buat paper tentang : Object Based Formal Specification (OBFS) Aturan : Minimal berasal dari 2 jurnal Tulisan dalam bahasa Indonesia dengan struktur dan tata bahasa yang tepat. Ditulis di kertas A4, minimal 5 halaman (tidak termasuk cover). Cantumkan referensi yang digunakan Dikumpulkan via email dalam format pdf paling lambat 2 Juni 2011 Slide 31