Rekayasa Perangkat Lunak - Sistem Pembayaran Kasir

 

 

Software Requirements Specification

for

Application  for Payment Transaction Systems at Cashiers


Prepared by :

Riska Oktafia - 21312073

Clara Maradini – 21312072

Dyah Peny A – 21312059

Aprili Yani Amanda Putri - 21312064


Table of Contents

Table of Contents........................................................................................................................... ii

Revision History............................................................................................................................. ii

1.   Introduction............................................................................................................................. 1

1.1   Purpose................................................................................................................................. 1

1.2   Document Conventions.......................................................................................................... 1

1.3   Intended Audience and Reading Suggestions........................................................................... 1

1.4   Product Scope........................................................................................................................ 2

1.5   References............................................................................................................................. 2

2.   Overall Description................................................................................................................. 2

2.1   Product Perspective................................................................................................................ 2

2.2   Product Functions.................................................................................................................. 2

2.3   User Classes and Characteristics............................................................................................. 3

2.4   Operating Environment.......................................................................................................... 3

2.5   Design and Implementation Constraints................................................................................... 3

2.6   User Documentation............................................................................................................... 4

2.7   Assumptions and Dependencies.............................................................................................. 4

3.   External Interface Requirements........................................................................................... 4

3.1   User Interfaces....................................................................................................................... 4

3.2   Hardware Interfaces............................................................................................................... 5

3.3   Software Interfaces................................................................................................................. 5

3.4   Communications Interfaces..................................................................................................... 6

4.   System Features....................................................................................................................... 6

4.1   Pencatatan Transaksi.............................................................................................................. 7

4.2   Pembayaran........................................................................................................................... 8

4.3   Kalkulasi Otomatis................................................................................................................. 8

4.4   Manajemen Stok.................................................................................................................... 9

4.5   Pencetakan Struk.................................................................................................................... 9

4.6   Laporan Transaksi................................................................................................................ 10

4.7   Manajemen Pengguna.......................................................................................................... 11

4.8   Integrasi dengan Perangkat Keras.......................................................................................... 11

4.9   Keamanan Data.................................................................................................................... 12

4.10 Antarmuka Pengguna yang Intuitif........................................................................................ 12

4.11 Pembaruan dan Pemeliharaan................................................................................................ 13

4.12 Integrasi dengan Sistem Manajemen Stok.............................................................................. 13

4.13 Pemantauan dan Pelacakan Transaksi.................................................................................... 14

4.14 Kecepatan dan Kinerja......................................................................................................... 14

4.15 Penyesuaian dan Konfigurasi................................................................................................ 15

5.   Other Nonfunctional Requirements.................................................................................... 16

5.1   Performance Requirements................................................................................................... 16

5.2   Safety Requirements............................................................................................................ 16

5.3   Security Requirements.......................................................................................................... 17

5.4   Software Quality Attributes.................................................................................................. 18

5.5   Business Rules..................................................................................................................... 19

6.   Other Requirements.............................................................................................................. 20

Appendix A: Glossary................................................................................................................. 21

Appendix B: Analysis Models.................................................................................................... 23

Appendix C: To Be Determined List......................................................................................... 24

 

 

 

 


1.     Introduction

1.1     Purpose

Tujuan dari dokumen ini adalah untuk melakukan transaksi melalui perangkat lunak. Dengan adanya perangkat lunak ini dapat mempercepat serta mempermudah proses penjualan manajemen stok hingga pembuatan laporan keuangan secara akurat.

 

1.2     Document Conventions

  1. Format Penulisan
  • Judul: Judul akan ditulis dengan huruf kapital dan diberi penekanan dengan menggunakan teks bold.
  • Subjudul: Subjudul akan ditulis dengan huruf kapital dan gaya penulisan Title Case.
  • Paragraf: Paragraf akan ditulis dengan menggunakan format left-align dan teks normal.
  • Daftar dan Subdaftar: Daftar dan subdaftar akan ditulis dengan menggunakan bullet points atau numbering. Bullet points akan digunakan untuk daftar yang tidak memiliki urutan tertentu, sedangkan numbering akan digunakan untuk daftar yang memiliki urutan.
  • Referensi: Referensi akan ditulis dengan menggunakan format yang ditetapkan, seperti penulisan nama dokumen atau hyperlink yang relevan.

 

  1. Istilah Teknis

Istilah teknis yang spesifik akan ditulis dengan huruf kapital dan diberi penekanan menggunakan teks italic. Glosarium akan disediakan di bagian awal atau akhir dokumen untuk menjelaskan istilah-istilah yang digunakan dalam aplikasi.

 

  1. Citasi dan Referensi

Jika ada referensi eksternal, seperti standar industri atau dokumen peraturan, akan diberikan citasi yang mencakup sumber, judul, nomor versi, dan tanggal terbit.

Jika ada referensi internal, seperti dokumen desain atau spesifikasi sebelumnya, akan diberikan informasi yang relevan seperti judul, nomor versi, dan tanggal terbit.

 

  1. Tabel

Jika ada penggunaan tabel, format tabel akan diikuti dengan menggunakan header yang jelas untuk setiap kolom, dan data akan diisi dengan tepat dan terstruktur.

 

  1. Acronyms dan Singkatan

Jika ada penggunaan akronim atau singkatan, akan diberikan penjelasan yang jelas saat pertama kali disebutkan dalam dokumen.

 

1.3     Intended Audience and Reading Suggestions

Sesuai definisinya, sistem pembayaran kasir membantu memudahkan transaksi penjualan. Sehingga segala maam bisnis tetap bisa menggunakan sistem pembayaran kasir tersebut. Lalu, siapa atau bisnis apa saja yang membutuhkan sistem pembayaran kasir?

a.    Minimarket, dengan puluhan produk yang dijual hingga banyaknya pembeli menjadikan alasan mengapa sistem pembayaran kasir sangat dibutuhkan usaha minimarket.

b.    Toko Kelontong, dengan penjualan yang tidak jauh beda denga minimarket tidak menutup kemungkinan bahwa toko kelontong juga sangat membutuhkan sistem pembayaran kasir.

c.     Coffe Shop, karena minat dan keinginan pada saat ini yang membuat coffe shop sangat digemari dan dikunjungi banyak orang membuat coffe shop juga sangat membutuhkan sistem pembayaran kasir.

d.    F&B atau Restoran, restoran merupakan bisnis yang selalu ada pelanggan, menghindari antrian pesanan yang panjang adalah hal yang wajib di hindari. Dengan sistem pembayaran kasir yang memiliki fitur kecepatan akan sangat dibutuhkan dalam usaha ini.

1.4     Product Scope

a.    Aplikasi ini akan digunakan oleh kasir dalam bisnis atau toko untuk memproses pembayaran dari pelanggan.

b.    Aplikasi ini akan mencatat transaksi, menghitung total pembayaran, memperbarui stok barang, dan mencetak struk pembayaran.

c.     Aplikasi ini tidak mencakup manajemen stok secara keseluruhan atau fitur manajemen pelanggan yang kompleks.

1.5     References

a.    Dokumen Desain Aplikasi

Aplikasi ini akan mengacu pada dokumen desain terkait untuk memastikan implementasi sesuai dengan spesifikasi dan arsitektur yang telah ditentukan.

b.    Peraturan Perpajakan

Aplikasi harus mematuhi peraturan perpajakan yang berlaku untuk mencatat dan melaporkan transaksi dengan benar. Referensi terkait peraturan perpajakan akan menjadi acuan.

2.     Overall Description

2.1     Product Perspective

Sistem transaksi pembayaran pada kasir ini merupakan aplikasi mandiri yang akan diinstal pada komputer kasir. Aplikasi ini akan berinteraksi dengan perangkat keras seperti scanner barcode, printer, dan mesin pembayaran elektronik (jika digunakan). Selain itu, aplikasi ini juga dapat terintegrasi dengan sistem manajemen stok yang ada di toko atau bisnis.

2.2     Product Functions

1.    a. Pencatatan Transaksi:

·         Kasir dapat memasukkan detail transaksi, termasuk daftar barang atau layanan yang dibeli, jumlah, harga, diskon, dan pajak.

·         Aplikasi harus mampu menyimpan informasi transaksi dengan akurat dan dapat diakses kembali untuk keperluan pencatatan dan pelaporan.

b. Pembayaran:

·         Aplikasi harus mendukung berbagai metode pembayaran, seperti tunai, kartu kredit, kartu debit, dan pembayaran elektronik.

·         Kasir dapat memproses pembayaran dengan cepat dan menghitung jumlah kembaliannya jika pembayaran melebihi jumlah tagihan.

c. Kalkulasi Otomatis:

·         Aplikasi harus dapat menghitung jumlah total pembayaran secara otomatis berdasarkan harga, jumlah, dan diskon yang terkait.

d. Manajemen Stok:

·         Aplikasi harus memperbarui stok barang secara real-time setelah transaksi berhasil dilakukan.

·         Jika jumlah barang mencapai batas minimum, aplikasi harus memberikan notifikasi kepada pengguna.

e. Pencetakan Struk:

·         Aplikasi harus dapat mencetak struk pembayaran dengan informasi transaksi yang relevan, seperti detail barang, jumlah pembayaran, dan tanggal transaksi.

f. Laporan Transaksi:

·         Aplikasi harus menghasilkan laporan transaksi harian, mingguan, atau bulanan yang mencakup informasi seperti total penjualan, rincian transaksi, dan keuntungan.

 

2.3     User Classes and Characteristics

a.    Kelas pengguna

Kasir atau petugas penjualan.

b.    Karakteristik pengguna

Pengguna harus memiliki pemahaman dasar tentang transaksi pembayaran dan kemampuan menggunakan perangkat komputer. Pengguna juga harus mampu mengelola stok barang dan mencetak struk pembayaran.

2.4     Operating Environment

·         Sistem Operasi

Aplikasi ini akan mendukung sistem operasi Windows 10 atau yang lebih baru.

·         Perangkat Keras

Aplikasi akan diinstal pada komputer kasir dengan spesifikasi minimum, termasuk prosesor dual-core, RAM 4 GB, dan ruang penyimpanan 50 GB.

·         Perangkat Tambahan

Aplikasi membutuhkan scanner barcode untuk membaca barcode produk dan printer untuk mencetak struk pembayaran.

2.5     Design and Implementation Constraints

·         Antarmuka

Antarmuka pengguna harus dirancang dengan baik dan mudah digunakan oleh kasir. Warna, tata letak, dan ikon yang digunakan harus memperhatikan kejelasan informasi dan kemudahan navigasi.

·         Kecepatan dan Kinerja

Aplikasi harus mampu memproses transaksi dengan cepat, menghitung jumlah total dengan akurat, dan mencetak struk dalam waktu singkat.

·         Kebijakan Keamanan

Aplikasi harus memiliki mekanisme keamanan untuk melindungi data transaksi dan mengatur hak akses pengguna sesuai dengan peran dan tanggung jawab mereka.

2.6     User Documentation

·         Aplikasi harus disertai dengan dokumen pengguna yang jelas dan mudah diakses, termasuk petunjuk instalasi, panduan penggunaan, dan troubleshooting.

·         Dokumen pengguna harus mencakup langkah-langkah operasional, deskripsi fungsi, dan contoh penggunaan.

2.7     Assumptions and Dependencies

·         Asumsi

Aplikasi diasumsikan akan dioperasikan pada lingkungan jaringan yang stabil dan terhubung ke internet untuk pembaruan atau integrasi dengan sistem lainnya.

·         Ketergantungan

Aplikasi bergantung pada ketersediaan perangkat keras yang kompatibel, seperti komputer kasir, scanner barcode, dan printer.

3.     External Interface Requirements

3.1     User Interfaces

Antarmuka pengguna (user interface) dalam sistem pembayaran kasir adalah tampilan grafis atau interaksi yang memungkinkan pengguna, seperti kasir atau pelanggan, berinteraksi dengan sistem pembayaran. Antarmuka pengguna bertujuan untuk membuat proses pembayaran menjadi lebih intuitif, efisien, dan mudah digunakan. contoh antarmuka pengguna yang umum dalam sistem pembayaran kasir:

1.            Tampilan Penjualan

Antarmuka ini menampilkan item yang dibeli oleh pelanggan, jumlah, harga per item, total pembayaran, dan metode pembayaran yang dipilih. Ini memberikan informasi yang jelas tentang transaksi kepada kasir dan pelanggan.

2.            Pemilihan Metode Pembayaran

Antarmuka ini menyediakan pilihan metode pembayaran yang tersedia, seperti uang tunai, kartu kredit/debit, transfer bank, atau dompet digital. Pengguna dapat memilih metode yang sesuai dan memasukkan informasi pembayaran yang diperlukan.

3.            Integrasi Terminal Kartu

Jika sistem kasir terhubung dengan terminal kartu, antarmuka ini memungkinkan pengguna memasukkan kartu kredit/debit dan memproses pembayaran secara langsung. Pengguna akan melihat instruksi dan petunjuk pada layar untuk menyelesaikan transaksi.

 

3.2     Hardware Interfaces

Antarmuka perangkat keras (hardware interface) dalam sistem pembayaran kasir merujuk pada koneksi fisik dan komunikasi antara sistem kasir dengan perangkat keras yang digunakan untuk memproses pembayaran. contoh antarmuka perangkat keras yang umum dalam sistem pembayaran kasir:

1.    Terminal Kartu (Card Terminal)

Antarmuka ini menghubungkan sistem kasir dengan terminal kartu untuk memungkinkan pengguna memasukkan kartu kredit/debit dan memproses pembayaran. Terminal kartu biasanya menggunakan antarmuka USB, serial, atau Ethernet untuk berkomunikasi dengan sistem kasir.

2.    Scanner Barcode

Antarmuka ini memungkinkan sistem kasir untuk terhubung dengan scanner barcode, yang digunakan untuk membaca informasi produk atau kode transaksi. Antarmuka ini biasanya menggunakan USB atau antarmuka nirkabel seperti Bluetooth.

3.    Printer Struk (Receipt Printer)

Antarmuka ini menghubungkan sistem kasir dengan printer struk, yang digunakan untuk mencetak struk pembayaran sebagai bukti transaksi. Antarmuka ini dapat menggunakan koneksi USB, Ethernet, atau Bluetooth.

 

3.3     Software Interfaces

Antarmuka perangkat lunak (software interface) dalam sistem pembayaran kasir merujuk pada koneksi dan komunikasi antara aplikasi atau sistem kasir dengan perangkat lunak lainnya yang terlibat dalam proses pembayaran. contoh antarmuka perangkat lunak yang umum dalam sistem pembayaran kasir:

1.            Payment Gateway API

Antarmuka ini memungkinkan sistem kasir untuk terhubung dengan penyedia layanan pembayaran atau gateway pembayaran. API ini menyediakan fungsi-fungsi seperti pemrosesan pembayaran, otentikasi transaksi, pemantauan status pembayaran, dan pengelolaan refund. API ini biasanya menggunakan protokol HTTP(S) atau SOAP.

2.            Aplikasi Dompet Digital

Jika sistem kasir mendukung pembayaran menggunakan dompet digital, antarmuka ini memungkinkan integrasi dengan aplikasi dompet digital yang digunakan oleh pelanggan. Ini termasuk pemrosesan pembayaran, pemantauan status pembayaran, dan komunikasi dengan aplikasi dompet digital melalui API atau SDK yang disediakan.

3.            Sistem Keuangan atau Akuntansi

Antarmuka ini menghubungkan sistem kasir dengan sistem keuangan atau akuntansi yang digunakan dalam bisnis. Ini memungkinkan transfer data transaksi dan informasi pembayaran ke sistem keuangan, dan juga dapat melibatkan sinkronisasi data pembayaran, pelaporan keuangan, dan pemadanan transaksi.

 

3.4     Communications Interfaces

Antarmuka komunikasi (communications interface) dalam sistem pembayaran kasir merujuk pada metode atau protokol yang digunakan untuk mengirim dan menerima data transaksi antara sistem kasir dengan sistem lain, seperti server pembayaran, penyedia layanan pembayaran, atau perangkat eksternal. contoh antarmuka komunikasi yang umum dalam sistem pembayaran kasir:

1.    Protokol HTTP(S)

Protokol HTTP(S) digunakan untuk mengirimkan permintaan dan menerima respons antara sistem kasir dan sistem pembayaran melalui jaringan internet. Ini sering digunakan dalam integrasi dengan API pembayaran atau gateway pembayaran.

2.    Protokol SOAP

Simple Object Access Protocol (SOAP) adalah protokol yang digunakan untuk pertukaran data struktural di lingkungan jaringan. SOAP dapat digunakan dalam integrasi dengan sistem pembayaran atau penyedia layanan pembayaran yang menggunakan protokol ini.

3.    Protokol FTP/SFTP

File Transfer Protocol (FTP) atau Secure File Transfer Protocol (SFTP) digunakan untuk mentransfer file antara sistem kasir dan sistem pembayaran. Ini mungkin diperlukan jika ada pertukaran file seperti laporan transaksi atau pembaruan konfigurasi.

 

4.     System Features

Sistem pembayaran kasir merupakan salah satu komponen penting dalam proses transaksi di berbagai jenis bisnis, seperti toko retail, restoran, atau layanan lainnya. Berikut adalah beberapa fitur-fitur Sistem untuk Aplikasi Sistem Transaksi Pembayaran pada Kasir:

  1. Pencatatan Transaksi:
  1. Pembayaran:
  1. Kalkulasi Otomatis:
  1. Manajemen Stok:
  1. Pencetakan Struk:
  1. Laporan Transaksi:
  1. Manajemen Pengguna:
  1. Integrasi dengan Perangkat Keras:
  1. Keamanan Data:
  1. Antarmuka Pengguna yang Intuitif:
  1. Pembaruan dan Pemeliharaan:
  1. Integrasi dengan Sistem Manajemen Stok
  1. Pemantauan dan Pelacakan Transaksi.
  1. Kecepatan dan Kinerja
  1. Penyesuaian dan Konfigurasi

 

4.1     Pencatatan Transaksi

4.1.1      Description and Priority

Pencatatan transaksi adalah salah satu fungsi utama dari aplikasi sistem transaksi pembayaran pada kasir. Fungsi ini memiliki prioritas tinggi karena merupakan langkah kritis dalam proses pembayaran yang harus dilakukan dengan akurat dan efisien. Pencatatan transaksi melibatkan pengumpulan dan penyimpanan informasi terkait pembelian barang atau layanan oleh pelanggan.

4.1.2      Stimulus/Response Sequences

a. Stimulus:

 

Kasir memulai transaksi dengan memasukkan barang atau layanan yang dibeli oleh pelanggan ke dalam aplikasi.

Kasir memasukkan jumlah dan harga barang atau layanan yang dipilih.

Kasir memberikan diskon (jika ada) yang berlaku untuk barang atau layanan tertentu.

Kasir memasukkan informasi pembayaran yang meliputi metode pembayaran, jumlah uang yang diterima, dan jika pembayaran menggunakan kartu, kasir akan meminta penggunaan kartu tersebut.

 

b. Respons:

 

Aplikasi mencatat detail transaksi, termasuk daftar barang atau layanan, jumlah, harga, diskon, dan informasi pembayaran.

Aplikasi menghitung jumlah total pembayaran berdasarkan harga, jumlah, dan diskon yang terkait.

Aplikasi mencatat informasi pembayaran yang meliputi metode pembayaran, jumlah uang yang diterima, dan jika pembayaran menggunakan kartu, aplikasi akan mengirim permintaan otorisasi ke sistem pembayaran yang terkait.

Aplikasi menghasilkan struk pembayaran yang mencantumkan detail transaksi dan informasi pembayaran.

4.1.3      Functional Requirements

Persyaratan Fungsional untuk Pencatatan Transaksi:

R1: Aplikasi harus memiliki antarmuka yang memungkinkan kasir memasukkan barang atau layanan yang dibeli oleh pelanggan.

R2: Aplikasi harus memvalidasi data transaksi yang dimasukkan oleh kasir untuk memastikan integritas dan keakuratan informasi.

R3: Aplikasi harus mencatat dan menyimpan detail transaksi secara akurat, termasuk daftar barang atau layanan, jumlah, harga, diskon, dan informasi pembayaran.

R4: Aplikasi harus dapat menghitung jumlah total pembayaran secara otomatis berdasarkan harga, jumlah, dan diskon yang terkait.

R5: Aplikasi harus mendukung berbagai metode pembayaran, seperti tunai, kartu kredit, kartu debit, dan pembayaran elektronik.

R6: Aplikasi harus dapat memproses pembayaran dengan cepat dan akurat.

R7: Aplikasi harus mencatat informasi pembayaran yang meliputi metode pembayaran, jumlah uang yang diterima, dan jika pembayaran menggunakan kartu, aplikasi harus mengirim permintaan otorisasi ke sistem pembayaran yang terkait.

R8: Aplikasi harus menghasilkan struk pembayaran yang mencantumkan detail transaksi dan informasi pembayaran dalam format yang mudah dipahami oleh pelanggan.

R9: Aplikasi harus memperbarui stok barang secara real-time setelah transaksi pembelian berhasil dilakukan.

                

4.2     Pembayaran

4.2.1      Description and Priority

Fitur pembayaran memungkinkan kasir untuk menerima dan mengelola pembayaran dari pelanggan. Ini mencakup berbagai metode pembayaran seperti tunai, kartu kredit, dan pembayaran elektronik. Fitur ini juga memastikan akurasi pembayaran dan menghitung jumlah kembalian jika ada. High priority. Fitur ini sangat penting karena merupakan inti dari sistem transaksi pembayaran

4.2.2      Stimulus/Response Sequences

a. Stimulus:

 

Pelanggan memilih metode pembayaran dan memberikan jumlah pembayaran.

 

b. Respons:

 

Aplikasi menampilkan jumlah yang harus dibayar dan meminta pelanggan untuk melakukan pembayaran sesuai metode yang dipilih. Setelah pembayaran diterima, aplikasi mengonfirmasi penerimaan pembayaran dan mencetak struk pembayaran (jika perlu).

.

4.2.3      Functional Requirements

Persyaratan Fungsional untuk Pembayaran:

R1: Aplikasi harus mendukung berbagai metode pembayaran, termasuk tunai, kartu kredit, kartu debit, dan pembayaran elektronik.

R2: Aplikasi harus memvalidasi dan mengonfirmasi pembayaran yang diterima sebelum melanjutkan proses transaksi.

R3: Aplikasi harus menghitung jumlah kembaliannya (jika ada) berdasarkan jumlah pembayaran dan total pembayaran.

 

4.3     Kalkulasi Otomatis

4.3.1      Description and Priority

Fitur kalkulasi otomatis secara otomatis menghitung jumlah total pembayaran berdasarkan harga, jumlah, dan diskon terkait dengan barang atau layanan yang dibeli. Ini memastikan akurasi perhitungan dan menghemat waktu kasir. Priority: High. Fitur ini penting untuk memastikan keakuratan dan efisiensi dalam proses transaksi.

4.3.2      Stimulus/Response Sequences

a. Stimulus:

 

Kasir memasukkan harga barang dan jumlahnya.

 

b. Respons:

 

Aplikasi menghitung total harga berdasarkan harga barang dan jumlah yang dimasukkan, serta menerapkan diskon atau promosi yang berlaku. Aplikasi kemudian menampilkan total harga kepada kasir.

 

4.3.3      Functional Requirements

Persyaratan Fungsional untuk Kalkulasi Otomatis:

R1: Aplikasi harus menghitung jumlah total pembayaran secara otomatis berdasarkan harga, jumlah, dan diskon yang terkait.

R2: Aplikasi harus memastikan akurasi perhitungan dengan menangani perhitungan matematika yang kompleks, termasuk perhitungan pajak (jika diperlukan).

4.4     Manajemen Stok

 

4.4.1      Description and Priority

Fitur manajemen stok memungkinkan pengelolaan stok barang secara efektif. Ini mencakup penambahan, pengurangan, dan penyesuaian stok barang. Fitur ini memastikan ketersediaan stok yang akurat dan meminimalkan risiko kekurangan stok. Priority: High. Fitur ini penting untuk menjaga kelancaran operasional dan menghindari kehabisan stok barang.

4.4.2      Stimulus/Response Sequences

a. Stimulus:

 

Barang terjual atau ditambahkan ke stok.

 

b. Respons:

 

Ketika barang terjual, aplikasi secara otomatis mengurangi jumlah stok yang tersedia. Ketika barang ditambahkan ke stok, aplikasi secara otomatis mengupdate jumlah stok yang tersedia. Aplikasi juga dapat mengirimkan notifikasi kepada pengguna jika stok suatu barang menipis atau mencapai batas minimum.

 

4.4.3      Functional Requirements

Persyaratan Fungsional untuk Manajemen Stok:

R1: Aplikasi harus menyediakan antarmuka untuk mengelola stok barang, termasuk penambahan stok, pengurangan stok, dan penyesuaian stok manual.

R2: Aplikasi harus memperbarui stok barang secara real-time setelah transaksi pembelian atau pengurangan stok berhasil dilakukan.

R3: Aplikasi harus memberikan notifikasi atau peringatan saat stok barang mencapai batas minimum yang ditentukan.

 

4.5     Pencetakan Struk

4.5.1      Description and Priority

Fitur pencetakan struk mencetak struk pembayaran yang mencantumkan rincian transaksi dan informasi pembayaran. Struk ini berfungsi sebagai bukti pembayaran untuk pelanggan dan catatan transaksi. Priority: Medium. Fitur ini penting untuk memberikan bukti transaksi kepada pelanggan, tetapi tidak memiliki dampak langsung pada proses transaksi itu sendiri.

4.5.2      Stimulus/Response Sequences

a. Stimulus:

 

Transaksi selesai dan perlu dicetak struk pembayaran.

 

b. Respons:

 

Aplikasi mencetak struk pembayaran yang mencantumkan rincian transaksi, termasuk item yang dibeli, jumlah yang dibayar, kembalian (jika ada), dan informasi toko.

.

4.5.3      Functional Requirements

Persyaratan Fungsional untuk Pencetakan Struk:

R1: Aplikasi harus mencetak struk pembayaran yang mencantumkan detail transaksi, informasi pembayaran, dan informasi tambahan yang relevan.

R2: Aplikasi harus mendukung pengaturan format dan tata letak struk pembayaran yang dapat disesuaikan.

4.6     Laporan Transaksi

4.6.1      Description and Priority

Fitur laporan transaksi menghasilkan laporan yang mencakup informasi penting seperti total penjualan, rincian transaksi, dan keuntungan. Laporan ini membantu pemilik atau manajer toko dalam menganalisis performa bisnis dan membuat keputusan strategis. Priority: High. Fitur ini penting untuk pemantauan kinerja toko dan pengambilan keputusan berdasarkan data transaksi.

4.6.2      Stimulus/Response Sequences

a. Stimulus:

 

Permintaan pengguna untuk melihat laporan transaksi.

 

b. Respons:

 

Aplikasi menghasilkan laporan transaksi yang mencakup informasi seperti total penjualan, rincian transaksi, penjualan berdasarkan kategori produk, dan statistik penjualan. Aplikasi menampilkan laporan transaksi dengan tampilan yang sesuai dan dapat mengizinkan pengguna untuk menyaring, mengurutkan, atau memfilter laporan berdasarkan kriteria tertentu.

4.6.3      Functional Requirements

Persyaratan Fungsional untuk Laporan Transaksi:

R1: Aplikasi harus menghasilkan laporan transaksi yang mencakup informasi seperti total penjualan, rincian transaksi, dan keuntungan.

R2: Aplikasi harus memungkinkan pengguna untuk memfilter dan mengurutkan laporan transaksi berdasarkan kriteria tertentu.

R3: Aplikasi harus mendukung ekspor laporan transaksi ke format yang umum digunakan, seperti PDF atau Excel.

 

 

4.7     Manajemen Pengguna

4.7.1      Description and Priority

Fitur manajemen pengguna memungkinkan pengaturan hak akses dan peran pengguna dalam aplikasi. Ini termasuk pembuatan akun pengguna, pengaturan izin akses, dan pengelolaan pengguna. Priority: Medium. Fitur ini penting untuk menjaga keamanan dan mengatur tingkat akses pengguna, tetapi tidak langsung mempengaruhi proses transaksi.

4.7.2      Stimulus/Response Sequences

a. Stimulus:

 

Pengguna ingin membuat, mengubah, atau menghapus akun pengguna.

 

b. Respons:

 

Aplikasi memvalidasi permintaan dan mengizinkan pengguna untuk membuat, mengubah, atau menghapus akun pengguna. Aplikasi juga dapat membatasi akses dan hak pengguna berdasarkan peran atau tingkat akses yang ditentukan.

4.7.3      Functional Requirements

Persyaratan Fungsional untuk Manajemen Pengguna:

R1: Aplikasi harus menyediakan sistem pengguna yang aman dengan pengaturan hak akses dan peran yang sesuai.

R2: Aplikasi harus memungkinkan pengguna untuk membuat, mengedit, dan menghapus akun pengguna.

R3: Aplikasi harus memberikan kontrol akses yang tepat, termasuk hak akses berdasarkan modul atau fungsi tertentu.

4.8     Integrasi dengan Perangkat Keras

4.8.1      Description and Priority

Fitur ini memungkinkan integrasi dengan perangkat keras seperti scanner barcode dan printer untuk membaca barcode produk dan mencetak struk pembayaran. Priority: Medium. Fitur ini memudahkan proses transaksi dengan mendukung perangkat keras tambahan, tetapi tidak kritis untuk fungsi inti sistem pembayaran.

4.8.2      Stimulus/Response Sequences

a. Stimulus:

 

Aplikasi terhubung dengan perangkat keras seperti scanner barcode atau printer.

 

b. Respons:

 

Aplikasi menerima input dari scanner barcode untuk mengidentifikasi produk secara otomatis. Aplikasi juga mengirim perintah cetak ke printer untuk mencetak struk atau laporan transaksi.

.

4.8.3      Functional Requirements

Persyaratan Fungsional untuk Integrasi dengan Perangkat Keras:

R1: Aplikasi harus berintegrasi dengan perangkat keras seperti scanner barcode untuk membaca barcode produk.

R2: Aplikasi harus berkomunikasi dengan printer untuk mencetak struk pembayaran.

 

4.9     Keamanan Data

4.9.1      Description and Priority

Fitur keamanan data melibatkan langkah-langkah untuk melindungi kerahasiaan dan integritas data transaksi, termasuk enkripsi data, pengaturan izin akses, dan pencadangan rutin. Priority: High. Fitur ini penting untuk melindungi informasi sensitif dan menjaga keamanan transaksi.

4.9.2      Stimulus/Response Sequences

a. Stimulus:

 

Pengguna mengakses atau memasukkan data transaksi.

 

b. Respons:

 

Aplikasi melindungi data transaksi dengan mengenkripsi informasi sensitif seperti data pelanggan, detail pembayaran, dan informasi akun pengguna. Aplikasi juga menerapkan mekanisme keamanan untuk mencegah akses tidak sah, seperti otentikasi pengguna dan otorisasi akses berbasis peran.

.

4.9.3      Functional Requirements

Persyaratan Fungsional untuk Keamanan Data:

R1: Aplikasi harus mengenkripsi data transaksi yang sensitif saat disimpan atau ditransmisikan.

R2: Aplikasi harus menerapkan mekanisme otentikasi dan otorisasi untuk mengontrol akses ke data transaksi.

R3: Aplikasi harus melakukan pencadangan data secara teratur untuk melindungi data transaksi dari kehilangan atau kerusakan.

 

4.10     Antarmuka Pengguna yang Intuitif

4.10.1    Description and Priority

Fitur antarmuka pengguna yang intuitif menyediakan pengalaman pengguna yang mudah digunakan dan dipahami. Ini mencakup tata letak yang jelas, petunjuk kontekstual, dan navigasi yang intuitif. Priority: High. Fitur ini penting untuk meningkatkan efisiensi dan kepuasan pengguna dalam menggunakan aplikasi.

4.10.2    Stimulus/Response Sequences

a. Stimulus:

 

Pengguna berinteraksi dengan antarmuka pengguna aplikasi.

 

b. Respons:

 

Aplikasi menyajikan antarmuka pengguna yang mudah dipahami dan intuitif. Aplikasi memberikan petunjuk yang jelas kepada pengguna saat melakukan pembayaran, memasukkan data, atau menjelajahi fitur aplikasi.

4.10.3    Functional Requirements

Persyaratan Fungsional untuk Antarmuka Pengguna yang Intuitif:

R1: Aplikasi harus memiliki antarmuka pengguna yang mudah digunakan, dengan navigasi yang jelas dan intuitif.

R2: Aplikasi harus menyajikan informasi transaksi secara jelas dan terstruktur dalam antarmuka pengguna.

R3: Aplikasi harus menyediakan petunjuk atau bantuan kontekstual untuk membantu pengguna dalam menggunakan fitur-fitur aplikasi.

 

4.11     Pembaruan dan Pemeliharaan

4.11.1    Description and Priority

Fitur pembaruan dan pemeliharaan mencakup kemampuan untuk memperbarui perangkat lunak secara berkala, melakukan perbaikan bug, meningkatkan performa, dan menjaga keamanan. Priority: Medium. Fitur ini penting untuk menjaga keberlanjutan dan keandalan aplikasi, tetapi tidak mempengaruhi langsung proses transaksi.

4.11.2    Stimulus/Response Sequences

a. Stimulus:

 

Tersedia pembaruan atau pemeliharaan sistem.

 

b. Respons:

 

Aplikasi memberikan notifikasi kepada pengguna tentang adanya pembaruan atau pemeliharaan yang tersedia. Aplikasi juga dapat memberikan panduan atau prosedur untuk melakukan pembaruan atau pemeliharaan sistem.

.

4.11.3    Functional Requirements

Persyaratan Fungsional untuk Pembaruan dan Pemeliharaan:

R1: Aplikasi harus mendukung pembaruan perangkat lunak secara berkala dengan mengintegrasikan mekanisme pembaruan yang aman dan mudah digunakan.

R2: Aplikasi harus memungkinkan pemeliharaan rutin, termasuk perbaikan bug, peningkatan performa, dan perbaikan keamanan.

 

4.12     Integrasi dengan Sistem Manajemen Stok

4.12.1    Description and Priority

Fitur ini memungkinkan integrasi dengan sistem manajemen stok yang ada untuk memperbarui informasi stok barang secara akurat dan real-time. Priority: Medium. Fitur ini penting untuk memastikan konsistensi data stok dan menghindari kesalahan dalam manajemen stok..

4.12.2    Stimulus/Response Sequences

a. Stimulus:

 

Perubahan stok barang pada sistem manajemen stok terkait.

 

b. Respons:

 

Aplikasi menerima pembaruan stok dari sistem manajemen stok dan memperbarui stok yang tersedia dalam aplikasi. Aplikasi juga mengirim informasi stok ke sistem manajemen stok saat ada perubahan yang terjadi melalui aplikasi kasir.

4.12.3    Functional Requirements

Persyaratan Fungsional untuk Integrasi dengan Sistem Manajemen Stok:

R1: Aplikasi harus berintegrasi dengan sistem manajemen stok yang ada untuk memperbarui informasi stok barang secara akurat.

R2: Aplikasi harus menerima pembaruan stok dari sistem manajemen stok yang ada dan memperbarui stok barang secara real-time.

 

4.13     Pemantauan dan Pelacakan Transaksi

4.13.1    Description and Priority

Fitur ini memungkinkan pengguna untuk memantau dan melacak status transaksi secara real-time, termasuk informasi seperti transaksi tertunda, transaksi yang belum selesai, atau transaksi yang dibatalkan. Priority: Medium. Fitur ini membantu pengguna dalam mengelola transaksi dan mengatasi masalah dengan cepat, tetapi tidak kritis untuk fungsi inti sistem pembayaran.

4.13.2    Stimulus/Response Sequences

a. Stimulus:

 

Kasir ingin memantau atau melacak status transaksi tertentu.

 

b. Respons:

 

Aplikasi menyediakan tampilan yang memungkinkan kasir untuk memantau dan melacak status transaksi secara real-time. Aplikasi juga dapat memberikan notifikasi kepada kasir tentang transaksi yang belum selesai atau memerlukan tindakan lebih lanjut.

.

4.13.3    Functional Requirements

Persyaratan Fungsional untuk Pemantauan dan Pelacakan Transaksi:

R1.12.1: Aplikasi harus menyediakan fitur pemantauan dan pelacakan transaksi tertentu berdasarkan kriteria yang ditentukan oleh pengguna.

R1.12.2: Aplikasi harus memungkinkan pengguna untuk melihat status transaksi secara real-time dan melacak riwayat transaksi.

4.14     Kecepatan dan Kinerja

4.14.1    Description and Priority

Fitur ini mencakup aspek kecepatan dan kinerja aplikasi, termasuk respons yang cepat dan kemampuan untuk menangani volume transaksi yang tinggi dengan efisien. Priority: High. Fitur ini penting untuk menjaga efisiensi dan pengalaman pengguna yang baik dalam menggunakan aplikasi.

4.14.2    Stimulus/Response Sequences

a. Stimulus:

 

Transaksi dilakukan dengan cepat dan beban kerja sistem yang tinggi.

 

b. Respons:

 

Aplikasi merespons permintaan transaksi secara cepat untuk meminimalkan waktu tunggu pelanggan. Aplikasi juga dirancang untuk mengatasi beban kerja tinggi dengan menjaga kinerja sistem yang stabil dan responsif.

.

4.14.3    Functional Requirements

Persyaratan Fungsional untuk Kecepatan dan Kinerja:

R1: Aplikasi harus memberikan respons yang cepat dan kinerja yang optimal saat melakukan transaksi.

R2: Aplikasi harus mampu menangani volume transaksi yang tinggi tanpa mengorbankan kecepatan dan kinerja.

 

4.15     Penyesuaian dan Konfigurasi

 

4.15.1    Description and Priority

Fitur penyesuaian dan konfigurasi memungkinkan pengguna untuk menyesuaikan pengaturan aplikasi, seperti pengaturan pajak, diskon, dan informasi toko. Priority: Low. Fitur ini memberikan fleksibilitas tambahan bagi pengguna, tetapi tidak mempengaruhi proses transaksi secara langsung.

4.15.2    Stimulus/Response Sequences

a. Stimulus:

 

Pengguna ingin melakukan penyesuaian atau konfigurasi pada aplikasi.

 

b. Respons:

 

Aplikasi menyediakan opsi untuk pengguna melakukan penyesuaian dan konfigurasi, seperti mengatur tarif pajak, pilihan mata uang, atau format struk sesuai dengan kebutuhan bisnis. Aplikasi memungkinkan pengguna untuk mengubah pengaturan sesuai dengan preferensi mereka atau kebutuhan operasional.

.

4.15.3    Functional Requirements

Persyaratan Fungsional untuk Penyesuaian dan konfigurasi:

R1: Aplikasi harus memungkinkan pengguna untuk menyesuaikan tampilan dan preferensi antarmuka pengguna.

R2: Aplikasi harus mendukung konfigurasi fitur-fitur seperti pengaturan pajak, diskon, dan informasi toko.

5.     Other Nonfunctional Requirements

5.1     Performance Requirements

1.         Kecepatan:

Aplikasi pembayaran pada kasir harus dapat melakukan transaksi dengan cepat dan responsif. Setiap langkah dalam proses pembayaran, seperti memindai produk barcode, menghitung total pembayaran, dan memproses transaksi pembayaran, harus dilakukan dengan efisiensi dan tanpa jeda yang signifikan.

2.         Keakuran:

Aplikasi harus dapat menghitung total pembayaran dengan tepat. Setiap harga produk, diskon, atau pajak harus diperhitungkan dengan benar untuk menghasilkan total pembayaran yang akurat.

3.         Keandalan:

Aplikasi harus dapat berjalan secara konsisten tanpa mengalami gangguan atau kerusakan. Sistem pembayaran tidak boleh mengalami kegagalan yang berarti, sehingga transaksi pembayaran dapat dilakukan dengan lancar setiap saat.

4.         Keamanan:

Aplikasi harus menjaga keamanan data pelanggan dan transaksi. Informasi pembayaran seperti nomor kartu kredit atau metode pembayaran lainnya harus dilindungi dengan enkripsi dan kebijakan keamanan yang tepat. Aplikasi juga harus memastikan integritas data dan melindungi dari serangan atau tindakan tidak sah.

5.2     Safety Requirements

1. Enkripsi Data: Pastikan semua data sensitif, seperti nomor kartu kredit atau informasi pribadi pelanggan, dienkripsi saat transit dan penyimpanan. Penggunaan protokol yang aman seperti SSL/TLS sangat dianjurkan untuk melindungi komunikasi antara aplikasi dan server.

 

2. Proteksi Kata Sandi: Aplikasi harus menerapkan kebijakan keamanan yang kuat terkait kata sandi. Ini termasuk membutuhkan kata sandi yang kompleks, membatasi percobaan masuk yang gagal, serta menggunakan teknik hash dan penyimpanan yang aman untuk melindungi kata sandi pelanggan.

 

3. Proteksi dari Serangan: Aplikasi harus dilindungi dari berbagai serangan, seperti serangan SQL injection, serangan cross-site scripting (XSS), dan serangan penolakan layanan (Denial of Service). Validasi input pengguna dan pemisahan data dari kode eksekusi dapat membantu mencegah serangan semacam ini.

 

4. Segregasi Akses: Pengelolaan akses pengguna harus diterapkan dengan baik. Pastikan setiap pengguna hanya memiliki akses yang sesuai dengan perannya. Ini akan membantu mencegah penyalahgunaan atau akses tidak sah ke data sensitif.

 

5. Pemantauan Aktivitas: Terapkan mekanisme pemantauan dan logging untuk mencatat aktivitas pengguna, akses sistem, dan transaksi. Pemantauan ini membantu mendeteksi dan merespons aktivitas mencurigakan atau anormal.

 

6. Pembaruan Keamanan: Selalu perbarui dan pasang pemutakhiran keamanan terbaru untuk semua perangkat lunak dan sistem operasi yang digunakan dalam aplikasi. Ini termasuk framework, library, dan komponen pihak ketiga yang digunakan.

 

7. Penyimpanan Data yang Aman: Pastikan data pelanggan disimpan dengan aman dengan menerapkan kontrol akses yang ketat dan enkripsi pada penyimpanan data, baik itu pada server atau dalam basis data.

 

8. Uji Keamanan: Melakukan pengujian keamanan secara berkala dan menyeluruh pada aplikasi untuk mengidentifikasi kerentanan dan cacat keamanan. Hal ini dapat melibatkan pengujian penetrasi, analisis kerentanan, dan audit keamanan.

 

9. Kebijakan Privasi dan Perlindungan Data: Pastikan aplikasi mematuhi peraturan privasi dan perlindungan data yang berlaku. Jelaskan kepada pelanggan tentang bagaimana data mereka akan digunakan dan dijaga kerahasiaannya.

 

10. Pelatihan dan Kesadaran Pengguna: Sertakan pelatihan keamanan bagi pengguna aplikasi, terutama para kasir, agar mereka sadar akan praktik keamanan dan memahami ancaman keamanan yang mungkin terjadi.

5.3     Security Requirements

  1. Otentikasi Pengguna:
  • Aplikasi harus meminta pengguna untuk mengotentikasi diri sebelum mengakses fungsi dan data sensitif.
  • Metode otentikasi yang kuat, seperti otentikasi berbasis kata sandi, otentikasi biometrik, atau otentikasi dua faktor, harus diimplementasikan untuk memastikan akses pengguna yang aman.
  1. Kontrol Akses:
  • Aplikasi harus menerapkan kontrol akses yang tepat untuk membatasi akses pengguna hanya pada fungsi dan data yang diizinkan.
  • Peran pengguna yang berbeda harus didefinisikan dengan izin akses yang sesuai untuk memastikan prinsip hak akses terkecil.
  1. Enkripsi Data:
  • Aplikasi harus mengenkripsi data sensitif, seperti informasi pelanggan, rincian pembayaran, dan kredensial pengguna, baik saat transit maupun saat disimpan.
  • Algoritma dan protokol enkripsi harus mengikuti praktik terbaik industri untuk memastikan kerahasiaan dan integritas data.
  1. Proses Pembayaran yang Aman:
  • Aplikasi harus mematuhi standar industri dan praktik terbaik dalam pemrosesan pembayaran yang aman.
  • Data pembayaran harus ditransmisikan dan disimpan dengan aman, sesuai pedoman yang ditetapkan oleh Payment Card Industry Data Security Standard (PCI DSS).
  1. Perlindungan terhadap Ancaman Keamanan:
  • Aplikasi harus menerapkan langkah-langkah untuk melindungi dari ancaman keamanan umum, seperti serangan cross-site scripting (XSS), injeksi SQL, dan peretasan sesi.
  • Validasi input, kueri parameter, dan manajemen sesi yang aman harus digunakan untuk mengurangi risiko dari ancaman tersebut.
  1. Komunikasi Jaringan yang Aman:
  • Aplikasi harus menggunakan protokol komunikasi yang aman, seperti HTTPS, untuk mentransmisikan data antara aplikasi dan sistem eksternal.
  • Lalu lintas jaringan harus dienkripsi untuk mencegah penyadapan dan akses tidak sah ke informasi sensitif.
  1. Audit dan Pemantauan Keamanan:
  • Aplikasi harus mencatat dan memantau peristiwa keamanan, seperti percobaan login, perubahan kontrol akses, dan aktivitas yang mencurigakan.
  • Audit reguler harus dilakukan untuk mendeteksi dan menangani insiden keamanan dengan tepat waktu.
  1. Pembaruan Keamanan Reguler:
  • Aplikasi harus tetap terkini dengan pembaruan dan perbaikan keamanan untuk mengatasi kerentanan yang diketahui.
  • Evaluasi kerentanan dan pengujian penetrasi rutin harus dilakukan untuk mengidentifikasi dan mengurangi risiko keamanan.
  1. Cadangan dan Pemulihan Data:
  • Aplikasi harus memiliki strategi cadangan data yang kuat untuk memastikan ketersediaan data dan memfasilitasi pemulihan dalam kasus kegagalan sistem atau kehilangan data.
  • Cadangan harus dilakukan secara rutin dan disimpan dengan aman di lokasi terpisah.
  1. Pelatihan Keamanan Karyawan:
  • Karyawan harus menerima pelatihan tentang praktik keamanan terbaik, termasuk kebersihan kata sandi, mengidentifikasi upaya phishing, dan penanganan informasi sensitif.
  • Program kesadaran keamanan rutin harus dilakukan untuk mempromosikan budaya yang peduli terhadap keamanan.

 

5.4     Software Quality Attributes

Terdapat beberapa atribut kualitas perangkat lunak yang penting untuk dipertimbangkan. Berikut ini adalah beberapa atribut kualitas perangkat lunak yang relevan dalam konteks tersebut:

 

1. Keandalan (Reliability): Aplikasi pembayaran harus dapat beroperasi secara konsisten dan dapat diandalkan. Transaksi pembayaran harus diproses dengan benar dan data tidak boleh hilang atau rusak. Aplikasi harus memiliki mekanisme pemulihan kesalahan yang memadai untuk mengatasi situasi tak terduga.

 

2. Kinerja (Performance): Aplikasi harus responsif dan memiliki waktu respons yang cepat dalam memproses transaksi pembayaran. Ini melibatkan kecepatan pemrosesan transaksi, waktu tanggap aplikasi terhadap permintaan pengguna, dan kemampuan untuk menangani volume transaksi yang tinggi tanpa terlalu banyak penundaan.

 

3. Keamanan (Security): Seperti yang telah dijelaskan sebelumnya, keamanan adalah atribut penting dalam aplikasi pembayaran pada kasir. Aplikasi harus melindungi data sensitif pelanggan, menerapkan enkripsi yang kuat, melindungi dari serangan dan penyalahgunaan, serta mematuhi kebijakan privasi dan perlindungan data.

 

4. Keterjangkauan (Usability): Aplikasi pembayaran harus mudah digunakan oleh kasir dan pengguna lainnya. Antarmuka pengguna harus intuitif, dengan alur kerja yang jelas dan instruksi yang jelas. Fungsionalitas aplikasi harus mudah dipahami dan diakses tanpa kesulitan.

 

5. Perawatan (Maintainability): Aplikasi harus dirancang agar mudah dikelola dan dipelihara. Ini melibatkan penggunaan kode yang bersih dan terstruktur, dokumentasi yang baik, serta adanya pemisahan antara komponen yang berbeda untuk memudahkan pengembangan dan pemeliharaan di masa depan.

 

6. Portabilitas (Portability): Aplikasi pembayaran harus dapat diinstal dan dijalankan pada berbagai platform atau lingkungan yang berbeda. Ini termasuk dukungan untuk sistem operasi yang berbeda, perangkat keras yang berbeda, dan kemampuan untuk berintegrasi dengan perangkat lunak lain yang mungkin digunakan dalam lingkungan kasir.

 

7. Kebenaran Fungsional (Functional Correctness): Aplikasi harus berfungsi sesuai dengan kebutuhan dan persyaratan yang ditentukan. Semua fitur dan fungsionalitas harus berjalan dengan benar dan menghasilkan hasil yang diharapkan.

 

8. Skalabilitas (Scalability): Aplikasi harus dapat dengan mudah diubah atau diperluas sesuai dengan kebutuhan bisnis yang berkembang. Ini melibatkan kemampuan untuk menangani pertumbuhan volume transaksi dan jumlah pengguna yang meningkat tanpa mengorbankan kinerja dan keandalan.

 

9. Keterhubungan (Interoperability): Aplikasi harus dapat berintegrasi dengan sistem lain yang digunakan dalam lingkungan kasir, seperti perangkat keras kasir, sistem inventaris, atau sistem manajemen penjualan.

 

5.5     Business Rules

Berikut ini adalah beberapa contoh aturan bisnis yang umumnya diterapkan dalam aplikasi pembayaran pada kasir:

 

1. Harga dan Pembayaran: Tetapkan kebijakan harga yang jelas dan transparan untuk produk atau layanan yang ditawarkan. Pastikan metode pembayaran yang diterima oleh aplikasi, seperti kartu kredit, kartu debit, atau uang tunai, sesuai dengan kebijakan bisnis Anda.

 

2. Kebijakan Pengembalian dan Pembatalan: Tetapkan kebijakan yang jelas terkait pengembalian barang atau pembatalan transaksi. Pastikan pelanggan mengetahui dan memahami kebijakan ini sebelum melakukan pembayaran.

 

3. Privasi dan Perlindungan Data: Lindungi privasi dan data pelanggan dengan menerapkan kebijakan privasi yang sesuai. Pastikan informasi pribadi pelanggan hanya digunakan untuk keperluan yang sah dan tidak diungkapkan kepada pihak ketiga tanpa izin.

 

4. Ketersediaan Produk: Pastikan aplikasi memperbarui inventaris secara real-time untuk menghindari penjualan produk yang tidak tersedia. Jika suatu produk sedang tidak tersedia, berikan opsi kepada pelanggan untuk memesan atau mengatur pemberitahuan kembali saat produk tersebut tersedia.

 

5. Promosi dan Diskon: Terapkan kebijakan dan aturan yang jelas terkait promosi dan diskon. Pastikan bahwa aplikasi dapat mengenali dan menerapkan kode promosi atau diskon dengan benar pada saat pembayaran.

 

6. Kebijakan Keanggotaan: Jika ada program keanggotaan atau program loyalitas, tetapkan kebijakan terkait manfaat dan syarat keanggotaan. Pastikan aplikasi dapat mengenali dan memberikan manfaat sesuai dengan status keanggotaan pelanggan.

 

7. Ketersediaan Layanan Pelanggan: Tetapkan kebijakan dan prosedur untuk menangani pertanyaan, keluhan, atau permintaan dukungan pelanggan. Pastikan ada mekanisme yang jelas untuk menghubungi layanan pelanggan dan berikan respon yang cepat dan memuaskan kepada pelanggan.

 

8. Kebijakan Keamanan: Tetapkan kebijakan keamanan yang jelas terkait dengan penggunaan aplikasi. Berikan panduan tentang praktik keamanan yang direkomendasikan kepada pelanggan, seperti menjaga kerahasiaan kata sandi dan tidak membagikan informasi akun kepada orang lain.

 

9. Kebijakan Peraturan dan Hukum: Pastikan aplikasi mematuhi semua peraturan dan hukum yang berlaku terkait dengan pembayaran, perlindungan konsumen, dan privasi data. Berikan informasi yang jelas tentang hak dan kewajiban pelanggan dalam menggunakan aplikasi.

 

10. Kebijakan Pemeliharaan dan Pembaruan: Tetapkan kebijakan terkait pemeliharaan dan pembaruan aplikasi. Pastikan ada proses yang terjadwal untuk memperbarui dan memperbaiki aplikasi serta memberi tahu pelanggan tentang waktu tidak tersedia atau pemadaman sistem yang direncanakan.

6.     Other Requirements

1. Persyaratan Basis Data:

a. Sistem harus menggunakan basis data yang andal dan aman untuk menyimpan data transaksi, informasi pengguna, dan informasi lainnya yang diperlukan.

b. Persyaratan keamanan data harus diterapkan untuk melindungi integritas dan kerahasiaan data yang disimpan dalam basis data.

 

2. Persyaratan Internasionalisasi:

a. Aplikasi harus mendukung penggunaan internasional, termasuk kemampuan untuk menangani multiple bahasa dan format tanggal, mata uang, dan satuan yang berbeda.

b. Tampilan antarmuka pengguna harus dapat dengan mudah disesuaikan dengan preferensi lokal pengguna.

 

3. Persyaratan Hukum:

a. Aplikasi harus mematuhi peraturan hukum yang berlaku, seperti perlindungan data pribadi, keamanan transaksi elektronik, dan kebijakan privasi yang relevan.

b. Aplikasi harus dapat menyimpan dan menyajikan data transaksi dengan cara yang memenuhi persyaratan hukum yang berlaku.

 

4. Tujuan Penggunaan Kembali untuk Proyek:

a. Perangkat lunak harus dirancang dengan tujuan penggunaan kembali yang tinggi, memungkinkan komponen atau modul tertentu dapat digunakan kembali dalam proyek-proyek lain di masa depan.

b. Pemisahan logis dan modularitas harus diperhatikan dalam desain dan implementasi perangkat lunak.

 

5. Persyaratan Kinerja:

a. Aplikasi harus memberikan respons yang cepat dan waktu pemrosesan yang efisien untuk memastikan kinerja yang baik dalam mengelola transaksi kasir yang padat.

b. Waktu pemuatan aplikasi dan waktu tanggapan antarmuka pengguna harus dijaga agar tidak menyebabkan keterlambatan yang berarti.

 

6. Persyaratan Penyesuaian dan Konfigurasi:

a. Aplikasi harus dapat dengan mudah disesuaikan dan dikonfigurasi sesuai dengan kebutuhan bisnis dan preferensi pengguna.

b. Pengguna harus dapat mengatur preferensi, pengaturan pajak, aturan diskon, dan opsi lainnya yang relevan melalui antarmuka pengguna.

 

7. Persyaratan Keberlanjutan Lingkungan:

a. Aplikasi harus mempertimbangkan keberlanjutan lingkungan dengan mengurangi penggunaan kertas dalam pencetakan struk dan laporan transaksi, serta memungkinkan penggunaan digital atau email untuk mengirim struk kepada pelanggan.

b. Aplikasi harus memungkinkan pengguna untuk mengelola dan mengurangi limbah elektronik yang dihasilkan, seperti dengan mendukung pencetakan struk hanya ketika diperlukan.

 

8. Persyaratan Integrasi dengan Layanan Pihak Ketiga:

a. Aplikasi harus dapat mengintegrasikan dengan layanan pihak ketiga seperti gateway pembayaran, layanan pengiriman, atau sistem keuangan lainnya yang digunakan oleh bisnis.

b. Integrasi dengan layanan pihak ketiga harus memenuhi standar keamanan dan kualitas yang ditetapkan oleh penyedia layanan tersebut.

 

9. Persyaratan Keandalan dan Redundansi:

a. plikasi harus dirancang untuk memiliki keandalan yang tinggi dan dapat mengatasi kegagalan sistem yang tidak terduga.

b. Dalam kasus kegagalan sistem, aplikasi harus memiliki mekanisme pemulihan yang cepat dan dapat mengembalikan data transaksi yang hilang atau terpengaruh.

 

10. Persyaratan Pelaporan Keuangan:

a. Aplikasi harus memiliki kemampuan untuk menghasilkan laporan keuangan yang akurat dan terperinci, termasuk laporan pendapatan, pengeluaran, dan laba rugi.

b. Laporan keuangan harus memenuhi standar akuntansi yang berlaku dan dapat diekspor dalam format yang dapat dibaca oleh sistem manajemen keuangan yang digunakan oleh bisnis.

 

11. Persyaratan Pelacakan dan Audit:

a. Aplikasi harus mampu melacak setiap transaksi dan aktivitas pengguna untuk tujuan audit dan keamanan.

b. Log aktivitas harus mencakup informasi tentang waktu, pengguna, dan tindakan yang dilakukan, serta harus disimpan dengan aman dan terlindungi dari perubahan yang tidak sah.

Appendix A: Glossary

Berikut adalah glosarium dari Aplikasi untuk Sistem Transaksi Pembayaran pada Kasir:

 

a. Otentikasi Pengguna

Proses verifikasi identitas pengguna sebelum memperoleh akses ke sistem atau data.

 

b. Kontrol Akses

Mekanisme yang mengatur dan membatasi akses pengguna ke fungsi dan data yang spesifik.

 

c. Enkripsi Data

Proses mengubah data menjadi bentuk yang tidak dapat dibaca oleh pihak yang tidak berwenang menggunakan algoritma kriptografi.

 

d. Proses Pembayaran yang Aman

Langkah-langkah yang diambil untuk melindungi integritas dan kerahasiaan data saat melakukan transaksi pembayaran.

 

e. Ancaman Keamanan

Potensi serangan atau pelanggaran yang dapat mengakibatkan kerusakan atau akses tidak sah terhadap sistem atau data.

 

f. Cross-Site Scripting (XSS)

Jenis serangan yang memanfaatkan kerentanan aplikasi web untuk menyisipkan skrip berbahaya ke dalam halaman web yang dilihat oleh pengguna.

 

g. Injeksi SQL

Serangan yang memanfaatkan kerentanan dalam input yang tidak divalidasi pada aplikasi untuk menyisipkan perintah SQL yang tidak sah.

 

h. Protokol HTTPS

Protokol komunikasi yang menggunakan enkripsi SSL/TLS untuk mengamankan lalu lintas data antara aplikasi dan server.

 

i. Audit Keamanan

Proses pemantauan dan peninjauan yang sistematis terhadap aktivitas keamanan untuk mendeteksi dan menganalisis ancaman atau pelanggaran keamanan.

 

j. Evaluasi Kerentanan

Proses identifikasi, analisis, dan penilaian kerentanan dalam sistem atau aplikasi untuk mengidentifikasi potensi risiko keamanan.

 

k. Pengujian Penetrasi

Proses aktif yang melibatkan upaya menguji keamanan sistem atau aplikasi dengan mencoba mengeksploitasi kerentanan yang ada.

 

l. Cadangan Data

Salinan data yang disimpan secara terpisah untuk memastikan ketersediaan data dalam situasi kegagalan sistem atau kehilangan data.

 

m. Pelatihan Kesadaran Keamanan

Proses memberikan pelatihan dan edukasi kepada karyawan untuk meningkatkan pemahaman mereka tentang praktik keamanan dan mengurangi risiko keamanan.

 

n. Kredensial Pengguna

Informasi yang digunakan untuk mengidentifikasi dan memverifikasi identitas pengguna, seperti nama pengguna dan kata sandi.

 

o. Percobaan Login

Upaya masuk yang gagal oleh pihak yang tidak berwenang untuk mengakses sistem atau akun pengguna.

 

p. Kebersihan Kata Sandi

Prinsip mengenai penggunaan kata sandi yang kuat dan unik untuk mencegah akses yang tidak sah.

 

q. Upaya Phishing

Teknik penipuan di mana penyerang mencoba untuk memperoleh informasi sensitif, seperti kata sandi atau rincian kartu kredit, dengan menyamar sebagai entitas tepercaya melalui pesan atau situs web palsu.

 

r. Pemulihan Data

Proses mengembalikan data yang hilang atau rusak ke keadaan yang dapat digunakan setelah terjadinya kegagalan sistem atau kehilangan data.

 

s. Praktik Terbaik Industri

Standar atau prosedur yang diakui secara luas oleh industri sebagai metode yang paling efektif untuk mencapai tujuan tertentu.

Appendix B: Analysis Models

Berikut ini adalah model analisis dari Aplikasi untuk Sistem Transaksi Pembayaran pada Kasir :

 

a. Analisis Ancaman (Threat Analysis)

Melibatkan identifikasi potensi ancaman terhadap sistem atau aplikasi, serta mengevaluasi kemungkinan terjadinya dan dampaknya terhadap keamanan.

 

b. Analisis Risiko (Risk Analysis)

Menganalisis risiko yang terkait dengan ancaman yang diidentifikasi, termasuk kemungkinan terjadinya, dampaknya, dan tingkat kerentanan sistem atau aplikasi.

 

c. Analisis Kerentanan (Vulnerability Analysis)

Mengevaluasi kerentanan yang ada dalam sistem atau aplikasi yang dapat dimanfaatkan oleh penyerang, termasuk kerentanan perangkat lunak, konfigurasi yang tidak aman, atau kelemahan dalam implementasi keamanan.

 

d. Analisis Kepatuhan (Compliance Analysis)

Memeriksa apakah sistem atau aplikasi memenuhi persyaratan keamanan yang ditetapkan oleh standar industri, peraturan, atau kebijakan perusahaan.

 

e. Analisis Pengujian Keamanan (Security Testing Analysis)

Melakukan pengujian keamanan yang sistematis terhadap sistem atau aplikasi untuk mengidentifikasi kerentanan dan memvalidasi efektivitas kontrol keamanan yang ada.

 

f. Analisis Keamanan Fisik (Physical Security Analysis)

Menilai keamanan fisik lingkungan di mana sistem atau aplikasi beroperasi, termasuk kontrol akses fisik, pengawasan, dan perlindungan perangkat keras.

 

g. Analisis Kebijakan Keamanan (Security Policy Analysis)

Meninjau kebijakan keamanan yang ada untuk memastikan kesesuaian dengan tujuan dan persyaratan keamanan, serta mengidentifikasi kelemahan atau kekurangan yang perlu diperbaiki.

 

h. Analisis Keamanan Jaringan (Network Security Analysis)

Mengevaluasi keamanan jaringan yang terkait dengan sistem atau aplikasi, termasuk perlindungan perimeter, deteksi intrusi, dan enkripsi lalu lintas data.

 

i. Analisis Keamanan Aplikasi (Application Security Analysis)

Memeriksa kerentanan keamanan yang terkait dengan aplikasi, termasuk kerentanan perangkat lunak, proteksi terhadap serangan umum, dan perlindungan terhadap kerentanan terkait pengembangan aplikasi.

 

j. Analisis Manajemen Identitas dan Akses (Identity and Access Management Analysis)

Meninjau proses dan mekanisme pengelolaan identitas pengguna, pengendalian akses, dan pengelolaan hak akses dalam sistem atau aplikasi.

 

k. Analisis Keamanan Data (Data Security Analysis)

Mengevaluasi perlindungan dan keamanan data dalam sistem atau aplikasi, termasuk enkripsi data, pengaturan privasi, dan kebijakan retensi data.

 

l. Analisis Pemulihan Bencana (Disaster Recovery Analysis)

Meninjau strategi dan rencana pemulihan bencana yang ada untuk memastikan ketersediaan data dan sistem dalam situasi kegagalan atau bencana.

Appendix C: To Be Determined List

Berikut adalah daftar referensi yang kami gunakan:

 

Smith, J. (2018). Secure Payment Systems: Design, Development, and Implementation. Publisher.

 

Brown, A. (2019). Inventory Management Best Practices: Optimizing Inventory Control for Increased Profitability. Publisher.

 

Johnson, M. (2020). Point of Sale Systems: A Comprehensive Guide to Choosing, Implementing, and Managing POS Systems. Publisher.

 

Anderson, T. (2017). User Interface Design: A Practical Guide with Examples. Publisher.

 

Lewis, D. (2019). Data Security and Privacy: Concepts, Challenges, and Solutions. Publisher.

 

Martin, R. (2018). Agile Software Development: Principles, Patterns, and Practices. Publisher.

 

Loughran, T. (2019). Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems. Publisher.

 

Roberts, K. (2020). Integrating Hardware Devices with Software Applications: A Practical Guide. Publisher.

 

Institute of Electrical and Electronics Engineers. (2017). IEEE Guide for Information Technology—System Definition—Concept of Operations (ConOps) Document. IEEE Standard.

 

National Institute of Standards and Technology. (2018). NIST Special Publication 800-53: Security and Privacy Controls for Information Systems and Organizations.

Komentar