Đối với bất kỳ tổ chức nào, từ doanh nghiệp đến các tổ chức chính phủ, giải quyết các bài toán nhằm tối ưu hóa hoạt động nghiệp vụ, kinh doanh và quản lý của mình dựa trên cơ sở ứng dụng
Trang 1TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
BAN CĐTH – TCCN NGÀNH : CÔNG NGHỆ THÔNG TIN
Trang 2
LỜI NÓI ĐẦU
Ngày nay Công nghệ thông tin đóng vai trò rất quan trọng đối với sự phát triển kinh tế - xã hội của mỗi quốc gia, chiếm một vị trí quan trọng trong mọi lĩnh vực đời sống, trở thành động lực cơ bản của sự phát triển kinh tế - xã hội, đưa thế giới chuyển
từ kỷ nguyên công nghiệp sang kỷ nguyên thông tin và phát triển kinh tế tri thức Đối với bất kỳ tổ chức nào, từ doanh nghiệp đến các tổ chức chính phủ, giải quyết các bài toán nhằm tối ưu hóa hoạt động nghiệp vụ, kinh doanh và quản lý của mình dựa trên
cơ sở ứng dụng Công nghệ thông tin là yêu cầu quan trọng được đặt ra hàng đầu Trong thời đại bùng nổ Công nghệ thông tin và xu hướng phát triển kinh tế mạnh mẽ như hiện nay, nhu cầu thiết kế và quản trị Website cho cá nhân hoặc các tổ chức, cơ quan, đã và đang trở thành nhu cầu cấp bách Chính vì vậy thiết kế và quản trị Website ngày càng được rất nhiều người yêu thích và chọn làm hướng đi riêng cho mình Với những kiến thức được học về thiết kế website, trong đồ án tốt nghiệp em đã phát triển và xây dựng đề tài "Xây dựng website bán máy tính trực tuyến bằng công nghệ ASP.NET"
Xin chần thành cảm ơn!
Trang 3LỜI CẢM ƠN
Để hoàn thành bài báo cáo này, em đã nhận được sự hướng dẫn, giúp đỡ và góp
ý nhiệt tình của quý thầy Dzoan Xuân Thanh – Giảng viên bộ môn Lập trình Web và ứng dụng- Trường Đại Học Tôn Đức Thắng
Em xin gửi lời biết ơn sâu sắc đến thầy Dzoan Xuân Thanh đã dành nhiều thời gian và tâm huyết hướng dẫn nghiên cứu và giúp em hoàn thành bài báo cáo cuối kì
Em cũng xin chân thành cảm ơn đến quý thầy cô Ban Cao Đẳng-Trung Cấp Chuyên Nghiệp Đại Học, Trường Tôn Đức Thắng, đặc biệt là những thầy cô đã tận tình dạy bảo cho em suốt thời gian học tập tại trường
Em xin chân thành cảm ơn Ban Giám Hiệu Ban Cao Đẳng-Trung Cấp Chuyên Nghiệp Đại Học Tôn Đức Thắng cùng quý thầy cô trong Khoa Công Nghệ Thông Tin
đã tạo rất nhiều điều kiện để em học tập và hoàn thành tốt khóa học
Em đã có nhiều cố gắng hoàn thiện bài báo cáo cuối học kì bằng tất cả năng lực của mình, tuy nhiên không thể tránh khỏi nhiều thiếu sót, rất mong nhận được những đóng góp quý báu của quý thầy cô và các bạn
TP.HCM, ngày tháng năm 2021
Sinh viên thực hiện
Trang 4TÁC GIẢ CAM KẾT
Tôi xin cam kết báo cáo này được hoàn thành dựa trên các kết quả nghiên cứu của tôi và các kết quả nghiên cứu này chưa được dùng cho bất cứ báo cáo cùng cấp nào khác
TP.HCM, ngày tháng năm 2021
Người thực hiện
Trang 5NHẬN XÉT CỦA GIẢNG VIÊN
TP.HCM, ngày tháng năm 2021 Chữ ký giảng viên
Họ tên giảng viên
Trang 6
MỤC LỤC
LỜI NÓI ĐẦU 2
LỜI CẢM ƠN 3
CHƯƠNG 1:CƠ SỞ LÝ THUYẾT 9
1.1.ASP.NET MVC là gì? 9
1.2.Cơ chế hoạt động của ASP.NET MVC 10
1.3.Những ưu điểm của ASP.NET MVC 10
1.4.So sánh ASP.NET Webform với ASP.NET MVC 11
CHƯƠNG 2:PHÂN TÍCH THIẾT KẾ HỆ THỐNG 13
2.1 Mô tả dự án 13
2.2.Actor và Use Cases 14
2.2.1.Xác định các Actor 14
2.2.2.Xác định các USE-CASE 14
2.3.Bản vẽ các USE-CASE 15
2.4.Đặc tả USE-CASE 18
2.4.1.Use case “Khách hàng tiềm năng” 18
2.4.1.Use case “Khách hàng” 18
2.4.2.Use case “Người bán hàng” 19
2.4.3.Use case “Quản lý bán hàng” 19
2.4.4.Use case “Quản lý hệ thống” 20
2.5.Sơ Đồ Tuần Tự 21
2.5.1.Đăng nhập 21
2.5.2.Tìm kiếm 21
2.5.3.Thêm Sản Phẩm 22
2.5.4.Quản lý khách hàng 22
2.6.Sơ Đồ Hoạt Động 23
2.6.1.Đăng ký 23
2.6.2.Đăng nhập 23
2.6.3.Thêm mới sản phẩm 24
2.6.4.Sửa thông tin sản phẩm 24
2.6.5.Tìm kiếm sản phẩm 25
2.6.6.Xem giỏ hàng 25
2.7.Thiết kế dữ liệu 26
Trang 7CHƯƠNG 3:CÀI ĐẶT HỆ THỐNG 28
3.4.Giao diện đăng nhập 29
3.5.Giao Diện Giỏ Hàng 30
3.6.Giao Diện Thống Kê của ADMIN 30
3.7.Giao Diện Quản Lý Khách 31
3.8.Trang quản lí đơn hàng 31
Chương 4: TỔNG KẾT 32
4.1.Kết quả đạt được: 32
4.2.Các chức năng đã hoàn thành 32
4.3.Các chức năng có thể phát triển 33
TÀI LIỆU THAM KHẢO 34
Trang 8DANH MỤC HÌNH ẢNH
Hình 0-1: Mô Hình ASP.NET MVC 9
Hình 0-2:Bảng Mô Tả Các Phiên Bản Của ASP.NET MVC 9
Hình 0-3:Cơ Chế Hoạt Động của ASP.NET MVC 10
Hình 0-1:Sơ đồ Use Case Khách Hàng Tiềm Năng 16
Hình 0-2:Sơ Đồ Use Case Khách Hàng 16
Hình 0-3:Sơ Đồ Use Case Người Bán Hàng 17
Hình 0-4:Sơ Đồ Use Case Quản Lý Hệ Thống 17
Hình 0-5:Sơ Đồ Use Case Quản Lý Bán Hàng 18
Hình 0-6:Sơ Đồ Tuần Tự Đăng Nhập 21
Hình 0-7:Sơ Đồ Tuần Tự Tìm Kiếm 21
Hình 0-8:Sơ đồ Tuần Tự Thêm Sản Phẩm 22
Hình 0-9:Sơ Đồ Tuần Tự Quản Lý Khách Hàng 22
Hình 0-10: Sơ Đồ Hoạt Động Đăng Ký 23
Hình 0-11: Sơ Đồ Hoạt Động Đăng Nhập 23
Hình 0-12:Sơ Đồ Hoạt Động Thêm Sản Phẩm 24
Hình 0-13:Sơ Đồ Hoạt Động Sửa Thông Tin Sản Phẩm 24
Hình 0-14:Sơ Đồ Hoạt Động Tìm Kiếm Sản Phẩm 25
Hình 0-15:Sơ Đồ Hoạt Động Xem Giỏ Hàng 25
Hình 0-16: Sơ Đồ Trạng Thái Giỏ Hàng Error! Bookmark not defined Hình 0-1:Giao diện trang chủ 28
Hình 0-2:Giao diện chi tiết sản phẩm 28
Hình 0-3:Giao diện đăng ký 29
Hình 0-4:Giao diện đăng nhập 29
Hình 0-5:Giao Diện Giỏ Hàng 30
Hình 0-6:Giao diện Admin 30
Hình 0-7:Giao diện quản lí khách hàng 31
Hình 0-8:Giao diện quản lí đơn hàng 31
Trang 9CHƯƠNG 1:CƠ SỞ LÝ THUYẾT
1.1.ASP.NET MVC là gì?
ASP.NET MVC là một framework tuyệt vời hỗ trợ pattern MVC cho ASP.NET Nếu bạn muốn hiểu ASP.NET MVC làm việc như thế nào, bạn cần phải có một sự hiểu biết rõ ràng về mô hình MVC MVC là cụm từ viết tắt của odel-View-Controller,
nó phân chia pattern của ứng dụng thành 3 phần - model, controller và view
Hình 0-1: Mô Hình ASP.NET MVC
Model giúp lưu trữ dữ liệu của ứng dụng và trạng thái của nó Nó là một cơ sở
dữ liệu hoặc cũng có thể chỉ là một tập tin XML
View được coi là một giao diện người dùng được sử dụng bởi khách truy cập trang web của bạn để nhìn thấy các dữ liệu Các trang ASPX thường được sử dụng để hiển thị view trong các ứng dụng ASP.NET MVC
Controller chịu trách nhiệm xử lý các tương tác của người dùng với trang web
Nó được sử dụng để xác định loại view nào cần phải được hiển thị Controller cũng được sử dụng cho mục đích giao tiếp với model
Hình 0-2:Bảng Mô Tả Các Phiên Bản Của ASP.NET MVC
Trang 10Qua hình mô tả phía trên cho các bạn thấy tuy ASP.Net MVC ra đời năm 2009 nhưng mà tính tới năm 2013 thì nó đã được nâng cấp lên tới phiên bản ASP.Net MVC
5, đây cũng là 1 trong những ưu điểm của ông lớn Microsoft cập nhật công nghệ liên tục
Mới đây thì ASP.Net cũng đã cho ra đời công nghệ mới đó là ASP.Net core 1.0
Với sự cập nhật thường xuyên như vậy đã giúp cho ASP.Net MVC ngày nay phát triển mạnh mẽ không thua kém gì các công nghệ lập trình web sử dụng Java và PHP
1.2.Cơ chế hoạt động của ASP.NET MVC
Hình 0-3:Cơ Chế Hoạt Động của ASP.NET MVC
Dựa vào hình mô phỏng phía trên này thì mình sẽ khái quá sơ qua cơ chế hoạt động của ASP.Net MVC
1 User gửi 1 yêu cầu tới server bằng cách truyền vào 1 URL trong browser
2 Yêu cầu đó được gửi tới controller đầu tiên, controller sẽ xử lý yêu cầu, nếu yêu cầu cần truy xuất dữ liệu thì controller sẽ chuyển qua tầng model
3 Tại tầng model, dữ liệu được truy xuất từ database và sau đó truyền qua view thông qua controller
4 Controller sẽ giúp dữ liệu được chuyển từ model qua view
5 View là tầng cuối cùng giao tiếp với User, mọi dữ liệu sẽ được hiển thị cho User thông qua tầng View
1.3.Những ưu điểm của ASP.NET MVC
1 Do sử dụng mô hình MVC nên trong ASP.Net MVC đã tách biệt được các tầng
trong mô hình lập trình web vì vậy giúp tối ưu ứng dụng và dễ dàng trong việc viết code, giao diện
Trang 112 Giao diện trong ASP.Net MVC sử dụng công nghệ thiết kế web HTML, CSS
nền việc thiết kế giao diện trở nên dễ dàng và giúp cho designer linh hoạt trong việc thiết kế
3 ASP.Net MVC không sử dụng view state vì vậy trang web không bị tăng kích
thước do đó hiệu năng hoạt động không bị bị giảm
ASP.Net MVC đã khắc phục được các nhược điểm của web forms vì vậy web
forms hiện nay không còn được dùng phổ biến nữa
1.4.So sánh ASP.NET Webform với ASP.NET MVC
Asp.net Webfrom sử dụng Viewstate để quản lý các trang web đều có lifecycle, postback, dùng các web controls, các evensđể thực hiện các hành động cho UI khi
có sự tương tác với người dùng nên hầu hết Asp.net xử lý chậm
Asp.net MVC Framework chia làm 3 phần: Models, Views, Controllers Mọi tương tác với Views sẽ thực hiện hành động trong Controller, không còn postback,lifecycle và các events
Việc kiểm tra test lỗi,debug với Asp.net đều phải chạy tất cả các tiến trình của Asp.net và mọi sự thay đổi ID của control nào cũng ảnh hưởng đến ứng dụng.Đối với Asp.net MVC Framework thì việc có thể sử dụng unit test để thẩm định các Controlers thực hiện như thế nào
Cú pháp
chương trình
Sử dụng cú pháp của WebForm, tất cả các sự kiện và controls do server quản lý
Các sự kiện được điều khiển bởi controllers, các controls không do server quản lý
Truy cập dữ
liệu
Sử dụng hầu hết các công nghệ truy cập dữ liệu trong ứng dụng
Phần lớn dùng LINQ và SQL class để tạo mô hình truy cập đối tượng
Trang 12Debug Debug phải thực hiện tất cả bao
gồm các lớp truy cập dữ liệu, sự hiển thị, điều khiển các controls
Debug có thể sử dụng các unit test để kiểm tra các phương thức trong controllers
Tốc độ phân tải Tốc độ phân tải chậm khi trong
trang có quá nhiều các controls vì ViewState quá lớn
Phân tải nhanh hơn do không phải quản lý ViewState để quản lý các controls trong trang
Tương tác với
JavaScript
Tương tác với JavaScript khó khăn vì các controls được điều khiển bởi server
Tương tác với JavaScript dễ dàng vì các đối tượng không
do server quản lý điều khiển không khó
URL address Cấu trúc địa chỉ URL có dạng:
<filename>.aspx?&<tham số>
Cấu trúc địa chỉ rành mạch theo Controllers/Action/ID
BẢNG 1.1 So Sánh ASP.NET Webform với ASP.NET MVC
Trang 13CHƯƠNG 2:PHÂN TÍCH THIẾT KẾ HỆ THỐNG
-Ở trang website Admin:
+ Các admin có quyền đăng nhập và đăng ký
+ Tại trang chủ sẽ thống kê các thông tin của cửa hàng
+ Admin được phép thêm, xem, xóa, sửa quyền
+ Mỗi loại tài khoản sẽ được phân quyền khác nhau
+ Ở trang quản lý sản phẩm, các tài khoản có quyền vào được phép thêm, xem , xóa, sửa sản phẩm
+ Ở trang quản lý chủng loại sản phẩm, các tài khoản có quyền vào được phép thêm, xem , xóa, sửa chủng loại sản phẩm
+ Ở trang quản lý chủng loại sản phẩm, các tài khoản có quyền vào được phép thêm, xem , xóa, sửa nhà sản xuất.1
+ Ở trang quản lý nhập hàng, các tài khoản có quyền vào được phép thêm, xem , xóa, sửa đơn nhập hàng
Trang 14+ Ở đơn đặt hàng, các tài khoản có quyền vào được phép xem các đơn hàng chưa thanh toán, đã thanh toán nhưng chưa giao, đã thanh toán và đã giao, và duyệt đơn hàng
2.2.Actor và Use Cases
2.2.1.Xác định các Actor
+ ) Xem xét Website về phía khách hàng ta thấy:
- Những người muốn mua hàng vào website để xem thông tin.Những người này là
Khách hàng tiềm năng (Guest)
- Những người đã đặt hàng vào kiểm tra đơn hàng, thanh toán v.v gọi là Khách hàng (Customer)
+ ) Về phía đơn vị bán hàng, có những người sau đây tham gia vào hệ thống:
- Người quản lý bán hàng: quyết định nhập hàng, giá bán, quản lý tồn kho, doanh
thu, chính sách khuyến mãi
- Người bán hàng: Tư vấn cho khách hàng, theo dõi đơn hàng, thu tiền, theo dõi
chuyển hàng cho khách
- Quản trị hệ thống: Tạo người dùng, Phân quyền, Tạo cửa hàng
Vậy, các Actor của hệ thống gồm: Khách hàng tiềm năng, khách hàng,
Người bán hàng, Quản trị hệ thống,Người quản lý bán hàng
+ Tìm kiếm theo văn bản gõ vào
- Xem chi tiết sản phẩm được chọn
- Xem khuyến mãi
Trang 15- Quản lý tài khoản
- Cấp/Phân quyền cho tài khoản
- Cấu hình hệ thống thông tin
Xem xét và phân tích chức năng của“Khách hàng tiềm năng” ta nhận thấy:
- Chức năng xem sản phẩm có 2 cách là: chọn loại sản phẩm - nhà sản xuất
hoặc gõ vào ô tìm kiếm
Nên ta tách ra làm 2 là Xem sản phẩm và Tìm kiếm
- Chức năng mua hàng, thực chất là thêm vào giỏ hàng nên có thể xem là chức năng con của quản lý giỏ hàng
Đặt chức năng và xác định các mối quan hệ, ta có thể vẽ Use Case Diagram cho
Actor “Khách hàng tiềm năng” lại như sau:
Trang 16Hình 0-1:Sơ đồ Use Case Khách Hàng Tiềm Năng
Xem xét và phân tích chức năng của“Khách hàng” ta nhận thấy:
- Chức năng “Thanh toán” thường thực hiện cho từng đơn hàng cụ thể nên có thể nó là chức năng con của “Quản lý đơn hàng”
– Chức năng “Đăng nhập” khách hàng có thể sử dụng chức năng “Đăng xuất” hoặc sử dụng chức năng “Đổi mật khẩu” nếu khách hàng cần
Hình 0-2:Sơ Đồ Use Case Khách Hàng
Xem xét và phân tích chức năng của“Người bán hàng” ta nhận thấy: – Chức năng “Thu tiền” thực tế là thanh toán trực tiếp cho từng đơn hàng và chức năng “Theo dõi chuyển hàng” được thực hiện trên từng đơn hàng nên nó có thể là chức năng con của “Quản lý đơn hàng”
– Chức năng “Đăng nhập”người bán có thể sử dụng chức năng “Đăng xuất”
Trang 17Hình 0-3:Sơ Đồ Use Case Người Bán Hàng
Xem xét và phân tích chức năng của“Quản lý hệ thống” ta nhận thấy: – Chức năng “Đăng nhập”người quản lý có thể sử dụng chức năng “Đăng xuất” hoặc sử dụng chức năng “Đổi mật khẩu” nếu người quản lý cần
– Chức năng “Quản lý tài khoản”người quản lý có thể sử dụng chức năng
“Xóa tài khoản” hoặc sử dụng chức năng “Cấp(phân quyền) tài khoản” nếu người quản lý cần
Hình 0-4:Sơ Đồ Use Case Quản Lý Hệ Thống
Xem xét và phân tích chức năng của“Quản lý bán hàng” ta nhận thấy:
– Chức năng “Đăng nhập”người quản lý có thể sử dụng chức năng “Đăng xuất” hoặc sử dụng chức năng “Đổi mật khẩu” nếu người quản lý cần
Trang 18Hình 0-5:Sơ Đồ Use Case Quản Lý Bán Hàng
2.4.Đặc tả USE-CASE
2.4.1.Use case “Khách hàng tiềm năng”
2.4.1.Use case “Khách hàng”
Tên USE-CASE Khách hàng
Mô tả Khách hàng đặt hoặc mua sản phẩm
Điều kiện kích hoạt Tên đăng nhập và mật khẩu khớp với thông tin đăng
ký
Tiền điều kiện Khách hàng đã đặt hoặc mua sản phẩm
Hậu điều kiện Khách hàng nhận hoặc không có hàng
Luồng sự kiện 1 Khách hàng đăng nhập tài khoản
Tên USE-CASE Khách hàng tiềm năng
Mô tả Khách hàng muốn mua,đặt hàng cần đăng ký tài khoản
Điều kiện kích hoạt Khi khách hàng tiến hành mua hàng
Tiền điều kiện Khách hàng cho biết sản phẩm khách hàng cần mua
Hậu điều kiện Khách hàng có thể mua hoặc không
Luồng sự kiện chính 1 Khách hàng đăng ký tài khoản
2 Khách hàng có thể mua hoặc đặt hàng
3 Mua thành công hoặc ngược lại
4 Kết Thúc
Trang 19chính 2 Khách hàng có thể mua hoặc đặt hàng
3 Khách hàng có thể đổi hoặc hoàn trả
4 Mua thành công hoặc ngược lại
5 Kết Thúc
2.4.2.Use case “Người bán hàng”
Tên USE-CASE Người bán hàng
Mô tả Nhân viên sẽ quản lý đơn hàng của khách hàng
Điều kiện kích hoạt Tên đăng nhập và mật khẩu khớp với thông tin đăng
ký
Tiền điều kiện Nhân viên thu thập thông tin khách hàng
Hậu điều kiện Khách hàng có thể mua hoặc không
Luồng sự kiện chính 1 Lập hóa đơn khi khách hàng mua hàng(thông báo
cho khách biết nếu còn hàng hoặc không)
2 Cung cấp thông tin sản phẩm và chi tiết đơn hàng
3 Kết Thúc
2.4.3.Use case “Quản lý bán hàng”
Tên USE-CASE Quản lý bán hàng
Mô tả Cho phép quản lý duy trì thông tin về sản phẩm,số
lượng,đơn hàng,doanh thu trong hệ thống
Điều kiện kích hoạt Khi actor cập nhật thông tin về bán hàng của hệ
thống
Tiền điều kiện Actor phải đăng nhập vào hệ thống
Hậu điều kiện Nếu thành công thông tin sản phẩm sẽ được cập
nhật và ngược lại
Luồng sự kiện chính 1 Hệ thống yêu cầu chọn chức năng muốn thực
hiện
2 Quản lý số lượng , đơn hàng , doanh thu
3 Quản lý thông tin về sản phẩm
4 Kết thúc