Chương 1: Giới thiệu tổng quan về hệ thống sẽ xây dựng, sự cần thiết và các nhiệm vụ mà hệ thống sẽ thực hiện và đóng góp của luận văn. Chương 2: Giới thiệu và phân tích các công nghệ sẽ sử dụng trong việc phát triển hệ thống như: ngôn ngữ lập trình ASP.NET, mô hình MVC, hệ quản trị cơ sở dữ liệu SQL Server. Chương 3: Trình bày quá trình phân tích thiết kế hệ thống bao gồm: phân tích các yêu cầu chức năng và phi chức năng, các mô hình use case và đặc tả use case, các mô hình lớp và các lưu đồ hoạt động, thiết kế dữ liệu, thiết kế kiến trúc, thiết kế chức năng. Chương 4: Trình bày các vấn đề liên quan đến cài đặt và triển khai hệ thống như: cài đặt giao diện, cài đặt chương trình, triển khai hệ thống trên môi trường Windows.
Chương 5: Trình bày tóm tắt các kết quả đạt được và đề xuất các hướng mở rộng, phát triển trong tương lai. TIEU LUAN MOI download : skknchat@gmail.com 12 Chương 2: MỘT SỐ CÔNG NGHỆ ĐỂ XÂY DỰNG HỆ THỐNG Ngày nay có rất nhiều công cụ hỗ trợ cho việc lập trình các ứng dụng thương mại điện tử như: ASP với các ngôn ngữ script là VBScript Jscript, Macromedia Dreamweaver MX, Microsoft ASP.NET Web Maxtrix, JBuilder X, PHP, Python. Một số công cụ còn tích hợp sẵn các templates cho phép tạo ra một trang web nhanh chóng và dễ dàng. Tuy nhiên, một trong các công nghệ tiên tiến và mạnh mẽ nhất được nhắc đến nhiều nhất hiện nay vẫn phải kể đến ASP.NET MVC dựa trên nền tảng công nghệ .NET của Microsoft.
Công nghệ ASP.NET MVC mang đến cho các trang web được tạo ra từ nó có thể chạy nhanh hơn do dùng cơ chế chỉ biên dịch ra tập tin DLL lần đầu tiên triệu gọi; ngoài ra ASP.NET MVC còn hỗ trợ nhiều công cụ lập trình và cho phép sử dụng các tài nguyên đang sử dụng tự động dò tìm và khắc phục lỗi phát sinh (sử dụng cấu trúc try….catch), quản lý trạng thái giao dịch (Session State) trên nhiều Sever, sử dụng bộ nhớ truy cập nhanh, sử dụng ngôn ngữ biên dịch trang ASP.NET thay vì thông dịch như đã sử dụng trong ASP 3.0, xây dựng và triển khai các ứng dụng Web services dễ dàng … Về cơ sở dữ liệu thì có: SQL Sever, Oracle, MySQL… Việc lựa chọn một môi trường lập trình thích hợp cũng góp phần vào thành công của việc xây dựng một hệ thống Website. Với hệ thống mà tác giả đang nghiên cứu tác giả phân tích thấy hệ thống sẽ cần lựa chọn một hệ cơ sở dữ liệu cần chịu được tải lớn, và là một hệ thống phức tạp về dự liệu với số lượng và dung lượng ảnh/video sẽ tăng nhanh theo thời gian. Thêm nữa cần lựa chọn một ngôn ngữ phù hợp với hướng phát triển và có tính mở rộng sau này cũng như khả năng cải tiến các chức năng cho phù hợp với sự phát triển trong tương lai. Với các đặc điểm như trên nên tác giả đã chọn ASP.NET MVC làm môi trường để xây dựng ứng dụng và quản lý cơ sở dữ liệu sẽ dùng SQL Server.
Ngôn ngữ lập trình ASP.NET MVC Tổng quát về ASP.NET MVC Asp.Net MVC là một Framework sử dụng .Net Framework cho việc phát triển ứng dụng web động.Net MVC phát triển trên mẫu thiết kế chuẩn MVC, cho phép người sử dụng phát triển các ứng dụng phần mềm[1,tr. MVC là tên một mẫu phát triển ứng dụng, phương pháp này chia nhỏ một ứng dụng thành ba thành phần để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh hưởng lẫn nhau, đó là models, views, và controllers. Các đặc trưng của chính của Model, View và Controller trong mẫu thiết kế chuẩn MVC[2,tr.28]: Model: các đối tượng Models là một phần của ứng dụng, các đối tượng này thiết lập logic của phần dữ liệu của ứng dụng. Thông thường, các đối tượng model lấy và lưu trạng thái của model trong CSDL.
TIEU LUAN MOI download : skknchat@gmail.com 13 View: là các thành phần dùng để hiển thị giao diện người dùng (UI), view được tạo dựa vào thông tin dữ liệu model. Controller: là các thành phần dùng để quản lý tương tác người dùng, làm việc với model và chọn view để hiển thị giao diện người dùng. Trong một ứng dụng MVC, view chỉ được dùng để hiển thị thông tin, controller chịu trách nhiệm quản lý và đáp trả nội dung người dùng nhập và tương tác với người dùng.1 [2,tr29] mô tả mô hình thiết kế MVC: Sends a user request Controller Request Returned processing to user View Model Send as part of the request Sent to be presented to user Hình 2.1: Mẫu thiết kế MVC Lợi ích khi xây dựng ứng dụng dựa trên mô hình MVC Có nhiều lợi ích mà mô hình MVC mang lại trong quá trình phát triển hệ thống phần mềm. Thứ nhất với mô hình MVC thì việc quản lý sự phức tạp của ứng dụng sẽ dễ dàng hơn và tường minh hơn vì ứng dụng sẽ được chia thành ba thành phần model, view, controller.
Tiếp theo đối với mô hình MVC thì việc phát triển ứng dụng sẽ dễ dàng hơn trong việc phát triển theo hướng kiểm thử, từ đó nâng cao được tính bảo mật của hệ thống và dễ dàng bảo trì cũng như nâng cấp hệ thống mà vẫn đảm bảo chất lượng, dễ dàng hơn cho đội kiểm thử có thể kiểm tra các chức năng của hệ thống. Tiếp theo nữa là việc phân chia theo mô hình trên thì việc phát triển một hệ thống lớn sẽ dễ dàng hơn trong việc quản lý dự án, nó cho phép các nhà phát triển và các nhà thiết kế có thể làm việc đồng thời với nhau. MVC cho TIEU LUAN MOI download : skknchat@gmail.com 14 phép thay đổi trong một phần của ứng dụng mà không ảnh hưởng đến các phần khác của ứng dụng. Sở dĩ như vậy vì kiến trúc MVC đã tách biệt (decoupling) sự phụ thuộc giữa các thành phần trong một đối tượng đồ họa, làm tăng tính linh động (flexibility) và tính tái sử dụng (reusebility) của đối tượng đồ họa đó.
Một đối tượng đồ họa bấy giờ có thể dễ dàng thay đổi giao diện bằng cách thay đổi thành phần View của nó trong khi cách thức lưu trữ (Model) cũng như xử lý (Controller) không hề thay đổi. Tương tự, ta có thể thay đổi cách thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng đồ họa mà những thành phần còn lại vẫn giữ nguyên. Chính vì vậy mà kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều framework và thư viện đồ họa khác nhau. Tiêu biểu là bộ thư viện đồ họa của ngôn ngữ lập trình hướng đối tượng SmallTalk (cũng do Xerox PARC nghiên cứu và phát triển vào thập niên 70 của thế kỷ 20).
Các Swing Components của Java cũng được xây dựng dựa trên kiến trúc MVC. Đặc biệt là nền tảng ASP.NET MVC Framework do Microsoft xây dựng và phát triển. Tính năng quan trọng của nền tảng ASP. Tách bạch các tác vụ của ứng dụng (logic nhập liệu, business logic, và logic giao diện), dễ dàng kiểm thử và mặc định áp dụng hướng phát triển hướng kiểm thử.
Tất cả các tính năng chính của mô hình MVC được cài đặt dựa trên giao diện và được kiểm thử bằng cách sử dụng các đối tượng mocks, mock object là các đối tượng mô phỏng các tính năng của những đối tượng thực sự trong ứng dụng. Bạn có thể kiểm thử unit-test cho ứng dụng mà không cần chạy controller trong tiến trình ASP.NET, và điều đó giúp unit test được áp dụng nhanh chóng và tiện dụng. Bạn có thể sử dụng bất kỳ nền tảng unit-testing nào tương thích với nền tảng. MVC là một nền tảng khả mở rộng (extensible) và khả nhúng (pluggable).
Các thành phần của ASP.NET MVC được thiết kể để chúng có thể được thay thế một cách dễ dàng hoặc dễ dàng tùy chỉnh. Bạn có thể nhúng thêm view engine, cơ chế định tuyến cho URL, cách kết xuất tham số của action-method và các thành phần khác.NET MVC cũng hỗ trợ việc sử dụng Dependency Injection (DI) và Inversion of Control (IoC). DI cho phép bạn gắn các đối tượng vào một lớp cho lớp đó sử dụng thay vì buộc lớp đó phải tự mình khởi tạo các đối tượng. IoC quy định rằng, nếu một đối tượng yêu cầu một đối tượng khác, đối tượng đầu sẽ lấy đối tượng thứ hai từ một nguồn bên ngoài, ví dụ như từ tập tin cấu hình.
Và nhờ vậy, việc sử dụng DI và IoC sẽ giúp kiểm thử dễ dàng hơn.NET MVC có thành phần ánh xạ URL mạnh mẽ cho phép bạn xây dựng những ứng dụng có các địa chỉ URL xúc tích và dễ tìm kiếm. Các địa chỉ URL không cần phải có phần mở rộng của tên tập tin và được thiết kế để hỗ trợ các mẫu định dạng tên phù hợp với việc tối ưu hóa tìm kiếm (URL) và phù hợp với lập địa chỉ theo kiểu REST. TIEU LUAN MOI download : skknchat@gmail. Hỗ trợ các tính năng có sẵn của ASP.NET như cơ chế xác thực người dùng, quản lý thành viên, quyền, output caching và data caching, seession và profile, quản lý tình trạng ứng dụng, hệ thống cấu hình… 5.NET MVC sử dụng view engine Razor View Engine cho phép thiết lập các view nhanh chóng, dễ dàng và tốn ít công sức hơn so với việc sử dụng Web Forms view engine.
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 MVC là: Route engine, Route configuration, MVC Framework, View, View engine, Model, Control. Các thành phần sẽ giao tiếp với nhau nhằm xử lý yêu cầu của ứng dụng Asp. Quá trình xử lý yêu cầu thường liên quan tới một chuỗi xử lý, mỗi xử lý sẽ được một component trong Asp.net đảm nhiệm[2,tr.43] mô tả cách giao tiếp trong kiến trúc ASP.NET theo mô hình MVC. MVC Framwork Route Engine Router 1 2 3 Configuration Browser 5 ? 4 9 Controller 6 Model 8 7 View Engine Hình 2.2: Giao tiếp trong kiến trúc ASP.
Trình duyệt gửi yêu cầu của ứng dụng Asp. 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 ứng dụng nhằm chuyển đến các Controller phù hợp với yêu cầu. Khi Controller được tìm thấy, Control này sẽ được thực thi TIEU LUAN MOI download : skknchat@gmail.
Nếu Controller không được tìm thấy, bộ điều hướng sẽ chỉ ra rằng Controller không được tìm thấy và MVC Engine sẽ thông báo lỗi cho trình duyệt. 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ười dùng. Controller yêu cầu View engine hiển thị thông tin dựa trên dữ liệu của tầng Model 8. View engine trả kết quả cho Controller 9.