OBJECT ORIENTED ANALYST AND DESIGN Defri Kurniawan defri
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 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) Skenario Keberhasilan Utama: 1. Pelanggan melihat-lihat katalog dan memilih barang untuk dibeli 2. Pelanggan memeriksa 3. Pelanggan mengisi informasi pengiriman barang 4. Sistem menampilkan informasi seluruh harga, termasuk pengiriman 5. Pelanggan mengisi informasi kartu kredit 6. Sistem mengotorisasi pembelian 7. Sistem mengkonfirmasi penjualan secara lengsung 8. Sistem mengirim e-mail konfirmasi ke pelanggan
Ekstensi 3 a: Konsumen adalah member 1. Sistem menampilkan informasi pengiriman barang 2. Pelanggan dapat menerima atau menghiraukan ini, kembali ke nomer 6 6 a: 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 • Use case dinotasikan dengan gambar horizontal ellips Use Case • A major piece of system functionality • Ditempatkan di dalam system boundary • Use case biasanya menggunakan kata kerja
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 • Jenis relasi yang biasa digunakan pada use case diagram, meliputi: • Association Relationship • Include Relationship <<includes>> • Extend Relationship <<extends>> • Generalization Relationship
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 • 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 Mengembalikan Buku extends Membayar Denda
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 2. How the system responds 1.
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 Overview • 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 Essential • 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: 1. Overview information 2. Relationship 3. Flow of events
Element of Use Case Description (2) Use Case Name: ID: Primary Actor: Use Case Type: Importance Level: Stakeholders and Interests: Brief Description: Trigger: Relationships: (Association, Include, Extend, Generalization) Normal Flow of Events: Subflows: Alternate/Exceptional Flows:
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 1. 2. 3. 4. Association Extend Include Generalization
Flow of Event • Mendeskripsikan langkah-langkah individu pada proses bisnis • Tiga jenis Flow 1. Normal flow of events 2. Sub-Flows 3. Exceptional flows
Normal flow of events • Hanya meliputi langkah-langkah normal yang dieksekusi • Langkah didaftarkan menurutan 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
- Slides: 46