Tải bản đầy đủ (.pdf) (77 trang)

Thiết kế website mua bán sách qua mạng với ASP, javscript và VB script

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.76 MB, 77 trang )

MỤC LỤC
LỜI MỞ ĐẦU ..........................................................................................................2
CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG ..............................................................5
1.1. Yêu Cầu Chức Năng Đối Với Khách Hàng ........................................................ 5
1.2. Yêu Cầu Chức Năng Đối Với Nhà Sách ............................................................. 6
1.2.1. Bán Hàng ........................................................................................................9
1.2.2. Liên lạc với khách hàng ................................................................................9
1.3. Các Yêu Cầu Phi Chức Năng...............................................................................9
CHƯƠNG 2: ĐẶC TẢ TÍNH NĂNG VÀ YÊU CẦU ..........................................11
2.1. Đặc Tả Tính Năng .............................................................................................. 11
2.1.1. Khách hàng................................................................................................... 11
2.1.2. Người quản trị hệ thông (Admin) .............................................................. 11
2.1.4. Nhà cung cấp ................................................................................................ 14
2.1.5. Nhà Bank ...................................................................................................... 14
2.2. Yêu Cầu Của Đề Tài........................................................................................... 14
CHƯƠNG 3 : GIẢI PHÁP LỰA CHỌN ................................................................16
3.1. Khảo Sát Mô Hình .............................................................................................. 16
3.2. Lựa Chọn Công Nghệ ......................................................................................... 17
3.3. Khảo Sát Chi Tiết Về Công Nghệ ..................................................................... 20
3.3.1. Câu lệnh của ASP ........................................................................................ 21
3.3.4. Gọi các thủ tục trong ASP ........................................................................... 22
3.3.5. Các đối tượng của ASP(OBJECT) ............................................................. 22
3.4. Vấn Đề Bảo Mật Trong ASP ............................................................................. 25
CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỠ DỮ LIỆU HƯỚNG ĐỐI
TƯỢNG .................................................................................................................32
4.1. Xây Dựng USE_CASE DIAGRAM.................................................................. 32
4.2. Xây Dựng Lược Đồ Tuần Tự (Sequence Diagram) ......................................... 35
4.3. Xây Dựng Lược Đồ Lớp Và Lược Đồ Hoạt Động ........................................... 56
4.3.1. Nhận diện các đối tượng/lớp ....................................................................... 56
4.3.2. Xây dựng Lược Đồ Lớp (Class_Diagram) ................................................. 57
4.3.3. Lược Đồ Hoạt Động (Activity Diagram) ................................................... 58


4.3.4. Lược Đồ Thực Thể Quan Hệ ( Entity Relationship Diagram) .................. 59
4.4. Danh Sách Các Bảng Trong Cơ sở dữ liệu ....................................................... 59
CHƯƠNG 5 : HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH..........................................65
5.1. Sơ Đồ Hoạt Động Của Chương Trình : ............................................................. 65
5.2. Các Chức Năng Chính Của Chương Trình ....................................................... 66
KẾT LUẬN............................................................................................................74
TÀI LIỆU THAM KHẢO ......................................................................................76
NHẬN XÉT CỦA GIÁO VIÊN .............................................................................77


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, em xin giới thiệu đề tài “ Thiết Kế Website
Mua Bán Sách Qua Mạng ASP”. Để 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.
* Lý Do Chọn Đề Tài
Qua khảo sát tình hình thực tế ở Việt Nam 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ư:
- 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 ASP, JavScript
và VB Script
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 phiếu nhập
hàng từ nhà cung cấp và phiếu chi.
- 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…
* 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: Microsoft Access
- Ngôn Ngữ Lập Trình :ASP với JavaScript và VB Script
- 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 Đồ á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ế.
Do còn nhiều hạn chế về mặt thời gian cũng như kiến thức và kinh nghiệm nên
không thể tránh khỏi những khiếm khuyết và sai sót, Em rất mong được sự đóng góp
ý kiến của thầy cô để em hoàn thành đề tài này.

Em xin bày tỏ lòng biết ơn đến thầy đến thầy Vũ Chiến Thắng đã hướng dẫn
để em hoàn thành đề tài này.


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.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ẽ
1.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 :
- 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 Anh
- 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
- …
* Đố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


* Đố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
- ...
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


1.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.
1.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.
1.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.
- ....
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
2.1. Đặ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 :
2.1.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.1.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
2.1.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

2.1.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.
2.1.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.
2.2. 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:
* 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…
* 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.
- 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.
* 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
3.1. 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

Client Tier

Server-side
Business logic

Server-side
Presentation

Client

Client

thể hiện cụ thể qua hình sau:

Middle Tier

Hình 3.1: Mô Hình 3 Tầng

Enterprise
Data store

Data Tier



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:
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.
3.2. 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, em chọn công nghệ ASP để triển khai
bài toán.
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ữ
ASP là một trong những ngôn ngữ hay,dễ tiếp cận và thuận lợi cho ta thực hiện
những trang web động .ASP đủ mạnh để ta có thể thiết kế bất kỳ ứng dụng nào theo
mô hình Client/Server.
Giới thiệu về ASP: Microsoft Active Server Page là một ứng dụng giúp ta áp
dụng các ngôn ngữ Script để tạo những ứng dụng động, có tính bảo mật cao và làm
tăng khả năng giao tiếp của chương trình ứng dụng. Các đoạn chương trình nhỏ
được gọi là Script sẽ được nhúng vào các trang của ASP phục vụ cho việc đóng mở



và thao tác với dữ liệu cũng như điều khiển các trang Web tương tác với người dùng
như thế nào. Một khái niệm sau đây liên quan đến ASP
Script: là một dãy các lệnh đặc tả (Script). Một Sript có thể :
- Gán một giá trị cho một biến. Một biến là một tên xác định để lưư giữ dữ
liệu, như một giá trị.
- Chỉ thị cho Web Server gửi trả lại cho trình duyệt một giá trị nào đó, như giá
trị cho một biến. Một chỉ thị trả cho trình duyệt một giá trị là một biểu thức đầu ra(
output expression).
- Tổ hợp của các lệnh được đặt trong các thủ tục. Một số thủ tục là tên gọi tuần
tự của các lệnh và khai báo cho phép hoạt động như một ngôn ngữ( unit).
Ngôn ngữ Script (Script language): là ngôn ngữ trung gian giữa HTML và
ngôn ngữ lập trình Java, C++, Visual Basic. HTML nói chung được sử dụng để tạo
và kết nối các trang text. Còn ngôn ngữ lập trình được sử dụng để đưa ra dẫy các
lệnh phức tạp cho máy tính. Ngôn ngữ Scripting nằm giữa chúng mặc dù chức năng
của nó giống ngôn ngữ lập trình hơn là các trang HTML đơn giản. Sự khác nhau cơ
bản giữa ngôn ngữ Scripting và ngôn ngữ lập trình là các nguyên tắc của nó ít cứng
nhắc và ít rắc rối khó hiểu hơn. Do vậy, các đoạn chương trình script gọn nhẹ có thể
lồng ngay vào các trang Web.
Công cụ đặc tả (Scripting engine): Để chạy được các loại chương trình Script
thì phải có máy Script engine. Máy này có nhiệm vụ đọc mã nguồn của chương trình
và thực hiện các câu lệnh đó. Mỗi ngôn ngữ Script có một loại máy Script riêng.
VD: VBScript engine cho loại chương trình VBScript, JavScript engine cho
JavaScript.
Có hai ngôn ngữ Script mà ASP hỗ trợ chính là Visual Basic Script và Java
Script. Ngôn ngữ được ASP hỗ trợ mặc định là VBScript nên khi muốn dùng ngôn
ngữ Script mặc định là Java Script chẳng hạn thì phải có dòng khai báo sau:
<%@ Language = Javarscipt %>



ASP cung cấp một môi trường chình cho các công cụ đặc tả và phân tích các
script trong một file.ASP để các công cụ này xử lý. ASP còn cho phép viết hoàn
chỉnh các thủ tục để phát triển Web bằng nhiều ngôn ngữ Script mà trình duyệt có
thể hiểu được tất cả. Trên thực tế, vài ngôn ngữ Script được sử dụng trong một file
và nó được thực hiện bằng cách định nghĩa ngôn ngữ Script trong một trang của
HTML tại nơi bắt đầu thủ tục Script.
ASP xây dựng các file ở khắp nơi với phần đuôi mở rộng là .asp. File .asp là
một file text và có thể bao gồm các sự kết hợp sau:
-Text
- Các trang của HTML
- Các câu lệnh của Script
+ Đơn giản: Ðặc điểm nổi bật đầu tiên của ASP là tính dễ tiếp cận, đơn giản
+ Thông dịch: ASP là ngôn ngữ thông dịch, các ứng dụng ASP 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.
3.3. Khảo Sát Chi Tiết Về Công Nghệ
Cách hoạt động của mô hình ASP được mô tả tóm tắt qua 3 bước sau:
+ Một ASP bắt đầu chạy khi trình duyệt yêu cầu một file .asp cho Web Server.
+ File .asp đó được nạp vào bộ nhớ và thực hiện ( tại máy chủ). Các đoạn
chương trình Script trong file .asp đó có thể là mở dữ liệu, thao tác với dữ liệu để lấy
những thông tin mà người dùng cần đến. Trong giai đoạn này, file .asp đó cũng xác
định xem là đoạn script nào chạy trên máy người sử dụng.
+ Sau khi thực hiện xong thì kết quả thực hiện của file .asp đó sẽ được trả về
cho Web Server Browser của người sủ dụng dưới dạng trang Web tĩnh.
Cú pháp của ASP: ASP không phải là ngôn ngữ Scripting mà thực ra nó cung cấp
một môi trường để xử lý các Script có trong trang HTML. Sau đây là một số quy tắc
và cú pháp của ASP.


Phân định ranh giới(Delimiter): Các trang của HTML được phân định với text
dựa vào các phân định ranh giới. Một phân định ranh giới là một ký tự hay các thứ

tự đánh dấu điểm bắt đầu và kết thúc của một đơn vị. Trong trường hợp của HTML,
các ký hiệu ranh giới(<) và(>). Tương tự, các lệnh của Script ASP và các biểu thức
đầu ra được phân biệt giữa text và các trang HTML bằng các phân định ranh giới
ASP sử dụng phân định ranh giới là< %...%> để chứa các lệnh ScriptVD: <%
Sport=”Football”%> tức là gán giá trị football cho biến sport. ASP sử dụng phân
định ranh giới là <%=...%> để chứa các biểu thức đầu ra. Như VD trên, biểu thức
đầu ra <%=Sport%> sẽ gửi giá trị football ( giá trị hiện thời của biến) cho trình
duyệt.
3.3.1. Câu lệnh của ASP
Trong VbScript và các ngôn ngữ Scripting, một câu lệnh là đơn vị cú pháp
hoàn chỉnh mô tả một loại của hành động, khai báo, hay định nghĩa.
Sau đây mô tả lệnh IF...Then...Else của VbScript.
<%
If Time>=#10:00:00 AM# And Time<# 12:00:00 PM then
Greeting=”Chào buổi sáng”
Else
Greeting=”Chào bạn”
End if
%>
<Font Face=”. VnTime” color=”Green”>
<%=Greeting %>
</Font>
Với đoạn Script trên, khi người sử dụng nó sẽ xem trước 10 giờ sáng thì trên
trình duyệt xuất hiện dòng: Chào buổi sáng, còn nếu sau 10 giờ thì sẽ thấy Chào


bạn...Các thủ tục trong file ASP: Một đặc tính hấp dẫn của ASP là khả năng kết hợp
chặt chẽ của các thủ tục ngôn ngữ Script trong cùng một file .asp đơn lẻ. Nhờ vậy, ta
có thể sử dụng các điểm cực mạnh của ngôn ngữ Scripting để thực hiện một cách tốt
nhất. Một thủ tục là một nhóm lệnh Script để thi hành một công việc cụ thể. Ta có

thể định nghĩa một thủ tục và gọi sử dụng chúng nhiều lần trong các Script. Định
nghĩa một thủ tục có thể xuất hiện trong Tag<Script>...</Script> và phải tuân theo
các quy tắc của ngôn ngữ Script được khai báo. Thủ tục này có thể kéo dài tuỳ thích
và phải đặt trong phân định Script là<%...%> nếu chúng cùng trong một ngôn ngữ
Scripting giống như script mặc định. Ta có thể đặt các thủ tục trong chính các file
ASP chung và sử dụng lệnh Include Name Server( đó là<!--# Include file =...> để
bao gồm cả nó trong file ASP gọi thủ tục. Hoặc có thể đóng gói theo chức năng một
ActiveX Server component.
3.3.4. Gọi các thủ tục trong ASP
Để gọi các thủ tục, bao gồm tên thủ tục trong lệnh. Đối với VbScript, ta có thể
dùng từ khoá Call để gọi thủ tục. Tuy nhiên, các thủ tục được gọi yêu cầu các biến
này phải đặt trong các dấu ngoặc đơn. Nếu bỏ qua từ khoá Call thì ta cũng phải bỏ
luôn cả dấu ngoặc đơn đi cùng bao quanh các biến. Nếu gọi thủ tục Java Script từ
VbScript thì ta phải sử dụng dấu ngoặc đơn sau tên thủ tục, nếu thủ tục không có
biến thì sử dụng dấu ngoặc đơn rỗng.
3.3.5. Các đối tượng của ASP(OBJECT)
Một đối tượng là kết hợp giữa lập trình và dữ liệu mà có thể xem như là một
đơn vị. ASP có 5 đối tượng sau:
Đối tượng
Đối tượng Request

Nhiệm vụ
Lấy thông tin từ người dùng

Đối tượng Response
Đối tượng Server
Đối tượng Session

Gửi thông tin cho người dùng
Điều khiển hoạt động của môi trường ASP

Lưu trữ thông tin từ một phiên (session) của người dùng

Đốitượng Application

Chia xẻ thông tin cho các người dùng của một ứng dụng


Lấy thông tin từ người dùng: Đối tượng Request cho phép truy cập mọi thông
tin lấy được chuyển qua với một yêu cầu của HTML. Đối tượng Request có 5 thông
tin sau:
- Query String: Mặc dù có thể sử dụng biến Server là QUERY_STRING để xử
lý thông tin QUERY_STRING từ yêu cầu của người dùng, ASP cung cấp
QUERY_STRING để thông tin đễ dàng. Nếu form sử dụng phương pháp POST,
các thông tin lấy được giống như một biến đặt sau đấu hỏi của URL.
- Form: thu nhặt tất cả các giá trị mà người sử dụng đã tạo ra vào Form khi nút
submit của nó được bấm, nó được truyền về Server với phương thức POST.
- Cookies: Cho phép tập hợp các thông tin đã được kết nối với người sử dụng.
Một cookie là một biểu hiện của thông tin giữa trình duyệt Client chuyển tới Web
Server, hay Web Server gửi cho trình duyệt Client.
- Server Variables: cung cấp thông tin từ các header của HTTP mà đã được gửi
tới với yêu cầu của người dùng. Có thể sử dụng các thông tin này để trả lời cho
người sử dụng.
- Xác nhận của Client.
+ Gửi thông tin cho người dùng: Có thể dùng đối tượng Response để điều
khiển thông tin gửi cho Web Browser bằng cách sử dụng:
- Cách thức ResponseWrite để gửi thông tin trực tiếp cho trình duyệt.
- Cách thức ResponseRedirect để hướng dẫn người sử dụng tới một URL khác
hơn là yêu cầu đến URL.
- Cách thức ResponseContent Type để điều khiển kiểu cả nội dung gửi.
- Cách thức Response. Cookies để thiết lập một giá trị của Cookies.

- Cách thức Response Buffer để đệm thông tin.


- Cách thức ResponseAddHeader để thêm một phần tiêu đề mới vào HTML
header với một số giá trị chọn lọc.
- Cách thức ResponseClear để xóa toàn bộ đệm ra của HTML, cách thức này
chỉ xoá phần thân của response chứ không xoá phần header.
- Cách thức Response. End để kết thúc việc xử lý ở file .asp và gửi cho Web
Browser kết quả thu được khi xảy ra phương thức này.
- Cách thức Response Flush: Khi thông tin được gửi ra bộ đệm kết quả thì nó
chưa được gửi ngay về Web Browser mà chỉ đến khi dùng phương thức này thông
tin mới được trả ngay về Web Browser. Tuy nhiên sẽ bị thông báo lỗi Run_Time
nếu ResponseBuffer chưa đặt giá trị true.
Server là đối tượng điều khiển môi trường hoạt động ASP, nó cung cấp các
phương thức cũng như thuộc tính của Server.
- Phương thức Server. CreatObject dùng để tạo ra các đối tượng mới trên
Server.
- Phương thức Server. HTMLEncode cung cấp khả năng mã hoá địa chỉ URL.
- Phương thức Server. MapPath trả về địa chỉ vật lý tương ứng như địa chỉ thư
mục ảo trên máy chủ.
- Phương thức Server. URLEncode cung cấp khả năng mã hóa địa chỉ URL.
Các đối tượng Session và Application: được sử dụng ghi nhớ thông tin trạng
thái của các ứng dụng ASP. Ta có thể sử dụng ASP để duy trì 2 trạng thái:
- Trạng thái ứng dụng (Application State) bao gồm tất cả các thông tin trạng
thái của các ứng dụng có hiệu lực với tất cả người sử dụng ứng dụng. Đối tượng
Application được sử dụng để lưu trữ thông tin chung mà nó có thể chia sẻ cho tất cả
moị người dùng một ứng dụng ASP đơn giản.
- Trạng thái phiên (Session State) bao gồm thông tin chỉ có hiệu lực với một
người sử dụng cụ thể. Dùng đối tượng Session để quản lý thông tin của một người
đang sử dụng ứng dụng.



Trong mỗi ứng dụng ASP cơ bản có thể có file Global.asa. File này được lưu
giữ trong thư mục gốc của ứng dụng. ASP đọc file này khi: Web Server bắt đầu
nhận được yêu cầu bắt đầu khởi tạo ứng dụng. Điều này có nghĩa là sau khi Web
Server chạy, yêu cầu đầu tiên đến một file .asp sẽ làm là cho ASP tới đọc file
Global.asa gồm có:
- Các sự kiện bắt đầu ứng dụng Application_ OnStart, bắt đầu phiên
SessionOnEnd hoặc cả hai. Trong đó có các thủ tục Script mà mà ta muốn chạy mỗi
khi sử dụng một úng dụng hay một phiên. Nếu một ứng dụng và một phiên khởi
động vào cùng một thời điểm, ASP sẽ xử lý sự kiện ứng dụng trước khi nó xử lý sự
kiện bắt đầu phiên.
- Các sự kiện kết thúc ứng dụng Application_OnEnd, kết thúc phiên
Session_OnEnd hoặc cả hai. Cũng như các sự kiện này là các thủ tục trong file
Global. asa
- Ta có thể sử dụng Tag< object> để tạo các đối tượng trong file Global. asa.
3.4 Vấn Đề Bảo Mật Trong ASP
Hiện nay ngôn ngữ ASP được sử dụng phổ biến cho các lập trình viên trong
quá trình xây dựng một trang Web. Vấn đề bảo mật là một vấn đề rất quan trọng dể
giúp trang web hạn chế được sự xâm nhập có hại cho hệ thống.
+ An toàn trước khả năng bị tấn công CSS (Cross-Site Scripting)
Kiểu tấn công CSS điển hình nhất xảy ra khi tin tặc cố tình chèn một đoạn văn
bản có chứa script độc hại vào các form nhập dữ liệu. Nội dung nhập vào có thể
chứa các thẻ <OBJECT> hoặc <SCRIPT> cùng các đoạn mã hết sức nguy hiểm.
Trình duyệt, khi truy nhập site, cho rằng các srcipt này do máy chủ gửi tới, hoàn
toàn vô hại nên sẽ chạy nó ở cấp độ bảo mật bình thường, gây ra hậu quả tai hại cho
máy tính của người sử dụng.
Để bảo vệ khỏi bị tấn công theo kiểu CSS, cần chú ý ít nhất những điểm sau
- Cập nhật thường xuyên các bản sửa lỗi bảo mật mới nhất của IIS và
Windows.



×