Phần mềm Quản lý bán hàng online với Java | Học phần lập trình hướng đối tượng với Java giúp sinh viên năm được phương pháp lập trình hướng đối tượng (OOP) và ngôn ngữ lập trình Java cơ bản. Bài tập lớn môn học là tổng hợp kiến thức, kỹ năng về phương pháp lập trình hướng đối tượng và ngôn ngữ lập trình Java. Nội dung bài tập lớn gồm: Phân tích bài toán, giới thiệu tông quan về phương pháp lập trình hướng đối tượng, đặc trưng của ngôn ngữ lập trình Java, cài đặt phần mềm với ngôn ngữ Java trong đó sử dụng các lớp kế thừa, lớp trừu tượng vào giao diện (interface) của lập trình hướng đối tượng. Bài tập lớn là tài liệu tham khảo hữu ích cho SV ngành CNTT.
Trang 1BÀI TẬP LỚN HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
TÊN BÀI TẬP LỚN: Project
Trang 2TÊN BÀI TẬP LỚN
Trang 3MỤC LỤC
Trang
Lời Mở Đầu………1
1.Lí do chọn đề tài ……… …1
2.Mục đích nghiên cứu……….1
Chương I: Cơ sở lý thuyết ……….2
1.Lập trình hướng đối tượng với Java………2
2.Xampp ………3
3.Lý thuyết về phần tích thiết kế hệ thống……….6
Chương II: Phân tích thiết kế hệ thống quản lý bán hàng online……….7
1.Phân tích hiện trạng và yêu cầu……… 7
2.Quy trình nghiệp vụ hệ thống ……….7
3 Thiết kế cơ sở dữ liệu………8
4.Thiết kế hệ thống……… 9
5.Giao diện hiện thống………10
6.Các chức năng………13
Phần kết luận………17
Tài liệu tham khảo………20
Phục Lục………21
Trang 4LỜI MỞ ĐẦU
1 Lí do chọn đề tài
Ngày nay Internet đã trở thành dịch vụ phổ biến, thiết yếu và có ảnh hưởng sâu rộng tới thói quen,sinh hoạt ,giải trí của nhiều người nhất là trong khi tình hình dịch ngày càng phức tạp , nhiều diễn biến Với sự phát triển của internet thì các hình thức mua và bán hàng hóa cho mọi người ngày càng đa dạng và phát triển hơn Các ứng dụng web ngày càng trở nên phổ biến Trước như cầu đó ,cùng với yêu cầu môn học , nhóm chúng em quyết định
chọn đề tài Quản lí bán hàng online
Trong quá trình hoàn thiện bài, do kiến thức cũng như
sự hiểu biết về vấn đề chưa được sâu sắc nên không tránh khỏi việc sai sót, nhầm lẫn, nhóm em rất mong nhận được sự đánh giá, góp ý từ phía thầy để hoàn thiện hơn sau này Thay mặt nhóm em xin chân thành cảm ơn
2 Mục đích nghiên cứu
Xây dựng chương trình “Quản lý bán hàng online”
nhằm hỗ trợ cho cửa hàng quản lý thông tin bán hàng một cách tốt hơn thông qua internet, giúp cho việc bán hàng được thực hiện nhanh chóng, chính xác và kịp thời đến tay người tiêu dùng, nâng cao hiệu quả công việc và tiết kiệm được nhiều thời gian
Trang 5PHẦN NỘI DUNG CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA
- Khái niệm:
Lập trình hướng đối tượng (Object Oriented
Programing – OOP) là một phương pháp để thiết kế một
chương trình bởi sử dụng các lớp và các đối tượng
Java là một ngôn ngữ lập trình hướng đối tượng vì vậy
nó cũng hỗ trợ các đặc tính của lập trình hướng đối tượng:
• Đa hình (Polymorphism)là khả năng một đối tượng có thể thực hiện một tác vụ theo nhiều cách khác nhau.Trong Java, chúng ta sử dụng nạp chồng phương thức (method overloading) và ghi đè phương thức (method overriding) để có tính đa hình
• Thừa kế (Inheritance)là sự liên quan giữa hai class với nhau, trong đó có class cha (superclass) và class con (subclass).Từ khóa extends được sử dụng để thể hiện
sự kế thừa của một lớp
• Đóng gói (Encapsulation)là sự che giấu bên trong dữ liệu riêng của mỗi đối tượng của lớp được khai báo và chỉ được truy xuất thông qua hệ thống các phương thức có sẵn của lớp (chỉ có thể gọi những phương thức có sẵn
• Trừu tượng (Abstraction)là cách mình dấu đi các chi tiết quan trọng và chỉ hiển thị những thông tin cần thiết
- Đối tượng(object)
Đối tượng là một thực thể có trạng thái và hành vi Nó
có thể mang tính vật lý hoặc logic
- Lớp( Class)
Chúng ta có thể xem lớp như một khuôn mẫu (template) của đối tượng (Object) Trong đó bao gồm dữ liệu của đối tượng (fields hay properties) và các phương thức(methods) tác động lên thành phần dữ liệu đó gọi là các phương thức của lớp
2 Xampp( chủ yếu MySQL)
Trang 6Tính linh hoạt: Máy chủ cơ sở dữ liệu MySQL cung cấp
đặc tính linh hoạt, có sức chứa để xử lý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ liệu đồ sộ lên đến hàng terabytes thông tin Sự linh hoạt về flatform là một đặc tính lớn của MySQL với tất cả các phiên bản của Linux, Unix, và Windows đang được hỗ trợ Và dĩ nhiên, tính chất mã nguồn mở
của MySQL cho phép sự tùy biến hoàn toàn theo ý muốn
để thêm vào các yêu cầu thích hợp cho database server
- Tính thực thi cao: Kiến trúc storage-engine cho
phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ cơ
sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù
Dù ứng dụng là một hệ thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụ hàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi khắt khe nhất của bất kì hệ thống nào Với các tiện ích tải tốc độ cao, đặc biệt bộ nhớ caches, và các cơ chế xử lý nâng cao khác, MySQL đưa ra tất cả các vũ khí cần phải có cho các hệ thống doanh nghiệp khó tính ngày nay
- Có thể sử dụng ngay: Sự đáng tin cậy cao và tính
“mì ăn liền” là những tiêu chuẩn đảm bảo của MySQL
MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạo chủ/tớ tốc độ cao, để các nhà phân phối thứ
3 đưa ra những giải pháp có thể dùng ngay duy nhất cho server cơ sở dữ liệu MySQL
- Hỗ trợ giao dịch mạnh: MySQL đưa ra một trong
số những engine giao dịch cơ sở dữ liệu mạnh nhất trên thị trường Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện ( Atomic – tự động, Consistent – thống nhất, Isolated – độc lập, Durable – bền vững), khóa mức dòng không hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa dạng (multi-version) mà người đọc không bao giờ gây trở ngại cho người viết và ngược lại Tính toàn vẹn của dữ liệu cũng phải được bảo đảm trong suốt quá trình server có hiệu lực, các mức giao dịch độc lập
Trang 7được chuyên môn hóa, và phát hiện khóa chết ngay lập tức
- Nơi lưu trữ Web và Data đáng tin cậy: MySQL là
nhà máy chuẩn cho các web sites phải trao đổi thường xuyên vì nó có engine xử lý tốc độ cao, khả năng chèn
dữ liệu nhanh, và hỗ trợ mạnh cho các chức năng chuyên dụng của web như tìm kiếm văn bản nhanh Những tính năng này cũng được áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cường đến hàng terabyte cho các server đơn Các tính năng khác như bảng nhớ chính, cây
B và chỉ số băm, và bảng lưu trữ đã được cô lại để giảm các yêu cầu lưu trữ đến 80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng dụng web và các ứng dụng
doanh nghiệp
- Chế độ bảo mật dữ liệu mạnh: Vì bảo mật dữ liệu
cho một công ty là công việc số một của các chuyên gia
về cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽ được bảo mật tuyệt đối Trong
việc xác nhận truy cập cơ sở dữ liệu, MySQL cung
cấp các kĩ thuật mạnh mà chắc chắn chỉ có người sử dụng đã được xác nhận mới có thể truy nhập được vào server cơ sở dữ liệu, với khả năng này để chặn người dùng ngay từ mức máy khách là điều có thể làm được
SSH và SSL cũng được hỗ trợ để chắc chắn các kết nối được an toàn và bảo mật Một đối tượng framework đặc quyền được đưa ra mà người sử dụng chỉ có thể nhìn thấy dữ liệu, các hàm mã hóa và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ được bảo mật Cuối cùng, tiện ích backup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 cho phép backup logic và vật lý hoàn thiện cũng như recovery toàn bộ hoặc tại một thời điểm nào đó
- Sự phát triển ứng dụng hỗn hợp: Một trong số
các lý do khiến cho MySQL là cơ sở dữ liệu mã nguồn
mở phổ biến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển ứng dụng nào cần Trong cơ sở
dữ liệu, hỗ trợ có thể được tìm thấy trong các stored
Trang 8procedure, trigger, function, view, cursor, ANSI-standard SQL, và nhiều nữa Với các ứng dụng nhúng, thư viện plug-in có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗ trợ trong bất kì ứng dụng nào MySQL cũng cung cấp các
bộ kết nối như: ODBC, JDBC, … để cho phép tất cả các form của ứng dụng sử dụng MySQL như một server quản
lí dữ liệu được ưu tiên
- Dễ dàng quản lý: MySQL trình diễn khả năng cài
đặt nhanh đặc biệt với thời gian ở mức trung bình từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất chưa đầy 15 phút Điều này đúng cho dù flatform là Microsoft Windows, Linux, Macintosh hay Unix Khi đã được cài đặt, tính năng tự quản lý như tự động mở rộng không gian, tự khởi động lại, và cấu hình động sẵn sàng
cho người quản trị cơ sở dữ liệu làm việc MySQL cũng
cung cấp một bộ hoàn thiện các công cụ quản lý đồ họa cho phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của nhiều server MySQL từ một máy trạm đơn
Nhiều công cụ của các hãng phần mềm thứ 3 cũng có
sẵn trong MySQL để điều khiển các tác vụ từ thiết kế dữ
liệu và ETL, đến việc quản trị cơ sở dữ liệu hoàn thiện, quản lý công việc, và thực hiện kiểm tra
- Mã nguồn mở: Nhiều công ty lưỡng lự trong việc
giao phó toàn bộ cho phần mềm mã nguồn mở vì họ tin
họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục vụ chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn về sự thành công toàn diện cho các ứng dụng chủ chốt của họ Những lo lắng của họ có thể được dẹp bỏ với MySQL, sự bồi thường là
có trong mạng lưới MySQL
- Chi phí thấp: Bằng cách sử dụng MySQL cho các
dự án phát triển mới, các công ty đang thấy rõ việc tiết kiệm chi phí Được hoàn thành thông qua sử dụng server
cơ sở dữ liệu MySQL và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạt được ở mức ngạc nhiên về khả năng xử lý Thêm vào đó, tính tin cậy và dễ
duy trì của MySQL ở mức trung bình mà người quản trị
Trang 9cơ sở dữ liệu không phải mất nhiều thời gian sửa chữa hay vấn đề thời gian chết
3 Lý thuyết về Phân tích thiết kế hệ thống
- Là quy trình để phát triển và bảo trì một ứng dụng
hệ thống thông tin với mục đích nâng cao hiệu quả công việc
- PTTK HT được thực hiện dựa trên quy trình công nghệ phần mềm gồm phương pháp luận, công nghệ và công cụ
- Phương pháp luận: trình tự của cách tiếp cận từng bước để phát triển sản phẩm cuối cùng là HTTT
- Kỹ năng: trình tự mà người phân tích hệ thống theo
để thực hiện các công việc như phỏng vấn người dùng
để xác nhận yêu cầu, lập kế hoạch, vẽ biểu đồ
- Công cụ: chương trình máy tính Ví dụ như CASE(computer- aided sofware engineering) để thực hiện các kỹ năng cụ thể một cách dễ dàng
- Phương pháp luận, kỹ thuật, công cụ tạo nên một cách tiếp cận có hệ thống để phân tích và thiết kế hệ thống
- Đóng vai trò cốt lõi trong việc phát triển hệ thống:
Phân tích hệ thống là nghiên cứu vấn đề trong tổ chức, đưa ra giải pháp để nâng cao tổ chức
Lý thuyết về Phân tích thiết kế hệ thống
Là quy trình để phát triển và bảo trì một ứng dụng hệ thống thông tin với mục đích nâng cao hiệu quả công việc
- PTTK HT được thực hiện dựa trên quy trình công nghệ phần mềm gồm phương pháp luận, công nghệ và công cụ
Trang 10- Phương pháp luận: trình tự của cách tiếp cận từng bước để phát triển sản phẩm cuối cùng là HTTT
- Kỹ năng: trình tự mà người phân tích hệ thống theo
để thực hiện các công việc như phỏng vấn người dùng
để xác nhận yêu cầu, lập kế hoạch, vẽ biểu đồ,…
- Công cụ: chương trình máy tính Ví dụ như CASE(
computer- aided sofware engineering) để thực hiện các
kỹ năng cụ thể một cách dễ dàng
- Phương pháp luận, kỹ thuật, công cụ tạo nên một cách tiếp cận có hệ thống để phân tích và thiết kế hệ thống
- Đóng vai trò cốt lõi trong việc phát triển hệ thống:
Phân tích hệ thống là nghiên cứu vấn đề trong tổ chức, đưa ra giải pháp để nâng cao tổ chức
CHƯƠNG II PHÂN TÍCH THIẾT KẾ HỆ THỐNG QUẢN LÝ
BÁN HÀNG ONLINE
1 Phân tích hiện trạng và yêu cầu
Đại dịch COVID-19 bùng phát trở lại, gây ảnh hưởng nghiêm trọng đến hoạt động kinh doanh, buôn bán của các tiểu thương chợ truyền thống Không ít một số tiểu thương phải đóng cửa ki-ốt, tạm nghỉ bán hàng do buôn bán ế ẩm, mắc dù các ngành hàng này vẫn được phép hoạt động
Trước tình hình trên, để có thể kinh doanh buôn bán thuận lợi trong điều kiện phòng chống dịch ngày càng siết chặt, nhiều tiểu thương ở những chợ truyền thống đã đẩy mạnh bán hàng online và thanh toán thông qua ví điện
tử Việc làm này giúp khách hàng mua sắm online không
lo dịch bệnh, đồng thời giúp tiểu thương duy trì chi trả được các phí sử dụng, sinh hoạt hàng tháng, cũng giúp tiểu thương kết nối, tìm kiếm thêm nhiều khách hàng, duy trì kinh doanh
2 Quy trình nghiệp vụ hệ thống
Hệ thống phải có chức năng cập nhật, chỉnh sửa và bổ sung thông tin một cách đầy đủ và chính xác, chức năng quản lý sản phẩm theo tên sp, xuất xứ , nhà sx và giá
Cung cấp được đầy đủ, chi tiết thông tin về sản phẩm khi
Trang 11tìm kiếm tên sp là gì?, xuất xứ ở đâu ? giá như thế nào?
số lượng(hàng còn hay không), đánh giá về sản phẩm
3 Thiết kế cơ sở dữ liệu
Bảng II.4.1 KhachHang(khách hàng)
STT Tên trường Kiểu dữ liệu Chú thích
1 MaKH int Mã khách hàng
2 TenKH Varchar(40) Tên khách hàng
3 Sdt Varchar(10) Số điện thoại khách hàng
4 DiaChi Varchar(30) Địa chỉ nhận
5 Mail Varchar(20) Mail khách hàng
Bảng II.4.2 SanPham(Sản phẩm)
STT Tên trường Kiểu dữ liệu Chú thích
1 MaSP int Mã sản phẩm
2 TenSP Varchar(30) Tên sản phẩm
3 Gia float Giá sản phẩm
4 XuatXu Varchar(20) Xuất Xứ sản phẩm
5 NhaSX Varchar(20) Tên nhà xản xuất
Bảng II.4.3 HoaDon(Hóa đơn)
STT Tên trường Kiểu dữ liệu Chú thích
1 MaHD int Mã hóa đơn mua hàng
Trang 126 SoLuongMua int Số lượng sản phẩm đã mua
Ø Mô hình cơ sở dữ liệu
Trang 135 Giao diện hệ thống
• Hệ Thống Chính
Trang 14• Hệ Thống Quản lý Khách Hàng
• Hệ Thống Quản lý Sản Phẩm
Trang 15• Hệ Thống Quản lý Hóa Đơn
Trang 166 Các chức năng
Thêm(Lưu)
Trang 17Xóa
Trang 18Tìm Kiếm
Trang 19Chức năng đăng nhập
Trang 20o Sửa thông tin khi cần thiết
o Tìm kiếm các thông tin nhanh chóng
o Tránh thất thoát thông tin của hệ thống
o Không làm mất thời gian của người sử dụng
o Thân thiện với người dùng
• Nhược điểm hệ thống
o Còn thiếu nhiều chức năng và phần tài khoản người dùng
o
Trang 21• Hướng phát triển
o Mở rộng phổ cập lên hướng người sử dụng
o Tăng khả năng thích ứng với người dùng
o
Trang 22TÀI LIỆU THAM KHẢO
• hoc-lap-trinh-java-qua-cac-vi-du-co.html
Trang 23PHỤ LỤC Hướng dẫn cài đặt:
- Chương trình Quản lý bán hàng online được viết bằng NetBeans và sử dụng Hệ quản trị cơ sở dữ liệu MySQL, có thể cài đặt trong môi trường Windows 7, Windowns 8,
- Yêu cầu máy tính : + Cấu hình máy tính tốc độ tối thiểu 1.8 GHZ