Lương Thị Bích PhượngNhóm thực hiện: Nhóm 11LỜI MỞ ĐẦUHiện nay, sự quan tâm đến việc tạo ra không gian sống xanh và gần gũi với thiênnhiên đã làm cho cửa hàng hoa trở thành một địa điểm
Trang 1TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI
Khoa Công nghệ thông tin
BÁO CÁO ĐỀ TÀI MÔN CÔNG NGHỆ JAVA
NGHIÊN CỨU VÀ XÂY DỰNG ỨNG DỤNG
QUẢN LÝ CỬA HÀNG HOA
Lớp : 21CN4
Trang 2GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
MỤC LỤC
MỤC LỤC 2
LỜI MỞ ĐẦU 3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4
1.1 Tổng quan về Java 4
1.1.1 Ngôn ngữ lập trình Java 4
1.1.2 Ưu điểm và hạn chế 4
1.2 Công nghệ được sử dụng 6
1.2.1 GUI - Giao diện người dùng đồ họa trong Java (Java Swing) 6
1.2.2 Java Database Connectivity - JDBC 6
CHƯƠNG 2: QUY TRÌNH THỰC HIỆN 8
2.1 Giới thiệu hệ thống quản lý cửa hàng hoa 8
2.2 Đặc tả chức năng chính của phần mềm 8
2.3 Phân tích chức năng hệ hống 13
2.3.1 Biểu đồ phân cấp chức năng 13
2.3.2 Mô tả bằng Use-case 14
2.3.3 Thiết kế biểu đồ lớp 29
2.3.4 Biểu đồ luồng dữ liệu 29
2.3.5 Biểu đồ luồng dữ liệu mức khung cảnh: 30
2.3.6 Biểu đồ luồng dữ liệu mức đỉnh 1: 30
2.3.7 Biểu đồ hoạt động 32
2.3.8 Thiết kế biểu đồ tuần tự 38
CHƯƠNG 3: GIAO DIỆN HỆ THỐNG 61
3.1 Giao diện toàn hệ thống: 61
3.2 Giao diện đặt hàng 61
3.3 Giao diện quản lý đơn hàng: 61
3.4 Giao diện các chứng năng quản lý sản phẩm: 62
3.5 Giao diện chức năng quản lý kho: 63
3.6 Giao diện các chức năng khách hàng 63
3.7 Giao diện đăng nhập, tạo tài khoản 64
TÀI LIỆU THAM KHẢO 65
Trang 3GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
LỜI MỞ ĐẦU
Hiện nay, sự quan tâm đến việc tạo ra không gian sống xanh và gần gũi với thiênnhiên đã làm cho cửa hàng hoa trở thành một địa điểm quan trọng trong việc manglại không khí ấm cúng và ý nghĩa cho cộng đồng Không chỉ là nơi cung cấp những
bó hoa tinh tế và lãng mạn, mà còn là không gian thấu hiểu ngôn ngữ đẹp, nơi gặp
gỡ những cảm xúc tươi mới, quản lý một cửa hàng hoa đòi hỏi sự tinh tế trong việcsắp xếp những loại hoa, sự chăm sóc đối với khách hàng Như vậy, một chiến lượcquản lý sáng tạo để nổi bật trong thị trường ngày càng cạnh tranh là điều kiện rấtcần thiết, đặc biệt, dưới sự phát triển của các kênh trực tuyến mở ra nhiều cơ hộimới và đặt ra nhiều thách thức trong quản lý cửa hàng hoa
Bản báo cáo này tập trung vào việc xây dựng một hệ thống quản lý cửa hàng hoavới các chức năng cần thiết bằng công nghệ Java, mục tiêu là tạo ra một nền tảnglinh hoạt và thân thiện với người dùng, từ việc tìm kiếm sản phẩm đến quản lý đơnhàng và thanh toán Sự hiệu quả của hệ thống không chỉ nằm ở khả năng cung cấptrải nghiệm mua sắm thuận tiện cho người dùng mà còn ở khả năng tối ưu hóa quytrình bán hàng và quản lý dữ liệu cho người quản trị Phần mềm giúp chúng ta theodõi mọi khía cạnh của cửa hàng, từ quản lý hàng tồn kho đến đặt hàng và theo dõidoanh số bán hàng, tạo ra một hệ thống quản lý hoàn chỉnh Với tích hợp đồng nhấtthông tin và tự động hóa quy trình làm việc sẽ giúp người dùng tiết kiệm thời gian
và giảm thiểu sai sót, từ việc đặt hàng đến quản lý tài chính Phần mềm cũng làmột giải pháp cho việc bảo mật thông tin: Bảo vệ thông tin khách hàng và dữ liệunội bộ thông qua các biện pháp bảo mật cao cấp, đảm bảo an ninh thông tin vàniềm tin từ phía khách hàng
Do kiến thức và hiểu biết còn hạn chế nên trong đề tài nghiên cứu vẫn có nhiềuthiếu sót Rất mong nhận được sự thông cảm và và góp ý từ thầy cô và các bạn để
đề tài chúng em có thể hoàn thiện hơn nữa
Chúng em xin chân thành cảm ơn!
Trang 4GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về Java
1.1.1 Ngôn ngữ lập trình Java
Java là một trong những ngôn ngữ lập trình hướng đối tượng, dựa trên lớpđược thiết kế để có càng ít phụ thuộc thực thi càng tốt Nó là ngôn ngữ lập trình cómục đích chung cho phép các nhà phát triển ứng dụng viết một lần, chạy ở mọi nơi(Write Once, Run Anywhere – WORA), nghĩa là mã Java đã biên dịch có thể chạytrên tất cả các nền tảng hỗ trợ Java mà không cần biên dịch lại Nó được sử dụngtrong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động.Java là một ngôn ngữ lập trình ban đầu được James Gosling tại SunMicrosystems (sau đó đã được Oracle mua lại) phát triển và được phát hành lần đầutiên bởi Sun Microsystems vào năm 1995 Nó đã phát triển từ những khởi đầukhiêm tốn để cung cấp năng lượng cho một phần lớn thế giới kỹ thuật số ngày nay,bằng cách cung cấp nền tảng đáng tin cậy mà trên đó nhiều dịch vụ và ứng dụngđược xây dựng Các sản phẩm mới, sáng tạo và dịch vụ kỹ thuật số được thiết kếcho tương lai cũng tiếp tục dựa vào Java
Có 5 mục tiêu chính trong việc xây dựng ngôn ngữ Java:
- Nó phải đơn giản, hướng đối tượng và quen thuộc
- Nó phải mạnh mẽ và an toàn
- Nó phải không phụ thuộc vào kiến trúc và có tính di động
- Nó phải thực thi với hiệu suất cao
- Nó phải được thông dịch, phân luồng và động
1.1.2 Ưu điểm và hạn chế
Ưu điểm : Là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay, được
sử dụng trong nhiều lĩnh vực khác nhau, Java có nhiều ưu điểm nổi bật:
o Độc lập với nền tảng: Mã Java được biên dịch thành bytecode, có thể chạytrên bất kỳ máy nào có cài đặt Java Virtual Machine (JVM) Điều này giúp cho
Trang 5GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11Java trở thành một ngôn ngữ lập trình đa nền tảng, có thể được sử dụng trênnhiều loại thiết bị khác nhau.
o Hướng đối tượng: Java là một ngôn ngữ hướng đối tượng, sử dụng các kháiniệm như lớp, đối tượng, kế thừa, đa hình, để mô hình hóa thế giới thực Điềunày giúp cho việc phát triển và bảo trì mã Java trở nên dễ dàng và hiệu quả hơn
o Bảo mật: Java được thiết kế với các tính năng bảo mật mạnh mẽ, giúp ngănchặn các cuộc tấn công bảo mật
o Đa luồng: Java hỗ trợ đa luồng, cho phép thực thi nhiều chương trình đồngthời Điều này giúp cho các ứng dụng Java có thể hoạt động hiệu quả hơn
o Mạnh mẽ: cung cấp nhiều tính năng mạnh mẽ, chẳng hạn như thu gom rác,
xử lý ngoại lệ, giúp cho phát triển các ứng dụng phức tạp trở nên dễ dàng hơn
o Dễ học: Java là một ngôn ngữ lập trình cấp cao, có cú pháp tương đối đơngiản và dễ hiểu Điều này giúp cho việc học Java trở nên dễ dàng hơn, ngay cảđối với những người mới bắt đầu học lập trình
Hạn chế : Bên cạnh những ưu điểm nổi bật, Java cũng còn một số hạn chế
o Hiệu suất: Java thường có hiệu suất kém hơn so với các ngôn ngữ lập trìnhcấp thấp hơn, chẳng hạn như C và C++ Điều này là do Java sử dụng bộ thu gomrác, có thể gây ra một số chi phí bổ sung
o Kích thước: Mã Java thường có kích thước lớn hơn so với mã của các ngônngữ lập trình cấp thấp hơn Điều này là do mã Java cần bao gồm bytecode, cũngnhư các thư viện và trình biên dịch cần thiết để chạy mã
o Tính linh hoạt: Java có thể không linh hoạt như các ngôn ngữ lập trình cấpthấp hơn
o Số lượng trình biên dịch GUI hạn chế: Java có một số trình biên dịch GUI,nhưng số lượng này vẫn hạn chế so với các ngôn ngữ lập trình khác
Trang 6GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
o Cú pháp phức tạp: Nếu viết những đoạn mã dài phức tạp, Java có thể khóđọc và hiểu hơn so với các ngôn ngữ lập trình khác
1.2 Công nghệ được sử dụng
1.2.1 GUI - Giao diện người dùng đồ họa trong Java (Java Swing)
GUI hay Giao diện người dùng đồ họa trong Java, chính là trình tao trảinghiệm trực quan, rất dễ sử dụng cho các ứng dụng Java Chủ yếu được làmbằng các thành phần đồ họa như: button, icon, window… Qua đó người dùng cóthể tương tác với ứng dụng, và GUI đóng vai trò quan trọng để xây dựng giaodiện cho ứng dụng Java
Java Swing là một bộ công cụ giao diện người dùng đồ họa (GUI) cho Java
Nó là một phần của Lớp nền tảng Java của Oracle - một API để cung cấp giaodiện người dùng đồ họa cho các chương trình Java Swing được phát triển đểcung cấp một tập hợp các thành phần GUI phức tạp hơn Bộ công cụ cửa sổ trừutượng trước đó
Các thành phần Swing được thiết kế để hoạt động trên nhiều nền tảng khácnhau, bao gồm Windows, macOS và Linux Chúng được viết bằng Java thuầntúy, có nghĩa là chúng có thể được sử dụng trong các ứng dụng Java chạy trênbất kỳ nền tảng nào được hỗ trợ bởi Java Virtual Machine (JVM)
Java Swing cung cấp một API dễ sử dụng, giúp lập trình viên dễ dàng tạo cácứng dụng GUI bằng cách tạo các lớp và giao diện tùy chỉnh Điều này cho phéplập trình viên tạo các ứng dụng GUI đáp ứng các nhu cầu cụ thể
1.2.2 Java Database Connectivity - JDBC
Java Database Connectivity (JDBC) là một API được thiết kế dành cho ngônngữ lập trình Java hỗ trợ Java trong việc truy cập cơ sở dữ liệu Nó gồm nhữngphương thức thực hiện truy vấn và cập nhật cơ sở dữ liệu gián tiếp qua Java
Trang 7GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11JDBC được phát triển bởi Sun Microsystems và được cung cấp miễn phí.JDBC là một API tiêu chuẩn, có nghĩa là nó có thể được sử dụng với bất kỳ cơ
sở dữ liệu nào có hỗ trợ JDBC
Để sử dụng JDBC thì người dùng cần phải tải JDBC Driver về máy tùy thuộcvào phần mềm cơ sở dữ liệu đang dùng Trong đề tài thì nhóm sử dụng phầnmềm MySQL để làm cơ sở dữ liệu
JDBC về cơ bản là một đặc tả cung cấp mộ bộ giao diện hoàn chỉnh Các giaodiện này cho phép truy cập di động vào cơ sở dữ liệu bên dưới
Java có thể sử dụng để viết các loại tệp thực thi khác nhau, chẳng hạn như:
Trang 8GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
2.1 Giới thiệu hệ thống quản lý cửa hàng hoa
Phần mềm quản lý cửa hàng hoa là một ứng dụng được sử dụng nội bộ để hỗ trợquản lý cửa hàng Người dùng sử dụng hệ thống để quản lý hoa trong cửa hàng,các hoạt động mua, bán và nắm bắt thông tin khách hàng
Ứng dụng có thể được cài đặt trên nhiều máy tính của nhân viên trong cửa hàng,tuy nhiên cơ sở dữ liệu sẽ chỉ được lưu trên máy chủ của cửa hàng hoa
2.2 Đặc tả chức năng chính của phần mềm
2.3.1 Biểu đồ phân cấp chức năng
2.3.2 Thiết kế biểu đồ lớp
⇨ 6 lớp thực thể, 5 lớp thống kê
Trang 9GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
Bảng thiết kế cơ sở dữ liệu
2.3.3 Biểu đồ luồng dữ liệu
Trang 10GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
2.3.4 Biểu đồ luồng dữ liệu mức khung cảnh:
2.3.5 Biểu đồ luồng dữ liệu mức đỉnh 1:
Trang 11GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
Chức năng đặt hàng
Chức năng quản lý đơn hàng
Chức năng quản lý sản phẩm
Trang 12GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
2.3.6 Biểu đồ hoạt động
Sơ đồ hoạt động là biểu đồ mô tả các bước thực hiện, các hành động, các nútquyết định và điều kiện rẽ nhánh để điều khiển luồng thực hiện của hệ thống Đốivới những luồng thực thi có nhiều tiến trình chạy song song thì sơ đồ hoạt động là
sự lựa chọn tối ưu cho việc thể hiện
Chức năng đặt hàng
Trang 13GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
Chức năng quản lý đơn hàng
Trang 14GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
Chức năng quản lý sản phẩm
Trang 15GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
Chức năng quản lý khách hàng
Trang 16GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
Chức năng đăng nhập
Trang 17GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
Chức năng quản lý kho
Trang 18GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
Bảng thiết kế cơ sở dữ liệu
Trang 19GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
3.1 Giao diện toàn hệ thống:
3.2 Giao diện đặt hàng
3.3 Giao diện quản lý đơn hàng:
Trang 20GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
3.4 Giao diện các chứng năng quản lý sản phẩm:
Trang 21GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
3.5 Giao diện chức năng quản lý kho:
o Nhập hàng
o Kiểm hàng
3.6 Giao diện các chức năng khách hàng
o Giao diện quản lý khách hàng
Trang 22GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
o Giao diện thêm khách hàng
3.7 Giao diện đăng nhập, tạo tài khoản
Trang 23GVHD: ThS Lương Thị Bích Phượng Nhóm thực hiện: Nhóm 11
TÀI LIỆU THAM KHẢO
[1] Giáo trình phân tích thiết kế hệ thống thông tin - Nguyễn Thị Nguyệt.
[2] https://t3h.com.vn/tin-tuc/jdbc-trong-java