Ø Các dòng sự kiện :Dòng sự kiện chính : · Use case bắt đầu khi một nhân viên muốn sử dụng các chức năng của hệ thống.. Ø Điều kiện sau khi hoàn thành Trang web dành cho nhân viên đăng n
Trang 1Chương 1 Tổng quan
1.1 Xu hướng chung : Ngày nay công nghệ web phát triển ngày càng mạnh
mẽ do nhu cầu làm việc qua web ngày càng nhiều, ứng dụng web từ đó phát triển mạnh mẽ để đáp nhu nhu cầu làm việc của con người càng tiện lợi và nhanh chóng hơn
1.2 Lý do và mục tiêu chọn đề tài : Đề tài là ứng dụng web, sử dụng ngôn ngữ java và framework strust, sau khi hoàn thành sẽ hiểu biết nhiều hơn về công nghệ làm web của java
1.3 Tóm tắt khóa luận
Các công việc được thực hiện trong cuốn khóa như sau:
Chương 1 Tổng quan: Xu hướng chung của web đồng thời sơ lược chung đề tài
Chương 2.: Giới thiệu về Struts và MVC Chương 3: Nêu những vấn đề tồn đọng và cách giải quyết vấn đề đồng thời thiết kế cơ sỡ dữ liệu
Chương 4: Thử nghiệm cài đặt
Chương 5: Tổng kết
Trang 2Chương 2 Khái quát về mô hình MVC và FRAMEWORK
o Mô hình 1: Trước kia khi lập trình một trang jsp, php hay asp, chúng ta thường đan xen các mã html cùng với các mã jsp, php, hay asp Do vậy,
có những khó khăn sau có thể gặp phải:
· Người thiết kế giao diện cũng cần phải biết các ngôn ngữ lập trình, hoặc chúng ta phải trực tiếp thiết kế chúng
· Việc bảo trì chúng thường rất khó khăn, vì một phần các mã chương trình lẫn lộn với mã html
· Khi có lỗi xảy ra, việc tìm ra lỗi và định vị lỗi cũng là một vấn đề khó khăn
o Việc lập trình như trên, người ta gọi là mô hình lập trình 1, hay là mô hình lập trình cổ điển
Trang 32.1.2 Mô hình MVC
Mô hình MVC chia các component ứng dụng thành 3 loại khác nhau đó là Model-View-Controller mỗi components đảm nhận một trách nhiệm nhất định, các components đều độc lập với các components
khác.Nhiệm vụ của các components là:
· View : Người dùng tương tác với ứng dụng thông qua components View.View có trách nhiệm lấy request và gửi yêu cầu đến controller, nhận kết quả từ controller hiển thị cho người dùng.HTML, JSPs, các thư viện Tag và các File nguồn là các thành phần của components View
· Controller : Là trung gian giữa Model và View, Controller có trách nhiệm nhận yêu cầu từ View sau khi nhận yêu cầu controller sẽ thực thi Business logic thích hợp từ Model, sau đó điều khiển components View xuất dữ liệu cho User.ActionSevlet, Action, ActionForm và Struts-config.XML là các thành phần của Controller
· Model : Đảm nhận nhiệm vụ cung cấp dữ liệu từ cơ sở dữ liệu và lưu thông tin vào CSDL, tất cả các Bussiness đều được thực thi ở Model.Truy xuất dữ liệu, sự hợp lệ của dữ liệu và data saving logic là các thành phần của Model
Trang 42.1.3 Lợi ích của mô hình MVC
o Tính tin cậy: Tầng trình bày và tầng giao tác có sự phân chia rõ ràng,
cho phép bạn thay đổi cảm quan của ứng dụng mà không cần biên dịch lại mã lệnh của Model hay Controller
nhiều loại khung nhìn, tất cả cùng truy xuất đến một mã nguồn phía server, từ trình duyệt web (HTTP) cho đến trình duyệt không dây (WAP)
người lập trình cấp thấp phát triển và bảo trì các giao diện người dùng
o Triển khai nhanh chóng : Thời gian phát triển có thể được giảm đáng
kể, bởi vì những người lập trình cho thành phần Controller (nhà phát triển Java) chỉ tập trung vào phần giao tác, còn những người lập trình cho thành phần View (nhà phát triển HTML và JSP) chỉ tập trung vào phần trình bày
o Tính bảo trì : Việc tách phần trình bày và logic nghiệp vụ cũng khiến
việc bảo trì và sửa đổi một ứng dụng Web dựa trên Struts dễ dàng hơn
2.1.4 Hạn chế của mô hình MVC
o Gia tăng sự phức tạp
o Sự kết nối chặc chẻ của view và controller đối với model
o Sự thay đổi đối với giao diện model đòi hỏi sự thay đổi song song trong view và có thể đòi hỏi sự thay đổi thêm đối với controller Sự thay đổi code nào đó có thể trở nên khó khăn hơn
o Tìm ẩn sự cập nhật dư thừa
o Cơ chế truyền sự thay đổi có thể không hiệu quả khi model thay đổi thường xuyên đòi hỏi nhiều thông báo thay đổi Đây không phải là vấn đề chung nếu passive model được sử dụng
o Sự kết nối chặc chẻ giữa view và controller
o Sự tách biệt rõ ràng là rất khó, đôi khi là không thể
Trang 52.2 STRUTS FRAMEWORK
2.2.1 Khái niệm framework struts
nhất để Deloy các ứng dụng Servlet và Jsp sử dụng kiến trúc MVC
o Struts là một tập các Utilities: Struts cung cấp các lớp tiện ích để điều khiển hầu hết các tác vụ trong việc phát triển các ứng dụng Web
o Struts là một tập thư viện các thẻ JSP tùy chọn (Custom JSP Tag): Struts cung cấp các thư viện thẻ tùy chọn cho việc thể hiện các thuộc tính của bean, quản lý các HTML forms, lặp lại các kiểu cấu trúc dữ liệu, và đưa ra các HTML có điều kiện
2.2.2 Struts thực thi mô hình MVC
Mô hình Struts Framework thực thi mô hình MVC bằng cách sử dụng tập hợp các thẻ JSP, các thẻ tùy chọn JSP (custom JSP tag), và các Java servlet Dưới đây là mô tả ngắn gọn cách mà Struts Framework ánh xạ đến mỗi thành phần trong mô hình MVC
Hình 2 Struts thực thi mô hình MVC.
trên mô tả tiến trình mà hầu hết các ứng dụng Struts phải tuân theo
Trang 6Tiến trình này có thể được chia thành 5 bước căn bản:
1) Request được tạo ra từ một View 2) Request được tiếp nhận bởi một ActionServlet (đóng vai trò là
một Controller), và ActionServlet này sẽ lookup URI cần thiết trong file XML và xác định tên của lớp Action sẽ thực hiện các
bussiness logic cần thiết
3) Lớp Action thực hiện các logic của nó trong các thành phần
Model kết hợp với ứng dụng
4) Khi Action hoàn tất tiến trình xử lý của nó, nó sẽ trả điều khiển
về cho ActionServlet Là một phần của thành phần trả về, lớp Action cung cấp một khóa xác định kết quả quả của tiến trình sử
lý đó ActionServlet sử dụng khóa này để xác định kết quả sẽ
được forward đến đâu để trình diễn ra ngoài
Yêu cầu được hoàn tất khi ActionServlet đáp ứng nó bằng cách forward yêu cầu đó đến một View được liên kết đến để trả về khóa đã
đề cập ở trên bước 4, và View này sẽ trinh diễn kết quả của Action
Thành phần Model
Các thành phần Model của Struts Framework, biểu diễn các đối tượng dữ liệu của ứng dụng Struts Chúng thường biểu diễn các đối tượng nghiệp vụ hay các hệ thống backend khác và có thể được hiện thực là những JavaBea đơn giản, những EnterpriseJavaBean, những biểu diễn đối tượng của dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ, hoặc chỉ là những gì cần được thao tác hay biểu diễn trong một ứng dụng Web
Thành phần View
Mỗi thành phần View trong Struts Framework được ánh xạ đến một trang JSP, trang này có thể chứa bất kỳ sự kết hợp nào của các thẻ tùy biến Struts, JSP, và HTML Các trang JSP trong Struts
Framework có hai chức năng chính Thứ nhất, đóng vai trò là tầng
Trang 7trình bày của một Controller Action đã được thực thi trước đó Điều này thường được hoàn thành bằng cách sử dụng một tập thẻ tùy biến
để duyệt và thu lấy dữ liệu mà Controller Action chuyển đến JSP đích Loại View này không thể hiện đặc trưng của Struts và không được lưu tâm
Chức năng thứ hai, thể hiện đặc trưng của Struts, là thu thập dữ liệu
cần thiết để thực hiện một Controller Action cụ thể Điều này thường được hoàn thành bằng cách kết hợp các thư viện thẻ Struts và các đối tượng ActionForm Loại View này chứa một số lớp và thẻ đặc-trưng-Struts Đoạn mã sau là một ví dụ đơn giản về loại View này:
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html">
<html:form action="loginAction.do"
name="loginForm"
type="com.stock.loginForm" >
User Id: <html:text property="username"><br/>
Password: <html:password property="password"><br/>
Trang 8và dựa trên các yêu cầu này, tạo ra các đối tượng Action nhằm thực hiện logic nghiệp vụ cần thiết để hoàn tất các dịch vụ này.
Đi kèm với thẻ <action> trong file struts-config.xml, nó quản
lý toàn bộ các dữ liệu được submit lên từ phía người dùng và có thể thực hiện validate các dữ liệu đó
Trang 9Ø Action:
Lấy các giá trị từ actionfrom và kết hợp với lớp Model để giải quyết Request, chứa toàn bộ những xử lý cho các yêu cầu của người dung
2.2.5 Các file cấu hình cần thiết để xây dựng một ứng dụng Struts
Web.xml:
o File này chứa toàn bộ các cấu hình của ActionServlet, các sự ánh
xạ của các yêu cầu từ phía người dùng đến ActionServlet, và tất các Struts Tag Library Definitions (TLDs)
Struts-config.xml:
o File này chứa tất cả các thông tin cấu hình cho một ứng dựng xây dựng dựa trên Struts
ApplicationResources.properties:
o File này trung tâm chứa các nội dung tĩnh được sử dụng trong toàn
bộ ứng dụng Struts Nó cho phép các nhà phát triển dễ dàng thay đổi nội dung các text và các nội dung dùng chung sử dụng trong ứng dụng
Trang 10Chương 3 Phân tích và thiết kế ứng dụng
3.1 Vấn đề tồn đọng trong cửa hàng bán sách hiện tại.
Ø Việc cập nhật khách hàng, sách, hóa đơn phải thực bằng tay gặp khó khăn và thiếu chính xác
Ø Việc thống kê theo số lượng đầu sách, loại sách, tác giả, dựa vào sổ ghi chép và hóa đơn khó khăn và mất thời gian
Ø Việc thống kê doanh thu của nhà sách gặp nhiều khó khăn thiếu chính xác
thể thực hiện dựa trên sổ ghi chép
Ø Khó kiểm tra số lượng sách mất do phải dựa vào số lượng sách bán được và số lượng sách trong kho thực hiện bằng tay gặp nhiều khó khăn
3.2.1 Danh sách các yêu cầu.
Trang 11Ø Cập nhật hóa đơn
Ø Thống kê doanh thu theo sách
Ø Thống kê sách bán theo ngày
3.2.2 Phân tích sơ đồ Usecase
Admin sau khi dang nhap thi duoc toan quyen tren he thong
Cac user sau khi dang nhap moi duoc su dung cac chuc nang cua he thông
Khach hang Tra cuu sach
Tra cuu khach hang
Cap nhat khach hang
Cap nhat hoa don
Cap nhat nhan vien
Thong ke doanh thu theo
Cap nhat sach
Dang nhap
Cap nhat nha xuat ban
Cap nhat nha cung cap Nhan vien quan
Trang 12Nhan vien ban sach
admin
Ø Điều kiện tiên quyết:
Không có
Ø Các dòng sự kiện :Dòng sự kiện chính :
· Use case bắt đầu khi một nhân viên muốn sử dụng các chức năng của hệ thống
· Hệ thống yêu cầu nhân viên nhập Usename và password
· Nhân viên nhập usename và password
· Nhân viên chọn chức năng đăng nhập
user thuộc nhóm người nào và mở màn hinh chức năng cho user đó
Trang 13Dòng sự kiện phụ:
· Nếu user nhập sai usename và password thì chương trình xuất
thông báo và yêu cầu nhập lại
Ø Yêu cầu đặc biệt
Không có
Ø Điều kiện sau khi hoàn thành
Trang web dành cho nhân viên đăng nhập vào hệ thống được
Ø Điều kiện tiên quyết : không có
Ø Các dòng sự kiện :
Dòng sự kiện chính
· Người sử dụng chọn trang tra cứu
· Hệ thống trả về trang tra cứu sách cho người sử dụng
· Người dùng chọn tiêu thức tra cứu và nhập thông tin cần tra cứu
· Người sử dụng chọn chức năng tra cứu
Trang 14· Hệ thống xử lý thông tin tra cứu và trả kết quả tra cứu về cho người sử dụng
Ø Điều kiện sau khi hoàn thành :
Hệ thống hiển thị kết quả tra cứu
Ø Điểm mở rộng :
v Tra cứu khách hàng
Ø Tóm tắt :
Usecase mô tả chức năng tìm kiếm khách hàng
Ø Actor : Nhân viên bán sách
Ø Usecase diagram :
Nhan vien ban sach Tra cuu khach hang
Ø Điều kiện tiên quyết :
Nhân viên bán sách phải đăng nhập vào hệ thống
Ø Các dòng sự kiện :
Dòng sự kiện chính
· Nhân viên mở trang tra cứu
· Hệ thống trả về trang tra cứu khách hàng
· Nhân viên chọn tiêu thức tra cứu và nhập các thông tin tra cứu
· Nhân viên chọn chức năng tra cứu khách hàng
Trang 15· Hệ thống xử lý thông tin tra cứu và hiển thị kết quả tra cứu cho nhân viên.
Dòng sự kiện phụ
· Không có dữ liệu nào thỏa mãn thông tin tra cứu hệ thống thông báo cho người sử dụng không khách hàng nào thỏa mãn điều kiện tra cứu
Ø Yêu cầu đặc biệt :
Không có
Ø Điều kiện sau khi hoàn thành :
Hệ thống hiển thị kết quả tra cứu
Ø Use case diagram
Ø Điều kiện tiên quyết : Admin phải đăng nhập vào hệ thống
Ø Các dòng sự kiện :
Dòng sự kiện chính
· Admin chọn trang cập nhật nhân viên
· Hệ thống hiển thị trang cập nhật nhân viên và danh sách các nhân viên
Trang 16· Admin chọn trang thêm nhân viên
· Trang thêm nhân viên xuất hiện
· Admin nhập các thông tin nhân viên
· Admin chọn chức năng thêm nhân viên
· Hệ thống lưu khách hàng xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thêm thành công hay khôngDòng sự kiện phụ
o Sửa khách hàng:
· Admin chọn trang sửa nhân viên
· Hệ thống hiển thị thông tin nhân viên
· Admin chọn sửa các trường thông tin
· Admin chọn chức năng lưu
· Hệ thống lưu xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thành công hay không
o Xóa khách hàng
· Admin chọn trang xoá nhân viên
· Hệ thống hiển thị màn hình xóa nhân viên
· Admin chọn nhân viên muốn xóa
· Admin chọn chức năng xóa nhân viên
· Hệ thống xuất ra thông báo hỏi có muốn xóa hay không
· Admin nhấn đồng ý
· Hệ thống xóa nhân viên trong cơ sở dữ liệu
· Xuất ra thông báo xóa thành công hay không
o Nếu Admin không nhập những trường thông tin bắt buộc nhập hệ thống xuất thông báo lỗi
Không có
Ø Điều kiện sau khi hoàn thành :
Trang 17Thêm, sửa, xóa thành công một nhân viên.
Nhan vien quan
ly kho Cap nhat loai sach
Ø Điều kiện tiên quyết :
Nhân viên quản lý kho phải đăng nhập vào hệ thống
Ø Các dòng sự kiện
Dòng sự kiện chính
· Nhân viên chọn trang cập nhật loại sách
· Hệ thống hiển thị trang cập nhật loại sách và danh sách các loại sách
· Nhân viên chọn chức năng thêm loại sách
· Trang thêm loại sách xuất hiện
· Nhân viên nhập các thông tin loại sách(Mssach,tenloaisasch)
· Nhân viên chọn chức năng lưu
· Hệ thống lưu loại sách xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thêm thành công hay không
Dòng sự kiện phụ
Trang 18· Hệ thống hiển thị trang thông tin loại sách
· Nhân viên chọn sửa các trường thông tin
· Nhân viên chọn chức năng lưu
· Hệ thống lưu xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thành công hay không
o Xóa loại sách
· Nhân viên chọn chức năng xóa loại sách
· Hệ thống hiển thị màn hình xóa loại sách
· Nhân viên chọn loại sách muốn xóa
· Nhân viên chọn chức năng xóa
· Hệ thống xuất ra thông báo hỏi có muốn xóa hay không
· Nhân viên nhấn đồng ý
· Hệ thống xóa loại sách trong cơ sở dữ liệu
· Xuất ra thông báo xóa thành công hay không
o Nếu nhân viên không nhập những trường thông tin bắt buộc nhập hệ thống xuất thông báo lỗi
Nhân viên quản lý kho
Ø Use case diagram :
Trang 19Nhan vien quan
ly kho Cap nhat sach
Ø Điều kiện tiên quyết :
Nhân viên quản lý kho phải đăng nhập vào hệ thống
Ø Các dòng sự kiện
Dòng sự kiện chính
· Nhân viên chọn trang cập nhật sách
· Hệ thống hiển thị trang cập nhật sách và danh sách các cuốn sách
· Nhân viên chọn chức năng thêm sách
· Trang thêm sách xuất hiện
· Nhân viên nhập các thông tin loại sách(mssach,tensasch,….)
· Nhân viên chọn chức năng lưu
· Hệ thống lưu sách xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thêm thành công hay không
Dòng sự kiện phụ
o Sửa sách
· Hệ thống hiển thị trang thông tin sách
· Nhân viên chọn sửa các trường thông tin
· Nhân viên chọn chức năng lưu
· Hệ thống lưu xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thành công hay không
o Xóa loại sách
· Nhân viên chọn chức năng xóa sách
· Hệ thống hiển thị trang xóa sách
· Nhân viên chọn cuốn sách muốn xóa
· Nhân viên chọn chức năng xóa
Trang 20· Hệ thống xuất ra thông báo hỏi có muốn xóa hay không
· Nhân viên nhấn đồng ý
· Hệ thống xóa sách trong cơ sở dữ liệu
· Xuất ra thông báo xóa thành công hay không
o Nếu nhân viên không nhập những trường thông tin bắt buộc nhập
hệ thống xuất thông báo lỗi
Ø Yêu cầu đặc biệt : không có
Ø Điều kiện sau khi hoàn thành : Thêm, sửa, xóa thành công một loại sách
· Nhân viên chọn trang cập nhật khách hàng
· Hệ thống hiển thị trang cập nhật khách hàng và danh sách các khách hàng
· Nhân viên chọn chức năng thêm khách hàng
Trang 21· Trang thêm khách hàng xuất hiện
· Nhân viên nhập các thông tin loại sách
· Nhân viên chọn chức năng lưu
· Hệ thống lưu khách hàng xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thêm thành công hay khôngDòng sự kiện phụ
o Sửa khách hàng:
· Nhân viên chọn trang sửa khách hàng
· Hệ thống hiển thị thông tin khách hàng
· Nhân viên chọn sửa các trường thông tin
· Nhân viên chọn chức năng lưu
· Hệ thống lưu xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thành công hay không
o Xóa khách hàng
· Nhân viên chọn trang xóa khách hàng
· Hệ thống hiển thị màn hình xóa khách hàng
· Nhân viên chọn khách hàng muốn xóa
· Nhân viên chọn chức năng xóa
· Hệ thống xuất ra thông báo hỏi có muốn xóa hay không
· Nhân viên nhấn đồng ý
· Hệ thống xóa khách hàng trong cơ sở dữ liệu
· Xuất ra thông báo xóa thành công hay không
o Nếu nhân viên không nhập những trường thông tin bắt buộc nhập
hệ thống xuất thông báo lỗi
Ø Yêu cầu đặc biệt :
Không có
Ø Điều kiện sau khi hoàn thành :
Thêm, sửa, xóa thành công một khách hàng
Trang 22Ø Điều kiện tiên quyết :
Nhân viên bán sách phải đăng nhập vào hệ thống
Ø Các dòng sự kiện:
Dòng sự kiện chính
· Nhân viên chọn trang cập nhật hóa đơn
· Hệ thống hiển thị trang cập nhật hóa đơn và danh sách các hóa đơn
· Nhân viên chọn chức năng thêm hóa đơn
· Trang thêm sách xuất hiện
· Nhân viên nhập các thông tin hóa đơn (mssach,tensasch,….)
· Nhân viên chọn chức năng lưu
· Hệ thống lưu hóa đơn xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thêm thành công hay không Dòng sự kiện phụ
o Sửa hóa đơn:
· Nhân viên chọn trang sửa hóa đơn
Trang 23· Hệ thống hiển thị thông tin hóa đơn
· Nhân viên chọn sửa các trường thông tin
· Nhân viên chọn chức năng lưu
· Hệ thống lưu xuống cơ sở dữ liệu
· Hệ thống xuất thông báo thành công hay không
· Nhân viên chọn chức năng xóa hóa đơn
· Hệ thống hiển thị màn hình xóa hóa đơn
· Nhân viên chọn hóa đơn muốn xóa
· Nhân viên chọn chức năng xóa
· Hệ thống xuất ra thông báo hỏi có muốn xóa hay không
· Nhân viên nhấn đồng ý
· Hệ thống xóa khách hàng trong cơ sở dữ liệu
· Xuất ra thông báo xóa thành công hay không
o Nếu nhân viên không nhập những trường thông tin bắt buộc nhập hệ thống xuất thông báo lỗi
Ø Yêu cầu đặc biệt: không có
Ø Điều kiện sau khi hoàn thành :
Thêm, sửa, xóa thành công một loại sách
Ø Điểm mở rộng:
v Thống kê doanh thu theo sách
Ø Tóm tắt :
Usecase này mô tả Nhân viên Thống Kê thực hiện việc thống
kê doanh thu của nhà sách
Ø Actor :
Nhân viên thống kê
Ø Usecase diagram :
Trang 24Nhan vien Thong ke
Thong ke doanh thu
Ø Điều kiện tiên quyết :
Nhân viên phải đăng nhập thành công với tư cách nhân viên thống kê
Ø Các dòng sự kiện :
Dòng sự kiện chính
· Hệ thống yêu cầu actor chọn trang thống kê doanh thu theo khoảng thời gian
· Nhân viên nhập vào khoảng thời gian cụ thể cần thống kê
· Nhân viên chọn chức năng thống kê
· Hệ thống xử lý chức năng mà thực hiện thống kê theo khoảng thời gian
Dòng sự kiện phụ
· Nếu actor chưa chọn thời gian thì yêu cầu actor chọn lại, ngược lại thì tính tổng giá trị các hóa đơn trên
Ø Yêu cầu đặc biệt : không có
Ø Điều kiện sau khi hoàn thành :
Hiển thị kết quả thống kê cho người sử dụng xem
Ø Điểm mở rộng: không có
v Thống kê sách bán theo ngày
Ø Tóm tắt :
Usecase này mô tả Nhân viên Thống Kê thực hiện việc thống
kê sách bán trong ngày
Ø Actor :
Nhân viên thống kê
Trang 25Ø Usecase diagram :
Nhan vien thu kho
Thong ke sach ban
Ø Điều kiện tiên quyết :
Nhân viên phải đăng nhập thành công với tư cách nhân viên thống kê
Ø Các dòng sự kiện :
Dòng sự kiện chính
· Hệ thống yêu cầu actor chọn trang thống kê sách bán theo ngày
· Nhân viên nhập ngày cụ thể cần thống kê
· Nhân viên chọn chức năng thống kê
· Hệ thống xử lý chức năng mà thực hiện thống kê theo ngày
Dòng sự kiện phụ
· Nếu actor chưa chọn ngày thì yêu cầu actor chọn lại, ngược lại thì tính tổng số lượng sách bán
Ø Yêu cầu đặc biệt : không có
Ø Điều kiện sau khi hoàn thành :
Hiển thị kết quả thống kê cho người sử dụng xem
Ø Điểm mở rộng: không có