Upload
yuniiee-bhandicot
View
262
Download
2
Embed Size (px)
DESCRIPTION
model analisis
Citation preview
Model Analisis
©Afijal, M.Kom
-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
-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
-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
-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.
-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)
-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
-ap- 8
Realisasi Use-case CatatPembelian
CatatPembelian
CatatPenyesuaian
<<extend>>RealisasiCatatPenyesuaian
<<realize>>
RealisasiCatatPembelian<<realize>> <<extend>>
PetugasKasir
(f rom Actors)
-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.
-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
-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
-ap- 12
Kelas Analisis: Boundary
<Actor Name>
(f rom Actors)
Boundary Class
<Actor Name>
(f rom Actors)
<Use Case Name>
(from <Use Case Name>)
-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
-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
-ap- 15
Hubungan Antar Kelas
• Generalization
• Association
• Aggregation
• Composition.
-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
-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)
-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.
-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.
-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
-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
-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
-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
-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.
-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.
-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.
-ap- 27
Diagram Interaksi: Elemen
-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.
-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.
-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
-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
-ap- 32
Diagram Interaksi: Tipe
• Terdapat dua macam Diagram Interaksi:– Sequence Diagram– Collaboration Diagram
-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.
-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.
-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)
-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
-ap- 37
Case Study: CatatPembelian
: PetugasKasir : MencatatPembelianBaru : MasterMakanan : PembelianMakanan : FormPembelian
BukaFormPembelian( )
MencatatKodeMakanan( )
CariKodeMakanan( )
MenampilkanJenisMakanan( )
MencatatJumlahMakanan( )
MencatatPembelianBaru( )
-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
-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
-ap- 40
Diagram Interaksi: Diagram Kolaborasi
: PetugasKasir
: MasterMakanan
: MencatatPembelianBaru : PembelianMakanan
: FormPembelian
1: BukaFormPembelian( )
3: CariKodeMakanan( )
4: MenampilkanJenisMakanan( )
6: MencatatPembelianBaru( )
2: MencatatKodeMakanan( )5: MencatatJumlahMakanan( )
-ap- 41
Diagram Interaksi: Kapan?
• Diagram Sekuens:
?Menunjukkan
urutan/sekuens
• Diagram Kolaborasi:
?Menunjukkan
koneksi antar objek
-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?)
-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
-ap- 44
Diagram Kelas: Kelas
MencatatPembelianBaru
MencatatKodeMakanan()MencatatJumlahMakanan()
MenampilkanJenisMakanan()
MasterMakanan
CariKodeMakanan()
PembelianMakanan
MencatatPembelianBaru()
FormPembelian
BukaFormPembelian()
-ap- 45
Diagram Kelas: Atribut
MencatatPembelianBaru
MencatatKodeMakanan()MencatatJumlahMakanan()
MenampilkanJenisMakanan()
MasterMakanan
CariKodeMakanan()
PembelianMakanan
MencatatPembelianBaru()
FormPembelian
BukaFormPembelian()
-ap- 46
Diagram Kelas: Metode/Operasi
MencatatPembelianBaru
MencatatKodeMakanan()MencatatJumlahMakanan()
MenampilkanJenisMakanan()
MasterMakanan
CariKodeMakanan()
PembelianMakanan
MencatatPembelianBaru()
FormPembelian
BukaFormPembelian()
-ap- 47
Diagram Kelas: Relasi antar kelas
MencatatPembelianBaru
MencatatKodeMakanan()MencatatJumlahMakanan()
MenampilkanJenisMakanan()
MasterMakanan
CariKodeMakanan()
PembelianMakanan
MencatatPembelianBaru()
FormPembelian
BukaFormPembelian()