1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE

85 430 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Website mua bán sách tin học qua mạng với Servlet JSP và J2EE
Tác giả Nguyễn Thị Hồng, Nguyễn Bá Thuận
Người hướng dẫn PTS. Nguyễn Việt Cường
Trường học Trường Đại Học Dân Lập Kỹ Thuật Công Nghệ
Chuyên ngành Khoa Công Nghệ Thông Tin
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2003
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 85
Dung lượng 1,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Chưa thể thanh toán trực tuyến qua card… Trên cơ sỡ những kiến thức thu nhận được trong qúa trình học tập tại trường, được sự chỉ dẫn tận tình của thầy Nguyễn Việt Cường, sau khi khảo

Trang 1

LỜI CẢM ƠN

   Chúng em luôn luôn ghi nhớ công ơn các thầy cô trường Đại Học Dân Lập Kỹ Thuật Công Nghệ, những người đã dẫn dắt chúng em từ khi mới bước chân vào giảng đường Đại Học những kiến thức, năng lực và đạo đức chuẩn bị hành trang bước vào một cuộc sống tự lập khi ra trường sau bốn năm học Và chúng em xin chân thành cảm ơn các thầy cô giáo Khoa Công Nghệ Thông tin đã giảng dạy và tạo mọi điều kiện cho chúng em trong suốt thời gian học tập tại Trường

Đặc biệt Chúng em xin chân thành cảm ơn thầy Nguyễn Việt Cường – giáo viên hướng dẫn luận văn tốt nghiệp, người đã cho chúng em một nền tãng lý thuyết và đã tận tình, hết lòng hướng dẫn chúng em trong suốt quá trình nghiên cứu để hoàn thành luận văn tốt nghiệp này

Chúng con xin cảm ơn cha mẹ, người đã sinh thành và dưỡng dục chúng con, hỗ trợ mọi điều kiện về vật chất lẫn tinh thần cho chúng con trên con đường học vấn

Chúng tôi xin cảm ơn các anh chị cùng các bạn đã có những nhận xét, phê bình, đóng góp và động viên chúng tôi trong suốt qúa trình thực hiện luận văn

Mặc dù đã cố gắng hoàn thành luận văn với tất cả sự nổ lực của bản thân, nhưng luận văn chắc chắn sẽ không tránh khỏi những thiếu sót nhất định, kính mong sự cảm thông và sự chỉ bảo tận tình của qúy thầy cô và các bạn

Thành Phố Hồ Chí Minh, tháng 05 năm

2003 Sinh viên

Nguyễn Thị Hồng

Trang 2

Mục Lục trang 1 Chương 0: MỞ ĐẦU trang 3

I – Lời Mở Đầu trang 3

II – Lý Do Chọn Đề Tài trang 3 III – Các Công Cụ Sử Dụng trang 5

Phần I: CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI

Chương 1: Khảo Sát Hiện Trạng trang 6

1 Yêu Cầu Chức Năng Đối Với Khách Hàng trang 6

2 Yêu Cầu Chức Năng Đối Với Nhà Sách trang 7 2.1 Bán Hàng trang 9 2.2 Liên Lạc Với Khách Hàng trang 10

3 Các Yêu Cầu Phi Chức Năng trang 10

Chương 2 : Đặc Tả Tính Năng Và Yêu Cầu trang 12

I Đặc Tả Tính Năng trang 12

1 Khách Hàng trang 12

2 Người Quản Trị Hệ Thống trang 12

3 Nhân Viên trang 14

4 Nhà Cung Cấp trang 15

5 Nhà Bank trang 15

II Yêu Cầu Của Đề Tài trang 16

1 Về Mặt Ứng Dụng trang 16

2 Về Mặt Kỷ Thuật trang 16

3 Một Số Yêu Cầu Khác trang 16

Chương 3: Giải Pháp Lựa Chọn trang 17

I Khảo Sát Mô Hình trang 17

II Lựa Chọn Công Nghệ trang 18 III Khảo Sát Chi Tiết Về Công Nghệ trang 20

Phần II: THIẾT KẾ CƠ SỞ DỮ LIỆU

Chương 4: Phân Tích Và Thiết Kế Cơ Sở Dữ Liệu Hướng Đối Tượng

I Xây Dựng UseCase_Diagram trang 29

1 Nhận Diện Các Actor Và Các Trường Hợp Sử Dụng trang 29

2 Xây Dựng UseCase_Diagram trang 30

II Xây Dựng Lược Đồ Tuần Tự trang 32

II Xây Dựng Lược Đồ Lớp Và Lược Đồ Hoạt Động trang 48

1 Nhận Diện Các Đối Tượng/Lớp trang 48

2 Xây Dựng ClassDiagram trang 49

Trang 3

Phần III:XÂY DỰNG WEBSITE MUA BÁN SÁCH TIN HỌC QUA MẠNG

Chương 5: Hoạt Động Của Chương Trình trang 58

I Sơ Đồ Cấu Trúc Của Chương Trình trang 58

II Hoạt Động Của Chương Trình trang 59

1 Về Phía Khách Hàng, Người Sử Dụng trang 59

2 Về Phía Người Quản Trị trang 66

3 Chức Năng Đối Với Nhân Viên Và Quản Trị trang 71

Chương 6: Bảo Mật Trên Hệ Thống trang 75 Chương 7: Kết Luận trang 80 Phụ Lục I: GIỚI THIỆU VỀ CÔNG NGHỆ J2EE trang 81

I Giới Thiệu trang 81

II Mô Hình Lập Trình Mạng Đa Tầng trang 81 III Những Ứng Dụng Đa Tầng Phân Tán trang 83

IV Kiến Trúc J2EE trang 87

V Sự Đóng Gói trang 88

Phụ Lục II: YÊU CẦU HỆ THỐNG trang 91 TÀI LIỆU THAM KHẢO

Trang 4

Chương 0: MỞ ĐẦU

I Lời Mở Đầu:

Ngày nay , công nghệ thông tin đã và đang dần dần chuyển hướng phát

triển của mình sang các dịch vụ Web Và một trong những dịch vụ

được mọi người quan tâm nhất là Thương mại Điện tử Dịch vụ này

giúp tiết kiệm được những thời gian đi mua sắm để có nhiều thời

gian tập trung vào công việc của mình

Cùng với sự phát triển nhanh chóng của Internet và hệ thống mạng toàn

cầu, việc mua bán trực tuyến trên mạng đã và đang trở nên sôi động trên

phạm vi toàn thế giới Ở nước ta vấn đề này vẫn còn là một lĩnh vực khá

mới mẽ Tuy nhiên chúng ta cũng đang trong xu thế hội nhập khu vực và

toàn cầu

Nhờ Thương mại Điện tử , với những thao tác đơn giản trên máy

có nối mạng Internet bạn sẽ có những gì mình cần mà không phải đi

đâu Bạn chỉ cần vào trang dịch vụ Thương mại Điện tử , làm theo

hướng dẫn và click vào những gì bạn cần Các nhà dịch vụ sẽ mang

đến tận nhà cho bạn Việc thanh toán cũng dễ dàng qua hệ thống

ngân hàng hay trực tiếp nếu bạn muốn

Với nhịp độ phát triển như vũ bão của Internet và sự sôi động

của thị trường như hiện nay , bạn không thể không ghé thăm dịch vụ

Thương mại Điện tử dù chỉ là một lần

Để nhằm tìm hiểu mô hình hoạt động cũng như quá trình xây dựng một

ứng dụng có tính chất thương mại trực tuyến, chúng em xin giới thiệu đề tài

“ Thiết Kế Website Mua Bán Sách Qua Mạng Với Servlet/JSP Và J2EE” Để

tiếp cận và góp phần đẩy mạnh sự phổ biến của Thương mại Điện

tử ở Việt Nam

II Lý Do Chọn Đề Tài:

Qua khảo sát tình hình thực tế ở Việt Nam chúng em nhận thấy rằng,

việc mua sắm rất cần thiết đối với mọi người dân Nhưng do đời sống kinh

tế phát triễn, họ phải bận bịu tấp nập với công việc hàng ngày nên không có

nhiều thời gian để đi mua sắm, vì thế chúng em muốn viết một trang web

nhằm đáp ứng nhu cầu thực tế tại Việt Nam, để mọi người có thể mua sắm

ở bất cứ đâu khi họ cần mà không phải tốn nhiều thời gian

Đồng thời qua khảo sát tình hình thực tế tại các nhà sách hiện nay chúng

em nhận thấy rằng việc quản lý còn gặp một số khó khăn hạn chế như:

Trang 5

 Khó khăn trong việc thêm các loại sách mới, xóa, sửa thông tin về

sách và thông tin kịp thời đến khách hàng

 Việc thay đổi giá cả hàng hóa còn gặp nhiều khó khăn trong việc cập

nhật hàng ngày

 Việc quản lý công nợ của khách hàng cũng như của nhà cung cấp

cũng gặp nhiều khó khăn

 Mất thời gian trong việc thống kê các thông tin

 Không quản lý được khách hàng quen thuộc

 Chưa thể thanh toán trực tuyến qua card…

Trên cơ sỡ những kiến thức thu nhận được trong qúa trình học tập tại

trường, được sự chỉ dẫn tận tình của thầy Nguyễn Việt Cường, sau khi khảo

sát tình hình thực tế tại các nhà sách và nhu cầu của người sử dụng, chúng

em đã quyết định chọn và thực hiện đề tài

Thiết Kế Website Mua Bán Sách Qua Mạng Với Setvlet/JSP Và

J2EE

Mục tiêu của đề tài này là nhằm phục vụ cho tất cả các khách hàng có

nhu cầu mua sắm sách qua mạng và phục vụ công tác quản lý hoạt động

kinh doanh của nhà sách, cụ thể là:

 Khách Hàng:

- Làm thế nào để khách hàng có thể tìm kiếm nhanh chóng các loại

sách mà mình cần

- Khách hàng có thể xem tóm tắt nội dung từng quyển sách

- Khách hàng có thể thanh toán bằng chuyển khoản hoặc tiền mặt

 Nhà Sách:

- Nhà sách có thể đơn giản hoá vấn đề nhập, xuất hàng hóa

- Có thể tính tồn kho cuối mỗi kỳ sao cho thuận tiện và đỡ mất thời

gian

- Công tác thống kê doanh thu, tính tiền lời khi nhà sách có nhu cầu

- Chương trình cũng quản lý công nợ của nhà cung cấp dựa trên các

Trang 6

- Chương trình có xử lý việc nhập liệu các hoá đơn xuất, giao cho

khách hàng và hoá đơn nhập hàng, chi cho nhà cung cấp…

III Các Công Cụ Sử Dụng:

Để thực hiện đề tài này, chúng em chọn sử dụng các công cụ sau để cài

đặt:

- Hệ điều hành: Windows 2000 Advanced Server và Windows XP

- Database Server: SQL Server 2000

- Ngôn Ngữ Lập Trình : Java với JSP, Servlet và JavaBean

- Phân tích thiết kế hướng đối tượng UML: Phần mềm Rational Rose

- …

Tuy nhiên trong khuôn khổ thời gian cho phép để làm một luận

văn tốt nghiệp có thể chúng em chưa hoàn tất đầy đủ chức năng , tính

linh hoạt và phổ biến của hệ thống , các giải pháp đưa ra chưa hẵn là tối

ưu và chương trình sẽ không tránh khỏi một số thiếu sót Chúng em rất

mong có sự đóng góp ý kiến của qúi thầy cô và các bạn Sau này nếu điều

kiện cho phép , chúng em sẽ phát triễn đề tài này rộng hơn về quy

mô hoạt động sao cho hoàn chỉnh và phù hợp với thực tế

Trang 7

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:

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ỉ

Trang 8

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

2 Yêu Cầu Chức Năng Đối Với Nhà Sách:

a) Lưu Trữ

Nhà sách cần lưu trữ những thông tin như sau:

 Đối với Sách :

Trang 9

 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

 Đối Với Đơn Đặt Hàng

 Mã Đơn Đặt Hàng

 Mã Khách Hàng

 Đố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

Trang 10

 Mã Nhà Cung Cấp

 Mã Nhân Viên Nhập

 Mã Kho

b) 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ữ

c) 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)

d) 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

Trang 11

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

2.2 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

3 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

Trang 12

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 …

Trang 13

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ả

Trang 14

+ 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:

Trang 15

+ 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:

Trang 16

+ 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

Trang 17

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

Trang 18

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:

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:

Client Tier Middle Tier Data Tier

Trang 19

 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

 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

 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ó:

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ô

Trang 20

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 dụng Java có thể dể dàng được truy xuất từ một máy chủ

ở xa, nó có thể mỡ hoặc truy cập đến các đối tượng thông qua mạng một cách dễ dàng như việc truy cập ngay trên máy tính đơn

Trang 21

 Bảo mật: Vấn đề bảo mật là một trong những đặc trưng cơ bản của Java Java được viết cho các ứng dụng chạy trên mạng, phân tán, do đó Java đã được thiết kế sao cho có thể tạo được một hệ thống không virus, không bị phá rối Kỹ thuật xác minh của Java là mã hóa theo khóa công cộng Một thông dịch bytecode sẽ kiểm tra chặt chẽ các mã byte, không cho bất kỳ những hành vi bất hợp pháp nào được thực hiện

 Java được thiết kế cho mục đích đa nền, nên mã chương trình java sau khi biên dịch sẽ ra một dạng file nhị phân khác với các file thực thi nhị phân của Windows như exe, com Java biên dịch ra file nhị phân (bytecode) và được triệu gọi thực thi trong máy ảo Java File nhị phân này được mang tên mỡ rộng là class Máy ảo java là một trình thông dịch có khả năng thực thi các mã bytecode tương tự như bộ xử lý của máy tính thực thi các mã nhị phân là các chỉ thị mã máy Máy ảo Java có kích thước rất nhỏ, có thể cài đặt trên các máy con mà không tốn nhiều tài nguyên

III KHẢO SÁT CHI TIẾT VỀ CÔNG NGHỆ

Đáp ứng yêu cầu của bài toán thực hiện nhiều luồng xử lý cùng một lúc (mỗi yêu cầu của khách hàng là một luồng riêng)

Nhờ những phát minh của loài người về internet, mô hình client/server – đáng chú ý nhất là Java Java không chỉ là một ngôn ngữ máy tính mà còn là giải pháp client/server hoàn chỉnh, nơi mà các chương trình được tải về máy khách và được thực thi Trước đây, mọi sự phát triễn của Java đều tập trung vào applets và các thành phần giao diện đồ hoạ người sử dụng (GUI) Các applets là một thành phần quan trọng trong mô hình client/server, nhưng đó chỉ là một phần bức tranh về client/server còn một nữa bức tranh nữa thuộc về servlet/jsp và nhiều thứ khác nữa

1 – Servlet:

- Servlet là một thành phần chủ yếu phục vụ cho mục đích tích hợp và chạy trên các trình chủ Web server Servlet giúp xử lý và tạo ra các trang web động Servlet có thể kết hợp với trang JSP (Java Server Pages) JSP là các trang script chạy phía máy chủ dùng mã Java để sinh ra trang web động, tương tác với cơ sở dữ liệu, tương tự như servlet

- Servlet có thể được xem như một applet phía server (server side) Các servlets được nạp và được thực thi tại trình chủ Web (Web Server) Hình3.2 dưới đây chỉ ra một servlet chấp nhận các yêu cầu từ trình khách (thông qua trình chủ Web), thi hành một số tác vụ và trả về các kết quả

Trang 22

- Các bước cơ bản khi sử dụng servlet:

 Trình khách tạo ra một yêu cầu (request) lên máy chủ yêu cầu dịch vụ Web dựa trên nghi thức HTTP Tài nguyên mà trình khách yêu cầu có thể là một tập tin (.html hay hình ảnh ) Tài nguyên cũng có thể ở dạng thông tin động do servlet sinh ra

 Trình chủ Web nhận các yêu cầu này và chuyển cho servlet Nếu servlet chưa được nạp, trình chủ Web sẽ nạp nó vào trong máy ảo Java và thực thi nó

 Servlet sẽ nhận yêu cầu này dựa trên nghi thức HTTP và xử lý

 Servlet sẽ trả ngược về cho trình chủ Web một phản hồi (response)

 Trình chủ Web sẽ chuyển phản hồ i(response) này rồi chuyển cho trình khách dựa trên nghi thức HTTP

 Phần lớn servlets là một sự thay thế tuyệt vời cho các kịch bản CGI (Common Gateway Interface) Các kịch bản CGI thông thường được viết bằng ngôn ngữ Perl hoặc C và thường gắn chặt với một môi trường (platform) chủ cụ thể Vì servlet được viết bằng ngôn ngữ Java, nên các servlet này cũng độc lập với môi trường hệ điều hành

- Servlets rất an toàn Cách duy nhất để gọi một servlet từ bên ngoài là thông qua trình chủ Web Điều này mang lại một mức bảo mật cao, đặc biệt là nếu như trình chủ Web được bảo vệ đằng sau fire wall

- Bằng trình duyệt, máy khách gọi ứng dụng servlet trên máy chủ

Tương tự như ứng dụng CGI, ứng dụng servlet chạy trên máy chủ và gởi kết

quả ngược về trình duyệt ở máy khách Cũng như mọi ứng dụng Java, ứng dụng servlet có thể nhận đối mục (parameter, argument) vào lúc chạy Trình

Web Browser

Web Server

Servlet

Http Request

Http Response

Hình 3.2

Trang 23

duyệt trao đối mục cho ứng dụng servlet theo cách thức giống trường hợp

CGI : ghi dấu chấm hỏi (?) sau địa chỉ của ứng dụng servlet và tiếp sau đó là

từng cặp tên-trị (name-value) được phân cách bằng dấu và (&) Do vậy việc dùng ứng dụng servlet chỉ liên quan đến trình chủ Web, không có yêu cầu đặc biệt gì ở trình khách

2 – Java Server Pages (JSP):

- JSP ( Java Server Page ) là cách kết hợp ngôn ngữ HTML truyền thống và ngôn ngữ Java phía máy chủ để sinh ra các trang web động phucï vụ các ứng dụng web uyển chuyển hơn các công nghệ CGI , Servlet

- Cơ chế hoạt động của JSP :

Công nghệ JSP gắn liền với Servlet JSP đưa lệnh Java vào các mã ( hay thẻ ) HTML Các trang JSP chứa các thẻ đặc biệt qui định gần giống như thẻ của ngôn ngữ HTML Khi bạn yêu cầu một trang JSP , trình chủ sẽ đọc trang JSP từ điã cứng, bộ diễn dịch JSP ( JSP Page Compiler ) sẽ diễn dịch mã lệnh Java chứa trong trang JSP thành một servlet Sau đó trình chủ Web Server sẽ triệu gọi servlet trả kết xuất thuần HTML về cho trình khách Với trang JSP bạn hoàn toàn có thể lấy dữ liệu do trình duyệt phía máy khách chuyển lên trình chủ xử lý sau đó gửi trả kết quả về cho trình khách

- Các thẻ lệnh của JSP :

Web Browser

Trình diễn dịch JSP

Trang JSP

HTTP Service

Servlet tạm

Yêu cầu

Kết xuất

Hình 3.3

Trang 24

JSP cung cấp các thẻ lệnh giúp tạo trang web Cũng tương tự như thẻ HTML , thẻ lệnh JSP bao gồm thẻ mở và thẻ đóng Thực sự các thẻ JSP được xây dựng theo đặc tả và chuẩn XML ( Extension Markup Language ) nên có hơi khác với thẻ HTML vì chuẩn XML không xem chữ hoa và chữ thường giống nhau Mỗi thẻ có các thuộc tính quy định cách dùng thẻ

a- Thẻ <jsp:scriptlet> hay <% %>

Thẻ này cho phép đặt các đoạn mã lệnh Java ở giữa cặp thẻ tương tự một chương trình java thông thường

b- Thẻ khai báo và thực hiện biểu thức <%! , <%=

Thẻ này dùng để khai báo một biến dùng cho toàn trang jsp Biến khai báo phải đúng theo cú pháp của ngôn ngữ Java Thẻ <%= được dùng để hiển thị một biểu thức

c- Thẻ nhúng mã nguồn <%@ include file %>

Với thẻ này có thể nhúng một trang html vào trang jsp hiện hành Thẻ này tương tự chỉ dẫn #include trong ngôn ngữ C Cú pháp đầy đủ của thẻ này là :

<%@ include file = “URL or FilePath “ %>

d- Thẻ chỉ dẫn biên dịch trang <%@ page %>

Thẻ này chỉ dẫn một số tính chất biên dịch áp dụng cho toàn trang jsp Có thể sử dụng thẻ này để khai báo các thư viện import của java , chỉ định tuỳ chọn trang jsp có cần giữ trên cache bộ nhớ của trình chủ để tăng tốc hay không …

e-Thẻ chuyển hướng <jsp:forward>

Thẻ này giúp chuyển hướng trang Web sang địa chỉ khác Ví dụ , khi xử lý trang nhận dữ liệu đăng nhập (login page ) bạn kiểm tra mật khẩu , nếu hợp lệ bạn chuyển người dùng đến trang tài nguyên cho phép truy cập Nếu không hợp lệ , bạn chuyển người dùng đến trang thông báo lỗi

f-Thẻ sử dụng thành phần Bean <jsp:useBean>

Bạn có thể tự tạo các lớp đối tượng Java và triệu gọi chúng từ bên trong trang jsp Hướng theo công nghệ thành phần (component ) Java gọi những đối tượng có thể gắn vào những ứng dụng là thành phần Bean

g-Thẻ đặt thuộc tính cho Bean <jsp:setProperty>

Trang 25

Thẻ này được sử dụng để triệu gọi một phương thức nào đó của Bean h-Thẻ lấy thuộc tính của Bean <jsp:getProperty>

Ngược với thẻ <jsp:setProperty , thẻ <jsp:getProperty> dùng để lấy về nội dung của một thuộc tính

- Các đối tượng mặc định của trang JSP :

 Trang diễn dịch JSP cho phép sử dụng một số đối tượng đã khai báo trước Điều này giúp viết mã lệnh trong trang jsp nhanh hơn servlet

Đối tượng out : xuất phát từ lớp PrintWriter Bạn có thể sử dụng

đối tượng này để định dạng kết xuất gửi về máy khách Ví dụ:<% out.println(“Hello!”)%>

Đối tượng request :xuất phát từ lớp HttpServletRequest.Đối tượng

này giúp lấy về các tham số hay dữ liệu do trình khách chuyển lên Ví dụ:

<%String a= request.getParameter(“param1”)%>

Đối tượng response : tương tự đối tượng out, đối tượng response

dùng để đưa kết xuất trả về trình khách Tuy nhiên, đối tượng out được dùng

thường xuyên hơn out hỗ trợ thêm luồng đệm để tăng tốc kết xuất

Đối tượng session : xuất phát từ lớp HttpSesssion Sử dụng đối tượng session để theo dõi kết nối và lưu vết một phiên làm việc giữa trình

khách và trình chủ

- Truy xuất cơ sở dữ liệu trong trang JSP :

Có thể dễ dàng dùng trình JDBC để truy xuất cơ sở dữ liệu của hệ quản trị cơ sở dữ liệu SQL Server Vú dụ: để khai báo cơ sỡ dữ liệu Book thông qua SQL Server

<%

String Driver ="sun.jdbc.odbc.JdbcOdbcDriver";

String Conn ="jdbc:odbc:Book";

String username="sa";

String password="";

try { Class.forName(Driver);

Trang 26

{ strErr = e.toString();

}

%>

- Trang JSP triệu gọi đối tượng RMI ,CORBA :

Bởi vì trang JSP chứa hầu như toàn bộ mã Java cho nên bạn có thể triệu gọi đối tượng phân tán như RMI hay CORBA theo cách rất tự nhiên Nghĩa là sau khi thiết lập được đối tượng RMI

Trên đây đã giới thiệu kỹ thuật lập trình web bằng trang jsp Chúng ta có thể dùng các công cụ như : NotePad, Font Page, JpadPro, DreamWaver … để viết trang JSP, trong đề tài này chúng em chọn công cụ Dream Waver để thiết kế trang JSP Với JSP bạn có thể nhúng lệnh Java vào trang Web kết hợp với các thẻ HTML truyền thống JSP thay cho Servlet và dễ sử dụng hơn servlet Tuy nhiên kết hợp giữa trang jsp và công nghệ JavaBean là cách tốt nhất để xây dựng những ứng dụng web mạnh mẽ phát huy tác dụng

ở cả hai phía khách / chủ

3 - So sánh giữa JSP và Servlet:

Đặc tả JSP cung cấp rất nhiều thẻ cho phép người dùng tuỳ biến khi nhúng lệnh Java trong trang JSP Các thẻ này sẽ kết hợp với các lệnh hay thẻ chuẩn HTML để tạo ra kết xuất cuối cùng trả về trình khách

Các chức năng của trang JSP hoàn toàn giống với servlet tuy nhiên bạn không cần phải biên dịch trang JSP bằng tay Trình chủ Web server sẽ thực công việc này hộ bạn

Như vậy, viết trang JSP đơn giản hơn viết servlet Nếu đem so sánh bạn sẽ thấy rằng, khi viết servlet bạn phải tự tạo đối tượng luồng xuất

java.io.PrintWriter out = resp.getWriter ( );

để kết xuất kết quả trả về cho trình khách Trong khi đó nếu viết trang JSP thì không cần phải thực hiện điều này Bộ diễn dịch JSP đã tạo sẵn đối tượng out cho bạn sử dụng

Thật ra thì trang JSP được biên dịch thành servlet phía sau hậu trường , kết xuất của trang JSP thật ra là kết xuất của servlet Tuỳ theo mỗi trình

Trang 27

chủ khác nhau ( như JRun, Tom Cat, J2EE ….) mà sẽ có các tập tin diễn dịch jsp ra servlet khác nhau

Theo cơ chế của JSP , bạn không cần phải quan tâm đến những tập tin phụ này Nếu bạn xoá các tập tin này đi, trình chủ sẽ tự động tạo mới lại Theo cơ chế này thì trang JSP có thể phải thực hiện chậm hơn servlet thuần túy, nhưng chỉ là lần đầu khi trang JSP được biên dịch Ở lần triệu gọi kế tiếp từ máy khách, trình chủ không cần dịch lại trang JSP nữa ( trừ khi có thay đổi nội dung trang JSP ) Mã JSP lúc này là mã Java nhị phân (byte-code) được gọi thực thi trực tiếp

Viết trang JSP đơn giản hơn viết servlet và bạn hoàn toàn có thể tận dụng mọi chức năng của servlet bên trong trang JSP Tuy nhiên, servlet thường được xem như những đối tượng thành phần (component ) nhúng vào trình chủ (tương tự đối tượng ActiveX hay COM của Microsoft ) Chính vì vậy servlet thường được dùng cho các chức năng xử lý phức tạp như: giao tiếp với Applet phía trình khách, thực hiện bảo vệ tài nguyên, chứng thực mật khẩu … Trong khi đó trang JSP được dùng cho các thao tác truy xuất hay xử lý đơn giản như trình bày giao diện , định dạng trang HTML , triệu gọi các thành phần JavaBean hay servlet khác Như vậy , kết hợp JSP và Servlet là cách tốt nhất khi bạn chọn phát triển ứng dụng Web bằng Java phía máy chủ

4 – JavaBeans:

JavaBeans là những giao tiếp lập trình được dùng để tạo ra những khối mã xây dựng sẵn và có thể dùng lại được Những thành phần JavaBeans có thể được nhúng vào trong một ứng dụng, liên kết với các thành phần JavaBeans khác hay được dùng để kết nối với các ứng dụng Các ứng dụng Java xây dựng bằng các thành phần JavaBeans có thể đáp ứng cho cả hai phía client và server

5 – Enterprise JavaBeans (EJB):

Mục đích của Enterprise JavaBeans là xây dựng các thành phần có thể dùng để lắp ráp, tạo nên ứng dụng nhanh chóng, giảm thời gian viết mã chương trình và có khả năng chạy trên server

Một điều đáng lưu ý là Enterprise JavaBeans(EJB) khác hẵn với JavaBeans Các đối tượng EJB không dùng thể hiện giao diện Các đối tượng EJB thực hiện chức năng tính toán , kết nối dữ liệu , đưa ra kết quả và giải pháp thiết thực

Trang 28

JavaBeans gồm những đối tượng hay mã Java cho phép phân biệt thuộc tính cũng như phương thức của đối tượng khi triệu gọi JavaBeans thường được xem như những thành phần giao diện gắn hay kết nối vào ứng dụng kiểu mô hình lắp ghép

6 – SQL Server:

Khối lượng thông tin trên Intenet là rất lớn và đòi hỏi tính bảo mật cao nên việc chọn SQL Server là phù hợp Việc chọn SQL Server với những lý do sau:

 Là một trong những hệ quản trị cơ sở dữ liệu thông dụng nhất

 Đáp ứng được nhu cầu thực hiện nhiều truy vấn cùng một lúc

 Cho phép thực hiện mô hình cơ sở dữ liệu phân tán Tính bảo mật cao

 Mô tả đầy đủ được một cơ sở dữ liệu quan hệ

Máy chủ SQL Server cho phép hàng ngàn người dùng kết nối và làm việc với nhiều cơ sở dữ liệu khác nhau trên cùng một máy chủ tại cùng một thời điểm Máy chủ SQL Server cung cấp khả năng kết nối, truy cập cho người dùng đến mọi cơ sở dữ liệu trên máy, tùy thuộc vào mức độ bảo mật cho phép của người đang kết nối

Bảo mật là một trong những điểm mạnh giúp cho SQL Server được sử dụng trong thương mại điện tử Chúng ta có thể bảo mật bằng một trong hai chế độ sau trong SQL Server:

 Bảo mật dựa vào chế độ bảo mật của Windows NT

 Bảo mật bằng cả hai chế độ: bảo mật của Windows NT và bảo mật của SQL Server

a-Bảo Mật Theo Chế Độ Windows NT:

Khi người dùng kết nối vào thông qua chế độ bảo mật của Windows

NT, SQL Server kiểm tra tên và mật khẩu đăng nhập vào mạng Windows

NT Sau đó SQL sẽ cho phép hoặc từ chối phục vụ tùy thuộc vào tên và mật khẩu gỏ vào có đúng hay không, không cần phải kiểm tra lại một lần nữa

Vì người dùng và nhóm người dùng được quản lý bởi Windows NT, nên SQL server chỉ cần kiểm tra các thông tin khi người dùng kết nối Nếu quyền truy cập của người dùng thay đổi, sự thay đổi này sẽ có hiệu lực ngay lần kết nối kế tiếp

b-Bảo Mật Theo Chế Độ SQL Server:

Trang 29

Chế độ bảo mật của SQL Server vượt trội hơn hẵn các chế độ cơ sở dữ liệu khác SQL Server kiểm soát và cấp quyền để người dùng có thể tra cứu, thêm, xóa, sửa cơ sở dữ liệu Điều này hết sức thuận lợi trong việc phát triễn các ứng dụng cần có chế độ an toàn và bảo mật cao, chẳng hạn như

thương mại điện tử, bán hàng trên mạng

Trang 30

CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỠ DỮ

LIỆU HƯỚNG ĐỐI TƯỢNG

I/ XÂY DỰNG USE_CASE DIAGRAM :

Quá trình phân tích và thiết kế dữ liệu hường đối tượng là quá trình phân

tích các yêu cầu của khách hàng và các yêu cầu về quản lý của nhà sách để

xây dựng cơ sở dữ liệu cho hệ thống Kết quả của quá trình này là mô hình

cơ sở dữ liệu hoàn chỉnh được dùng cho hệ thống

Hệ thống được thiết kế để phục vụ cho các đối tượng sau đây:

 Nhà Sách: Thông qua hệ thống, sẽ giới thiệu loại sách đến khách hàng

 Khách Hàng: Là những người có nhu cầu mua sách Họ sẽ tìm

kiếm các loại sách cần thiết từ hệ thống và đặt mua

1/ Nhận diện các Actor và các trường hợp sử dụng :

- Qua cách đặt tả hệ thống nhà sách ở trên, ta xác định được các actor

sau tác động đến hệ thống bao gồm : khách hàng, người quản trị hệ thống,

 Người quản trị hệ thống quản lý việc :

 Quản lý sách (QL Sach)

Người quản trị có thể xem thông tin về sách

(ViewSach),thêm sách mới (ThemSach), chỉnh sửa các thông tin về

sách (SuaSach), loại bỏ sách (XoaSach)

Có thể thêm thể lọai (ThemTL), xóa thể loại (XoaTL),

chỉnh sửa thể loại (SuaTL)

Thêm tác giả mới (ThemTG), xóa tác giả (XoaTG), chỉnh

sữa thông tin về tác giả (SuaTG)

Thêm ngôn ngữ (ThemNN), xóa ngôn ngữ (XoaNN), chỉnh

sửa ngôn ngữ (SuaNN)

Trang 31

Thêm nhà xuất bản (ThemNXB), xóa nhà xuất bản

(XoaNXB), chỉnh sửa các thông tin về nhà xuất bản (SuaNXB)

 Quản lý khách hàng (QLKhachHang) : xem thông tin khách hàng

(ViewKH), chỉnh sửa các thông tin về khách hàng (SuaKH), xóa

khách hàng (XoaKH)

 Quản lý đơn đặt hàng (QLDonDatHang): có thể xem đơn đặt

hàng (ViewDDH) để biết có những khách hàng nào đặt hàng trong

ngày và đặt sách nào, số lượng bao nhiêu, xóa đơn đặt hàng

(XoaDDH), chỉnh sửa thông tin về đơn đặt hàng (SuaDDH)

 Người quản trị hệ thống và nhân viên quản lý việc :

 Quản lý phiếu xuất hàng (QLPhieuXuat) : người Admin có thể

xem phiếu xuất (ViewPX) để biết đã xuất những sách nào, và xuất từ

kho nào, nhân viên nào xuất, xóa phiếu xuất (XoaPX), thêm phiếu

xuất mới (ThemPX), chỉnh sửa thông tin về phiấu xuất (SuaPX)

 Quản lý phiếu giao hàng (QLPhieuGiao) : có thể xem phiếu giao

(ViewPG) để biết đã giao những mặt hàng nào và giao cho khách

hàng nào, xóa phiếu giao (XoaPG), thêm phiếu giao mới (ThemPG),

chỉnh sửa thông tin về phiếu giao (SuaPG)

 Quản lý phiếu thu (QLPhieuThu) : người quản lý có thể xem các

phiếu thu (ViewPT) đã thu của khách hàng, xóa phiếu thu (XoaPT),

thêm phiếu thu (ThemPT), chỉnh sửa thông tin về phiếu thu (SuaPT)

 Quản lý phiếu nhập (QLPhieuNhap) : người quản lý có thể xem

phiếu nhập (ViewPN) để biết đã nhập những sách gì, xóa phiếu nhập

(XoaPN), thêm phiếu nhập (ThemPN), chỉnh sửa thông tin về phiếu

nhập (SuaPN)

 Quản lý phiếu chi (QLPhieuChi) : người quản lý có thể xem các

phiếu chi (ViewPC) đã chi cho nhà cung cấp nào, xóa phiếu chi

(XoaPC), thêm phiếu chi (ThemPC), chỉnh sửa thông tin về phiếu chi

(SuaPC)

2/ Xây dựng Use_Case Diagram :

- Dựa vào chiều tác động giữa các actor và Use_Case để thiết lập các

mối liên kết (association)

- Các trường hợp tổng kết hóa và cụ thể hóa được thể hiện bằng mối

Trang 32

rộng thành quan hệ <<include>> và <<extend>> bằng cách sử dụng

stereotype

- Trong phần nhận diện các trường hợp sử dụng, ta đã xác định một

số quan hệ giữa actor và trường hợp sử dụng Tuy nhiên ta cần xét vấn đề

sau :

+ Việc khách hàng muốn bỏ sách vào giỏ hàng thì bắt buộc phải tìm

kiếm sách, cho nên mối quan hệ giữ BoSachVaoGio va TimKiem la

association <<include>> Mối quan hệ giữa tạo đơn đặt hàng (TaoDDH) và

BoSachVaoGio là association với stereotype là <<extend>>, bởi vì ở đây

không bắt buộc khách hàng phải mua sách

+ Admin muốn vào quản lý thì phải login vào hệ thống cho nên ta có

quan hệ giữa Admin và LoginAdmin có stereotype là <<include>> Và khi

đã vào hệ thống thì có thể quản lý sách, các hoá đơn xuất nhập cho nên

ta có stereostyle là <<extends>> Tương tự cho NhânViên cũng có thể

quản lý các hoá đơn xuất nhập sau khi login vào đúng quyền

Trang 33

Hình 4.1: Lược Đồ UseCase II/ XÂY DỰNG LƯỢC ĐỒ TUẦN TỰ (Sequence Diagram):

- Lược đồ tuần tự giúp cụ thể hóa các Use_Case Nó là một sự

chuyển thể các sự kiện nối tiếp nhau trong các Use_Case trở thành một

chuổi các thông điệp gởi cho các đối tượng Điều quan trọng là phải nhận

diện ra những đối tượng nào liên quan đến một Use_Case cụ thể Mỗi

Use_Case có thể có nhiều lược đồ tuần tự dạng cụ thể Mỗi cái tương tác

với một kịch bản nào đó và luôn luôn bắt đầu từ một kích thích từ phía actor

- Để xây dựng lược đồ tuần tự chúng ta hãy xem xét hoàn cảnh cụ thể

của Use_Case như sau :

+ Xét Use_Case ĐăngKý: Khách hàng đăng ký là thành viên mới

của nhà sách bằng cách nhập username,password,… Hệ thống sẽ kiểm tra

xem username này đã tồn tại hay chưa Nếu chưa thì hệ thống sẽ ghi nhận

lại thông tin của khách hàng và tự động gán quyền cho username này là

quyền khách hàng Còn nếu khách hàng nhập vào một account đã tồn tại

trong hệ thống rồi thì sẽ hiện thông báo lỗi Lúc này khách hàng có thể trở

về đăng ký lại hoặc hủy bỏ đăng ký, lúc bấy giờ use case DăngKý kết thúc

: KhachHang DangKy :

Interface

: DieuKhien : Database XacNhan :

Interface 1: Nhap(Username,Password,HoTen,DiaChi, )

2: GoiThongTin()

3: ketqua=XacNhan(Username)

Username Này Đã Tồn Tại

4: ThongBaoLoi()

if(ketqua==true)

5: CapNhat() 6: ThanhCong()

Username Chưa Có Trong Database else if(ketqua==false)

Trang 34

+ Xét Use_Case DangNhap : khách hàng đăng nhập vào hệ thống

bằng cách gõ username và password Hệ thống sẽ kiểm tra xem username

và password có hợp lệ hay không, nếu như hợp lệ thì sẽ cho phép khách

hàng vào hệ thống để đặt mua hàng Còn nếu khách hàng nhập sai

usernamehay password thì hệ thống sẽ báo lỗi, lúc này khách hàng có thể

trỡ về trang DangNhap để đăng nhập lại, hoặc không đăng nhập nữa và use

case kết thúc

Interface

Interface 1: Nhap(Username,Password)

Hình 4.4: Khách hàng đăng nhập

+ Xét Use_Case TimKiem : khách hàng chọn chức năng tìm kiếm,

và nhập vào tên sách và chọn thể loại Thông qua database, chương trình

sẽ tìm kiếm xem sách này có hay không Sau khi tìm kiếm sách xong,

chương trình sẽ gởi thông báo cho khách hàng để báo có tìm thấy sách hay

không Nếu kiểm tra thấy có sách thì sẽ hiển thị những quyển sách tìm thấy

và các thông tin về chúng như : tác giả, nhà xuất bản, ngôn ngữ, giá sách …

Trang 35

: KhachHang TimKiem :

Interface

: DieuKhien : Database XacNhan :

Interface KetQuaTim :

Interface 1: TimSach(TenSach,TacGia, )

5: ThongBaoKhongThay()

Nếu Không Tìm Thấy Sách else if(ketqua==false)

Hình 4.5: khách hàng tìm kiếm sách

+ Xét Use_Case BoSachVaoGio, use case này bắt đầu khi một khách hàng

chọn sách muốn mua Vì mỗi một khách hàng khi vào mua sắm sẽ có một

giỏ hàng, khách hàng sau khi tìm kiếm sách xong, nếu tìm thấy sách mình

cần thì họ sẽ có thể bỏ sách vào giỏ hàng của mình Hệ thống sẽ thêm sách

này vào giỏ hàng của khách hàng

Trang 36

+ Xét Use_Case TạoĐĐH, use case này cho phép khách hàng đặt

mua hàng, lúc bấy giờ nếu khách hàng chưa đăng nhập vào hệ thống thì sẽ

xuất hiện form Login (đã xét ở trên) để khách hàng gõ username và

password vào, ở đâu ta xét đến trường hợp khách hàng chọn hình thức thanh

toán là chuyển khoản, thông qua database của bank, hệ thống sẽ xác nhận

thông tin khách hàng nhập vào có đúng hay không, sau khi xác nhận xong

nếu như thông tin hợp lệ thì những mặt hàng khách hàng đã chọn sẽ được

cập nhật vào hoá đơn và thông báo ngày giao hàng cho khách Còn nếu

thông tin không hợp lệ thì sẽ thông báo lỗi, sau 3 lần thì sẽ hủy phiên giao

dịch

Hình 4.7: khách hàng tạo đơn đặt hàng + Xét Use_Case LoginAdmin : người quản trị đăng nhập vào hệ

thống bằng cách gõ username và password Hệ thống sẽ kiểm tra xem

username và password có hợp lệ hay không và sau đó kiểm tra xem

username này có quyền quản trị hay không, nếu như có quyền thì sẽ cho

phép quản trị vào hệ thống để quản trị Còn nếu quản trị nhập sai username

hay password hoặc là username không có quyền quản trị thì hệ thống sẽ báo

lỗi, lúc này quản trị có thể trỡ về trang LoginAdmin để đăng nhập lại, hoặc

không đăng nhập nữa và use case kết thúc

Trang 37

Hình 4.8: Admin login vào hệ thống

+ Xét Use_Case QLSach bao gồm: Xem thông tin về từng quyển sách,

thêm sách mới, xóa sách, sữa thông tin sách:

* XemSach: Admin sau bươcù kiểm tra username và password từ

LoginForm sẽ chọn chức năng quản lý sách Cửa sổ ViewSách được mỡ ra

Tại đây thông qua database mọi thông tin về chi tiết từng quyển sách sẽ

được hiển thị

Hình 4.9: quản trị xem thông tin về các sách hiện có

Trang 38

* ThemSach: Sau khi cửa sổ ViewSach được mỡ ra, người quản trị

chọn chức năng “thêm mới” và nhập vào mã số sách mới và các thông tin

sách Thông qua database chương trình sẽ kiểm tra xem mã số sách đã có

chưa Nếu kiểm tra đúng chưa có mã này thì chương trình sẽ tạo thêm sách

mới trong database

Hình 4.10: người quản trị thêm sách mới

* SuaSach: trên cửa sổ ViewSach người Admin sẽ chọn Sách cần

chỉnh sửa và sau đó chọn tác vụ chỉnh sửa Form chỉnh sửa sẽ hiện ra và

người admin có thể chỉnh sữa các thông tin cần thiết sau đó lưu thông tin

vừa chỉnh sửa Thông qua database hệ thống sẽ cập nhật những thông tin

này

Trang 39

Hình 4.11: người quản trị sửa thông tin sách

* XóaSách: trên cửa sổ ViewSach người quản trị chọn sách cần xóa và

nhấn nút xóa sách Thông qua database cuốn sách người quản trị chọn sẽ

được xóa

Hình 4.12

+ Xét Use_Case QLKhachHang bao gồm: xem các thông tin về từng

khách hàng, xóa khách hàng

* XemKH: sau khi đăng nhập bằng username và password từ Login

Trang 40

ViewKhachHang sẽ hiện ra, tại đây các thông tin về từng khách hàng sẽ

được hiển thị Cơ sỡ dữ liệu được lấy ra từ database

Hình 4.13: người quản trị xem thông tin khách hàng

* XóaKH: sau khi cửa sổ ViewKhachHang hiện ra, tại đây người

admin sẽ chọn khách hàng nào cần xóa và chọn chức năng xóa để xóa

khách hàng này

Hình 4.14: người quản trị xóa khách hàng

+ Xét Use_Case QLQuảnTrị bao gồm: xem thông tin về quản trị, thêm

quản trị, xoá quản trị, sửa thông tin về quản trị

* XemQT: Người quản trị sau khi đăng nhập bằng username và

password từ LoginForm sẽ chọn tác vụ quản lý quản trị Cửa sổ

ViewQuanTri sẽ hiện ra Tại đây Admin có thể xem thông tin về những

người quản trị Thông tin này được lấy ra từ database, những người quản trị

này sẽ có “quyền đăng nhập” là 1

Ngày đăng: 19/07/2014, 21:25

HÌNH ẢNH LIÊN QUAN

Hình 4.1:  Lược Đồ UseCase - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.1 Lược Đồ UseCase (Trang 33)
Hình 4.4: Khách hàng đăng nhập - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.4 Khách hàng đăng nhập (Trang 34)
Hình 4.5: khách hàng tìm kiếm sách - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.5 khách hàng tìm kiếm sách (Trang 35)
Hình 4.6: Khách hàng thêm sách vào giỏ - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.6 Khách hàng thêm sách vào giỏ (Trang 35)
Hình 4.7: khách hàng tạo đơn đặt hàng - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.7 khách hàng tạo đơn đặt hàng (Trang 36)
Hình 4.8: Admin login vào hệ thống - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.8 Admin login vào hệ thống (Trang 37)
Hình 4.9: quản trị xem thông tin về các sách hiện có. - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.9 quản trị xem thông tin về các sách hiện có (Trang 37)
Hình 4.10: người quản trị thêm sách mới - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.10 người quản trị thêm sách mới (Trang 38)
Hình 4.11: người quản trị sửa thông tin sách - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.11 người quản trị sửa thông tin sách (Trang 39)
Hình 4.13: người quản trị xem thông tin khách hàng - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.13 người quản trị xem thông tin khách hàng (Trang 40)
Hình 4.16: thêm quản trị mới - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.16 thêm quản trị mới (Trang 42)
Hình 4.20: người quản trị thêm nhân viên - Xây dựng WEBSITE mua bán sách tin học qua mạng với SEVERLET JSP và J2EE
Hình 4.20 người quản trị thêm nhân viên (Trang 44)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w