+ Xây dựng một phần mềm đáp ứng yêu cầu quản lý đạt hiệu quả cao hơncho người quản trị và nhân viên: quản lý khách hàng, quản lý nhân viên, quản lýmặt hàng, quản lý nhà cung cấp, quản lý
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
LẬP TRÌNH JAVA
ĐỀ TÀI:
Xây dựng phần mềm quản lý cửa hàng đồ chơi
Sinh viên thực hiện: CAO MINH PHÚC
Trang 2PHIẾU CHẤM ĐIỂM
chú
Phân tích chức năng, yêu cầu ứng dụng, giải pháp thực thi
Lập trình, thực thi Viết tài liệu
Trang 3Giảng viên chấm 2:
MỞ ĐẦU
Ngày nay dưới sự phát triển mạnh mẽ của hệ thống mạng Internet thì các trang webthương mại, bán hàng online càng được phổ biến và ngày càng mở rộng Việc cungcấp tới khách hàng các thông tin về các đồ chơi mà công ty của mình sản xuất thôngqua chính website của công ty, doanh nghiệp tạo sự chọn lựa một cách nhanh chóng,thuận tiện đối với những người bận rộn, hay vì khoảng cách địa lý mà không thể tớitrực tiếp cửa hàng để có thể chọn lựa, mua được đồ dùng đồ chơi mà mình ưa thích
Để hoàn thành Bài Tập Lớn môn thì cần phải nắm rõ kiến thức phân tích hệ thống,thiết kế cơ sở dữ liệu, kiến thức của các môn học như: phân tích thiết kế hệ thống,thiết kế cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu SQL và phần mô tả, vẽ sơ đồ UseCase,kết nối cơ sở dữ liệu phải vận dụng để hoàn thành môn học này Bên cạnh đó, cầnphải có kỹ năng hoạt động nhóm, tổng hợp kiến thức, tư duy và học hỏi để đạt đượcmục tiêu, chuẩn đầu ra của môn học
Chủ đề nghiên cứu của nhóm là: Xây dựng phần mềm bán đồ chơi theo mô hình xâydựng loại ứng dụng quản lý
Đây là hệ thống quản lý đầu tiên mà nhóm em xây dựng nên không thể tránh khỏinhững hạn chế và thiếu sót Nhóm em rất mong nhận được sự góp ý của cô để hệthống quản lý của nhóm ngày càng hoàn thiện hơn và thực sự hữu ích với người dùng
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ JAVA 1.1 Tổng quan về ngôn ngữ Java
1.1.1 Giới thiệu về ngôn ngữ Java
Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng 6 năm
1995 Từ đó, nó đã trở thành một công cụ lập trình của các lập trình viên chuyên
nghiệp Java được xây dựng trên nền tảng của C và C++, do vậy nó sử dụng các cú pháp của C và các đặc trưng hướng đối tượng của C++.
Vào năm 1991, một nhóm các kỹ sư của Sun Microsystems có ý định thiết kế một ngôn ngữ lập trình để điều khiển các thiết bị điện tử như tivi, máy giặt, lò nướng … Mặc dù C và C++ có khả năng làm việc này nhưng trình biên dịch lại phụ thuộc vào từng loại CPU
Trình biên dịch thường phải tốn nhiều thời gian để xây dựng nên rất đắt, vì vậy
để mỗi loại CPU có một trình biên dịch riêng là rất tốn kém Do đó nhu cầu thực
tế đòi hỏi một ngôn ngữ chạy nhanh, gọn, hiệu quả và độc lập thiết bị tức là có thể chạy trên nhiều loại CPU khác nhau, dưới các môi trường khác nhau “Oak”
đã ra đời và vào năm 1995 được đổi tên thành Java Mặc dù mục tiêu ban đầu không phải cho Internet nhưng do đặc trưng không phụ thuộc thiết bị nên Java đãtrở thành ngôn ngữ lập trình cho Internet
1.2 Một số tính chất của ngôn ngữ Java
Java là ngôn ngữ lập trình được phát triển từ ngôn ngữ lập trình C/C++ Nó kếthừa, phát huy các thế mạnh của ngôn ngữ C/C++ và lược bỏ đi các cú phápphức tạp của C/C++ Ngôn ngữ lập trình Java có một số đặc trưng tiêu biểu: đơngiản, hướng đối tượng, độc lập phần cứng và hệ điều hành, mạnh mẽ, bảo mật,phân tán, đa luồng và linh động
1.2.1 Tính đơn giản
Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học và quen thuộcvới đa số người lập trình Do vậy Java loại bỏ các đặc trưng phức tạp của C vàC++ như:
- Loại bỏ thao tác con trỏ, thao tác định nghĩa chồng toán tử
- Không cho phép đa kế thừa mà sử dụng các giao diện
- Không sử dụng lệnh “goto” cũng như file header (.h)
- Loại bỏ cấu trúc “struct” và “union”
Trang 51.2.2 Tính hướng đối tượng (OOP)
Java là ngôn ngữ lập trình thuần hướng đối tượng, mọi chương trình viết trênJava đều phải được xây dựng trên các đối tượng Nếu trong C/C++ ta có thể tạo
ra các hàm (chương trình con không gắn với đối tượng nào) thì trong Java ta chỉ
có thể tạo ra các phương thức (chương trình con gắn liền với một lớp cụ thể).Trong Java không cho phép các đối tượng có tính năng đa kế thừa mà được thaythế bằng các giao diện (interface)
1.2.3 Tính mạnh mẽ
Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu
- Kiểu dữ liệu phải khai báo tường minh
- Java không sử dụng con trỏ và các phép toán con trỏ
- Java kiểm tra tất cả các truy nhập đến mảng, chuỗi khi thực thi để đảm bảorằng các truy nhập đó không ra ngoài giới hạn kích thước
- Trong các môi trường lập trình truyền thống, lập trình viên phải tự mình cấpphát bộ nhớ, trước khi chương trình kết thúc thì phải tự giải phóng bộ nhớ đãcấp Vấn đề có thể nảy sinh khi lập trình viên quên giải phóng bộ nhớ đã xincấp trước đó Trong chương trình Java, lập trình viên không phải bận tâm đếnviệc cấp phát bộ nhớ Quá trình cấp phát, giải phóng được thực hiện tự động,nhờ dịch vụ thu nhặt những đối tượng không còn sử dụng nữa (garbagecollection)
- Cơ chế bẫy lỗi của Java giúp đơn giản hóa quá trình xử lý lỗi và hồi phục saulỗi
- Mức thứ ba được đảm bảo bởi trình thông dịch chúng kiểm soát xem bytecode
có đảm bảo các quy tắc an toàn trước khi thực thi không
- Mức thứ tư kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạmgiới hạn truy xuất trước khi nạp vào hệ thống
Trang 61.2.5 Tính phân tán
Java được thiết kế để hỗ trợ các ứng dụng chạy trên mạng bằng các lớp mạng(java.net) Hơn nữa, Java hỗ trợ nhiều nền chạy khác nhau nên chúng được sửdụng rộng rãi như là công cụ phát triển trên Internet - nơi sử dụng nhiều nềnkhác nhau
1.2.6 Tính đa luồng
Chương trình Java cung cấp giải pháp đa luồng (Multithreading) để thực thi cáccông việc đồng thời Chúng cũng cung cấp giải pháp đồng bộ giữa các luồng.Đặc tính hỗ trợ đa luồng này cho phép xây dựng các ứng dụng trên mạng chạyhiệu quả
1.2.7 Tính linh động
Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi trường
mở Các chương trình Java chứa rất nhiều thông tin thực thi nhằm kiểm soát vàtruy nhập đối tượng lúc chạỵ Điều này cho phép khả năng liên kết mã động
+ Tạo cơ sở dữ liệu, bảng và view mới
+ Để chèn các bản ghi vào trong một cơ sở dữ liệu
+ Để xóa các bản ghi từ một cơ sở dữ liệu
+ Để lấy dữ liệu từ một cơ sở dữ liệu
Chức năng của SQL
+ Với SQL, chúng ta có thể truy vấn Database theo nhiều cách khác nhau, bởi sửdụng các lệnh
+ Với SQL, người dùng có thể truy cập dữ liệu từ RDBMS
+ SQL cho phép người dùng miêu tả dữ liệu
+ SQL cho phép người dùng định nghĩa dữ liệu trong một Database và thao tác
nó khi cần thiết
Trang 7+ Cho phép người dùng tạo, xóa Database và bảng.
+ Cho phép người dùng tạo view, Procedure, hàm trong một Database
+ Cho phép người dùng thiết lập quyền truy cập vào bảng, thủ tục và view
+ Data Access Layer (DAL): Tầng giao tiếp với các hệ quản trị CSDL
Trong 1 số trường hợp vì lượng thông tin gởi nhiều ta có thể dùng Data Tranfer Object (DTO) để chuyển đối tượng hoặc danh sách đối tượng giữa các tầng với nhau cho tiện dụng
Trang 8Hình 1 1 Mô hình 3 lớp
Trang 9Chương 2 GIỚI THIỆU DỰ ÁN PHẦN MỀM QUẢN LÝ BÁN ĐỒ CHƠI
2.1 Khảo sát hệ thống
Việc xây dựng phần mềm quản lý bán đồ chơi nhằm mục đích giúp nhân viên và
người quản lý thao tác nghiệp vụ nhanh chóng và tự động Đồng thời dữ liệu về
mặt hàng, khách hàng và nhân viên được lưu trữ tự động trong website, cácthuận lợi, khó khăn trong việc quản lý truyền thống Từ các thông tin có ích đó,phục vụ cho việc nghiên cứu, phân tích thiết kế một hệ thống đáp ứng yêu cầu,nhu cầu sử dụng của người quản lý Không chỉ đáp ứng các nhu cầu hiện tại màcòn có khả năng nâng cấp, sửa chữa đáp ứng các nhu cầu không ngừng củangười quản lý trong tương lai
2.2 Phương pháp
❖ Phỏng vấn
Trước khi tiến hành phỏng vấn cần lập một kế hoạch cụ thể:
- Đọc tài liệu cơ sở
- Thiết lập mục tiêu phỏng vấn: thu thập thông tin cần thiết để nghiên
cứu, phân tích thiết kế hệ thống
- Quyết định người được phỏng vấn: người quản lý.
- Chuẩn bị cho người được phỏng vấn: hẹn lịch phỏng vấn, nói tổng
quan về chủ đề sẽ phỏng vấn
- Quyết định kiểu và cấu trúc câu hỏi: bao gồm cả câu hỏi đóng và
câu hỏi mở Cấu trúc câu hỏi đi từ câu hỏi đóng sang câu hỏi mởgiúp người được phỏng vấn làm quen với chủ đề phỏng vấn
❖ Mẫu kế hoạch phỏng vấn
Kế hoạch phỏng vấn
Trang 10- Cần thu thập dữ liệu: Hoạt động hệ thống, yêu cầu chức
năng, phi chức năng
- Cần thỏa thuận về: thời gian, kinh phí và các yêu cầu
khác
Các yêu cầu đòi hỏi:
Là người liên quan trực tiếp, có hiểu biết về hoạt động của hệ thống.
Chương trình:
- Giới thiệu: Bản thân, tên dự án, chủ đề sẽ hỏi.
- Tổng quan về dự án: Tìm hiểu về phần mềm cần quản lý
- Tổng quan về phỏng vấn: Phỏng vấn chi tiết về hệ thống.
- Chủ đề sẽ đề cập: Xin phép được ghi âm.
- Chủ đề 1: Hoạt động của hệ thống
- Chủ đề 2: Hoạt động kinh doanh.
- Tổng hợp các nội dung chính ý kiến của người được hỏi.
Kết thúc: Cảm ơn về cuộc phỏng vấn, bắt tay, chào tạm biệt.
Ước lượng thời gian:
Trang 11o Bảng kết quả phỏng vấn : STT Câu hỏi phỏng vấn Câu trả lời của khách hàng
3
Khách hàng được chia thành
nhóm hay không ạ ?
- Khách hàng thì có đã thanh toán và chưa thanh toán (1)
- Chạy ổn định, không có lỗi (11)
6 Ông/Bà có những yêu cầu gìvề giao diện ạ ? - Hình ảnh đẹp màu sắc ưa nhìn (12)7
Ông/Bà yêu cầu hoàn thành
phần mềm trong bao lâu ?
- Thời gian hoàn thành kịp đưa vào sử dụng (8)
8
Ông/Bà có thể cụ thể thời gian
phải hoàn thành được không
ạ ?
- Khoảng 1 tháng, chậm tối đa 3 - 4 ngày.(8)
9
Ông/Bà sẽ dự định chi bao
nhiêu cho phần mềm của
Trang 12nào khác nữa không ạ ? đoàn.(-)
- Bảo hành 10 năm, có hỏng hóc sửa chữa miễn phí.(13)
Bảng 1.2 Kết quả phỏng vấn
1.1.1 Đặc tả yêu cầu người dùng
❖ Phân tích yêu cầu người dùng:
Nhóm yêu cầu Yêu cầu Khả năng thực hiện Ghi chú
2.3 Xác định bài toán cần giải quyết
Với hệ thống hiện tại đầy nhược điểm của cửa hàng bán đồ chơi như là việc
dễ bị thất lạc dữ liệu sổ sách, độ bảo mật thấp, mọi hoạt động mua bán đều đượclàm một cách thủ công bằng tay dẫn đến việc tốn nguồn nhân lực cũng như làmất thời gian, hiệu quả làm việc không tốt Việc tìm kiếm nhân viên, sửa thôngtin nhân viên, sản phẩm, cũng là một vấn đề mà hệ thống cần phải giải quyếtđược
+ Xây dựng một phần mềm đáp ứng yêu cầu quản lý đạt hiệu quả cao hơncho người quản trị và nhân viên: quản lý khách hàng, quản lý nhân viên, quản lýmặt hàng, quản lý nhà cung cấp, quản lý mua bán, thống kê
Trang 13+ Với các mục quản lý, người quản trị dễ dàng thực hiện được các chứcnăng thêm, sửa, xóa, thanh toán một cách dễ dàng và thuận lợi.
2.4 Phân tích và đặc tả các nghiệp vụ của hệ thống
2.4.1 Xác định các yêu cầu của hệ thống
2.4.1.1 Hoạt động của hệ thống
❖ Mô tả hoạt động của hệ thống:
a. Giao diện đăng nhập (có 2 loại tài khoản: nhân viên và người quảnlý): Nếu là nhân viên, phải đăng nhập bằng tài khoản được ngườiquản lý cấp trước đó Nếu là người quản lý, phải đăng nhập bằng tàikhoản được cấp trước bởi nhà phát triển (có thể thay đổi sau này).Nếu đăng nhập sai thì sẽ có thông báo đăng nhập lại
b. Giao diện dành cho nhân viên: Khi chọn đăng nhập dành cho nhânviên Nhân viên phải có tài khoản và mật khẩu được người quản trịcung cấp trước đó và có thể thực hiện các công việc sau:
✔ Quản lý khách hàng gồm các chức năng: thêm, sửa, xóa, tìmkiếm khách hàng Nhân viên có thể xem chi tiết thông tin củakhách hàng Chức năng thêm khách hàng: nhân viên nhập thôngtin cá nhân cho khách hàng (họ tên, ngày sinh, CMND, địa chỉ,
…) Mỗi khách hàng sẽ có mã khách hàng và CMND độc nhất
✔ Quản lý mặt hàng gồm các chức năng: thêm, sửa, xóa, tìm kiếmmặt hàng Nhân viên có thể xem chi tiết thông tin của mặt hàng.Chức năng thêm mặt hàng: nhân viên nhập thông tin cho mặthàng (tên mặt hàng, hãng sản xuất, số lượng, đơn giá, ) Chứcnăng sửa mặt hàng có thể cập nhật tình trạng mặt hàng đó là mớihay hư hỏng Mỗi mặt hàng sẽ có mã mặt hàng là độc nhất
✔ Quản lý mua bán gồm các chức năng: tạo hoá đơn, trả hàng, tìmkiếm và thanh toán các hóa đơn Chức năng thêm hoá đơn: Nhânviên tạo hoá đơn, nhập thông tin cho hoá đơn (lựa chọn kháchhàng, mặt hàng, số lượng mua mỗi mặt hàng, ngày mua, ).Những mặt hàng hư hỏng thì không thể lập được hóa đơn muabán Nhân viên có thể thực hiện thanh toán hoá đơn Mỗi hoáđơn sẽ có mã hoá đơn là độc nhất
Trang 14✔ Thống kê bao gồm: hiển thị thông tin về doanh thu, số lượngmặt hàng đã bán, số lượng mặt hàng hư hỏng và lọc các hóa đơnkhách hàng chưa thanh toán theo tháng, theo năm.
c. Giao diện dành cho người quản lý: Khi chọn đăng nhập dành choquản lý Người quản lý phải có username và password để đăng nhậpvào hệ thống Sau khi đăng nhập thành công, người quản lý có thểlàm các công việc sau:
✔ Quản lý khách hàng gồm các chức năng: thêm, sửa, xóa, tìmkiếm khách hàng Người quản lý có thể xem chi tiết thông tincủa khách hàng Chức năng thêm khách hàng: người quản lýnhập thông tin cá nhân cho khách hàng (họ tên, ngày sinh,CMND, địa chỉ,…) Mỗi khách hàng sẽ có mã khách hàng vàCMND độc nhất
✔ Quản lý nhà cung cấp gồm các chức năng: thêm, sửa, xóa, tìmkiếm nhà cung cấp Chức năng thêm nhà cung cấp: người quản
lý nhập thông tin cho nhà cung cấp (tên nhà cung cấp, địa chỉ, sốđiện thoại) Người quản lý có thể xem chi tiết thông tin của nhàcung cấp Mỗi nhà cung cấp sẽ có mã nhà cung cấp độc nhất
✔ Quản lý mặt hàng gồm các chức năng: thêm, sửa, xóa, tìm kiếmmặt hàng Người quản lý có thể xem chi tiết thông tin của mặthàng Chức năng thêm mặt hàng: người quản lý nhập thông tincho mặt hàng (tên mặt hàng, hãng sản xuất, số lượng, đơn giá, ).Chức năng sửa mặt hàng có thể cập nhật tình trạng mặt hàng đó
là mới hay hư hỏng Mỗi mặt hàng sẽ có mã mặt hàng là độcnhất
✔ Quản lý mua bán gồm các chức năng: thêm hoá đơn, trả hàng,tìm kiếm và thanh toán các hóa đơn Chức năng thêm hoá đơn:Nhân viên tạo hoá đơn, nhập thông tin cho hoá đơn (lựa chọnkhách hàng, mặt hàng, số lượng mua mỗi mặt hàng, ngàymua, ) Những mặt hàng hư hỏng thì không thể lập được hóa
Trang 15đơn mua bán Nhân viên có thể thực hiện thanh toán hoá đơn.Mỗi hoá đơn sẽ có mã hoá đơn là độc nhất.
✔ Quản lý nhân viên gồm các chức năng: thêm, sửa, xóa, tìm kiếmnhân viên Chức năng thêm nhân viên: người quản lý nhậpthông tin cá nhân cho nhân viên (họ tên, ngày sinh, quê quán,CMND,…) và tạo tài khoản và mật khẩu cho nhân viên đó
✔ Thống kê bao gồm: hiển thị thông tin về doanh thu, số lượngmặt hàng đã bán, số lượng mặt hàng hư hỏng và lọc các hóa đơnkhách hàng chưa thanh toán theo tháng, theo năm
d. Hệ thống có nút đăng xuất ở bất kỳ giao diện nào Khi chọn nút
“Đăng Xuất” đóng các thao tác hiện tại mở lại giao diện đăng nhập.2.4.2 Yêu cầu chức năng
1. Nhóm quản lý mặt hàng:
a) Quản lý mặt hàng
b) Xem thông tin mặt hàng
2. Nhóm quản lý khách hàng:
a) Quản lý thông tin khách hàng
b) Xem thông tin khách hàng
3. Nhóm quản lý nhà cung cấp:
a) Quản lý thông tin nhà cung cấp
b) Xem thông tin nhà cung cấp
4. Nhóm quản lý mua bán:
a) Lập hoá đơn mua bán
b) Xem thông tin mua bán
5. Nhóm thống kê
a) Thống kê doanh thu
b) Thống kê mặt hàng đã bán
Trang 16c) Thống kê hoá đơn chưa thanh toán
6. Nhóm quản lý truy cập hệ thống:
a) Đăng nhập
b) Đăng xuất
7. Nhóm quản lý nhân viên:
a) Quản lý thông tin nhân viên
b) Xem thông tin nhân viên
2.4.3 Yêu cầu phi chức năng
1 Yêu cầu về sản phẩm:
✔ Dữ liệu không bị hack hay mất mát
✔ Tốc độ xử lý, phản hồi nhanh
✔ Xử lý được lượng dữ liệu lớn
✔ Giao diện đẹp, tươi sáng
✔ Có thể thêm các chức năng cần thiết sau này
✔ Sửa chữa, bảo trì miễn phí
✔ Bảo hành 10 năm
2 Yêu cầu về tổ chức/tiến trình phát triển:
✔ Ngôn ngữ lập trình: Java - Swing
✔ Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server
✔ Chuẩn chất lượng phần mềm : ISO/IEC 9126
✔ Hệ điều hành: Windows
3 Yêu cầu từ bên ngoài:
✔ Thời gian: 1 tháng(chậm tối đa 3 – 4 ngày)
✔ Chi phí: 100.000.000đ
✔ Bản quyền: Độc quyền
✔ Liên kết phần mềm khác: Không
Trang 17Chương 3. PHÂN TÍCH HỆ THỐNG 3.1 3.1 Xác định các Actor và use case tổng quát của hệ thống
3.1.1 3.1.1 Xác định các Actor của hệ thống
Các actor của hệ thống
− Actor hay gọi là các tác nhân: không phải là bộ phận của hệ thống
− Các actor biểu diễn các vai trò mà người sử dụng hệ thống có thể thựchiện Actor có thể là người, máy hay hệ thống khác
− Theo phần đặc tả yêu cầu người dùng, có thể xác định được actor như sau:
+ Người quản trị: đây là tác nhân có tương tác với hệ thống và sửdụng các chức năng của hệ thống như quản lý khách hàng, quản lýmặt hàng, quản lý nhân viên, quản lý nhà cung cấp, quản lý hoáđơn, thống kê
+ Nhân viên : đây là tác nhân có tương tác với hệ thống và sử dụngcác chức năng của hệ thống như quản lý khách hàng, quản lý mặthàng, quản lý hoá đơn, thống kê
Trang 183.2 Biểu đồ use case của toàn hệ thống
Hình 3 1 Biểu đồ use case tổng quát
Trang 193.3 Biểu đồ use case của actor người quản lý :
Trang 203.4Biểu đồ use case của actor nhân viên :
3.5 Phân tích chi tiết từng chức năng của hệ thống
3.5.1 Mô tả use case: Đăng nhập
- Mô tả vắn tắt:
Use case này cho phép người dùng (người quản lý, nhân viên) đăngnhập hệ thống bằng tên đăng nhập và mật khẩu để truy nhập các chứcnăng của hệ thống theo vai trò
- Luồng sự kiện:
● Luồng cơ bản:
1. Use case này bắt đầu khi người dùng kích vào nút “Đăng nhập” trêngiao diện đăng nhập của hệ thống Hệ thống kiểm tra tên và mậtkhẩu của người dùng trong bảng “TAIKHOAN” Nếu là tài khoảndành cho nhân viên chuyển sang bước 2 Nếu là tài khoản của ngườiquản lý chuyển sang bước 3
2. Hệ thống sẽ hiển thị giao diện quản lý dành cho nhân viên
3. Hệ thống sẽ hiển thị giao diện quản lý dành cho người quản lý
Trang 214. Use case này kết thúc.
- Các yêu cầu đặc biệt:
Use case này được dùng để phân quyền của người dùng theo tên đăngnhập Các quyền được kiểm soát theo vai trò người quản lý, nhân viên
- Tiền điều kiện:
Người quản lý phải có tài khoản được nhà phát triển cung cấp trước đó Nhân viên phải có tài khoản do người quản lý cấp
- Hậu điều kiện:
Người dùng đăng nhập được vào hệ thống
3.5.2 Mô tả use case: Quản lý mặt hàng
- Mô tả vắn tắt: Use case này cho phép người quản lý hoặc nhân viên
thêm, sửa, xóa, tìm kiếm mặt hàng
- Luồng sự kiện:
● Luồng cơ bản:
1. Use case này bắt đầu khi người quản lý bấm vào tab “Quản LýMặt Hàng” Hệ thống sẽ truy vấn từ bảng “MATHANG” và hiểnthị danh sách thông tin các mặt hàng
và tạo ra một bản ghi mặt hàng và thêm vào bảng
Trang 22MATHANG đồng thời thông tin về mặt hàng này sẽ xuấthiện trong bảng danh sách mặt hàng.
3. Sửa mặt hàng:
a) Người quản lý chọn 1 mặt hàng có thông tin sai và clickvào nút “Sửa” hệ thống sẽ hiển thị màn hình yêu cầu sửathông tin mặt hàng
b) Người quản lý thay đổi các thông tin về mặt hàng bao gồmcác thông tin được chỉ ra trong: Thêm mặt hàng và clickvào nút “lưu” Hệ thống sẽ kiểm tra thông tin thay đổi vàkiểm tra mặt hàng có tồn tại trong bảng MATHANG haykhông và cập nhật bảng MATHANG, cập nhật hiển thịdanh sách mặt hàng
4. Xóa mặt hàng:
a) Người quản lý chọn 1 mặt hàng cần xóa và bấm nút
“Xóa” Hệ thống sẽ hiển thị màn hình yêu cầu xóa mặthàng đó
b) Người quản trị nhập số lượng mặt hàng muốn xóa và clicknút “Xoá” Hệ thống sẽ xoá số lượng của mặt hàng đó vàcập nhật trong bảng MATHANG và hiển thị danh sáchmặt hàng đã cập nhật
c) Người quản trị click nút “Xoá hết” Hệ thống sẽ xoá bảnghi mặt hàng đó trong bảng MATHANG và cập nhật lạidanh sách mặt hàng
5. Tìm kiếm mặt hàng:
a) Khi người quản lý click vào checkbox “tìm kiếm” trongcửa sổ danh sách mặt hàng, hệ thống sẽ hiển thị các tiêu chítìm kiếm cho người quản trị (Mã mặt hàng, tên mặt hàng,tình trạng, )
b) Người quản lý nhập thông tin cần tìm kiếm trên TextField
Hệ thống sẽ kiểm tra thông tin tìm kiếm có tồn tại trongtrong bảng MATHANG hay không và hiển thị thông tinmặt hàng cần tìm kiếm
6. Use case này kết thúc khi người quản lý bấm vào 1 mục quản lýkhác trên giao diện quản lý
● Luồng rẽ nhánh:
Trang 23● Tại bước 2b trong luồng cơ bản nếu người quản lý không nhậpthông tin hoặc nhập thông tin không hợp lệ, hệ thống sẽ hiển thịthông báo “lỗi yêu cầu nhập lại”, ngược lại use case sẽ tiếp tục.
● Tại bước 2b trong luồng cơ bản nếu người quản lý bấm nút “hủy
● Tại bước 5b trong luồng cơ bản nếu người quản lý nhập tiêu chímặt hàng không hợp lệ, hệ thống sẽ hiển thị thông báo “lỗi yêucầu nhập lại”, ngược lại use case sẽ tiếp tục
● Tại bước 5b trong luồng cơ bản nếu người quản lý nhập tiêu chímặt hàng không tồn tại trong CSDL, hệ thống sẽ hiển thị thôngbáo “mặt hàng không tồn tại”, ngược lại use case sẽ tiếp tục
● Không kết nối được cơ sở dữ liệu tại bất kỳ thời điểm nào trongquá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗikết nối” và use case kết thúc
- Các yêu cầu đặc biệt: Không có.
- Tiền điều kiện: Người quản lý hoặc nhân viên phải đăng nhập vào hệ
thống trước khi use case này bắt đầu
- Hậu điều kiện: Không.
- Biểu đồ trình tự chức năng quản lý mặt hàng
Trang 253.5.3 Mô tả use case: Quản lý khách hàng
- Mô tả vắn tắt: Use case này cho phép người quản lý hoặc nhân viên có
thể thêm, sửa, xóa, tìm kiếm khách hàng
3. Sửa khách hàng:
a) Người quản lý chọn 1 khách hàng có thông tin sai và click vàonút “Sửa” hệ thống sẽ hiển thị màn hình yêu cầu sửa thông tinkhách hàng
b) Người quản lý thay đổi các thông tin về khách hàng bao gồmcác thông tin được chỉ ra trong Thêm khách hàng và click vàonút “lưu” Hệ thống sẽ kiểm tra thông tin thay đổi và kiểm trakhách hàng có tồn tại trong bảng KHACHHANG hay không vàcập nhật bảng KHACHHANG, cập nhật hiển thị danh sáchkhách hàng
4. Xóa khách hàng:
a) Người quản lý chọn 1 khách hàng cần xóa và bấm nút
“Xóa” Hệ thống sẽ xóa bản ghi khách hàng đó trong bảngKHACHHANG và cập nhật lại danh sách khách hàng
5. Tìm kiếm khách hàng:
Trang 26a) Khi người quản lý click vào checkbox “tìm kiếm” trong cửa sổdanh sách khách hàng, hệ thống sẽ hiển thị các tiêu chí tìm kiếmcho người quản trị (Mã khách hàng, tên khách hàng, CMND, ).b) Người quản lý nhập thông tin cần tìm kiếm trên TextField Hệthống sẽ kiểm tra thông tin tìm kiếm có tồn tại trong trong bảngKHACHHANG hay không và hiển thị thông tin khách hàng cầntìm kiếm
6. Use case này kết thúc khi người quản lý bấm vào 1 mục quản lýkhác trên giao diện quản lý
● Luồng rẽ nhánh:
1) Tại bước 2b trong luồng cơ bản nếu người quản lý không nhậpthông tin hoặc nhập thông tin không hợp lệ, hệ thống sẽ hiển thịthông báo “lỗi yêu cầu nhập lại”, ngược lại use case sẽ tiếp tục.2) Tại bước 2b trong luồng cơ bản nếu người quản lý bấm nút “hủy
6) Tại bước 5b trong luồng cơ bản nếu người quản lý nhập tiêu chíkhách hàng không tồn tại trong CSDL, hệ thống sẽ hiển thị thôngbáo “khách hàng không tồn tại”, ngược lại use case sẽ tiếp tục
Trang 277) Không kết nối được cơ sở dữ liệu tại bất kỳ thời điểm nào trongquá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗikết nối” và use case kết thúc.
- Các yêu cầu đặc biệt: Không có.
- Tiền điều kiện: Người quản lý hoặc nhân viên phải đăng nhập vào hệ
thống trước khi use case này bắt đầu
- Hậu điều kiện: Không.
- Biểu đồ trình tự chức năng quản lý khách hàng
Trang 323.5.4 Mô tả use case: Quản lý nhà cung cấp
- Mô tả vắn tắt: Use case này cho phép người quản lý có thể thêm, sửa,
xóa, tìm kiếm nhà cung cấp
3. Sửa nhà cung cấp:
a) Người quản lý chọn 1 nhà cung cấp có thông tin sai và clickvào nút “Sửa” hệ thống sẽ hiển thị màn hình yêu cầu sửathông tin nhà cung cấp
b) Người quản lý thay đổi các thông tin về nhà cung cấp baogồm các thông tin được chỉ ra trong Thêm nhà cung cấp vàclick vào nút “lưu” Hệ thống sẽ kiểm tra thông tin thay đổi
và kiểm tra nhà cung cấp có tồn tại trong bảngNHACUNGCAP hay không và cập nhật bảngNHACUNGCAP, cập nhật hiển thị danh sách nhà cung cấp
4. Xóa nhà cung cấp:
Trang 33a) Người quản lý chọn 1 nhà cung cấp cần xóa và bấm nút
“Xóa” Hệ thống sẽ xóa bản ghi nhà cung cấp đó trong bảngNHACUNGCAP và cập nhật lại danh sách nhà cung cấp
5. Tìm kiếm nhà cung cấp:
a) Khi người quản lý click vào checkbox “tìm kiếm” trong cửa
sổ danh sách nhà cung cấp, hệ thống sẽ hiển thị các tiêu chítìm kiếm cho người quản trị (Mã nhà cung cấp, tên nhà cungcấp, địa chỉ, số điện thoại, )
b) Người quản lý nhập thông tin cần tìm kiếm trên TextField
Hệ thống sẽ kiểm tra thông tin tìm kiếm có tồn tại trongtrong bảng NHACUNGCAP hay không và hiển thị thông tinnhà cung cấp cần tìm kiếm
6. Use case này kết thúc khi người quản lý bấm vào 1 mục quản lýkhác trên giao diện quản lý
● Luồng rẽ nhánh:
1) Tại bước 2b trong luồng cơ bản nếu người quản lý không nhậpthông tin hoặc nhập thông tin không hợp lệ, hệ thống sẽ hiển thịthông báo “lỗi yêu cầu nhập lại”, ngược lại use case sẽ tiếp tục.2) Tại bước 2b trong luồng cơ bản nếu người quản lý bấm nút “hủy
Trang 345) Tại bước 5b trong luồng cơ bản nếu người quản lý nhập tiêu chínhà cung cấp không hợp lệ, hệ thống sẽ hiển thị thông báo “lỗi yêucầu nhập lại”, ngược lại use case sẽ tiếp tục.
6) Tại bước 5b trong luồng cơ bản nếu người quản lý nhập tiêu chínhà cung cấp không tồn tại trên CSDL, hệ thống sẽ hiển thị thôngbáo “nhà cung cấp không tồn tại”, ngược lại use case sẽ tiếp tục.7) Không kết nối được cơ sở dữ liệu tại bất kỳ thời điểm nào trongquá trình thực hiện use case thì hệ thống sẽ hiển thị thông báo “lỗikết nối” và use case kết thúc
- Các yêu cầu đặc biệt: Chỉ người quản lý mới sử dụng được use case này.
- Tiền điều kiện: Người quản lý phải đăng nhập vào hệ thống trước khi use
case này bắt đầu
- Hậu điều kiện: Không.
- Biểu đồ trình tự Quản lý nhà cung cấp
Trang 383.5.5 Mô tả use case: Thống kê
- Mô tả vắn tắt: Use case này cho phép người quản lý hoặc nhân viên
thống kê doanh thu của công ty
- Luồng sự kiện:
● Luồng cơ bản:
Trang 391. Use case này bắt đầu khi người quản lý bấm vào tab “Thống KêDoanh Thu” trên giao diện quản lý Hệ thống hiển thị giao diệnthống kê.
2. Người quản lý chọn các chỉ tiêu để thống kê rồi bấm nút “ThốngKê” để xem thống kê Hệ thống hiển thị bảng thống kê theo cácchỉ tiêu đã chọn
3. Use case này kết thúc
● Luồng rẽ nhánh:
1. Tại bước 2 trong luồng cơ bản, nếu người quản lý bấm nút
“Thoát” Hệ thống đóng giao diện thống kê Và chuyển đến giaodiện quản lý Use case này kết thúc
2. Không thể kết nối được với cơ sở dữ liệu: Tại bất kỳ thời điểmnào trong quá trình thực hiện use case nếu không kết nối được với
cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và usecase kết thúc
- Các yêu cầu đặc biệt: Chỉ người quản lý mới có thể sử dụng được use
case này
- Tiền điều kiện: Người quản lý phải đăng nhập vào hệ thống trước khi use
case này bắt đầu
- Hậu điều kiện: Người quản lý xem được doanh thu của công ty.
- Biểu đồ trình tự chức năng Thống kê: