Nhằm giúp cho khách hàng có thể tìm kiếm các sách mình cần một cách nhanh chóng mà không cần phải mất nhiều thời gian.
Khách hàng chỉ cần nhập vào đầy đủ những thông tin cần thiết về sách cần tìm kiếm như: Tên sách, thể loại, ngôn ngữ, tác giả, .
23 trang |
Chia sẻ: vietpd | Lượt xem: 3470 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Khảo sát hiện trạng tại nhà sách, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG
Sau khi nghiên cứu và khảo sát tình hình hoạt động thực tế tại một số nhà sách, chúng em đã đi đến kết luận là cần phải có một chương trình hỗ trợ những nghiệp vụ sau:
1/ Yêu Cầu Chức Năng Đối Với Khách Hàng:
Ø Tìm Kiếm :
Nhằm giúp cho khách hàng có thể tìm kiếm các sách mình cần một cách nhanh chóng mà không cần phải mất nhiều thời gian.
Khách hàng chỉ cần nhập vào đầy đủ những thông tin cần thiết về sách cần tìm kiếm như: Tên sách, thể loại, ngôn ngữ, tác giả, ...
Khi đã nhập vào đúng yêu cầu, Chương trình sẽ đưa ra kết quả :
ü Danh sách những quyển sách đáp ứng nhu cầu của khách hàng.
ü Thông tin chính xác về sách cần tìm : Tên sách, nhà xuất bản, tác giả ...
Bảng thông báo sách này không tồn tại hoặc không có bán tại nhà sách (nếu sách đó không có).
Giá cả của từng quyển sách.
Tóm tắt nội dung từng quyển sách.
Khách hàng có thể chọn quyển sách nào phù hợp với nhu cầu của mình.
Đặt Hàng :
Sau khi chọn những mặt hàng cần mua và bỏ vào giỏ hàng của mình, nếu như khách hàng đồng ý mua những quyển sách mình đã chọn thì họ sẽ phải đăng nhập vào hệ thống với username và password đã cấp cho họ.
Nếu là khách hàng mới thì phải đăng ký vào hệ thống bằng cách gõ đầy đủ các thông tin sau:
ü Họ Tên Khách hàng
Username
Password
Địa chỉ
Số điện thoại (nếu có)
. . .
Sau khi khách hàng đăng nhập thành công thì lúc bấy giờ sẽ cho khách hàng lựa chọn hai giải pháp thanh toán:
ü Tiền mặt
Chuyển khoản.
Nếu khách hàng chọn thanh toán bằng tiền mặt thì yêu cầu khách hàng chọn thời gian thanh toán, sau đó mọi thông tin về khách hàng và về những quyển sách đã chọn sẽ được ghi nhận, ngày đặt hàng chính là ngày hiện tại, nhà sách sẽ hẹn thời gian giao hàng cho khách hàng.
Nếu khách hàng chọn thanh toán bằng chuyển khoản thì nhà sách sẽ kết nối đến ngân hàng để kiểm tra tài khoản của khách hàng nhập vào có hợp lệ hay không. Nếu như sau 3 lần khách hàng vẫn nhập sai số tài khoản thì phiên giao dịch sẽ bị hủy và mọi thông tin của khách hàng sẽ không còn hiệu lực. Nếu như mọi thông tin đều hợp lệ thì các thông tin về khách hàng và về những quyễn sách đã chọn mua sẽ được ghi nhận và ngày đặt hàng sẽ chính là ngày hiện tại.
Yêu Cầu Chức Năng Đối Với Nhà Sách:
Lưu Trữ
Nhà sách cần lưu trữ những thông tin như sau:
Ø Đối với Sách :
Mã Sách
Tên Sách
Thể Loại
Ngôn Ngữ
Nhà Xuất Bản
Tác Giả
Năm Xuất Bản
Đơn Giá
Hình Aûnh
Tóm Tắt Nội Dung
Số Trang
Tồn Kho Hiện Tại
Ngày Cập Nhật
Ø Đối Với Khách Hàng
Mã Khách Hàng
Họ Tên Khách Hàng
Username
Password
Địa Chỉ
Điện Thoại
Email
Công Nợ
…
Ø Đối Với Đơn Đặt Hàng
Mã Đơn Đặt Hàng
Mã Khách Hàng
Hình Thức Thanh Toán
Ngày Chọn Mua Hàng
Mã Sách
Số Lượng
Đơn Giá
Thành Tiền
Ø Đối Với nhà Cung Cấp
Mã Nhà Cung Cấp
Tên Nhà Cung Cấp
Địa Chỉ
Điện Thoại
Công Nợ Nhà Cung Cấp
Ø Đối Với Phiếu Nhập
Mã Phiếu Nhập
Ngày Nhập Hàng
Mã Nhà Cung Cấp
Mã Nhân Viên Nhập
Mã Kho
Ø . . .
Tra Cứu (tìm kiếm)
Ø Đối với sách
Tra cứu theo Mã Sách
Tra cứu theo Tên Sách
Tra cứu theo Thể Loại
Tra cứu theo Tên Tác Giả
Tra cứu theo Nhà Xuất Bản
Tra cứu theo Ngôn Ngữ
Xử Lý
Ø Tính giá trị Đơn Đặt Hàng
Ø Tính số lượng Hàng đã bán ra (theo Đơn Đặt Hàng)
Thống Kê, Báo Biểu
Ø Thống kê Đơn Đặt Hàng
Ø Thống kê Khách Hàng
Ø Thống kê Sách
Ø Thống kê Nhà Cung Cấp
Ø Thống kê Phiếu Nhập
Ø Thống kê Phiếu Chi
Ø Thống kê Phiếu Xuất
Ø Thống kê Phiếu Giao
Ø Thống kê Phiếu Thu
2.1. Bán Hàng:
Bán hàng thường theo cách là khách hàng đến Công Ty xem mẫu các mặt hàng, hoặc do nhân viên của Công Ty đến chào hàng (quãng cáo). Khi đã đồng ý một mặt hàng nào đó, khách hàng có thể mua hàng. Và nếu số lượng nhiều, nhà sách sẽ mang hàng đến tận nơi cho khách hàng.
Với phương thức bán hàng như vậy sẽ mất thời gian cho khách hàng và cho nhà sách rất nhiều, vì thế việc đưa ra một trang web để phục vụ cho khách hàng thật cần thiết.
. Liên lạc với khách hàng:
Do Phòng Nghiệp Vụ đảm trách để thông báo những mặt hàng mới cho khách hàng, những mặt hàng mà khách hàng quan tâm, những mặt hàng mà khách hàng có nhu cầu (thông qua phiếu thăm dò ý kiến khách hàng).
Khách hàng có thể đăng ký vào phiếu thăm dò ý kiến khách hàng để khi nhà sách có những mặt hàng mới mà họ quan tâm có thể liên lạc với họ thông qua những thông tin cần lưu trữ của khách hàng :
ü Họ tên Khách hàng
ü Địa chỉ
ü Điện thoại
ü Sách quan tâm
Căân cứ vào những thông tin trên mà nhà sách có những chính sách giá cả phù hợp : giảm giá cho khách hàng thường xuyên mua hàng.
Các Yêu Cầu Phi Chức Năng
Ø Việc Tra Cứu đòi hỏi phải chính xác
Ø Thông tin về khách hàng, thông tin về Sách, … cần phải được lưu trữ định kỳ đề phòng những khả năng hỏng hóc có thể xảy ra.
Ø Chương trình phải ngăn chặn những truy cập trái phép của người dùng để bảo đảm tính an toàn.
Ø Chương trình phải có tính năng dễ nâng cấp, bảo trì, sửa chữa khi cần bổ sung, cập nhật những tính năng mới.
Để đáp ứng nhu cầu của khách hàng, nhà sách luôn nghiên cứu, tìm kiếm những thông tin phản hồi của khách hàng cũng như để đầy mạnh việc kinh doanh của nhà sách, nhà sách sẽ nhập thêm những loại sách được nhiều khách hàng quan tâm mua nhất.
Sách được nhập về dựa trên những thông tin như :
ü Nhu cầu của khách hàng.
ü Thị trường.
ü . . . .
Nhà sách còn phải xem xét thị trường xem sách nào bán chạy, sách nào bán chậm, … để đưa ra chiến lược kinh doanh như : ngưng nhập về những cuốn sách bán chậm hoặc ngưng nhập các sách không bán được, nhập về nhưng cuốn sách đang bán chạy trên thị trường …
CHƯƠNG 2: ĐẶC TẢ TÍNH NĂNG VÀ YÊU CẦU
I. ĐẶC TẢ TÍNH NĂNG:
Dựa vào yêu cầu của bài toán, ta nhận thấy hệ thống nhà sách được xây dựng nhằm phục vụ những khách hàng có nhu cầu mua sách tin học trực tuyến qua mạng. Hệ thống phục vụ chủ yếu cho những nhóm người sau :
1.Khách hàng :
- Khách hàng là những người vào hệ thống tìm kiếm các sách cần mua và đặt hàng với hệ thống. Khách hàng có thể tìm sách mình cần theo : tên sách (có thể là một kí tự , chữ, câu … ), tên thể loại, tên tác giả, tìm theo giá, tìm theo nhà xuất bản, tìm theo ngôn ngữ … Sau khi tìm được sách mình cần, khách mua có thể bỏ sách vào giỏ hàng và đặt mua hàng với hệ thống. Hệ thống sẽ nhận đơn đặt hàng của họ và hẹn ngày giao hàng.
2. Người quản trị hệ thống (Admin) :
- Người quản trị hệ thống là người làm chủ ứng dụng. Họ có quyền kiểm soát mọi họat động của hệ thống. Mỗi người quản trị hệ thống sẽ được cấp một username và một password để thực hiện chức năng của mình. Họ phải đăng nhập vào hệ thống bằng username và password của mình.
- Nếu như quá trình đăng nhập thành công thì người quản trị hệ thống có những chức năng sau :
Chức năng đối với khách hàng, nhân viên và người quản trị:
+ Xem thông tin về khách hàng, về nhân viên, về người quản trị.
+ Thêm người quản trị, thêm nhân viên mới.
+ Xóa người quản trị, xóa khách hàng, xóa nhân viên.
+ Thay đổi thông tin của người quản trị, thay đổi thông tin của khách hàng, thay đổi thông tin của nhân viên.
Chức năng đối với sách:
+ Xem thông tin về sách, thể loại, ngôn ngữ, nhà xuất bản, tác giả.
+ Thêm sách mới, thêm thể loại, ngôn ngữ, nhà xuất bản, tác giả.
+ Xóa sách, xóa thể loại, ngôn ngữ, nhà xuất bản, tác giả.
+ Thay đổi các thông tin về sách, về thể loại, về ngôn ngữ, nhà xuất bản, tác giả.
Chức năng đối với đơn đặt hàng:
+ Xem đơn đặt hàng
+ Xóa đơn đặt hàng
Chức năng đối với phiếu xuất:
+ Xem các phiếu xuất
+ Lập phiếu xuất mới
+ Xóa phiếu xuất
+ Sửa thông tin về phiếu xuất
Chức năng đối với phiếu giao:
+ Xem thông tin về phiếu giao
+ Tạo phiếu giao mới
+ Xóa phiếu giao
+ Sửa thông tin về phiếu giao
Chức năng đối với phiếu thu:
+ Xem thông tin về phiếu thu
+ Lập phiếu thu mới
+ Xóa phiếu thu
+ Sửa thông tin về các phiếu thu
Chức năng đối với phiếu nhập:
+ Xem thông tin về phiếu nhập
+ Lập phiếu nhập mới
+ Xóa phiếu nhập
+ Sửa thông tin về các phiếu nhập
Chức năng đối với nhà cung cấp:
+ Xem các thông tin về nhà cung cấp.
+ Thêm nhà cung cấp mới.
+ Xóa nhà cung cấp.
+ Sửa thông tin về nhà cung cấp.
Chức năng đối với phiếu chi:
+ Xem thông tin về phiếu chi
+ Lập phiếu chi mới
+ Xóa phiếu chi
+ Sửa thông tin về các phiếu chi
3. Nhân viên :
- Việc thu tiền sách từ khách hàng, chi trả tiền cho nhà cung cấp, giao sách cho khách hàng, nhập sách từ nhà cung cấp, xuất sách từ kho được thực hiện bởi nhân viên.
- Sau khi đăng nhập thành công với username và password thì có thể có các chức năng sau:
Chức năng đối với phiếu xuất:
+ Xem các phiếu xuất
+ Lập phiếu xuất mới
+ Xóa phiếu xuất
+ Sửa thông tin về phiếu xuất
Chức năng đối với phiếu giao:
+ Xem thông tin về phiếu giao
+ Tạo phiếu giao mới
+ Xóa phiếu giao
+ Sửa thông tin về phiếu giao
Chức năng đối với phiếu thu:
+ Xem thông tin về phiếu thu
+ Lập phiếu thu mới
+ Xóa phiếu thu
+ Sửa thông tin về các phiếu thu
Chức năng đối với phiếu nhập:
+ Xem thông tin về phiếu nhập
+ Lập phiếu nhập mới
+ Xóa phiếu nhập
+ Sửa thông tin về các phiếu nhập
Chức năng đối với phiếu chi:
+ Xem thông tin về phiếu chi
+ Lập phiếu chi mới
+ Xóa phiếu chi
+ Sửa thông tin về các phiếu chi
4. Nhà cung cấp :
- Nhà cung cấp có chức năng cung cấp sách cho nhà sách thông qua phiếu nhập.
5. Nhà Bank:
- Ngân hàng (bank) có chức năng kiểm tra xem các thông tin về card của khách hàng sau khi tạo đơn đặt hàng có đúng không. Sau khi khách hàng tạo đơn đặt hàng thì các thông tin về card như: MãSốCard, MãLoạiCard,… sẽ được gởi đến ngân hàng để xác nhận. Nếu như các thông tin trên không hợp lệ thì ngân hàng sẽ gởi thông báo đến cho khách hàng biết. Sau 3 lần, nếu như khách hàng gõ sai thông tin thì phiên giao dịch sẽ bị hủy. Còn nếu mọi thông tin đều hợp lệ thì ngân hàng sẽ xác nhận và nhà sách sẽ hẹn ngày giao hàng cho khách hàng.
Các thông tin về sách, thể loại, ngôn ngữ, nhà xuất bản, tác giả, đều được lưu trong cơ sở dữ liệu của hệ thống. Hệ thống này xây dựng dưới dạng Web để cho người sử dụng có thể tương tác được bất kì một máy nào được nối mạng với máy chủ của nhà sách.
II. YÊU CẦU CỦA ĐỀ TÀI
Đề tài liên quan đến một máy chủ và một hay nhiều máy khách .Máy khách gởi yêu cầu đến máy chủ và máy chủ hồi đáp yêu cầu. Máy khách bắt đầu bằng cách thiết lập nối kết với máy chủ . Máy chủ có thể chấp nhận hay từ chối nối kết . Máy chủ phải đang chạy khi máy khách khởi động .Máy chủ chờ nối kết từ máy khách . Có các câu lệnh cần để máy chủ và máy khách trao dữ liệu với nhau. Các máy giao tiếp với nhau là dựa theo giao thức TCP/IP (Trasmission Control Protocol / Internet Protocol).
Yêu cầu của bài toán được đặt ra cụ thể như sau:
1- Về mặt ứng dụng:
Đối với những khách hàng vào hệ thống để mua hàng, hệ thống phải hỗ trợ sao cho khách hàng có thể tìm kiếm, chọn và đặt hàng một cách dễ dàng. Khi khách hàng đặt mua sản phẩm, hệ thống sẽ chuyển đơn đặt hàng này đến nhà sách.
Đối với nhà sách, nhà sách sẽ dể dàng trong việc quản lý. Nhà sách có thể biết được các khách hàng quen thuộc qua những lần mua hàng. Có thể quản lý tồn kho và công nợ của khách hàng cũng như của nhà cung cấp. Có thể quản lý được các hóa đơn xuất nhập, hóa đơn đặt hàng của khách hàng, hóa đơn giao hàng cho khách hàng…
2- Về mặt kỹ thuật:
Ứng dụng triển khai trên môi trường Web nên bài toán đòi hỏi hệ thống phải có những khả năng về kỹ thuật như sau:
Hỗ trợ nhiều hệ điều hành (cho cả client và server).
Hỗ trợ nhiều trình duyệt (như IE, Netscape..)
Hỗ trợ nhiều người dùng.
Dung lượng:
Ø Số lượng người truy cập: không giới hạn.
Ø Số lượng sách: không giới hạn.
3. Một số yêu cầu khác
Ngoài các yêu cầu trên, ứng dụng có thể:
Hỗ trợ tiếng Việt (Unicode).
Dễ dàng cài đặt.
Dễ dàng sử dụng.
Dễ dàng nâng cấp và mở rộng.
CHƯƠNG 3: GIẢI PHÁP LỰA CHỌN
I. KHẢO SÁT MÔ HÌNH
Ngày nay, những ứng dụng không còn đơn thuần chạy trên một máy đơn lẻ mà thay bằng những ứng dụng đòi hỏi sự tương tác từ nhiều phía người dùng, chia sẽ tài nguyên, triệu gọi từ xa, phân tán dữ liệu. . . Với những đòi hỏi trên, mô hình mạng client/server đã ra đời và tồn tại đến ngày nay.
Mô hình mạng client/server là mô hình mà tất cả các thao tác xử lý phức tạp đều được chuyển giao cho máy server xử lý. Máy client chỉ đóng vai trò gửi yêu cầu và hiển thị dữ liệu. Điển hình mô hình này là các ứng dụng cơ sở dữ liệu. Máy client là trình ứng dụng có khả năng kết nối và truy vấn dữ liệu từ một máy server ở xa.
Thật vậy, mô hình client/server đã giúp phát triển một phương thức ứng dụng mới đó là việc phân tầng, chia ứng dụng thành nhiều lớp thực hiện những chức năng chuyên biệt. Việc phân chia ứng dụng thành nhiều lớp còn giúp cho ứng dụng trở nên dễ dàng thay đổi, nâng cấp và đáng tin cậy. Do đó mô hình này rất thích hợp với những ứng dụng có yêu cầu thay đổi thường xuyên như là ứng dụng Web.
Với yêu cầu của bài toán, ta sẽ xây dựng ứng dụng theo mô hình phân tầng (cho phép ứng dụng chạy trên nhiều máy server khác nhau).Mô hình ba tầng được thể hiện cụ thể qua hình sau:
Server-side
Presentation
Server-side
Business logic
Enterprise
Data store
Client Tier
Middle Tier
Data Tier
Client
Client
Hình 3.1: Mô Hình 3 Tầng
Hệ thống hoạt động trong mô hình ba tầng và công nghệ để triển khai ứng dụng là công nghệ Java. Do vậy, mô hình kiến trúc hệ thống được phân tầng như sau:
v Client tier: tầng này bao gồm hai tầng con: client và server-side presentation. Tầng con client sử dụng trình duyệt Web để truyền yêu cầu của người dùng đến tầng con server-side thông qua giao thức http. Tầng này là cầu nối giữa ứng dụng với người dùng, cung cấp những chức năng của ứng dụng cho người dùng và nhận những yêu cầu của người dùng cho ứng dụng để qua đó trả lại kết quả mà người dùng mong đợi. Tầng này thiết kế sao cho càng thân thiện với người dùng càng tốt.
v Middle tier: Tầng này hỗ trợ cho việc trao đổi dữ liệu giữa client tier và data tier. Nó cung cấp các chức năng cần thiết để tầng client có thể trao đổi dữ liệu với ngân hàng dữ liệu được quản lý bởi data tier.
v Data tier: là kho lưu trữ dữ liệu thương mại, chứa những dữ liệu về chức năng của ứng dụng, cung cấp khả năng truy xuất đến cơ sở dữ liệu cho tầng middle nếu cần.
Việc phân chia ứng dụng thành nhiều lớp còn giúp cho ứng dụng trở nên dễ dàng thay đổi, cập nhật và đáng tin cậy hơn.
II. LỰA CHỌN CÔNG NGHỆ
Trong thời đại công nghệ thông tin bùng nổ một cách nhanh chóng như hiện nay, việc chọn một ngôn ngữ lập trình thích hợp là một vấn đề không đơn giản. Dựa vào các yêu cầu đặt ra của bài toán, chúng ta cần xác định công nghệ để xây dựng ứng dụng sao cho phù hợp với yêu cầu thực tế của hệ thống.
Yêu cầu đặt ra của bài toán là triển khai ứng dụng trên môi trường Web. Ngày nay, những công nghệ thường được sử dụng trong việc lập trình ứng dụng Web gồm có:
CGI: Perl/PHP3.
ASP/COM.
Visual C++
Java
. . .
Mỗi ngôn ngữ có một cấu trúc văn phạm riêng.
Qua quá trình khảo sát các công nghệ trên và đồng thời đưa những công nghệ đó vào bài toán cụ thể, chúng ta có thể lựa chọn được công nghệ thích hợp cho việc giải quyết bài toán.
Vì ứng dụng hoạt động trên mô hình mạng client/server (cụ thể là mô hình ba tầng) và có những yêu cầu như: hỗ trợ nhiều người dùng, số lượng truy xuất không giới hạn, dễ dàng nâng cấp, mở rộng… và đặc biệt hỗ trợ nhiều hệ điều hành cho client và server (như WinNT, Win2000, Linux,..). Do vậy, chúng ta cần phải xây dựng tầng middle (vì tầng này là tầng cốt lõi của ứng dụng, có thể nói mọi xử lý đều nằm ở tầng này) sao cho hỗ trợ được tốt những yêu cầu vừa nêu.
Để xây dựng một ứng dụng có thể triển khai được trên môi trường Web thì một trong nhũng công nghệ nêu trên đều có thể lập trình được (không kể đến những yêu cầu về kỹ thuật). Nhưng đối với bài toán này, việc chọn công nghệ Java để triển khai bài toán là phù hợp nhất.
Từ những yêu cầu trên và việc đặt vấn đề, ta nhận thấy hệ thống của chúng ta hoạt động trên môi trường mạng (Internet) theo mô hình Client/Server. Ngôn ngữ java là một trong những ngôn ngữ sáng giá và thuận lợi cho ta thực hiện những trang web động (công nghệ JSP và Servlet). Java đủ mạnh để ta có thể thiết kế bất kỳ ứng dụng nào theo mô hình Client/Server.
Java là ngôn ngữ đơn giản, hướng đối tượng, thông dịch, mạnh, cấu trúc độc lập, phân tán, có tính bảo mật cao, hiệu qủa và linh động:
Ø Đơn giản: Đặc điểm nổi bật đầu tiên của Java là tính đơn giản, java được đưa ra nhằm mục đích là thay thế C hay C++ , bởi vì C khĩ viết, khĩ biên dịch … Java được xây dựng từ C và loại bỏ những gì phức tạp của C thì chắc chắn là sẽ đơn giản hơn C.
Ø Hướng đối tượng: Mọi ứng dụng viết trên Java đều phải được xây dựng trên các đối tượng và thông qua các đối tượng. Các hỗ trợ Java không cho phép các đối tượng có tính năng đa thừa kế, bởi vì tính đa thừa kế sẽ tạo ra những phức tạp. Thay vào đó sẽ là các giao tiếp (interface). Mỗi lớp của Java bao gồm các phương thức(method) là chức năng mà đối tượng có thể dùng để trả lời các tác động đến đối tượng và các trường(field).
Ø Thông dịch: Java là ngôn ngữ thông dịch, các ứng dụng Java có thể dể dàng chạy trên các các máy tính với các nền phần cứng khác nhau, chỉ cần đi kèm với các ứng dụng đó là bộ thông dịch có kích thước rất bé và đặc biệt là bộ thư viện động.
Ø Phân tán: Java được viết để hỗ trợ các ứng dụng phân tán bằng các lớp mạng. Một ứng