Object oriented analyst and design Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id
Review Elemen-elemen Model Analisis Secara umum, model-model analisis memiliki elemen-elemen spesifik seperti di bawah ini: Elemen berbasis skenario Elemen berbasis kelas Elemen berbasis aliran Elemen-elemen perilaku
Review Bentuk representasi yang berbeda memberi pertimbangan kebutuhan-kebutuhan sistem/ perangkat lunak dari berbagai sudut pandang yang berbeda Elemen-elemen Model Analisis
USE CASE SCENARIO
Contoh Skenario Contoh: sebuah toko online berbasis web, kita memiliki skenario Buy a Product (membeli suatu produk) dengan deskripsi Pelanggan melihat-lihat katalog dan menambahkan barang-barang yang diinginkan ke dalam keranjang belanja. Pada saat pelanggan tersebut ingin membayar, pelanggan menjabarkan tentang informasi pengiriman barang dan kartu kredit serta mengkonfirmasi transaksi. Sistem kemudian memeriksa otoritas pada kartu kredit lalu mengkonfirmasi transaksi secara langsung dan mengirim email tindak lanjut
Contoh Skenario Skenario di atas memiliki tujuan yaitu membeli suatu produk Walaupun dalam melakukan otoritasi pada kartu kredit mungkin bisa saja gagal. Mungkin juga konsumennya merupakan member dan tidak perlu mengirim informasi pengiriman barang dan kartu kredit Tujuan pengguna merupakan kunci sukses sebuah use case
How to write a use case Capture a summary use case An overview in a sentence Identify actors and their goals Actors can be people, systems, organisations Stakeholders and their interests Write success scenario as steps Define exceptions to each step
Contoh Use Case Summary Contoh Use Case Summary membeli suatu product: Pelanggan melihat-lihat katalog dan menambahkan barang-barang yang diinginkan ke dalam keranjang belanja
Skenario Keberhasilan Utama (Main Success Scenario) Pelanggan melihat-lihat katalog dan memilih barang untuk dibeli Pelanggan memeriksa Pelanggan mengisi informasi pengiriman barang Sistem menampilkan informasi seluruh harga, termasuk pengiriman Pelanggan mengisi informasi kartu kredit Sistem mengotorisasi pembelian Sistem mengkonfirmasi penjualan secara lengsung Sistem mengirim e-mail konfirmasi ke pelanggan
Ekstensi 3a: Konsumen adalah member Sistem menampilkan informasi pengiriman barang Pelanggan dapat menerima atau menghiraukan ini, kembali ke nomer 6 6a: Sistem gagal mengotorisasi pembelian kredit - Pelanggan dapat memasukkan kembali informasi kartu kredit atau membatalkan
USE CASE DIAGRAM
Use Case Use Case Diagram menceritakan apa yang sistem akan lakukan (what the system will do) Menekankan “apa” yang diperbuat sistem, dan bukan “bagaimana” Menggambarkan fungsionalitas yang diharapkan dari sebuah sistem Menggambarkan kebutuhan sistem dari sudut pandang pengguna (user)
Use Case Diagram Syntax Use case diagram terdiri dari: Use case Actors Relationship System boundary boxes Use case
Use Case Diagram Use Case Diagram
Use Case Use Case Use case dinotasikan dengan gambar horizontal ellips A major piece of system functionality Ditempatkan di dalam system boundary Use case biasanya menggunakan kata kerja Use Case
<<system>> Actor Actor Actor menggambarkan orang, sistem lain yang berhubungan dengan sistem saat ini Actor is a role, not a specific user Indikasi <<system>> untuk sebuah actor yang merupakan sebuah sistem Actor <<system>>
System Boundary Tulis nama sistem di atas dalam kotak / boundary Menampilkan batasan sistem (scope of the system) Actors are outside the scope of the system System
Relationship Association Relationship Include Relationship Jenis relasi yang biasa digunakan pada use case diagram, meliputi: Association Relationship Include Relationship Extend Relationship Generalization Relationship <<includes>> <<extends>>
Association Relationship Link antar aktor dan Use Case Dapat menggunakan tanda (*) untuk menunjukkan "multiplicity of the Association" * *
Include Relationship Pemanggilan / penyertaan use case lain yang wajib / diharuskan (required) pada sistem Tanda panah terbuka mengarah ke sub use case Memasukkan Kartu include Memasukkan PIN
Extend Relationship extends Membayar Denda Perluasan dari use case jika terdapat kondisi atau syarat terpenuhi Memperluas Use Case untuk memasukkan perilaku Opsional Tanda panah terbuka mengarah ke parent/base use case extends Membayar Denda Mengembalikan Buku
Generalization Relationship Generalization digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum Dapat digunakan pada use case dan actor
Use Case Diagram with Specialized Actor (Generalization)
Use Case Diagram for Appointment System
Use Case Diagram with Specialized Actor
Extend and Include Relationships, Generalization
Use Case Description
What are Use Case Descriptions? Menjelaskan fungsi dasar dari sistem menggunakan kata-kata (words) What the user can do How the system responds
How are Use Cases Created? Setiap use case description mendekripsikan satu dan hanya satu fungsi Tetapi mungkin memiliki beberapa jalur dimana pengguna dapat mencapai fungsi tunggal tersebut (ex: ketika mencari buku di web bookstore, pengguna mungkin mencari berdasarkan subjek, penulis, atau dengan judul)
Type of Use Case Description Overview and Detail High level overview of requirements Mengijinkan user dan analis untuk menyepakati requirement secara umum Dokumen hanya memuat info dasar Name, ID, primary actor, type, brief description Detail Dokumen memuat semua informasi yang dibutuhkan untuk Use Case
Type of Use Case Description Essential and Real Menggambarkan hanya isu penting yang dibutuhkan untuk memahami fungsi yang diperlukan (misalnya “make appt") Real Lebih jauh menggambarkan serangkaian langkah tertentu (misalnya "make entry into outlook database”)
Element of Use Case Description (1) Berisi semua informasi yang dibutuhkan untuk membangun Use Case Diagram Namun mengekspresikannya dengan cara yang sedikit formal Tiga bagian dasar: Overview information Relationship Flow of events
Element of Use Case Description (2) Use Case Name: ID: Importance Level: Primary Actor: Use Case Type: Stakeholders and Interests: Brief Description: Trigger: Relationships: (Association, Include, Extend, Generalization) Normal Flow of Events: Subflows: Alternate/Exceptional Flows: Overview Relationships Flow of events
Overview Information (1) Use Case Name verb-noun phrase (Make Appt) Use Case ID Number Importance level Primary Actor Normally the trigger
Overview Information (2) Use Case Type Overview, detail, essential, or real Stakeholders and interests Always includes the primary actor Brief Description One sentence captures the essence Trigger Event that causes Use Case to begin
Relationship Explains relationship of Use Case to: Other Use Cases Users Four type of relationships Association Extend Include Generalization
Flow of Event Mendeskripsikan langkah-langkah individu pada proses bisnis Tiga jenis Flow Normal flow of events Sub-Flows Exceptional flows
Normal flow of events Hanya meliputi langkah-langkah normal yang dieksekusi Langkah didaftarkan menurut urutan yang dilakukan
Sub Flow Aliran normal event yang diuraikan menjadi sub-flow Upayakan untuk menjaga normal flow sederhana dan mudah dimengerti Dapat didaftarkan masing-masing sub-flow sebagai bagian dari Use Case Jika masuk akal, dapat mengkonversi sub-flow dalam Use Case sendiri
Exceptional Flows Flow yang diantisipasi (alternatif) dari normal flow
Example of Use Case Description
Guidelines for Creating Use Case Descriptions (1) Buat setiap langkah dengan bentuk “SVDPI”: Subject-Verb-Direct Object, Preposition, Indirect Object Example: "The Patient contacts the office regarding an appointment“ Class : Patient, Office, Appointment Memungkinkan identifiasi kelas menjadi lebih mudah Memperjelas inisiator dan penerima tindakan Menulis dari pengamat independen
Guidelines for Creating Use Case Descriptions (2) Pastikan sekumpulan tindakan yang masuk akal Use Case merepresentasikan suatu transaksi Aktor utama memulai tindakan Sistem memvalidasi permintaan Sistem memproses permintaan (change state) Sistem mengirimkan hasilnya ke aktor utama
TERIMA KASIH