CHƯƠNG 1: TỔNG QUAN VẦẤN ĐÊỀ NGHIÊN CỨU 1.1 Lý do chọn đêề tài Cùng với sự phát triển không ngừng vễề kyễ thuật máy tính và mạng điện tử, công nghệ thông tin cũng được những công nghệ có đẳng câấp cao và lâền lượt chinh phục hễất đỉnh cao này đễấn đỉnh cao khác. M ạng Internet là một trong những sản phẩm có giá trị hễất sức lớn lao và ngày càng tr ở thành một công cụ không thể thiễấu, là nễền tảng chính cho s ự truyễền t ải, trao đổi thông tin trễn toàn câều. Trong hệ thôấng giáo dục, việc quản lý những thông tin c ủa giáo viễn, sinh viễn trong các trường đại học đa phâền vâễn còn thực hiện thủ công trễn giâấy và khó có thể nhâất quán vễề việc quản lý gây nễn hi ện t ượng thâất thoát dữ liệu hoặc dữ liệu bị sai lệch. Chính vì nguyễn do đó, việc “xây dựng website qu ản lý công tác c ủa giáo viễn chủ nhiệm” là thực sự câền thiễất trong xã hội 4.0 hi ện nay.
Nhăềm nâng cao khả năng quản lý dữ liệu, sự chuyễn nghiệp trong môi tr ường giáo dục nễn hệ thôấng quản lý công tác giáo là câền thiễất ph ải có 1.2 Mục tiêu của đêề tài - Phân tích được bài toán quản lý hệ thôấng quản lý công tác giáo viễn chủ nhiệm. - Tìm hiểu cơ sở lý thuyễất của quản lý cơ sở dữ liệu Microsoft SQL Server 2014 và ngôn ngữ C# ASP. - Phân tích và thiễất kễấ CSDL, các biểu đôề use case và bi ểu đôề tuâền t ự. - Xây dựng Website quản lý công tác giáo viễn chủ nhi ệm.
6 Downloaded by Vu Vu (quangchinhlas199@gmail.3 Giới hạn và phạm vi của đêề tài Đễề tài bước đâều được xây dựng để áp dụng cho việc qu ản lý h ệ thôấng công tác giáo viễn chủ nhiệm và sau đó có thể phát tri ển thễm và ứng dụng cho trường học trong thực tễấ. Đễề tài xây dựng sử dụng công nghệ dựa trễn ngôn ngữ C# và phát triển trễn nễền tảng MVC Framework, Ẽntity Framework và công c ụ l ập trình Visual Studio 2017 và SQL Server 2014.4 Nội dung thực hiện Nội dung thực hiện/ nghiễn cứu cụ thể của đễề tài: - Hiểu được cách sử dụng cơ bản của ngôn ngữ C# ASP.NẼT, trong đó có các đôấi tượng, biễấn, hàm, phương th ức, thuộc tính… - Tìm hiểu cách sử dụng MVC Framework, Ẽntity Framework trong thiễất kễấ và lập trình website băềng ngôn ngữ C# ASP. - Tìm hiểu cách sử dụng phâền mễềm Visual Studio 2017 và SQL Server để thiễất kễấ giao diện và xây dựng các chức năng website qu ản lý băềng ngôn ngữ C#. - Biễất cách sử dụng hệ quản trị CSDL băềng Microsoft SQL Server 2014.
- Khảo sát và phân tích yễu câều quy trình quản lý. - Thiễất kễấ và đặc tả hệ thôấng. - Xây dựng cơ sở dữ liệu. - Lập trình các module của hệ thôấng.
- Kiểm thử hệ thôấng. - Triển khai thực nghiệp hệ thôấng trễn mạng Internet. 7 Downloaded by Vu Vu (quangchinhlas199@gmail.5 Phương pháp tiêếp cận - Nghiễn cứu quy trình quản lý công tác giáo viễn ch ủ nhi ệm cho trường học và mạng internet, nghiễn cứu ngôn ngữ C# ASP.NẼT, MVC Framework, Ẽntity Framework và mô hình Model - View – Controller. - Sử dụng các phương pháp nghiễn cứu: o Phương pháp đọc tài liệu.
o Phương pháp phân tích mâễu, thực nghiệm 8 Downloaded by Vu Vu (quangchinhlas199@gmail.com) lOMoARcPSD|12114775 CHƯƠNG 2: PHẦN TÍCH WEBSITE 2. Tổng quan vêề ngôn ngữ 2.NET MVC là gì? Đâều năm 2002, Microsoft giới thiệu một kyễ thu ật lập trình Web khá mới mẻ với tễn gọi ban đâều là ASP+, tễn chính thức sau này là ASP.Net, không những không câền đòi hỏi bạn phải biễất các tag HTML, thiễất kễấ web, mà nó còn chăm sóc mạnh l ập trình h ướng đôấi t ượng trong quá trình xây dựng và phát triển ứng dụng Web.Net là kyễ thu ật l ập trình và phát triển ứng dụng web ở phía Server (Server-side) dựa trễn nễền tảng của Microsoft. Hâều hễất, những người mới đễấn với lập trình web đễều băất đâều tìm hi ểu những kyễ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets). Khi Web browser yễu câều một trang web (trang web sử dụng kyễ thuật client-side), Web server tìm trang web mà Client yễu câều, sau đó gởi vễề cho Client.
Client nhận kễất qu ả tr ả vễề t ừ Server và hi ển thị lễn màn hình.Net sử dụng kyễ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) seễ đ ược biễn d ịch và thi hành tại Web Server. Sau khi được Server đọc, biễn dịch và thi hành, kễất quả tự động được chuyển sang HTML/JavaScript/CSS và trả vễề cho Client. Tâất cả các xử lý lệnh ASP.Net đễều được thực hi ện t ại Server và do đó, gọi là kyễ thuật lập trình ở phía server. Mô hình lập trình MVC trong ASP.NET Mâễu kiễấn trúc Model – View – Controller được sử d ụng nhăềm chi ứng dụng thành ba thành phâền chính: model, view và controller.
Nễền t ảng ASP.NẼT MVC giúp cho chúng ta có thể tạo được các ứng dụng web áp 9 Downloaded by Vu Vu (quangchinhlas199@gmail.com) lOMoARcPSD|12114775 dụng mô hình MVC thay vì tạo ứng dụng theo mâễu ASP.NẼT Web Forsm. Nễền tảng ASP.NẼT MVC có đặc điểm nổi bật là nhẹ (lighweigt), dễễ ki ểm thử phâền giao diện (so với ứng dụng Web Forms), tích hợp các tính năng có săễn của ASP. Nễền tảng ASP.NẼT MVC được định nghĩa trong namespace System.Mvc và là một phâền của name space System. MVC là một mâễu thiễất kễấ (design pattern) chuẩn mà nhiễều l ập trình viễn đã quen thuộc.
Một sôấ loại ứng dụng web seễ thích h ợp v ới kiễấn trúc MVC. Một sôấ khác vâễn thích hợp với ASP.NẼT Web Forms và c ơ chễấ postbacks. Đôi khi có những ứng dụng kễất hợp c ả hai kiễấn trúc trễn. Nễền tảng MVC bao gôềm các thành phâền dưới đây: Hình 2.
1: Mô hình quan hệ MVC Models: 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. Ví d ụ 10 Downloaded by Vu Vu (quangchinhlas199@gmail.com) lOMoARcPSD|12114775 như, một đôấi tượng Product (sản phẩm) seễ lâấy dữ li ệu t ừ CSDL, thao tác trễn dữ liệu và seễ cập nhật dữ liệu trở lại vào bảng Products ở SQL Server. Trong các ứng dụng nhỏ, model thường là chỉ là một khái niệm nhăềm phân biệt hơn là được cài đặt thực thụ, ví dụ, nễấu ứng d ụng ch ỉ đ ọc d ữ liệu từ CSDL và gởi chúng đễấn view, ứng dụng khong câền ph ải có tâềng model và các lớp liễn quan.
Trong trường hợp này, dữ liệu được lâấy nh ư là một đôấi tượng model (hơn là tâềng model Views: Views là các thành phâền dùng để hiển thị giao di ện ng ười dùng (UI). Thông thường, view được tạo dựa vào thông tin dữ li ệu model. Ví dụ như, view dùng để cập nhật bảng Products seễ hi ển th ị các h ộp văn bản, drop-down list, và các check box dựa trễn trạng thái hiện tại c ủa m ột đôấi tượng Product. Controllers: 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. Ví dụ, controller seễ quản lý các d ữ li ệu ng ười dùng gởi lễn (query-string values) và gởi các giá trị đó đễấn model, model seễ lâấy dữ liệu từ CSDL nhờ vào các giá trị này. Mâễu MVC giúp bạn tạo được các ứng dụng mà chúng phân tách r ạch ròi các khía cạnh của ứng dụng (logic vễề nh ập li ệu, logic x ử lý tác v ụ và logic vễề giao diện). Mâễu MVC chỉ ra môễi lo ại logic k ể trễn nễn đ ược thiễấp lập ở đâu trễn ứng dụng.
Logic giao diện (UI logic) thu ộc vễề views. Logic nhập liệu (input logic) thuộc vễề controller. Và logic tác vụ (Business logic – là logic xử lý thông tin, mục đích chính c ủa ứng d ụng) thu ộc vễề model. S ự phân chia này giúp bạn giảm bớt được sự phức tạp c ủa ứng d ụng và ch ỉ tập trung vào môễi khía cạnh câền được cài đặt ở môễi thời đi ểm.
Ví d ụ nh ư 11 Downloaded by Vu Vu (quangchinhlas199@gmail.com) lOMoARcPSD|12114775 bạn chỉ câền tập trung vào giao diện (views) mà không phải quan tâm đễấn logic xử lý thông tin của ứng dụng. Để quản lý sự phức tạp của ứng dụng, mâễu MVC giúp cho chúng ta có thể kiểm thử ứng dụng dễễ dàng hơn hẳn so với khi áp dụng mâễu Web Forms. Ví dụ, trong một ứng dụng ASP.NẼT Web Forms, một lớp thường được sử dụng để hiển thị thông tin xuâất ra cho người dùng và đôềng th ời xử lý thông tin người dùng nhập. Việc xây dựng các b ộ test t ự đ ộng cho ứng dụng Web Forms là râất phức tạp, bởi để kiểm thử môễi trang web, b ạn phải khởi tạo đôấi tượng trang, khởi tạo tâất cả các control đ ược s ử d ụng trong trang và các lớp phụ thuộc trong ứng dụng.
Và b ởi vì có quá nhiễều lớp câền được khởi tạo để chạy được trang, thật khó để có thể viễất các test chỉ tập trung vào một khía cạnh nào đó của ứng dụng. Và vì thễấ, kiểm thử đôấi với các ứng dụng dứa trễn nễền tảng Web Forms seễ khó khăn hơn nhiễều so với khi áp dụng trễn ứng dụng MVC. Hơn thễấ n ữa, vi ệc ki ểm th ử trễn nễền tảng Web Forms yễu câều phải sử dụng đễấn web server. Nễền tảng MVC phân tách các thành phâền và sử dụng các interface (khái niệm giao diện trong lập trình hướng đôấi tượng), và nh ờ đó có th ể kiểm thử các thành phâền riễng biệt trong tình tr ạng phân l ập v ới các yễấu tôấ còn lại của ứng dụng.
Sự phân tách rạch ròi ba thành phâền của ứng dụng MVC còn giúp cho vi ệc lập trình diễễn ra song song. Ví dụ như một lập trình viễn làm vi ệc v ới view, lập trình viễn thứ hai lo cài đặt logic c ủa controller và l ập trình viễn th ứ ba có thể tập trung vào logic tác vụ của model t ại cùng m ột th ời đi ểm. Bạn câền phải xem xét kyễ càng việc áp dụng mô hình ASP.NẼT MVC hay mô hình ASP.NẼT Web Forms khi xây dựng một ứng dụng. Mô hình MVC không 12 Downloaded by Vu Vu (quangchinhlas199@gmail.