Bảng từ điển dữ liệu
Tên thuộc tính Diễn giải
MaLoaiBV Mã thể loại bài viết.
TenLoaiBV Tên thể loại bài viết.
MaBV Mã bài viết.
TieuDe Tiêu đề của bài viết.
NoiDung Nội dung của bài viết.
NgayDang Ngày đăng tải bài viết.
MaLoaiSP Mã loại sản phẩm.
TenLoaiSP Tên loại sản phẩm.
MaNSX Mã nhà sản xuất.
TenNSX Tên nhà sản xuất.
DiaChiNSX Địa chỉ để liên hệ với nhà sản xuất.
EmailNSX Email của nhà sản xuất.
LogoNSX Chỉ đờng dẫn trỏ đến tập tin ảnh của nhà sản xuất.
Website Trang chủ của nhà sản xuất.
MaSP Mã sản phẩm.
TenSP Tên sản phẩm.
SLNhap Số lợng đợc nhập về.
GiaNhap Giá nhập về.
SldaBan Số lợng sản phẩm đó đã bán đợc.
GiaBan Giá của sản phẩm.
ThongSo Thông số kỹ thuật của sản phẩm.
HinhSP Chỉ đờng dẫn trỏ đến tập tin ảnh của sản phẩm.
NgayDangSP Ngày sản phẩm đợc đa lên Website.
HienThiSP Cờ cho biết có hiển thị sản phẩm ra trên website hay không?
MaDG Mã đánh giá cho sản phẩm.
SoSao Số sao đánh giá chất lợng sản phẩm.
ChapNhan Cờ cho biết có hiên đánh giá này về sản phẩm hay không. NguoiGui Một ngời bất kỳ có thể gửi đánh giá cho sản phẩm.
MaHD Mã hóa đơn
DonGiaHD Đơn giá của hóa đơn
NgayLapHD Ngày lập hóa đơn.
DiaChiKH Địa chỉ để giao hàng.
RoleID Mã nhóm ng ời dùng.
RoleName Tên nhóm ngời dùng.
LoweredRoleName Tên nhóm ngời dùng ở dạng chữ in thờng.
Description Mô tả về nhóm ngời dùng.
UserID Mã ngời dùng.
UserName Tên tài khoản ngời dùng.
LoweredUserName Tên tài khoản ngời dùng ở dạng chữ in thờng.
LastActivityDate Thời điểm kích hoạt tài khoản ngời dùng lần cuối cùng.
Password Mật khẩu đăng nhập hệ thống của ngời dùng.
Email Email của ngời dùng.
LoweredEmail Email của ngời dùng ở dạng chữ in thờng.
PasswordQuestion Câu hỏi để lấy lại mật khẩu ngời dùng.
PasswordAnswer Câu trả lời để lấy lại mật khẩu ngời dùng.
CreateDate Ngày tài khoản ngời dùng đợc tạo ra.
LastLoginDate Thời điểm đăng nhập hệ thống của ngời dùng.
LastPasswordChangedDate Thời điểm thay đổi mật khẩu tài khoản lần cuối.
Hình 22 : Sơ đồ thực thể kết hợp
4.3.1 Thành phần dữ liệu ở mức vật lý
Bảng LoaiSP
Bảng NhaSanXuat
Bảng HoaDon
Bảng CTHD
Bảng LoaiBV:
BảngKhDanhGia:
Bảng aspNET_Roles
Bảng aspNET_Users
Bảng aspNET_Membership
4.3.2 Đặc tả các Modul của hệ thống (Phân tích RSI)Bảng đặc tả các chức năng của hệ thống Bảng đặc tả các chức năng của hệ thống
Stt Tên quy định Mô tả chi tiết
1 Quy định lu loại SP - Thông tin loại SP bao gồm: Mã loại SP, Tên loại SP 2 Quy định lu SP
- Cần biết SP thuộc loại SP nào.
- Mỗi SP cần lu các TT sau:Tên, Thông số KT, Giá Bán, Hình ảnh, ngày đăng nhập, nhà sản xuất và tình trang hiển thị.
3 Quy định lu nhóm ngời dùng
- Thông tin nhóm ngời dùng: Mã nhóm, Tên nhóm. - Nhóm 4 loai tơng tác với hệ thống: Adminstrators, Editor, Sales, Customers.
4 Quy định lu TT ngời dùng
- Cho biết ngời dùng thuộc nhóm ngời dùng nào. - Thông tin chi tiết của ngời dùng bao gồm: Mã ngời dùng, Tên tài khoản, Mật khẩu , Lần kích hoạt cuối, Email, Câu hỏi và câu trả lời để phục hồi mật khẩu, Ngày tạo tài khoản, Lần đăng nhập cuối, và các thông tin phụ khác.vv..
5 Quy định lu nhà sản xuất - Thông tin lu trữ và quản lý nhà sản xuất : Mã , Tên, Địa chỉ, Email, Logo, Website nhà sản xuất.
6 Quy định lu TT đơn đặt hàng
- Mỗi đơn đặt hàng cần lu các thông tin sau: Mã HD, Mã KH, Địa chỉ giao hàng, đơn giá hoá đơn và ngày lập hoá đơn.
7 Quy định lu CTHD - Đơn đặt hàng cần có những SP do khách hàng đặt, giá bán, và số lợng từng SP.
8 Quy định lu TLBV
- Thông tin th loại bài viết gồm: mã thể loại, tên thể loại Các thể loại bài viết mà website sẽ có: tin khuyến mãi, sản phẩm mới, tin công nghệ.
9 Quy định lu TTBV
- Thông tin chi tiết cần lu tr đối với bài viết: Ma bài viết, tiêu đề, nội dung, ngày đăng, do ngờidùng nào trong các nhóm quản trị Addminstrators, Editor nào đăng tải
10 Quy định MK
- Các tài khoản ngời dùng có thể dễ dàng thay đổi mật khẩu đăng nhập của mình vì lý do bảo mật.
- Trong trờng hợp quên mật khẩu, ngời dùng có thể dễ dàng đợc hệ thống phục hồi mật khẩu dựa trên câu hỏi và câu trả lời lúc tạo tài khoản.
11 Quy định HT Loai SP
- Menu này sẽ liệt kê danh sách tên các loại sản phẩm, khi ngời dùng nhấn vào tên này, sẽ cho ngời dùng danh sách các SP trong nhóm sản phẩm này ở mức tổng quan
- Ví dụ:<hình>
12 Quy định HT Tổng quan SP
- Khi ngời dùng chọn nhóm sản phẩm, sẽ hiển thị thông tin tổng quan các sản phẩm: hình ảnh, tên sản phẩm, giá bán, sản xuất và 1 button để xem thông tin chiết sản phẩm đó.
- Ví dụ:<hình> 13 Quy định HT Chi tiết SP
- Khi ngời dùng click vào chi tiết SP hệ thống sẽ hiện thị thông tin chi tiết của SP đó: hình anh, tên SP, thông số kĩ thuật, giá bán
- Ví dụ:<hình> 14 Quy định HT SP mới
- ở trang chủ, các SP mới nhất đợc hiển thị ra cho khách hàng chọn lựa với các thông tin sau: tên SP, giá bán, hình ảnh.
15 Quy định HT nhóm BV
- Liệt kê tên các nhóm bài viết, khi nguoi dung click tên này hệ thống sẽ đa ra danh sách các bài viết thuộc nhóm đó
16 Quy định HT chi tiết ngời dùng - Hiển thị các thông tin sau: e mail, ngày tạo tài khoản, lần đăng nhập cuối, lần thay đổi mật khẩu cuối.
18 Quy định HT chi tiết HDDH
Hiển thị các thông tin sau:
-Các thông tin về hóa đơn: mã hóa đơn, tài khoản khách hàng, ngày lập, địa chỉ gửi hàng, đơn giá. -Thông tin chi tiết: sản phẩm đợc mua đi kèm với giá sản phẩm và số lợng đã đợc đặt.
19 Quy định HT báo giá - Có 1 trang web dành riêng để hiển thị bảng báo giá 20 Quy định tìm kiếm SP
- Cho phép ngời dùng tìm kiế m sản phẩm theo: tất cả thông tin, tên sản phẩm, đặc tính kỹ thuật và tìm theo nhà sản xuất sản phẩm.
- Ví dụ:<hình> 21 Quy định Lọc DS ngời dùng
- Chứa danh sách ngời dùng trong 1 combobox,khi chọn nhóm nào thì ở dới sẽ lọc ra các tài khoản ngời dùng t- ơng ứng vói nhóm đơc chọn
- Ví dụ:<hình>
22 Quy định HT DS ngời dùng
- Tính năng này chỉ dành cho nhóm Administrators. - Liệt kê bảng chứa thông tin chi tiết của ngời dùng bao gồm các thông tin: mã tài khoản, tên tài khoản, lần kích hoạt tài khoản cuối cùng, và 1 hyperlink “Chi tiết” để xem chi tiết hơn về tài
khoản này. - Ví dụ:<hình> 23 Quy định giỏ hàng
- Giỏ hàng của khách hàng sẽ đợc lu trữ dựa trên kỷ thuật lập trình web nh session, mảng dữ liệu v.v…
24 Quy định hiển thị thông tin giỏ hàng
-Cho biết các sản phẩm đã chọn mua, số lợng, đơn giá, thành tiền.
-Có dòng hiển thị tổng số tiền của giỏ hàng.
-Có nút xóa sản phẩm đã chọn mua, và nút cập nhật lại số lợng đã chọn, nút tiếp tục mua hàng và nút tính tiền. - Ví dụ:<hình>
25 Quy định tính thành tiền
- Chỉ hiện thị nếu khách hàng đã đăng nhập hệ thống Thành tiền=số lợng*đơn giá
- Tổng tiền =Tổng tiền các sản phẩm
26 Quy định In HDDH
- In ra các thông tin cơ bản của hóa đơn, số lợng sản phẩm, giá từng sản phẩm, thành tiền của từng sản phẩm, đơn giá của hóa đơn và địa chỉ giao hàng.
27 Quy định Thống kê doanh thu ngày
- Cho phép ban quản trị thống kê doanh thu theo từng ngày, in ra: mã hóa đơn, đơn giá, và tổng doanh thu trong ngày đó
Chơng 5 : Triển khai chơng trình
5.1 Cấu hình hệ thống ở mức vật lý
• Hệ thống đợc làm trên môi trờng phá triển tích hợp (IDE) Visual Studio 2008, với nền .N ET. Framework v3.5.
• Ngôn ngữ lập trình sử dụng chính là: Visual C# ( ngoài ra còn nhúng thêm 1 số đoạn javaScrip).
• Công cụ kết nối dữ liệu chính : Dùng Công cụ DataSet trong hỗ trợ của Visual Studio 2008.
• Trong trang Web có nhúng thêm hỗ trợ của AjaxControlToolkit.
• Quản trị trang Web dùng chức năng ASP Configuration Visual Studio 2008
5.2 Mô hình triển khai
Hệ thống đợc triển khai theo mô hình Client-Server.
5.2.1 Phía Client
Gồm các chức năng chính sau :
• Chức năng tin tức ,quảng cáo , giới thiệu sản phẩm.
• Chức năng đăng ký thành viên.
• Chức năng chọn, đặt mua hàng, thanh toán.
• Chức năng tìm kiếm.
5.2.2 Phía Server : Gồm các chức năng chính sau :
• Quản lý tin tức.
• Quản lý sản phẩm.
• Quản lý loại sản phẩm.
• Quản lý nhà cung cấp.
• Quản lý khách hàng.
• Quản lý Đơn hàng-Hoá Đơn.
• Quản lý phản hồi từ khách hàng.
Hình 23 : màn hình trang chủ
Hình 24 : Phần phía dới của màn hình trang chủ
Khi vào trang chủ khách hàng có thể chọn chuyển tới các trang chức năng khác mà khách hàng muốn xem theo các trang trên thanh thực đơn.
Khi khách hàng chọn xem chi tiết sản phẩm thì khách hàng sẽ đợc chuyển đến trang chi tiết sản phẩm.Với các thông tin liên quan tới sản phẩm đó
Hình 25 : Trang thông tin chi tiết sản phẩm
Sau khi khách hàng chọn đợc những sản phẩm mình ng ý khách hàng có thể chuyển tới trang giỏ hàng để xem lại những sản phẩm mình đã chọn và đặt hàng.
Hình 26 : Trang giỏ hàng của bạn
Nếu khách hàng muốn thực hiện chọn mua đặt hàng thì khách hàng phải là thành viên của hệ thống và thành viên đó phải đang đăng nhập hệ thống.
Nếu cha phải là thành viên của hệ thống khách hàng có thể đăng ký một tài khoản với các thông tin cơ bản.
Sau khi đăng ký khách hàng có thể đăng nhập vào hệ thống và thực hiện các chức năng dành riêng cho thành viên là đặt mua hàng qua mạng. Quá trình đăng ký và đăng nhập đợc thực hiện khá đơn giản và nhanh chóng.
Hình 28 : Trang đăng nhập
Hình 29 : Trang thông tin sản phẩm và đặt mua của khách hàng
khách hàng và quản lý các tin tức, bài viết, đánh giá đợc đăng trên trang Web. Muốn vào trang quản trị thì thành viên hệ thống và tài khoản có quyền quản trị và đã đăng nhập.
Hình 30 : Màn hình trang quản trị
Các quản trị viên tùy theo quyền hạn của mình đợc phân mà có thể truy cập vào các chức năng quản trị phù hợp :
Hình 31 : Trang quản trị chi tiết sản phẩm.
Hình 33 : Trang quản trị danh sách nhà sản xuất.
Hình 35 : Trang quản lý bài viết.
5.4 Một số xử lý quan trọng :
Class Product để lưu thụng tin sản phẩm khỏch hàng chọn đưa vào giỏ hàng:
public class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public int Price { get; set; }
public int Quantity { get; set; }
public int ThanhTien {
get
{
return Price * Quantity; } } public Product() { } }
Class ShoppingCart để lưu trữ nhiều sản phẩm trong giỏ hàng, thờm, xúa sản phẩm, cập nhật lại số lượng sản phẩm mà khỏch hàng đ ch ọn mua. Kết xuất ra tổng thành tiền của húa đ ơn, và xúasạch giỏ hàng:
public class ShoppingCart
{
public List<Product> Products { get; set; }
public static readonly ShoppingCart Instance;
static ShoppingCart() {
if (HttpContext.Current.Session["giohang"]==null) {
Instance = new ShoppingCart();
Instance.Products = new List<Product>();
HttpContext.Current.Session["giohang"] = Instance; } else { Instance = (ShoppingCart)HttpContext.Current.Session["giohang"]; } }
public int TongThanhTien {
get
{
int tong = 0;
foreach (Product product in Products) {
return tong; }
}
public void AddProduct(Product newProduct) {
foreach (Product product in Products) { if (newProduct.ProductID == product.ProductID) { product.Quantity += newProduct.Quantity; return; } } Products.Add(newProduct); }
public void RemoveProduct(int productID) {
foreach (Product product in Products) { if (product.ProductID == productID) { Products.Remove(product); return; } } }
public void UpdateProduct(int productID, int quantity) {
foreach (Product product in Products) { if (product.ProductID == productID) { product.Quantity = quantity; } } }
public void Clear() { Products.Clear(); } public ShoppingCart() { }
Kết luận
Qua thời gian nghiên cứu và thực hiện đồ án em đã đợc tìm hiểu và tiếp cận với rất nhiều kiến thức mới và củng cố đợc những kiến thức đã đợc học trong nhà trờng.
Nắm vững các công cụ, các điều khiển hỗ trợ cho việc lập trình Web trong ngôn ngữ ASP.Net. Em đã có thể hiểu hơn về các công nghệ lập trình Web và ứng dụng triển khai trong thực tế.
Đã xây dựng đợc 1 Website bán hàng với các tính năng đầy đủ so với yêu cầu đợc đặt ra ban đầu khi khảo sát để triển khai. Cụ thể: quản lý danh mục loại sản phẩm, sản phẩm, húa đơn, nhà sản xuất… cho đến những tớnh năng kết xuất thụng tin (hiển thị cỏc thụng tin loại sản phẩm, sản phẩm, bài viết lờn trang web,…), tra cứu thụng tin (tỡm kiếm sản phẩm, lọc danh sỏch người dựng trong hệ thống,…).
Tuy nhiên trong quá trình thực hiện em vẫn cha làm đợc một số yêu cầu nâng cao từ phía ban quản trị đặt ra đó là các chức năng thống kê báo cáo trên toàn bộ hệ thống. Các chức năng xử lý thông minh và hỗ trợ để phục vụ tốt nhất ngời dùng.
Vì vậy trong thời gian tới em sẽ cố gắng tìm hiểu sâu hơn nữa về ngôn ngữ ASP.Net đồng thời tìm hiểu thêm về các điều khiển và thuật toán xử lý để tối u hóa Website hớng tới mục đích cuối cùng là nâng cao chất lợng của Website tạo tiện ích nhất cho khách hàng sử dụng và cũng đồng thời nâng cao kiến thức của bản thân.
Để hoàn thành được đề tài này, một lần nữa em xin chõn thành cảm ơn thầy giỏo Th.s Lê Hồng Trang là người đó quan tõm giỳp đỡ em trong suốt quỏ trỡnh thực hiện đề tài này. Đồng thời em xin được bày tỏ tấm lũng biết
ơn của mỡnh tới cụng ty Elink, Công ty FPT Telecom chi nhánh Thanh Hóa,
công ty D&T Computer cựng toàn thể cỏc thầy cụ, bạn bố, và những người thõn đó bờn em ủng hộ và giỳp đỡ em trong suốt thời gian qua.
Mục lục
Lời cảm ơn...1
Lời mở đầu...2
Chơng 1. Lập trình ứng dụng Web với ASP.NET...4
1.1 Tìm hiểu chung về ASP.Net...4
1.2 Những u điểm của ASP.Net...5
1.3 Tìm hiểu về .Net Flatform...6
1.4 Tìm hiểu về .NET Framework...7
1.4.1 Bộ th viện các đối tợng...8
1.4.2 Th viện các lớp cơ sở ...8
1.4.3 ADO.NET và XML...9
1.4.4 Môi trờng WinForm...9
1.5 Phân nhóm các đối tợng theo loại...9
1.6 Web Server ...10
1.7 Quá trình sử lý tập tin aspx...11
1.7.1 Phân loại tập tin trong ASP.Net...11
1.7.2 Quy trình xử lý tập tin ASPX...12
1.7.3 Các sự kiện của trang ASPX.Net...12
1.7.4 Các đối tợng của ASP.Net...13
1.8 Giới thiệu về Ajax...14
1.9 Sử dụng ASP.Net Configuration...17
Chơng 2 : Công cụ và điều khiển liên kết dữ liệu...19
2.1 Hệ quản trị cơ sở dữ liệu SQL Server 2005...19
2.2.1 Cái lõi của SQL Server...19
2.2.2 Bộ công cụ chuẩn...20
2.3 Điều khiển liên kết dữ liệu DataSet...20
Chơng 3 Tìm hiểu bài toán...25
3.1 Khảo sát...25
3.1.1 Giới thiệu đơn vị khảo sát...25
3.1.2 Hiện trạng tổ chức...25
3.1.3 Hiện trạng nghiệp vụ...26
3.2 Xác định yêu cầu...27
3.2.1 Yêu cầu chức năng nhiệm vụ...27
3.2.2 Yêu cầu hệ thống...29
Chơng 4 : Phân tích thiết kế hệ thống...30
4.1 Phân tích thiết kế hệ thống ở mức quan niệm...30
4.1.1 Sơ đồ phân cấp chức năng...30
4.1.2 Sơ đồ luồng dữ liệu mức khung cảnh...31