530 likes | 1.05k Views
Use Case Sistem. Pokok Bahasan. Konsep Pemodelan Use Case Aktor Use Case Aliran Kejadian (Flow of Events) Relasi Diagram Use Case. Langkah pendekatan berorientasi obyek. Pendefinisan fungsi sistem Identifikasi aktor Identifikasi use case Membuat skenario per use case. ACTOR.
E N D
PokokBahasan • KonsepPemodelan Use Case • Aktor • Use Case • AliranKejadian (Flow of Events) • Relasi • Diagram Use Case
Langkahpendekatanberorientasiobyek • Pendefinisanfungsisistem • Identifikasiaktor • Identifikasi use case • Membuatskenario per use case
1.a. Aktor(Actor) • Aktoradalahseseorangatauapasaja yang berhubungandengansistem yang sedangdibangun • Aktormerupakansemua yang berada di luarruanglingkupsistem
1.a. Aktor(Actor) [Lanjut…] • Terdapat 3 (tiga) tipeaktor, yaitu: • Penggunasistem, • Sistem lain yang berhubungandengansistem yang sedangdibangun, dan • Waktu. • SimbolAktor
1.a. Aktor(Actor) [Lanjut…] Aktor-Penggunasistem, contoh: • Aktorsecarafisikataupenggunasistem: • Petugaspenjualan • Kasir • Manajer • Pelanggan • Admin
1.a. Aktor(Actor) [Lanjut…] Aktor-Sistem lain, contoh: • Aktorsistem lain: • Antarmukadenganaplikasiekternaluntukmemvalidasipembelianmenggunakankartukredit/debit.
1.a. Aktor(Actor) [Lanjut…] Aktor-waktu, contoh: • Ketikawaktutertentumemicubeberapakejadiandalamsistem. • Contoh: • Padaharitertentuatau jam tertentusistemsecaraotomatisakanmengirimkan email tagihankartukredit.
Actor Aktor Bisnis Utama [1] • Pengertian Stakeholder yang terutama mendapatkan keuntungan dari pelaksanaan Use-Case dengan menerima nilai yang terukur atau terobservasi. • Contoh: Karyawan (Stakeholder) yang menerima Gaji (nilai terukur) akibat dari pelaksanaan Use-Case/Sistem (catatan: aktor Karyawan tidak berhubungan langsung dengan Sistem Penggajian).
Actor Aktor Sistem Utama [1] • Pengertian Stakeholder yang secara langsung berhadapan dengan sistem untuk menginisialisasi atau memicu kegiatan atau sistem. • Aktor Sistem Utama dapat berinteraksi dengan Aktor Bisnis Utama untuk menggunakan sistem Aktual. Contoh: • Operator Telepon dengan pelanggan (informasi) • Kasir Bank dengan Nasabah (transaksi perbankan) • Aktor Sistem Utama dan Aktor Bisnis Utama terkadang dapat menjadi pelaku bisnis yang sama-sama berhadapan langsung dengan sistem. Contoh: • Jasa Pelayanan melalui Website
Actor Aktor Pelayan Eskternal [1] • Pengertian Stakeholder yang melayani kebutuhan pengguna Use-Case di luar sistem/Use-Case. • Contoh: • Biro Kredit yang memiliki kuasa atas perubahan Kartu Kredit
Actor Aktor Penerima Eksternal [1] • Pengertian Stakeholder yang bukan pelaku utama (aktor bisnis utama & aktor sistem utama) tapi menerima nilai yang terukur atau teramati dari Use-Case. • Contoh: • Gudang/Kurir yang menerima permintaan untuk menyiapkan pengiriman setelah seorang pelanggan memesan.
Pendekatanterstruktur/tradisionalberfokuspadabagaimanamemecahpersoalanbesarmenjadipersoalan-persoalan yang lebihkecil, sedankanpendekatan use case berfokuspadaapayanpemakaiharapkandarisistem
1.b. Use Case • Independenterhadapimplementasi • Adalahbagian/pandangantingkattinggidarifungsionalitas yang disediakanolehsistem. • Fokuspadaapa yang pemakaiharapkandarisistem. • Fokuspadaapa yang sistemharuskerjakan, bukanbagaimanasistemmengerjakannya. • Use case merepresentasikantransaksilengkapantarapemakaidansistem. • Menghasilkansesuatu yang bermanfaatbagipemakai • Use case dapatditurunkandaripemodelanbisnis
Pemodelan use case adalahlangkahkritisdalampengembangansisteminformasi, karena use case adalahalatutamauntukmenangkapkemauanpemakaiakhirterhadapsistem yang akandibangun. Padalangkahinidibutuhkankehati-hatianseoranganalissistem. Olehsebabitu, sekalilagi, bersabarlahkalaulangkahinimemakanwaktu. Sebagianbesarwarnasistemditentukanpadalangkahini. (Sholiq, 2006)
Cara Identifikasi Use Case • Menjawabpertanyaan: • Apa yang masing-masingaktorkerjakandalamSistem? • Apa yang pemakaiharapkandarisistem? • Fungsionalitasapasaja yang stakeholder harapkandarisistem.
Cara Menghasilkan Use Case yang baik • Pilihlah nama yang baik • Ilustrasikan & identifikasi perilaku dengan lengkap • Sediakan use case lawan (inverse) • Batasi use case hingga satu perilaku saja • Nyatakan Use case dari sudut pandang Aktor
Use Case Pilihlah nama yang baik • Use case adalah sebuah behaviour (perilaku), jadi sebaiknya dalam frase kata kerja. • Untuk membuat namanya lebih detil, tambahkan kata benda yang meengindikasikan dampak aksinya terhadap suatu kelas objek. • Use Case seharusnya berhubungan dengan diagram kelas. • Contoh: • Pemesanan Kamar • Pembukaan Kartu • Mereplikasi Database
Use Case Ilustrasikan & identifikasi perilaku dengan lengkap • Use case diinisiasi oleh aktor primer dan berakhir pada aktor, mencapai tujuan dan menghasilkan nilai tertentu. • Pilihlah frase kata kerja yang implikasinya hingga selesai. Contoh: • ‘pemesanan kamar’ bukan ‘memesan kamar’ • Jangan membuat Use Case yang merupakan bagian skenario dari Use Case lain. Contoh: • Use Case ‘Memilih tempat tidur’ tidak dapat dijadikan sebagai Use Case yang mandiri, karena merupakan bagian dari Use Case ‘Pemesanan Kamar’ (tidak mungkin tamu memilih tempat tidur tanpa memesan kamar hotel).
Use Case Sediakan use case lawan (inverse) • Sediakan Use Case lawan untuk membatalkan tujuan. • Contoh: • Use Case ‘Pemesanan Kamar’ • Use Case lawan ‘Pembatalan pesanan kamar’
Use Case Batasi use case hingga satu perilaku/tujuan saja • Buatlah use case yang hanya fokus pada satu perilaku/tujuan saja supaya tidak terjadi kerancuan. • Contoh: • Penggunaan use case ‘Check-in’ dan ‘Check-out’ dalam satu use case menghasilkan ketidakfokusan, karena memiliki dua perilaku yang berbeda.
Use Case Nyatakan Use case dari sudut pandang Aktor • Tuliskan nama Use Case dari sudut pandang Aktor bukan Sistem. • Contoh: • Pilih nama Use Case ‘Pemesanan Kamar’ (sudut pandang Aktor) bukan ‘Pencatatan Pesanan Kamar’ (sudut pandang Sistem)
AliranKejadian Tujuan: • Untukmendokumentasikanaliranlogikadalamsetiap use case yang menjelaskansecararinciapa yang pemakaiakanlakukandanreaksisistem. • Untukmenjelaskanapa yang sistemlakukan, bukanbagaimanasistembekerja. Sifat: • Rinci • Independenterhadapimplementasi
Bagiandarialirankejadian • Nama Use case • Actor • Deskripsisingkat • Kondisi • Alirankejadianutamadanalternatif • Kondisiawaldankondisiakhir
DeskripsiSingkat • Deskripsiharussingkatdanlangsungkefokuspersoalan, tetapijugaharusmenyertakantipe-tipepemakai yang menjalankan use case • Deskripsiharusmenjelaskankondisiakhirdari use case
Kondisi • KondisiAwal • Adalahkondisi yang harusdipenuhisebelumsebuah use case dijalankan. • Sebuah use case lain yang harusdieksekusisebelum use case tertentudijalankan. • Tidaksemua use case memilikikondisiawal. • KondisiAkhir • Adalahkondisi yang harusselalubenarsetelahsebuah use case selesaidijalankan • Tidaksemua use case memilikikondisiawal.
AliranKejadian • Menjelaskanspesifikasirincidarisetiap use case • Alirankejadianmeliputi: • Bagaimana use case dimulai • Berbagailintasan yang melalui use case • Aliranutama (primary flow/basic flow) yang melewati use case • Beberapapenyimpanganaliranutama yang disebutsebagaialiranalternatif (alternate flow) • Beberapaalirankesalahan (error flow) • Bagaimana use case berakhir
JenisRelasidalam Use Case Diagram • Ada 4 jenisrelasi yang bisatimbulpada use case diagram • Association/assosiasiantara actor dan use case • Association antara use case • Generalization/Inheritance antara use case • Generalization/Inheritance antara actors • Associations bukanmenggambarkanaliran data/informasi • Associations digunakanuntukmenggambarkanbagaimana actor terlibatdalam use case
Association Antara Use Case • <<include>> • termasukdidalam use case lain (required) / (diharuskan) • Satu use case SELALUmenggunakanfungsionalitasyang disediakanoleh use case lain • Pemanggilan use case oleh use case lain • contohnyaadalahPemanggilansebuahfungsi program • Tandapanahterbukaharusterarahke sub use case
Kenapamunculrelasi <<include>> • Use case tertentuakanmenggunakanfungsionalitas yang disediakanoleh use case lain. • Jikaduaataulebih use case mempunyaifungsionalitas yang identik, makafungsionalitasinidapatdipecahmenjadi use case tersendiri. • Suatu use case memilikifungsionalitas yang terlalu, padakasusini use case dapatdipecahmenjadi use case yang lebihkecil
Larangandalam<<include>> Use case utama/ Parent/base use case Sub use case Arahpanahmenuju use case utama Tidakterdapatarahpanah
Association Antara Use Case • <<extend>> • Satu use case SECARA OPSIONALmenggunakanfungsionalitas yang disediakanoleh use case lain • Perluasandari use case lain jikakondisiatausyaratterpenuhi • Kurangipenggunaan association Extend ini, terlalubanyakpemakaian association inimembuat diagram sulitdipahami. • Tandapanahterbukaharusterarahke parent/base use case • Gambarkan association extend secara vertical (picture extending use case below than base/parent use case) Roni Yunis, S.Kom., M.T.
Larangandalam<<extend>> Parent/base use case Arahpanahmenuju sub use case Sub use case
Relasiantar Use Case/AktorGeneralisasi/ Inheritance • Relasiinidigunakanuntukmenunjukkanbahwabeberapaaktoratau use case mempunyaibeberapapersamaan • Menyederhanakan model dengancaramenarikkeluarsifat-sifatpada actor maupunpada use case-use case yang sejenis.
Kapankitamembutuhkangeneralisasi? • Mekanismeberbedadengansatutujuan yang sama Generalisasi Use Case • Jikaadalebihdarisatualternatifteknikdancara agar aktordapatmencapaitujuannya, makaakandiperolehpenggunaanbersama (sharing), seperti: • Peralatanpendukung • Validasi data • Tujuannnyaadalahmengurangiduplikasidengancaramembuatsatu use case baru yang mengakomodasikanpenggunaanbersamaitu.
Kapankitamembutuhkangeneralisasi? • Agenberbedadengansatutujuan yang sama GeneralisasasiAktor • Jikalebihdarisatuaktormencobamembangunsatutujuan yang samamakakitadapatmembuatgeneralisasiantaraktortersebut
ContohGeneralisasi Generalisasi Use Case Generalisasi Actor