Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌCTrong quá trình thực hiện luận văn, ngoài nổ lực của bản thân, em đã nhận được sự hỗ trợ, động viên và khích lệ rất nh
Trang 1KHOA CÔNG NGHỆ THÔNG TIN & TT
—oOo—
LUẬN VÃN TÓT NGHIỆP ĐẠI HỌC
THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYẾN CHO MỘT CÔNG TY TIN Hổc
Sinh viên thực hiện:
Phạm Văn Lương
MSSV: 1071687
Giáo viên hướng dẫn: Nguyễn Thanh Hải MSCB: 2267
g=^l _cscần Thơ, 05/2011
Trang 2TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TT
—oOo—
LUẬN VÃN TÓT NGHIỆP ĐẠI HỌC
THIẾT KẾ WEBSITE BÁN HÀNG TRƯC TUYẾN CHO MÔT CÔNG TY TIN HOC
• •
Sinh viên thực hiện: Giáo viên hướng dẫn:
Mã số đề tài: 10
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
so Cũ ca
Cần Thơ, ngày tháng năm 2011
Giáo viên hướng dẫn
Nguyễn Thanh Hải
Trang 4Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
Trong quá trình thực hiện luận văn, ngoài nổ lực của bản thân, em đã nhận được
sự hỗ trợ, động viên và khích lệ rất nhiều từ gia đình, nhà trường, thầy hướng dẫn vàbạn bè Nay những khó khăn đã qua, luận văn đã được hoàn thành Vói lòng biết ơnsâu sắc, em xin chân thành gỏi lời cảm ơn đến:
Đầu tiên con xin gởi lòi cảm ơn gia đình đã luôn động viên và tạo điều kiệnthuận lợi để con học tập và hoàn thành tốt luận văn này
Xin cảm ơn quý thầy cô trường Đại Học cần Thơ, đặc biệt là các thầy cô khoaCông Nghệ Thông Tin và Truyền Thông đã tận tình truyền đạt những kiến thức vàkinh nghiệm cho em trong suốt thời gian học tập tại trường
Cảm ơn thầy Nguyễn Thanh Hải đã tận tình hướng dẫn em trong suốt thời gianthực hiện đề tài này
Xin cảm ơn tất cả bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình họctập và hoàn thành tốt luận văn tốt nghiệp này
Một lần nữa em xin gởi lời cảm ơn, lòi chúc sức khỏe và thành đạt đến tất cảmọi người
Xin chân thành cảm ơn!
LỜI CẲM ƠN
Cần Thơ, ngày 10 tháng 05 năm 20112
Sinh viên thực hiệnPhạm Văn Lương - MSSV: 101687
Trang 5MỤC LỤC
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
KÝ HIỆU VÀ VIẾT TẮT 5
ABSTRACT 7
1 CHƯƠNG 1: TỔNG QUAN 8
1.1 ĐẶT VẤN ĐỀ 8
1.2 MỤC TIÊU 8
1.3 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 8
1.4 PHẠM VI - Ý NGHĨA 9
1.4.1 Phạm vi yêu cầu 9
1.4.2 Phạm vi người dùng 11
1.5 PHƯƠNG PHÁP THỰC HIỆN 11
1.5.1 Thu thập dữ liệu 11
1.5.2
Phân tích và thiết kế chi tiết 11
1.5.3 Cài đặt và kiểm thử 11
1.5.4
Viết báo cáo kết quả thực hiện 11
1.5.5
Lưu trữ, đăng tải website lên Internet 11
2 CHƯƠNG 2: cơ SỞ LÝ THUYẾT 12
2.1 ASP.NET 12
2.1.1 Khái niệm về ASP 12
2.1.2 Khái niệm về ASP.NET 12
2.1.3 Ưu điểm của ASP.NET 14
2.2 NGÔN NGỮ LẬP TRÌNH c# 15
2.2.1 Sự lựa chọn ngôn ngữ lập trình c# 15
Trang 6Để tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYẾN CHO MỘT CÔNG TY TIN HỌC
2.3 Một số đối tượng c# sử dụng trong đề tài 16
2.3.1 Đối tượng ADO.NET 16
2.3.2 Đối tượng Sqlconnection: Dùng để kết nối CSDL 16
2.3.3 Đối tượng SqlCommmand: 16
2.3.4 Đối tượng DataAdapter và DataSet: 17
3 CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN cứu 18
3.1 MÔ TẢ HỆ THỐNG 18
3.2 PHÂN TÍCH HỆ THỐNG 19
3.2.1 Mô hình quan niệm (MCD) 19
3.2.2 Mô hình luận lý (MLD) 29
3.2.3 Mô hình vật lý (MPD) 30
3.2.4 Mô hình dòng dữ liệu(DFD) 36
3.3 PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH 36
3.3.1 Giải thuật và lưu đồ 36
3.3.2 DEMO VÀ HƯỚNG DẪN sử DỤNG WEBSITE 44
TRANG CHỦ: 44
TRANG QUẢN TRỊ 52
3.4 KẾT LUẬN 71
3.4.1 KẾT QUẢ ĐẠT ĐƯƠC 71
3.4.2 KIẾN THỨC ĐẠT Được 71
3.4.3 ƯU DIÊM - THUẬN LỢI 72
Trang 7ADO ActiveX Data obịect
MCD Modal of Conceptual Data
MLD Modal of Logical Data
SQL Structured Query Language
KÝ HIỆU VÀ VIÉT TẮT
Trang 8Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
TÓM TẤT
Ngày nay, mua bán trực tuyến ữên mạng ngày càng phát triển Thông qua đó, các
công ty có thể giới thiệu sản phẩm hay thương hiệu của mình đến với thị trường toàn
cầu, trong khi các phương tiện marketing khác như báo chí, Tivi, băng rôn đều bị
giới hạn về khoảng cách địa lý, “vùng phủ sóng” Ngoài ra, việc bán hàng trực tuyến
giúp công ty bán được nhiều sản phẩm hơn: Nâng cao lọi nhuận cho công ty Do đó,
việc phát triển một website mua bán trực tuyến có một ý nghĩa vô cùng quan trọng
Nắm bắt được tình hình đó, đề tài “THIẾT KẾ WEBSITE BÁN HÀNG TRựC
TUYẾN CHO MỘT CÔNG TY TIN HỌC” được xây dựng nhằm thực hiện nhưng
mục đích đó
Đề tài nghiên cứu thuộc loại xây dựng hệ thống thông tin Mục tiêu của đề tài
“THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYẾN CHO MỘT CÔNG TY TIN
HỌC” đáp ứng các yêu cầu:
- Khách hàng mua hàng trực tuyến và gửi ý kiến đến công ty
- Quản lý thông tin khách hàng của công ty
- Quản lý thông tin nhân viên của công ty
- Quản lý thông tin của sản phẩm và tình trạng sản phẩm trong kho hàng
- Quản lý thông tin hóa đơn mua hàng của khách hang
- Quản lý thông tin hóa đơn nhập hàng
- Thống kê sản phẩm bán được ữong ngày, tháng, quý, năm
Trong quá trình nghiên cứu, tôi đã sử dụng ASP.NET, một công nghệ web để
thiết kế Website trên CSDL SQL Server Website được tạo ra đã đáp ứng được mục
tiêu của đề tài Bên cạnh đó vẫn còn một số vấn đề chưa được giải quyết như: giao
diện chưa phù hợp, chưa tích họp định vị, thông tin được quản lý còn đơn giản Tuy
nhiên, Website vẫn có khả năng tiếp tục phát triển, tăng lượng dữ liệu quản lý để ngày
càng hoàn thiện hơn
Trang 9Nowadays, the Online trading of Vietnam is more and more developing Thanks tothat, the companies can inữoduce their product or trade name to global market whereasother marketìng íacilities such as magazine, TV, banner, etc have limitatìons aboutgeographical distance or “electromagnetic wave region” In addition, Online ữadinghelps the company to sell more Products ; improve proíit for the company Thus,developing website for Online trading is very important Topic “DESIGNING ANONLINE TRADING WEBSITE FOR A INFORMATICS COMPANY” is researched
to carry out those purposes
This kind of topic is to build iníormation System The goal of the project “WEBDESIGN FOR ONLNE TRADING COMPANY” is to reach the demands of managingfollowing iníormation:
- Customers who buy Online and give comments to the company
- Personal information of customers
- Personal iníormation of employees
- Iníòrmation about purchase invoices of customers
- Informatìon about purchase invoices of imported Products
- Statistics of sold Products during the day, month, quarter, year
In the research process, I used ASP.NET, a new web technology to design website
on CSDL SQL Server The Website is designed to meet subject’s purposes and solvedabove limits as well Besides, there are still some remained issues such as UserInterface is unsuitable, Integrated Positioning is not applied, and information ismanaged still simple, etc However, the Website can be developed more intensivelyand enlarged the number of managed data to provide more useíul information
Trang 10Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
1 CHƯƠNG 1: TỔNG QUAN
1.1 ĐẶT VÁN ĐỀ
Ngày nay, việc xây dựng một Website bán hàng trực tuyến rất phổ biển Bất cứ
một mặt hàng gì đều có thể đặt hàng trực tiếp qua trang web Các trang web mua bán
trực tuyến giúp mọi người có thể lựa chọn hàng nghìn sản phẩm khác nhau cùng một
lúc mà không mất công đi lại hay mất phí đậu xe như họ vẫn đi mua sắm tại các siêu
thị hay trung tâm thương mại Ngoài ra cuộc sống hiện đại ngày càng bận rộn, mọi
người đều dành phần lớn thời gian cho công việc của mình, họ có rất it thòi gian rảnh
rỗi vì vậy mua hàng trực tuyến là biện pháp hiện hữu nhất
Mặt khác xây dựng một trang web bán hàng trực tuyến giúp doanh nghiệp giảm
được một số chi phí Thứ nhất, vói cửa hàng trực tuyến, doanh nghiệp có thể cập nhật
giá và các thông tin khác liên tục, không phải Ũ1 catalogue (đã Ũ1 ra thì không thay đổi
được) Thứ hai, cửa hàng truyền thống thường giói hạn về diện tích, trong khi vói cửa
hàng trực tuyến, công ty có thể giới thiệu tất cả sản phẩm mà không lo hết chỗ
Trong trường hợp này xây dựng một website bán hàng trực tuyến đáng tin cậy sẽ
giúp ích rất nhiều cho mọi người Xây dựng Website bán hàng trực tuyến là một trong
những bước thực hiện tin học hóa, nó sẽ thay thế phương pháp quản lý công việc
truyền thống bằng giấy tờ vừa mất thời gian mà hiệu quả không cao và xác suất có sai
xót là rất cao Giúp cho khách hàng tra cứu thông tin sản phẩm, đặt mua sản phảm
một cách nhanh chóng, tiện lọi và hiệu quả hơn
1.2 MỤC TIÊU
Mục tiêu chính của đề tài là xây dựng một website bán hàng cho phép khách hàng
đặt hàng trực tuyến và quản lý được tình hình kinh doanh của công ty
1.3 LỊCH Sử GIẢI QUYẾT VẤN ĐỀ
Hiện tại công ty đang sử dụng phần mêm quản lý trên nền Window Form được
viết bằng ngôn ngữ C#.NET và hệ quản trị CSDL SQL Server 2000
Tuy nhiên, để phát triển kinh doanh và quảng bá sản phẩm công ty quyết định xây
dựng website bán hàng trực tuyến để nâng cao hiệu quả kinh doanh
Trang 111.4 PHẠM VI - Ý NGHĨA
1.4.1 Phạm vi yêu cầu
về cơ sở lý thuyết:
> Nghiên cứu và vận dụng lý thuyết phân tích hệ thống đã học
để tìm hiểu hệ thống hiện tại, xây dựng các mô hình hệ thốngthực thể kết họp, mô hình luận lý, Lưu đồ dòng dữ liệu phục
vụ cho đề tài
> Nghiên cứu một số ngôn ngữ lập trình cơ sở dữ liệu, trên cơ sở
đó lựa chọn một ngôn ngữ lập trình phù hợp cho ứng dụng
> Tìm hiểu một số hệ quản trị cơ sở dữ liệu, từ đó chọn một hệquản trị tương thích với ngôn ngữ lập trình đã chọn sao chophù họp vói ứng dụng
> Gửi ý kiến phản hồi
>• Tìm kiếm thông tin sản phẩm
2 Trang quản lý:
> Sao lưu phục hồi CSDL
> Cập nhật thông tin nhân viên
>• Cập nhật thông tin khách hàng
> Cập nhật thông tin sản phẩm
> Cập nhật thông tin loại sản phẩm
Trang 12Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
> Cập nhật thông tin nhà sản xuất
> Cập nhật thông tin khuyến mãi
> Cập nhật tin tức của công ty
> Xử lý ý kiến của khách hàng
> Quản lý hóa đơn bán sản phẩm
> Quản lý hóa đơn nhập sản phẩm
> Quản lý được tình trạng sản phẩm trong kho hàng
> Thống kê sản phẩm bán được từng ngày, tháng, quý, năm
> Xuất hóa đơn bán hàng
> Xuất hóa đơn nhập hàng
> Xuất ra excel, pdf sản phẩm bán được trong ngày, quý, tháng,năm
về kỹ thuật:
> Đảm bảo tính chính xác
> Đảm bảo an toàn, bảo mật
> Giao diện thân thiện
> Tốc độ truy xuất nhanh
> Chương trình mềm dẻo, dễ mở rộng và phát triển
> Website có thể chạy trên các trình duyệt thông dụng:
Internet Explorer (IE), FireFox (FF), chưa thực nghiệm trêncác trình duyệt khác
> Sử dụng ASP NET 2008 với ngôn ngữ cài đặt: c#
> Hệ quản ưị cơ sở dữ liệu: SQL Server 2005
Trang 131.4.2 Phạm vi người dùng
Đề tài xây dựng Website cho một công ty tin học
Người sử dụng Website: nhân viên công ty, khách hàng và những người quan tâm
1.5 PHƯƠNG PHÁP THỰC HIỆN
Phân chia thời gian, công việc hợp lý cho quá trình làm luận văn Lên kế hoạch và
báo cáo tiến độ làm việc, từ đó xem xét và điều chỉnh tiến độ cho phù hợp Trong quá
trình làm việc tranh thủ sự quan tâm giúp đỡ của giáo viên hướng dẫn cũng như các
giáo viên hướng dẫn khác, trong hệ thống cần phải:
1.5.1 Thu thập dữ liệu
Thu thập dữ liệu thông qua Website hiện thời của các công ty bán hàng trực
tuyến khác, rút kinh nghiêm từ những hạn chế và hiệu quả thực tiễn của các Website
Xem xét chọn lựa các dữ liệu nào cần thiết cho Website cần xây dựng
1.5.2 Phân tích và thiết kế chi tiết
Tìm tài liệu có liên quan đến đề tài
Phân tích mô hình hệ thống mới
Phân tích và thiết kế website
1.5.3 Cài đặt và kiểm thử
Cài đặt website (trước tiên là chạy thử trên Localhost)
Thử nghiệm và kiểm tra lỗi
1.5.4 Viết báo cáo kết quả thực hiện
1.5.5 Lưu trữ, đăng tải website lên Internet - Hướng dẫn quản trị
vvebsite ( giai đoạn này thực hiện sau khi báo cáo luận văn )
Trang 14Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
2 CHƯƠNG 2: cơ SỞ LÝ THUYẾT
2.1 ASP.NET
2.1.1 Khái niệm về ASP
ASP (Active Server Pages) là một môi trường lập trình phía máy chủ, là một kỹ
thuật dành cho việc phát triển các ứng dụng web động và có tương tác ASP cung cấp
giao diện lập trình mạnh và tạo sự dễ dàng khi triển khai ứng dụng trên nền web
Chúng ta có thể sử dụng ASP để làm nhiều công việc như là: thay đổi, thêm bất kỳ nội
dung nào trong hang web, truy cập hay thực hiện truy vấn cơ sở dữ liệu, đọc hoặc ghi
tập tin
Các thành phần của một hang ASP:
• Các văn bản (những gì mà người sử dụng có thể nhìn được qua trình duyệt
Web dưới dạng chuỗi ký tự)
• Các thẻ HTML (nằm trong cặp thẻ <>) dùng để điều khiển việc hiển thị các
văn bản
• Các đoạn mã phía máy khách (được viết bằng JavaScript hoặc VBscript)
dùng để tăng cường khả năng tương tác giữa trang web của chúng ta với
người sử dụng và xử lý nội dung động của hang web ngay tại trình duyệt
trên máy trạm mà không cần liên lạc vói máy chủ Các đoạn mã phía máy
khách thường được viết bằng ngôn ngữ JavaScript và phải được đặt giữa
cặp thẻ <Script> và </Script> Với ba thành phần này, mã nguồn của nó
phải được tải vào trong trình duyệt của máy trạm Chính bản thân trình
duyệt phải hiểu được chúng, xử lý chúng và hiển thị nội dung hang web
cho người dùng Người dùng có thể xem được toàn bộ mã nguồn của ba
thành phần này
• Thành phần thứ tư là các đoạn mã phía máy chủ Chúng là những đoạn mã
được viết bằng ngôn ngữ VBScript (hoặc cũng có thể bằng JavaScript),
dùng để lập trình phía máy chủ (Server), nghĩa là chúng được biên dịch và
xử lý ngay tại máy chủ bằng trình biên dịch Các đoạn mã phía máy chủ
được đặt trong cặp thẻ “<%” và “%>” Ta có thể viết các mã lệnh kết nối
cơ sở dữ liệu, xử lý dữ liệu, đọc/ghi tập tin và tất cả những thao tác khác
với hệ thống tại máy chủ nếu cần Sau khi được biên dịch và thực thi, các
đoạn mã phía máy chủ sẽ không còn nữa Ket quả của nó là mã của ba
thành phần ở trên và IIS sẽ gửi về cho trình duyệt trên máy ừạm
2.1.2 Khái niệm về ASP.NET
Trang 15ASP.NET là viết tắt của Active Server Pages NET ASP.NET không chỉ là phiên
bản tiếp theo của ASP Nó còn là một bước tiến triển tiếp theo của công nghệ phát
triển web ASP.NET cho phép chúng ta sử dụng nhiều ngôn ngữ lập trình khác nhau
để tạo một chương trình ứng dụng dễ dàng ASP.NET là một phương pháp tổ chức hay
là khung tổ chức (Framework) để xây dựng các ứng dụng cho mạng trên CLR
(Common Language Runtime) được phát triển và cung cấp bởi Microsoít 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 ASP.NET không phải là một ngôn ngữ lập trình, mà nó sử dụng các ngôn
ngữ lập trình được hỗ trợ bởi Microsoít Các ngôn ngữ lập trình được dùng để diễn đạt
ASP.NET như là VB.NET (Visual Basic.NET), c#, J#
ASP.NET là một kỹ thuật phía máy chủ (server-side) dành cho việc thiết kế các
ứng dụng web trên môi trường NET Trước khi tìm hiểu về kỹ thuật này Chúng tôi sẽ
giói thiệu sơ lược về kỹ thuật phía máy khách (client-side) Kỹ thuật phía máy khách
sử dụng HTML, JavaScript và css (Cascading Style Sheet) để tạo ra một ứng dụng
web Vói kỹ thuật này, khi một trình duyệt web yêu cầu một trang thì phía máy chủ
đơn giản chỉ lấy các tập tin được yêu cầu và gửi chúng xuống phía máy khách Phía
máy khách chịu trách nhiệm hoàn toàn trong việc đọc các định dạng trong các tập tin
này và biên dịch chúng, cuối cùng là xuất ra màn hình Thay vì sử dụng kỹ thuật biên
dịch từ phía máy khách, ASP.NET sử dụng kỹ thuật biên dịch phía máy chủ,
ASP.NET sẽ biên dịch các đoạn mã nguồn trực tiếp ở phía máy chủ Trong trường hợp
này, các đoạn mã nguồn sẽ được đọc bởi máy chủ, sau đó sẽ được biên dịch ra dạng
HTML, JavaScript và css để gởi cho trình duyệt
Trang 16Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
Khi phía máy khách muốn truy cập vào trang ASP.NET, họ sẽ gởi yêu cầu đến
máy chủ (1 Gởi yêu cầu đến máy chủ) Khi máy chủ nhận được yêu cầu, máy chủ sẽ
xử lý yêu cầu của máy khách (2 Máy chủ xử lý yêu cầu) Sau khi xử lý yêu cầu xong,
máy chủ gởi kết quả được yêu cầu về phía máy khách dưới dạng HTML, JavaScript và
css (3 Trả kết quả về cho máy khách)
2.1.3 Ư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 ữọ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 ra bởi ASP.NET
có thể 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 có những ưu điểm sau đây:
• ASP.NET làm giảm mạnh số lượng mã cần thiết để xây dụng một ứng dụng
lớn
• ASP.NET làm cho công việc phát triển được đơn giản và dễ dàng hơn để
giữ vững mô hình lập trình hướng sự kiện ở máy chủ
• ASP.NET dễ dàng viết và bảo trì bởi vì mã nguồn và HTML thì tương tự
với nhau
• Mã nguồn được thực thi trên máy chủ Vì thế các trang có nhiều chức năng
và linh hoạt hơn bởi giải pháp này
• Mã nguồn biên dịch trang lần đầu tiên được yêu cầu Máy chủ lưu phiên bản
biên dịch của hang cho lần sử dụng kế tiếp khi trang được yêu cầu
• Dạng HTML của các trang sẽ được ASP.NET trả về cho trình duyệt Vì thế
các mã nguồn ứng dụng của bạn sẽ không được gởi đi và không dễ dàng bị
tiếc lộ
• Web Server liên tục giám sát các trang, các thành phần và các ứng dụng
chạy trên nó Nếu nó thông báo thiếu bộ nhớ, vòng lặp vô hạn, mã truy cập
có hại thì nó sẽ hủy bỏ những hoạt động đó và tự khởi động lại
• ASP.NET cung cấp chức năng xác nhận thông tin đãng nhập của người
dùng mà không cần viết một dòng lệnh
• ASP.NET làm việc dễ dàng vói ADO.NET sử dụng liên kết dữ liệu và tính
năng định dạng trang
• ASP.NET chạy các ứng dụng lớn với khối lượng người sử dụng lớn mà
không có vấn đề gì về hiệu suất
Trang 172.2 NGÔN NGỮ LẬP TRÌNH c#
2.2.1 Sự lựa chọn ngôn ngữ lập trình c#
Với ngôn ngữ lập trình đa dạng như ngày nay, các lập trình viên tìm kiếm cho
riêng mình một ngôn ngữ lập trình tối ưu, hiệu quả, hỗ trợ nhiều tính năng Với những
tìm hiểu, nghiên cứu thì c# là ngôn ngữ hỗ trợ rất nhiều công cụ đáp ứng được nhiều
nhu cầu của lập trình viên và trở thành ngôn ngữ lập trình phổ biến hiện nay
2.2.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ừ khóa 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 và hướng thành phần (component oriented).Những tính chất đó hiện diện trong
một ngôn ngữ lập tr ình hiện đại và ngôn ngữ c# hội đủ những điều kiện như vậy Hơn
thế, c# được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
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ừ khóa 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 như: sự đóng gói, sự kế thừa, sự đ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++ c# cung cấp đối tượng ADO.NET bao gồm hai thành phần chính là
■NET Data Provider và đối tượng DataSet, cho phép kết nối với CSDL V à trình bài
chúng bằng nhiều hình thức khác nhau
Giao diện làm việc thân thiện người dùng, hỗ trợ nhiều chức năng mới tiện lợi cho
việc lập trình Hỗ trợ lập trình Windows Forms: chỉ bằng những thao tác kéo và thả
những thành phần điều khiển lên cửa sổ form, lập trình viên có thể tạo giao diện cho
ứng dụng một cách nhanh chóng và hiệu quả
Cấu trúc bẫy lỗi Try Catch Finally giúp lập trình viên rất nhiều trong việc phát
hiện và sửa lỗi, ngăn chặn việc kết thúc chương trình một cách đột ngột làm mất dữ
Trang 18Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
Hỗ trợ cho việc mở rộng chương trình khi có nhu cầu phát triển chương trình qua
mạng
2.2.3 Ngôn ngữ c# và những ngôn ngữ khác
Microsoft nói rằng c# mang đến sức mạnh của ngôn ngữ C++ với sự dễ dàng của
ngôn ngữ Visual Basic Một điều quan trọng khác với C++ 1 à mã nguồn c# không đòi
hỏi phải có tập tin header Tất cả mã nguồn được viết trong khai báo một lớp .NET
runtime trong c# th ực hiện việc thu gom bộ nhớ tự động Do điều này nên việc sử
dụng con ữỏ trong c# ít quan ữọng hơn trong C++ Những con trỏ cũng có thể được
sử dụng trong c#, khi đó những đoạn mã nguồn này sẽ được đánh dấu là không an
toàn (unsafe code) Những thành viên của lớp được gọi duy nhất bằng toán tử Khác
vói C++ có nhiều cách gọi trong các tình huống khác nhau Điểm giống nhau giữa c#
và Java là cả hai cùng biên dịch ra mã trung gian: c# biên dịch ra MSIL(Microsoft
Intermediate Language) còn Java biên dịch ra bytecode
2.3 Một số đối tượng c# sử dụng trong đề tài
2.3.1 Đối tượng ADO.NET
• Trìnhđiều khiển SQL Server Net Data Provider: dùng cho SQL Server 2005
• Trìnhđiều khiển OLEDB Net Data Provider: dùng cho Access, Excel vàSQL
Server 6.5 V ề sau
Hai trìnhđiều khiển có chức năng tương tự nhau Do đề tài thực hiện lưu trữ trên
SQL Server 2005 nên dùng trình điều khiển SQL Server Net Data Provider
2.3.2 Đối tượng Sqlconnection: Dùng để kết nối CSDL
string str// Khai báo chuỗi kết nổi
SqlConnection Conn;// Khai báo đối tượng kết nối
str= “Server=.;Database=LuanVan;Integrated Security=true;”;
Conn= New SqlConnection(str) 'J/ Khởi tạo đối tượng kết nổi
Conn.OpenO;// Mở kế nổi
Conn.CloseO;// Đóng kết nối
2.3.3 Đối tượng SqlCommmand: dùng để thực hiện câu lệnh Sql
trên dữ liệu nguồn thông qua đối tượng kết nối.
strỉng sữ;// Khai báo chuỗi câu lệnh truy vấn
Trang 19SqlCommand Com;// Khai báo đối tượng SqlCommand
str= “select * from Khach_Hang”;
Com= New SqlCommand(str);// Khỏi tạo đối tượng SqlCommand
Com.ExecuteNonQueryO;
2.3.4 Đối tượng DataAdapter và DataSet:dùng để đưa dữ liệu từ một
hay nhiều bảng vào từng đối tượng DataTable trong đối tượng
DataSet thông qua phưovig thức Fill.
//khai báo đổi tượng SqlDataAdapter
SqlDataAdapter SqlDataAdapter;
SqlDataAdapter = New SqlDataAdapter ịsql,myconn); //khởi tạo
DataSet DataSet;// khai báo DataSet
SqlDataAdapter.Fill(DataSet);// điền dữ liệu vào DataSet
Trang 20Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
3.1 MÔ TẢ HỆ THỐNG
Thương mại điện tà ngày càng phổ biến trong cuộc sống chúng ta ngày nay,
mang lại nhiều tiện lọi cho công việc kinh doanh buôn bán sản phẩm cho mọi người dù
ở bất kỳ đâu
Công ty TNHH Yi Tính Lương Phạm chúng tôi chuyên kinh doanh các mặt
hàng thiết bị tin học Với mục đích nhằm quảng bá thương hiệu công ty và tạo thuận
lợi cho khách hàng, công ty chúng tôi quyết định xây dựng một Website thương mại
điện tử với chức năng: giới thiệu các mặt hàng của công ty, bán hàng trực tuyến, thống
kê doanh thu lọi nhuận của công ty
Công ty chúng tôi kinh doanh nhiều sản phẩm tin học Mỗi sản phẩm thuộc một
loại sản phẩm khác nhau Công ty có rất nhiều loại sản phẩm: Máy bộ, Laptop, màn
hình, máy in, máy Fax, Webcam, tai nghe, ram, mainboard
Để khách hàng hiểu rõ hơn về các sản phẩm phía công ty chúng tôi cung cấp
các thông tin mô tả về các sản phẩm như: tên, đơn giá, loại sản phẩm, hình ảnh, mô tả
sản phẩm Trong đó đơn giá sẽ được giảm nếu như khách hàng mua cùng một sản
phẩm vói số lượng lớn hơn định mức mà công ty chúng tôi đã quy định trước đó
Khi truy cập vào website khách hàng có thể tìm hiểu được thông tin về công ty,
chức năng các bộ phận, các sản phẩm và dịch vụ công ty cung cấp Các tin tức mới
nhất về công ty Tra cứu tất cả các thông tin về sản phẩm các dịch vụ mà công ty cung
cấp (lắp đặt đến nơi yêu cầu,tư vấn trực tiếp cho khách hàng ) Khách hàng có thể
trực tiếp xem thông tin chi tiết các sản phẩm kinh doanh của công ty, nếu vừa lòng về
giá cả khách hàng có thể tiến hành giao dịch trực tiếp qua mạng thông qua một số hình
thức thông dụng hiện nay như: chuyển khoản, thanh toán khi giao hàng
Để có thể mua hàng trực tuyến từ công ty khách hàng phải có một tài khoản để
đăng nhập vào hệ thống, tài khoản được đăng ky miễn phí tại website Thông tin tài
khoản của khách hàng bao gồm: usemame, password, họ tên, địa chỉ, điện thoại,
email Sau khi đăng ký thành công, khách hàng có thể mua hàng trực tuyến trên
website của công ty Đầu tiên khách hàng chọn mặt hàng mà mình muốn đặt từ
Website (khách hàng có thể chọn nhiều sản phẩm và nhiều mặt hàng cho một lần đặt)
và chọn số lượng sản phẩm mà khách hàng mốn mua Khách hàng có thể chọn tiếp
nhiều mặt hàng khác rồi chọn đặt hàng Tất cả các thong tin trên xem như là một đơn
đạt hàng Bộ phận nhân viên tiếp nhận đơn hàng sẽ lien lạc với khách hàng để xác định
chính xác đơn đạt hàng Sau đó đơn đạt hàng sẽ được chuyển đến bộ phận bán hàng để
Trang 21xuất kho sản phẩm Nhân viên bán hàng sẽ trực tiếp mang sản phẩm đến tận noi chokhách hàng Sau khi khách hàng đã nhận được sản phẩm thì một giao dịch đặt hàng đãhoàn thành.
Trong quá trình làm việc khách hàng có thể gửi các yêu cầu, ý kiến phản hồi,đại diện của công ty sẽ trả lời trực tiếp thông qua nhiều hình thức để làm vừa lòngkhách hàng
về chi phái vận chuyển, công ty chung tôi sẽ giao hàng miễn phí cho khách
hàng trong nội ô TP cần Thơ, ngược lại khách hàng sẽ phải chịu một chi phi tùythuộc vào nơi giao hàng của khách hàng
Bên cạnh đó công ty cũng thường xuyên có nhiều chương trình khuyến mãi chokhách hàng vào các ngày lễ trong năm( ví dụ: quốc khánh ngày 2/9, quốc tế phụ nữ3/8 ) Mỗi đợt khuyến mãi sẽ có ngày bắt đầu và ngày kết thúc với một tỷ lệ giảmtương ứng cho mỗi sản phẩm khác nhau
3.2 PHÂN TÍCH HỆ THỐNG
3.2.1 Mô hình quan niệm (MCD)
• Xác đinh các thưc thể, các thuôc tính và khóa
> Thực thể KHACHHANG:
Diễn giải: Thể hiện các thông tin của khách hàng Trong đó
TEN DANG NHAP là khóa chính và không được trùng với nhau
> Thực thể SAN_PHAM
Diễn giải: Thể hiện các thông tin của sản phẩm Trong đó MA_SP là khóa
chính và không được trùng vói nhau
KHACH_HANG TEN DANG NHAP MAT_KHAU GIOLTINH DIA_CHI DIENTHOAI EMAIL
Trang 22Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
SAN_PHAM
MA SP TEN_SP GIA_BAN_SP THONG_SO HINH_SP NGAY_DANG_SP BAO_HANH TRANG_THAI
> Thực thể KHUYEN_MAI
Diễn giải: Thể hiện các thông tin khuyến mại của sản phẩm Trong đó
MA_KM là khóa chính và không được trùng với nhau
KHUYEN_MAI
MA KM TEN_KM NGAY_BD_KM NGAY_KT_KM
> Thực thể LOAI_SP
Diễn giải: Thể hiện các thông tin của loại sản phẩm Trong đó MA LOAI SP
là khóa chính và không được trùng vói nhau
> Thực thể NHA_SAN_XUAT
Diễn giải: Thể hiện các thông tin của nhà sản xuất Trong đó MA NSX là
khóa chính và không được trùng với nhau
NHA_SAN_XUAT
MA NSX l
TEN_NSX ' DIACHINSX ' DIEN THOAI NXS I EMAIL_NXS '
Trang 23> Thực thể CHI_TIET_SP
Diễn giải: Thể hiện các thông tin chi tiết sản phẩm Trong đó MA_CT là khóa
chính và không được trùng vói nhau
CHI TIET SP
MA CT Inteai TEN_CT Varia
> Thực thể HOA_DON_MUA_SP
Diễn giải: Thể hiện các thông tin của hóa đơn mua sản phẩm Trong đó
MA_HD là khóa chính và không được trùng với nhau
HOA_DON_M UA_S p
MA HD Characti NGAY_LAP Date
> Thực thể NHAN_VIEN
Diễn giải: Thể hiện các thông tin của nhân viên Trong đó MA_NV là khóa
chính và không được trùng vói nhau
NHAN_VIEN
MA NV TEN_NV GIOLTINH CMND DIACHI DIENTHOAI EMAIL MAT_KHAU
> Thực thể HOA_DON_NHAP_HANG
Diễn giải: Thể hiện các thông tin hóa đơn nhập hàng Trong đó
MA HD NHAP là khóa chính và không được trùng với nhau
Trang 24> Thực thể BAI_VIETDiễn giải: Thể hiện các thông tin của bài viết Trong đó MA_BV là khóa chính
và không được trùng vói nhau
> Thực thể LOAI_BAI_VIETDiễn giải: Thể hiện các thông tin của loại bài viết Trong đó MA LOAI BY làkhóa chính và không được trùng với nhau
> Thực thể HOC VAN
Diễn giải: Thể hiện các thông tin trình độ học vấn nhân viên Trong đóMA_HV là khóa chính và không được trùng với nhau
Trang 25Diễn giải: Thể hiện các thông tin của quyền đăng nhập Trong đó
MA QUYEN là khóa chính và không được trùng với nhau
• Xác định các mối kết họp và bản số
1 Mối kết hợp THUOC: Thực thể tham gia: SAN_PHAM, LOAI_SP
Diễn giải: Một sản phẩm chỉ thuộc một loại sản phẩm Một loại sản phẩm cómột hoặc nhiều sản phẩm
2 Mối kết hợp CUA: Thực thể tham gia: SAN_PHAM,NHA_SAN_XUAT
Diễn giải: Một sản phẩm chỉ thuộc một nhà sản xuất Một nhà sản xuất, có mộthoặc nhiều sản phẩm
3 Mối kết hợp DUOC_KM: Thực thể tham gia: SAN_PHAM,KHUYENMAI
Trang 26Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
Diễn giải: Một sản phẩm có thể không được hưởng hoặc được hưởng nhiều
chương trình khuyến mãi Một chương trình khuyến mãi có thể áp dụng cho
một hoặc nhiều sản phẩm
4 Mối kết hợp CUA_KH,CHI_TIET_HD: Thực thể tham gia:
SAN_PHAM, KHACH_HANG,HOA_DON_MUA_SP
Diễn giải: Một khách hàng có thể không có hặc có nhiều hóa đơn mua sản
phẩm Một hóa đơn chỉ thuộc duy nhất một khách hàng và có một hoặc nhiều
sản phẩm Một sản phẩm có không thuộc hoặc thuộc nhiều hóa đơn
5 Mối kết hợp CUA,CHI_TIET_GH: Thực thể tham gia:
SAN_PHAM, KHACH_HANG, GIO_HANG
Trang 27s X
0,n Jco YK \
Diễn giải: Một khách hàng có thể không có hặc có nhiều giỏ hàng Một giỏhàng chỉ thuộc duy nhất một khách hàng và có một hoặc nhiều sản phẩm Mộtsản phẩm có thể thuộc một hoặc nhiều hóa đơn
6 Mối kết hợp CO_YK: Thực thể tham gia: Y_KIEN,KHACHHANG
Diễn giải: Một khách hàng có thể không hoặc có nhiếu ý kiến Một ý kiến chỉthuộc duy nhất một khách hàng
7 Mối kết họp DANG,THUOCLOAI: Thực thể tham gia:
NHAN_VTEN, BAI_VIET,LOAI_BAI_VIET
Trang 28NHAN_VIEN CHUCVU
1.1 CO cv
\ )
Diễn giải: Một nhân viên có thể không hoặc có nhiều bài viết Một bài viết chỉthuộc duy nhất một nhân viên và chỉ thuộc duy nhất một loại bài viết
8 Mối kết hợp CO_HV: Thực thể tham gia: NHAN_VIEN,HOC_VAN
Diễn giải: Một nhân viên chỉ có một trình đọ học vấn Một học vấn có thểkhông thuộc hoặc thuộc nhiều nhân viên
9 Mối kết hợp CO: Thực thể tham gia: NHAN_VTEN, QUYEN
Diễn giải: Một nhân viên chỉ có duy nhất một quyền Một quyền có thể khôngthuộc hoặc thuộc nhiều nhân viên
10 Mối kết hợp CO_CV: Thực thể tham gia: NHANVIEN,CHUC _vu
Diễn giải: Một nhân viên chỉ có duy nhất chức vụ Một chức vụ có thể khôngthuộc hoặc thuộc nhiều nhân viên
Trang 2911.Mối kết hợp LAP_HD_NHAP,CT_HD_NHAP: Thực thể tham gia:
NHAN_VIEN,HOA_DON_NHAP_SP,SAN_PHAM
Diễn giải: Một nhân viên có thể không lập hoặc lập nhiều hóa đơn Một hóa
đơn chi do duy nhất một nhân viên lập và hóa đơn có một hoặc nhiều sản
phẩm Một sản phẩm có thể không thuộc hoặc thuộc nhiều hóa đơn
• Mô hình MCD tổng họp:
Trang 30TOM TAT Variabl
Trang 32Đề tài: THIẾT KẾ WEBSITE BÁN HÀNG TRựC TUYỂN CHO MỘT CÔNG TY TIN HỌC
3.2.2 Mô hình luận lý (MLD)
Từ mô hình thực thể kết hợp ta co được các quan hệ sau:
1 KHACH_HANG (USERNAME MAT_KHAU, HO_TEN, DIA_CHI,
DIEN_THOAI_EMAIL)
2 Y_KIEN (ỊD, TIEU_DE, NOI_DUNG_NGAY_DANG, USERNAME)
3 SAN_PHAM (MA SP TEN_SP, GIA_BAN_SP, THONG_SO,
HINH SP, NGAY_DANG_SP, BAO_HANH, TRANG_THAI,
MA_LOAI_SP, MA_NSX)
4 LOALSP (MA LOAI SP TEN_LOAI_SP)
5 NHA_sAN XUAT (MA NSX TEN NSX, DIA_CHI_NSX,
DIEN THOAI NSX, EMAIL_NSX)
6 CHI_TIET_SP (MA CT TEN_CL)
7 KHUYEN_MAI (MA KM TEN_KM, NOI_DUNG_KM,
NGAY_BD_KM, NGAY_KT_KM)
8 GIO_HANG (MA GH USERNAME)
9 HOA_DON_MUA_SP (MA HD MUA NGAY_LAP_HD,
TRANG_THAI, USERNAME)
10.NHAN VIEN (MA NV TEN NV, GIOI_TINH, CMND, DIA_CHI,
DIEN_THOAI, EMAIL, MAT_KHAU, MA_HV, MA_CV, MA_QUYEN)
11 HOC_VAN (MA HV TEN_HV)
12 CHUC_VU (MA cv TEN_CV)
13 QUYEN (MA QUYEN TEN_QUYEN, MO_TA)
14 LOALBV (MA LOAI BV TEN_LOAI_BV)
15.BALVIET (ỊD, TIEU_DE, TOM_TAT, NOI_DUNG, MA_LOAI_BV,
MA_NV)
16.HOA_DON_NHAP_SP (MA HD NHAP NGAY_LAP_HD_NHAP,
MA_NV)
Trang 3317 CT_HD_NHAP (MA HD NHAP MA SP SO_LUONG,
DON_GIA)
18 DUOC_KM (MA KM MA SP)
19 THUOC_GIO_HANG (MA GH MA SP SO_LUONG)
20 THUOC_CT (MA SP MA CT NOI_DUNG_CT)
21 CT_HD_MUA (MA_HD_MUA, MA SP SO_LUONG, DON_GIA)
• Ràng buộc toàn vẹn
4- Thuộc tính giới tính chỉ có một trong hai giá trị: 0 hoặc 1
4- Thuộc tính trạng thái chỉ có một trong hai giá trị: 0 hoặc 1
4- Giá trị của : KHUYÊN_MAI.NGAY_BD_KM <=
KHUYEN_MAI.NGAY_KT_KM
• Ràng buộc về khốa ngoại
RB1 : KHACH_HANG (USERNAME) -> Y_KIEN (USERNAME)
RB2 : KHACH_HANG (USERNAME) -> GIO_HANG (USERNAME)
RB3 : KHACH_HANG (USERNAME) -> HOA_DON_MUA_SP
(USERNAME)
RB4 : NHAN_VIEN (MA_NY) -> QUYEN (MA_NV )
RB5 : NHAN_VIEN (MA_NY) -> BAI_VIET (MA_NV)
RB6 : NHANVIEN (MA_NY) -> HOC_VAN (MA_NV)
RB7: NHAN_VIEN (MA_NV) -> CHUC_VU (MA_NV )
RB8 : NHANVIEN (MA_NY) -> HOA_DON_NHAP_SP (MA_NV)
RB9 : SAN_PHAM (MA_SP) -> LOAI_SP (MA_SP)
RB10 : SAN_PHAM (MA_SP) -> NHA_SAN_XUAT (MA_SP)
3.2.3 Mô hình vật lý (MPD)
1 KHACH_HANG
Trang 34STT Tên trường Ý nghĩa Kiểu Dài RBTV
1 USERNAME Tên đăng nhập Nvarchar 50 Khóa chính
2 MAT_KHAU Mật khẩu đăng nhập Nvarchar 100
3 HO_TEN Họ tên khách hàng Nvarchar 50
4 DIA_CHI Địa chỉ khách hàng Nvarchar
100
5 DIEN_THOAI Điện thoại khách
hàng
Nvarchar 15
6 EMAIL Email khách hàng Nvarchar 50
2 TIEU_DE m* A 4.À / 1 • ÁTiêu đê ý kiên Nvarchar 100
3 NOI_DUNG Nội dung ý kiến Text max
4 NGAY_DANG Ngày đăng ý kiên Datetime 10
5 USERNAM Mã khách hàng Nvarchar 50 Khóa ngoại
3 GIA_BAN_SP Giá bán sản phẩm Money 10
4 THONG_SO Thông số sản phẩm Nvarchar 500
5 HINH_SP Hình sản phẩm Nvarchar 100
6 NGAY_DANG_SP Ngày đăng sản
phẩm
Datetime 10
2 YKĨKN
3 SAN_PHAM
Trang 359 MA_LOAI_SP Mã loại sản phẩm Char
10 Khóa ngoại1
1 MA_LOAI_SP Mã loại sản phẩm Char 10 Khóa chính
2 TEN_LOAI_SP Tên loại sản phẩm Nvarchar 100
Nvarchar 15
xuất
Nvarcharr
50
Trang 36chính
2 TEN_KM Tên khuyến mại Nvarchar 100
3 NOI_DUNG_KM Nội dung khuyến
2 USERNAME Tên đăng nhập Nvarchar 50 Khóa ngoại
1 MA_HD_MUA Mã hóa đơn mua Char 10 Khóa chính
2 NGAY_LAP_HD Ngày lập hóa đơn Datetime 10
4 USERNAME Tên đăng nhập Nvarchar 50 Khóa ngoại
2 TEN_NV Tên nhân viên Nvarchar 100
3 GIOI_TINH Giói tính nhân viên Bit
Trang 37dân nhân viên
5 DIA_CHI Địa chỉ nhân viên Nvarchar 200
6 DIEN_THOAI Điện thoại nhân
viên
Nvarchar 15
7 EMAIL Email nhân viên Nvarchar
100
1
1
Trang 38STT Tên trường Ỹ nghĩa Kiểu Dài RBTV
1 MA_LOAI_BV Mã loại bài viết Char 10 Khóa chính
2 TEN_LOAI_BV Tên loại bài viết Nvarchar 50
2 TIEU_DE rri • /\ Tiêu đê bài viêt4.À 1 V • ■ Á, Nvarchar 100
3 TOM_TAT Tóm tắt bài viết Nvarchar 500
4 NOI_DUNG Nộ dung bài viết Text Max
5 MA_LOAI_BV Mã loại bài viết Char Khóa ngoại
1 MA_HD_NHAP Mã hóa đom
1 MA_HD_NHAP Mã hóa đom nhập Char 10
Khóa chính
14 LOAI_B V
15 BAI VIET
16 HOA_DON_NHAP_SP
17 CHI_TIET_HD_NHAP