Anda di halaman 1dari 49

Gathering Across-the

Board
Business Rules with 100163 65
1 0 0 1
Class Diagrams
.A di ty a
nt
52
52 1
5
4
2
1
1
0
5 10 0036

. M J u lia ti 0 8 7
M i l us s t u 10 0
a m i ji A 2 1 5
K W 5
h
Dya p a
us etyo a rd i
ra P S 39
e n d r y a 00 1
Na r S u 15 1
d ra 7 52
Re n 1 1
100 ka
B.O.O.M. steps covered in this
chapter include the following:

2b) Structuralanalysis
i) Identify entity classes
ii) Model generalizations
iii) Model transient roles
iv)
Modelwhole/partrelationships
v) Analyze associations
vi) Analyze multiplicity
01
Step 2b: Structural
Analysis

Tujuan dari bab ini adalah supaya kita dapat belajar


menganalisa sebuah objek bisnis.
Structural Model : sebuah representasi abstrak dari aspek
aspek sebuah system yang tidak memiliki hubungan dengan
waktu.
Hasil keluaran dari langkah ini adalah:
Class Diagram
Package Diagram
Composite Structure Diagram
Object Diagram
Structural analysis berfokus pada noun yang terdapat pada
system, sehingga semua noun tersebut telah dianalisis
secara sepenuhnya dan didokumentasikan.
01
Step 2bi: Identify
Entity Classes

Pada langkah ini, dilakukan idetntifikasi dari objek


bisnis yang juga disebut entity class.
Entity Class: kategori dari objek bisnis, dilacak oleh
system.
Rules of Objects and Classes: Semua objek dalam kelas
yang sama harus berbagi operasi, method dan
attribute yang sama.
Atribut yang terdapat pada entity class berupa
informasi yang sudah disimpan alam waktu yang lama.
Contoh dari entity class ini adalah rekor pembayaran
01 dan data pelanggan.
How to do Structural
Modeling
Interview Questions for Finding Classes
Langkah pertama yang harus dilakukan dalam membuat
sebuah structural modeling adalah melakukan identifikasi
kelas dari objok penyusun sebuah bisnis.
Langkah ini dapat dilakukan dengan melakukan review
dokumen dokumen yang telah dibuat sebelumnya dan
melakukan interview langsung kepada para stakeholder.

Make a Supporting Class Documentation


Langkah selanjutnya adalah membuat dokumentasi yang
lebih detail dari semua kelas yang telah ada.
Hal hal yang perlu didokumentasikan antara lain adalah
Class, Alias, Description, Examples, dan Attributes.

02
Step 2bii: Model
Generalizations

Model generalization adalah proses men-


generalasikan model menjadi subtypes.

Subtypes terbagi menjadi 2 yaitu full-time dan


part-time

01
Full-Time & Part-Tiime
Subtypes
o Full-time Subtypes
Sebuah kategori umum yang dapat membagi beberapa subtype jika
objek tidak dapat merubah dari satu subtype ke subtype lainnya.
Contohnya, tempat penginapan dibagi berdasarkan jenis kelamin.
Pria tinggal di lantai 1 dan wanita tinggal di lantai 2. Jadi kegunaan
generalisasi untuk menjelaskan subtype yang penuh waktu.

o Part-time Subtypes
Part-time subtypes adalah tidak stabil, karena didalam part-time
subtype untuk objek model dapat berubah dari subtype ke subtype
yang lainnya. Contohnya pendataan dalam sensus penduduk
terbagi menjadi 2 kelompok, kelompok pekerja dan kelompok
pengangguran. Suatu saat dapat berubah ada bagian yang dari
kelompok pengangguran menjadi kelompok pekerja, begitu juga
02 sebaliknya.
Contoh dari model
generalization

02
Step 2biii: Model
Transient Roles

A transient role is a part-time subtype


representing a role that an object may play
at one time or another during its existence
but may not play at other times..

01
Is It a State or a Transient
Role ?

02
Some Terminology
If objects belonging to class A have a part-time role, B, then:
A is the primary class
B is the transient role
The relationship between A and B is plays a role.

Why Indicate Transient Roles?


The developers need to know whether the subtyping you indicate is full-time
(generalization) or part-time (transient role). Different design and coding
solutions apply in each case.18 The only people who really know how stable the
relationship is are the usersand as their ombudsperson, you are in the best
position to find this out. Also, by indicating a subtype as a transient role rather
than as a specialization, you are signaling to yourself that you need to follow up
with extra questions that do not apply to specializations. (These involve
multiplicity, discussed in the section Step 2bvi: Analyze Multiplicity later in this
chapter.)
02
Rules about Transient Roles

It is possible (though not necessary) for objects of the


primary class to have more than one transient role at a
time. An object may change its transient role during its
lifetime. By indicating that a primary class plays a role,
you are not specifying that every object of the primary
class has to play this roleonly that it might do so.

02
Indicating Transient Roles

The concept of a transient role is not part of the


UML.However, the UML allows for extensions to the
language through specialized use of its symbols,
referred to as stereotyping. Well invent a <<plays
role>> association stereotype to convey this
relationship, as shown in Figure 8.5.

02
Sources of Information for
Finding Transient Roles
Interview the stakeholders regarding the classes that you
discovered in the previous steps guide to questions
follows.

02
Interview Questions for Determining
Transient Roles
to find transient roles, ask the following q:
Can an object wear many hats? If the answer is yes,
each hat is a transient role. For example, can an
employee have more than one role in the organization?
If so, create a new class for each transient role, and
draw a Plays Role relationship between the primary
class and the roles.

Can an object of a given class change its subtype


during its lifespan? If the answer is yes, the subtype
is a transient role. For example, any person in the CPP
organization may change from being a CPP member to a
Peace Committee member, so these are considered
transient roles of Person.
02
What If a Group of Specialized Classes Can
All Play the Same Role?

If all specializations of a generalized class can play the


same role, indicate the generalized class as the primary
class.19 For example, if members of the classes Person
and Agency (two specializations of Participant20) may
attend a Peace Gathering, indicate that Participant
(generalized class) plays the role of Attendee. It is
understood that this means that a person can be an
attendee and that an agency can be an attendee.

02
Case Study H3: Transient Roles

02
Step 2biv: Model
Whole/Part Relationships

Some objects consist of other objects. In OO,you


model these relationships using aggregation and
composite aggregation.

01
The Whole Truth
Menggambarkan hubungan antara whole dan bagian-bagian
nya
Aggregation (More General Term) Some kind of whole/part
relationship.
Composition Aggregation (More Specific Term) The whole owns
the part entirely.

DECIDE ?
If a part can belong to more than one whole and the part
continues to exist when the whole is destroyed, model the
relationship as Aggregation

02
If a part is totally owned by the whole and the part ceases to
Example

The relationship between a catalog and the products


that it includes is Aggregation

The relationship between the catalog and the catalog


line items (that refer to these products) is composite
aggregation

The relationship between a travel booking and its flight,


hotel, and car-rental reservations ?

02
Why ?

help the business analyst to distinguish between


properties that are important for the whole and
properties that are relevant to the parts

02
RULE

Parts do not inherit attributes, operations, or


relationships from the wholeor vice versa
Aggregation and composite aggregation do not imply
full-time links between objects. The whole can drop or
add parts during its lifetime
If a part dies when the whole dies,model the
relationship between them as composite aggregation
Specify any other whole/part relationship, for which the
preceding rule does not apply, as aggregation
02
Indicating Aggregation and Composition
Aggregation

02
Composite Structure Diagram
Idea ?
The idea is simply, to show the component parts inside the icon
representing the whole.
Why?
This type of diagram is useful for describing the connections
between component parts.

02
Step 2bv: Analyze
Associations

Why Indicate
Association ?
Pemodelan Asosiasi menjadi bagian dari
kontrak pengguna dengan pengembang.
Pemodelan asosiasi merupakan langkah awal
yang diperlukan untuk mendapatkan
persyaratan yang lebih rinci (dikenal sebagai
multiplicities)
Asosiasi merupakan masukan begitu penting
untuk desain

01
Discovering Associations

Conduct interviews focused on the issue


Menggunakan diagram kelas yang disusun pada
langkah-langkah sebelumnya untuk mendapatkan
tujuannya. Dimulai dengan kelas utama, kemudian
melakukan interview user tentang kemungkinan
asosiasi untuk kelas-kelas lain.

Review the system use-case model


Sebuah requairement dari bentuk [noun] [verb]
[noun] -di mana kedua kata benda mewakili kelas dan
sering menunjukkan sebuah asosiasi.

02
Rules Regarding
Associations
Most associations are binary
Satu kelas berhubungan dengan sebuah objek di
kelas yang berbeda
An association may be reflexive
sebuah objek dari kelas dikaitkan dengan objek
lain dari kelas yang sama
An association does not have to be
named

02
02
The

Association

Must Reflect

the Business

Reality

02
Redundant Association Rule
of Thumb

02
Exception to the Rule of
Thumb

02
Modeling

Object

Links

with

Object

Diagrams

02
How to Discover
Associations
During system use-case interviews, look out for
statements of the form X [verb] Y, where X and Y
represent business objects
Conduct interviews focused on associations using
existing class diagrams.
Examine screens, report layouts, and so on.
Look out for redundant associations.
If there is a fine point about an association that you
cant get across with the nota- tions youve
learned, add a note to explain the issue and attach
it to the association.

02
Step 2bvi: Analyze
Multiplicity

Multiplicity
Suatu indikasi yang menunjukkan jumlah objek yang
berpartisipasi dalam suatu asosiasi, aggregation, atau
composite aggregation

01
CONTOH MULTIPLICITY

02
MENGAPA HARUS ANALISA
MULTIPLICITY ?

To specify important business rules within the


organization

03
MENGINDIKASI MULTIPLICITY DI
DIAGRAM

04
MENGINDIKASI MULTIPLICITY DI
DIAGRAM (CONT.)

05
ATURAN DALAM
MULTIPLICITY
1. Indikasi multiplicity di setiap ujung UML symbol yang
menandakan transient role, association, aggregation, dan
composite aggregation.

06
ATURAN DALAM MULTIPLICITY
(CONT.)
2. Indikasi multiplicity seperti di bawah ini:
0..1 Zero or one
0..* Zero or more
* Zero or more (alternatif dari 0..*)
1..* One or more
1 One and only one
a..b From a through b, as in 1..5

07
ATURAN DALAM MULTIPLICITY
(CONT.)
3. Setiap asosiasi menghasilkan 2 kalimat yang berbeda
di setiap arah
pembacaan.

Left to Right Formula : Each [class name on left side of


association] [association name] [multiplicity on right side] [class
name on right side]

08
ATURAN DALAM MULTIPLICITY
(CONT.)

4. Jangan membuat multiplicity di panah generalisasi

1..5 1..* *

09
ATURAN DALAM MULTIPLICITY
(CONT.)

5. Dalam Composite Aggregation, multiplicity pada class


yang menunjukkan whole tidak boleh lebih dari satu.

10
SUMBER MENCARI
MULTIPLICITY

Lakukan interview dengan berpatokan pada class


diagram, dan ajukan beberapa pertanyaan.

11
4 PERTANYAAN INTERVIEW UNTUK MENENTUKAN
MULTIPLICITY
Misalkan terdapat class A dan class B
Tinjau object class A
1. Berapa jumlah minimum object class B yang dapat diikat oleh object class A?
2. Berapa jumlah maksimum object class B yang dapat diikat oleh object class
A?

Tinjau object class B


3. Berapa jumlah minimum object class A yang dapat diikat oleh object class B?
4. Berapa jumlah maksimum object class A yang dapat diikat oleh object class
B?

Jawaban yang umum (minimum): zero or one (0/1)


Jawaban yang umum (maksimum): one or many (1/*)
12
SUMMARY
Tujuan dari bab ini adalah supaya kita dapat belajar menganalisa sebuah objek
bisnis.
Hasil keluaran dari langkah ini adalah:
Class Diagram
Package Diagram
Composite Structure Diagram
Object Diagram
Cara melakukan struktural modeling adalah dengan melakukan interview untuk
menemukan class dan membuat dokumentasi yang lebih detail dari semua kelas
yang telah ada.
Subtypes dalam Model Generalization ada 2 yaitu full-time & Part-time
Subtypes.
Model whole/part relationship berfungsi untuk membedakan property yang
penting bagi whole dan property yang relevan terhadap part
Model whole/part relationship Menggunakan : Aggregation & Composite
01 Aggregation
SUMMARY
Composite structure diagram , idenya yaitu menampilkan hubungan antar part
yang terdapat dalam whole
Cara menemukasn Assosiation yaitu dengan mengarahkan pembicaraan fokus
terhadap issue dan kemudian mereview model system use case.
Aturan Mengenai Association yaitu
o Kebanyakan assosiasi adalah binary
o Asosiasi mungkin bersifat reflexive
o Assosiasi tidak harus memiliki nama , tapi dianjurkan agar memperjelas
Multiplicity adalah suatu indikasi yang menunjukkan jumlah objek yang
berpartisipasi dalam suatu asosiasi, aggregation, atau composite aggregation
Multiplicity digunakan untuk menspesifikasikan aturan-aturan proses bisnis
organisasi

12
SUMMARY
5 Aturan multiplicity:
1. Indikasi multiplicity di setiap ujung UML symbol yang menandakan transient
role, association, aggregation, dan composite aggregation.
2. Indikasi multiplicity seperti di bawah ini:
0..1 Zero or one
0..* Zero or more
* Zero or more (alternatif dari 0..*)
1..* One or more
1 One and only one
a..b From a through b, as in 1..5
3. Setiap asosiasi menghasilkan 2 kalimat yang berbeda menurut arah
pembacaan.
4. Jangan membuat multiplicity di panah generalisasi
5. Dalam Composite Aggregation, multiplicity pada class yang menunjukkan whole
tidak boleh lebih dari satu.
12
Membuat multiplicity berpedoman pada 4 pertanyaan(minimum, maksimum) dan
class diagram
THANK YOU

01