class diagram

advertisement
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
Download