Nghiên cứu mô hình MVC trong lập trình .NET để xây dựng website đăng ký mua giáo trình qua mạng

73 171 0
Nghiên cứu mô hình MVC trong lập trình .NET để xây dựng website đăng ký mua giáo trình qua mạng

Đ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

Header Page of 166 TRƢỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT HÀN KHOA KHOA HỌC MÁY TÍNH ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG THÔNG TIN Tên đề tài: Nghiên cứu mô hình MVC lập trình NET để xây dựng website đăng ký mua giáo trình qua mạng Sinh viên thực hiện: Nguyễn Trọng Trí Lớp: HT02 Niên khóa: 2008 - 2011 Giảng viên hƣớng dẫn: Ths.Nguyễn Quang Vũ Đà nẵng, tháng năm 2011 Footer Page of 166 Đà nẵng, tháng năm 2011 Header Page of 166 TRƢỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT HÀN KHOA KHOA HỌC MÁY TÍNH ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG THÔNG TIN Tên đề tài: Nghiên cứu mô hình MVC lập trình NET để xây dựng website đăng ký mua giáo trình qua mạng Sinh viên thực hiện: Nguyễn Trọng Trí Lớp: HT02 Niên khóa: 2008 - 2011 Giảng viên hƣớng dẫn: Ths.Nguyễn Quang Vũ Đà nẵng, tháng năm 2011 Footer Page of 166 Header Page of 166 LỜI CẢM ƠN Nhƣ ba năm học trƣờng Cao Đẳng Công Nghệ Thông Tin Hữu Nghị Việt Hàn kết thúc Đến lúc em nghĩ thật may mắn đƣợc vào học trƣờng Việt Hàn Cơ sở vật chất trƣờng tốt, thầy cô giảng viên nhiệt tình, thầy cô ban giám hiệu trƣờng chăm lo tới sinh viên, tất điều để lại cho em ấn tƣợng khó quên Đặc biệt em xin dành nhiều tình cảm đến thầy cô nghành Hệ Thống Thông Tin, thầy Lê Viết Trƣơng, thầy Hồ Văn Phi, cô Nguyễn Phƣơng Tâm, cô Nguyễn Thị Hoa Huệ, thầy Nguyễn Văn Lợi Trong suốt ba năm học trƣờng, thầy cô tận tình chăm lo, dẫn dắt chúng em học tập nhƣ đời sống ngày Trƣớc vào học trƣờng, em chƣa nghĩ thầy cô lại quan tâm, thân thiết với sinh viên đến nhƣ Trong thời gian học tập trƣờng, chúng em nhiều lần làm cho thầy cô buồn lòng, nhƣng với lòng yêu thƣơng sinh viên, thầy cô bỏ qua cho chúng em, thật chúng em phải báo đáp với thầy cô nhƣ Một lần em xin cảm ơn thầy cô, em xin hứa đời cố gắng sống xứng đáng với mà thầy cô dạy bảo em Báo cáo đồ án tốt nghiệp, kỳ t hi quan trọng đời sinh viên, kỳ thi thể chứng tỏ sinh viên học đƣợc suốt năm học trƣờng Em sau ba năm nỗ lực, thật vinh dự tự hào đƣợc tham dự kỳ báo cáo đồ án tốt nghiệp Trong suốt ba tháng, dựa vào nỗ lực thân, đƣợc giúp đỡ thầy cô, em hoàn thành báo cáo đồ án tốt nghiệp chuyên ngành Hệ Thống Thông Tin Em xin chân thành cảm ơn thầy Nguyễn Quang Vũ, thầy tận tình bảo, hƣớng dẫn em, giúp em hoàn thành đồ án Một lần nữa, em xin cảm ơn tất thầy cô, bạn bè bảo, giúp đỡ em học tập nhƣ đời sống Em nhớ điều nhƣ kỷ niệm khó quên đời sinh viên Nguyễn Trọng Trí i Footer Page of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page of 166 MỤC LỤC LỜI CẢM ƠN i DANH MỤC CÁC TỪ TIẾNG ANH iv DANH MỤC CÁC BẢNG v DANH MỤC CÁC HÌNH vi MỞ ĐẦU PHẦN GIỚI THIỆU MÔ HÌNH MVC 1.1 Xuất xứ 1.2 Kiến trúc mô hình MVC 1.3 Đặc điểm mô hình MVC PHẦN MÔ HÌNH MVC TRONG ASP.NET 2.1 Giới thiệu tổng quan 2.1.1 Lịch sử phát triển ASP.NET 2.1.2 Khái quát thành phần ASP.NET MVC 12 2.1.3 Lợi ích mô hình ASP.NET MVC 13 2.1.4 So sánh ASP.NET MVC với ASP.NET 13 2.2 Cài đặt 15 PHẦN 18 XÂY DỰNG ỨNG DỤNG VỚI ASP.NET MVC FRAMWORK 18 3.1 Tạo project với ASP.NET MVC 18 3.2 Tìm hiểu định tuyến URL 22 3.2.1 Hệ thống định tuyến ASP.NET MVC để làm ? 25 3.2.2 Các quy tắc định tuyến URL mặc định ASP.NET MVC Web Application 25 3.3 Xây dựng Controllers 34 3.4 Xây dựng Model 42 3.5 Tạo giao diện ngƣời dùng với View 45 3.6 Truy nhập liệu với LINQ 51 PHẦN 53 BẢO MẬT VỚI ASP.NET MVC APPLICATION 53 PHẦN 57 ii Footer Page of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page of 166 CHƢƠNG TRÌNH ỨNG DỤNG 57 5.1 Mô tả chƣơng trình ứng dụng 57 5.2 Hình ảnh chức trang website 60 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 63 TÀI LIỆU THAM KHẢO 64 iii Footer Page of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page of 166 DANH MỤC CÁC TỪ TIẾNG ANH Class: lớp Graphical User Interface (GUI): giao diện đồ họa ngƣời dùng Object Oriented Programming (OOP): lập trình hƣớng đối tƣợng GUI Component: thành phần đồ họa ngƣời dùng Framework: tảng Request: Yêu cầu Server: máy chủ Client: máy trạm Control: đối tƣợng điều khiển Test-driven development (TDD): phát triển điều hƣớng kiểm thử Unit test: kiểm thử đơn vị Postback: phản hồi Test: kiểm thử Code: mã lệnh ConnectionString : chuỗi kết nối Language Integrate Query (LINQ): ngôn ngữ truy vấn tích hợp Solution: giải pháp cho dự án Project: dự án Browser : trình duyệt Businness logic: lớp xử lý Implement: thực thi phƣơng thức từ lớp Application Programming Interface - API: giao diện lập trình ứng dụng Render: trả lại, biểu diễn Override : nạp chồng Redirect: chuyển hƣớng iv Footer Page of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page of 166 DANH MỤC CÁC BẢNG Số hiệu bảng Tên bảng Trang 2.1 Quá trình phát triển Asp.Net 2.2 So sánh Asp.Net Webform Asp.Net MVC 14 3.1 Các Action Method theo URL 29 3.2 Xử lý URL 36 3.3 Các loại Action Result 40 v Footer Page of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page of 166 DANH MỤC CÁC HÌNH Số hiệu hình Tên hình Trang 1.1 Các thành phần mô hình MVC 1.2 Mô hình MVC 1.1 Mô hình MVC 2.2 Mô hình ASP.NET Webform 2.3 Nền tảng Asp.Net MVC Framwork 12 2.4 Giao diện tạo project 16 2.5 Giao diện Solution MVC 17 2.6 Giao diện website ứng dụng mô hình MVC 17 3.1 Giao diện tạo project MVC 18 2.2 Thông báo hỏi có cho phép tạo Unit Test 19 3.3 Giao diện Solution MVC 20 3.4 Giao diện website ứng dụng mô hình MVC 21 3.5 Mô hình hoạt động MVC 24 3.6 Giao diện thêm lớp TimkiemController 29 3.7 Mô hình hoạt động MVC 44 3.8 Giao diện trang Master.Page 47 3.9 View Quanly 48 3.10 Danh sách giáo trình 51 3.11 Danh sách giáo trình 52 4.1 Quản lý ngƣời dùng 53 4.2 Đăng ký tài khoản 54 4.3 Trang quản trị ngƣời dùng 54 4.4 Tạo user 55 vi Footer Page of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page of 166 4.5 Thêm quyền 55 4.6 Gán quyền cho user 56 5.1 Mô hình sở liệu 59 5.2 Trang chủ website 60 5.3 Trang quản lý khoa 60 5.4 Trang quản lý thông tin giáo trình 61 5.5 Trang thêm giáo trình 61 5.6 Trang sửa thông tin giáo trình 62 5.7 Trang đăng ký mua giáo trình 62 vii Footer Page of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 10 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 MỞ ĐẦU  Lý chọn đề tài: Hiện việc thiết kế trang web ASP.NET dễ dàng, tìm tài liệu mạng, tham khảo project để nghiên cứu xây dựng Bởi Microsoft muốn tạo công cụ để ngƣời sử dụng dễ dàng làm việc xây dựng trang web nhanh chóng nhất, ASP.NET WebForm đƣợc thiết kế để thực điều ASP.NET Webform đƣợc thiết kế để ngƣời dùng cảm thấy nhƣ thiết kế chƣơng trình Windows Form vậy, cách kéo thả button, tự sinh code HTML, đơn giản, dễ hiểu… Chính tảng ASP.NET WebForm dù đời cách 10 năm nhƣng sử dụng rộng rãi Tuy nhiên ƣu điểm ASP.NET WebForm lại nhƣợc điểm nó, phân chia rõ ràng giao diện code xử lý, nên trang giao diện lại có câu lệnh truy vấn Sql Chính tiện lợi tính đƣợc xây dựng có mã HTML, Css, Javascrip, lệnh xử lý kiện… Đến cần thay nâng cấp chức rắc rối Để gọi khắc phục nhƣợc điểm ASP.NET Webform, năm 2007 Microsoft cho đời tảng ASP.NET MVC ASP.NET MVC lựa chọn thay cho ASP.NET WebForm, đƣợc xây dựng với lớp chính, lớp giao diện ( Views), lớp điều khiển (Controllers) lớp liệu (Models) Việc chia trang web thành nhiều lớp nhƣ giúp cho lập trình viên có kinh nghiệm xây dụng website với cấu trúc chặt chẽ, rõ ràng Với cấu trúc lớp nhƣ này, việc nâng cấp thay chức trở nên dễ dàng, đồng thời việc kiểm thử trở nên đơn giản Với ƣu điểm trên, tƣơng lại chắn ASP.NET MVC tảng việc xây dựng phát triển website ASP.NET Tuy nhiên công nghệ mới, nên Việt Nam hầu nhƣ chƣa đƣợc áp dụng nhiều, có bạn sinh viên biết tới mô hình Chính thế, em mạnh dạn chọn đề tài nghiên cứu MVC để làm đồ án tốt nghiệp Footer Page 10 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 59 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 Danh sách giáo trình Thao tác Tên giáo trình Giá tiền |

50 Footer Page 59 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 60 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 Hình 3.10: Danh sách giáo trình 3.6 Truy nhập liệu với LINQ LINQ (Language Integrate Query) sáng tạo Net Framework 3.5, tập mở rộng ngôn ngữ cho phép thực truy vấn ngôn ngữ C# 2008 VisualBasic 2008 LINQ cho phép Select (chọn), Filter (lọc), Sort (phân loại), Group (nhóm) tranfom data (chuyển liệu) từ nguồn data source (dữ liệu nguồn) khác theo cách chung  LINQ to Objects thực truy vấn đối tƣợng  LINQ to DataSet thực truy vấn DataSet  LINQ to SQL thực truy vấn đến sở liệu SqlServer mà viết code  LINQ to XML đọc liệu từ XML Ví dụ, em không dùng LINQ, để muốn lấy tất giáo trình em viết mã lệnh nhƣ sau: 51 Footer Page 60 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 61 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 Tuy nhiên sử dụng LINQ mã lệnh nhƣ sau: Nhƣ với việc sử dụng LINQ, câu lệnh truy vấn trở nên gọn gàng nhiều, kết quả: Hình 3.11: Danh sách giáo trình 52 Footer Page 61 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 62 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 PHẦN BẢO MẬT VỚI ASP.NET MVC APPLICATION Có nhiều phƣơng pháp xác thực ngƣời dùng nhƣ Windows Authentication, Forms Authentication Tuy nhiên chƣơng em trình bày xác thực dựa Forms Authentication, giải thích cách sử dụng Forms Authentication để yêu cầu password cho View Sử dụng Website Administration Tool tạo ngƣời dùng phân nhóm ngƣời dùng, ngăn chặn ngƣời ngƣời trái phép  Tạo ngƣời dùng với ASP.NET MVC Application Mặc định ứng dụng đƣợc tạo có sẵn Controller có tên AccountController.cs có View tƣơng ứng ChangePassword.aspx, ChangePasswordSuccess.aspx, Login.aspx, Register.aspx Hình 4.1: Quản lý ngƣời dùng 53 Footer Page 62 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 63 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 View thể việc đăng ký ngƣời dùng nhƣ sau: Hình 4.2: Đăng ký tài khoản  Quản lý ngƣời dùng với công cụ Website Administration Tool Chọn menu Project -> ASP.NET Configuration Xuất công cụ Website Administration Tool, chọn Tab Security Hình 4.3: Trang quản trị ngƣời dùng 54 Footer Page 63 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 64 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 Click Create User để tạo ngƣời dùng, em ví dụ tạo ngƣời dùng tên Tri: Hình 4.4: Tạo user  Phân quyền nhóm ngƣời dùng (Rules) Để tạo role trƣớc hết phải enable role cách click vào link Enable roles sau click vào Create and Manage roles -> tạo role có tên Quantri Hình 4.5: Thêm quyền 55 Footer Page 64 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 65 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 Bây ta gán quyền cho user Tri tạo Hình 4.6: Gán quyền cho user Ta áp dụng vào Controller nhƣ sau: Nhƣ muốn thực chức Delete giáo trình, bắt buộc ngƣời dùng phải đăng nhập với quyền “Quantri” 56 Footer Page 65 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 66 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 PHẦN CHƢƠNG TRÌNH ỨNG DỤNG 5.1 Mô tả chƣơng trình ứng dụng  Khảo sát trạng Trung tâm thông tin tƣ liệu phòng chức thuộc trƣờng Việt hàn Trung tâm có chức cung cấp giáo trình, tƣ liệu phục vụ việc học tập, nghiên cứu sinh viên giảng viên trƣờng Nhằm minh họa cho phần giới thiệu lý thuyết ASP.NET MVC, qua thực tế việc mua giáo trình trƣờng thủ công Em tìm hiểu chọn đề tài xây dựng website đăng ký mua giáo trình trực tuyến dựa mô hình ASP.NET MVC nhằm mục đích giúp cho sinh viên trƣờng tiến hành việc mua giáo trình cách dễ dàng nhanh chóng Vào đầu học kỳ, thƣ viện thƣờng yêu cầu sinh viên đăng ký mua giáo trình để phục vụ cho việc học tập Tuy nhiên việc đăng ký đƣợc thực giấy tờ, thƣ viện phát giấy đăng ký cho lớp trƣởng sau thu lại Việc đăng ký thủ công gây thời gian sinh viên lẫn thƣ viện, việc có website đăng ký mua giáo trình trực tuyến đề xuất phù hợp với tình hình trƣờng  Xác lập dự án Việc đăng ký mua giáo trình mà công việc có quy mô nhỏ, nhƣng phức tạp Vì thế, chƣơng trình ứng dụng ( đƣợc xây dựng với mục tiêu minh họa cho lý thuyết đƣợc nêu chƣơng trên), em giới hạn lại độ phức tạp chƣơng trình Sinh viên sau đăng ký thực việc mua giáo trình, trung tâm thực việc xác nhận thông tin cấp giáo trình cho sinh viên 57 Footer Page 66 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 67 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 Quy trình hoạt động website - Về phía trung tâm:  Quản lý việc cập nhật giáo trình, khoa  Quản lý việc đăng ký mua sinh viên - Về phía sinh viên:  Tiến hành chọn lựa giáo trình dựa khoa tƣơng ứng  Tiến hành điền thông tin c ần thiết cập nhập thông tin  Quy trình nghiệp vụ Quy trình đăng ký mua sách Quy trình xác nhận mua giáo trình Bắt đầu Bắt đầu Đăng nhập Đăng nhập Đăng nhập thành công Đăng nhập thành công Chọn giáo trình theo khoa Xác nhận mua giáo trình Thực chức mua giáotrình Kết thúc Kết thúc 58 Footer Page 67 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 68 of 166  Tìm hiểu mô hình MVC lập trình NET 2011 Mô hình sở liệu Hình 5.1: Mô hình sở liệu 59 Footer Page 68 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 69 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 5.2 Hình ảnh chức trang website  Trang chủ: trang chủ website, xuất trƣớc tiên ngƣời dùng truy cập vào Hình 5.2: Trang chủ website  Trang quản lý khoa: trang dùng để thông tin danh sách khoa trƣờng, trung tâm trực tiếp thêm, xóa khoa trang Hình 5.3: Trang quản lý khoa 60 Footer Page 69 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 70 of 166  Tìm hiểu mô hình MVC lập trình NET 2011 Trang quản lý giáo trình: Trang dùng để hiển thị danh sách giáo trình, đồng thời trung tâm xóa giáo trình trực tiếp Tại trang này, trung tâm chuyển tới trang nhƣ chỉnh sửa giáo trình, thêm giáo trình Hình 5.4: Trang quản lý thông tin giáo trình Hình 5.5: Trang thêm giáo trình 61 Footer Page 70 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 71 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 Hình 5.6: Trang sửa thông tin giáo trình  Trang đăng ký mua giáo trình: Tại trang này, sinh viên lọc giáo trình theo khoa, chọn giáo trình, điền thông tin sinh viên cuối hoàn thành việc đăng ký mua giáo trình Hình 5.7: Trang đăng ký mua giáo trình 62 Footer Page 71 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 72 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN  Kết luận Sau gần tháng nghiên cứu xây dựng, cuối em hoàn thành báo cáo nghiên cứu lý thuyết chƣơng trình demo Về báo cáo lý thuyết, em trình bày kiến thức ASP.NET MVC, chƣa đầy đủ kiến thức, nhƣng em nghĩ em trình bày đồ án kiến thức tảng quan trọng để ngƣời tiếp tục tìm hiểu kiến thức sâu Về chƣơng trình demo, quy mô chƣơng trình không lớn, chức đơn giản Nhƣng kiến thức thƣờng dùng ASP.NET MVC em hầu nhƣ đƣa vào hết, có số kiến thức nâng cao khác Với demo này, chƣa thể áp dụng vào thực tế đƣợc, nhƣng em tin chƣơng trình tham khảo tốt cho bạn muốn học ASP.NET MVC  Hƣớng phát triển Em bổ sung thêm nhiều chức nữa, đồng thời cố gắng để website ứng dụng đƣợc vào thực tế trung tâm thông tin tƣ liệu trƣờng Việt Hàn 63 Footer Page 72 of 166 Nguyễn Trọng Trí – Lớp HT02 Header Page 73 of 166 Tìm hiểu mô hình MVC lập trình NET 2011 TÀI LIỆU THAM KHẢO [1] Ebook: Wrox - Professional ASP.NET MVC [2] Website : http://www.asp.net/mvc [3] Website: http://weblogs.asp 64 Footer Page 73 of 166 Nguyễn Trọng Trí – Lớp HT02 ... TÍNH ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG THÔNG TIN Tên đề tài: Nghiên cứu mô hình MVC lập trình NET để xây dựng website đăng ký mua giáo trình qua mạng Sinh viên thực hiện: Nguyễn Trọng Trí Lớp: HT02 Niên... Page of 166 DANH MỤC CÁC HÌNH Số hiệu hình Tên hình Trang 1.1 Các thành phần mô hình MVC 1.2 Mô hình MVC 1.1 Mô hình MVC 2.2 Mô hình ASP.NET Webform 2.3 Nền tảng Asp.Net MVC Framwork 12 2.4 Giao... liệu ASP.NET MVC tiếng việt cho cần tìm hiểu  Đối tƣợng phạm vi nghiên cứu Nghiên cứu ASP.NET MVC 2.0, nghiên cứu kiến thức liên quan  Phƣơng pháp nghiên cứu Nghiên cứu lý thuyết thông qua ebook

Ngày đăng: 20/03/2017, 05:30

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan