cửa hàng JV với các nghiệp vụ như: - Bán hàng: Thêm hóa đơn, thêm đơn đặt hàng - Quản lí thông tin: loại linh kiện, linh kiện, nhà cung cấp, khách hàng, nhân viên.. - Tìm kiếm thông tin:
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO BÀI TẬP NHÓM 2
MÔN HỌC:LẬP TRÌNH HƯỚNG SỰ KIỆN VỚI CÔNG NGHỆ
JAVA
việc trong nhóm
Ghi chú
20105231 Trần Thị Minh Huyền
19511451 Đoàn Ngọc Quốc Bảo
19511731 Phan Ngọc Nam
19509301 Trần Bảo Dự
19512861 Mai Văn Trương
Giảng viên: Trần Thị Anh Thi
Trang 21, Đặc tả đề tài.
Cửa hàng JV đang thực hiện công việc kinh doanh các linh kiện máy tính
và một số thiết bị thông minh như: pc, laptop, ipad, cửa hàng JV với các nghiệp vụ như:
- Bán hàng: Thêm hóa đơn, thêm đơn đặt hàng
- Quản lí thông tin: loại linh kiện, linh kiện, nhà cung cấp, khách hàng, nhân viên
- Tìm kiếm thông tin: tìm kiếm linh kiện, tìm kiếm loại linh kiện, tìm kiếm khách hàng, tìm kiếm nhân viên
- Thống kê: thống kê doanh thu, thống kê khách hàng, thống kê linh kiện
Cửa hàng JV muốn xây dựng một phần mềm với các nghiệp vụ trên Cửa hàng có 2 nhóm nhân viên chính là nhân viên và người quản lí Khi nhân viên làm việc trong cửa hàng phải cung cấp thông tin như: tên, tuổi, giới tính, sđt, địa chỉ Khi người quản lí nhận thông tin của nhân viên thì tiến hàng đăng kí tài khoản và nhập thông tin lên hệ thống để dễ quản lí Sau khi được cấp tài khoản nhân viên chính thức làm việc tại cửa hàng
Việc quản lí trong cửa hàng được chia theo chức năng của nhân viên Nhân viên trong cửa hàng có thể thực hiện các công việc như: bán hàng, quản lí thông tin và tìm kiếm thông tin Thông tin sản phẩm phải có các thông tin như mã sản phẩm, tên sản phẩm, loại sản phẩm, đơn giá, số lượng, nhà cung cấp, trạng thái còn hay hết Chức năng quản lí thông tin khách hàng giúp nhân viên thu thập, cập nhật thông tin khách hàng như mã khách hàng, tên khách hàng, số điện thoại, địa chỉ, loại khách hàng lên hệ thống tạo thuận lợi cho việc mua bán hoặc cửa hàng có chính sách ưu đãi với khách hàng thân thiết
Khi nhân viên nhận được yêu cầu mua hàng từ phía khách hàng, nhân viên sẽ tìm kiếm sản phẩm theo thông tin như: mã sản phẩm, tên sản phẩm, xuất
xứ sản phẩm Nếu sản phẩm hết hàng nhân viên báo lại với khách hàng Nếu sản phẩm còn thì nhân viên bán hàng tiến hành nhập thông tin khách hàng gồm: mã khách hàng, tên khách hàng, địa chỉ, số điện thoại, email (nếu có) Sau đó nhập đơn đặt hàng bao gồm những thông tin: mã đơn đặt hàng, mã khách hàng, mã nhân viên, ngày đặt hàng, ngày giao hàng
Thông tin của đơn đặt hàng gồm: Mã đơn đặt hàng, tên khách hàng, địa chỉ, số điện thoại, tên mặt hàng mua, số lượng, giá bán, nhân viên bán, ngày giao dự kiến cho khách hàng
Thông tin của hóa đơn bán tại cửa hàng gồm: Mã hóa đơn, tên khách hàng, tên nhân viên bán hàng, tên sản phẩm, số lượng, giá thành sản phẩm
Trang 3Các thông tin trên hoá đơn và đơn đặt hàng phải chính xác Hóa đơn được giao cho khách để đối chiếu khi nhận hàng và khi sản phẩm bị sự cố khách hàng cần phải xuất được hoá đơn trùng khớp với thông tin hoá đơn trên hệ thống với được cửa hàng tư vấn và xử lí
Yêu cầu nghiệp vụ:
Nhân viên thực hiện các các chức năng tối thiểu:
Nhập dữ liệu: Nhân viên bán hàng có thể nhập thông tinh khác hàng, đơn đặt hàng, chi tiết đặt hàng, loại hàng, mặt hàng, nhà cung cấp Chức năng nhập thông tin nhân viên thuộc về bộ phận nhân sự
Xem dữ liệu: Nhân viên có thể xem thông tin khác hàng, đơn đặt hàng, chi tiết đặt hàng, loại hàng, mặt hàng, nhà cung cấp, thông tin của nhân viên khác Có thể cập nhật dữ liệu khi có thay đổi, riêng dữ liệu bảng nhân viên chỉ có phòng nhân sự sửa đổi
Tìm kiếm dữ liệu: Có thể tìm kiếm dữ liệu theo khách hàng, nhân viên, hóa đơn, mặt hàng…
Thống kê dữ liệu: Thống kê lương nhân viên, doanh thu theo tháng, mặt hàng bán chạy, khách hàng tiềm năng, số tiền trả theo mỗi hóa đơn…
Báo cáo: Xem báo cáo về mặt hàng, khách hàng, nhân viên, đơn đặt hàng…
Yêu cầu phi chức năng:
- Giao diện thân thiện, dễ sử dụng
- Thông tin chính xác
- Tránh các lỗi giao diện không đáng có/
2, Class diagram
a, Sơ đồ lớp
Trang 4b, Đặc tả sơ đồ lớp
Sơ đồ class gồm các lớp: TaiKhoan, NhanVien, KhachHang, HoaDon, ChiTietHoaDon, LinhKien, LoaiLinhKien, NhaCungCap
Class TaiKhoan có các thuộc tính:
+ tenDangNhap: tên đăng nhập của nhân viên
+ matKhau: Mật khẩu xác nhận
Class NhanVien có các thuộc tính :
+ maNV: mã nhân viên
+ tenNV: tên nhân viên
+ cMND: số chứng minh nhân nhân
+ diaChi: địa chỉ
+ chucVu: chức vụ
+ taiKhoan: tài khoản đăng nhập của nhân viên
Mỗi nhân viên có 1 tài khoản đăng nhập, class NhanVien có mối quan hệ Compositon (has-a) với class TaiKhoan, nếu nhân viên mất đi thì tài
khoản sẽ mất
Class KhachHang gồm các thuộc tính:
+ maKH: mã khách hàng
+ tenKH: tên khách hàng
+ SDT: số điện thoại
+ diaChi: địa chỉ
+ gioiTinh: giới tính
Class HoaDon gồm các thuộc tính
+ maHoaDon: mã hóa đơn
+ ngayLap: ngày lập
+ nhanVien: nhân viên lập hóa đơn
+ tongThanhTien: tổng tiền mua hàng
+ tienMat: tiền khách hàng trả
+ tienDu: tiền thối nếu có
+ trangThai: trạng thái hóa đơn
+ khachHang: khách hàng lập hóa đơn
Mỗi nhân viên có thể lập 1 hoặc nhiều hóa đơn, mối quan hệ giữa class
NhanVien và class HoaDon là association
Trang 51 khách hàng có 1 hóa đơn khi mua hàng, mối quan hệ giữa class
KhachHang HoaDon và là association
Class NhaCungCap gồm có các thuộc tính:
+ maNCC: mã nhà cung cấp
+ tenNCC: tên nhà cung cấp
+ diaChi: địa chỉ nhà cung cấp
+ trangThai: trạng thái
+ quocTich: quốc tịch
Class LoaiLinhKien gồm các thuộc tính:
+ maLoaiLinhKien: mã loại linh kiện
+ tenLoaiLinhKien: tên loại linh kiện
Class LinhKien gồm các thuộc tính:
+ maLinhKien: mã linh kiện
+ tenLinhKien: tên linh kiện
+ donGia: giá sản phẩm
+ loaiLinhKien: Loại của linh kiện
+ soLuong: số lượng
+ trangThai: trạng thái của linh kiện
+ nhaCungCap: nhà cung cấp linh kiện
Một sản phẩm linh kiện có 1 nhà cung cấp và thuộc 1 loại linh kiện, mối quan hệ giữa class LinhKien với 2 class NhaCungCap,
LoaiLinhKien là association
Class ChiTietHoaDon gồm các thuộc tính:
+ linhKien: danh sách các linh kiện mà khách hàng đã mua
+ hoaDon: Hóa đơn mua hàng
+ soLuong: số lượng hàng đã mua
Trong chi tiết hóa đơn có 1 hóa đơn, mối qua hệ giữa HoaDon và
ChitietHoaDon là Compositon (has-a), nếu hóa đơn mất thì chi tiết
hóa đơn cũng mất
Trang 63, Thiết kế
a, Sơ đồ cơ sở dữ liệu
b, Đặc tả
Đặc tả sơ đồ cơ sở dữ liệu: Quản lý linh kiện
- Sơ đồ có 8 bảng gồm : KHACHHANG, HOADON, CTHOADON, NHANVIEN, TAIKHOAN, LOAILINHKIEN, LINHKIEN, NHACUNGCAP
KHACHHANG
MAKH(pk) Nchar(10), not null
TENKH Varchar(20), not null
SDT Varchar(12), not null
DIACHI Nvarchar(50), not null
GIOTINH Nvarchar(5), not null
HOADON
MAHD(pk) Nchar(10), not null
NGAYLAPHD Date, not null
MAKH(fk references KHACHHANG) Nchar(10), not null
MANV(fk references NHANVIEN) Nchar(10), not null
TONGTHANHTIEN Money, not null
TIENMAT Money, not null
TRANG THAI Bit, not null
CTHOADON
MALINHKIEN(pk, fk references LINHKIEN) Nchar(10), not null
Trang 7MAHD(pk, fk references HOADON) Nchar(10), not null
SOLUONG Int, not null
NHANVIEN
MANV(pk) Nchar(10), not null
TENNV Nvarchar(50), not null
CMND Varchar(12), not null
SDT Nchar(10), not null
DIACHI Nvarchar(50), not null
CHUCVU Nvarchar(50), not null
TAIKHOAN
TENDANGNHAP Nchar(255), not null
MATKHAU Nchar(255), not null
MANV (pk, fk references NHANVIEN) Nchar(10)
LINHKIEN
MALINHKIEN(pk) Nchar(10), not null TENLINHKIEN Nchar(50), not null
MALOAILINHKIEN(fk references LOAILINHKIEN) Nchar(10), not null
NHACC (fk references NHACUNGCAP) Nchar(10)
LOAILINHKIEN
MALOAILINHKIEN(pk) Nchar(10), not null TENLOAILINHKIEN Nvarchar(50), not null
NHACUNGCAP
NHACC(pk) Nchar(10), not null
TENNCC Nvarchar(50), not null
DIACHI Nvarchar(50), not null
QUOCTICH Nvarchar(50), not null
TRANGTHAI Bit, not null
Trang 84.1 Frame quản lí nhân viên
Hình 1: Frame Quản Lí Nhân Viên
- Chức năng: Hiển thị danh sách nhân viên của cửa hàng.
- Có các chức năng: Thêm, sửa, xóa, xóa trắng, lưu.
+ Nút xóa: Xóa 1 nhân viên ra khỏi giao diện, và cũng xóa luôn ở CSDL table NhanVien
+ Nút Thêm: Khi nhập đầy đủ dữ liệu cho các trường và kiểm tra regex hợp lệ thì mới nhấn nút thêm, nếu mã nhân viên không trùng thì sẽ thêm 1 row vào table, và đồng thời thêm luôn dữ liệu vào CSDL table NhanVien Nếu mã trùng báo không thêm được vì trùng mã.
+ Nút sửa: Sửa các thông tin của nhân viên, yêu cầu dữ liệu hợp lệ mới sửa được, báo sửa thành công và yêu cầu nhấn nút lưu để lưu lại thông tin vừa sửa.
+ Nút lưu: Lưu thông tin nhân viên sau khi sửa vào CSDL table NhanVien, sau đó báo lưu thành công.
4.2 Frame tìm kiếm linh kiện
Trang 9Hình 2 Frame Tìm Kiếm Linh Kiện
- Chức năng: Tìm kiếm linh kiện theo nhiều tiêu chí như tên linh kiện, giá thành, loại linh kiện, nhà cung cấp.
- Khi bấm nút tìm: thực hiện tìm kiếm linh kiện theo các tiêu chí đã chọn Ví dụ hình trên chọn theo giá thành là từ 1000.000 đến 2000.000 và loại linh kiện là ROM.
4.3 Frame tìm kiếm loại linh kiện
Hình 3 Frame tìm kiếm loại linh kiện
- Chức năng: Tìm kiếm loại linh kiện theo 1 tiêu chí là mã hoặc tên loại linh kiện, khi chọn mã loại linh kiện thì không được chọn tên loại linh kiện và ngược lại
- Khi bấm nút tìm: thực hiện tìm kiếm loại linh kiện theo tiêu chí đã chọn.
4.4 Frame tìm kiếm nhân viên
Hình 4 Frame tìm kiếm nhân viên
Trang 10- Nếu tìm kiếm theo mã nhân viên sẽ ẩn đi những tiêu chí khác chỉ được tìm kiếm theo mã nhân viên và ngược lại
- Khi bấm nút tìm: thực hiện tìm kiếm nhân viên theo các tiêu chí đã chọn
- Khi bấm nút xóa trắng: xóa trắng đi các Jtextfield của tên nhân viên, số điện thoại
và các combobox mã nhân viên, vụ trở về item tất cả.
4.5 Frame tìm kiếm khách hàng
Hình 5 Frame tìm kiếm khách hàng
- Chức năng: Tìm kiếm thông tin khách hàng theo nhiều tiêu chí như tên khách hàng, địa chỉ, số điện thoại, giới thiêu
- Khi bấm nút tìm: thực hiện tìm kiếm nhân viên theo các tiêu chí đã chọn Ví dụ hình trên tìm khách hàng có từ Minh và giới tính là Nam.
4.6 Frame loại linh kiện
Trang 11Hình 6: Frame loại linh kiện
Chức năng : Thực hiện thêm, xóa, cập nhật các loại linh kiện vào database
4.7 Frame xử lý hóa đơn
Chức năng:
Thực hiện tạo hóa đơn
Tính tổng thành tiền
Từ tiền khách đưa tính tổng số tiền trả lại
Thêm linh kiện cho hóa đơn
Trang 12Báo cáo quá trình làm việc nhóm
ST
T
Họ và tên Công việc Hoàn thành
1 Trần Thị Minh Huyền Frame khách hàng
Frame nhân viên File báo cáo
Hoàn thành đúng hạn
2 Đoàn Ngọc Quốc Bảo FrmLogin, Frm Home
Frame linh kiện Frame nhà cung cấp
Xử lý thêm đơn hàng Chức năng login, logout
Hoàn thành đúng hạn
3 Trần Bảo Dự Thống kê doanh thu
Thống kê khách hàng Thống kê sản phẩm
Hoàn thành đúng hạn
4 Mai Văn Trường Tìm kiếm linh kiện
Tìm kiếm nhân viên Tìm kiếm khách hàng Tìm kiếm loại linh kiện
Hoàn thành đúng hạn
5 Phan Ngọc Nam Frame loại linh kiện
Xử lý thêm hóa đơn
Hoàn thành đúng hạn