Đề tài Hệ thống quản lý cửa hàng hóa

MỤC LỤC LỜI nói đẦu . 4 BẢng ghi nhẬn thay đỔi tài LIỆU 8 1.2 Khảo sát hiện trạng: . 9 1.3 Mô tả hệ thống: . 10 1.3.1 Mô tả chung: . 10 1.3.2 Mô tả chi tiết: 11 1.4 Xác định chức năng, tác nhân và hồ sơ: 13 Chương 2 : VẼ và phân tích các lưỢc đỒ UML . 15 2.1 Use case Diagram: 15 2.1.1 Danh sách các actor của mô hình: . 15 2.1.2 Danh sách các use case của mô hình: . 16 2.2 Phân rã Use case: 17 2.2.1 Use case Đăng nhập: . 17 1. Tóm tắt: . 17 2. Dòng sự kiện: 17 3. Các yêu cầu đặc biệt: . 18 4. Tình trạng hệ thống trước khi thực hiện Use case: 18 5. Tình trạng hệ thống sau khi thực hiện Use case: . 18 6. Điểm mở rộng: 18 2.2.2 Use case Lập hóa đơn mua hàng: 19 1. Tóm tắt: . 19 2. Dòng sự kiện: 19 3. Các yêu cầu đặc biệt: . 21 4. Tình trạng hệ thống trước khi thực hiện Use case: 21 5. Tình trạng hệ thống sau khi thực hiện Use case: . 21 6. Điểm mở rộng: 21 2.2.3 Use case Quản lý nhập hàng: 22 1. Tóm tắt: . 22 2. Dòng sự kiện: 22 3. Các yêu cầu đặc biệt: . 24 4. Tình trạng hệ thống trước khi thực hiện Use case: 24 5. Tình trạng hệ thống sau khi thực hiện Use case: . 24 6. Điểm mở rộng: 24 2.2.4 Use case Quản lý hàng hóa: . 25 1. Tóm tắt: . 25 2. Dòng sự kiện: 25 3. Các yêu cầu đặc biệt: . 28 4. Tình trạng hệ thống trước khi thực hiện Use case: 28 5. Tình trạng hệ thống sau khi thực hiện Use case: . 28 6. Điểm mở rộng: 28 2.2.5 Use case Quản lý xuất hàng: . 29 1. Tóm tắt: . 29 2. Dòng sự kiện: 29 3. Các yêu cầu đặc biệt: . 31 4. Tình trạng hệ thống trước khi thực hiện Use case: 31 5. Tình trạng hệ thống sau khi thực hiện Use case: . 31 6. Điểm mở rộng: 31 2.2.6 Use case Quản lý nhân viên: 32 1. Tóm tắt: . 32 2. Dòng sự kiện: 32 3. Các yêu cầu đặc biệt: . 35 4. Tình trạng hệ thống trước khi thực hiện Use case: 35 5. Tình trạng hệ thống sau khi thực hiện Use case: . 35 6. Điểm mở rộng: 35 2.2.7 Use case Quản lý nhà cung cấp: . 36 1. Tóm tắt: . 36 2. Dòng sự kiện: 36 3. Các yêu cầu đặc biệt . 39 4. Tình trạng hệ thống trước khi thực hiện Use case 39 5. Tình trạng hệ thống sau khi thực hiện Use case . 39 6. Điểm mở rộng . 39 2.2.8 Use case Lập đơn đặt hàng: . 40 1. Tóm tắt: . 40 2. Dòng sự kiện: 40 3. Các yêu cầu đặc biệt: . 42 4. Tình trạng hệ thống trước khi thực hiện Use case: 42 5. Tình trạng hệ thống sau khi thực hiện Use case: . 42 6. Điểm mở rộng: 42 2.2.9 Use case Quản lý khách hàng: 43 1. Tóm tắt: . 43 2. Dòng sự kiện: 43 3. Các yêu cầu đặc biệt: . 46 4. Tình trạng hệ thống trước khi thực hiện Use case: 46 5. Tình trạng hệ thống sau khi thực hiện Use case: . 46 6. Điểm mở rộng: 46 2.2.10 Use case Lập hóa đơn bán hàng: . 47 1. Tóm tắt: . 47 2. Dòng sự kiện: 47 3. Các yêu cầu đặc biệt: . 49 4. Tình trạng hệ thống trước khi thực hiện Use case: 49 5. Tình trạng hệ thống sau khi thực hiện Use case: . 49 6. Điểm mở rộng: 49 2.2.11 Use case Lập báo cáo: 50 1. Tóm tắt: . 50 2. Dòng sự kiện: 50 3. Các yêu cầu đặc biệt: . 52 4. Tình trạng hệ thống trước khi thực hiện Use case: 52 5. Tình trạng hệ thống sau khi thực hiện Use case: . 52 6. Điểm mở rộng: 52 2.3. Sequence diagram: 2.3.1 Sequence In hóa đơn 2.3.2 Sequence Lập hóa đơn bán hàng 2.4. Collaboration diagram: 2.3.1 Collaboration In hóa đơn 2.3.2 Collaboration Lập hóa đơn bán hàng 2.5. Activity diagram 2.6. Class dỉagram: 2.7. State diagram: 2.7.1 State diagram Tạo hóa đơn 2.7.2 State diagram Hóa đơn sau khi xuất 2.8. Component diagram: Chương 3: ThiẾt kẾ HỆ thỐng QuẢn lý CỬA hàng hoa . 64 3.1 Thiết kế class: 64 3.1.1 Entity: HangHoa - Mô tả thông tin về hàng hóa: 64 3.1.1.1 Danh sách các thuộc tính: 64 3.1.1.2 Danh sách các phương thức: . 64 3.1.2 Entity: CT_HoaDonXuat – Chi tiết hóa đơn xuất: . 65 3.1.2.1 Danh sách các thuộc tính: 65 3.1.2.2 Danh sách các phương thức: 65 3.1.3 Entity: HoaDonXuat – Hóa đơn xuất 66 3.1.3.1 Danh sách các thuộc tính: 66 3.1.3.2 Danh sách các phương thức: 66 3.2 Thiết kế cơ sở dữ liệu: 67 3.3 Thiết Kế Giao Diện: . 68 3.3.1 Màn Hình đăng Nhập: 68 3.3.2 Giao Diện Chính: . 68 3.3.3 Giao diện quản lý bán hàng: 69 3.3.4 Giao diện in hóa đơn: 69 Chương 4: Cài đẶT Chương trình 70 4.1 Môi trường cài đặt: 70 4.2 Các thành phần được dùng trong hệ thống: . 70MỤC LỤCLỜI NÓI ĐẦU 4 BẢNG GHI NHẬN THAY ĐỔI TÀI LIỆU 8 1.2 Khảo sát hiện trạng: 9 1.3 Mô tả hệ thống: 10 1.3.1 Mô tả chung: 10 1.3.2 Mô tả chi tiết: 11 1.4 Xác định chức năng, tác nhân và hồ sơ: 13 CHƯƠNG 2 : VẼ VÀ PHÂN TÍCH CÁC LƯỢC ĐỒ UML 15 2.1 Use case Diagram: 15 2.1.1 Danh sách các actor của mô hình: 15 2.1.2 Danh sách các use case của mô hình: 16 2.2 Phân rã Use case: 17 2.2.1 Use case Đăng nhập: 17 1. Tóm tắt: 17 2. Dòng sự kiện: 17 3. Các yêu cầu đặc biệt: 18 4. Tình trạng hệ thống trước khi thực hiện Use case: 18 5. Tình trạng hệ thống sau khi thực hiện Use case: 18 6. Điểm mở rộng: 18 2.2.2 Use case Lập hóa đơn mua hàng: 19 1. Tóm tắt: 19 2. Dòng sự kiện: 19 3. Các yêu cầu đặc biệt: 21 4. Tình trạng hệ thống trước khi thực hiện Use case: 21 5. Tình trạng hệ thống sau khi thực hiện Use case: 21 6. Điểm mở rộng: 21 2.2.3 Use case Quản lý nhập hàng: 22 1. Tóm tắt: 22 2. Dòng sự kiện: 22 3. Các yêu cầu đặc biệt: 24 4. Tình trạng hệ thống trước khi thực hiện Use case: 24 5. Tình trạng hệ thống sau khi thực hiện Use case: 24 6. Điểm mở rộng: 24 2.2.4 Use case Quản lý hàng hóa: 25 1. Tóm tắt: 25 2. Dòng sự kiện: 25 3. Các yêu cầu đặc biệt: 28 4. Tình trạng hệ thống trước khi thực hiện Use case: 28 5. Tình trạng hệ thống sau khi thực hiện Use case: 28 6. Điểm mở rộng: 28 2.2.5 Use case Quản lý xuất hàng: 29 1. Tóm tắt: 29 2. Dòng sự kiện: 29 3. Các yêu cầu đặc biệt: 31 4. Tình trạng hệ thống trước khi thực hiện Use case: 31 5. Tình trạng hệ thống sau khi thực hiện Use case: 31 6. Điểm mở rộng: 31 2.2.6 Use case Quản lý nhân viên: 32 1. Tóm tắt: 32 2. Dòng sự kiện: 32 3. Các yêu cầu đặc biệt: 35 4. Tình trạng hệ thống trước khi thực hiện Use case: 35 5. Tình trạng hệ thống sau khi thực hiện Use case: 35 6. Điểm mở rộng: 35 2.2.7 Use case Quản lý nhà cung cấp: 36 1. Tóm tắt: 36 2. Dòng sự kiện: 36 3. Các yêu cầu đặc biệt 39 4. Tình trạng hệ thống trước khi thực hiện Use case 39 5. Tình trạng hệ thống sau khi thực hiện Use case 39 6. Điểm mở rộng 39 2.2.8 Use case Lập đơn đặt hàng: 40 1. Tóm tắt: 40 2. Dòng sự kiện: 40 3. Các yêu cầu đặc biệt: 42 4. Tình trạng hệ thống trước khi thực hiện Use case: 42 5. Tình trạng hệ thống sau khi thực hiện Use case: 42 6. Điểm mở rộng: 42 2.2.9 Use case Quản lý khách hàng: 43 1. Tóm tắt: 43 2. Dòng sự kiện: 43 3. Các yêu cầu đặc biệt: 46 4. Tình trạng hệ thống trước khi thực hiện Use case: 46 5. Tình trạng hệ thống sau khi thực hiện Use case: 46 6. Điểm mở rộng: 46 2.2.10 Use case Lập hóa đơn bán hàng: 47 1. Tóm tắt: 47 2. Dòng sự kiện: 47 3. Các yêu cầu đặc biệt: 49 4. Tình trạng hệ thống trước khi thực hiện Use case: 49 5. Tình trạng hệ thống sau khi thực hiện Use case: 49 6. Điểm mở rộng: 49 2.2.11 Use case Lập báo cáo: 50 1. Tóm tắt: 50 2. Dòng sự kiện: 50 3. Các yêu cầu đặc biệt: 52 4. Tình trạng hệ thống trước khi thực hiện Use case: 52 5. Tình trạng hệ thống sau khi thực hiện Use case: 52 6. Điểm mở rộng: 52 2.3. Sequence diagram: 2.3.1 Sequence In hóa đơn 2.3.2 Sequence Lập hóa đơn bán hàng 2.4. Collaboration diagram: 2.3.1 Collaboration In hóa đơn 2.3.2 Collaboration Lập hóa đơn bán hàng 2.5. Activity diagram 2.6. Class dỉagram: 2.7. State diagram: 2.7.1 State diagram Tạo hóa đơn 2.7.2 State diagram Hóa đơn sau khi xuất 2.8. Component diagram: CHƯƠNG 3: THIẾT KẾ HỆ THỐNG QUẢN LÝ CỬA HÀNG HOA 64 3.1 Thiết kế class: 64 3.1.1 Entity: HangHoa - Mô tả thông tin về hàng hóa: 64 3.1.1.1 Danh sách các thuộc tính: 64 3.1.1.2 Danh sách các phương thức: 64 3.1.2 Entity: CT_HoaDonXuat – Chi tiết hóa đơn xuất: 65 3.1.2.1 Danh sách các thuộc tính: 65 3.1.2.2 Danh sách các phương thức: 65 3.1.3 Entity: HoaDonXuat – Hóa đơn xuất 66 3.1.3.1 Danh sách các thuộc tính: 66 3.1.3.2 Danh sách các phương thức: 66 3.2 Thiết kế cơ sở dữ liệu: 67 3.3 Thiết Kế Giao Diện: 68 3.3.1 Màn Hình đăng Nhập: 68 3.3.2 Giao Diện Chính: 68 3.3.3 Giao diện quản lý bán hàng: 69 3.3.4 Giao diện in hóa đơn: 69 CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH 70 4.1 Môi trường cài đặt: 70 4.2 Các thành phần được dùng trong hệ thống: 70

doc68 trang | Chia sẻ: lvcdongnoi | Lượt xem: 5947 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề tài Hệ thống quản lý cửa hàng hóa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC SÀI GÒN KHOA CÔNG NGHỆ THÔNG TIN Version 3.0 GVHD : Cô Phan Thị Kim Loan Nhóm SV thực hiện : 1 - Hồ Văn Thơm - MSSV : 3108410210 2 - Nguyễn Thanh Trúc - MSSV : 3108410238 3 - Trần Thị Mỹ Linh - MSSV : 3108410105 4 - Lê Thanh Phong - MSSV : 3108410149 Tháng 5/2011 Lời nói đầu Trong những năm trở lại đây, với sự phát triển mạnh mẽ của công nghệ thông tin. Với việc hỗ trợ của công nghệ thông tin thì mọi ngành kinh doanh đều phát triển theo và giải quyết được rất nhiều khó khăn và việc kinh doanh cũng trở nên dễ dàng và thuận tiện hơn. Vì vậy tại các cửa hàng thì việc áp dụng công nghệ thông tin cũng sẽ giúp ích rất nhiều và giải quyết mọi vấn đề khó khăn phát sinh trong việc quản lý hàng hóa, thống kê lượng hàng tồn, xuất hóa đơn giúp việc bán hàng trở nên nhanh chóng, chính xác và chuyên nghiệp. Đặc biệt lĩnh vực phân tích thiết kế hệ thống là một phần quan trọng của ngành công nghệ thông tin. Nhờ có ngành này mà mọi vấn đề liên quan đến hệ thống được quản lý đơn giản, nhanh chóng và chặt chẽ hơn. Chúng em xin báo cáo đề tài quản lý Cửa hàng hoa. Cùng với nhu cầu muốn tìm hiểu các vấn đề về quá trình quản lý cửa hàng, từ đó vận dụng bài học phân tích và thiết kế hướng đối tượng trong học phần này, chúng em đã thực hiện đồ án “Hệ Thống Quản Lý Cửa hàng hoa”. Chúng em xin chân thành cảm ơn cô rất nhiều vì cô đã nhiệt tình giúp đỡ cho chúng em trong suốt quá trình học tập để chúng em có thể hoàn thành đồ án một cách tốt nhất. Tuy nhiên, đồ án của chúng em không thể tránh khỏi những thiếu sót, mong cô thông cảm và góp ý thêm cho chúng em. Chúng em xin chân thành cảm ơn cô. MỤC LỤC Bảng ghi nhận thay đổi tài liệu Ngày Phiên bản Mô tả Tác giả 19/05/2011 1.0 Xây dựng tài liệu Thơm - Trúc - Linh - Phong 21/05/2011 2.0 Cập nhật, hiệu chỉnh tài liệu Thơm - Trúc - Linh - Phong 22/05/2011 3.0 Sửa đổi, hoàn thành tài liệu Thơm - Trúc - Linh - Phong Chương 1 : Phân tích yêu cầu 1.1 Giới thiệu chung: Cửa hàng hoa ABC chuyên kinh doanh các loại hoa tươi (hoa hồng đủ loại, hoa lan, hoa cúc, hoa huệ, hoa li, hoa lay-ơn…) được lựa chọn từ những bông hoa đẹp và tươi nhất tại các nhà cung cấp uy tín. Cửa hàng hoa chúng tôi hân hạnh đón chào quý khách hàng tới đặt hàng và mua hàng. Cửa hàng sẽ chính thức khai trương vào ngày 22/5/2011 và có nhiều phần quà hấp dẫn cho những khách hàng mua đầu tiên. Cửa hàng chúng tôi buôn bán với tiêu chí giá cả phải chăng, hàng hóa chất lượng sẽ làm cho quý khách hài lòng và trở thành khách hàng thân thiết của chúng tôi. 1.2 Khảo sát hiện trạng: Cửa hàng hoa ABC là một doanh nghiệp mới thành lập, các mặt hàng kinh doanh là các loại hoa tươi. Là một doanh nghiệp mới thành lập nên hoạt động chủ yếu vẫn mang tính thủ công, dựa vào kinh nghiệm của hệ thống nhân viên là chính. Do lượng hàng hóa nhập xuất ngày càng lớn nên công tác quản lý, mua bán rất mất thời gian và công sức, đôi khi không chính xác làm thiệt hại cho cửa hàng. Ngày nay cửa hàng đang từng bước hiện đại hóa hệ thống, đưa hệ thống phần mềm vào sử dụng để dần thay thế công tác quản lý thủ công. Từ đó đã giúp cho việc quản lý cửa hàng trở nên nhanh chóng, dễ dàng và đạt độ chính xác cao, sau đây là các ưu điểm khi cửa hàng sử dụng phần mềm quản lý: - Giảm khối lượng ghi chép, đảm bảo truy vấn nhanh, lưu trữ và cập nhật kịp thời, thuận tiện. - Lập báo cáo định kỳ, đột xuất nhanh chóng và chính xác. - Tự động in hóa đơn, phiếu nhập xuất kho. - Thống kê được từng loại hàng nhất là số lượng tồn kho để phục vụ cho việc mua bán. - Có khả năng lưu trữ thông tin lâu dài. 1.3 Mô tả hệ thống: 1.3.1 Mô tả chung: Hoạt động của cửa hàng diễn ra chủ yếu qua 2 quá trình: 1/ Quá trình nhập hàng: quá trình này chủ yếu do nhân viên quản lý thực hiện. - Khi cửa hàng cần thêm nguồn hàng, Quản lý sẽ liên hệ với nhà cung cấp để yêu cầu báo giá về mặt hàng và tiến hành mua hàng từ nhà cung cấp. Sau khi đồng ý, Quản lý cửa hàng sẽ tiến hành lập hợp đồng mua hàng với nhà cung cấp. - Khi nhận hàng, Quản lý cửa hàng sẽ tiến hành kiểm tra hàng, nếu khớp với hợp đồng mua hàng thì lập hóa đơn mua hàng và tiến hành lập phiếu nhập hàng để cập nhật danh mục hàng vào sổ hàng hóa. - Bên cạnh đó, Quản lý cửa hàng cũng quản lý thông tin của nhân viên cửa hàng và thông tin của nhà cung cấp. 2/ Quá trình bán hàng: quá trình này chủ yếu do nhân viên bán hàng thực hiện. - Khi khách hàng tới cửa hàng và muốn mua hàng, nhân viên bán hàng sẽ giới thiệu sản phẩm và giá cả cho khách hàng biết. - Nếu đồng ý mua hàng, nhân viên bán hàng tiến hành lập đơn đặt hàng hoặc hóa đơn bán hàng cho khách tùy theo 2 trường hợp sau: + Nếu khách hàng yêu cầu đặt hàng thì nhân viên bán hàng sẽ lập đơn đặt hàng cho khách hàng và hẹn ngày giao hàng cho khách. + Nếu khách hàng mua hàng và chọn thanh toán liền thì nhân viên bán hàng sẽ lập hóa đơn bán hàng cho khách. Nhân viên bán hàng sẽ tiến hành kiểm tra lượng hàng tồn kho. Đối với trường hợp không đủ số lượng mà khách hàng yêu cầu thì nhân viên phản hồi với khách hàng để khách hàng thay đổi số lượng hoặc giải quyết theo trường hợp 1 để hẹn ngày giao hàng cho khách khi có đủ nguồn hàng. - Nếu khách hàng chọn hình thức lập đơn đặt hàng, nhân viên bán hàng sẽ cập nhật thông tin khách hàng vào sổ khách hàng. - Nhân viên bán hàng sẽ gửi hóa đơn bán hàng đến quản lý cửa hàng để quản lý lập phiếu xuất hàng. Sau đó, nhân viên bán hàng tiến hành lấy hàng giao cho khách. - Cuối ngày nhân viên bán hàng thống kê lại doanh thu trong ngày để tiến hành báo cáo với quản lý cửa hàng. 1.3.2 Mô tả chi tiết: 1. Yêu cầu báo giá: Khi có yêu cầu Nhà cung cấp sẽ gửi báo giá tới cửa hàng hoa ABC để quản lý cửa hàng tìm hiểu và chọn loại hàng phù hợp để nhập cho cửa hàng. Quản lý cửa hàng có thể gọi điện trực tiếp để biết về thông tin hàng hóa và giá cả từ nhà cung cấp đưa ra. 2. Lập hợp đồng mua hàng: Sau khi đã thống nhất về chủng loại mặt hàng, số lượng và giá cả. Quản lý cửa hàng ký hợp đồng mua hàng với nhà cung cấp. 3. Kiểm tra hàng: Sau khi nhà cung cấp giao hàng đến cửa hàng hoa ABC, quản lý trực tiếp kiểm tra hàng, đối chiếu hàng nhận với hợp đồng mua hàng về chủng loại, số lượng, mẫu mã… 4. Lập hóa đơn mua hàng: Nếu hàng hóa kiểm tra đủ, quản lý cửa hàng sẽ lập hóa đơn mua hàng và thanh toán với Nhà cung cấp. 5. Lập phiếu nhập hàng: Quản lý cửa hàng sau khi nhận đủ nguồn hàng sẽ chuyển hàng vào kho và lập phiếu nhập hàng. 6. Cập nhật danh mục hàng: Quản lý cửa hàng phải cập nhật lại danh mục hàng ngay sau khi cho hàng vào kho để nhân viên bán hàng dễ kiểm tra tồn kho khi bán hàng. 7. Quản lý thông tin nhân viên: Quản lý cửa hàng cũng phải quản lý họ tên, địa chỉ, số điện thoại, năm sinh… của nhân viên cửa hàng. 8. Quản lý thông tin nhà cung cấp: Quản lý cửa hàng cũng phải quản lý các thông tin như họ tên, địa chỉ, số điện thoại… của nhà cung cấp để tiện liên lạc khi có nhu cầu mua hàng. 9. Giới thiệu sản phẩm và giá cả: Khi khách hàng tới cửa hàng mua hàng hoặc gọi điện tới cửa hàng, nhân viên bán hàng phải giới thiệu thông tin về các loại hoa cũng như giá cả cho khách hàng biết. 10. Lập đơn đặt hàng: Khi khách hàng yêu cầu đặt hàng hoặc khi không đủ số lượng nguồn hàng, nhân viên bán hàng sẽ lập đơn đặt hàng theo yêu cầu của khách hàng. 11. Cập nhật thông tin khách hàng: Nếu khách hàng đặt hàng tại cửa hàng thì nhân viên bán hàng sẽ lưu lại các thông tin của khách hàng như họ tên, địa chỉ, số điện thoại… để dễ dàng giao hoa khi có yêu cầu. 12. Kiểm tra lượng hàng tồn kho: Trong quá trình tạo hóa đơn bán hàng cho khách hàng, nhân viên bán hàng phải kiểm tra lại mặt hàng còn hay thiếu. Đa phần thì cửa hàng luôn có đủ hàng để cung cấp cho khách hàng vì quản lý cửa hàng cập nhật thường xuyên hàng hóa và yêu cầu nhập hàng liên tục từ nhà cung cấp nên không xảy ra tình trạng thiếu hàng. Đối với trường hợp thiếu hàng, thì nhân viên sẽ phản hồi với khách hàng để thương lượng về mặt số lượng hàng hoặc chờ tới khi nào có hàng. 13. Lập hóa đơn bán hàng: Nếu đã kiểm tra đủ số lượng nguồn hàng khách hàng yêu cầu, nhân viên sẽ lập hóa đơn bán hàng và báo tổng giá tiền với khách hàng. 14. Lập phiếu xuất hàng: Quản lý cửa hàng sẽ căn cứ vào hóa đơn để lập phiếu xuất kho, lúc này nhân viên bán hàng có thể lấy hàng và giao cho khách. 15. Báo cáo: Cuối ngày, nhân viên bán hàng phải kiểm tra lại tất cả các giao dịch bán hàng của ngày hôm đó, thống kê được những mặt hàng nào bán ra, số lượng bao nhiêu, doanh thu bao nhiêu. Tổng doanh thu của ngày hôm đó được bao nhiêu và thống kê được lãi suất của cả ngày hôm đó. 1.4 Xác định chức năng, tác nhân và hồ sơ: Dựa vào các phân tích yêu cầu về hệ thống như trên, có thể xác định được các chức năng, tác nhân và hồ sơ như sau: Stt Chức năng Tác nhân Hồ sơ Tin học hóa Được Không 1 Yêu cầu báo giá - Quản lý x 2 Lập hợp đồng mua hàng - Quản lý - Nhà CC x 3 Kiểm tra hàng - Quản lý x 4 Lập hóa đơn mua hàng - Quản lý Hóa đơn mua hàng x 5 Lập phiếu nhập hàng - Quản lý Phiếu nhập hàng x 6 Cập nhật danh mục hàng - Quản lý Sổ hàng hóa x 7 Quản lý thông tin nhân viên - Quản lý Sổ nhân viên x 8 Quản lý thông tin nhà cung cấp - Quản lý Sổ nhà cung cấp x 9 Giới thiệu sản phẩm và giá cả - NV bán hàng - Khách hàng x 10 Lập đơn đặt hàng - NV bán hàng Đơn đặt hàng x 11 Cập nhật thông tin khách hàng - NV bán hàng Sổ khách hàng x 12 Kiểm tra lượng hàng tồn kho - NV bán hàng Sổ hàng hóa x 13 Lập hóa đơn bán hàng - NV bán hàng Hóa đơn bán hàng x 14 Lập phiếu xuất hàng - Quản lý Phiếu xuất hàng x 15 Báo cáo - NV bán hàng x Chương 2 : Vẽ và phân tích các lược đồ UML của hệ thống Quản lý cửa hàng hoa 2.1 Use case Diagram: Hình 1: Use case chính của hệ thống 2.1.1 Danh sách các actor của mô hình: Stt Actor Ý nghĩa 1 NV Quan Ly Nhân viên quản lý 2 NV Ban Hang Nhân viên bán hàng 2.1.2 Danh sách các use case của mô hình: Stt Use case Ý nghĩa 1 DangNhap Đăng nhập 2 LapHoaDonMuaHang Lập hóa đơn mua hàng 3 QuanLyNhapHang Quản lý nhập hàng 4 QuanLyHangHoa Quản lý hàng hóa 5 QuanLyXuatHang Quản lý xuất hàng 6 QuanLyNhanVien Quản lý nhân viên 7 QuanLyNCC Quản lý nhà cung cấp 8 LapDonDatHang Lập đơn đặt hàng 9 QuanLyKhachHang Quản lý khách hàng 10 LapHoaDonBanHang Lập hóa đơn bán hàng 11 LapBaoCao Lập báo cáo 2.2 Phân rã Use case: 2.2.1 Use case Đăng nhập: Hình 1.1: Use case Đăng nhập 1. Tóm tắt: Use case này mô tả cách một người dùng đăng nhập vào hệ thống quản lý cửa hàng hoa. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi một actor muốn đăng nhập vào hệ thống quản lý cửa hàng hoa. 1. Hệ thống yêu cầu actor nhập tên và mật khẩu. 2. Actor nhập tên và mật khẩu. 3. Hệ thống kiểm chứng tên và mật khẩu được nhập và cho phép actor đăng nhập vào hệ thống. 2.2 Các dòng sự kiện khác: 2.2.1 Tên/Mật khẩu sai: Nếu trong Dòng sự kiến chính, actor nhập sai tên và mật khẩu, hệ thống sẽ hiển thị một thông báo lỗi. Actor có thể trở về đầu của Dòng sự kiện chính hoặc hủy bỏ việc đăng nhập, lúc này use case kết thúc. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: Không có. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, actor lúc này đã đăng nhập vào hệ thống. Nếu không trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.2.2 Use case Lập hóa đơn mua hàng: Hình 1.2: Use case Lập hóa đơn mua hàng 1. Tóm tắt: Use case này cho phép nhân viên quản lý tạo hóa đơn mua hàng trong hệ thống quản lý cửa hàng hoa. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi NV quản lý muốn tạo 1 hóa đơn mua hàng trong hệ thống. 1. Hệ thống yêu cầu NV quản lý chọn yêu cầu trên màn hình. 2. NV quản lý chọn “Tạo hóa đơn” 3. Hệ thống yêu cầu nhập thông tin chi tiết hóa đơn (Mã hóa đơn được hệ thống cập nhật tự động). 3. NV quản lý nhập các thông tin hóa đơn (Tên hàng hóa, Số lượng). 4. NV quản lý nhấn chọn “Thêm”. 5. Nếu điều kiện nhập của NV quản lý là hợp lệ, hệ thống sẽ thực hiện việc thêm 1 hàng trong danh sách hóa đơn. - Lúc này sẽ phát sinh những luồng sự kiện sau: 2.1.1 “Thêm chi tiết hóa đơn” để tiếp tục thêm hàng hóa vào hóa đơn hàng: 1. NV quản lý nhập các thông tin hóa đơn (Tên hàng hóa, Số lượng). 2. NV quản lý nhấn chọn “Thêm”. 3. Nếu điều kiện nhập của NV quản lý là hợp lệ, hệ thống sẽ thực hiện việc thêm 1 hàng trong danh sách hóa đơn và cập nhật lại số lượng hàng hóa trong sổ hàng hóa. 2.1.2 “Xóa chi tiết hóa đơn”: 1. NV quản lý chọn 1 hàng hóa muốn xóa khỏi danh sách hóa đơn, nhấp chuột phải và chọn “Xóa”. 2. Hệ thống hiển thị nhắc nhở có chắc muốn xóa hay không. 3. NV quản lý chấp nhận xóa. 4. Hệ thống tiến hành xóa hàng hóa đó ra khỏi danh sách. 2.1.3 “Hoàn tất hóa đơn”: 1. Sau khi chọn thêm 1 hay nhiều loại mặt hàng, NV quản lý chọn “Hoàn thành”. 2. Hệ thống tiến hành lưu hóa đơn và sẽ cập nhật lại mã hóa đơn trong lần tạo hóa đơn lần sau. 2.1.4 “In hóa đơn”: 1. Sau khi chọn thêm 1 hay nhiều loại mặt hàng, NV quản lý chọn “In hóa đơn”. 2. Hệ thống xuất ra bảng hóa đơn. 2.2 Các dòng sự kiện khác: 2.2.1 Không chấp nhận xóa: Nếu trong luồng sự kiện 2.1.2, NV quản lý không đồng ý xóa hàng hóa nữa, thao tác xóa bị hủy, các luồng sự kiện sẽ bắt đầu lại từ đầu. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: NV quản lý phải đăng nhập dưới quyền Quản lý vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, thông tin hóa đơn mua hàng sẽ được lưu vào hệ thống. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.2.3 Use case Quản lý nhập hàng: Hình 1.3: Use case Quản lý nhập hàng 1. Tóm tắt: Use case này cho phép nhân viên quản lý lập phiếu nhập hàng trên cơ sở hóa đơn mua hàng đã tạo. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi nhân viên quản lý muốn lập 1 phiếu nhập hàng trong hệ thống. 1. Hệ thống yêu cầu NV quản lý chọn yêu cầu trên màn hình. - Lúc này, xảy ra các luồng sự kiện sau: 2.1.1 “Lập phiếu nhập hàng”: 1. Hệ thống yêu cầu NV quản lý nhập thông tin về “Mã hóa đơn”. 2. NV quản lý nhập “Mã hóa đơn” muốn tạo ra phiếu nhập hàng và chọn “Lập phiếu nhập hàng”. 3. Hệ thống tạo phiếu nhập hàng dựa vào thông tin của hóa đơn mua hàng mà NV quản lý đã chọn “Mã hóa đơn”. 2.1.2 “Tìm kiếm phiếu nhập hàng”: 1. NV quản lý chọn “Tìm kiếm phiếu nhập hàng”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin muốn tìm. 3. Nếu NV quản lý nhập các thông tin hợp lệ, hệ thống tìm kiếm và hiển thị ra phiếu nhập hàng cần tìm. 2.1.3 “In phiếu nhập hàng”: 2.1.3a In phiếu nhập hàng không dùng chức năng tìm kiếm: 1. NV quản lý chọn phiếu nhập hàng muốn in ra. 2. NV quản lý chọn “In phiếu nhập hàng”. 3. Hệ thống xuất ra chi tiết phiếu nhập hàng. 2.1.3b In phiếu nhập hàng kèm theo chức năng tìm kiếm: - Lập lại bước 1, 2, 3 trong luồng 2.1.2. - NV quản lý chọn “In phiếu nhập hàng”. - Hệ thống xuất ra chi tiết phiếu nhập hàng muốn in. 2.2 Các dòng sự kiện khác: 2.2.1 Không tìm thấy hóa đơn: Nếu trong luồng sự kiện 2.1.1 không tồn tại hóa đơn mua hàng nào thì hệ thống sẽ xuất ra câu thông báo “Không tìm thấy hóa đơn”. NV quản lý có thể nhập thông tin mã hóa đơn khác hoặc hủy bỏ thao tác, lúc này use case kết thúc. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: NV quản lý phải đăng nhập dưới quyền Quản lý vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, thông tin phiếu nhập hàng được tạo mới trong hệ thống. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.2.4 Use case Quản lý hàng hóa: Hình 1.4: Use case Quản lý Hàng hóa 1. Tóm tắt: Use case này cho phép nhân viên quản lý duy trì thông tin hàng hóa trong hệ thống quản lý hàng hóa. Bao gồm thêm hàng hóa, xóa hàng hóa, cập nhật hàng hóa và tìm kiếm hàng hóa. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi nhân viên quản lý muốn thêm, thay đổi, xóa hay tìm kiếm hàng hóa trong hệ thống. 1. Hệ thống yêu cầu NV quản lý chọn chức năng muốn thực hiện (Thêm hàng hóa/Sửa hàng hóa/Tìm kiếm hàng hóa/Xóa hàng hóa). - Lúc này, xảy ra các luồng sự kiện sau: 2.1.1 “Thêm hàng hóa”: 1. NV quản lý chọn “Thêm hàng hóa”. 2. Hệ thống yêu cầu NV quản lý nhập vào các thông tin của hàng hóa (Mã hàng hóa, Tên hàng hóa, Số lượng, đơn giá, giá bán, nhà cung cấp, ngày nhập hàng) 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hàng hóa này được lưu vào hệ thống. 2.1.2 “Sửa hàng hóa”: 2.1.2a NV quản lý trực tiếp chọn hàng hóa cần sửa: 1. NV quản lý chọn 1 hàng hóa cần sửa thông tin. 2. NV quản lý chọn “Sửa hàng hóa”. 3. Hệ thống hiển thị thông tin hàng hóa qua bảng sửa chữa. 4. NV quản lý chỉnh sửa các thông tin của hàng hóa, nếu điều kiện nhập là hợp lệ thì hàng hóa được lưu vào hệ thống. 2.1.2b NV quản lý dùng công cụ tìm kiếm để sửa hàng hóa: 1. NV quản lý chọn “Tìm kiếm hàng hóa”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm hàng hóa. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin tìm kiếm. - Lập lại 4 bước ở phần 2.1.2a 2.1.3 “Tìm kiếm hàng hóa”: 1. NV quản lý chọn “Tìm kiếm hàng hóa”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm hàng hóa. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin hàng hóa được tìm kiếm. 2.1.4 “Xóa hàng hóa”: 2.1.4a NV quản lý trực tiếp chọn hàng hóa muốn xóa: 1. NV quản lý chọn 1 hàng hóa muốn xóa. 2. NV quản lý chọn “Xóa hàng hóa”. 3. Hệ thống hiển thị câu thông báo xác nhận NV quản lý có muốn xóa không ? 4. NV quản lý chấp nhận, hàng hóa sẽ bị xóa khỏi hệ thống. 2.1.4b NV quản lý dùng công cụ tìm kiếm để xóa hàng hóa: 1. NV quản lý chọn “Tìm kiếm hàng hóa”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm hàng hóa. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin tìm kiếm. - Lập lại 4 bước ở phần 2.1.4a 2.2 Các dòng sự kiện khác: 2.2.1 Không tìm thấy hàng hóa: Nếu trong luồng sự kiện 2.1.2b/2.1.4.b/2.1.3 không tồn tại hàng hóa nào thì hệ thống sẽ xuất ra câu thông báo “Không tìm thấy hàng hóa”. NV quản lý có thể nhập thông tin tìm kiếm khác hoặc hủy bỏ thao tác, lúc này use case kết thúc. 2.2.2 Không chấp nhận xóa: Nếu trong luồng sự kiện 2.1.4, NV quản lý không đồng ý xóa hàng hóa nữa, thao tác xóa bị hủy, dòng sự kiện chính được bắt đầu lại từ đầu. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: NV quản lý phải đăng nhập dưới quyền Quản lý vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, thông tin hàng hóa được thêm, cập nhật hoặc xóa hàng hóa khỏi hệ thống. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.2.5 Use case Quản lý xuất hàng: Hình 1.5: Use case Quản lý Xuất hàng 1. Tóm tắt: Use case này cho phép nhân viên quản lý lập phiếu xuất hàng trên cơ sở hóa đơn bán hàng đã tạo. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi nhân viên quản lý muốn lập 1 phiếu xuất hàng trong hệ thống. 1. Hệ thống yêu cầu NV quản lý chọn yêu cầu trên màn hình. - Lúc này, xảy ra các luồng sự kiện sau: 2.1.1 “Lập phiếu xuất hàng”: 1. Hệ thống yêu cầu NV quản lý nhập thông tin về “Mã hóa đơn”. 2. NV quản lý nhập “Mã hóa đơn” muốn tạo ra phiếu xuất hàng và chọn “Lập phiếu xuất hàng”. 3. Hệ thống tạo phiếu xuất hàng dựa vào thông tin của hóa đơn bán hàng mà NV quản lý đã chọn “Mã hóa đơn”. 2.1.2 “Tìm kiếm phiếu xuất hàng”: 1. NV quản lý chọn “Tìm kiếm phiếu xuất hàng”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin muốn tìm. 3. Nếu NV quản lý nhập các thông tin hợp lệ, hệ thống tìm kiếm và hiển thị ra phiếu xuất hàng cần tìm. 2.1.3 “In phiếu xuất hàng”: 2.1.3a In phiếu xuất hàng không dùng chức năng tìm kiếm: 1. NV quản lý chọn phiếu xuất hàng muốn in ra. 2. NV quản lý chọn “In phiếu xuất hàng”. 3. Hệ thống xuất ra chi tiết phiếu xuất hàng. 2.1.3b In phiếu xuất hàng kèm theo chức năng tìm kiếm: - Lập lại bước 1, 2, 3 trong luồng 2.1.2. - NV quản lý chọn “In phiếu xuất hàng”. - Hệ thống xuất ra chi tiết phiếu xuất hàng muốn in. 2.2 Các dòng sự kiện khác: 2.2.1 Không tìm thấy hóa đơn: Nếu trong luồng sự kiện 2.1.1 không tồn tại hóa đơn mua hàng nào thì hệ thống sẽ xuất ra câu thông báo “Không tìm thấy hóa đơn”. NV quản lý có thể nhập thông tin mã hóa đơn khác hoặc hủy bỏ thao tác, lúc này use case kết thúc. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: NV quản lý phải đăng nhập dưới quyền Quản lý vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, thông tin phiếu xuất hàng được tạo mới trong hệ thống. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.2.6 Use case Quản lý nhân viên: Hình 1.6: Use case Quản lý Nhân viên 1. Tóm tắt: Use case này cho phép nhân viên quản lý duy trì thông tin nhân viên trong hệ thống quản lý nhân viên. Bao gồm thêm nhân viên, xóa nhân viên, cập nhật nhân viên và tìm kiếm nhân viên. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi nhân viên quản lý muốn thêm, thay đổi, xóa hay tìm kiếm nhân viên trong hệ thống. 1. Hệ thống yêu cầu NV quản lý chọn chức năng muốn thực hiện (Thêm nhân viên /Sửa nhân viên /Tìm kiếm nhân viên /Xóa nhân viên). - Lúc này, xảy ra các luồng sự kiện sau: 2.1.1 “Thêm nhân viên”: 1. NV quản lý chọn “Thêm nhân viên”. 2. Hệ thống yêu cầu NV quản lý nhập vào các thông tin của nhân viên (Tên nhân viên, giới tính, Ngày sinh, Địa chỉ, Số điện thoại, Chức vụ, Trình độ), Hệ thống sẽ tự động cập nhật Mã nhân viên trong quá trình Thêm nhân viên mới. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì nhân viên này được lưu vào hệ thống. 2.1.2 “Sửa nhân viên”: 2.1.2a NV quản lý trực tiếp chọn nhân viên cần sửa: 1. NV quản lý chọn 1 nhân viên cần sửa thông tin. 2. NV quản lý chọn “Sửa nhân viên”. 3. Hệ thống hiển thị thông tin nhân viên qua bảng sửa chữa. 4. NV quản lý chỉnh sửa các thông tin của nhân viên, nếu điều kiện nhập là hợp lệ thì nhân viên được lưu vào hệ thống. 2.1.2b NV quản lý dùng công cụ tìm kiếm để sửa nhân viên: 1. NV quản lý chọn “Tìm kiếm nhân viên”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm nhân viên. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin tìm kiếm. - Lập lại 4 bước ở phần 2.1.2a 2.1.3 “Tìm kiếm nhân viên”: 1. NV quản lý chọn “Tìm kiếm nhân viên”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm nhân viên. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin nhân viên được tìm kiếm. 2.1.4 “Xóa nhân viên”: 2.1.4a NV quản lý trực tiếp chọn nhân viên muốn xóa: 1. NV quản lý chọn 1 nhân viên muốn xóa. 2. NV quản lý chọn “Xóa nhân viên”. 3. Hệ thống hiển thị câu thông báo xác nhận NV quản lý có muốn xóa không ? 4. NV quản lý chấp nhận, nhân viên sẽ bị xóa khỏi hệ thống. 2.1.4b NV quản lý dùng công cụ tìm kiếm để xóa nhân viên: 1. NV quản lý chọn “Tìm kiếm nhân viên”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm nhân viên. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin tìm kiếm. - Lập lại 4 bước ở phần 2.1.4a 2.2 Các dòng sự kiện khác: 2.2.1 Không tìm thấy nhân viên: Nếu trong luồng sự kiện 2.1.2b/2.1.4.b/2.1.3 không tồn tại nhân viên nào thì hệ thống sẽ xuất ra câu thông báo “Không tìm thấy nhân viên”. NV quản lý có thể nhập thông tin tìm kiếm khác hoặc hủy bỏ thao tác, lúc này use case kết thúc. 2.2.2 Không chấp nhận xóa: Nếu trong luồng sự kiện 2.1.4, NV quản lý không đồng ý xóa nhân viên nữa, thao tác xóa bị hủy, dòng sự kiện chính được bắt đầu lại từ đầu. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: NV quản lý phải đăng nhập dưới quyền Quản lý vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, thông tin nhân viên được thêm, cập nhật hoặc xóa hàng hóa khỏi hệ thống. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.2.7 Use case Quản lý nhà cung cấp: Hình 1.7: Use case Quản lý Nhà cung cấp 1. Tóm tắt: Use case này cho phép NV quản lý duy trì thông tin NCC trong hệ thống quản lý NCC. Bao gồm thêm NCC, xóa NCC, cập nhật NCC và tìm kiếm NCC. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi NV quản lý muốn thêm, thay đổi, xóa hay tìm kiếm NCC trong hệ thống. 1. Hệ thống yêu cầu NV quản lý chọn chức năng muốn thực hiện (Thêm NCC /Sửa NCC /Tìm kiếm NCC /Xóa NCC). - Lúc này, xảy ra các luồng sự kiện sau: 2.1.1 “Thêm NCC”: 1. NV quản lý chọn “Thêm NCC”. 2. Hệ thống yêu cầu NV quản lý nhập vào các thông tin của NCC (Tên NCC, Địa chỉ, Số điện thoại, Email), Hệ thống sẽ tự động cập nhật Mã NCC trong quá trình Thêm NCC mới. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì NCC này được lưu vào hệ thống. 2.1.2 “Sửa NCC”: 2.1.2a NV quản lý trực tiếp chọn NCC cần sửa: 1. NV quản lý chọn 1 NCC cần sửa thông tin. 2. NV quản lý chọn “Sửa NCC”. 3. Hệ thống hiển thị thông tin NCC qua bảng sửa chữa. 4. NV quản lý chỉnh sửa các thông tin của NCC, nếu điều kiện nhập là hợp lệ thì NCC được lưu vào hệ thống. 2.1.2b NV quản lý dùng công cụ tìm kiếm để sửa NCC: 1. NV quản lý chọn “Tìm kiếm NCC”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm NCC. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin tìm kiếm. - Lập lại 4 bước ở phần 2.1.2a 2.1.3 “Tìm kiếm NCC”: 1. NV quản lý chọn “Tìm kiếm NCC”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm NCC. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin NCC được tìm kiếm. 2.1.4 “Xóa NCC”: 2.1.4a NV quản lý trực tiếp chọn NCC muốn xóa: 1. NV quản lý chọn 1 NCC muốn xóa. 2. NV quản lý chọn “Xóa NCC”. 3. Hệ thống hiển thị câu thông báo xác nhận NV quản lý có muốn xóa không ? 4. NV quản lý chấp nhận, NCC sẽ bị xóa khỏi hệ thống. 2.1.4b NV quản lý dùng công cụ tìm kiếm để xóa NCC: 1. NV quản lý chọn “Tìm kiếm NCC”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm NCC. 3. Sau khi NV quản lý cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin tìm kiếm. - Lập lại 4 bước ở phần 2.1.4a 2.2 Các dòng sự kiện khác: 2.2.1 Không tìm thấy NCC: Nếu trong luồng sự kiện 2.1.2b/2.1.4.b/2.1.3 không tồn tại NCC nào thì hệ thống sẽ xuất ra câu thông báo “Không tìm thấy NCC”. NV quản lý có thể nhập thông tin tìm kiếm khác hoặc hủy bỏ thao tác, lúc này use case kết thúc. 2.2.2 Không chấp nhận xóa: Nếu trong luồng sự kiện 2.1.4, NV quản lý không đồng ý xóa NCC nữa, thao tác xóa bị hủy, dòng sự kiện chính được bắt đầu lại từ đầu. 3. Các yêu cầu đặc biệt Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case NV quản lý phải đăng nhập dưới quyền Quản lý vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case Nếu use case thành công, thông tin NCC được thêm, cập nhật hoặc xóa hàng hóa khỏi hệ thống. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng Không có. 2.2.8 Use case Lập đơn đặt hàng: Hình 1.8: Use case Lập đơn đặt hàng 1. Tóm tắt: Use case này cho phép nhân viên bán hàng lập đơn đặt hàng cho khách hàng. Ngoài ra use case còn cho phép nhân viên bán hàng xem thông tin khách hàng trước khi lập đơn đặt hàng cho khách và In đơn đặt hàng cho khách hàng. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case bắt đầu khi nhân viên bán hàng nhận thông tin đặt hàng từ khách hàng và lập đơn đặt hàng cho khách hàng. Bao gồm Tạo đơn đặt hàng, In đơn đặt hàng và tra cứu thông tin khách hàng đã được lưu trong hệ thống. 1. Hệ thống yêu cầu NV bán hàng chọn chức năng muốn thực hiện. - Lúc này, xảy ra các luồng sự kiện sau: 2.1.1 “Lập đơn đặt hàng”: 1. Hệ thống yêu cầu NV bán hàng nhập các thông tin vào đơn đặt hàng. (Mã đơn đặt hàng do hệ thống tự động cập nhật) - Thông tin khách hàng (Tên khách hàng, địa chỉ, số điện thoại...) - Nội dung đặt hàng (Mã hàng hóa, Tên hàng hóa, số lượng). - Thời gan giao hàng - Địa điểm giao hàng 2. NV nhập thông tin cho phần “Thông tin khách hàng” 2a. Tra cứu từ danh sách khách hàng Nếu là khách hàng cũ, NV bán hàng chọn “Xem thông tin khách hàng” và chọn khách hàng đặt mua hàng. 2b. NV tự nhập thông tin khách hàng Nếu là khách hàng mới, NV phải nhập thông tin ở phần này. 3. Hệ thống hiển thị phần thông tin của khách hàng 3a. Hiển thị từ cơ sở dữ liệu Hệ thống hiển thị phần thông tin của khách hàng từ cơ sở dữ liệu lên phần “Thông tin khách hàng” trong bảng “Đơn đặt hàng”. 3b. Hiển thị theo nội dung NV bán hàng nhập Hệ thống hiển thị phần “Thông tin khách hàng” đúng theo nội dung của NV bán hàng nhập. 4. NV bán hàng tiếp tục nhập thông tin của phần Nội dung đặt hàng, thời gian giao hàng và địa điểm giao hàng để hoàn tất các thông tin của “Đơn đặt hàng”. 5. NV bán hàng chọn “Hoàn thành” để lưu đơn đặt hàng vào hệ thống. 6. Nếu NV bán hàng nhập các thông tin hợp lệ, hệ thống sẽ tiến hành lưu “Đơn đặt hàng” vào cơ sở dữ liệu và cập nhật “Mã đơn đặt hàng” cho lần đặt hàng tiếp theo. 2.1.2 “In đơn đặt hàng”: 1. Sau khi hoàn tất đơn đặt hàng, NV bán hàng chọn “In đơn đặt hàng”. 2. Hệ thống xuất ra bảng “Đơn đặt hàng” để nhân viên thuận tiện in ra giao cho khách hàng. 2.2 Các dòng sự kiện khác: 2.2.1 Thông tin nhập đơn đặt hàng sai: Nếu trong luồng sự kiện 2.1.1, NV bán hàng nhập thông tin không hợp lệ thì hệ thống sẽ xuất ra câu thông báo nhắc “Thông tin nhập không hợp lệ”. NV quản lý có thể nhập lại thông tin khác hoặc hủy bỏ thao tác, lúc này use case kết thúc. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: NV quản lý phải đăng nhập dưới quyền Nhân viên bán hàng vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, thông tin đơn đặt hàng sẽ được lưu vào hệ thống. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.2.9 Use case Quản lý khách hàng: Hình 1.9: Use case Quản lý Khách hàng 1. Tóm tắt: Use case này cho phép NV bán hàng duy trì thông tin khách hàng trong hệ thống quản lý khách hàng. Bao gồm thêm khách hàng, xóa khách hàng, cập nhật khách hàng và tìm kiếm khách hàng. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi NV bán hàng muốn thêm, thay đổi, xóa hay tìm kiếm khách hàng trong hệ thống. 1. Hệ thống yêu cầu NV bán hàng chọn chức năng muốn thực hiện (Thêm khách hàng /Sửa khách hàng /Tìm kiếm khách hàng /Xóa khách hàng). - Lúc này, xảy ra các luồng sự kiện sau: 2.1.1 “Thêm khách hàng”: 1. NV bán hàng chọn “Thêm khách hàng”. 2. Hệ thống yêu cầu NV bán hàng nhập vào các thông tin của khách hàng (Tên khách hàng, giới tính, Ngày sinh, Địa chỉ, Số điện thoại), Hệ thống sẽ tự động cập nhật Mã khách hàng trong quá trình Thêm khách hàng mới. 3. Sau khi NV bán hàng cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì khách hàng này được lưu vào hệ thống. 2.1.2 “Sửa khách hàng”: 2.1.2a NV bán hàng trực tiếp chọn khách hàng cần sửa: 1. NV bán hàng chọn 1 khách hàng cần sửa thông tin. 2. NV bán hàng chọn “Sửa khách hàng”. 3. Hệ thống hiển thị thông tin khách hàng qua bảng sửa chữa. 4. NV bán hàng chỉnh sửa các thông tin của khách hàng, nếu điều kiện nhập là hợp lệ thì khách hàng được lưu vào hệ thống. 2.1.2b NV bán hàng dùng công cụ tìm kiếm để sửa khách hàng: 1. NV bán hàng chọn “Tìm kiếm khách hàng”. 2. Hệ thống yêu cầu NV quản lý nhập các thông tin tìm kiếm khách hàng. 3. Sau khi NV bán hàng cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin tìm kiếm. - Lập lại 4 bước ở phần 2.1.2a 2.1.3 “Tìm kiếm khách hàng”: 1. NV bán hàng chọn “Tìm kiếm khách hàng”. 2. Hệ thống yêu cầu NV bán hàng nhập các thông tin tìm kiếm khách hàng. 3. Sau khi NV bán hàng cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin khách hàng được tìm kiếm. 2.1.4 “Xóa khách hàng”: 2.1.4a NV bán hàng trực tiếp chọn khách hàng muốn xóa: 1. NV bán hàng chọn 1 khách hàng muốn xóa. 2. NV bán hàng chọn “Xóa khách hàng”. 3. Hệ thống hiển thị câu thông báo xác nhận NV bán hàng có muốn xóa không ? 4. NV bán hàng chấp nhận, khách hàng sẽ bị xóa khỏi hệ thống. 2.1.4b NV bán hàng dùng công cụ tìm kiếm để xóa khách hàng: 1. NV bán hàng chọn “Tìm kiếm khách hàng”. 2. Hệ thống yêu cầu NV bán hàng nhập các thông tin tìm kiếm khách hàng. 3. Sau khi NV bán hàng cung cấp thông tin được yêu cầu. Nếu điều kiện nhập là hợp lệ thì hệ thống bắt đầu việc tìm kiếm và hiển thị ra thông tin tìm kiếm. - Lập lại 4 bước ở phần 2.1.4a 2.2 Các dòng sự kiện khác: 2.2.1 Không tìm thấy khách hàng: Nếu trong luồng sự kiện 2.1.2b/2.1.4.b/2.1.3 không tồn tại khách hàng nào thì hệ thống sẽ xuất ra câu thông báo “Không tìm thấy khách hàng”. NV bán hàng có thể nhập thông tin tìm kiếm khác hoặc hủy bỏ thao tác, lúc này use case kết thúc. 2.2.2 Không chấp nhận xóa: Nếu trong luồng sự kiện 2.1.4, NV bán hàng không đồng ý xóa khách hàng nữa, thao tác xóa bị hủy, dòng sự kiện chính được bắt đầu lại từ đầu. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: NV bán hàng phải đăng nhập dưới quyền Nhân viên bán hàng vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, thông tin khách hàng được thêm, cập nhật hoặc xóa hàng hóa khỏi hệ thống. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.2.10 Use case Lập hóa đơn bán hàng: Hình 1.10: Use case Lập hóa đơn bán hàng 1. Tóm tắt: Use case này cho phép nhân viên bán hàng tạo hóa đơn bán hàng trong hệ thống quản lý cửa hàng hoa. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi NV bán hàng muốn tạo 1 hóa đơn bán hàng trong hệ thống. 1. Hệ thống yêu cầu NV bán hàng chọn yêu cầu trên màn hình. 2. NV bán hàng chọn “Tạo hóa đơn” 3. Hệ thống yêu cầu nhập thông tin chi tiết hóa đơn (Mã hóa đơn được hệ thống cập nhật tự động). 3. NV bán hàng nhập các thông tin hóa đơn (Tên hàng hóa, Số lượng). 4. NV bán hàng nhấn chọn “Thêm”. 5. Nếu điều kiện nhập của NV bán hàng là hợp lệ, hệ thống sẽ thực hiện việc thêm 1 hàng trong danh sách hóa đơn. - Lúc này sẽ phát sinh những luồng sự kiện sau: 2.1.1 “Thêm chi tiết hóa đơn”: 1. NV bán hàng nhập các thông tin hóa đơn (Tên hàng hóa, Số lượng). 2. NV bán hàng nhấn chọn “Thêm”. 3. Nếu điều kiện nhập của NV bán hàng là hợp lệ, hệ thống sẽ thực hiện việc thêm 1 hàng trong danh sách hóa đơn và cập nhật lại số lượng hàng hóa trong sổ hàng hóa. 2.1.2 “Xóa chi tiết hóa đơn”: 1. NV bán hàng chọn 1 hàng hóa muốn xóa khỏi danh sách hóa đơn, nhấp chuột phải và chọn “Xóa”. 2. Hệ thống hiển thị nhắc nhở có chắc muốn xóa hay không. 3. NV bán hàng chấp nhận xóa. 4. Hệ thống tiến hành xóa hàng hóa đó ra khỏi danh sách. 2.1.3 “Hoàn tất hóa đơn”: 1. Sau khi chọn thêm 1 hay nhiều loại mặt hàng, NV bán hàng chọn “Hoàn thành”. 2. Hệ thống tiến hành lưu hóa đơn và sẽ cập nhật lại mã hóa đơn trong lần tạo hóa đơn lần sau. 2.1.4 “In hóa đơn” 1. Sau khi chọn thêm 1 hay nhiều loại mặt hàng, NV bán hàng chọn “In hóa đơn”. 2. Hệ thống xuất ra bảng hóa đơn. 2.2 Các dòng sự kiện khác: 2.2.1 Không chấp nhận xóa: Nếu trong luồng sự kiện 2.1.2, NV bán hàng không đồng ý xóa hàng hóa nữa, thao tác xóa bị hủy, các luồng sự kiện sẽ bắt đầu lại từ đầu. 2.2.2 Nhập quá quy định số lượng tồn kho: Nếu trong luồng sự kiện 2.1.1, NV bán hàng nhập lớn hơn số lượng tồn kho của hàng hóa thì hệ thống sẽ hiển thị thông báo nhắc “Bạn nhập quá số lượng tồn kho” để NV bán hàng điều chỉnh lại số lượng cho phù hợp. Nếu không NV bán hàng hủy thao tác, lúc này use case kết thúc. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: NV bán hàng phải đăng nhập dưới quyền Nhân viên bán hàng vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, thông tin hóa đơn mua hàng sẽ được lưu vào hệ thống. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.2.11 Use case Lập báo cáo: Hình 1.11: Use case Lập báo cáo 1. Tóm tắt: Use case này cho phép nhân viên bán hàng tạo các báo cáo thống kê về các loại danh mục hàng hóa, số lượng kèm theo lợi nhuận theo ngày hoặc theo tháng. 2. Dòng sự kiện: 2.1 Dòng sự kiện chính: Use case này bắt đầu khi NV bán hàng muốn tạo 1 báo cáo với các thông kê cần thiết trong hệ thống. 1. Hệ thống yêu cầu NV bán hàng chọn yêu cầu trên màn hình. - Lúc này, xảy ra các luồng sự kiện sau: 2.1.1 “Báo cáo thống kê theo ngày”: 1. NV bán hàng chọn loại báo cáo thống kê theo ngày. 2. Hệ thống yêu cầu nhập các thông tin cần thiết để tạo ra việc thống kê phù hợp: - Ngày muốn thống kê - Mặt hàng muốn thống kê 3. NV bán hàng có thể chọn 1 trong 2 tiêu chí hoặc cả 2 tiêu chí trên để xuất ra thống kê phù hợp. 4. Nếu NV bán hàng nhập các thông tin là hợp lệ, Hệ thống thực hiện việc thống kê và xuất ra kết quả trên màn hình. 2.1.2 “Báo cáo thống kê theo tháng”: 1. NV bán hàng chọn loại báo cáo thống kê theo tháng. 2. Hệ thống yêu cầu nhập các thông tin cần thiết để tạo ra việc thống kê phù hợp: - Tháng muốn thống kê - Mặt hàng muốn thống kê 3. NV bán hàng có thể chọn 1 trong 2 tiêu chí hoặc cả 2 tiêu chí trên để xuất ra thống kê phù hợp. 4. Nếu NV bán hàng nhập các thông tin là hợp lệ, Hệ thống thực hiện việc thống kê và xuất ra kết quả trên màn hình. 2.1.3 “Báo cáo thống kê theo danh mục”: 1. NV bán hàng chọn loại báo cáo thống kê theo danh mục. 2. Hệ thống yêu cầu nhập các thông tin cần thiết để tạo ra việc thống kê phù hợp: - Hàng hóa tồn kho - Hóa đơn mua hàng - Đơn đặt hàng - Hóa đơn bán hàng 3. NV bán hàng có thể chọn 1 trong các tiêu chí trên để xuất ra thống kê phù hợp. 4. Hệ thống xuất ra danh sách thống kê tương ứng. 5. NV bán hàng chọn 1 hàng trong danh sách trên và nhấn chọn “Thống kê”. 6. Hệ thống xuất ra các phiếu thống kê. 2.2 Các dòng sự kiện khác: 2.2.1 Không tìm thấy mặt hàng muốn thông kê: Nếu trong luồng sự kiện 2.1.1/2.1.2, NV bán hàng nhập các loại mặt hàng mà hệ thống không tìm thấy trong cơ sở dữ liệu. Hệ thống sẽ xuất ra thông báo “Mặt hàng không được giao dịch trong ngày/tháng” . NV bán hàng có thể nhập loại mặt hàng khác hoặc hủy bỏ thao tác, lúc này use case kết thúc. 3. Các yêu cầu đặc biệt: Không có. 4. Tình trạng hệ thống trước khi thực hiện Use case: NV bán hàng phải đăng nhập dưới quyền Nhân viên bán hàng vào hệ thống trước khi use case bắt đầu. 5. Tình trạng hệ thống sau khi thực hiện Use case: Nếu use case thành công, thông tin thống kê sẽ được xuất ra màn hình. Ngược lại, trạng thái hệ thống không thay đổi. 6. Điểm mở rộng: Không có. 2.3 Sequence diagram: 2.3.1. Sequence diagram In hóa đơn bán hàng: 2.3.2. Sequence diagram Lập hóa đơn bán hàng(Dòng sự kiện chính) 1. Mô hình: 2. Mô tả: Khi nhân viên bán hàng chọn button Tạo hóa đơn thì nó sẽ gọi đến hàm TaoMaHoaDonXuat() và formLapHDBanHang sẽ tự động tạo một Mã hóa đơn. FormLapHDBanHang gửi yêu cầu tạo hóa đơn đến control XuLyHoaDonXuat, control này lại gửi yêu cầu đến HoaDonXuat thực hiện. Thực hiện xong thì nó được trả lại cho XyLyHoaDonXuat và trả về cho formLapHDBanHang. Thông tin hàng hóa sẽ được load lên trên formLapHDBanHang. Nhân viên sẽ tiến hành chọn tên hàng hóa và nhập số lượng hàng hóa theo yêu cầu của khách hàng. Sau đó, chọn button Thêm để thêm vào danh sách chi tiết hóa đơn. Lúc này formLapHDBanHang sẽ gửi yêu cầu kiểm tra tồn kho xem số lượng có vượt quá mức cho phép hay không? Tiếp theo formLapHDBanHang sẽ gửi yêu cầu ThemCTHDX đến XuLyCTHoaDon và XuLyCTHoaDon sẽ yêu cầu đến CTHoaDonXuat để xử lý và kết quả cuối cùng sẽ được trả lại cho formLapHDBanHang. formLapHDBanHang sẽ gửi yêu cầu UpdateTongTien đến XuLyHoaDonXuat, XuLyHoaDonXuat lại gửi yêu cầu đến HoaDonXuat để thực hiện và kết quả sẽ được trả cho formLapHDBanHang. Sau đó, formLapHDBanHang sẽ gửi yêu cầu đến XuLyHangHoa để Update_SL và XuLyHangHoa sẽ yêu cầu HangHoa thực hiện ,và cuối cùng trả về cho formLapHDBanHang. formLapHDBanHang sẽ load_DsCTHoaDonXuat Nhân viên chọn Xóa CTHoaDonXuat thì formLapHDBanHang sẽ gửi yêu cầu đến XuLyCTHoaDonXuat, XuLyCTHoaDonXuat sẽ gửi yêu cầu đến CTHoaDonXuat để xử lý và kết quả được trả về cho formLapHDBanHang. Sau đó, Update tổng tiền và Update_SL hàng hóa. Cuối cùng sẽ Load danh sách Chi tiết hóa đơn lên. 2.4 Collaborate diagram: 2.4.1 Collaborate In Hóa Đơn 2.4.2 Collaborate Lập hóa đơn bán hàng 2.5 Activity diagram: 2.5.1. Mô hình: 2.5.2.Mô tả: Activity diagram Lập hóa đơn biểu diễn cho use case phân rã Lập hóa đơn mua hàng. Nó mô tả quá trình nhân viên bán hàng lập hóa đơn mua hàng cho khách hàng. Nhân viên click button Tạo hóa đơn bắt đầu tạo hóa đơn. Nhân viên tiếp tục chọn tên hàng hóa và nhập số lượng hàng hóa. Nhân viên click button Thêm để thêm hàng hóa. Hệ thống kiểm tra và đối chiếu số lượng hàng tồn. 4.1. Số lượng hàng tồn < số lượng hàng đã nhập,nhân viên nhập lại số lượng theo yêu cầu của hệ thống. 4.2.Số lượng hàng tồn>= số lượng hàng đã nhập,quá trình tiếp tục. 5.Hệ thống cập nhật để hiển thị cho nhân viên xem những mặt hàng cùng số lượng đã chọn. 6.Kiểm tra hàng đã chọn: 6.1.Đã chọn đủ hàng,nhân viên click button Hoàn thành để lưu hóa đơn vào hệ thống. Nhân viên chọn In hóa đơn để In hóa đơn xuất cho khách hàng. 6.2. Nhân viên muốn thay đổi các mặt hàng đã chọn: 6.2.1.Nhân viên muốn tiếp tục chọn hàng,acti bắt đầu từ bước 3. 6.2.2.Nhân viên muốn xóa hàng hóa đã chọn,click Xóa ở hàng hóa muốn xóa.Sau khi xóa,nếu nhân viên muốn tiếp tục chọn hàng thì bắt đầu lại ở bước 3,còn nếu muốn kết thúc thì tiếp tục như bước 6.1. 2.6 Class diagram(Quản lí bán hàng): 2.7. State diagram: 2.7.1. State diagram Lập hóa đơn: 1 Mô hình: 2. Mô tả: Đầu tiên, hóa đơn được tạo ra nó sẽ ở trạng thái HoaDonXuat Khi nhân viên bán hàng thêm/xóa chi tiết hàng hóa trong hóa đơn nó sẽ được chuyển sang trạng thái được Cập nhật . Ở trạng thái này, tổng tiền sẽ được update lại sau mỗi thêm hoặc xóa đi một hàng hóa nào đó trong hóa đơn. Khi hoàn thành, nhân viên chọn chức năng InHoaDon thì hóa đơn sẽ chuyển sang trạng thái được in và kết thúc. 2.7.2. State diagram Hóa đơn sau khi xuất: 1.Mô hình: 2. Mô tả: Hóa đơn sau khi được in ra thì nó ở trạng thái Chưa được thanh toán. Sau khi khách hàng thanh toán, hóa đơn sẽ chuyển qua trạng thái được thanh toán. Trong trạng thái này có trạng thái con gọi là substate , nhân viên sau khi thu tiền và chờ khách hàng ký tên thì trạng thái này mới kết thúc. Sau đó, hóa đơn chuyển sang trạng thái được lưu vào cơ sở dữ liệu và kết thúc. 2.8. Component diagram: 2.8.1. Component diagram Đăng nhập: 2.8.2.Component diagram Quản lí bán hàng: Chương 3: Thiết kế Hệ thống Quản lý Cửa hàng hoa 3.1 Thiết kế class: 3.1.1 Entity: HangHoa - Mô tả thông tin về hàng hóa: 3.1.1.1 Danh sách các thuộc tính: Stt Thuộc tính Diễn giải Kiểu Dữ liệu Phạm vi Ghi chú 1 MaHH Mã hàng hóa Nvarchar(5) Private PK 2 TenHH Tên hàng hóa Nvarchar(50) Private 3 SoLuong Số lượng tồn Int Private 4 DonGia Giá nhập Decimal Private 5 GiaBan Giá bán Decimal private 3.1.1.2 Danh sách các phương thức: w Phương thức Load_TT_HH() : Lấy danh sách thông tin hàng hóa Input: không có Output: Danh sách thông tin hàng hóa Phạm vi : public w Phương thức getSoLuong() : Lấy số lượng tồn kho Input: giá trị thuộc tính mã hàng hóa Output: số lượng tồn kho Phạm vi: private w Phương thức Update_SL(): Cập nhập số lượng tồn kho Input:giá trị các thuộc tính Output: không có Phạm vi: private 3.1.2 Entity: CT_HoaDonXuat – Chi tiết hóa đơn xuất: 3.1.2.1 Danh sách các thuộc tính: Stt Thuộc tính Diễn giải Kiểu Dữ liệu Phạm vi Ghi chú 1 MaHDX Mã Hóa đơn xuất Nvarchar(7) Private PK, FK 2 MaHH Mã Hàng hóa Nvarchar(5) Private PK, FK 3 SoLuong Số lượng Mua Int Private 3.1.2.2 Danh sách các phương thức: w Load_DsChiTietHoaDonXuat(): Lấy danh sách chi tiết hóa đơn xuất Input: Mã hóa đơn xuất Output: Danh sách chi tiết hóa đơn xuất Phạm vi: public w Them_CTHoaDonXuat(): Thêm chi tiết hóa đơn xuât Input: các giá trị thuộc tính Output: Không có Phạm vi: public w Xoa_CTHoaDonXuat(): Xóa chi tiết hóa đơn Input: các giá trị thuộc tính Output: không có Phạm vi: public 3.1.3 Entity: HoaDonXuat – Hóa đơn xuất 3.1.3.1 Danh sách các thuộc tính: Stt Thuộc tính Diễn giải Kiểu Dữ liệu Phạm vi Ghi chú 1 MaHDX Mã Hóa đơn xuất Nvarchar(7) Private PK 2 NgayLap Ngày lập hóa đơn Datetime Private 3 TongTin Tổng tiền của hóa đơn decimal Private 3.1.3.2 Danh sách các phương thức: w TaoHoaDonXuat(): tạo mới hóa đơn Input: Các giá trị thuộc tính Output: không có Phạm vi: public w getTongTien(): Lấy giá trị tổng tiền của hóa đơn Input: Mã hóa đơn Output: Tổng tiền của hóa đơn Phạm vi: public w Update_TongTien(): cập nhập giá trị tổng tiền Input: các giá trị thuộc tính Output: Không có Phạm vi: public 3.2 Thiết kế cơ sở dữ liệu: Mô tả chi tiết các bảng: HangHoa (MaHH, TenHH, SoLuong, DonGia, GiaBan) HoaDonXuat (MaHDX, NgayLap, TongTien) CT_HoaDonXuat (MaHDX, MaHH, SoLuong) Mô hình: 3.3 Thiết Kế Giao Diện: 3.3.1 Màn Hình đăng Nhập: 3.3.2 Giao Diện Chính: 3.3.3 Giao diện quản lý bán hàng: 3.3.4 Giao diện in hóa đơn: Chương 4: Cài đặt Chương trình 4.1 Môi trường cài đặt: Chương trình cài đặt với Visual Studio 2008 và sử dụng hệ quản trị cơ sở dữ liệu SQL server 2005. 4.2 Các thành phần được dùng trong hệ thống: Trong hệ thống cài đặt các lớp : DataAccessLayer, BussinessLayer, Entity và các form giao diện.Trong đó: DataAccessLayer là lớp giao tiếp với cơ sở dữ liệu, Businesslayer là lớp xử lý các nghiệp vụ thông qua DataAccessLayer để giao tiếp với Cơ sở dữ liệu, cung cấp các dịnh vụ cho lớp giao diện (Form). Lớp Entity là lưu trữ các Entity class. Ngoài ra chương trình còn sử dụng các class như: KetNoiDB.cs,KiemtraLoi.cs KetNoiDB: là class dùng để kết nối tới Csdl của SQL nhằm truy xuất và cập nhập dữ liệu. KiemtraLoi: là lớp dùng để kiểm tra các lỗi ở lớp giao diện cũng như 1 số lỗi mắc phải khi giao tiếp với csdl.

Các file đính kèm theo tài liệu này:

  • docĐề tài hệ thống quản lý cửa hàng hoa.doc
Luận văn liên quan