Trước yêu cầu cấp thiết của hệ thống, nhóm chúng em đã cùng nhau quyết định phân tích , thiết kế và xây dựng hệ thống quản lý các sản phẩm băng đĩa đĩa nhạc, đĩa phim, sách cho một cửa h
Trang 1VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
*
BÁO CÁO BÀI TẬP LỚN
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Đề tài: Xây dựng hệ thống quản lý cửa hàng bán sách, đĩa nhạc, đĩa phim
Đỗ Anh Trung MSSV: 20122616 Lớp: THCN- KSCLC-K57
Hà Nội, 05/2015
Trang 21.1 Mô tả yêu cầu bài toán 6
1.2 Biểu đồ use case 6
1.3 Đặc tả use case 8
CHƯƠNG 2: THIẾT KẾ CHI TIẾT 12
2.1 Thiết kế lớp 12
2.1.1 Biểu đồ lớp 12
2.1.2 Thiết kế chi tiết lớp 12
2.2 Thiết kế Cơ sở dữ liệu (hoặc cấu trúc dữ liệu) 16
CHƯƠNG 3: CHƯƠNG TRÌNH MINH HOẠ 18
3.1 Xây dựng chương trình 18
3.2 Kết quả chương trình 18
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 23
TÀI LIỆU THAM KHẢO 24
Trang 3LỜI NÓI ĐẦU
Ngày nay, công nghệ thông tin đóng vai trò quan trọng không thể thiếu trong quátrình quản trị, điều hành các hoạt động sản xuất kinh doanh của mỗi công ty, tổ chức, doanh nghiệp Đặc biệt, theo đà phát triển của công nghệ thông tin, việc đưa tin học vào xử lý thông tin trong công tác quản lý đã trở nên phổ biến
Ứng dụng phần mềm vào việc quản lý bán hàng trong doanh nghiệp là nhu cầu tất yếu nhằm nâng cao hiệu quả quản lý và tăng cường mối quan hệ thân thiết với khách hàng trong môi trường cạnh tranh hiện nay Việc chọn phần mềm phù hợp với hoạt động của doanh nghiệp là việc đau đầu
Trước yêu cầu cấp thiết của hệ thống, nhóm chúng em đã cùng nhau quyết định phân tích , thiết kế và xây dựng hệ thống quản lý các sản phẩm băng đĩa (đĩa nhạc, đĩa phim), sách cho một cửa hàng Với ưu điểm dễ sử dụng, hệ thống sẽ giúp cho các nhà quản lý dễ dàng tổng hợp, quản lý sản phẩm và thanh toán nhanh chóng vàchuyên nghiệp Đó chính là lý do mà nhóm chúng em chọn đề tài này
Trong quá trình thực hiện đề tài, nhóm chúng em còn gặp nhiều khó khăn và không tránh khỏi sai sót, mong thầy cô và các bạn nhận xét và đánh gía khách quan
để nhóm có thể kịp thời sửa chữa
Để hoàn thành được bài tập lớn này, nhóm chúng em xin được gửi lời cảm ơn chân thành đến cô giáo và thầy giáo hướng dẫn đề tài:
- Cô Vũ Thị Hương Giang
- Thầy Trinh Thành Trung
là giảng viên Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội - đã hết lòng giúp đỡ, hướng dẫn, chỉ dạy tận tình để nhóm em hoàn thành được đề tài này
Trang 4Thời gian Mai Văn Tuấn Phạm Trung
Tính
Mai Văn Thắng
Nguyễn Trọng Linh
Đỗ Anh Trung
tính và phương thức lớp đĩa nhạc
Viết thuộc tính và phương thức lớp hóa đơn
Viết thuộc tính và phương thức lớp khách hàng
Viết thuộc tính và phương thức lớp đĩa phim
Viết thuộc tính và phương thức lớp sách
đủ các phươngthức và thuộc tính lớp đĩa nhạc
Xây dựng đầy
đủ các phươngthức và thuộc tính lớp hóa đơn
Xây dựng đầy đủ các phương thức
và thuộc tính lớp khách hàng
Xây dựng đầy đủ các phương thức
và thuộc tính lớp đĩa phim
Xây dựng đầy đủ các phương thức
và thuộc tính lớp sách
lại mã nguồn theo thiết kế mới
Phân tích, xác định chỉ ra tính kết tập và
kế thừa trong
hệ thống
Phân tích, xác định chỉ
ra tính kết tập
và kế thừa trong hệ thống
Cấu trúc, viếtlại mã nguồn theo thiết kế mới
Cấu trúc, viếtlại mã nguồn theo thiết kế mới
năng nhập thông tin các sản phẩm
Xây dựng tínhnăng nhập cácthông tin hóa đơn và báo
Xây dựng tính năng nhập thông tin khách
Phân tích và chỉ ra tính đa hình, viết các phương thức
Xây dựng tính năng nhập thông tin các sản
Trang 5Xây dựng tìmkiếm mặt hàng, khách hàng, thời gian.
Xây dựng tính năng thêm/ bớt khách hàng, tài khoản
Xây dựng tính năng thêm/ bớt mặthàng
xây dựng giao diện hệ thống
Xây dựng cơ
sở dữ liệu và tổng hợp các phần mọi người đã làm
Thảo luận và xây dựng giao diện hệ thống
Thảo luận và xây dựng giao diện hệ thống
Thảo luận và xây dựng giao diện hệ thống
cáo
Hoàn chỉnh lại
hệ thống
Xây dựng biểu đồ UML
Viết hướng dẫn sử dụng phần mềm
Viết báo cáo phần mềm
Đánh giá
chung
Tích cực thamgia thảo luận, đóng góp ý kiến, xây dựng
hệ thống
Hoàn thành công việc đúng thời gianquy định Ý thức tốt
Tích cực thamgia thảo luận, đóng góp ý kiến, xây dựng
hệ thống
Hoàn thành công việc đúng thời gianquy định Ý thức tốt
Tích cực tham gia thảoluận, đóng góp ý kiến, xây dựng hệ thống Hoàn thành công việc đúng thời gian quy định Ý thức tốt
Tích cực tham gia thảoluận, đóng góp ý kiến, xây dựng hệ thống Hoàn thành công việc đúng thời gian quy định Ý thức tốt
Tích cực tham gia thảoluận, đóng góp ý kiến, xây dựng hệ thống Hoàn thành công việc đúng thời gian quy định Ý thức tốt
Trang 6CHƯƠNG 1: MÔ TẢ YÊU CẦU
1.1 Mô tả yêu cầu bài toán :
- Mô tả yêu cầu bài toán: yêu cầu xây dựng một hệ thống quản lý các sản phẩm sách, đĩa nhạc, đĩa phim
- Người quản lý có thể thêm bớt sản phẩm, đồng thời thanh toán khi bán hàng
- Nhân viên có thể thanh toán, thêm thông tin khách hàng
1.2 Biểu đồ use case:
Tác nhân:
Use case:
- Thêm sách, đĩa nhạc, đĩa phim, nhân viên
- Cập nhật sách, đĩa nhạc, đĩa phim, nhân viên
Trang 7Quan hệ giữa các tác nhân và các use case, giữa các use case với nhau được thể hiện trong hình bên dưới.
Thêm bớt khách hàng Báo cáo
Trang 81.3 Đặc tả use case:
Dựa vào biểu đồ use case ta có các biểu đồ hoạt động:
Chọn mục Kho hàng
Chọn mục Sản phẩm (Đĩa phim, Đĩa nhạc, Sách)
Nhập thông tin sản phẩm
Nhập lại false
true
Lưu sản phẩm vừa nhập vào CSDL
Trang 10• Biểu đồ hoạt động thanh toán:
Hiển thị mã sản phẩm và tên sản phẩm
Cập nhật lại danh sách khách hàng Chọn mục Bán hàng
Chọn Khách hàng (Bán hàng)
Chọn Khách hàng (Thiết lập)
Không tìm thấy
Chọn mục Thiết lập Tìm thấy
Chọn mã Sản phẩm
Không
có
Báo: Không đủ hàng
Trang 11Thêm mặt hàng vào Hóa đơn, cập nhật lại
Trang 12CHƯƠNG 2: THIẾT KẾ CHI TIẾT
2.1 Thiết kế lớp:
2.1.1 Biểu đồ lớp:
Chương trình bao gồm các class:
Trang 13#nhaSanXuat : String
#daoDien : String +setNhaSanXuat(String) : void +getNhaSanXuat : String +setDaoDien(String) : void +getDaoDien : String
Trang 14Xây dựng lớp Sach kế thừa từ lớp SanPham gồm :
+ Thuộc tính: tacGia(String), nhaXuatban(String)
+ Phương thức: getter(), setter() tương ứng
Xây dựng lớp DiaNhac kế thừa từ lớp SanPham gồm :
+ Thuộc tính: nhaSanXuat(String), caSi(String)
+ Phương thức: getter(), setter() tương ứng
Xây dựng lớp DiaPhim kế thừa từ lớp SanPham gồm :
+ Thuộc tính: nhaSanXuat(String), daoDien(String)
+ Phương thức: getter(), setter() tương ứng
Xây dụng lớp SachDataAccess gồm các phương thức :
+ showAll(): xem toàn bộ thông tin sách có trong CSDL
+ addNew(): thêm sách mới vào CSDL
+ updateSach(): cập nhật thông tin sách vào CSDL
+ deleteSach(): xóa sách khỏi CSDL
Trang 15+ findByMaSP(): tìm sách trong CSDL thông qua mã sản phẩm.
+ checkSach(): kiểm tra mã sách trong CSDL
Xây dụng lớp DiaNhacDataAccess gồm các phương thức :
+ showAll(): xem toàn bộ thông tin đĩa nhạc có trong CSDL
+ addNew(): thêm đĩa nhạc mới vào CSDL
+ updateSach(): cập nhật thông tin đĩa nhạc vào CSDL
+ deleteDiaNhac(): xóa đĩa nhạc khỏi CSDL
+ findByMaSP(): tìm đĩa nhạc trong CSDL thông qua mã sản phẩm.+ checkDiaNhac(): kiểm tra mã đĩa nhạc trong CSDL
Xây dụng lớp DiaPhimDataAccess gồm các phương thức :
+ showAll(): xem toàn bộ thông tin đĩa phim có trong CSDL
+ addNew(): thêm đĩa phim mới vào CSDL
+ updateDiaPhim(): cập nhật thông tin đĩa phim vào CSDL
+ deleteDiaPhim(): xóa đĩa phim khỏi CSDL
+ findByMaSP(): tìm đĩa phim trong CSDL thông qua mã sản phẩm.+ checkDiaPhim(): kiểm tra mã đĩa phim trong CSDL
+ Thuộc tính: maHoaDon, maSanPham, tenSanPham, ngayBan,
soLuong, donGia, soDienThoaiKH, maNhanVien, nhomKH, chietkhau, thanhTien
+ Phương thức: các phương thức getter(), setter() tương ứng
Trang 16(dùng cho báo cáo).
Xây dựng các Frame hiển thị các công việc thêm, bớt, tìm kiếm, thanh toán
đã xây dựng ở trên
2.2 Thiết kế cơ sở dữ liệu / cấu trúc dữ liệu:
- Cơ sở dữ liệu sử dụng là file quanlybanhang.sql được đặt cùng thư mục với source code
- Trong cơ sở dũ liệu gồm có 6 bảng: Sach, diaphim, dianhac,
taikhoan, khachhang, hoadonbanhang như hình dưới:
Trang 17- Các thuộc tính của các bảng:
+ dianhac (MaSanPham, TenSanPham, NhaSanXuat, NgheSi,
HinhThuc, SoLuong, GiaMua, GiaBan)
+ diaphim (MaSanPham,TenSanPham, NhaSanXuat, DaoDien,
HinhThuc, SoLuong, GiaMua, GiaBan)
+ hoadonbanhang (MaHD, MaSP, TenSP, Ngayban, SoLuong, Dongia,SodienthoaiKH, nhom KH, MaNV, ChietKhau, Thanhtien)
+ sach (MaSanPham, TenSanPham, NhaXuatBan, TacGia, HinhThuc, SoLuong, GiaMua, GiaBan)
+ taikhoan (TaiKhoan, Password, Hoten, Nhom, Manv, Tienluong).+ khachhang (TenKhachHang, NhomKhachHang, SoDienTHoai,
DiaChi)
- Các thao tác với cơ sở dữ liệu được thực hiện qua các phương thức: showAll(), deleteSach(), updateSach(), finByMaSP(), deleteDiaPhim(),
Trang 18CHƯƠNG 3: CHƯƠNG TRÌNH MINH HOẠ
Trang 19o Lý do lựa chọn/sử dụng công nghệ: các ứng dụng có khả năng chạy thống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần.
- Môi trường lập trình: NetBean IDE
Trang 20Hình 8: Giao diện bán hàng.
Hình 9: Giao diện kho hàng
Trang 21Hình 10: Giao diện báo cáo.
Hình 11: Giao diện thiết lập
Trang 22Hình 12: Tìm kiếm sản phẩm.
Hình 13: Thêm sản phẩm, khách hàng và tài khoản
Trang 23Hình 14: Thêm sản phẩm.
Hình 15: Update thông tin
Trang 24Hoàn thành chương trình, báo cáo bài tập lớn đúng thời hạn.
Giao diện thân thiện với người dùng, có đầy đủ các chức năng cơ bản theo yêu cầu
Chưa có kinh nghiệm trong việc xây dựng một chương trình quản lý với quy mô lớn
Khả năng lập trình của các thành viên còn hạn chế
Tăng hiểu biết và củng cố các kiến thức đã học về : kĩ năng lập trình, cơ sở
dư liệu, SQL và một số kĩ năng khác
- Hướng phát triển cho đề tài, cho sản phẩm và khả năng ứng dụng:
Chương trình có thể ứng dụng cho những cửa hàng nhỏ không yêu cầu cao
về cơ sở dữ liệu Tuy nhiên, chương trình có thể phát triển thêm để ứng dụng cho các cửa hàng kinh doanh lớn với cơ sở dữ liệu lớn hơn và có thêm một số chức năng khác
Bổ sung các thuộc tính của cở sở dữ liệu để hệ thống hoàn thiện hơn
Một số chức năng còn chưa hoàn thiện như:
+ Nhật kí nhập hàng
+Nhật kí bán hàng
Trang 25TÀI LIỆU THAM KHẢO
[1] Đoàn Văn Ban Lập trình hướng đối tượng với Java Nhà xuất bản Khoa học
kỹ thuật, 2003
[2] Slide lập trình hướng đối tượng trên hệ thống ACU
[3] Java Core 1( Tiếng việt)