akuntansi-sia/diagrams/use-cases.md

3.4 KiB

Karyawan — Use Cases

  • Aktor: User (role = employee / karyawan).

  • Prasyarat: Terdaftar dan terautentikasi (login).

  • Melihat Stok Produk:

    • Goal: Menampilkan ketersediaan barang di Stock per Branch.
    • Alur Utama: 1) Buka menu Stok → 2) Pilih Branch → 3) Sistem menampilkan daftar Product dengan quantity.
    • Alur Alternatif: Filter/cari berdasarkan Product atau kategori; jika kosong tampilkan "Tidak ditemukan".
    • Postcondition: Karyawan melihat stok terkini.
  • Mencatat Penjualan:

    • Goal: Mencatat transaksi di Sale dan mengurangi Stock.
    • Alur Utama: 1) Pilih Product → 2) Masukkan quantity → 3) Sistem validasi stok → 4) Simpan Sale → 5) Update Stock.
    • Alur Alternatif: Jika stok tidak cukup → tampilkan pesan dan batalkan atau arahkan ke proses pembelian (Purchase).
    • Postcondition: Sale tersimpan, Stock berkurang sesuai.
  • Mencatat Pembelian (opsional sesuai izin):

    • Goal: Menyimpan transaksi di Purchase dan menambah Stock.
    • Alur: 1) Input supplier/item/quantity/total → 2) Simpan Purchase → 3) Update Stock.
    • Postcondition: Purchase tersimpan, stok bertambah.
  • Melihat Laporan Dasar:

    • Goal: Melihat ringkasan penjualan harian dan status stok untuk tugas operasional.
    • Alur: Buka menu Laporan → pilih rentang waktu/branch → tampilkan ringkasan sederhana.

Admin — Use Cases

  • Aktor: User (role = admin).

  • Prasyarat: Terdaftar, terautentikasi, memiliki hak admin.

  • Kelola Produk (CRUD):

    • Goal: Menambah, mengubah, dan menghapus data Product.
    • Alur Utama: 1) Buka menu Produk → 2) Tambah/Ubah/Hapus produk → 3) Sistem validasi dan simpan.
    • Postcondition: Data Product ter-update di database.
  • Kelola Stok & Penyesuaian:

    • Goal: Koreksi Stock per Branch (penyesuaian fisik atau koreksi kesalahan).
    • Alur: 1) Pilih Branch → 2) Pilih Product → 3) Ubah quantity → 4) Simpan (simpan audit log jika perlu).
    • Postcondition: Stok tersinkronisasi.
  • Kelola Cabang (Branch):

    • Goal: CRUD Branch.
    • Alur: 1) Buka menu Cabang → 2) Tambah/Ubah/Hapus → 3) Simpan.
  • Kelola Karyawan / User:

    • Goal: Menambah/mengedit/menonaktifkan akun User, assign role dan branch.
    • Alur: 1) Akses manajemen pengguna → 2) Kelola hak akses/branch → 3) Simpan.
  • Kelola Biaya Operasional (OperationalCost):

    • Goal: Input dan review biaya operasional per Branch.
    • Alur: 1) Input label/amount/date/branch → 2) Simpan → 3) Tampilkan rekap biaya.
  • Laporan & Rekonsiliasi:

    • Goal: Menghasilkan laporan gabungan (Purchase, Sale, OperationalCost, Stock) per Branch/periode dan ekspor (CSV/PDF).
    • Alur: 1) Pilih tipe laporan dan rentang waktu → 2) Sistem kumpulkan data → 3) Tampilkan / ekspor.

Catatan Integrasi dengan Model Anda

  • Relasi penting: User berasosiasi dengan Branch; Product terkait Stock, Purchase, dan Sale.
  • Transaksi Sale dan Purchase wajib melakukan perubahan konsisten pada Stock.
  • Admin sebaiknya memiliki audit log untuk operasi sensitif (penyesuaian stok, hapus produk, perubahan user).

Jika Anda ingin, saya dapat:

  • Mengkonversi ini menjadi diagram Use Case (draw.io) dan menyimpan di folder diagrams/.
  • Menambahkan contoh API endpoint atau skenario test untuk tiap use case.