5 Model Analisis

47
Model Analisis ©Afijal, M.Kom

description

model analisis

Transcript of 5 Model Analisis

Page 1: 5 Model Analisis

Model Analisis

©Afijal, M.Kom

Page 2: 5 Model Analisis

-ap- 2

Tujuan Instruksional Umum

• Bagian ini menjelaskan tentang pengertian model analisis.

• Setelah mempelajari bagian ini dengan baik, pembaca diharapkan dapat:– Memahami pemodelan analisis.– Membuat realisasi use-case dengan

diagram sekuens

Page 3: 5 Model Analisis

-ap- 3

Pokok Bahasan

• Pokok bahasan pada bagian ini meliputi:– Konsep model analisis– Realisasi use-case– Keterunutan/Traceability realisasi use-

case– Diagram sekuens dan diagram

kolaborasi

Page 4: 5 Model Analisis

-ap- 4

(Review) Framework RUP

• Merupakan framework yang dibuat berdasarkan model proses RUP, terdiri dari:– Use-case view

• Business use-case model• Use-case model

– Logical view• Analysis model• Business object model• Design model

– Component view• Implementation model

– Deployment view

Page 5: 5 Model Analisis

-ap- 5

Model Analisis

• Model analisis (analysis model) menggambarkan realisasi dari use case-use case dalam use case model, dan bertindak sebagai abstraksi dari model desain.

• Tujuan akhir sebuah model analisis adalah untuk membuat pemetaan awal mengenai perilaku yang disyaratkan dalam sistem aplikasi ke dalam elemen-elemen pemodelan.

• Model analisis merupakan transisi ke dalam model desain, dan kelas-kelas analysis secara langsung berkembang menjadi elemen-elemen model desain.

Page 6: 5 Model Analisis

-ap- 6

Model Analisis

• Model analisis terdiri dari:– Realisasi Use-case (Use-case

Realization)– Kelas Analisis (Analysis Class)– Diagram Interaksi (Interaction

Diagram, terdiri dari: Sequence Diagram dan Collaboration Diagram)

Page 7: 5 Model Analisis

-ap- 7

Realisasi Use-case

• Menggambarkan bagaimana sebuah use-case direalisasikan dalam bentuk kolaborasi dari berbagai objek.

• Di dalam realisasi use-case terdapat satu atau beberapa diagram kelas.

• Untuk menentukan kelas-kelas yang terdapat dalam sebuah realisasi use-case, dipergunakan diagram interaksi.

RealisasiCatatPembelian

Page 8: 5 Model Analisis

-ap- 8

Realisasi Use-case CatatPembelian

CatatPembelian

CatatPenyesuaian

<<extend>>RealisasiCatatPenyesuaian

<<realize>>

RealisasiCatatPembelian<<realize>> <<extend>>

PetugasKasir

(f rom Actors)

Page 9: 5 Model Analisis

-ap- 9

Realisasi Use-case CatatPembelian

RealisasiCatatPembelian

Pada fase Inception:Berisi diagram kelas analisis versi awal untuk use case utama.

Pada fase Elaboration:Berisi diagram kelas analisis dan sequence diagram yang menggambarkan interaksi setiap objek dari kelas analisis yang terlibat di dalam use case tersebut. Diagram kelas dan sequence diagram dibuat untuk setiap use case. Lengkapi daftar perubahan sesuai dengan tambahan informasi yang dilakukan pada fase ini.

Pada fase Construction:Berisi diagram kelas analisis dan sequence diagram versi final untuk setiap use case. Lengkapi daftar perubahan sesuai dengan tambahan informasi yang dilakukan pada fase ini.

Page 10: 5 Model Analisis

-ap- 10

Kelas Analisis

• Merupakan elemen/benda yang terdapat pada model analisis.

• Menggambarkan konsep awal mengenai benda yang terdapat dalam sistem (yang akhirnya memiliki tanggung jawab dan perilaku).

• Kelas analisis digunakan sebagai dasar kelas pada model desain.

• Terdiri dari 3 elemen: Boundary, Control, Entity

Page 11: 5 Model Analisis

-ap- 11

Kelas Analisis: Boundary

• Boundary, memodelkan interaksi antara satu atau lebih actor dengan sistem/perangkat lunak.

• Memodelkan bagian dari sistem yang bergantung pada pihak lain dan merupakan pembatas sistem dengan dunia luar.

• Terdiri dari user interface, system interface dan device interface.

BoundaryClass

Page 12: 5 Model Analisis

-ap- 12

Kelas Analisis: Boundary

<Actor Name>

(f rom Actors)

Boundary Class

<Actor Name>

(f rom Actors)

<Use Case Name>

(from <Use Case Name>)

Page 13: 5 Model Analisis

-ap- 13

Kelas Analisis: Control

• Control, memodelkan perilaku mengatur satu atau beberapa use-case.

• Bersifat optional, umumnya terdapat satu control pada satu use-case yang mengontrol urutan events dalam use-case tersebut.

• Menghubungkan kelas boundary dengan kelas entity

ControlClass

Page 14: 5 Model Analisis

-ap- 14

Kelas Analisis: Entity

• Entity, memodelkan informasi yang harus disimpan oleh sistem.

• Memperlihatkan struktur data sebuah sistem.

• Tanggung jawab utamanya adalah menyimpan dan mengatur informasi dalam sistem.

EntityClass

Page 15: 5 Model Analisis

-ap- 15

Hubungan Antar Kelas

• Generalization

• Association

• Aggregation

• Composition.

Page 16: 5 Model Analisis

-ap- 16

Hubungan Antar Kelas: Generalization

• Relasi generalisasi adalah relasi antara sebuah kelas yang lebih umum dengan sebuah kelas yang lebih spesifik.

• Sebuah generalisasi ditunjukkan dengan garis tebal antara spesiik kelas ke kelas umum, diikuti dengan segitiga yang menunjuk ke kelas yang lebih general.

• Relasi generalisasi digunakan untuk menunjukkan relasi "is-a" antar kelas.

• Contoh: kelas Kasir ‘is-a’ kelas People. Kelas Petugas ‘is-a’ kelas People

Page 17: 5 Model Analisis

-ap- 17

Hubungan Antar Kelas: Generalization

People

Petugas(f rom Petugas Stand)

Kasir(f rom Kasir)

People

Petugas

(f rom Petugas Stand)Kasir

(f rom Kasir)

Page 18: 5 Model Analisis

-ap- 18

Hubungan Antar Kelas: Association

• Asosiasi merupakan sarana untuk berkomunikasi, baik antar use-cases, actor, kelas maupun interface.

• Asosiasi merupakan relasi yang paling general dan konsekuensinya menjadi relasi yang paling lemah secara semantik.

• Asosiasi merupakan relasi antar instances kelas.

• Tujuan relasi asosiasi adalah untuk menspesifikasikan relasi secara konspetual, menentukan tanggung jawab dan menspesifikasikan detail implementasi.

Page 19: 5 Model Analisis

-ap- 19

Hubungan Antar Kelas: Association

• Contoh: Dosen mengajar Perkuliahan dan Mahasiswa menghadiri Perkuliahan.

• Sebuah Perkuliahan harus dihadiri minimum oleh 3 Mahasiswa dan maksimum 10 Mahasiswa.

• Perkuliahan diberikan oleh 1 orang Dosen.

• Pada ujung asosiasi dapat diberi nama secara eksplisit dengan

nama peran, sebagai contoh Mahasiswa yang menghadiri Perkuliahan disebut Peserta.

• Jika peran tidak dispesifikasikan, nama peran identik dengan kelas target pada asosiasi.

Page 20: 5 Model Analisis

-ap- 20

Hubungan Antar Kelas: Association

Orang

Dosen Mahasiswa

MatakuliahPerkuliahan

0..*

1

0..*

1

0..*

3..10

0..*

3..10+Peserta

1..*

1

1..*

1

Page 21: 5 Model Analisis

-ap- 21

Hubungan Antar Kelas:Agregation dan Composition

• Aggregation merupakan relasi part-of. Terkadang disebut juga relasi “has-a”, dimana asosiasi ‘normal’ biasanya disebut relasi uses.

• Contoh klasik dari agregasi adalah contoh mobil: Sebuah mobil mempunyai sebuah mesin dan 4 roda.

• Pada contoh di atas: kuliah mempunyai 1 atau beberapa perkuliahan

• Bentuk yang lebih ‘kuat’ dari agregasi disebut composition.

• Pada composition, part merupakan bagian dari whole dimana lifetime dari part terikat pada whole.

• Jika whole dibentuk maka part juga dibentuk. Jika whole dihapus maka part juga dihapus

Page 22: 5 Model Analisis

-ap- 22

Atribut dan Tanggung Jawab Kelas

• Atribut menggambarkan Struktur Kelas

• Nilai/value atribut yang terdapat pada suatu waktu tertentu disebut dengan status/state dari kelas tersebut

• Tanggung Jawab mengggambarkan kelakukan/behavior dari kelas tersebut yang dapat menyebabkan perubahan state.

• Tanggung jawab sebuah kelas terdiri dari dua item pokok yaitu:– Mengetahui data

yang dikelola kelas tersebut

– Melakukan aksi-aksi untuk mengubah state atau untuk memberi layanan kepada kelas lain

Page 23: 5 Model Analisis

-ap- 23

Atribut dan Tanggung Jawab Kelas

• Behavior menggambarkan bagaimana sebuah objek bertindak/beraksi dan memberi reaksi.

• Behavior ditentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan dalam objek itu sendiri.

• Behavior objek dapat dicerminkan oleh interface, service dan method dari objek itu.[2]

• [2] Interface adalah pintu untuk mengakses service objek. Service adalah fungsi yang bisa diemban objek. Method adalah mekanisme internal objek yang mencerminkan perilaku objek tersebut

Page 24: 5 Model Analisis

-ap- 24

Diagram Interaksi

• Diagram use-case digunakan untuk memvisualisasikan dan mendeskripsikan eksternal view sistem dan eksternal urutan aksi-reaksi antara sistem/use-case dengan aktor (disebut skenario).

• Untuk mengetahui

deskripsi internal sistem perangkat lunak dari suatu skenario, kita membutuhkan diagram interaksi.

• Deskripsi internal ini digambarkan dalam

bentuk kumpulan objek.

Page 25: 5 Model Analisis

-ap- 25

Diagram Interaksi

• Menggambarkan interaksi antar objek yang terdapat dalam sebuah realisasi use-case.

• Berupa step-by-step aliran (flow) yang terdapat dalam realisasi use-case; terdiri dari: – Objek apa saja yang dibutuhkan dalam aliran?– Message apa saja yang dikirim dari objek ke

objek lain?– Aktor apa yang menginisiasi aliran?

• Tujuan diagram interaksi adalah untuk mendapatkan aliran (flow) interaksi antar objek yang mendeskripsikan sebuah skenario.

Page 26: 5 Model Analisis

-ap- 26

Diagram Interaksi

• Dalam sebuah realisasi use-case, dapat terdiri dari beberapa alternatif aliran (dengan tujuan yang sama). Dengan demikian kita membutuhkan beberapa diagram interaksi untuk menggambarkannya.

• Minimal kita mempunyai satu diagram interaksi untuk satu alternatif yang sukses (happy case); dan beberapa interaksi untuk alternatif kasus yang tidak sukses.

• Contoh: pada CatatPembelian, happy case terjadi pada saat pencatatan berhasil, sedangkan alternatif lain jika terjadi pencatatan gagal karena kesalahan memasukkan kode.

Page 27: 5 Model Analisis

-ap- 27

Diagram Interaksi: Elemen

Page 28: 5 Model Analisis

-ap- 28

Diagram Interaksi: Menemukan Kelas

• Pada diagram interaksi kita memerlukan kelas dan objek.

• Kelas yang mempunyai peran dalam mencapai tujuan dan kebutuhan sistem.

• Proses menemukan Kelas adalah aktifitas tersulit OOA/D.

• Merupakan proses yang berulang, semakin berpengalaman, semakin baik.

Page 29: 5 Model Analisis

-ap- 29

Diagram Interaksi: Menemukan Kelas

• Terdapat beberapa pendekatan untuk identifikasi Kelas:– Pendekatan Noun Phrase, – Pendekatan Common Class Paterns,

– Pendekatan Use-Case Approach, – Pendekatan Classes Responsibilities and

Collaboration.

Page 30: 5 Model Analisis

-ap- 30

Diagram Interaksi: Noun Phrase

• Diperkenalkan oleh Rebecca Wirfs-Brock, Brian Wilkerson dan Lauren Wiener.

• Pendekatan yang dilakukan adalah sebagai berikut:– Mencari noun phrases dari requirement atau

use case– Nouns Class, sedangkan Verb Method

• Sangat bergantung kepada kelengkapan dan ketepatan dari dokumen yang tersedia

• Dilain pihak, pada dokumen yang lengkap akan terdapat banyak kandidat kelas

Page 31: 5 Model Analisis

-ap- 31

Diagram Interaksi: Noun Phrase

• Langkah-langkah pendekatan tersebut:– Identifikasi Tentative Classes Berdasarkan use-

case– Seleksi Kelas-kelas dari kategori yang relevan

dengan cara:• Membuat daftar dari noun phrases• Review kelas yang redundant dan jadikan kelas yang

umum• Review kelas yang mengandung Adjective• Review Attribut yang mungkin• Review Tujuan Kelas

– Kelas yang tidak mempunyai peran dan tidak mempunyai kegunaan dalam sistem akan dihapus dalam daftar

Page 32: 5 Model Analisis

-ap- 32

Diagram Interaksi: Tipe

• Terdapat dua macam Diagram Interaksi:– Sequence Diagram– Collaboration Diagram

Page 33: 5 Model Analisis

-ap- 33

Diagram Interaksi: Diagram Sekuens

• Diagram sekuen adalah diagram interaksi yang menggambarkan interaksi antar objek yang terurut berdasarkan waktu.

• Idealnya digunakan pada periode waktu yang sedikit dan melibatkan objek yang sedikit.

Page 34: 5 Model Analisis

-ap- 34

Diagram Interaksi: Diagram Sekuen

• Temukan objek: – Identifikasi benda/noun yang terdapat

dalam aliran kejadian/skenario Benda tersebut dapat saja berupa aktor, objek atau atribut dari objek.

– Identifikasikan objek saja, kategorikan objek tersebut menjadi objek entity, boundary dan control.

• Temukan aktor: yaitu pihak yang menginisiasi aliran/skenario.

Page 35: 5 Model Analisis

-ap- 35

Diagram Interaksi: Diagram Sekuen

• Tambahkan message ke dalam diagram,

• Message adalah komunikasi antar objek yang menggambarkan aksi yang akan dilakukan.

• Message terjadi antar dua buah objek dimana satu objek (disebut client) meminta objek lain (disebut supplier) untuk melakukan sesuatu.

• Message berbeda dengan Method, dimana method adalah fungsi dari kelas yang berisi statement untuk menggambarkan apa yang terjadi ketika suatu message diterima (misalnya perubahan state, ekstrak informasi)

Page 36: 5 Model Analisis

-ap- 36

Case Study: CatatPembelian

Identifikasi

Nomor UC-01

Nama CatatPembelian

Tujuan Mencatat pembelian makanan yang ada

Deskripsi Pembeli melakukan pemesanan makanan, kasir mencatat pemesanan makanan

Tipe High level

Aktor Petugas Kasir

Skenario Utama

Kondisi awal: Aplikasi Penjualan sudah dibuka

Aksi Aktor Reaksi Sistem

Membuka formulir pembelian Menampilkan formulir yang siap diisi

Mengisi data kode makanan dan jumlah Menampilkan jenis makanan dan harga per item berdasarkan kode

Menekan tanda selesai jika pembelian makanan sudah selesai

Menyimpan seluruh item pembelian makanan

Kondisi akhir: Seluruh item pembelian sudah tersimpan

Page 37: 5 Model Analisis

-ap- 37

Case Study: CatatPembelian

: PetugasKasir : MencatatPembelianBaru : MasterMakanan : PembelianMakanan : FormPembelian

BukaFormPembelian( )

MencatatKodeMakanan( )

CariKodeMakanan( )

MenampilkanJenisMakanan( )

MencatatJumlahMakanan( )

MencatatPembelianBaru( )

Page 38: 5 Model Analisis

-ap- 38

Diagram Interaksi: Diagram Sekuen

• Diagram Sekuen tidak dipergunakan untuk:– Kolaborasi objek yang banyak– Logika yang kompleks– Menunjukkan kelakuan sebuah

objek tunggal – Gunakan statechart diagram

Page 39: 5 Model Analisis

-ap- 39

Diagram Interaksi: Diagram Kolaborasi

• Tujuan Diagram Kolaborasi adalah untuk memperlihatkan bagaimana objek saling terkait pada sebuah use-case.

• Kegunaan Diagram Kolaborasi adalah:– Untuk memperlihatkan hubungan statik

antar objek– Untuk skenario yang lebih kompleks– Untuk objek yang banyak dengan

message yang sedikit

Page 40: 5 Model Analisis

-ap- 40

Diagram Interaksi: Diagram Kolaborasi

: PetugasKasir

: MasterMakanan

: MencatatPembelianBaru : PembelianMakanan

: FormPembelian

1: BukaFormPembelian( )

3: CariKodeMakanan( )

4: MenampilkanJenisMakanan( )

6: MencatatPembelianBaru( )

2: MencatatKodeMakanan( )5: MencatatJumlahMakanan( )

Page 41: 5 Model Analisis

-ap- 41

Diagram Interaksi: Kapan?

• Diagram Sekuens:

?Menunjukkan

urutan/sekuens

• Diagram Kolaborasi:

?Menunjukkan

koneksi antar objek

Page 42: 5 Model Analisis

-ap- 42

Diagram Interaksi: Petunjuk

• Diagram Interaksi merupakan diagram yang bagus untuk menganalisis dan memvisualisasi,

• Menunjukkan urutan dan hubungan antar objek untuk sebuah skenario use-case,

• Gunakan elemen notasi dasar,• Setiap skenario mempunya diagram

interaksi sendiri,• Gunakan abstraksi• KIS(S): Keep it Simple (S?)

Page 43: 5 Model Analisis

-ap- 43

Diagram Kelas (dari Diagram Sekuens)

• Dengan pendekatan Use-case (Use-case driven approach), kelas didapatkan berdasarkan diagram sekuens

• Langkah-langkah:– Identify Class– Identify Relationship– Identify Attributes– Identify Methods

Page 44: 5 Model Analisis

-ap- 44

Diagram Kelas: Kelas

MencatatPembelianBaru

MencatatKodeMakanan()MencatatJumlahMakanan()

MenampilkanJenisMakanan()

MasterMakanan

CariKodeMakanan()

PembelianMakanan

MencatatPembelianBaru()

FormPembelian

BukaFormPembelian()

Page 45: 5 Model Analisis

-ap- 45

Diagram Kelas: Atribut

MencatatPembelianBaru

MencatatKodeMakanan()MencatatJumlahMakanan()

MenampilkanJenisMakanan()

MasterMakanan

CariKodeMakanan()

PembelianMakanan

MencatatPembelianBaru()

FormPembelian

BukaFormPembelian()

Page 46: 5 Model Analisis

-ap- 46

Diagram Kelas: Metode/Operasi

MencatatPembelianBaru

MencatatKodeMakanan()MencatatJumlahMakanan()

MenampilkanJenisMakanan()

MasterMakanan

CariKodeMakanan()

PembelianMakanan

MencatatPembelianBaru()

FormPembelian

BukaFormPembelian()

Page 47: 5 Model Analisis

-ap- 47

Diagram Kelas: Relasi antar kelas

MencatatPembelianBaru

MencatatKodeMakanan()MencatatJumlahMakanan()

MenampilkanJenisMakanan()

MasterMakanan

CariKodeMakanan()

PembelianMakanan

MencatatPembelianBaru()

FormPembelian

BukaFormPembelian()