Xây dựng hệ thống nhập học sinh viên, tạo khóa học và tập huấn

Một phần của tài liệu Giải pháp thực tế của điện toán đám mây và ứng dụng trong giảng dạy đại học (Trang 57)

trên Microsoft Azure sử dụng ASP.NET MVC5

3.1.1. Cài đặt môi trƣờng phát triển :

Để bắt đầu ta cần cài đặt Azure SDK for .NET.

Để cài đặt SDK ta click vào link dưới đây http://azure.microsoft.com/en- us/downloads/

Click vào VS 2012 Install hoặc VS 2013 Install (tuỳ vào VS ta đang sử dụng) Khi được hỏi Run hoặc Save ta chọn Run

Ở cửa sổ Web Platform Installer , click Install .

Hình 3.1: Cài đặt Windows Azure SDK

Khi cài đặt hoàn tất mọi thứ gần như đã sẵn sàng để bắt đầu làm việc.

3.1.2. Tạo một ứng dụng ASP.NET MVC5 :

Tiếp theo ta sẽ dùng Visual Studio tạo một ứng dụng web application project sau đó publish tới Azure.

Mở Visual Studio 2012 hoặc Visual Studio 2012 for Web Express. Từ File menu, click New, và sau đó click Project.

50

Hình 3.2: Tạo New Project

Ở cửa sổ New Project , ta click Visual C# sau đó chọn mẫu Web Templates, ở đây mình chọn ASP.NET MVC 5 Web Application.

Ta phải chắc chắn là đã chọn .NET Framework 4.5 ở mục bên trên target framework. Đặt tên ứng dụng và click OK.

Hình 3.3: Đặt tên dự án và thư mục lưu trữ

Sau đó ở cửa sổ tiếp theo như hình bên dưới chọn MVC và chọn Change Authentication

51

Hình 3.4: Chọn MVC

+ Ở trang Change Authentication đặt No Authentication, và chọn OK.

Hình 3.5: Chọn No Authentication

Trở lại trang New ASP.NET Project , chọn OK xuất hiện màn hình với các cài đặt mặc định cho trang web ktvUniversity

52

3.2. Tạo trang Web quản lý việc nhập học của sinh viên, tạo khóa học và tập huấn. huấn.

3.2.1. Mô hình cơ sở dữ liệu :

3.2.1.1 Bảng cơ sở dữ liệu Person : Lưu thông tin về khoa kết nối, họ đệm, tên,

ngày thuê, ngày nhập học, phân loại

TT Tên trƣờng Kiểu dữ liệu Mô tả

1 ID Int Khóa

2 LastName nvarchar(50) Họ đệm 3 FirstName nvarchar(50) Tên

4 HireDate datetime Ngày Thuê 5 EnrollmentDate datetime Ngày nhập học 6 Discriminator nvarchar(128) Phân loại

Bảng 3.1 : Thiết kế bảng Person

3.2.1.2 Bảng cơ sở dữ liệu OfficeAssignment : Lưu trữ thông tin mã khoa, địa chỉ

TT Tên trƣờng Kiểu dữ liệu Mô tả

1 InstructorID Int Khóa

2 Location nvarchar(50) Địa chỉ

Bảng 3.2 : Thiết kế bảng OfficeAssignment

3.2.1.3 Bảng cơ sở dữ liệu Enrollment : Lưu trữ thông tin mã giảng viên, mã khóa

học, mã sinh viên

TT Tên trƣờng Kiểu dữ liệu Mô tả

1 EnrollmentID Int Khóa Enrollment

3 CourseID Int Khóa Course

4 StudentID Int Khóa Student

5 Grade Int Cấp độ

53

3.2.1.4 Bảng cơ sở dữ liệu Department : Lưu trữ thông tin về mã khoa, tên khoa,

học phí, ngày bắt đầu học, mã khóa giảng viên, khóa hàng

TT Tên trƣờng Kiểu dữ liệu Mô tả

1 DepartmentID Int Khóa Department

2 Name nvarchar(50) Tên khoa phụ trách

3 Budget money Học phí

4 StartDate datetime Ngày bắt đầu

5 InstructorID Int Khóa Instructor

6 RowVersion rowversion Khóa hàng

Bảng 3.4 : Thiết kế bảng Department

3.2.1.5 Bảng cơ sở dữ liệu CourseInstructor : Lưu trữ thông tin khóa liên kết giữa khóa học và giảng viên

TT Tên trƣờng Kiểu dữ liệu Mô tả

1 CourseID Int Khóa Course

2 InstructorID Int Khóa Instructor

Bảng 3.5 : Thiết kế bảng CourseInstructor

3.2.1.6 Bảng cơ sở dữ liệu Course : Lưu trữ thông tin về mã môn học ; tên môn học, học phí liên kết với mã khoa phụ trách giảng dạy

TT Tên tƣờng Kiểu dữ liệu Mô tả

1 CourseID Int Mã môn học

2 Title nvarchar(50) Tên môn học

3 Credits Int Học phí

4 DepartmentID Int Khóa

54

+ Lƣợc đồ cơ sở dữ liệu :

Hình 3.7: Lược đồ cơ sở dữ liệu

3.2.2 Xây dựng các thành phần của ứng dụng :

Mô tả các lớp đối tượng và phương thức tương ứng

+ Lớp Person :

using System.ComponentModel.DataAnnotations;

55 namespace ktvUniversity.Models {

public abstract class Person {

public int ID { get; set; } [Required]

[StringLength(50)]

[Display(Name = “Last Name”)] public string LastName { get; set; } [Required]

[StringLength(50, ErrorMessage = “First name cannot be longer than 50 characters.”)]

[Column(“FirstName”)]

[Display(Name = “First Name”)]

public string FirstMidName { get; set; } [Display(Name = “Full Name”)]

public string FullName {

get {

return LastName + “, “ + FirstMidName; } } } } + Lớp Student : using System; using System.Collections.Generic;

56

using System.ComponentModel.DataAnnotations;

using System.ComponentModel.DataAnnotations.Schema;

namespace ktvUniversity.Models {

public class Student : Person {

[DataType(DataType.Date)]

[DisplayFormat(DataFormatString = “{0:yyyy-MM-dd}”, ApplyFormatInEditMode = true)]

[Display(Name = “Enrollment Date”)]

public DateTime EnrollmentDate { get; set; }

public virtual Icollection<Enrollment> Enrollments { get; set; } } } + Lớp OfficeAssignment : using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace ktvUniversity.Models {

public class OfficeAssignment {

[Key]

[ForeignKey(“Instructor”)]

public int InstructorID { get; set; } [StringLength(50)]

[Display(Name = “Office Location”)] public string Location { get; set; }

57

public virtual Instructor Instructor { get; set; } } } + Lớp Instructor : using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace ktvUniversity.Models {

public class Instructor : Person {

[DataType(DataType.Date)]

[DisplayFormat(DataFormatString = “{0:yyyy-MM-dd}”, ApplyFormatInEditMode = true)]

[Display(Name = “Hire Date”)]

public DateTime HireDate { get; set; }

public virtual Icollection<Course> Courses { get; set; }

public virtual OfficeAssignment OfficeAssignment { get; set; } } } + Lớp Enrollment : using System.ComponentModel.DataAnnotations; namespace ktvUniversity.Models {

58 {

A, B, C, D, F }

public class Enrollment {

public int EnrollmentID { get; set; } public int CourseID { get; set; } public int StudentID { get; set; }

[DisplayFormat(NullDisplayText = “No grade”)] public Grade? Grade { get; set; }

public virtual Course Course { get; set; } public virtual Student Student { get; set; } } } + Lớp Department : using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace ktvUniversity.Models {

public class Department {

public int DepartmentID { get; set; } [StringLength(50, MinimumLength = 3)] public string Name { get; set; }

59 [DataType(DataType.Currency)] [Column(TypeName = “money”)] public decimal Budget { get; set; } [DataType(DataType.Date)]

[DisplayFormat(DataFormatString = “{0:yyyy-MM-dd}”, ApplyFormatInEditMode = true)]

[Display(Name = “Start Date”)]

public DateTime StartDate { get; set; } public int? InstructorID { get; set; } [Timestamp]

public byte[] RowVersion { get; set; }

public virtual Instructor Administrator { get; set; } public virtual Icollection<Course> Courses { get; set; } } } + Lớp Course: using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace ktvUniversity.Models {

public class Course {

[DatabaseGenerated(DatabaseGeneratedOption.None)] [Display(Name = “Number”)]

60

[StringLength(50, MinimumLength = 3)] public string Title { get; set; }

[Range(0, 5)]

public int Credits { get; set; }

public int DepartmentID { get; set; }

public virtual Department Department { get; set; }

public virtual Icollection<Enrollment> Enrollments { get; set; } public virtual Icollection<Instructor> Instructors { get; set; } }

}

3.2.3 Xây dựng các phân hệ :

+ Trang chủ :

Hình 3.8: Trang chủ của trang web

+ Sinh viên : Tạo mới các thông tin về sinh viên: họ đêm, tên sinh viên, ngày nhập học gồm các thao tác : sửa, hiện thị, xóa các thông tin sinh viên

61

Hình 3.9: Cập nhật các thông tin cho sinh viên

+ Môn học :Tạo mới các thông tin về môn học: Mã môn, tên môn, số tín chỉ, khoa giảng dạy gồm các thao tác : sửa, hiện thị, xóa các thông tin môn học

62

+ Giảng viên: Tạo mới các thông tin về giảng viên: Họ đệm, tên giảng viên, ngày, ngày dạy, địa chỉ, môn học gồm các thao tác : sửa, hiện thị, xóa các thông tin giảng viên

63

+ Khoa giảng dạy:Tạo mới các thông tin về khoa giảng dạy: tên khoa, học phí, ngày dạy giảng viên gồm các thao tác : sửa, hiện thị, xóa các thông tin giảng viên

Hình 3.12: Cập nhật thông tin về khoa giảng dạy 3.3. Đăng kí tài khoản Microft Azure

Đầu tiên ta cần phải đăng kí tài khoản Microsoft Azure thực hiện qua các bước như sau:

b1: Vào địa chỉ của trang Web Microsoft là https://azure.microsoft.com/en-

es/. Sau đó nhấn chọn nút “try for free”.

64

b2: Nhấn chọn nút “try it now”. Micrsoft sẽ cho một tháng sử dụng miễn phí. Đăng kí miễn phí và nhận 200$ để chi tiêu cho các dịch vụ của Azure.

Hình 3.14. Đăng ký tài khoản Microsoft Azure

b3: Tại đây nếu có tài khoản Microsoft Azure thì đăng nhập sử dụng dịch vụ

trên Microsoft Azure bình thường. Nếu chưa có tài khoản ta cần đăng kí tài khoản mới rồi mới có thể đăng nhập bằng cách nhấn vào nút “Sign up now” để đăng kí.

65

b4: Tại đây điền đầy đủ thông tin cần đăng kí tài khoản. Sau đó chọn nút

“Create Acount” để tạo tài khoản.

66

b5: Sau khi tạo Account kích chọn nút “Send email” để xác nhận tài khoản.

Hình 3.17. Gửi thông tin vào mail kích hoạt tài khoản b6: Sau khi xác nhận tài khoản tiến hành đăng nhập và chuyển đến trang đăng

nhập yêu cầu một số thông tin để hoàn tất. Để đăng kí được cần phải có thẻ Visa.

67

b7: Sau khi đăng kí thành công kích vào Portal để sử dụng Azure. Đăng kí

thành công Microsoft Azure sẽ cho 30 ngày dùng thử miễn phí.

Hình 3.19 . Màn hình Microsoft Azure Portal 3.4. Đƣa trang Web lên Windows Azure

3.4.1. Tạo trang Web rỗng trên Windows Azure

1. Đăng nhập vào Quản lý Portal Azure.

2. Nhấp vào biểu tượng New trên bên trái phía dưới của bảng điều khiển.

68 4. Xuất Hiện trang Create WeB App

+ Nhập tên website vào mục URL, nếu dùng free sẽ có dạng tenwebsite.azurewebsites.net ; ở đây ta tạo : Vute3.azurewebsites.net .

+ Trong mục APP SERVICE PLAN : chọn nơi đặt máy chủ gần nhất . + Trong mục SUBCRIPTION chọn Free Trial

+ Trong mục DATABASE ta chọn Create a new MySQL database để tạo database mới

+ Trong mục DB CONNECTION STRING NAME ta đặt DefaultConnection. + Ấn nút Next xuất hiện trang Specify database setting

69

5. Trên trang Specify database setting ta thiết lập các thông số sau: + Trong mục NAME : gõ vào tên database cần đặt (ở đây là Vute3). + Trong mục SERVER ta chọn New SQL database server

+ Trong mục SERVER LOGIN NAME : gõ tên cơ sở dữ liệu trên máy chủ ( ở đây đặt là Schoolcontext 3).

+ Trong mục SERVER LOGIN PASSWORD : đặt mật khẩu và ở CONFIRM PASSWORD gõ lại mật khẩu vừa đặt.

+ Trong mục REGION : chọn nơi máy chủ ( chọn East Asia)

+ Chọn Next thì việc tạo không gian lưu trữ trang Web và cơ sở dữ liệu trống hoàn tất.

3.4.2. Đƣa trang Web và cơ sở dữ liệu lên Microsoft Azure

70

b2. Từ trang Your web app has been created chọn Publish your app

71

b4. Đưa trang Web lên Windows Azure: Tại project KtvUniversity chọn Publish

72

+ Tìm đến file PublishSetting đã cất ở bước trước

+ Chọn OK

+Nếu mọi thứ tốt đẹp ta sẽ thấy như hình bên dưới gần Validate

73

+ Lựa chọn Execute Code First Migration để đưa cơ sở dữ liệu trang web lên host của Microsoft Azure

74

CHƢƠNG 4 – KẾT LUẬN 4.1. Kết quả đạt đƣợc

4.1.1. Về nghiên cứu các giải pháp của điện toán đám mây - Hiểu được như thế nào là điện toán đám mây. - Hiểu được như thế nào là điện toán đám mây.

- Nhận biết được các thành phần của điện toán đám mây. - Biết được cách thức hoạt động của điện toán đám mây. - Phân tích được các ưu nhược điểm của điện toán đám mây.

- Hiểu được sự khác biệt của điện toán đám mây và điện toán truyền thống. - Phân biệt được các mô hình hoạt động trên điện toán đám mây.

4.1.2. Về tìm hiểu điện toán đám mây của Windows Azure của Microsoft

- Hiểu được mô hình hoạt động của Windows Azure.

- Các thành phần chính trong Azure. - Các mô hình kết nối cơ sở dữ liệu.

4.1.3. Xây dựng trang Web hệ thống nhập học sinh viên, tạo khóa học và tập huấn trên Windows Azure. huấn trên Windows Azure.

- Xây dựng được trang Web hệ thống nhập học sinh viên, tạo khóa học và tập huấn đưa lên Windows Azure portal. Truy nhập trang web theo http://vute3.azurewebsites.net/

- Tạo được giao diện thân thiện, người sử dung dễ dàng nhập mới các thông tin và cập nhật được các dữ liệu trên SQL server Azure.

4.2. Kết quả chƣa đạt đƣợc

- Việc nghiên cứu điện toán đám mây còn ở phạm vi hẹp. Chưa đưa ra đầy

đủ được hết các tính nổi bật, chức năng và cách thức sử dụng điện toán đám mây. - Phạm vi nghiên cứu về Windows Azure còn hạn chế, các thành phần còn thiếu nhiều.

75

- Trang Web còn đang ở dạng đơn giản, chưa đáp ứng hết được nhu cầu của người dùng.

4.3. Phƣơng hƣớng phát triển

Trong thời gian tới tôi có thể tìm hiểu, nghiên cứu sâu về điện toán đám mây, đặc biệt là Windows Azure và vận dụng chúng vào công tác giảng dạy công nghệ thông tin tại khoa công nghệ thông tin Trường Đại học sư phạm kỹ thuật Vinh .

76

KẾT LUẬN

Sau một thời gian nghiên cứu nghiêm túc và khẩn trương với sự giúp đỡ của thầy giáo TS. Nguyễn Kim Khánh cùng các Thầy giáo, Cô giáo trong Viện Công nghệ thông tin và Truyền thông thuộc Trường Đại học Bách khoa Hà Nội và các bạn đồng nghiệp. Đến nay luận văn tốt nghiệp của tôi đã hoàn thành đúng thời gian chương trình đặt ra, đảm bảo nội dung yêu cầu của đề tài với nội dung đề tài “giải

pháp thực tế của điện toán đám mây và ứng dụng trong giảng dạy đại học”. Trong

quá trình thực hiện luận văn không tránh khỏi những thiếu sót như: nguồn tài liệu hạn chế, khả năng ngoại ngữ có hạn và cơ hội tiếp xúc các công nghệ mới, hiện đại của học viên còn ít, ngoài ra do tính chất đặc thù phát triển của ĐTĐM nên nội dung chưa hoàn toàn cập nhật, cô đọng, thiếu các diễn giải chi tiết, nhiều vấn đề chỉ nêu mà chưa minh họa.

Cuối cùng tôi xin chân thành cảm ơn tới toàn thể các Thầy giáo, Cô giáo trong Viện Công nghệ thông tin và Truyền thông thuộc trường Đại học bách khoa Hà Nội, các bạn bè, đồng nghiệp đặc biệt là thầy giáo TS.Nguyễn Kim Khánh đã nhiệt tình tạo mọi điều kiện thuận lợi nhất, hướng dẫn và giúp đỡ để tôi hoàn thành luận văn này.

77

TÀI LIỆU THAM KHẢO

Các tài liệu, báo cáo khoa học

1. David Chappell – Microsoft White Paper March 09, Introducing Windows Azure 2. Maheswaran.M, Cloud Computing, A Seminar Report

3. Microsoft White Paper, Introducing the Windows Azure Platform 4. Microsoft, An Introduction to Windows Azure Platform AppFabric for Developers

5. Oracle White Paper, Architectural Strategies for Cloud Computing

6. Stephen Fraser – Appress (2002), Re World ASP.NET: Building a Con tent Management System

7. Sun MicroSystems, Introduction to Cloud Computing

8. Huỳnh Quyết Thắng (chủ biên), Nguyễn Hữu Đức, Doãn Trung Tùng, Nguyễn Bình Minh, Trần Việt Trung, Điện toán đám mây, nhà xuất bản Bách Khoa Hà Nội 2014. Các trang Web 9. http://www.ibm.com 10. http://infreemation.net 11. www.forrester.com/ 12. www.en.wikipedia.com 13. http://laptrinhviet.net/Tai-lieu-huong-dan-lap-trinh-Asp-net-MVC5 14. http://pluralsight.com/training/Player?author=scott-allen&name=aspdotnet- mvc5-fundamentals-m1-introduction&mode=live&clip=0&course=aspdotnet- mvc5-fundamentals 15. http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using- mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application 16. http://hoccungdoanhnghiep.com/video-huong-dan-lap-trinh 17. https://vi.scribd.com/doc/163991717/Giao-Trinh-ASP-Net-Nang-Cao

78 18. https://vi.scribd.com/doc/238140410/Introduction-ASP-NET-MVC 19. http://sinhvienit.net/forum/video-asp-net-mvc-5-fundamentals-co-ban-day-du- va-co-code-tham-khao.300685.html 20. http://giaotrinhcntt.com/tai-lieu/tai-lieu-c-c-java-asp-net-mvc5-co-ban 21. https://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet- deploy-aspnet-mvc-app-membership-oauth-sql-database/#next-steps 22. http://www.asp.net/mvc/overview/getting-started/introduction/getting-started 23. http://anvona.com/tong-quan-dien-toan-dam-may-phan-2/ 24. http://www.pcworld.com.vn/articles/cong-nghe/lam-the- nao/2014/09/1236005/khai-thac-mang-ao-tren-microsoft-azure/ 25. http://www.pcworld.com.vn/articles/cong-nghe/lam-the- nao/2014/09/1236005/khai-thac-mang-ao-tren-microsoft-azure/ 26. http://www.pcworld.com.vn/articles/kinh-doanh/quan-tri/2010/12/1222453/ha-

Một phần của tài liệu Giải pháp thực tế của điện toán đám mây và ứng dụng trong giảng dạy đại học (Trang 57)

Tải bản đầy đủ (PDF)

(86 trang)