1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp chuyên ngành mạng máy tính : Đề tài: Nghiên cứu xây dựng trang web quản lý bán hàng theo mô hình MVC

100 1,6K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 100
Dung lượng 6,18 MB

Nội dung

2. Mục tiêu Trong đồ án này mục tiêu của em là trình bày quá trình phân tích, thiết kế cho hệ thống bán hàng điện tử với hệ quản trị cơ sở dữ liệu SQL Sever 2008, sử dụng ngôn ngữ lập trình C và công nghệ ASP.NET MVC. Đồ án được thiết kế với mục đích đơn giản hóa hoạt động mua bán hàng hóa được thực hiện trên nền web. Mặc dù đã cố gắng hoàn thành đề tài tốt nghiệp với tất cả sự nỗ lực nhưng chắc chắn không tránh khỏi những thiếu sót nhất định, kính mong sự tận tình chỉ bảo của các thầy cô. 3. Nội dung chính Với mục đích học hỏi về công nghệ ASP.NET MVC và đem đến mới mẻ với đồ án tốt nghiệp cuối khóa, em quyết định đưa công nghệ này vào đồ án của mình. Cụ thể hơn, ASP.NET MVC 5 là công nghệ được sử dụng trong đồ án. Nội dung chính gồm 3 chương: Chương 1: Tổng quan về quản lý bán hàng và mô hình MVC Chương 2: Phân tích hệ thống quản lý bán hàng Chương 3: Ứng dụng mô hình MVC cho website quản lý bán hàng

Trang 1

CHƯƠNG 1 TỔNG QUAN VỀ LÝ THUYẾT LIÊN QUAN 5

1.1 Hướng dẫn sử dụng mẫu đồ án tốt nghiệp (Tiêu đề mục – Style Heading 2) 51.1.1 Cách chèn nhãn cho bảng biểu và hình vẽ 71.1.2 Hướng dẫn chèn công thức và nhãn 9CHƯƠNG 2 PHÂN TÍCH NHIỆM VỤ THỰC HIỆN CÁC NỘI DUNG 102.1 Tiêu đề mục 10

2.1.1 Tiêu đề tiểu mục 102.1.2 Tiêu đề tiểu mục 102.2 Tiêu đề mục 11

2.2.1 Tiêu đề tiểu mục 112.2.2 Tiêu đề tiểu mục 11CHƯƠNG 3 THIẾT KẾ VÀ THỰC HIỆN PHƯƠNG ÁN, THỰC NGHIỆM

12

3.1 Tiêu đề mục 12

3.1.1 Tiêu đề tiểu mục 123.1.2 Tiêu đề tiểu mục 123.2 Tiêu đề mục 13

3.2.1 Tiêu đề tiểu mục 13

Trang 2

KẾT LUẬN 14

TÀI LIỆU THAM KHẢO 15

PHỤ LỤC 16

Trang 3

DANH MỤC CÁC HÌNH VẼ

Hình 1-1: Mô hình MVC 12

Hình 1-2: Mô hình MVC cơ bản 14

Hình 1-3: Controller trả về action Index 16

Hình 1-4: Thư mục Views chứa các action của Controller tương ứng 17

Hình 1-5: Giao tiếp trong kiến trúc ASP.NET MVC 23

Hình 1-6: Mã code HTML 26

Hình 2-1: Biểu đồ phân rã chức năng 30

Hình 2-2: Biểu đồ mức ngữ cảnh 32

Hình 2-3: Biểu đồ mức đỉnh 33

Hình 2-4: Biểu đồ dướt mức đỉnh của chức năng quản lý tài khoản 34

Hình 2-5: Biểu đồ dưới mức đỉnh của chức năng quản lý sản phẩm 35

Hình 2-6: Biểu đồ dưới mức đỉnh của chức năng quản lý bài viết 36

Hình 2-7: Biểu đồ dưới mức đỉnh chức năng quản lý đơn đặt hàng 36

Hình 2-8: Biểu đồ dưới mức đỉnh của chức năng quản lý thông tin liên hệ 37

Hình 2-9: Biểu đồ dưới mức đỉnh của chắc năng hỗ trợ mua hàng 38

Hình 3-1: Sơ đồ chức năng cho quản trị viên 46

Hình 3-2: Sơ đồ chức năng cho khách hàng 47

Hình 3-3: Trang đăng nhập admin 56

Hình 3-4: Trang chủ 57

Hình 3-5: Trang quản trị người dùng 58

Hình 3-6: Tìm kiếm người dùng theo user name 58

Hình 3-7: Tìm kiếm nâng cao 59

Hình 3-8: Thêm mới tài khoản người dùng 60

Trang 4

Hình 3-10: Xóa tài khoản 62

Hình 3-11: Trang danh mục 62

Hình 3-12: Danh sách module 63

Hình 3-13: Tìm kiếm module bài viết theo tên 63

Hình 3-14: Tìm kiếm nâng cao 64

Hình 3-15: Thêm mới bài viết 64

Hình 3-16: Thông tin chi tiết 65

Hình 3-17: Xóa module bài viết 65

Hình 3-18: Danh sách loại sản phẩm 66

Hình 3-19: Thêm mới loại sản phẩm 66

Hình 3-20: Thông tin chi tiết sản phẩm 67

Hình 3-21: Xóa thông tin loại sản phẩm 67

Hình 3-22: Trang quản lý 68

Hình 3-23: Danh sách bài viết 68

Hình 3-24: Tìm hiểu bài viết theo module 69

Hình 3-25: Tìm kiếm nâng cao 69

Hình 3-26: Thêm mới bài viết 70

Hình 3-27: Xem thông tin chi tiết bài viết 71

Hình 3-28: Xóa bài viết 72

Hình 3-29: Danh sách sản phẩm 72

Hình 3-30: Tìm kiếm sản phẩm theo tên 73

Hình 3-31: Tìm kiếm nâng cao 73

Hình 3-32: Xem thông tin chi tiết sản phẩm 74

Hình 3-33: Xóa thông tin sản phẩm 74

Hình 3-34: Danh sách thông tin liên hệ khách hàng 75

Hình 3-35: Tìm kiếm khách hàng theo tên 75

Trang 5

Hình 3-36: Tìm kiếm nâng cao 76

Hình 3-37: Xóa thông tin 76

Hình 3-38: Danh sách giỏ hàng 77

Hình 3-39: Chi tiết giỏ hàng 78

Hình 3-40: Đổi mật khẩu 78

Hình 3-41: Trang chủ 80

Hình 3-42: Trang loại sản phẩm 81

Hình 3-43: Trang chi tiết sản phẩm 82

Hình 3-44: Xem các sản phẩm trong giỏ hàng 83

Hình 3-45: Giỏ hàng khi chưa có sản phẩm 83

Hình 3-46: Trang chi tiết bài viết 84

Hình 3-47: Thông tin chi tiết bài viết 84

Hình 3-48: Trang đăng ký tài khoản 85

Hình 3-49: Trang đăng nhập khách hàng 86

Hình 3-50: Giao diện khi khách hàng đăng nhập thành công 86

Hình 3-51: Trang liên hệ 87

DANH MỤC CÁC BẢNG BIỂU Bảng 1-1: Các kiểu trả về của Controller 16

Bảng 1-2: So sánh ASP.NET 2.0 và ASP.NET MVC 20

Bảng 1-3: Các giai đoạn thực thi một dự án trên nền Web ASP.NET MVC 22

Bảng 2-1: Danh sách các thực thể 39

Bảng 2-2: Thực thể quản lý người dùng 40

Bảng 2-3: Thực thể chi tiết giỏ hàng 40

Trang 6

Bảng 2-5: Thực thể loại sản phẩm 42

Bảng 2-6: Thực thể sản phẩm 42

Bảng 2-7: Thực thể tin tức bài viết 43

Bảng 2-8: Thực thể module bài viết 44

Bảng 2-9: Thực thể giới thiệu cửa hàng 44

Bảng 2-10: thực thể liên hệ khách hàng 45

Trang 7

THÔNG TIN KẾT QUẢ NGHIÊN CỨU

1 Thông tin chung

Tên đề tài: Nghiên cứu xây dựng trang web quản lý bán hàng theo mô hình MVCSinh viên thực hiện: Nguyễn Thế Phong

Trong đồ án này mục tiêu của em là trình bày quá trình phân tích, thiết kế cho

hệ thống bán hàng điện tử với hệ quản trị cơ sở dữ liệu SQL Sever 2008, sử dụngngôn ngữ lập trình C# và công nghệ ASP.NET MVC

Đồ án được thiết kế với mục đích đơn giản hóa hoạt động mua bán hàng hóađược thực hiện trên nền web

Mặc dù đã cố gắng hoàn thành đề tài tốt nghiệp với tất cả sự nỗ lực nhưngchắc chắn không tránh khỏi những thiếu sót nhất định, kính mong sự tận tình chỉbảo của các thầy cô

3 Nội dung chính

Với mục đích học hỏi về công nghệ ASP.NET MVC và đem đến mới mẻ với

đồ án tốt nghiệp cuối khóa, em quyết định đưa công nghệ này vào đồ án của mình

Cụ thể hơn, ASP.NET MVC 5 là công nghệ được sử dụng trong đồ án

Nội dung chính gồm 3 chương:

Chương 1: Tổng quan về quản lý bán hàng và mô hình MVC

Chương 2: Phân tích hệ thống quản lý bán hàng

Trang 8

4 Kết quả chính đạt được

Đồ án được thực hiện với các yêu cầu và chức năng như sau:

 Hiển thị tổng quan các chức năng của chương trình tại trang chủ, hiển thịdanh sách các sản phẩm theo từng nhóm sản phẩm

 Duyệt qua danh sách các sản phẩm theo nhóm hoặc theo loại sản phẩm vàxem thông tin chi tiết về sản phẩm

 Đưa sản phẩm vào giỏ hàng, cập nhật số lượng, xóa sản phẩm ra khỏi giỏhàng

 Quản trị cơ sở dữ liệu, thực hiện thao tác cơ bản như thêm, sửa, xóa, xem chitiết sản phẩm, quản trị người dùng, cho phép khách hàng có thể đăng ký làmthành viên của trang web

LỜI CẢM ƠN

Em xin gửi lời cám ơn chân thành và sự tri ân sâu sắc đối với các thầy cô củatrường Đại học Mỏ - Địa chất, đặc biệt là các thầy cô khoa Công Nghệ Thông Tincủa trường đã tạo điều kiện cho em trong quá trình học tập và làm khóa luận tốtnghiệp Em xin chân thành cảm ơn cô Đào Anh Thư đã tận tình hướng dẫn em hoànthành tốt khóa luận tốt nghiệp Cảm ơn bạn bè, gia đình và người thân vì đã giúp đỡ

em trong quá trình làm đồ án này

Trong quá trình làm khóa luận tốt nghiệp khó tránh khỏi sai sót rất mong cácthầy cô bỏ qua Đồng thời do trình độ lý luận cũng như kinh nghiệm thực tiễn cònhạn chế nên đồ án không thể tránh khỏi những thiếu sót Em rất mong nhận được ýkiến đóng góp của thầy cô để em tích lũy thêm kinh nghiệm cho bản thân

Em xin chân thành cảm ơn !

Trang 9

MỞ ĐẦU

Theo báo Dân Trí thì từ năm 2010 đến nay Việt Nam liên tục là quốc gia đứngtrong top 20 quốc gia có số người sử dụng internet lớn nhất thế giới Theo đó, tínhcho đến ngày 31/12/2012 Việt Nam đứng thứ 8 về tổng số người truy cập internettrong khu vực Châu Á với khoảng 30.858.742 người Con số này tiếp tục tăng trungbình khoảng 18% trên năm Điều này nói lên rằng internet hay được gọi là Online là

xu hướng mới của nhân loại trong đó có Việt Nam chúng ta Đã từng có ý kiến chorằng: trong một ngày họ có thể thiếu ăn, thiếu uống chứ không thể sống nếu thiếuyếu tố Online Từ đó Online nó dần dần thành thứ gì đó rất đỗi quen thuộc với mỗichúng ta, ta có thể một ngày thiếu ăn, thiếu uống chứ không thể sống khi thiếu yếu

tố online Lợi dụng vào yếu tố quen thuộc đó mà ở Việt Nam nói chung hay toàn thếgiới nói riêng đã có rất nhiều người đã kết hợp yếu tố online vào hoạt động pháttriển kinh tế nhờ vào sức mạnh công nghệ Và để đáp ứng lại nhu cầu của thời đại,nền tảng công nghệ mới nhất của Microsoft là ASP.NET MVC được ra đời

Việc xây dựng và thiết kế ứng dụng quản lý với mô hình MVC đã được cáccông ty trong nước và trên toàn thế giới hết sức chú trọng, được đầu tư và nghiêncứu sâu

Với những ưu điểm lớn như cho phép thay đổi trong một phần ứng dụng màkhông bị ảnh hưởng đến các phần khác,dễ dàng thêm các tính năng mới và lập trìnhviên có thể dễ dàng thay đổi các tính năng cũ,dễ bảo trì, module hóa các chứcnăng…Mô hình MVC đang được sử dụng rộng rãi trong các công ty vừa và lớn

Do vậy việc luận văn viết về đề tài nghiên cứu xây dựng trang web quản lý bánhàng theo mô hình MVC Luận văn mang ý nghĩa thực tiễn lớn có thể ứng dụng vàothực tế cho một cá nhân hoặc công ty vừa và nhỏ

Trang 10

CHƯƠNG 1 TỔNG QUAN VỀ QUẢN LÝ BÁN HÀNG VÀ MÔ HÌNH MVC

1.1.1.2 Vai trò của hoạt động bán hàng

 Là khâu cuối cùng của quá trình kinh doanh, đảm bảo quá trình kinh doanh diễn ra bình thường

 Nhân viên bán hàng là cầu nối giữa doanh nghiệp và khách hàng

 Là vũ khí cạnh tranh mạnh mẽ của doanh nghiệp với các đối thủ

 Kết quả hoạt động bán hàng phản ánh kết quả hoạt động kinh doanh, phản ánh sự đúng đắn mục tiêu của chiến lược kinh doanh, sự nỗ lực cố gắng của doanh nghiệp, đồng thời thể hiện trình độ tổ chức, năng lực điều hành, tỏ rõ thế và lực của doanh nghiệp trên thương trường

1.1.2 Định nghĩa thương mại điện tử

Thương mại điện tử là hình thức mua bán hàng hóa dịch vụ thông qua mạngmáy tính toàn cầu

Phạm vi của thương mại điện tử rất rộng, bao quát hầu hết các lĩnh vực hoạtđộng, kinh tế Việc mua bán hàng hóa và dịch vụ chỉ là một trong hàng ngàn lĩnhvực áp dụng của thương mại điện tử Theo nghĩa hẹp, thương mại điện tử chỉ gồm

Trang 11

các hoạt động thương mại được tiến hành trên mạng máy tính như Internet Trênthực tế, chính các hoạt động thương mại qua mạng Internet đã làm phát sinh thuậtngữ Thương mại điện tử.

Các đặc trưng của thương mại điện tử:

So sánh với các hoạt động Thương mại truyền thông Thương mại điện tử cómột số điểm khác biệt như sau:

- Các bên tiến hành giao dịch trong Thương mại điện tử không tiếp xúc trựctiếp với nhau và không đòi hỏi biết nhau từ trước

- Các giao dịch Thương mại truyền thông được thực hiện với sự tồn tại củakhái niệm biên giới quốc gia, còn Thương mại điện tử được thực hiện trongmột thị trường không có biên giới (thị trường thống nhất toàn cầu) Thươngmại điện tử trực tiếp tác động tới môi trường cạnh tranh toàn cầu

- Trong hoạt động giao dịch Thương mại điện tử đều có sự tham gia của ítnhất ba chủ thể, trong đó có một bên không thể thiếu được là người cung cấpdịch vụ mạng, các cơ quan chứng thực

- Đối với Thương mại truyền thống thì mạng lưới thông tin chỉ là phương tiện

để trao đổi dữ liệu, còn đối với Thương mại điện tử thì mạng lưới thông tinchính là thị trường

1.1.3 Hoạt động của khách hàng

Khi một khách hàng hoặc nhiều khách hàng truy cập vào website hệ thống sẽcung cấp những chức năng như: hiển thị thông tin và phân loại sản phẩm trong gianhàng, chức năng giỏ hàng, thanh toán giỏ hàng ,khuyến mãi, giới thiệu công ty

Với chức năng hiển thị và phân loại sản phẩm: sản phẩm sẽ được hiển thịlên website và kèm theo đầy đủ thông tin như: tên, hình ảnh đại diện, đặc điểm nổibật, giá cả, khuyến mại Các sản phẩm này được phân loại theo tên chủng loại Sựphân loại này sẽ được người dùng thăm quan khi thăm quan các gian hàng Trêntrang chủ của website, thành phần chính sẽ hiển thị một số sản phẩm mới nhất, nổi

Trang 12

của website Khi tham khảo đầy đủ thông tin về sản phẩm khách hàng có thể đặtmua sản phẩm ngay tại website thông qua chức năng giỏ hàng, giỏ hàng được môphỏng như giỏ hàng thực tế có thể thêm bớt, thanh toán thành tiền các sản khi đãmua.

Để thuận lợi cho việc tìm mua sản phẩm của khách hàng, website cung cấpchức năng tìm kiếm, hệ thống sẽ trả về yêu cầu với từ khóa của khách hàng cácthông tin mà nó tìm được trong hệ thống lưu trữ Khi khách hàng đến với website sẽđược cung cấp chức năng đăng ký làm thành viên để có thể nhận xét về từ mặthàng, từng sản phẩm Ngoài ra website còn cung cấp một số chức năng khác như:báo giá sản phẩm, xem tin tức công nghệ

1.1.4 Hoạt động của người quản trị

Người được cấp quyền admin sẽ được quản lý một trang quản trị, sau khithực hiện quá trình đăng nhập bằng tài khoản quyền admin, người quản trị sẽ có cácquyền sử dụng các chức năng sau:

Quản lý sản phẩm và danh mục sản phẩm, tức là người quản trị có thể thêmmới sản phẩm, danh mục sản phẩm hoặc sửa thông tin hay xóa sản phẩm hoặc danhmục sản phẩm đó

Quản lý cập nhật tin tức: tương tự như quản lý bài viết và module bài viết,người quản trị có thể cập nhật thêm, sửa, xóa

Chức năng quản lý đơn hàng: tất cả các đơn hàng sẽ được đưa đến trực tiếptới người quản trị thông qua chức năng quản lý đơn hàng Các đơn hàng sẽ đượclưu lại đầy đủ thông tin giúp người quản trị dễ dàng quản lý

Chức năng quản lý báo giá: tất cả các đơn hàng sẽ được đưa cửa hàng cậpnhật liên tục và được admin quản lý: thêm, sửa, xóa

Chức năng thống kê: thống kê các thông tin về mua bán, số lượng sản phẩm,

số thành viên

Trang 13

Ngoài ra còn có một số các chức năng khác như: tìm kiếm, quản lý thông tinadmin

1.2 Mô hình MVC

1.2.1 Công nghệ ASP.NET MVC

1.2.1.1 Giới thiệu ASP.NET MVC

ASP.NET MVC là nền tảng công nghệ mới nhất của Microsoft hiện nay làASP.NET MVC, nó được thiết kế từ suy nghĩ là làm thế nào để xây dựng một phầnmềm tốt (phần mềm tốt là phần mềm nếu bạn muốn tạo ra và nó dễ dàng thay đổi -Stephen Walther) ASP.NET MVC được thiết kể để làm sao có thể bổ sung cácnguyên lý và patterns phát triển phần mềm khi xây dựng các ứng dụng web Bêncạnh đó, nó được thiết kế để hỗ trợ cho việc kiểm thử Nó kết hợp giữa tính hiệuquả và nhỏ gọn của mô hình model-view-controller (MVC)

Trang 14

 ASP.NET MVC lần đầu tiên xuất hiện đó là trong dự án mã nguồn mởMonoRail.

Trang 15

 Và nguồn gốc thật sự để cho ra đời công nghệ Microsoft ASP.NET MVC là

do Scott Guthrie ( một trong những nhà sáng tạo ra ASP.NET ) trên chuyếnbay đến Austin, Texas để nói về hội thảo Alt.NET vào tháng 10-2007

 Cuối cùng thì đầu năm 2009 phiên bản ASP.NET MVC 1.0 ( released ) được

ra đời

Lý do ra đời của ASP.NET MVC:

 Dựa trên nền NET hỗ trợ đa ngôn ngữ như C#, VB.NET,

 Microsoft hướng đến việc giấu đi các giao thức HTTP (ẩn đi bản chất bêntrong) và code HTML bằng việc đưa ra mô hình UI (user interface) như làcác đối tượng control phía server (mỗi control có trạng thái của riêng mình,

tự động sinh mã HTML khi cần, tự động kết nối với các sự kiện phía client)

 Các nhà phát triển Web không còn phải làm việc với các request và responsetrong từng HTTP độc lập Thay thế nó chính là thuật ngữ StateFull UI (tạmdịch là trạng thái giao diện người dùng) Các nhà phát triển Web chỉ cần kéo-thả, và tưởng tượng ra điều gì sẽ xảy ra trên server khi thiết kế giao diệnWeb

1.2.1.2 Mô hình MVC cơ bản

MVC viết tắt của các chữ cái đầu của Models, Views, Controllers MVCchia giao diện UI thành 3 phần tương ứng: đầu vào của controller là các điều khiểnthông qua HTTP request, model chứa các miền logic, view là những thứ được sinh

ra trả về cho trình duyệt

Trang 16

Hình 1-2: Mô hình MVC cơ bản

Ưu điểm:

 Lợi ích của việc dùng phương pháp MVC là sự phân đoạn rõ ràng giữamodels, views, controllers bên trong ứng dụng Cấu trúc rõ ràng giúp choviệc kiểm tra lỗi ứng dụng trở nên dễ dàng hơn

 Các dự án có thể áp dụng ngay mô hình MVC mà không phụ thuộc môitrường, nền tảng xây dựng hay ngôn ngữ lập trình phát triển

 Quy hoạch các class/ function vào các thành phần riêng biệt Controller View - Model, khi đó sẽ dễ dàng xây dựng - phát triển - quản lý - vận hành

-và bảo trì một dự án, tạo sự rõ ràng, trong sáng trong quá trình phát triển dự

án, kiểm soát được các luồng dữ liệu và tạo ra các thành phần xử lý nghiệp

vụ chuyên biệt hóa

 Tạo thành mô hình chuẩn cho nhiều dự án, các chuyên gia sẽ tiếp cận - tìmhiểu những dự án đó một cách nhanh chóng và hiệu quả Nếu bạn nắm rõ mô

Trang 17

hình MVC của một dự án nào đó, thì khi tiếp cận với một dự án khác mà bạnchưa từng tiếp xúc nhưng lại được xây dựng dựa trên mô hình MVC thì bạn

sẽ cảm thấy rất dễ dàng chứ không hề khó khăn gì

 Giúp các chuyên gia lập trình, nhà quản lý, nhà đầu tư, PM có thể hiểu được

dự án hoạt động ra sao hoặc giúp các lập trình viên dễ dàng quản lý – pháttriển dự án Nó không phải ngôn ngữ, nhưng khi họ cùng nhìn vào nó thì sẽ

tự hiểu nó là gì, khi đó họ có thể trao đổi các yêu cầu và bàn bạc công việc

 Đây là một mô hình chuẩn, nó tối ưu nhất hiện nay so với nhiều mô hìnhkhác và được sử dụng trong nhiều dự án và nhiều lĩnh vực, đặc biệt trongcông nghệ sản xuất ứng dụng – phần mềm Các lập trình viên sử dụng môhình chuẩn MVC để có thể dễ dàng phân phối và chuyển giao công nghệ

Nhược điểm:

 Đối với dự án nhỏ việc áp dụng mô hình MVC sẽ gây cồng kềnh, tốn thờigian trong quá trình phát triển Tốn thời gian trung chuyển dữ liệu của cácthành phần

1.2.1.3 Tìm hiểu về các thành phần bên trong ASP.NET

Controller: đảm nhận việc xử lý logic ở phía ứng dụng bao gồm việc nhận

giá trị đầu vào của ứng dụng, phát sinh các lệnh thực thi, nhận dữ liệu từ miềnmodel và đưa người dùng đi đến các UIs khác nhau

Controller Actions: Sau khi controller xác định và gọi action nào thì action

đó có nhiệm vụ trả kết quả về cho trình duyệt Một controller có thể trả về mộtView, một file, hoặc đưa chúng ta về một action khác

Trang 18

Hình 1-3: Controller trả về action Index

Bộ khung ASP.NET MVC bao gồm các kiểu trả về như sau:

Phương thức Kiểu trả về

View() ViewResult: miêu tả một View của ASP.NET MVC.

PartialView() PartialViewResult: miêu tả một phần (fragment) của ASP.NET

MVC view

Redirect() RedirectResult: miêu tả chuyển hướng đến controller action hoặc

Url khácContent() ContentResult: gửi nội dung thô về cho trình duyêt

File() FileResult: miêu tả một file đã được tải xong

RedirectToRout

e()

RedirectToRouteResult: miêu tả chuyển hướng hoạt động đến

controller action hoặc Url sử dụng giá trị định tuyến (route)RedirectToActio

Bảng 1-1: Các kiểu trả về của Controller

Views: được xem là giao diện của ứng dụng, View có tác dụng trả về cho trình

duyệt HTML khi người dùng ghé thăm website của chúng ta Views chứa các tag

Trang 19

tương tự như HTML, chúng ta có thể đặt mọi thứ vào trong view như hình ảnh,iframes, java applets, flash và silverlight.

Hình 1-4: Thư mục Views chứa các action của Controller tương ứng

Models: chứa tất cả các xử lý mang tính nghiệp vụ, tính logic trong truy xuất

cơ sở dữ liệu, cũng như tính hợp lệ trong ứng dụng Nói cách khác, model chứa tất

cả các logic ứng dụng, ngoại trừ logic view và controller

1.2.1.4 Một vài đặc tính của ASP.NET MVC

 Tách rõ ràng các mối liên quan, mở khả năng test TDD (test drivendeveloper) Có thể test unit trong ứng dụng mà không cần phải chạyControllers cùng với tiến trình của ASP.NET và có thể dùng bất kì một unittesting framework nào như NUnit, MBUnit, MS Test,

 Có khả năng mở rộng, mọi thứ trong MVC được thiết kế cho phép dễ dàngthay thế/tùy biến (ví dụ: có thể lựa chọn sử dụng engine view riêng, routing

Trang 20

 Bao gồm một ánh xạ URL mạnh mẽ cho phép xây dựng ứng dụng với URLsạch, các URL không cần cs phần mở rộng ( ví dụ: có thể ánh xạ địa chỉ/Products/Edit/4 để thực hiện hành động “Edit” của lớp điều khiểnProductControllers)

 ASP.NET MVC Framework cũng hỗ trợ những file ASP.NETnhư ASPX ASCX và Master, đánh dấu các tập tin này như một “viewtemplate” (có thể dễ dàng dùng các tính năng của ASP.NET như lồng trangMaster,<%=%> snippets, mô tả server comtrols, template, data-binding,localization, )

 ASP.NET MVC Framework hỗ trợ đầy đủ các tính năng bảo mật củaASP.NET như forms/windows authenticate, URL authorization,membership/roles, output và data caching, session/profile sate, configurationsystem, provider archtecture

1.2.1.5 Sự khác biệt giữa Web Form và ASP.NET MVC

 ASP.NET WebForm sử dụng ViewState để quản lý, các trang ASP.NET đều

có lifecycle, postback, và dùng các web controls, các events để thực hiện cáchành động cho UI khi có sự tương tác với người dùng nên hầu hết cácASP.NET WebForm đều xử lý chậm

 ASP.NET MVC Framework chia ra thành 3 phần: Models, Views,Controllers Mọi tương tác của người dùng với Views sẽ thực hiện hànhđộng trong Controllers, không còn postback, không còn lifecycle hay eventsnữa

 Việc kiểm tra (test), gỡ lỗi (debug) ASP.NET đều phải chạy tất cả các tiếntrình của ASP.NET và mọi sự thay đổi ID của bất kỳ controls nào cũng ảnhhưởng đến ứng dụng các unit test có thể kiểm định khá dễ dàng hoạt độngcủa các controller

Trang 21

Tính năng ASP.NET 2.0 ASP.NET MVC

Kiến trúc chương

trình

Kiến trúc mô hìnhWebForm  Bussiness

 Database

Kiến trúc sử dụng việcphân chia chương trình thànhControllers, Views, Models

Cú pháp chương

trình

Sử dụng cú pháp củaWebForm Tất cả các sựkiện và controls đều doserver quản lý

Các sự kiện được điềukhiển bởi Controllers, cáccontrols không do server quảnlí

Truy cập dữ liệu

Sử dụng hầu hết cáccông cụ truy cập dữ liệutrong ứng dụng

Phần lớn dùng LINQ toSQL class để tạo mô hình truycập đối tượng

Debug

Debug chương trìnhphải thực hiện tất cả baogồm các lớp truy cập dữliệu, sự hiển thị, điềukhiển các controls

Debug có thể sử dụngcác unit test kiểm tra cácphương thức trong Controller

Tốc độ phân tải

Tốc độ phân giảichậm trong khi trang cóquá nhiều controls vìViewState quá lớn

Phân tải nhanh hơn dokhông phải quản lý ViewState

để quản lý các controls trongtrang

Trang 22

khó khăn vì các controls

bị quản lý bởi server

dàng vì các đối tượng không

do server quản lí dẫn tới điềukhiển không khó khăn

URL address

Cấu trúc địa chỉ URL códạng

<filename>.aspx?&<cáctham số>

Cấu trúc địa chỉ URLrành mạch theo dạng

Controller/Action/Id

Bảng 1-2: So sánh ASP.NET 2.0 và ASP.NET MVC

1.2.1.6 Quá trình thực thi một ứng dụng nền web ASP.NET MVC

Một yêu cầu gửi tới ứng dụng nền tảng web viết bằng ASP.NET MVC đầutiên sẽ đi qua đối tượng UrlRoutingModule, đây là một module của HTTP Modulenày sẽ phân tích yêu cầu và thực thi việc chọn lựa định tuyến Nó sẽ chọn đối tượngroute đầu tiên thích hợp với yêu cầu hiện thời (Đối tượng route là lớp thực thiBaseUrl , là một thể hiện cụ thể của lớp Route) Nếu không có định tuyến nào thíchhợp đối tượng UrlRoutingModule sẽ không thực hiện việc định tuyến mà trả yêucầu đó về cho IIS hay ASP.NET xử lí

Từ đối tượng Route được chọn lựa, đối tượng UrlRoutingModule nhận lấy đốitượng IRouteHandler tương ứng với đối tượng Route Cụ thể trong một ứng dụngASP.NET MVC thì IRouteHandler sẽ là một thể hiện của MvcRouteHandler Thểhiện này sẽ tạo ra một đối tượng IHttpHandler và truyền nó tới đối tượngIHttpContext Theo mặc định, thể hiện IHttpContext của MVC là đối tượngMvcHandler Đối tượng này sẽ chọn ra controller đáp ứng yêu cầu gửi tới ứng dụng.Chú ý: Khi một ứng dụng nền Web viết bằng ASP.NET MVC chạy trên IIS7.0, phần mở rộng tên file là không cần thiết đối vớp dự án ứng dụng đó Tuy nhiênnếu chạy trên IIS 6.0, IIS 6.0 yêu cầu bạn phải chỉ ra cho ASP.NET ISAPI DLLnhận các file có phần mở rộng mvc

Trang 23

Module nói trên và IIS là các điểm đầu vào đối với ASP.NET MVCFramework Chúng thực hiện những việc sau:

 Chọn ra một controller tương ứng xử lý yêu cầu trong một ứng dụng MVCnền web

 Có được một thể hiện cụ thể của controller đó

 Gọi phương thức Execute của controller này

Bảng sau sẽ liệt kê các giai đoạn thực thi của một dự án nền Web ASP.NETMVC

Giai đoạn Chi tiết

Tạo ra trình

xử lý yêu cầu

Đối tượng MvcRouteHandler tạo ra một thể hiện củalớp ứng dụng MvcHandler và truyền vào nó thể hiệnRequestContext

Tạo ra

Controller

Các đối tượng MvcHandler sử dụng thể hiện củaRequestContext để xác định đối tượng IcontrollerFactoryqua đó tạo ra thể hiện controller

Trang 24

ControllerActionInvoker đi kèm với controller đó sẽ xác địnhphương thức action của lớp controller đó để gọi, và rồi gọiphương thức đó.

1.2.2 Kiến trúc ứng dụng ASP.NET MVC

1.2.2.1 Giao tiếp trong kiến trúc ASP.NET MVC

Các thành phần cơ bản của ứng dụng ASP.NET bao gồm:

xử lý, mỗi xử lý sẽ được một component trong Asp.net đảm nhiệm

1 Trình duyệt gửi yêu cầu của ứng dụng Asp.Net MVC

2 MVC Engine chuyển yêu cầu tới cho Routing engine (Bộ điều hướng)

3 Routing engine kiểm tra cấu hình điều hướng (route configuration) của ứngdụng nhằm chuyển đến các controller phù hợp với yêu cầu

4 Khi Controller được tìm thấy, control này sẽ được thực thi

Trang 25

5 Nếu Controller không được tìm thấy, bộ điều hướng sẽ chỉ ra rằng controllerkhông được tìm thấy và MVC Engine sẽ thông báo lỗi cho trình duyệt.

6 Controller giao tiếp với model, tầng Model đại diện cho các Entity bên trong

hệ thống, Controller làm việc với tầng model để lấy thông tin cần cho ngườidùng

7 Controller yêu cầu View engine hiển thị thông tin dựa trên dữ liệu của tầngmodel

8 View engine trả kết quả cho controller

9 Controller gửi kết quả cho trình duyệt thông qua giao thức Http

Hình 1-5: Giao tiếp trong kiến trúc ASP.NET MVC

1.2.2.2 Các vấn đề cơ bản về Url và Routing

Hầu hết các Web Framework như Asp.net Web Form, jsp … đều ánh xạ urlvào 1 file được lưu trữ trên ổ đĩa

Ví dụ :

Trang 26

Địa chỉ Url : http://abc.com/default.aspx, quá trình thực hiện sẽ điều hướngtới file default.aspx trên ổ đĩa vật lý ví dụ D:\webroot\default.aspx.

Asp.net MVC làm việc theo cách khác, thay vì ánh xạ các file trên ổ đĩa, nó

sẽ trực tiếp ánh xạ vào các lớp, đó chính là các controller

Ví dụ:

Địa chỉ Url : http://abc.com/admin, quá trình thực hiện sẽ điều hướngcontroller là admin, Action method mặc định trong controller là Index sẽ được gọi

1.2.3 Giới thiệu về HTML, CSS và JS

HTML là thành phần cơ bản nhất để xây dựng lên trang web Cho dù trang

web có được thiết kế bằng PHP, ASP hay CGI nhưng để hiển thị nội dung lên trìnhduyệt Bao giờ đầu ra cuối cùng cũng vẫn sẽ là HTML, đây chính là định dạng màtrình duyệt web của bạn có thể đọc được và hiển thị nội dung theo nó

Thậm chí bạn có thể sử dụng những CMS (Content Management System) thìđầu ra cuối cùng vẫn là HTML Cho nên hiểu và biết cách vận hành HTML vẫn rấtcần thiết cho bất cứ ai muốn xây dựng trang web:

 HTML là chữ viết tắt của Hyper Text Markup Language hay tiếng Việt gọi làngôn ngữ hiển thị siêu văn bản

 Một tập tin HTML chứa những thẻ HTML

 Những thẻ HTML sẽ hướng dẫn trình duyệt web trình bày thành phần củamột trang web

 Một tập tin HTML phải có phần mở rộng là html hoặc htm

 Một tập tin HTML có thể được tạo bởi trình soạn thảo văn bản đơn giản nhưNotepad

Vậy CSS là gì?

CSS là chữ viết tắt Casading Style Sheets, nó đơn thuần là 1 dạng file text với

phần tên mở rộng là css Trong style Sheet này chứa những câu lệnh CSS Mỗi câu

Trang 27

lệnh CSS sẽ chứa định dạng một phần nhất định của HTML ví dụ như font chữ,đường viền, màu nền, căn chỉnh hình ảnh v.v

Trước đây khi chưa có CSS, người thiết kế web phải trộn lẫn giữa các thànhphần trình bày và nội dung với nhau Nhưng với sự xuất hiện của CSS , người ta cóthể tách rời hoàn toàn phần trình bày với nội dung Giúp cho phần code của trangweb gọn hơn và quan trọng hơn là dễ dàng chỉnh sửa

Với một trang web HTML là xương sống thì CSS lại là một thành phần địnhhình các thẻ HTML đó giúp trang web đẹp và dễ nhìn hơn

 CSS tách riêng phần định dạng ra khỏi nội dung văn bản

 CSS giúp người thiết kế kiểm soát giao diện một cách nhanh nhất và hiệuquả nhất Nó giúp người thiết kế tiết kiệm được rất nhiều công sức trongcông việc thiết kế giao diện

 Do được tách rời khỏi nội dung trang web, nên các mã HTML sẽ gọn gànghơn, giúp bạn thuận tiện trong việc chỉnh sửa giao diện Kích thước củafile html cũng được giảm đáng kể Hơn thế nữa sẽ được trình duyệt tải mộtlần và dùng nhiều lần (cache) giúp web hiển thị một cách nhanh hơn

Khác với HTML và CSS chỉ là những tập tin chứa các thẻ và định dạng, thìJavaScript (JS) là ngôn ngữ thông dịch, chương trình nguồn của nó được nhúnghoặc tích hợp vào tập tin HTML Khi trang web được tải trong trình duyệt hỗ trợJavaScript, trình duyệt sẽ thông dịch và thực hiện các lệnh JavaScript

JavaScript là ngôn ngữ nhúng chạy trên web client còn ASP.NET là ngôn ngữlập trình chạy trên web server Khi ta gọi một trang web thì mã ASP.NET sẽ đượcbiên dịch ngay trên máy chủ và gửi hoàn toàn mã HTML bao gồm cả java,css có thểthêm xml và ở trình duyệt của người dùng java mới được biên dịch và chạy.Cáccontrol của ASP.NET sau khi được tải lên trình duyệt thì đầu cuối của nó là các thẻHTML tĩnh nhưng với JS thì có thể là các mã HTML động tạo nên các hiệu ứnggiúp trang web trở nên đẹp hơn

Trang 28

Như vậy với HTML, CSS, JS và ASP.NET sẽ giúp chúng ta tạo nên nhữngtrang web đẹp và có nhiều tính năng hơn.

Ví dụ: Tạo hiệu ứng đổi màu chữ

Chuẩn bị tập tin html như sau

Hình 1-6: Mã code HTML

Tất cả những thẻ có cấu tạo đóng mở, chẳng hạn <p></p> là những thẻ củaHTML Nội dung của tập tin HTML đặt trong thẻ <html></html>, gồm 2 phần làhead và body với các thẻ cùng tên Để nội dung của CSS và JS có thể thực thi đượcthì chúng phải được đặt trong các thẻ HTML tương ứng là <style></style> và

<script></script>

Trang 29

Nội dung chính của tập tin HTML gồm 1 nút có giá trị “Đổi màu” và 1 đoạnvăn đặt trong thẻ p với thuộc tính phân lớp là para (các thẻ khác nhau có thể sửdụng thuộc tính phân lớp chung) CSS dùng thuộc tính này để nhận dạng và địnhdạng màu cho văn bản mỗi khi nội dung HTML được thực thi.

Khi nội dung trang được hiển thị đầy đủ đã được định dạng, nếu người dùngnhấn nút “Đổi màu”, JS sẽ bắt lấy sự kiện của nút đó bằng cách tìm và chọn thuộctính định danh duy nhất id=“blue” Tìm tới thẻ p qua thuộc tính class= “para” vàloại bỏ class này khỏi thẻ p Khi đó thẻ p sẽ không còn màu xanh nữa, mà thay vào

đó là màu đen

Trang 30

CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG QUẢN LÝ BÁN HÀNG

2.1 Mô tả bài toán

Trên thế giới hiện nay thiết bị điện tử có thể nói là không thể thiếu trong cuộcsống của mỗi chúng ta, chính vì nhìn được tầm quan trọng của nó mà tôi đã viết raứng dụng dùng để quản lý và bán các mặt hàng điện tử, đối tượng hướng tới đaphần tầm tuổi trung niên Khi khách hàng quan tâm tới các sản phẩm về điện tử thìvào trang web của công ty để tham khảo mặt hàng, giá cả của tất cả các loại mặthàng mà công ty đang kinh doanh đã được đưa lên trang web Khách hàng có thểxem các sản phẩm nổi bật của từng loại sản phẩm ở trên trang chủ, xem sản phẩmtheo chủng loại, hoặc tìm kiếm nhanh theo tên sản phẩm Khi khách hàng cần mualoại sản phẩm nào đó thì khách hàng có thể kích vào nút thêm vào giỏ hàng của sảnphẩm mình muốn mua Khách hàng có thể kiểm tra giỏ hàng để xác nhận sản phẩm

đã mua và có thể thêm sản phẩm hoặc sản phẩm nào không có ý định mua nữa thì

có thể xóa khỏi giỏ hàng Khi tham quan trang web, khách hàng có thể không cầnđăng nhập tài khoản mà vẫn có thể xem thông tin các mặt hàng, tuy nhiên khi kháchhàng mua hàng mà chưa đăng nhập tài khoản thì trang web sẽ hiển thị các mục đểkhách hàng gõ đầy đủ thông tin của khách hàng Nếu tất cả các thông tin hợp lệ thì

hệ thống sẽ gửi thông báo là đã mua thành công cho khách hàng

Tiếp đó bộ phận kinh doanh sẽ tiếp nhận đơn đặt hàng của khách hàng, liênlạc với khách hàng qua thông tin khách hàng cung cấp, xác nhận thanh toán và gửiyêu cầu tới bộ phận giao hàng để bộ phận này chuyển mặt hàng đã được đặt muacho khách hàng

Trong trường hợp nhiều công ty, trường học, các doanh nghiệp, có yêu cầuđặt hàng, mua hàng với số lượng lớn thì cần liên hệ trực tiếp tới công ty

Dịch vụ mà website thương mại mang lại cho khách hàng đầy đủ mọi thôngtin sản phẩm của nhà cung cấp (thông tin chi tiết sản phẩm: hình ảnh, các đặc tính kĩ

Trang 31

thuật, hãng sản xuất, giá thành,… ), các tin tức liên quan trong cùng lĩnh vực, cùngvới việc tham khảo và tìm hiểu thông tin thì khách hàng có thể thực hiện việc đặthàng ngay tại website mà không phải đến trực tiếp điểm giao dịch.

2.2 Các chức năng chính của Website

2.2.1 Chức năng dành cho người quản trị

 Quản lý tài khoản: đăng nhập, đổi mật khẩu, đăng xuất

 Quản lý sản phẩm: quản lý loại sản phẩm, quản lý sản phẩm

 Quản lý bài viết, quản lý tin tức, quản lý thông tin cửa hàng

 Quản lý thông tin liên hệ của khách hàng

 Quản lý đơn hàng

2.2.2 Chức năng dành cho khách hàng

 Xem thông tin sản phẩm

 Xem giới thiệu cửa hàng

2.3.1 Biểu đồ phân rã chức năng

Chương trình có các chức năng chính bao gồm xem thông tin sản phẩm, đặthàng, xem thông tin bài viết, các tin tức liên quan đến lĩnh vực máy tính, điện thoại,

đồ điện tử – công nghệ Bên cạnh đó website cho phép cấu hình các thông tin liênquan như thay đổi thông tin về nhân viên …

Trang 32

Hình 2-7: Biểu đồ phân rã chức năng

Mô tả chi tiết các chức năng lá

- Quản lý tài khoản: quản trị viên quản lý thông tin chi tiết tài khoản của người

dùng và của khách hàng như họ tên người dùng, địa chỉ người dùng, số điệnthoại, email, ngày tạo tài khoản và có quyền thêm, sửa, xóa thông tin của tàikhoản

- Đăng nhập: chỉ các tài khoản hợp lệ mới đăng nhập thành công Tài khoản

nào có quyền Admin thì mới đăng nhập được vào trang quản trị hệ thống

- Thay đổi mật khẩu: chức năng này chỉ thực hiện được bởi những tài khoản

nào đã được phân quyền Administrator

Trang 33

- Quản lý loại sản phẩm: quản trị viên quản lý thông tin chi tiết của từng loại

sản phẩm như tên loại sản phẩm, mã loại sản phẩm, hình ảnh và có quyềnthêm, sửa, xóa loại sản phẩm

- Quản lý sản phẩm: quản trị viên quản lý thông tin chi tiết của từng sản phẩm

như mã sản phẩm, tên sản phẩm, mã loại sản phẩm, giá sản phầm và cóquyền thêm, sửa, xóa sản phẩm

- Quản lý bài viết: quản trị viên quản lý thông tin các bài viết như tên bài viết,

nội dung bài viết, ngày tạo bài viết, ngày đăng bài, người đăng bài và cóquyền thêm, sửa, xóa bài viết

- Quản lý thông tin liên hệ: quản trị viên quản lý thông tin của khách hàng như

họ tên, số điện thoại, địa chỉ, email, ý kiến khách hàng Quản trị viên cóquyền xóa thông tin, ý kiến của khách hàng

- Quản lý đơn đặt hàng: Quản trị viên quản lý thông tin đơn đặt hàng của

khách hàng như tên khách hàng, số điện thoại, địa chỉ, Email, ngày đặt hàng,

số lượng đặt và có quyền xóa đơn hàng

- Đặt hàng: Khách hàng khi tham quan tại website có thể xem các bài viết về

tin tức sản phẩm, tin khuyến mại, xem các thông tin của sản phẩm, đăng kílàm thành viên và thiết lập phiếu đặt hàng

Trang 34

Hình 2-8: Biểu đồ mức ngữ cảnh

Mô tả tương tác:

- Admin: Là quản trị viên, quản lý thông tin liên hệ của khách hàng, quản lý

thông tin đơn đặt hàng của khách, quản lý thông tin sản phẩm, thông tin bàiviết trên hệ thộng

- Khách hàng: Là người giao dịch với hệ thống thông qua các đơn đặt hàng.

Khách hàng có thể xem thông tin sản phẩm đã được đưa lên hệ thống, thamkhảo và đánh giá nếu có nhu cầu mua hàng thì gửi thông tin cá nhân về cho

hệ thống, thông tin sẽ được quản trị viên tiếp nhận và quản lý

Trang 35

2.3.3 Biểu đồ mức đỉnh

Hình 2-9: Biểu đồ mức đỉnh

Trang 36

2.3.4 Biểu đồ mức dưới đỉnh

2.3.4.1 Biểu đồ mức dưới đỉnh của chức năng quản trị hệ thống

Hình 2-10: Biểu đồ dưới mức đỉnh của chức năng quản lý tài khoản

Admin: có vai trò quản lý thông tin tài khoản nhân viên như tên đăng nhập, họ

và tên, ngày sinh, địa chỉ, số điện thoại, email, kiểu người dùng v.v

Trang 37

2.3.4.2 Biểu đồ dưới mức đỉnh chức năng quản lý danh mục

Hình 2-11: Biểu đồ dưới mức đỉnh của chức năng quản lý sản phẩm

Trang 38

2.3.4.3 Biểu đồ dưới mức đỉnh chức năng quản lý bài viết

Hình 2-12: Biểu đồ dưới mức đỉnh của chức năng quản lý bài viết

Trang 39

2.3.4.4 Biểu đồ dưới mức đỉnh chức năng quản lý đơn hàng

Hình 2-13: Biểu đồ dưới mức đỉnh chức năng quản lý đơn đặt hàng

Trang 40

2.3.4.5 Biểu đồ dưới mức đỉnh chức năng quản lý thông tin liên hệ

Hình 2-14: Biểu đồ dưới mức đỉnh của chức năng quản lý thông tin liên hệ

Ngày đăng: 09/07/2016, 07:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w