Lời giới thiệu
CNTT và Internet đang đóng một vai trò cực kỳ quan trọng trong cuộc sống cũng
như sự phát triển của nhân loại. Ngày càng nhiều ứng dụng của CNTT và Internet đã
được đưa vào cuộc sống phục vụ lợi ích của con người. Nó đã trở thành công cụ tất
yếu của cuộc sống mà ngành nghề nào cũng cần đến. Nhất là trong lĩnh vực kinh
doanh vốn cần sự chính xác và tốc độ trong quản lý, cũng như trong sử dụng.
Để đáp ứng nhu cầu thực tế, nhóm chúng em đã áp dụng Công Nghệ Thông Tin
vào việc xây dựng một “Website quản lý bán đĩa phim trực tuyến” nhằm quản lý việc
buôn bán hàng hóa để giảm một khối lượng giấy tờ, thông tin mà công ty phải lưu trữ
và công ty không phải chi ra một khoản tiền lớn để thuê của hàng bán đĩa nhờ bán
hàng trực tuyến thông qua Internet.
Để hoàn thành được báo cáo thực tập “Website Quản Lý bán đĩa phim Trực
Tuyến”.
Chúng em xin trân trọng cảm ơn đến các thầy, các cô trong Khoa CNTT Trường
Đại Học Điện Lực đã giảng dạy và giúp đỡ chúng em trong thời gian qua. Và đặc biệt
chúng em trân trọng cảm ơn Cô Trần Thị Minh Thu đã hướng dẫn chúng em trong
suốt thời gian làm đồ án. Nhờ có sự hướng dẫn, chỉ bảo của cô, nên chúng em mới có
thể hoàn thành đồ án này.
Vì đây là lần đầu tiên bọn em được thực hiện một dự án nên chúng em không
tránh khỏi thiếu sót. Chúng em rất mong được sự góp ý của thầy, cô giúp đồ án của
chúng em được hoàn thiện hơn.
Em xin chân thành cảm ơn.
Nhóm Sinh viên thực hiện
Mục lục
Lời giới thiệu 1
Mục lục 2
Danh mục bảng biểu 3
Danh mục hình vẽ 3
Chương 1. Khảo sát hiện trạng và lập dự án 4
1.1.Giới thiệu về cửa hàng băng đĩa phim 4
1.2.Hoạt động quản lý hiện tại 4
1.3.Xác lập dự án và đánh giá khả thi 5
1.4.Mục đích nghiên cứu 5
1.5.Đối tượng và phạm vi nghiên cứu 5
1.6.Phương pháp nghiên cứu 6
1.7.Yêu cầu đặt ra 6
Chương 2. Phân tích thiết kế hệ thống 8
2.1.Sơ đồ phân cấp chức năng 8
2.2.Biểu đồ luồng dữ liệu 8
2.3.Sơ đồ thực thể liên kết 14
2.4.Thiết kế cơ sở dữ liệu 16
Chương 3. Cài đặt và thử nghiệm chương trình 20
3.1.Nền tảng ứng dụng ASP.Net 20
3.2.Ngôn ngữ lập trình C# 24
3.3.Hệ quản trị cơ sở dữ liệu SQL Server 24
Chương 4. Kết luận 36
4.1.Kết quả đạt được 36
4.2.Kết quả chưa đạt được 37
4.3.Hướng phát triển 37
Tài liệu tham khảo 37
2
Danh mục bảng biểu
Danh mục hình vẽ
3
Chương 1. Khảo sát hiện trạng và lập dự án
1.1. Giới thiệu về cửa hàng băng đĩa phim
Đối tượng khảo sát thực tế là cửa hàng băng đĩa nhạc Melody, cửa hàng chuyên
bán băng đĩa nhạc, đĩa phim các loại, địa chỉ tại số 64, Bà Triệu, Phường Nguyễn Trãi,
Quận Hà Đông, Hà Nội.
Cửa hàng băng đĩa nhạc Melody là cửa hàng bán băng đĩa uy tín, chất lượng, với
đội ngũ nhân viên là 6 người: một nhân viên vận chuyển, ba nhân viên bán hàng, 1
nhân viên thu ngân và một quản lý, tiếp cận, tư vấn bán hàng rất thân thiện, vì thế cửa
hàng kinh doanh khá thuận lợi nhưng đối tượng khách hàng chưa rộng, chủ yếu là
khách đi ngang qua hay dân cư sống ở quanh khu vực. Bên cạnh đó mặt bằng của cửa
hàng không được rộng để có thể trưng bày hay phục vụ đông đảo đối tượng khách
hàng vào những giờ tan tầm do chỗ để xe cũng như diện tích cửa hàng hẹp, việc quảng
cáo và thực hiện các chương trình tri ân khách hàng chỉ đơn giản là in 1 băng giôn ghi
thông tin khuyến mại, tri ân khách hàng trên đó. Khiến nhiều khách hàng thân thiết
không biết để được hưởng khuyến mại dịp tri ân này.
1.2. Hoạt động quản lý hiện tại
Hiện tại cửa hàng băng đĩa nhạc Melody vẫn là cửa hàng chuyên bán băng đĩa
nhạc, đĩa phim theo phương thức bán hàng truyền thống. Hoạt động quản lý hiện tại
của cửa hàng như sau:
Khi nhập hàng về: Người quản lý và thu ngân tiến hành nhập thông tin về sản
phẩm, đơn giá nhập vào phần mềm quản lý hàng hóa để dễ dàng cho việc theo dõi
nhập, xuất, tồn của hàng hóa. Sau đó các nhân viên sẽ bày hàng một phần lên kệ hàng
đúng vị trí đã phân định để tiện cho việc giới thiệu, lấy hàng cho khách. Và còn lại thì
cất vào kho.
Khi bán hàng: có những khách đến và yêu cầu nhân viên lấy ngay hàng mình cần
và thanh toán với nhân viên thu ngân. Có khách thì nêu yêu cầu về nội dung băng đĩa
mình đang muốn mua và nhờ nhân viên bán hàng tư vấn băng đĩa phù hợp, xem và
nghe thử nếu vừa ý thì quyết định mua, và còn có những khách, nhân viên bán hàng tư
vấn về sản phẩm nhưng khi nói đến giá cả lại không mua.
Nhận thấy, với hình thức bán hàng theo kiểu truyền thống chưa thực sự hiệu quả,
bởi khách hàng của cửa hàng chủ yếu chỉ là khách hàng quanh cơ sở, ít có khách vãng
4
lai, thêm vào đó, nếu muốn mở rộng thêm mặt hàng thì diện tích mặt bằng hiện tại là
chưa đủ rộng để trưng bày hàng cho khách xem được dễ dàng, cộng thêm việc với
khách hàng đông thì nhân viên tương ứng phục vụ, giới thiệu, tư vấn băng đĩa phù
hợp nội dung cho khách hàng cũng phải tăng lên, ước tính chi phí cao.
1.3. Xác lập dự án và đánh giá khả thi
Nhìn nhận thực tế về tình hình kinh doanh của cửa hàng. Tôi đề xuất hướng giải
quyết hiệu quả là cửa hàng vẫn thực hiện định hướng kinh doanh của mình, song hành
với đó là làm một website để quảng bá, giới thiệu mặt hàng của cửa hàng, với các
thông tin chi tiết và sản phẩm, tích hợp với việc mua hàng online, đăng tin các chương
trình khuyến mại.
Đánh giá tính khả thi của dự án cao vì đối tượng khách hàng biết đến và mua sản
phẩm của cửa hàng tăng lên bởi việc dễ dàng xem xét giá cả, nội dung các băng đĩa có
trong cửa hàng mà không mất nhiều thời gian, chọn lựa và có thể chọn dịch vụ giao
hàng tận nơi. Cửa hàng có thể đăng tin các chương trình khuyến mại tri ân khách hàng
sẽ thu hút được nhiều khách hàng hơn. Cửa hàng cũng không cần tăng diện tích mặt
bằng để trưng bày, hay thêm nhiều nhân viên. Nhân viên bán hàng ít phải tư vấn cho
khách hơn. Nhưng cũng cần có những nhân viên biết quản lý và quảng bá tốt website,
cập nhật sản phẩm thường xuyên. Ước tính cửa hàng chỉ cần đầu tư thêm một hoặc hai
máy tính để bàn. Thuê người vận chuyển để giao hàng cho khách, chỉ cần 2 nhân viên
bán hàng và 1 nhân viên quản lý website. Cửa hàng sẽ có đông khách hàng hơn, doanh
thu tăng, chi phí bình quân giảm vì thế hiệu quả kinh doanh cao hơn. Đó là những lợi
ích cơ bản mà Website mang lại cho cửa hàng. Vì vậy, xây dựng một website bán hàng
online cho cửa hàng là điều cần thiết.
1.4. Mục đích nghiên cứu
- Vận dụng tổng hợp những kiến thức đã học để tiến hành xây dựng Website
Thương mại điện tử.
- Tìm hiểu thực trạng Thương mại điện tử tại Việt Nam để triển khai hệ thống
Thương mại điện tử tại doanh nghiệp cho phù hợp.
- Khai phá lợi ích của Internet để hướng đến một môi trường kinh doanh toàn cầu.
1.5. Đối tượng và phạm vi nghiên cứu
- Tìm hiểu thực trạng Thương mại điện tử tại Việt Nam.
- Tìm hiểu một số công cụ và ngôn ngữ hỗ trợ quá trình xây dựng Website.
- Các chức năng của Website Thương mại điện tử.
- Quy trình xây dựng Website Thương mại điện tử.
5
1.6. Phương pháp nghiên cứu
- Tiến hành thu thập và phân tích những thông tin, tài liệu liên quan đến đề tài để
hình thành nên những ý tưởng tổng quan (mục đích cần đạt đến của Website, đối
tượng cần hướng đến là ai?, thông tin gì đã có trong tay và sử dụng chúng như thế
nào?).
- Xác định các yêu cầu nhằm phân tích thiết kế hệ thống chương trình cho phù hợp.
- Xây dựng chương trình theo những yêu cầu đã đặt ra.
- Triển khai chương trình và đánh giá kết quả đạt được.
1.7. Yêu cầu đặt ra
1.4.1. Môi trường triển khai
Máy chủ (Server) Máy khách (Client)
Phần cứng
• CPU 3.0Ghz trở lên
• RAM 2GB trở lên
• HDD 150GB trở lên
• Kết nối Internet & LAN
• CPU 256Mhz trở lên
• RAM 512MB trở lên
• Có kết nối Internet
Phần mềm
• Windows Server 2000 /
Linux Server
• Visual Studio 2005 trở
lên
• SqlSever 2005 trở lên
• Windows XP/ Windows 7 /
Windows 8 / Linux / MAC
OS
• Trình duyệt IE / Chrome /
Firefox phiên bản mới nhất.
Bảng 1. 1: Yêu cầu hệ thống triển khai
1.4.2. Yêu cầu phần mềm
Để hoàn thành trang web, máy tình cần được trang bị các phần mềm sau:
Cài đặt Visual Studio 2005 hoặc mới hơn
Cài đặt SqlSever 2005 hoặc mới hơn
Phần mềm thiết kế: Photoshop CS5
1.4.3. Yêu cầu trang web
Hệ thống có 2 phần:
Thứ nhất : Dành cho khách hàng: Khách hàng là những người có nhu cầu đặt
mua băng đĩa phim. Vì thế phải có các chức năng sau:
- Hiển thị danh sách các thể loại băng đĩa phim.
- Hiển thị thông tin chi tiết các băng đĩa phim hiện đang bán.
- Hiển thị các thông tin khuyến mãi.
- Cho phép khách hàng tìm kiếm tên các băng đĩa theo ý muốn.
- Sau khi khách hàng chọn và đặt hàng thì phải hiện lên đơn hàng để khách có
thể nhập thông tin mua hàng và xem hóa đơn mua hàng.
6
Thứ hai : Dành cho người quản trị: Người làm chủ hệ thống có quyền kiềm
soát mọi hoạt động của hệ thống. Người này được cấp username và password để đăng
nhập hệ thống thực hiện chức năng của mình:
- Chức năng cập nhật, sửa, xoá các thông tin băng đĩa, tin tức. (phải kiểm soát
được hệ thống). Nó đòi hỏi sự chính xác.
- Tiếp nhận kiểm tra đơn đặt hàng của khách hàng. Hiển thị đơn đặt hàng.
Ngoài các chức năng trên thì trang Web phải được thiết kế sao cho dễ hiểu, giao
diện mang tính dễ dùng đẹp mắt và làm sao cho khách hàng thấy được thông tin cần
tìm, cung cấp các thông tin quảng cáo hấp dẫn, các tin tức khuyến mãi để thu hút
khách hàng. Điều quan trọng là phải đảm bảo an toàn tuyệt đối thông tin khách hàng
trong quá trình đặt mua qua mạng. Đồng thời trang Web phải luôn đổi mới, hấp dẫn.
7
Chương 2. Phân tích thiết kế hệ thống
2.1. Sơ đồ phân cấp chức năng
Khái niệm: biểu đồ phân cấp chức năng là một loại biểu đồ diễn tả sự phân rã dần
dần các chức năng từ đại thể đến chi tiết. Mỗi nút trong biểu đồ là một chức năng, và
quan hệ duy nhất giữa các chức năng, diễn tả bởi các cung nối liền các nút, các quan
hệ bao hàm. Như vậy biều đồ phân cấp chức năng tạo thành một cấu trúc cây.
2.2. Biểu đồ luồng dữ liệu
2.2.1. Biểu đồ luồng dữ liệu mức khung cảnh
8
Website bán đĩa DVD trực tuyến
Về phía người dùng Về phía người quản trị website
Quản
lý tài
khoản
Xem
thông
tin
các
sản
phẩm
Quản
lý giỏ
hàng
Tìm
kiếm
Đăng ký
Đăng nhập
Quản lý giỏ hàng
Gửi đơn đặt hàng
Quản
lý tài
khoản
Quản
lý
sản
phẩm
Quản
lý đặt
hàng
Báo
cáo/
Thống
kê
Tạo tài khoản
Đăng nhập
Đổi mật khẩu
Thông tin đăng ký/sửa đổi
Kết quả đăng ký/sửa đổi
Biểu đồ 2. 1: Sơ đồ phân cấp chức năng
Biểu đồ 2. 2: Biểu đồ luồng dữ liệu mức khung cảnh
2.2.2. Biểu đồ luồng dữ liệu mức đỉnh
9
Website bán
đĩa DVD
trực tuyến
Khách hàng Người quản trị
Thông tin đăng nhập
Kết quả đăng nhập
Kết quả tìm kiếm
Tìm kiếm sản phẩm
Thông tin mua hàng
Thông tin xác nhận
Thêm thông tin mới
Báo cáo thống kê
Yêu cầu báo cáo thống kê
Dữ liệu cập nhật
Quản lý khách hàng
Đăng ký
Đăng nhập
Biểu đồ 2. 3: Biểu đồ luồng dữ liệu mức đỉnh
2.2.3. Biểu đồ luồng dữ liệu mức dưới đỉnh
2.2.3.1. Chức năng quản lý thành viên
10
Quản lý sản phẩm
Đặt hàng
Người quản trịKhách hàng
Khách hàng
Kho hàng
Đơn hàng
TT sản phẩm
Chọn hàng và gửi yêu cầu
Quản lý đơn hàng
Cập nhật khách hàng
Cnsản phẩm
Đăng ký
Biểu đồ 2. 4: Biểu đồ luồng dữ liệu mức dưới đỉnh quản lý thành viên
2.2.3.2. Chức năng quản lý băng đĩa
11
Khách hàng
Cập nhật tài
khoản
Đăng nhập
Người quản trị
Thông tin đăng ký
Thông tin đăng nhập
Thông báo
Quản lý
Biểu đồ 2. 5: Biểu đồ luồng dữ liệu mức dưới đỉnh quản lý băng đĩa
2.2.3.3. Quản lý đặt mua hàng
12
Xem danh sách sản phẩm
Xem thông tin sản phẩm
Tìm kiếm sản phẩm
Khách hàng
Người quản trị
Sản phẩm
Cập nhật thông tin sản phẩm
Yêu cầu xem danh sách sản phẩm
Tìm kiếm sản phẩm theo từ khóa
Thông tin cần xem
Yêu cầu xem ds sp
Cập nhật sản phẩm
Quản lý đơn hàng
Biểu đồ 2. 6: Biểu đồ luồng dữ liệu mức dưới đỉnh quản lý mua hàng
13
Khách hàng
Xư lý đơn hàng
Giao hàng
Nhân viên
Kho hàng
Đơn đặt hàng
Gửi yêu cầu và nhận phiếu
Bàn giao và thanh toán
Hóa đơn và tiền mua hàng
Người quản trị
Xử lý đơn
hàng
2.3. Sơ đồ thực thể liên kết
14
Biểu đồ 2. 7: Sơ đồ thực thể liên kết
15
Sản phẩm
Khách hàng
Hóa đơn bán
c
ó
Lậ
p
c
ó
T
tiền
Số
lượng
Số
lượng
2.4. Thiết kế cơ sở dữ liệu
2.3.1. Tổng quan về cơ sở dữ liệu
Cơ sở dữ liệu: Là một tập hợp các bảng dữ liệu có quan hệ với nhau sao cho
cấu trúc của chúng cũng như các mối quan hệ bên trong giữa chúng là tách biệt với
chương trình ứng dụng bên ngoài, đồng thời nhiều người dùng khác nhau cũng như
nhiều ứng dụng khác nhau có thể cùng khai thác và chia xẻ một cách chọn lọc lúc cần.
Thực thể: Là hình ảnh cụ thể của một đối tượng trong hệ thống thông tin quản
lý. Một thực thể xác định tên và các thuộc tính.
- Thuộc tính: Là một yếu tố dữ liệu hoặc thông tin của thực thể ấy.
- Lớp thực thể: Là các thực thể cùng thuộc tính.
Mô hình quan niệm dữ liệu là cơ sở để trao đổi giữa người phân tích và người
yêu cầu thiết kế hệ thống. Hệ thống ở đây được phân tích gồm một số thực thể. Một số
các thực thể bao gồm một số các thuộc tính có đặc tính chung và giữa các thực thể sẽ
có các mối kết hợp tương ứng với nhau. Mặt khác còn tuỳ thuộc vào lần xuất hiện của
mỗi thực thể vào mối kết hợp, mà các mối kết hợp còn có thể có các thuộc tính riêng.
2.3.2. Các thực thể dạng chuẩn 3NF
tbl_customers (customerID, customerName, password, passwordConfirm,
fName, lName, dateOfBirth, address, tel, email, dateReg, roles)
tbl_movies (movieID, supplierID, actorName, directorName, genre, title,
dateOfRelease, quantity, price, description, image)
tbl_orders (orderID, customerID, dateSent, dateArrival, shipType, status, cost,
address, payType)
tbl_shoppingcart (ID, movieID, customerID, dateArrival, title, quantity, price)
tbl_suppliers (supplierID, companyName, contactName, contactTitle, address,
telNo)
tbl_wistList (wistListID, customerID, movieID)
2.3.3. Chi tiết các bảng cơ sở dữ liệu
16
Nhân viên
Hoá đơn nhập
Nhà cung cấp
Lậ
p
c
ó
17
Hình 2. 1: Chi tiết các bảng cơ sở dữ liệu
2.3.4. Sơ đồ liên kết các bảng cơ sở dữ liệu
18
Hình 2. 2: Sơ đồ liên kết các bảng cơ sở dữ liệu
Chương 3. Cài đặt và thử nghiệm chương trình
3.1. Nền tảng ứng dụng ASP.Net
3.1.1. Lịch sử ra đời
19
ASP.NET là một nền tảng ứng dụng web (web application framework) được
phát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra những
trang web động, những ứng dụng web và những dịch vụ web. Lần đầu tiên được đưa ra
thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.0 của .NET framework, là công
nghệ nối tiếp của Microsoft's Active Server Pages(ASP). ASP.NET được biên dịch
dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết
mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi .NET language.
Sau khi phát hành phiên bản Internet Information Service 4.0 vào năm 1997,
hãng Microsoft bắt đầu nghiên cứu một mô hình ứng dụng web để giải quyết những
bất tiện của ASP, đặc biệt là việc tách riêng biệt phần thể hiện và phần nội dung cũng
như cách viết mã rõ ràng hơn. Mark Anders, quản lý của nhóm IIS và Scott Guthrie,
gia nhập Microsoft vào năm 1997 sau khi tốt nghiệp Đại học Duke, được giao nhiệm
vụ định hình mô hình cần phát triển. Những thiết kế ban đầu được thực hiện trong
vòng 2 tháng bởi Anders và Guthrie, Guthrie đã viết mã prototype đầu tiên trong
khoảng thời gian nghỉ lễ Giáng sinh năm 1997.
3.1.2. Đặc tính
Những trang ASP.NET, được biết đến như những web form, là khối chính trong
phát triển ứng dụng. Những web form được chứa trong những file có phần mở rộng
ASPX; những nhà phát triển có thể đặt nội dung tĩnh hoặc động vào trang aspx dưới
dạng server-side Web Control và User Control. Ngoài ra, có thể viết mã bằng cách
chèn <% mã cần viết %> vào trang web giống như những công nghệ phát triển
web khác PHP, JSP và ASP, nhưng những công nghệ nào không hỗ trợ data binding
khi nó phát sinh nội dung trang web.
3.1.3. Mô hình Code-behind:
Mô hình code-behind được giới thiệu bởi Microsoft, đưa ra cách viết mã linh
động bằng cách để những mã lập trình trong một tập tin riêng biệt hoặc để mã trong
những thẻ script. Những tập tin code-behind thường có dạng như sau
TrangViDu.aspx.cs hoặc TrangViDu.aspx.vb được tạo ra dựa trên tên tập tin ASPX
(những tập tin này sẽ tự động phát sinh trong bộ công cụ phát triển ứng dụng
Microsoft Visual Studio và IDEs). Khi mô hình này, người phát triển có thể viết mã để
trả lời những sự kiện khác như sự kiện trang đang tải hoặc một control đang được
nhấn, chi tiết sẽ được đề cập ở phần khác trong tài liệu này.
Mô hình code-behind của ASP.NET đánh dấu một sự chuyển hướng từ ASP
nguyên thủy sang ASP.NET, giúp những người phát triển xây dựng ứng dụng với ý
tưởng phần trình bày độc lập với nội dung. Về mặt lý thuyết, mô hình này cho phép
một người thiết kế web có thể tạo ra những bản thiết kế giao diện mà không cần biết
về cách viết mã lập trình. Mô hình này giống với mô hình model-view-controller.
20
Model giống như tầng trệt của nhà, nó làm nhiệm vụ thực hiện các thao tác dữ
liệu, tác động tới database của chúng ta như các hành động: Insert, update, delete và
query ngoài ra còn rất nhiều thao tác với cơ sở dữ liệu, hoặc file, sử lý logic +, -, *, /
tính trung bình
View giống như ý nghĩa tiếng việt của nó: hiển thị, nơi các bạn trình bày các
control, thêm, chỉnh thuộc tính, màu sắc và các bố trí của bạn, vì đây chính là giao
diện tương tác với người dùng, hay người dùng sẽ sử dụng nó để tác động với chương
trình, nên ngoài việc hiện thị đẹp ra, nó còn đẩy các nhiệm vụ cho controller
Controller - một người điều phối, nơi đây sẽ là nơi hoạt động chung của model
và view, nhằm nhận dữ liệu và hành động mà view giao phó rồi bắt cho model xử lý,
việc kiểm tra dữ liệu hợp lệ thường nằm ở đây, và nếu dữ liệu ko hợp lệ sẽ đẩy lại cho
view, để view báo cho người dùng, còn nếu hợp lệ nó sẽ đưa cho model làm việc và
tiện thể báo thêm cho view biết để view nhận dữ liệu về từ model.
1. Model: Mô tả dữ liệu của ứng dụng
2. View: Hiển thị dữ liệu của model
3. Controller: Xử lý và điều hướng các yêu cầu của clien
Hình 3. 1: mô hình mvc
Hình trên là một ví dụ về yêu cầu cơ bản của MVC trong CakePHP. Giả sử một
client tên là "A" click vào link "Buy A Custom Cake Now" trên trang chủ của ứng
dụng.
- A click vào link trỏ đến địa chỉ và tình
duyệt của A gửi một yêu cầu đến máy chủ web (web server).
- Bộ phận điều vận (dispatcher) của máy chủ web sẽ kiểm tra URL gửi đến
(/cakes/buy) và giao nó cho controller chịu trách nhiệm xử lý yêu cầu này.
- Controller sẽ tiến hành xử lý các logic của ứng dụng. Ví dụ như kiểm tra xem
A đã đăng nhập hay chưa.
21
- Controller cũng có thể sử dụng model để truy cập đến dữ liệu của ứng dụng.
Model thường mô tả các bảng của có sở dữ liệu. Trong ví dụ này controller sử dụng
model để lấy thông tin về lần mua hàng gần nhất của A từ cơ sở dữ liệu.
- Một khi controller xử lý xong, nó sẽ chuyển các dữ liệu cho view. View sẽ tiếp
nhận dữ liệu và hiển thị cho client. View trong CakePHP thường ở dạng HTML,
nhưng view cũng có thể ở dạng PDF, XML tùy theo nhu cầu.
- Một khi view sử dụng dữ liệu từ controller để hiển thị, nội dung của view đó
được gửi cho trình duyệt của A.
3.1.4. Các đặc điểm nổi bật của ASP.NET như sau:
- Hỗ trợ nhiều ngôn ngữ lập trình.
- Có những điều khiển (controls) có thể lập trình được và Hỗ trợ lập trình điều
khiển bởi sự kiện (event-driven programming).
- Những thành phần (components) dựa vào XML.
- Xác thực người dùng qua tài khoản (account) và vai trò (role).
- Khả năng mở rộng cao hơn.
- Mã thực thi hiệu quả hơn.
- Dễ cài đặt và cấu hình.
Hỗ trợ nhiều ngôn ngữ lập trình.
- ASP.NET sử dụng ADO.NET để thao tác dữ liệu thay vì ADO như ASP.
ASP.NET hỗ trợ Visual Basic (.NET) thay vì VBScript như ASP.
- ASP.NET hỗ trợ Csharp (C#) và C++.
- ASP.NET vẫn hỗ trợ Jscript như ASP nhưng ở một hình thức khác hơn.
Có những điều khiển (controls) có thể lập trình được và Hỗ trợ lập trình
điều khiển bởi sự kiện (event-driven programming).
- Có 2 loại Control của ASP.NET đó là HTML Control và ASP.NET Control, cả
2 loại control này đều được quản lý phía trình chủ (server), và được trang web chứa
bởi các đoạn script như HTML trước đây, tức là dùng các thẻ (tag) nhưng với chỉ dẫn
“runat=server”.
- ASP.NET Control có thêm nhiều loại control mới có thể được dùng tương tự
như những control cơ bản khác như những control kiểm tra nhập liệu (validation
control) hay như DataGrid, DataList có cách chức năng nâng cao như sắp xếp
(sorting), phân trang (paging)…vv…
- Một đặc điểm nổi bật của các Control ASP.NET đó là tất cả các Control này
đều có khả năng “Hiểu các sự kiện (event)” và các sự kiện này điều có thể lập trình
được như là : sự kiện Load, sự kiện Click, sự kiện Change…vv…
Những thành phần (components) dựa vào XML: Các thành phần ASP.NET
dựa vào XML rất nhiều, vd như điều khiển AD Rotator sử dụng XML để lưu các
thông tin về quảng cáo và cấu hình.
Xác thực người dùng qua tài khoản (account) và vai trò (role).
- ASP.NET hỗ trợ xác thực người dùng dựa vào form bao gồm quản lý cookie và
tự động chuyển trang đối với những người dùng không hợp lệ.
22
- Việc quản lý thông qua account và role có ý nghĩa chỉ cho phép từng tài khoản
với từng role khác nhau có thể truy xuất vào những phần code khác nhau ở server.
Khả năng mở rộng cao hơn.
- Có ý nghĩa là một ứng dụng có thể trãi rộng tương tác trên nhiều server, khả
năng giao tiếp giữa các server được tăng cường.
Mã thực thi hiệu quả hơn.
- Lần đầu tiên được triệu gọi, mã ASP.NET sẽ được biên dịch và lưu một bản sao
trong bộ nhớ, mỗi lần sau được triệu gọi thì không cần biên dịch lại nữa, cách làm này
tăng hiệu suất rất đáng kể.
- Khác với trang ASP, mỗi lần triệu gọi là mỗi lần trang ASP được biên dịch lại
tốn rất nhiều tài nguyên cho việc xử lý như thế.
Dễ cài đặt và cấu hình.
- Dễ cấu hình : Tất cả cấu hình theo thông qua dạng file văn bản đơn giản ngay
trong khi ứng dụng đang chạy mà không cần phải khởi động lại server hay phải đăng
ký gì cả.
- Dễ cài đặt : Mỗi khi có sự thay đổi chỉ cần thay các file .dll mới bằng cách chép
không cần các thao tác gì khác.(công nghệ COPY). Lúc cài đặt ứng dụng cũng tương
tự.
3.1.5. Ưu điểm của Asp.net
ASP.NET có nhiều ưu điểm hơn các nền tảng khác khi dùng nó để tạo ứng
dụng Web. Có thể phần lớn những ưu điểm quan trọng của nó đi kèm với các máy chủ
Windows và các công cụ lập trình Windows. Ứng dụng web được tạo bởi ASP.NET
được tạo ra, bắt lỗi và triển khai rất dễ dàng thông qua các tác vụ có thể thực thi trọn
vẹn trong một môi trường phát triển duy nhất – Visual Studio. NET.
Với những nhà phát triển ứng dụng Web, ASP.NET bộc lộ những ưu điểm sau đây:
- Những phần thực thi được của ứng dụng Web được biên dịch, vì vậy chúng
thực thi nhanh hơn là các kịch bản thông dịch.
- Các cập nhập ngay lập tức giúp cho việc triển khai các ứng dụng Web mà
không phải khởi động lại máy chủ.
- Truy cập tới .NET Framework, có thể đơn giản hóa nhiều khía cạnh trong lập
trình Windows
- Sử dụng nhiều những hiểu biết về ngôn ngữ lập trình VB, vốn đã được tăng
cường để hỗ trợ lập trình hướng đối tượng.
- Giới thiệu ngôn ngữ lập trình mới mà nó cung cấp khả năng an toàn kiểu,
hướng đối tượng, so với ngôn ngữ lập trình C.
- Tự động quản lý trạng thái để điều khiển trang Web (được gọi là server
controls) vì vậy chúng có gì đó giống với các Windows controls.
- Các tính năng bảo mật được xây dựng sẵn thông qua máy chủ Windows hoặc
thông qua các phương thực xác nhận/phân quyền khác.
23
- Tích hợp chặt chẽ với ADO.NET để cung cấp các truy xuất CSDL và các công
cụ thiết kế CSDL trực quan trong bộ VS.NET9. Hỗ trợ đầy đủ XML, CSS và các
chuẩn Web đã được thiết lập hoặc mới khác.
- Các tính năng sẵn có để đệm các trang web thường xuyên được yêu cầu trên
máy chủ, các nội dung bản địa hóa cho các ngôn ngữ và trao đổi, nhận ra khả năng
tương thích trình duyệt.
3.2. Ngôn ngữ lập trình C#
C# là một ngôn ngữ rất đơn giản, với khoảng 80 từ khoá và hơn mười kiểu dữ
liệu dựng sẵn,
nhưng
C# có tính diễn đạt cao. C# hỗ trợ lập trình có cấu trúc, hướng
đối tượng, hướng thành
phần
(component
oriented).
Trọng tâm của ngôn ngữ hướng đối tượng là lớp. Lớp định nghĩa kiểu dữ liệu
mới, cho phép
mở
rộng ngôn ngữ theo hướng cần giải quyết. C# có những từ khoá
dành cho việc khai báo
lớp, phương
thức, thuộc tính (property) mới. C# hỗ trợ đầy đủ
khái niệm trụ cột trong lập trình
hướng
đối tượng: đóng gói, thừa kế, đa
hình.
Định nghĩa lớp trong C# không đòi hỏi tách rời tập tin tiêu đề với tập tin cài đặt
như C++. Hơn
thế,
C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp trong tập
tin mã nguồn. Đến khi biên dịch
sẽ
tạo tập tin sưu liệu theo định dạng
XML.
C# hỗ trợ khái niệm giao diện, interfaces (tương tự Java). Một lớp chỉ có thể
kế
thừa duy nhất một lớp cha nhưng có thế cài đặt nhiều giao
diện.
C# có kiểu cấu trúc, struct (không giống C++). Cấu trúc là kiểu hạng nhẹ và bị
giới hạn. Cấu
trúc
không thể thừa kế lớp hay được kế thừa nhưng có thể cài đặt giao
diện.
C# cung cấp những đặc trưng lập trình hướng thành phần như property, sự kiện
và dẫn hướng
khai
báo (được gọi là attribute). Lập trình hướng component được hỗ
trợ bởi CLR thông qua siêu dữ
liệu
(metadata). Siêu dữ liệu mô tả các lớp bao gồm
các phương thức và thuộc tính, các thông tin bảo
mật….
Assembly là một tập hợp các tập tin mà theo cách nhìn của lập trình viên là các
thư viện liên
kết
động (DLL) hay tập tin thực thi (EXE). Trong .NET một assembly là
một đơn vị của việc tái
sử
dụng, xác định phiên bản, bảo mật, và phân phối. CLR
cung cấp một số các lớp để thao tác
với assembly.
C# cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng vùng mã
đó được xem
như
không an toàn. CLR sẽ không thực thi việc thu dọn rác tự động các
đối tượng được tham chiếu
bởi
con trỏ cho đến khi lập trình viên tự giải
phóng.
3.3. Hệ quản trị cơ sở dữ liệu SQL Server
3.3.1. Khái niệm SQL Sever
SQL Server là một hệ thống quản lý cơ sở dữ liệu
Relational Database Management System (RDBMS) sử dụng Transact-SQL
24
để trao đổi dữ liệu giữa Client computer và SQL Server computer.
Một RDBMS
bao
gồm databases,database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ
phận khác nhau trong RDBMS.
SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất
lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng
lúc cho hàng ngàn user.SQL Server 2005 có thể kết
hợp "ăn
ý" với các server khác
như Microsoft Internet Information Server(IIS), E-CommerceServer,ProxyServer
Các phiên bản của SQL Server 2005:
- Enterprise: Hỗ trợ không giới hạn số lượng CPU và kích thước Database.Hỗ
trợ không giới hạn RAM(nhưng tùy thuộc vào kích thước RAM tối đa mà HĐH hỗ
trợ) và các hệ thống 64bit.
- Standard: Tương tự như bản Enterprise nhưng chỉ hỗ trợ 4CPU.Ngoài ra phiên
bản này cũng không được
trang bị
một số tính năng cao cấp khác.
- Workgroup: Tương tự bản Standard nhưng chỉ hỗ trợ 2 CPU và tối đa 3GB
RAM
- Express: Bản miễn phí, hỗ trợ tối đa 1 CPU, 1GBRAM và kích thước Database
giới hạn trong 4GB.
- SQL Server 2005 là một phần của Microsoft Server System
TM
– một cơ sở hạ
tầng máy chủ tích hợp để đơn giản sự phát triển, triển khai và các hoạt động của một
giải pháp kinh doanh linh động.
- Web: http:// w
w
w
. m
i c
rosoft. c
o m
/sql/prodinfo /
f e
atu r
e
s/ c
o m
par e
-f e
atur e
s. m
spx
3.3.2. Ưu điểm của SQL Server
Được xây dựng dựa trên những điểm mạnh của SQL Server 2000, SQL Server
2005 sẽ cung cấp một quản trị dữ liệu hợp nhất và giải pháp phân tích để giúp các tổ
chức dù lớn hay nhỏ cũng đều có thể:
- Xây dựng và triển khai các ứng dụng kinh doanh một cách bảo đảm, dễ sắp xếp
và có độ tin cậy cao hơn.
- Phát huy tối đa hiệu quả CNTT bằng cách giảm sự phức tạp trong việc tạo, triển
khai và quản lý các ứng dụng cơ sở dữ liệu.
- Trao quyền cho những người phát triển ứng dụng thông qua môi trường phát
triển phong phú, linh hoạt và hiện đại, làm cho việc tạo các ứng dụng cơ sở dữ liệu an
toàn hơn.
- Chia sẻ dữ liệu qua nhiều hệ thống máy tính, ứng dụng và các thiết bị để tạo sự
kết nối dễ dàng giữa bên trong và bên ngoài hệ thống.
- Trình bày rõ ràng và kết hợp các giải pháp tin tức kinh doanh, để điều chỉnh các
quyết định kinh doanh kịp thời và tăng hiệu quả trong toàn bộ tổ chức của bạn.
- Kiểm soát giá thành mà không cần cung cấp sự thực thi, khả năng sẵn có hay
khả năng sắp xếp.
25