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

XÂY DỰNG WEBSITE ĐĂNG KÝ & QUẢN LÝ ĐÔ ÁN DÙNG ASP.NET MVC 3.0

171 8 1

Đ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 171
Dung lượng 5,63 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1: Đặt Vấn Đề (19)
    • 1.1 Yêu cầu chức năng (19)
      • 1.1.1 Đối tƣợng sử dụng (19)
      • 1.1.2 Chức năng dành cho Giáo vụ/ Trưởng bộ môn (19)
      • 1.1.3 Chức năng dành cho giảng viên (20)
      • 1.1.4 Chức năng dành cho sinh viên (20)
      • 1.1.5 Tìm kiếm và quản lý thông tin cá nhân (20)
    • 1.2 YÊU CẦU PHI CHỨC NĂNG CỦA ỨNG DỤNG (20)
      • 1.2.1 Yêu cầu về bảo mật (20)
      • 1.2.2 Các yêu cầu về tính sử dụng (20)
      • 1.2.3 Các yêu cầu về tính ổn định (20)
      • 1.2.4 Các yêu cầu về tính hiệu năng (21)
      • 1.2.5 Các yêu cầu về tính hỗ trợ (21)
      • 1.2.6 Các ràng buộc thiết kế (21)
      • 1.2.7 Giao tiếp (21)
        • 1.2.7.1 Giao tiếp người dùng (21)
        • 1.2.7.2 Giao tiếp ứng dụng (21)
    • 1.3 Mô hình cài đặt hoạt động (21)
    • 1.4 Tổng quan quy trình đăng ký đồ án (22)
      • 1.4.1 Quy trình đăng ký (22)
      • 1.4.2 Xét duyệt của giảng viên (23)
  • Chương 2: Cơ sở Lý Thuyết (25)
    • 2.1 Giới thiệu về ASP.NET MVC 3.0 (25)
      • 2.1.1 Công nghệ .NET (25)
        • 2.1.1.1 Tổng quan về ngôn ngữ C# (26)
        • 2.1.1.2 Các lợi ích của C# (26)
      • 2.1.2 Tổng quan về công nghệ ASP.NET (26)
      • 2.1.3 ASP.NET MVC (29)
        • 2.1.3.1 Sự ra đời (29)
        • 2.1.3.2 Ƣu điểm (0)
        • 2.1.3.3 Nhƣợc điểm (33)
        • 2.1.3.4 So sách MVC với mô hình ba lớp (34)
        • 2.1.3.5 So sánh MVC với Webform (35)
      • 2.1.4 ASP.NET MVC 3 (37)
        • 2.1.4.1 Những tính năng mới trong ASP.MVC 2.0 (37)
        • 2.1.4.2 MVC 3 (37)
    • 2.2 Giới thiệu về SQL Server 2008 (44)
      • 2.2.1 Theo dòng lịch sử (45)
      • 2.2.2 Microsoft SQL Server 2008 – người bạn đường tin cậy (45)
    • 2.3 Giới thiệu về Linq (47)
      • 2.3.1 LINQ to SQL là gì? (47)
      • 2.3.2 Mô hình hóa CSDL dùng LINQ to SQL (48)
      • 2.3.3 Tìm hiểu lớp DataContext (49)
  • Chương 3: Phân Tích Và Thiết Kế (50)
    • 3.1 Khảo sát hiện trạng (50)
    • 3.2 Sơ đồ Usecase (51)
    • 3.3 Đặc tả Usecase (52)
      • 3.3.1 Liệt kê danh sách các Actor và Usescase (52)
        • 3.3.1.1 Danh sách Actor (52)
        • 3.3.1.2 Danh sách các Usescase (52)
      • 3.3.2 Đặc tả từng Usescase (54)
        • 3.3.2.1 Đăng nhập (54)
        • 3.3.2.2 Duyệt đề tài của giảng viên (55)
        • 3.3.2.3 Tìm kiếm đề tài (57)
        • 3.3.2.4 Quản lý thông tin cá nhân (58)
        • 3.3.2.5 Quản lý thông tin các đợt làm đồ án (59)
        • 3.3.2.6 Lấy bảng điểm (62)
        • 3.3.2.7 Quản lý người dùng (63)
        • 3.3.2.8 Đánh giá và chấm điểm đồ án (65)
        • 3.3.2.9 Quản lý đề tài (66)
        • 3.3.2.10 Xem thông tin nhóm (71)
        • 3.3.2.11 Thảo luận nhóm (72)
        • 3.3.2.12 Đăng ký nhóm (73)
        • 3.3.2.13 Chọn đề tài đồ án (75)
        • 3.3.2.14 Nộp đồ án (78)
        • 3.3.2.15 Tạo tài khoản (78)
        • 3.3.2.16 Quản lý thông tin bộ môn (79)
        • 3.3.2.17 Quản lý thông tin lớp (82)
        • 3.3.2.18 Quên mật khẩu (84)
        • 3.3.2.19 Quản lý thông tin hội đồng (85)
        • 3.3.2.20 Quản lý tiến độ (86)
    • 3.4 Sơ đồ (89)
      • 3.4.1 Mô hình ERD (89)
      • 3.4.2 Mô hình luồng dữ liệu(DFD) (90)
        • 3.4.2.1 Mô hình xử lý cấp 1 (90)
        • 3.4.2.2 Mô hình xử lý cấp 2 (92)
        • 3.4.2.3 Mô hình xử lý cấp 3 (99)
    • 3.5 Lƣợc đồ cơ sở dữ liệu (101)
      • 3.5.1 Lƣợc đồ (101)
      • 3.5.2 Danh sách các bảng dữ liệu(table) trong lƣợc đồ (102)
        • 3.5.3.1 BoMon (103)
        • 3.5.3.2 DanhSachDeTaiChamDiem (103)
        • 3.5.3.3 DanhSachHoiDong (104)
        • 3.5.3.4 DanhSachNhom (104)
        • 3.5.3.5 DeTai (104)
        • 3.5.3.6 Diem (106)
        • 3.5.3.7 DotLamDoAn (106)
        • 3.5.3.8 GiangVien (108)
        • 3.5.3.9 GiaoVu (108)
        • 3.5.3.10 HoiDongChamDiem (108)
        • 3.5.3.11 LoaiHinh (109)
        • 3.5.3.12 LopHoc (109)
        • 3.5.3.13 Menu (109)
        • 3.5.3.14 NguoiDung (110)
        • 3.5.3.15 NhomThucHien (111)
        • 3.5.3.16 Quyen (112)
        • 3.5.3.17 SinhVien (112)
        • 3.5.3.18 ThaoLuan (112)
        • 3.5.3.19 TruongBoMon (113)
        • 3.5.3.20 TienDo (113)
        • 3.5.3.21 ChiTietTienDo (114)
    • 3.6 Ràng buộc toàn vẹn (114)
      • 3.6.1 Ràng buộc Trên một quan hệ (114)
        • 3.6.1.1 RBTV miền giá trị (114)
        • 3.6.1.2 RBTV liên bộ (120)
        • 3.6.1.3 RBTV liên thuộc tính (125)
      • 3.6.2 Ràng buộc toàn vẹn trên nhiều quan hệ (127)
        • 3.6.2.1 RBTV tồn tại (127)
        • 3.6.2.2 RBTC liên thuộc tính liên quan hệ (133)
  • Chương 4: Hiện Thực Trang Website (135)
    • 4.1 Sitemap (135)
    • 4.2 Giao diện (136)
      • 4.2.1 Giao diện Đăng nhập – Đăng ký (136)
        • 4.2.1.1 Trang Đăng nhập (136)
        • 4.2.1.2 Trang Đăng ký (137)
        • 4.2.1.3 Trang Quên mật khẩu (138)
      • 4.2.2 Giao diện Trưởng Bộ Môn (139)
        • 4.2.2.1 Trang Duyệt đề tài (139)
        • 4.2.2.2 Trang Chi tiết đề tài (140)
        • 4.2.2.3 Trang Quản lý thông tin cá nhân (141)
        • 4.2.2.4 Trang Quản lý thông tin đăng nhập (142)
      • 4.2.3 Giao diện Sinh viên (144)
        • 4.2.3.1 Trang Đăng ký đề tài (144)
        • 4.2.3.2 Trang Đề xuất đề tài (145)
        • 4.2.3.3 Trang Chi tiết đề tài (147)
        • 4.2.3.4 Trang Quản lý thông tin nhóm (148)
      • 4.2.4 Trang Thảo luận (149)
      • 4.2.5 Giao diện Giáo vụ (150)
        • 4.2.5.1 Trang Quản lý thông tin lớp (150)
        • 4.2.5.2 Trang Quản lý thông tin bộ môn (152)
        • 4.2.5.3 Trang Quản lý thông tin người dùng (153)
        • 4.2.5.4 Trang Lấy bảng điểm (155)
        • 4.2.5.5 Trang Quản lý thông tin hội đồng (156)
        • 4.2.5.6 Trang Quản lý thông tin đợt đồ án (157)
      • 4.2.6 Giao diện Giảng viên (159)
        • 4.2.6.1 Trang Đánh giá chấm điểm (159)
        • 4.2.6.2 Trang Chi tiết đánh giá chấm điểm (160)
        • 4.2.6.3 Trang Thông tin nhóm (162)
        • 4.2.6.4 Trang Chi tiết thông tin nhóm (163)
        • 4.2.6.6 Trang Xem chi tiết đề tài sinh viên đề xuất (166)
        • 4.2.6.7 Trang quản lý tiến độ (167)
  • Chương 5: Kết Luận (169)
    • 5.1 Kết quả đạt đƣợc (169)
    • 5.2 Vấn đề còn tồn tại và hướng phát triển (170)
  • Tài Liệu Tham Khảo (171)

Nội dung

Nhóm chúng tôi thực hiện đề tài “Xây dựng Website Đăng Ký và Quản Lý Đồ Án” mong sẽ mang lại kết quả tốt nhằm hỗ trợ các sinh viên trong quá trình đăng ký đồ án dễ dàng hơn, việc thảo lu

Cơ sở Lý Thuyết

Giới thiệu về ASP.NET MVC 3.0

.NET bao gồm một bộ đầy đủ các công cụ giúp tạo và cài đặt các ứng dụng, NET bao gồm:

 Sản phẩm của NET: o Visual studio.NET IDE o Ngôn ngữ lập trình: C#, VB.NET…

 NET framework bao gồm 3 thành phần chủ yếu: o Common Language Runtime (CLR) o Các lớp cơ sở của NET Framework o Giao diện người dùng

Hình 5: Mô hình NET framework

2.1.1.1 Tổng quan về ngôn ngữ C#

2.1.1.1.1 Các tính năng cơ bản của ngôn ngữ lập trình C#

C# là ngôn ngữ lập trình hướng đối tượng thuần túy, nổi bật với các tính năng cơ bản như kiểm tra an toàn kiểu và thu gom rác tự động, giúp giảm bớt gánh nặng cho người lập trình trong việc quản lý bộ nhớ Ngôn ngữ này cũng hỗ trợ các chuẩn hóa do tổ chức ECMA đề ra, đồng thời cung cấp các phương thức và kiểu dữ liệu phổ quát để tăng tính linh hoạt và mở rộng trong phát triển phần mềm.

C# là ngôn ngữ lập trình đa dụng, có thể dùng để phát triển các loại ứng dụng khác nhau như game, ứng dụng doanh nghiệp và ứng dụng di động trên các nền tảng như PC Pocket, PDA và điện thoại di động Ngoài ra, C# còn phù hợp để xây dựng các ứng dụng quản lý đơn giản như quản lý thư viện hoặc thông tin cá nhân Đặc biệt, C# còn hỗ trợ phát triển các ứng dụng phân tán phức tạp mở rộng qua nhiều thành phố và quốc gia, đáp ứng yêu cầu của các hệ thống lớn và phức tạp.

Cross Language Support: hỗ trợ khả năng chuyển đổi dễ dàng giữa các ngôn ngữ

Hỗ trợ tài liệu XML giúp các chú thích XML được thêm vào đoạn mã để dễ dàng trích xuất thành tài liệu hướng dẫn, giúp lập trình viên hiểu rõ ý nghĩa của từng đoạn code Công cụ này hỗ trợ các giao thức Internet phổ biến, đồng thời đơn giản hóa quá trình triển khai hệ thống.

2.1.2 Tổng quan về công nghệ ASP.NET

ASP.NET là một nền tảng ứng dụng web do Microsoft phát triển, giúp lập trình viên dễ dàng tạo ra các trang web động, ứng dụng web và dịch vụ web mạnh mẽ.

Thư viện các lớp đối tượng trong ASP.NET hỗ trợ xây dựng các ứng dụng web với hiệu năng cao và dễ bảo trì ASP.NET không phải là phiên bản mới của ASP 3.0 mà là nền tảng phát triển web mạnh mẽ, tận dụng toàn bộ khả năng của NET Framework Một đặc điểm nổi bật của ASP.NET là phong cách lập trình "code behind", cho phép tách biệt rõ ràng giữa giao diện và mã lệnh, giống như phương pháp phát triển ứng dụng Windows Điều này giúp các nhà phát triển xây dựng các ứng dụng web chuyên nghiệp, dễ quản lý và mở rộng hơn.

ASP.NET đã tạo nên sự cân bằng giữa việc phát triển ứng dụng trên nền tảng Windows và Web, cung cấp các Server Control giúp lập trình viên dễ dàng bắt sự kiện và xử lý dữ liệu như khi làm việc với ứng dụng Windows Ngoài ra, ASP.NET còn cho phép chuyển đổi các ứng dụng trước đây chỉ chạy trên Windows thành ứng dụng Web một cách dễ dàng, với các lớp như WebControl, HTMLControl trong thư viện hỗ trợ phát triển web hiệu quả.

Lập trình xây dựng một trang web trên mô hình ba lớp

Hình 6: Mô hình ba lớp Ƣu điểm:

 ASP.NET cho phép bạn lựa chọn một trong các ngôn ngữ lập trình mà bạn yêu thích: Visual Basic.Net, J#, C#,…

Trang ASP.NET được biên dịch sẵn, giúp tăng tốc độ xử lý và giảm thời gian tải trang web Thay vì phải dịch mã mỗi lần có yêu cầu truy cập, ASP.NET chuyển đổi các trang web động thành tập tin DLL, cho phép máy chủ thực thi nhanh và hiệu quả hơn Điều này tối ưu hóa hiệu suất chạy ứng dụng web ASP.NET và mang lại trải nghiệm người dùng mượt mà hơn.

ASP.NET tận dụng mạnh mẽ bộ thư viện phong phú và đa dạng của NET Framework để phát triển ứng dụng web hiệu quả Nó hỗ trợ làm việc với XML và Web Service, giúp xây dựng các dịch vụ tích hợp linh hoạt Ngoài ra, ASP.NET còn có khả năng truy cập và quản lý dữ liệu từ cơ sở dữ liệu thông qua ADO.NET, nâng cao hiệu suất và khả năng mở rộng của ứng dụng web.

ASPX và ASP có thể hoạt động cùng nhau trong một ứng dụng, với kiến trúc lập trình giống như ứng dụng Windows, giúp quản lý trạng thái của các control hiệu quả Ngoài ra, chúng tự động tạo ra mã HTML phù hợp cho các Server Control dựa trên loại trình duyệt của người dùng, đảm bảo khả năng tương thích cao và trải nghiệm người dùng tốt hơn.

ASP.NET áp dụng phong cách lập trình mới với kỹ thuật Code Behind giúp tách biệt rõ ràng giữa code và giao diện, nâng cao khả năng đọc, quản lý và bảo trì mã nguồn Framework hỗ trợ nhiều cơ chế cache tối ưu, không cần khóa (lock) hoặc đăng ký DLL phức tạp, giúp quá trình phát triển linh hoạt hơn ASP.NET cho phép cấu hình ứng dụng đa dạng, quản lý toàn cục thông qua các trang như Global.aspx với nhiều sự kiện hơn để tùy chỉnh hoạt động Hệ thống quản lý session hiệu quả trên nhiều server mà không phụ thuộc vào cookies, đồng thời dễ dàng tích hợp các thư viện bên ngoài để mở rộng chức năng, tối ưu hiệu suất và khả năng mở rộng của ứng dụng web.

Nhƣợc điểm của ASP.NET truyền thống

Sau một thời gian sử dụng, ASP.NET bộc lộ một số nhƣợc điểm sau:

ViewState là kỹ thuật lưu giữ trạng thái της trang web qua các yêu cầu (request), nhưng thường gây ra các khối dữ liệu lớn được truyền tải giữa client và server, đôi khi lên đến hàng trăm kilobytes Việc này khiến quá trình truyền tải dữ liệu chậm lại, làm người dùng phải chờ đợi lâu mỗi khi nhấp nút hoặc chuyển trang ASP.NET gặp khó khăn trong quản lý hiệu quả ViewState, gây ảnh hưởng tiêu cực đến trải nghiệm người dùng Giải pháp AJAX đã được đề xuất như một phương pháp để giảm thiểu vấn đề này bằng cách tối ưu hóa việc tải dữ liệu và cải thiện tốc độ phản hồi của trang web.

Quá trình vòng đời của trang (Page Life Cycle) liên quan đến kỹ thuật kết nối sự kiện phía client với mã xử lý sự kiện phía server, điều này đòi hỏi kiến thức vững chắc và thường gặp nhiều khó khăn Chỉ có một số ít lập trình viên thành công trong việc xử lý hệ thống control theo thời gian thực mà không gặp lỗi ViewState hoặc hiểu rõ rằng một số trình xử lý sự kiện không kích hoạt một cách bí ẩn Hiểu rõ về cách hoạt động của các sự kiện trong vòng đời trang giúp giảm thiểu các lỗi phát sinh và đảm bảo hệ thống hoạt động một cách ổn định.

Server control trong ASP.NET tự tạo ra mã HTML, nhưng thường không tuân thủ tiêu chuẩn web và sử dụng CSS không tối ưu, gây khó khăn trong việc thao tác bằng JavaScript Mô hình code-behind giúp tách biệt giao diện và mã xử lý, nhưng thực tế nhiều lập trình viên lại pha trộn mã xử lý giao diện và xử lý dữ liệu trong cùng một lớp code-behind, dẫn đến các lớp mã lớn, khó hiểu và dễ gây lỗi Việc không rõ ràng trong phân chia thành phần khiến dự án trở nên thiếu cấu trúc rõ ràng, ảnh hưởng đến tính khả mở và bảo trì của hệ thống.

Khi các nhà thiết kế của ASP.NET lần đầu giới thiệu nền tảng này, họ có thể đã không ngờ rằng kiểm thử tự động sẽ trở thành phần quan trọng của quy trình phát triển phần mềm ngày nay Cấu trúc ban đầu của ASP.NET không phù hợp để hỗ trợ việc kiểm thử tự động, dẫn đến nhiều thách thức trong quá trình kiểm thử phần mềm sau này.

ASP.NET liên tục mở rộng các tính năng mới để nâng cao hiệu suất và dễ sử dụng Phiên bản 2.0 giới thiệu nhiều component chuẩn giúp giảm đáng kể mã cần viết thủ công, nâng cao năng suất phát triển ứng dụng Phản hồi từ Microsoft đối với phong trào Web 2.0/Ajax bắt đầu từ năm 2007, giúp hỗ trợ tương tác phía client mạnh mẽ hơn và đơn giản hóa công việc cho các nhà phát triển Phiên bản 3.5 là một bản nâng cấp nhỏ hơn, bổ sung các tính năng của NET 3.5 cùng các control mới, trong đó có ASP.NET Dynamic Data, tự động tạo ra các trang cho phép chỉnh sửa và liệt kê dữ liệu trong cơ sở dữ liệu một cách dễ dàng.

Giới thiệu về SQL Server 2008

Microsoft SQL Server là hệ quản trị cơ sở dữ liệu quan hệ do Microsoft phát triển, hoạt động theo mô hình khách-chủ cho phép nhiều người dùng truy cập cùng lúc và quản lý quyền truy cập của từng người dùng trên mạng Ngôn ngữ truy vấn chính của SQL Server là Transact-SQL, một phiên bản mở rộng của SQL chuẩn theo tiêu chuẩn ISO và ANSI, giúp tối ưu hóa việc truy xuất và quản lý dữ liệu trong hệ thống.

Microsoft bắt đầu hợp tác với Sybase để phát triển hệ quản trị cơ sở dữ liệu, tạo ra sản phẩm Ashton-Tate vào năm 1989 hoạt động trên nền tảng OS/2 Sau đó, Sybase đã mở rộng phát triển sản phẩm trên môi trường UNIX, đổi tên thành DataServer, hiện còn được biết đến là Sybase Adaptive Server Trong khi đó, Microsoft quyết định không tiếp tục phát triển hệ điều hành OS/2 mà tập trung vào việc ra mắt hệ điều hành mạng máy tính Windows NT Server.

SQL Server ban đầu chỉ hoạt động độc lập trên môi trường Windows NT Server, đánh dấu bước phát triển quan trọng của cơ sở dữ liệu này Các phiên bản của Microsoft SQL Server lần lượt ra đời sau sự kiện này, bắt đầu từ phiên bản 4.2, được nâng cấp thành 4.21, rồi tiếp tục phát triển thành các phiên bản như 6.0, 6.5, 7.0, và hiện tại là Microsoft SQL Server 2000, 2005, cùng phiên bản mới nhất là Microsoft SQL Server 2008.

SQL có nhiều phiên bản, ở đây xin nhấn mạnh một số phiên bản nổi bật:

 SQL Server 2005: SQL Server 2005, đƣợc phát hành vào tháng 11 năm

SQL Server 2005, ra mắt năm 2005, là phiên bản tiếp theo của SQL Server 2000, tập trung vào khả năng xử lý giao dịch trực tuyến trên diện rộng (OLTP), hỗ trợ ứng dụng thương mại điện tử và kho dữ liệu (data warehousing) Ngoài ra, SQL Server 2005 đã giới thiệu các dịch vụ mới như Reporting Services và Service Broker, cùng với những cải tiến đáng kể trong Database Engine để nâng cao hiệu suất và khả năng mở rộng của hệ thống quản trị cơ sở dữ liệu.

 SQL Server 2008: Đây là phiên bản mới nhất của SQl Server, có tên mã là

Vào ngày 27/02/2008, Microsoft tổ chức sự kiện “Heroes Happen Here” để giới thiệu các sản phẩm mới như SQL Server 2008, Windows Server 2008 và Visual Studio 2008 Phiên bản Release Candidate của SQL Server 2008 được ra mắt trong quý II, trong khi phiên bản chính thức dự kiến sẽ ra mắt vào quý III năm 2008.

2.2.2 Microsoft SQL Server 2008 – người bạn đường tin cậy: Để xứng đáng là một người bạn đường tin cậy, Microsoft SQL server 2008 có những điểm mới, tiến bộ sau:

One of the key highlights of SQL Server 2008 by Microsoft is its new orthogonal categorization feature, which offers significant benefits by grouping key areas The four main categories include Enterprise Data Platform, Dynamic Development, Beyond Relational Database, and Pervasive Insight, enabling organizations to leverage tailored solutions across diverse data management and analytic needs.

SQL Server 2008 đóng vai trò là đòn bẩy mạnh mẽ cho công nghệ NET 3.0 với LINQ, giúp tối ưu hóa quá trình truy vấn dữ liệu và nâng cao hiệu suất lập trình Bên cạnh đó, nó cung cấp hỗ trợ hiệu quả hơn cho các thực thể dữ liệu doanh nghiệp, giúp quản lý và xử lý dữ liệu phức tạp dễ dàng hơn Ngoài ra, các tùy chọn đồng bộ dữ liệu linh hoạt của SQL Server 2008 còn đảm bảo tính nhất quán và khả năng mở rộng của hệ thống dữ liệu doanh nghiệp.

Tóm lại: SQL Server 2008 có nhiều cải thiện hữu dụng và thiết thực Có thể liệt kê một cách sơ lƣợc nhƣ sau:

Trong SQL Server 2008, tính năng mã hóa dữ liệu toàn diện cho phép toàn bộ cơ sở dữ liệu, các bảng và dữ liệu có thể được mã hóa mà không cần lập trình ứng dụng Phương pháp này sử dụng SQL Engine để mã hóa tất cả dữ liệu và các file bản ghi, bao gồm cả các chỉ mục và bảng, đảm bảo an toàn tối đa cho dữ liệu của bạn Ngoài ra, SQL Server còn hỗ trợ tính năng mã hóa sao lưu (Backup Encryption), giúp bảo vệ dữ liệu trong quá trình sao lưu, nâng cao khả năng bảo mật cho hệ thống của bạn.

Năm 2008, đã phát triển một phương pháp mã hóa các bản sao lưu nhằm bảo vệ dữ liệu khỏi sự truy cập trái phép và can thiệp từ bên thứ ba Phương pháp này giúp đảm bảo an toàn cho dữ liệu quan trọng, đồng thời cho phép giới hạn quyền phục hồi backup đối với từng người dùng cụ thể Công nghệ mã hóa backup từ năm 2008 là một giải pháp hiệu quả để duy trì tính toàn vẹn và bảo mật của dữ liệu trong môi trường số ngày càng phức tạp.

Finally, there are new options available for External Key Management If your project involves handling credit card data or PCI compliance, SQL Server provides enhanced security features to support secure key management and help meet industry standards.

Năm 2008, Hardware Security Modules (HSM) đã được hỗ trợ để nâng cao bảo mật thông tin Các mô đun này là giải pháp phần cứng của bên thứ ba, giúp lưu trữ các khóa mật mã ở một vị trí riêng biệt với dữ liệu mà chúng bảo vệ Việc sử dụng HSM đảm bảo an toàn tối đa cho các khóa bảo mật quan trọng trong hệ thống.

Backup có thể được mã hóa để ngăn chặn việc lộ và thay đổi dữ liệu quan trọng Việc thẩm định các thay đổi và truy cập dữ liệu giúp đảm bảo an toàn và toàn vẹn thông tin SQL Server 2008 cho phép kiểm tra chi tiết các hoạt động thay đổi và truy cập dữ liệu, đồng thời cung cấp các quy trình thẩm định chuẩn cho logon, logoff và các thao tác được phép, nâng cao bảo mật hệ thống.

Fact Tables có thể được nén với hiệu suất cao nhờ vào SQL Server Data Compression, giúp giảm đáng kể kích thước của bảng thực tế Việc này không chỉ tối ưu hóa lưu trữ trên các ổ đĩa cứng mà còn giảm thiểu số lần sao lưu, nâng cao hiệu quả quản lý dữ liệu và giảm chi phí lưu trữ.

Trong SQL Server 2008, quản lý tài nguyên (Resource Governor) được giới thiệu như một điểm mới giúp đảm bảo an toàn cho tài nguyên chủ, bằng cách hạn chế người dùng hoặc nhóm người dùng chi phối các lớp tài nguyên mức cao Các công cụ hiệu suất, như Performance Studio, được tích hợp để kiểm tra, xử lý sự cố, điều chỉnh và báo cáo hiệu quả hệ thống Thành phần Data Collector trong Studio có khả năng cấu hình linh hoạt, hỗ trợ các phương pháp lựa chọn dữ liệu gồm truy vấn TSQL, SQL Trace, và Perfmon Counters, đồng thời cho phép lập trình để lấy dữ liệu theo nhu cầu Khi dữ liệu đã được chọn, người dùng có thể tạo ra các báo cáo tổng hợp nhằm phân tích và tối ưu hiệu suất hệ thống một cách dễ dàng.

 SQL 2008 hỗ trợ Hot Plug CPU Trong SQL Server 2008, các CPU cắm thêm có thể đƣợc bổ sung vào nếu phần cứng của hệ thống hỗ trợ

 Bộ đếm hiệu suất đƣợc mở rộng Số bộ đếm hiệu suất trong SQL Server

Năm 2008 đã mở rộng các tính năng so với phiên bản trước đó, với bộ đếm hiệu suất bộ nhớ và IO được tích hợp để kiểm tra hiệu suất hệ thống một cách chính xác Dữ liệu hiệu suất đã chọn qua bộ đếm được lưu trữ trong trung tâm lưu dữ liệu tập trung, giúp quản lý và phân tích dễ dàng hơn Microsoft cho biết, việc thiết lập hiệu suất mặc định để thực hiện các kiểm tra sẽ tiêu thụ ít hơn 5% tài nguyên bộ nhớ và CPU, tối ưu hóa hoạt động hệ thống Ngoài ra, công cụ Performance Dashboard có thể đọc và phân tích dữ liệu hiệu suất đã lưu, hỗ trợ quản trị viên trong việc giám sát và nâng cao hiệu suất hệ thống hiệu quả.

Giới thiệu về Linq

2.3.1 LINQ to SQL là gì?

LINQ to SQL là một giải pháp ORM tích hợp trong NET Framework 3.5 (trước đây gọi là "Orcas"), cho phép mô hình hóa cơ sở dữ liệu bằng các lớp NET Phần mềm này giúp người dùng dễ dàng truy vấn dữ liệu bằng LINQ, đồng thời thực hiện cập nhật, thêm hoặc xóa dữ liệu một cách hiệu quả Với LINQ to SQL, việc làm việc với CSDL trở nên trực quan và dễ dàng hơn, nâng cao hiệu suất phát triển ứng dụng.

LINQ to SQL hỗ trợ đầy đủ các tính năng như transaction, view và stored procedure, giúp quản lý dữ liệu một cách dễ dàng và hiệu quả Nó còn cung cấp phương pháp đơn giản để tích hợp kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào trong mô hình dữ liệu của bạn, nâng cao tính toàn vẹn và độ tin cậy của ứng dụng.

Truy vấn dữ liệu theo truyền thống thường được thể hiện dưới dạng các chuỗi ký tự đơn giản mà không đòi hỏi kiểm tra tại thời điểm biên dịch hay sự hỗ trợ của các công cụ trực quan Điều này đòi hỏi người dùng phải học các ngôn ngữ truy vấn khác nhau tùy thuộc vào loại dữ liệu nguồn như cơ sở dữ liệu SQL, tài liệu XML hoặc dịch vụ Web LINQ giúp đơn giản hóa quá trình này bằng cách tích hợp khả năng truy vấn dữ liệu trực tiếp trong các ngôn ngữ lập trình như C# và Visual Basic Bạn có thể viết câu truy vấn dựa trên tập hợp các đối tượng bằng các từ khóa và toán tử quen thuộc trong ngôn ngữ, tạo ra các truy vấn dễ đọc, dễ viết và hiệu quả hơn.

In Visual Studio 2008, you can write LINQ queries in both Visual Basic and C# to interact with SQL Server databases, XML documents, ADO.NET, datasets, and any object collections that support IEnumerable or share similar characteristics with the IEnumerable interface LINQ provides powerful support for ADO.NET Framework entities, enabling efficient and readable data manipulation across various data sources.

Bạn có thể sử dụng các truy vấn LINQ trong các dự án mới hoặc dự án hiện có để triển khai web và các dữ liệu khác Điều kiện duy nhất là các dự án này phải được xây dựng trên nền tảng NET Framework 3.5, giúp tối ưu hóa khả năng làm việc với dữ liệu và nâng cao hiệu suất phát triển ứng dụng.

2.3.2 Mô hình hóa CSDL dùng LINQ to SQL:

Visual Studio “Orcas” đã tích hợp trình thiết kế LINQ to SQL, giúp người dùng dễ dàng mô hình hóa cơ sở dữ liệu một cách trực quan Công cụ này mang lại sự thuận tiện và hiệu quả trong việc phát triển các ứng dụng sử dụng LINQ to SQL Tích hợp này nâng cao trải nghiệm lập trình và tối ưu hóa quá trình phát triển dự án Cơ sở dữ liệu trong Visual Studio.

The LINQ to SQL model defines four entity classes: Product, Category, Order, and OrderDetail Each class's properties are mapped to the corresponding columns in the database tables, enabling seamless data access Instances of these classes represent individual records or rows within the database, facilitating efficient data manipulation and retrieval through LINQ queries This structure ensures that developers can easily work with database entities in a object-oriented manner, improving application performance and maintainability.

Hình 13: Mô hình cho cơ sở dữ liệu mẫu Northwind

Các mũi tên giữa bốn lớp thực thể thể hiện các mối quan hệ giữa các thực thể, dựa trên các khóa chính - khóa ngoại trong Cơ sở dữ liệu Hướng của mũi tên chỉ ra mối quan hệ một – một hoặc một – nhiều, và các thuộc tính liên quan sẽ được thêm vào các lớp thực thể nhằm thể hiện mối quan hệ này Ví dụ, lớp Category có mối quan hệ một nhiều với lớp Product, nghĩa là lớp Category sẽ có thuộc tính “Categories” là tập hợp các đối tượng Product trong Category đó, trong khi lớp Product sẽ có thuộc tính “Category” trỏ đến đối tượng Category chứa Product này, giúp mô tả rõ mối liên hệ trong cơ sở dữ liệu. -**Sponsor**Struggling to rewrite your article to be SEO-friendly and coherent? [Article Generation](https://pollinations.ai/redirect-nexad/yXF0JNYO?user_id=983577) can help you effortlessly extract and refine key sentences that capture the essence of each paragraph, ensuring your content is both meaningful and optimized for search engines Tired of overspending on content creation? With Article Generation, you can create high-quality, SEO-optimized articles in minutes, saving time and money Perfect for startups and businesses looking to boost their online presence without breaking the bank!

Trong trình thiết kế LINQ to SQL, bảng các phương thức bên phải chứa danh sách các stored procedure (SP) để tương tác với mô hình dữ liệu Ví dụ, đã thêm thủ tục có tên “GetProductsByCategory”, nhận vào một categoryID và trả về danh sách các Product phù hợp.

Khi bạn nhấn nút "Save" trong màn hình thiết kế LINQ to SQL của Visual Studio, các lớp NET biểu diễn thực thể và mối quan hệ trong cơ sở dữ liệu sẽ được lưu lại Mỗi file LINQ to SQL thêm vào solution sẽ tạo ra một lớp DataContext dùng để thực hiện truy vấn và cập nhật dữ liệu Lớp DataContext mới sẽ có các thuộc tính đại diện cho từng bảng đã mô hình hóa, cùng với các phương thức tương ứng cho các stored procedure đã thêm vào.

Phân Tích Và Thiết Kế

Khảo sát hiện trạng

Hiện trạng Website Luận văn đồ án:

Các trang web thường cung cấp thông tin về tiêu đề của luận văn hoặc đồ án theo từng nhóm ngành nghề, giúp sinh viên dễ dàng lựa chọn đề tài phù hợp Mỗi nhóm ngành nghề lớn sẽ có các ngành nghề nhỏ cụ thể, tạo thành hệ thống đề tài đa dạng và phong phú Điều này hỗ trợ người học chuẩn bị tốt hơn cho quá trình nghiên cứu và viết luận án, đồng thời nâng cao khả năng tiếp cận thông tin chính xác và cập nhật.

Ví dụ: nhóm ngành Kinh tế sẽ đƣợc phên ra thành từng ngành nhỏ nhƣ: Quản trị kinh doanh, kế toán, ngân hàng, thương mại…

Người dùng chỉ có thể xem tiêu đề của luận văn, đồ án trên một số trang web Một số nền tảng cho phép tải về phần mục lục để tham khảo, giúp người đọc đánh giá nội dung phù hợp với yêu cầu của mình.

Chức năng tìm kiếm đề tài bao gồm tìm kiếm cơ bản theo tên đề tài và mã số đề tài, giúp người dùng dễ dàng truy cập các đề tài phù hợp Ngoài ra, hệ thống còn cung cấp chức năng tìm kiếm nâng cao, cho phép tìm theo từng nhóm ngành và ngành cụ thể trong các nhóm ngành, nâng cao độ chính xác và phạm vi tìm kiếm Đặc biệt, website còn hỗ trợ gửi yêu cầu mua luận văn theo yêu cầu của người dùng, phù hợp trong trường hợp không tìm thấy đề tài như ý muốn, đáp ứng tối đa nhu cầu nghiên cứu và học tập của học viên.

Xây dựng một trang web hỗ trợ đăng ký và quản lý đồ án, phù hợp cho các khoa, trường và trung tâm giáo dục Trang web cung cấp đầy đủ các quy trình cơ bản của quá trình đăng ký, theo dõi và thực hiện đồ án một cách dễ dàng và hiệu quả Hệ thống giúp nâng cao phối hợp giữa các đơn vị, giảm thiểu thủ tục giấy tờ và tối ưu hóa thời gian xử lý Đây là giải pháp công nghệ hiện đại nhằm tối đa hóa hiệu quả trong quản lý đồ án tại các cơ sở giáo dục.

 Hỗ trợ các người dùng: học viên, giáo vụ, giảng viên, trưởng bộ môn

Ứng dụng cung cấp các chức năng cơ bản phù hợp với từng người dùng, bao gồm tìm kiếm và hiển thị danh sách đề tài có sẵn hoặc khả năng đề xuất đề tài tự chọn Người dùng có thể xem chi tiết thông tin về đề tài dự định thực hiện, đăng ký thực hiện đề tài, cũng như thảo luận trực tuyến với giảng viên hướng dẫn trong suốt quá trình thực hiện.

 Ngoài ra hệ thống được phân quyền rõ cho từng loại người dùng với các chức năng khác nhau.

Sơ đồ Usecase

Th em n gu oi du ng

C ap n ha p n gu oi du ng Tt he o t en d e t ai

Th eo n oi du ng Xe m th on g tin

C ap n ha p t ho ng tin Tt he o t en d e t ai

Th eo n oi du ng Th em d e t ai

C ap n ha p t ho ng tin d e t ai

Th em th on g tin d ot la m d o a n

C ap n ha p t ho ng tin d ot la m d o a n Th em th on g tin b o m on

C ap n ha p t ho ng th i b o m on

C ap n ha p t en lo p D uy et de ta i d an g k y c ua s in h v ie n D an g d e t ai le n k ho a

Ta o n ho m G ia nh ap n ho m

C ap n ha p t ho ng tin n ho m

Th em h oi do ng

C ap n ha p h oi do ng D an g n ha p

N gu oi du ng D uy et de ta i c ua g ia ng vie n D an h g ia va ch am d iem d e t ai

Xe m th on g tin n ho m Qu an ly d e ta i >

> >

Q ua n l y n ho m > >

N op d o a n Th ao lu an n ho m Ti m kie m >

Q ue n m at kh au Tr uo ng bo m on

La y b an g d ie m c ua d ot la m d o a n

> > Ti m kie m >

Q ua n l y th on g t in c a n ha n >

Q ua n l y d ot la m d o a n >

> Q ua n l y th on g t in b o m on >

Q ua n l y th on g t in lo p >

Q ua n l y h oi do ng Gia o v u

> > Q ua n l y ti en d o

Đặc tả Usecase

3.3.1 Liệt kê danh sách các Actor và Usescase

STT Tên Actor Ý nghĩa/ Ghi chú

1 Người dùng Người sử dụng phải đăng nhập vào hệ thống mới sử dụng đƣợc các chức năng của hệ thống

2 Giáo vụ Giáo vụ của khoa

3 Sinh viên Sinh viên, đối tƣợng chính sử dụng website

4 Giảng viên Các giảng viên tham gia giảng dạy tại khoa

5 Trưởng bộ môn Người duyệt các đề tài của giảng viên

Bảng 2: Danh sách các Actor

STT Tên Usescase Ý nghĩa/ Ghi chú

1 Đăng nhập Đăng nhập vào hệ thống

2 Duyệt đề tài của giảng viên Chấp nhận hay không chấp nhận đề tài của giảng viên đề xuất

Trong quá trình tìm kiếm đề tài, người thực hiện cần dựa trên các tiêu chí quan trọng như tên đề tài, nội dung chính của đề tài, người thực hiện và giảng viên hướng dẫn nhằm đảm bảo lựa chọn đề tài phù hợp và chất lượng cao Việc xác định rõ các yếu tố này giúp tiết kiệm thời gian, nâng cao hiệu quả nghiên cứu và đáp ứng các yêu cầu của quá trình học tập hoặc công việc Tìm kiếm đề tài theo các tiêu chí đã đề ra cũng giúp định hướng rõ ràng, góp phần thúc đẩy thành công trong quá trình thực hiện đề án hoặc dự án nghiên cứu.

4 Quản lý thông tin cá nhân Thực hiện chức năng xem thông tin cá nhân của người dùng

5 Quản lý các đợt làm đồ án Thực hiện quản lý thông tin của các đợt làm đồ án

6 Lấy bảng điểm Giáo vụ thực hiện lấy bảng điểm của sinh viên theo lớp

7 Quản lý người dùng Quản lý thông tin của giảng viên, giáo vụ và

8 Đánh giá và chấm điểm đồ án

Chức năng của giảng viên thực hiện nhận xét, đánh giá và chấm điểm đồ án của sinh viên

9 Quản lý đề tài Giảng viên thực hiện quản lý thông tin của đề tài

Duyệt đề tài đăng ký của sinh viên

Giảng viên thực hiện xem xét đánh giá việc đăng ký đề tài của sinh viên

10 Xem thông tin nhóm Xem thông tin của thành viên trong nhóm

11 Thảo luận nhóm Giảng viên, sinh viên thực hiện việc thảo luận trên website

12 Đăng ký nhóm Thực hiện đăng ký nhóm làm đề tài

13 Chọn đề tài đồ án Thực hiện chọn đề tài đăng ký

14 Nộp đồ án Sau khi hoàn thành, sinh viên thực hiện việc nộp đồ án

15 Tạo tài khoản Sinh viên tạo tài khoản đăng nhập

16 Quản lý thông tin bộ môn Quản lý thông tin danh sách các bộ môn của khoa, thực hiện thêm, xóa, sửa và xem chi tiết

17 Quản lý thông tin lớp Quản lý thông tin danh sách các lớp của khoa, thực hiện thêm, xóa, sửa và xem chi tiết

18 Quên Mật khẩu Cho phép sinh viên nhập thông tin chứng thực rồi gởi mail thông báo mật khẩu

19 Quản lý thông tin hội đồng Quản lý thông tin danh sách hội đồng chấm điểm

20 Quản lý tiến độ Thực hiện đánh giá tiến độ làm việc của sinh viên trong một khoản thời gian nào đó Bảng 3: Danh Sách Các Usecase

Tóm tắt Usescase này bắt buộc người dùng phải đăng nhập trước khi sử dụng hệ thống

Preconditions Người dùng chưa đăng nhập vào hệ thống

Post-Conditions Người dùng đăng nhập vào và sử dụng được các chức năng của hệ thống tùy theo phân quyền của người dùng đó

 Khi kích hoạt Website sẽ hiện màn hình đăng nhập cho nhập tên đăng nhập và mật khẩu

Sau khi người dùng nhập tên đăng nhập và mật khẩu, hệ thống sẽ kiểm tra tính hợp lệ của chúng, trong đó tên đăng nhập và mật khẩu phải có độ dài ít nhất 6 ký tự Đồng thời, các ô nhập liệu không được để trống để đảm bảo quá trình đăng nhập diễn ra thành công.

Hệ thống sẽ thực hiện kiểm tra tính hợp lệ của tên đăng nhập và mật khẩu khi người dùng đăng nhập, đảm bảo rằng thông tin tài khoản tồn tại trong cơ sở dữ liệu Quá trình này giúp xác thực chính xác người dùng và bảo vệ an toàn cho hệ thống.

Sinh viên có thể truy cập vào hệ thống giảng viên nếu đăng nhập thành công, tùy thuộc vào quyền hạn của từng người dùng mà giao diện chính sẽ hiển thị phù hợp.

Nếu tên đăng nhập hoặc mật khẩu không hợp lệ hoặc không tồn tại trong cơ sở dữ liệu, hệ thống sẽ hiển thị thông báo lỗi: “Tên đăng nhập và mật khẩu không đúng Kiểm tra lại tên đăng nhập và mật khẩu.” Người dùng cần nhập lại thông tin đăng nhập đúng để tiếp tục truy cập vào hệ thống.

Exceptions  Tên đăng nhập và mật khẩu không đúng

 Hệ thống không kết nối đƣợc cơ sở dữ liệu

 Tài khoản của người dùng đã bị xóa hoặc bị chặn

Bảng 4: Đặc tả usecase đăng nhập

3.3.2.2 Duyệt đề tài của giảng viên

Hình 16: Usecase duyệt đề tài của giảng viên

Hình 17: Sequence duyệt đề tài của giảng viên

Duyet de tai cua giang vien Truong bo mon

Duyệt đề tài của giảng viên

Chọn chức năng duyệt đề tài Thời gian đăng ký

Gởi yêu cầu sửa đổi

Mail thông báo Cập nhập thông tin

Trả dữ liệu tìm được truy xuất dữ liệu Gởi yêu cầu

Thời gian đăng ký Giảng Viên 1 Trưởng bộ môn

Giao diện Xử lý DAO

Chọn chức năng duyệt đề tài Thời gian đăng ký

Gởi yêu cầu sửa đổi

Mail thông báo Cập nhập thông tin

Trả dữ liệu tìm được truy xuất dữ liệuGởi yêu cầu

Tên Usescase Duyệt đề tài của giảng viên

Tóm tắt Trưởng bộ môn thực hiện việc xem và chấp thuận hoặc không chấp thuận đề tài của giảng viên đề xuất

Preconditions Đăng nhập vào Website với quyền của Trưởng bộ môn

Post-Conditions Vào trang chức năng dành cho Trưởng bộ môn Chọn chức năng duyệt đề tài của giảng viên, dữ liệu đƣợc cập nhập vào hệ thống

 Hệ thống truy xuất cơ sở dữ liệu, hiện ra danh sách các đề tài mà các giảng viên đề xuất

 Trưởng bộ môn chọn đề tài và chọn thao tác xem chi tiết đề tài

 Trưởng bộ môn chọn các thao tác chấp nhận, không chấp nhận đề tài hoặc trở về

 Nếu chấp nhận đề tài thì hệ thống tự động gởi mail thông báo đến giảng viên với nội dung: “Đề tài đƣợc chấp thuận”

 Trở về lại giao diện chính của duyệt đề tài

Nếu đề tài của giảng viên không được chấp thuận, hệ thống tự động gửi email thông báo và yêu cầu giảng viên đề xuất một đề tài khác, với nội dung: “Quí thầy cô vui lòng đề xuất một đề tài khác.” Việc này giúp đảm bảo quá trình phê duyệt đề tài thuận lợi và nhanh chóng hơn.

 Chọn thao tác trở về, trở về lại giao diện chính của quản lý duyệt đề tài

Exceptions  Hệ thống gởi mail bị lỗi

 Hệ thống cơ sở dữ liệu bị lỗi

 Lỗi thông tin địa chỉ Email của giảng viên

 Tồn tại thông tin đề tài

Bảng 5: Đặc tả usecase duyệt đề tài của giảng viên

Hình 18: Usecase tìm kiếm đề tài

Tên Usescase Tìm kiêm đề tài

Actor Trưởng bộ môn, giảng viên, giáo vụ, sinh viên

Tóm tắt Usescase cho phép thực hiện việc tìm kiếm thông tin những đề tài

Preconditions Đăng nhập vào hệ thống, chọn chức năng tìm kiếm, nhập từ khóa tìm kiếm

Post-Conditions Hiện ra danh sách các đề tài với yêu cầu tìm kiếm

 Chọn thông tin cần tìm kiếm

 Nhập thông tin dữ liệu cần tìm

 Chọn thao tác tìm kiếm

 Hiển thị dữ liệu tìm đƣợc ra một danh sách

 Chƣa nhập thông tin cần tìm, Chọn thao tác tìm kiếm thông báo lỗi: “Yêu cầu nhập từ khóa!”

Ttheo ten de tai tìm thấy dữ liệu bạn cần.”

Exceptions  Lỗi câu truy vấn tìm kiếm

 Dữ liệu không tồn tại

 Chọn và nhập thông tin tìm kiếm

Bảng 6: Đặc tả usecase tìm kiếm đề tài

3.3.2.4 Quản lý thông tin cá nhân

Hình 19: Usecase quản lý thông tin cá nhân

Tên Usescase Quản lý thông tin cá nhân

Actor Giáo vụ, Trưởng bộ môn, Giảng viên, Sinh viên

Tóm tắt Usescase cho phép thực hiện xem thông tin và cập nhập thông tin cá nhân của Actor

Preconditions Đăng nhập vào hệ thống, chọn chức năng quản lý thông tin cá nhân

Post-Conditions Thông tin cá nhân của các actor hiện ra theo quyền của của các actor, dữ liệu đƣợc cập nhập vào hệ thống

 Hệ thống truy xuất cơ sở dữ liệu của người dùng, hiện thông tin chi tiết của người dùng đó

 Chọn thao tác sửa, chuyển sang trang sửa để các actor chỉnh sửa thông tin cá nhân

 Nhập thông tin cần chỉnh sửa

Trong quá trình kiểm tra dữ liệu nhập liệu, cần xác nhận rằng tên đăng nhập và mật khẩu có độ dài lớn hơn 6 ký tự để đảm bảo tính bảo mật Ngoài ra, cần kiểm tra chính xác địa chỉ email và các ô nhập số để đảm bảo dữ liệu hợp lệ Tất cả các trường thông tin đều bắt buộc điền, ngoại trừ ô số điện thoại, giúp duy trì tính đầy đủ và chính xác của dữ liệu người dùng.

Quan ly thong tin ca nhan

 Chọn thao tác cập nhập, hệ thống cập nhập thông tin vào trong cơ sở dữ liệu và xuất thông báo: “Cập nhập thành công.”

 Trở về lại giao diện của quản lý thông tin

Khi người dùng truy cập trang chỉnh sửa thông tin và chọn thao tác trở về, dữ liệu không được cập nhật vào hệ thống, dẫn đến thông tin không chính xác hoặc thiếu cập nhật trên giao diện quản lý thông tin.

Exceptions  Dữ liệu các ô nhập liệu trống, xuất ra thông báo: “Yêu cầu nhập…”

 Các ô nhập số nhƣng lại nhập ký tự

 Đăng nhập vào hệ thống

Bảng 7: Đặc tả usecase quản lý thông tin cá nhân

3.3.2.5 Quản lý thông tin các đợt làm đồ án

Hình 20: Usecase quản lý thông tin các đợt đồ án

3.3.2.5.1 Tạo mới một đợt làm đồ án

Tên Usescase Tạo mới một đợt làm đồ án

Tóm tắt Usescase cho phép thực hiện tạo một đợt làm đồ án

Preconditions Đăng nhập vào hệ thống vời quyền của giáo vụ, chọn chức năng quản lý đồ án

Post-Conditions Thông tin đợt làm đồ án đƣợc tạo và thêm vào trong cơ sở dữ liệu

Cap nhap thong tin dot lam do an

Quan ly dot lam do an

Them thong tin dot lam do an

Giao v u chính chia làm hai phần, phần trên là tạo mới một đợt làm đồ án, phần dưới là danh sách các đợt làm đồ án

Bạn cần nhập dữ liệu chính xác vào các ô nhập liệu với các giá trị quan trọng như tên, thời gian bắt đầu và kết thúc của dự án, thời gian bắt đầu và kết thúc đăng ký, thời gian bắt đầu và kết thúc nộp bài, trạng thái ẩn hiện của mục, thứ tự hiển thị, cùng với ngày bắt đầu và kết thúc chấm điểm Đảm bảo điền đầy đủ các thông tin này để quản lý dữ liệu hiệu quả, thuận tiện theo dõi lịch trình và tiến độ chấm điểm Việc nhập đúng và đủ các trường dữ liệu giúp hệ thống hoạt động trơn tru, tối ưu hóa quá trình quản lý và đánh giá nội dung.

Kiểm tra dữ liệu nhập vào là bước quan trọng để đảm bảo tính chính xác của thông tin Các ô ngày tháng cần tuân theo định dạng ngày-tháng-năm để tránh nhầm lẫn Ngày bắt đầu phải luôn đặt trước ngày kết thúc, đảm bảo theo thứ tự thời gian hợp lý Các ô nhập liệu không được để trống và nên có dữ liệu mặc định để tiện sử dụng Thứ tự hiển thị mặc định dựa trên số dòng lớn nhất trong cơ sở dữ liệu, giúp sắp xếp thông tin một cách hợp lý và dễ theo dõi.

Chọn thao tác thêm để dữ liệu mới được đưa vào trong cơ sở dữ liệu, trong đó thông tin của người tạo và ngày tạo sẽ được tự động cập nhật dựa trên ngày hệ thống hiện tại.

 Xuất ra thông báo: “Thêm thành công.”

 Danh sách các đợt làm đồ án đƣợc cập nhập

 Chọn thao tác làm mới thì dữ liệu trong các ô nhập liệu trống

 Các ngày chọn không đúng theo yêu cầu thì xuất thông báo yêu cầu chọn đúng

Exceptions  Chọn các ngày sai

 Nhập dữ liệu đầu vào thiếu

 Ngày bắt đầu sau ngày kết thúc thông báo và yêu cầu chọn lại ngày

 Ngày kết thúc đăng ký trước ngày bắt đầu nộp

 Ngày kết thúc đợt làm đồ án sau hoặc bằng ngày kết thúc chấm điểm đồ án

 Ngày bắt đầu đợt đồ án trước hoặc bằng ngày đăng ký

 Ngày bắt đầu chấm điểm sau ngày kết thúc nộp bài Bảng 8: Đặc tả usecase tạo mới một đợt làm đồ án

3.3.2.5.2 Xem chi tiết, cập nhập đợt làm đồ án

Tên Usescase Xem chi tiết, cập nhậpđợt làm đồ án

Tóm tắt Thực hiện việc xem chi tiết thông tin một đợt làm đồ án và cập nhập nếu có nhu cầu

Để quản lý thông tin đợt làm đồ án, giáo vụ cần đăng nhập vào hệ thống với quyền hạn phù hợp Sau đó, chọn chức năng "Quản lý thông tin đợt làm đồ án" để truy cập danh mục các đợt Người dùng có thể xem chi tiết một đợt làm đồ án cụ thể trong danh sách để nắm rõ các thông tin liên quan.

Post-Conditions Dữ liệu đƣợc cập nhập vào hệ thống cơ sở dữ liệu

Hệ thống truy xuất cơ sở dữ liệu hiển thị thông tin chi tiết của một đợt đăng ký, bao gồm tên đợt, thời gian bắt đầu và kết thúc, thời gian bắt đầu và kết thúc đăng ký, thời gian bắt đầu và kết thúc nộp hồ sơ, trạng thái ẩn hiện, thứ tự, cũng như ngày bắt đầu và kết thúc chấm điểm Các dữ liệu này giúp quản lý và theo dõi quá trình đăng ký hiệu quả, đảm bảo các thông tin liên quan luôn được cập nhật chính xác và thuận tiện cho người dùng Sử dụng hệ thống này cải thiện khả năng kiểm soát thời gian và tối ưu quá trình tuyển sinh hoặc đăng ký dịch vụ.

 Nhập thông tin chỉnh sửa tại các ô nhập liệu

 Các ô nhập liệu không đƣợc trống Nếu trống xuất hiện thông báo: “Vui lòng nhập…”

 Chọn thao tác cập nhập, dữ liệu đƣợc cập nhập vào cơ sở dữ liệu

 Xuất thông báo: “ Cập nhập thành công.”

 Trở về giao diện chính của quản lý đợt làm đồ án

 Chọn thao tác trở về, trở về giao diện chính của quản lý đợt làm đồ án Dữ liệu không đƣợc cập nhập vào trong cơ sơ dữ liệu

 Trong phần cập nhập Nếu tắt trình duyệt dữ liệu không đƣợc cập nhập vào dữ liệu

 Nhập các ngày bị lỗi, xuất ra thông báo yêu cầu chọn ngày lại cho đúng với yêu cầu và hợp lý

Exceptions  Lỗi trong phần chọn ngày

 Ngày bắt đầu sau ngày kết thúc thông báo và yêu cầu chọn lại ngày

 Ngày kết thúc đăng ký trước ngày bắt đầu nộp

 Ngày kết thúc đợt làm đồ án sau hoặc bằng ngày kết thúc chấm điểm đồ án

 Ngày bắt đầu đợt đồ án trước hoặc bằng ngày đăng ký

 Ngày bắt đầu chấm điểm sau ngày kết thúc nộp bài Bảng 9: Đặc tả usecase xem chi tiết, cập nhập đợt làm đồ án

Hình 21: Usecase lấy bảng điểm Tên Usescase Lấy bảng điểm của sinh viên

Tóm tắt Chọn đợt làm đồ án và lấy bảng điểm của sinh viên theo lớp

Preconditions Đăng nhập vào hệ thống với quyền của giáo vụ, chọn chức năng lấy bảng điểm

Post-Conditions Hiện ra danh sách bảng điểm của lớp đƣợc chọn

 Chọn lớp cần lấy, chọn đợt làm đồ án

 Hệ thống truy xuất cơ sở dữ liệu

 Hiện ra danh sách các sinh viên theo yêu cầu chọn

 Chọn thao tác trở về, trở về giao diện chính của lấy bảng điểm

 Nếu không tồn tại dữ liệu yêu cầu thì xuất thông báo là:

“Dữ liệu không tồn tại.”

Exceptions  Không tồn tại dữ liệu

 Mặc định chọn một lớp và chọn đợt làm đồ án mới nhất Bảng 10: Đặc tả usecase lấy bảng điểm

Giao v uLay bang diem cua dot lam do an

Hình 22: Usecase quản lý người dùng

3.3.2.7.1 Thêm thông tin người dùng

Tên Usescase Thêm thông tin người dùng

Tóm tắt Thực hiện thao tác thêm mới một người dùng vào trong hệ thống

Preconditions Đăng nhập vào hệ thống với quyền của giáo vụ, chọn chức năng quản lý người dùng

Post-Conditions Thông tin của một người dùng được thêm vào trong cơ sở dữ liệu

 Trang đƣợc chia làm hai phần, phần ở trên dùng để thêm thông tin một người dùng mới, phần dưới hiện ra danh sách các người dùng

 Hệ thống truy xuất cơ sở dữ liệu hiện ra danh sách các người dùng

 Nhập thông tin người dùng gồm: họ tên, chức vụ, tên bộ môn, điện thoại, email, địa chỉ, hình ảnh, ngày sinh

Để đảm bảo tính hợp lệ của dữ liệu nhập liệu, cần kiểm tra tất cả các ô nhập trừ số điện thoại, đảm bảo không để trống Ngoài ra, cần kiểm tra chính xác địa chỉ email đã nhập và xác minh các ô nhập số để tránh lỗi về dữ liệu Các bước này giúp nâng cao độ chính xác và tin cậy của hệ thống nhập liệu.

 Chọn thao tác thêm, hệ thống thực hiện việc lấy dữ liệu từ các ô nhập liệu và thêm vào trong cơ sở dữ liệu

 Xuất ra thông báo: “Thêm thành công!”

 Cập nhập lại danh sách người dùng

 Chọn thao tác làm mới, các ô nhập liệu trống nhƣ trạng thái ban đầu

Giao vu Quan ly nguoi dung

phụ  Ô nhập địa chỉ email sai định dạng thông báo yêu cầu nhập lại cho đúng

Exceptions  Nhập sai địa chỉ email

 Nhập thiếu dữ liệu đầu vào

Bảng 11: Đặc tả usecase thêm thông tin người dùng

3.3.2.7.2 Cập nhập thông tin người dùng

Tên Usescase Cập nhập thông tin người dùng

Tóm tắt Không cho người dùng có quyền truy cập vào hệ thống

Preconditions Đăng nhập vào hệ với quyền của giáo vụ, chọn chức năng quản lý người dùng, chọn thao tác ẩn ở mỗi dòng của danh sách của người dùng

Post-Conditions Cập nhập lại dữ liệu

 Hệ thống truy xuất và thực hiện sửa trong cơ sở dữ liệu

 Xuất thông báo“Đã ẩn thành công.”

 Trở về giao diện chính của quản lý thông tin người dùng

 N/A Bảng 12: Đặc tả usecase cập nhập thông tin người dùng

3.3.2.8 Đánh giá và chấm điểm đồ án

Hình 23: Usercase đánh giá và chấm điểm đồ án

Tên Usescase Đánh giá và chấm điểm đồ án

Tóm tắt Sau khi hết hạng nộp đồ án, giảng viên thực hiện việc đánh giá và cho điểm từng sinh viên

Preconditions Đăng nhập vào hệ thống với quyền giảng viên, chọn chức năng đánh giá và chấm điểm đồ án

Post-Conditions Cơ sở dữ liệu về điểm và lời đánh giá của giảng viên hướng dẫn đƣợc cập nhập cho từng sinh viên

 Hệ thống truy xuất dữ liệu hiện ra tất cả đồ án mà giảng viên đó tham gia hướng dẫn trong đợt đồ án mở ra

 Chọn thao tác xem chi tiết, để thực hiện xem chi tiết về bài báo cáo đã nộp

 Hệ thống truy xuất dữ liệu hiện thông tin chi tiết bài báo cáo về đồ án đã nộp

 Chọn chức năng nhập điểm và đánh giá

 Giảng viên nhập đánh giá của mình và cho điểm từng thành viên trong nhóm

 Chọn thao tác hoàn tất Kiểm tra xem các ô nhập điểm có nhập số hay không? Mặc định ô điểm bằng 0

 Lưu thông tin vào trong cơ sở dữ liệu

 Xuất thông báo chấm điểm hoàn tất

 Gởi mail thông báo với thành viên trong nhóm đã có điểm, yêu cầu kiểm tra lại thông tin điểm số

 Trở về giao diện của chấm điểm và đánh giá

Dòng sự kiện  Các ô nhập điểm không nhập đúng định dạng số Yêu cầu

Danh gia va cham diem de tai

Exceptions  Nhập không đúng định dạng số

 Chức năng đƣợc mở sau khi hết hạn nộp bài

Bảng 13: Đặc tả usecase đánh giá và chấm điểm đồ án

Hình 24: Usecase quản lý đề tài

3.3.2.9.1 Thêm một đề tài mới

Tên Usescase Thêm một để tài mới

Tóm tắt Thực hiện thêm một đề tài mới

Preconditions Đăng nhập vào hệ thống với quyền của giảng viên, chọn chức năng quản lý đề tài

Post-Conditions Nội dung của đề tài đƣợc thêm vào trong cơ sở dữ liệu Danh sách các đề tài đƣợc cập nhập

Trang quản lý đề tài cho phép người dùng nạp lên các đề tài mới một cách dễ dàng Giao diện được chia thành hai phần rõ ràng: phần trên dùng để nhập thông tin bổ sung hoặc tạo đề tài mới, còn phần dưới hiển thị danh sách các đề tài đã được đăng tải Điều này giúp quản lý đề tài hiệu quả, thuận tiện cho việc theo dõi và cập nhật.

Sơ đồ

FK_GIANG_VI_RELATIONS_NGUOI_DU

FK_GIAO_VU_RELATIONS_NGUOI_DU

FK_TRUONG_B_RELATIONS_NGUOI_DU

FK_SINH_VIE_RELATIONS_NGUOI_DU

FK_GIANG_VI_RELATIONS_BO_MON

FK_TRUONG_B_RELATIONS_BO_MON

FK_SINH_VIE_RELATIONS_LOP_HOC FK_NGUOI_DU_RELATIONS_QUYEN

FK_DANH_SAC_RELATIONS_NHOM_THU

FK_DANH_SAC_RELATIONS_SINH_VIE

FK_NHOM_THU_RELATIONS_DOT_LAM_

FK_DOT_LAM RELATIONS_GIAO_VU

FK E_TAI_RELATIONS_LOAI_HIN FK E_TAI_RELATIONS_GIANG_VI

FK_NHOM_THU_RELATIONS E_TAI

FK_THAO_LUA_RELATIONS_NHOM_THU

FK_THAO_LUA_RELATIONS_SINH_VIE

FK_DANH_SAC_RELATIONS IEM

FK_DANH_SAC_RELATIONS_HOI ONG

FK_DANH_SAC_RELATIONS_GIANG_VI

FK_DANH_SAC_RELATIONS_HOI ONG

FK E_TAI_RELATIONS_DOT_LAM_

FK_DANH_SAC_RELATIONS_NHOM_THU FK_TIEN O_RELATIONS_CHI_TIET

FK_TIEN O_RELATIONS_NHOM_THU

Người Dùng IdNguoiDung IdQuyen Ten NgaySinh UrlHinh Email DienThoai DiaChi TenDangNhap MatKhau AnHien integer integer char(100) date char(256) char(256) char(20) char(256) char(20) char(20) smallint

Lớp Học IdLop TenLop AnHien integer char(20) smallint

Giáo Vụ IdNguoiDung integer

Trưởng Bộ Môn IdBoMon IdNguoiDung integer integer

Sinh Vien IdLop IdNguoiDung MaSV integer integer char(20)

Quyền IdQuyen TenQuyen AnHien integer char(100) smallint

Dợt Làm Đồ Án IdDot

IdNguoiDung TenDot ThoiGianBatDau ThoiGianBatDauDangKy ThoiGianKetThucDangKy ThoiGianBatDauNop ThoiGianKetThucNop ThoiGianBatDauCham ThoiGianKetThucCham ThoiGianKetThuc AnHien HocKy NamBatDau NamKetThuc integer integer char(256) date date date date date date date date smallint integer integer integer

IdDeTai IdDot TenNhom SoLuong IdNhomTruong NhanXetGiangVien BaiNop TinhTrang NgayNop integer long varchar integer char(256) integer integer long varchar long varchar integer date

IdNhom IdDiem IdNguoiDung ThanhVien integer integer integer smallint

The article outlines key details of a research project, including identifiers such as project ID (IdDeTai), type ID (IdLoaiHinh), and session ID (IdDot), as well as information about the creator (IdNguoiDung) and project name (TenDeTai) It emphasizes the importance of clearly defining the project's objectives (MucTieuDeTai) and specifying team requirements, such as the number of groups (SoLuongNhom) and members (SoLuongThanhVien) Additionally, it highlights the necessity of documenting knowledge prerequisites (YeuCauKienThuc), notes (GhiChu), and visibility status (AnHien) The article also details contributions from students (SVDeXuat), along with project status (TinhTrang), ensuring comprehensive tracking through data fields like project description, status indicators, and miscellaneous notes, all critical for effective project management and SEO optimization.

Loại Hình IdLoaiHinh TenLoaiHinh integer char(256)

Thảo Luận IdThaoLuan IdNhom IdNguoiDung NoiDung ThoiGian integer integer integer long varchar timestamp

IdMenu IdQuyen TenMenu ThuTu AnHien Action NgonNgu Controller integer integer char(256) integer smallint char(256) integer char(256)

Danh Sách Đề Tài Chấm

Điểm IdDiem DiemGVHD DiemPhanBien DiemHoiDong DiemCong TongCong integer integer integer integer integer integer

Tiến Độ IdNhom IdChiTiet integer integer

Chi Tiết Tiến Độ NgayBatDau IdChiTiet NgayKetThuc NhanXetGiangVien Duyet PhanTramTienDo date integer date long varchar smallint integer

3.4.2 Mô hình luồng dữ liệu(DFD)

3.4.2.1 Mô hình xử lý cấp 1

Hình 41: Mô hình DFD của trưởng bộ môn

Hình 42: Mô hình DFD của người dùng

2 Duyệt đề tài của giảng viên

6 Trưởng Bộ Môn 7 Đề tài2

8 Đề tài trưởng bộ môn

4 Quản lý thông tin cá nhân

Hình 43: Mô hình DFD của giáo vụ

5 Quản lý đợt đồ án

6 Lấy bảng điểm của sinh viên

8 Quản lý thông tin lớp

9 Quản lý thông tin bộ môn

Hình 44: Mô hình DFD của giảng viên và sinh viên

3.4.2.2 Mô hình xử lý cấp 2

Hình 45: Mô hình chi tiết DFD duyệt đề tài của giảng viên

10 Đánh giá và chấm điểm đề tài

12 Duyệt đề tài đăng ký của sinh viên 13

8 Đề tài trưởng bộ môn

2.1 Hiển thị thông tin đề tài

2.3Gởi mail thông báo cho giảng viên

Hình 46: Mô hình chi tiết DFD tìm kiếm đề tài của người dùng

Hình 47: Mô hình chi tiết DFD quản lý thông tin người dùng

3.1 Tìm kiếm theo tên đề tài

3.3 Tìm kiếm theo nội dung

4.1 Xem thông tin cá nhân

4.2 Cập nhập thông tin cá nhân

27 Trưởng Bộ Môn3 26 Giáo vụ3

T hêm thông tin bộ môn

9.2 Hiển thị danh sách bộ môn

9.3Cập nhập thông tin bộ môn

Hình 49: Mô hình chi tiết DFD quản lý thông tin đợt đồ án

Hình 50: Mô hình chi tiết DFD quản lý thông tin lớp học

Hình 51: Mô hình chi tiết DFD lấy điểm sinh viên

Hình 52: Mô hình chi tiết DFD quên mật khẩu

5.1 Thêm thông tin đợt làm đồ án

5.2 Cập nhập thông tin đợt làm đồ án

5.3 Hiển thị danh sách đợt làm đồ án

8.2 Hiện thị danh sách các lớp

8.3 Cập nhập thông tin lớp

6.1 Tìm sinh viên theo lớp

6.2 Hiển thị danh sách sinh viên

20.2Gỏi mail thông báo mật khẩu mới

Hình 53: Mô hình chi tiết DFD quản lý thông tin người dùng

Hình 54: Mô hình chi tiết DFD đánh giá và chấm điểm đề tài

Hình 55: Mô hình chi tiết DFD quản lý đề tài

7.1 Thêm thông tin người dùng

7.2 Hiển thị danh sách người dùng

7.3 Cập nhập danh sách người dùng(ẩn hoặc hiện)

7.4 mail thông báo tài khoản người dùng mới được tạo

10.2 Đánh giá và chấm điểm

10.3 Gởi mail thông báo điểm cho từng sinh viên

11.1 Thêm thông tin đề tài

11.2 Hiển thị danh sách đề tài

11.3 Cập nhập thông tin đề tài

11.4 Đưa đề tài lên khoa

Hình 56: Mô hình chi tiết DFD thảo luận nhóm

Hình 57: Mô hình chi tiết DFD xem thông tin nhóm

15.1 Hiện các bài thảo luận của nhóm

40 Nhóm thực hiện 3 42 Danh sách nhóm3 43 Lớp3 41 Sinh viên4

13.1 Hiển thị danh sách đề tài và các nhóm

13.2 Hiển thị thông tin nhóm

13.3 Hiển thị thông tin chi tiết của nhóm

13.4 Hiển thị thông tin chi tiết của từng thành viên

13.6 Mail cho từng thành viên

13.7 Xem thông tin chi tiết của từng thành viên

13.8Mail cho từng thành viên2

Hình 58: Mô hình chi tiết DFD duyệt đề tài đăng ký của sinh viên

Hình 59: Mô hình chi tiết DFD nộp đồ án

Hình 60: Mô hình chi tiết DFD quản lý nhóm

43 Lớp3 42 Danh sách nhóm3 41 Sinh viên4

12.1 Hiển thị thông tin đề tài đăng ký

12.2 Hiển thị thông tin chi tiết đề tài và nhóm

12.3 Duyệt đề tài đăng ký

19.1 Nhập thông tin bài nộp

19.2 Lưu thông tin bài nộp

17.3Cập nhập thông tin nhóm

Hình 61: Mô hình chi tiết DFD tạo tài khoản

Hình 62: Mô hình chi tiết DFD chọn đề tài

Hình 63: Mô hình DFD chi tiết quản lý thông tin hội đồng

16.1 Tạo thông tin tài khoản

16.2 Lưu thông tin sinh viên

16.3 Mail thông báo tài khoản

53 Đợt làm đồ án5 52 Nhóm thực hiện 5

18.1 Chọn đề tài đăng ký

Tự đề xuất đề tài 55 Loại hình2

21.4 Cập nhập thông tin hội đồng

21.5 Hiển thị danh sách hội đồng

21.3 Thêm thông tin hội đồng

21.6Xem thông tin chi tiết hội đồng

Hình 64: Mô hình DFD chi tiết quản tin tiến độ

3.4.2.3 Mô hình xử lý cấp 3

Hình 65: Mô hình chi tiết DFD tạo nhóm

Hình 66: Mô hình chi tiết DFD gia nhập nhóm

22.4 Xem chi tiến và cập nhập tiến độ

Hiển thị danh sách sinh viên theo lớp

17.1.5 Gởi mail cho sinh viên

17.2.1 Hiển thị danh sách các lời mời

17.2.3 Không chấp nhập lời mời

Hình 67: Mô hình chi tiết DFD cập nhập thông tin nhóm

Hình 68: Mô hình chi tiết DFD tự đề xuất đề tài

Hình 69: Mô hình chi tiết DFD chọn đề tài đăng ký

17.3.1 Hiển thị thông tin chi tiết nhóm

18.2.1 Tạo thông tin đề tài

18.2.2 Lưu thông tin đề tài

18.2.3 Gởi mail thông báo cho giảng viên 2

18.1.1 Hiển thị danh sách các đề tào

18.1.2 Chọn đề tài đăng ký 1

18.1.4Gơi mail thông báo cho giảng viên 2

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

IdDeTai IdLoaiHinh IdDot IdNguoiDung TenDeTai MucTieuDeTai SoLuongNhom SoLuongThanhVien YeuCauKienThuc GhiChu AnHien SVDeXuat TinhTrang SoLuongDuyet SoLuongDangKy

IdDot TenDot ThoiGianBatDau ThoiGianBatDauDangKy ThoiGianKetThucDangKy ThoiGianBatDauNop ThoiGianKetThucNop ThoiGianBatDauChamDiem ThoiGianKetThucChamDiem ThoiGianKetThuc AnHien HocKy NamBatDau NamKetThuc IdNguoiDung

IdMenu IdQ uyen TenMenu ThuTu AnHien Action NgonNgu Controller

IdNguoiDung IdQ uyen Ten NgaySinh UrlHinh Email DienThoai DiaChi TenDangNhap MatKhau AnHien

FK_GiangVien_NguoiDung FK_SinhVien_NguoiDung

FK_TruongBoMon_NguoiDung FK_DeTai_LoaiHinh

IdDiem DiemGVHD DiemPhanBien DiemHoiDong DiemCong TongCong

FK_NguoiDung_Quyen FK_DeTai_DotLamDoAns

3.5.2 Danh sách các bảng dữ liệu(table) trong lƣợc đồ

1 BoMon Lưu thông tin của các bộ môn

2 DanhSachDeTaiChamDiem Lưu thông tin các nhóm mà hội đồng chấm điểm

3 DanhSachHoiDong Lưu thông tin của các giảng viên trong hội đồng chấm điểm

4 DanhSachNhom Lưu thông tin thành viên trong nhóm

5 DeTai Lưu thông tin của các đề tài

6 Diem Lưu thông tin các cột điểm của từng sinh viên trong các đồ án

7 DotLamDoAn Lưu thông tin của các đợt làm đồ án

8 GiangVien Lưu thông tin của giảng viên

9 GiaoVu Lưu thông tin của giáo vụ

10 HoiDongChamDiem Lưu thông tin của hội đồng

11 LoaiHinh Lưu thông tin của các loại hình như: Luận văn/Đồ án

12 LopHoc Lưu thông tin của các lớp học

13 Menu Lưu thông tin của menu

14 NguoiDung Lưu thông tin của người dùng

15 NhomThucHien Lưu thông tin của nhóm

16 Quyen Lưu thông tin của quyền truy cập của người sử dụng Gồm có Giảng viên/Giáo vụ /Trưởng bộ môn/ Sinh Viên

17 SinhVien Lưu thông tin của sinh viên

18 ThaoLuan Lưu thông tin của các bài thảo luận của các nhóm với giảng viên

19 TruongBoMon Lưu thông tin của trưởng bộ môn

20 TienDo Lưu tiến độ của một nhóm

21 ChiTietTienDo Lưu thông tin chi tiết của một tiến độ đƣợc tạo

Bảng 35: Bảng danh sách các bảng dữ liệu

3.5.3 Mô tả chi tiết từng bảng

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdBoMon int not null Id của bộ môn, tự động tăng lên

2 TenBoMon nvarchar 50, null Tên của bộ môn

3 AnHien bit null Quy định thuộc tính ẩn hiện của bộ môn

Bảng 36: Chi tiết bảng dữ liệu bộ môn

STT Thuộc tính Kiểu dữ liệu

1 IdNhom Int not null Lưu thông tin Id của nhóm mà hội đồng chấm điểm

2 IdHoiDong Int not null Lưu id của hội đồng chấm nhóm nào đó

3 Ngay Date Null Lưu thông tin ngày mà hội đồng đó chấm đề tài

Bảng 37: Chi tiết bảng dữ liệu danh sách đề tài chấm điểm

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdHoiDong int not null Id của hội đồng chấm điểm

2 IdNguoiDung int not null Id người dùng của giảng viên Bảng 38: Chi tiết bảng dữ liệu danh sách hội đồng

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdNguoiDung int not null Lưu thông tin mã sinh viên trong bảng sinh viên

2 IdNhom int not null Lưu id của nhóm mà sinh viên thực hiện đồ án

3 IdDiem Int null Id điểm của từng sinh viên trong nhóm đó

4 ThanhVien bit null Để biết sinh viên đó có chấp nhận lời mời gia nhập nhóm hay không

Bảng 39: Chi tiết bảng dữ liệu danh sách nhóm

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdDeTai int not null Id của đề tài đƣợc tạo Tự động tăng lên

2 IdLoaiHinh int null Lưu id của loại hình được chọn cho đề tài

3 IdNguoiDung int not null Lưu id người dùng của giảng viên tạo ra đề tài

4 TenDeTai nvarchar 50, null Lưu thông tin tên của để tài

5 MucTieuDeTai nvarchar MAX, null Lưu thông tin về mục tiêu của đề tài

6 SoLuongNhom int null Quy định số lƣợng nhóm có thể chọn đề tài đó

7 SoLuongThanhVien int null Quy định số thành viên nhiều nhất trong một nhóm có thể có

8 YeuCauKienThuc nvarchar MAX, null Lưu thông tin về yêu cầu kiến thức cần có cho đề tài

9 GhiChu nvarchar MAX, null Lưu thông tin ghi chú

10 AnHien bit null Thuộc tính ẩn hiện của đề tài

Trong quá trình thực hiện, cần đề xuất giá trị "bit Null" để xác định xem đề tài này có phải do sinh viên đề xuất hay không Đồng thời, lưu trữ mã số sinh viên đề xuất để dễ dàng quản lý và truy xuất thông tin sau này Việc này giúp đảm bảo tính chính xác và minh bạch trong quá trình đánh giá, đồng thời hỗ trợ hoạt động quản lý dự án nghiên cứu của nhà trường.

12 TinhTrang int null Quy định tình trạng của đề tài 1/ chƣa duyệt, 2/ đang sửa, 3/ đã đƣợc duyệt bởi trưởng bộ môn

13 IdDot int null Lưu thông tin của đợt của đề tài

Bảng 40: Chi tiết bảng dữ liệu đề tài

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdDiem int not null Id cột điểm của sinh viên Tự động tăng lên

2 DiemGVHD int null Lưu thông tin điểm của giảng viên hướng dẫn chấm cho đề tài

3 DiemPhanBien int null Lưu thông tin điểm của phản biện

4 DiemHoiDong Int Null Lưu thông tin điểm chấm của hội đồng

5 DiemCong int null Lưu cột điểm cộng cho đề tài

6 TongCong float Null Lưu điểm tổng cộng của một sinh viên trong một nhóm Bảng 41: Chi tiết bảng dữ liệu điểm

STT Thuộc tính Kiểu dữ liệu

Id đợt đồ án, tự động tăng lên khi có một dòng dữ liệu thêm vào

Lưu id người dùng của giáo vụ thực hiện việc thêm thông tin đợt làm đồ án

Lưu thông tin tên của đợt làm đồ án

4 ThoiGianBatDau Date Null Lưu thông tin ngày cho phép bắt đầu một đợt làm đồ án

5 ThoiGianBatDauDangKy Date Null Lưu thông tin ngày cho phép bắt đầu quy trình đăng ký đồ án

6 ThoiGianKetThucDangKy Date Null Lưu thông tin ngày kết thúc quy trình đăng ký đồ án

7 ThoiGianBatDauNop Date Null Lưu thông tin ngày bắt đầu quy trình nộp bài

8 ThoiGianKetThucNop Date Null Lưu thông tin ngày kết thúc quy trình nộp bài

9 ThoiGianBatDauChamDiem Date Null Lưu thông tin ngày bắt đầu quy trình chấm điểm

10 ThoiGianKetThucChamDiem Date Null Lưu thông tin ngày kết thúc quy trình chấm điểm của giảng viên, và hội đồng

11 ThoiGianKetThuc Date Null Lưu thông tin ngày kết thúc một đợt làm đồ án

12 AnHien Bit Null Quy Định thuộc tính ẩn hiện của đợt đồ án

13 HocKy Int Null Lưu thông tin học kỳ của đợt làm đồ án

14 NamBatDau int Null Lưu thông tin năm bắt đầu của năm học

15 NamKetThuc int Null Lưu thông tin năm kết thúc của năm học

Bảng 42: Chi tiết bảng dữ liệu đợt làm đồ án

STT Thuộc tính Kiểu dữ liệu

1 IdBoMon int not null Lưu id bộ môn của giảng viên

2 IdNguoiDung int not null Lưu thông tin id người dùng của bảng người dùng Bảng 43: Chi tiết bảng dữ liệu giảng viên

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdNguoiDung int not null Lưu thông tin id người dùng của bảng người dùng Bảng 44: Chi tiết bảng dữ liệu giáo vụ

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdHoiDong int not null Id của hội đồng, tự động tăng lên khi có thông tin của một hội đồng đƣợc thêm vào

2 TenHoiDong nvarchar 50,null Lưu thông tin tên của hội đồng

Bảng 45: Chi tiết bảng dữ liệu hội đồng chấm điểm

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdLoaiHinh int not null Id của loại hình, tự động tăng lên khi có thông tin của một loại hình đƣợc thêm vào

2 TenLoaiHinh nvarchar 50,null Lưu thông tin tên của loại hình

Bảng 46: Chi tiết bảng dữ liệu loại hình

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdLop int not null Id của lớp, tự động tăng lên khi có thông tin của một lớp đƣợc thêm vào

2 TenLop nvarchar 20, null Lưu thông tin tên của lớp học

4 AnHien Bit Null Quy định việc cho ẩn hoặc hiện thông tin lớp

Bảng 47: Chi tiết bảng dữ liệu lớp học

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdMenu int not null Id của menu, tự động tăng lên khi có thông tin của một menu đƣợc thêm vào

2 TenMenu nvarchar 50, null Lưu thông tin tên của menu

3 IdQuyen Int Null Quy định menu cho từng loại người dùng cụ thể

4 ThuTu Int Null Quy định thứ tự hiện ra của từng mục trong menu

5 AnHien Bit Null Quy định thuộc tính ẩn hay hiện của menu

6 Action nvarchar 50, null Quy định action nào để thực hiện gọi chức năng của menu

7 NgonNgu Int Null Quy định ngôn ngữ của trang web

8 Controller nvarchar 50, null Quy định controller nào điều khiển chức năng đƣợc gọi Bảng 48: Chi tiết bảng dữ liệu menu

STT Thuộc tính Kiểu dữ liệu Miền giá trị

1 IdNguoiDung int not null Id của người dùng, tự động tăng lên khi có thông tin của một người dùng được thêm vào

2 Ten nvarchar 100, null Lưu thông tin họ và tên của người dùng

3 IdQuyen Int Null Lưu thông tin quyền hạn truy cập và sử dụng chức năng của trang web

4 NgaySinh Date Null Lưu thông tin ngày sinh của người dùng

5 UrlHinh nvarchar 100, null Lưu thông tin đường dẫn chứa hình ảnh của người dùng

6 Email nvarchar 50,null Lưu thông tin địa chỉ email của người dùng

7 DienThoai nvarchar 20, null Lưu thông tin số điện thoại của người dùng

9 DiaChi nvarchar 200, null Lưu thông tin địa chỉ liên lạc của người dùng

10 TenDangNhap nvarchar 20, null Lưu thông tin tên đăng nhập của người dùng

11 MatKhau nvarchar 50, null Lưu thông tin mật khẩu truy cập của người dùng

12 AnHien Bit Null Quy định thuộc tính ẩn hiện của người dùng

Bảng 49: Chi tiết bảng dữ liệu người dùng

STT Thuộc tính Kiểu dữ liệu

1 IdNhom Int not null Id của nhóm, tự động tăng lên khi có thông tin của một nhóm đƣợc thêm vào

2 TenNhom nvarchar 50, null Lưu thông tin tên của nhóm

3 IdDeTai Int Null Lưu thông tin id của đề tài mà nhóm đó chọn thực hiện

4 IdDot Int Null Lưu thông tin id của đợt là nhóm đó thực hiện

5 SoLuong Int Null Lưu thông tin số lượng của nhóm

6 IdNhomTruong Int not null Lưu thông tin IdNguoiDung sinh viên là trưởng nhóm

Lưu nhận xét của giảng viên về nhóm thực hiện

Lưu thông tin đường dẫn chứa bài nộp

9 TinhTrang Int Null Lưu thông tin tình trạng của đề tài mà sinh viên đề xuất

10 NgayNop Date Null Lưu thông tin ngày nộp

Bảng 50: Chi tiết bảng dữ liệu nhóm thực hiện

STT Thuộc tính Kiểu dữ liệu

1 IdQuyen Int not null Id của quyền, tự động tăng lên khi có thông tin của một quyền đƣợc thêm vào

2 TenQuyen nvarchar 50, null Lưu thông tin tên của quyền truy cập

3 AnHien Bit Null Quy định thuộc tính ẩn hiện của quyền truy cập

Bảng 51: Chi tiết bảng dữ liệu quyền

STT Thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú

1 MaSV nvarchar 20, not null Lưu thông tin mã sinh viên của từng sinh viên

2 IdLop Int Null Lưu thông tin Id lớp của sinh viên

3 IdNguoiDung Int Null Lưu thông tin id người dùng của người dùng

Bảng 52: Chi tiết bảng dữ liệu sinh viên

STT Thuộc tính Kiểu dữ liệu Miền giá trị Ghi chú

1 IdThaoLuan Int not null Id của bài thảo luận, tự động tăng lên khi có thông tin của một thảo luận đƣợc thêm vào

2 IdNguoiDung int not null Lưu id người dùng của sinh viên thực hiện thêm thảo luân và id người dùng của giảng viên

3 IdNhom Int not null Lưu thông tin nhóm của sinh viên thực hiện thảo luận Hoặc của giảng viên thảo luận

4 NoiDung nvarchar Max, null Lưu thông tin nội dung của bài thảo luận

5 ThoiGian Datetime Null Lưu mốc thời gian thực hiện đăng bài thảo luận

Bảng 53: Chi tiết bảng dữ liệu thảo luận

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdBoMon Int Null Lưu thông tin bộ môn của trưởng bộ môn

2 IdNguoiDung Int Null Lưu thông tin id người dùng của người dùng Bảng 54: Chi tiết bảng dữ liệu trưởng bộ môn

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdNhom Int Not null Lưu thông tin id của nhóm

2 IdChiTiet Int Null Lưu thông tin id chi tiết của nội dung tiến độ Bảng 55: Bảng tiến độ thực hiện

STT Thuộc tính Kiểu dữ liệu

Miền giá trị Ghi chú

1 IdChiTiet Int Null Lưu thông tin id chi tiết của nội dung tiến độ, tự động tăng

2 NgayBatDau Date Null Lưu thông tin ngày bắt đầu của một nhật xét tiến độ

3 NgayKetThuc Date Null Lưu thông tin ngày kết thúc của một nhận xét tiến độ

4 NhanXetGiangVien nvarchar Max, null Lưu thông tin nhận xét của giảng viên về một tiến độ thực hiện

5 GiangVienDongY Bit Null Lưu giá trị true hoặc false với ý nghĩa là đồng ý hoặc tạm ngừng quá trình thực hiện đề tài của một nhóm

6 PhanTramCongVien Int Null Lưu giá trị phần trăm công việc mà nhóm đó thực hiện đƣợc

Bảng 56: Bảng chi tiết tiến độ thực hiện

Ràng buộc toàn vẹn

3.6.1 Ràng buộc Trên một quan hệ

Nội dung: qi  BoMon qi.TenBoMon < 50

Nội dung: qi  DeTai qi.TenDeTai < 50

Nội dung: qi  DeTai qi.SoLuongNhom >= 0

Nội dung: qi  DeTai qi.SoLuongThanhVien >= 0

Nội dung: qi  DeTai qi.TinhTrang > 0 và qi.TinhTrang = 0

Nội dung: qi  Quyen qi.TenQuyen < 50

Nội dung: qi,qj  BoMon qi.IdBoMon  qj.IdBoMon i  j Tầm ảnh hưởng:

Nội dung: qi,qj  BoMon qi.TenBoMon  qj.TenBoMon i  j Tầm ảnh hưởng:

Nội dung: qi,qj  DanhSachDeTaiChamDiem qi.IdNhom  qj.IdNhom i  j Tầm ảnh hưởng:

Nội dung: qi,qj  NhomSinhVien qi.IdDiem  qj.IdDiem i  j

Nội dung: qi,qj  DeTai qi.IdDeTai  qj.IdDeTai i  j Tầm ảnh hưởng:

Nội dung: qi,qj  Diem qi.IdDiem  qj.IdDiem i  j Tầm ảnh hưởng:

Nội dung: qi,qj  DotLamDoAn qi.IdDot  qj.IdDot i  j Tầm ảnh hưởng:

Nội dung: qi,qj  GiangVien qi.IdNguoiDung  qj.IdNguoiDung i  j Tầm ảnh hưởng:

Nội dung: qi,qj  GiaoVu qi.IdNguoiDung  qj.IdNguoiDung i  j

Nội dung: qi,qj  HoiDongChamDiem qi.IdHoiDong  qj.IdHoiDong i  j Tầm ảnh hưởng:

Nội dung: qi,qj  LoaiHinh qi.IdLoaiHinh  qj.IdLoaiHinh i  j Tầm ảnh hưởng:

Nội dung: qi,qj  LoaiHinh qi.TenLoaiHinh  qj.TenLoaiHinh i  j Tầm ảnh hưởng:

Nội dung: qi,qj  LopHoc qi.IdLopHoc  qj.IdLopHoc i  j Tầm ảnh hưởng:

Nội dung: qi,qj  LopHoc qi.TenLop  qj.TenLop i  j

Nội dung: qi,qj  Menu qi.IdMenu  qj.IdMenu i  j Tầm ảnh hưởng:

Nội dung: qi,qj  Menu qi.TenMenu  qj.TenMenu i  j Tầm ảnh hưởng:

Nội dung: qi,qj  NguoiDung qi.IdNguoiDung  qj.IdNguoiDung i  j Tầm ảnh hưởng:

Nội dung: qi,qj  NguoiDung qi.TenDangNhap  qj.TenDangNhap i  j Tầm ảnh hưởng:

Nội dung: qi,qj  NhomThucHien qi.IdNhom  qj.IdNhom i  j

Nội dung: qi,qj  Quyen qi.IdQuyen  qj.IdQuyen i  j Tầm ảnh hưởng:

Nội dung: qi,qj  Quyen qi.TenQuyen  qj.TenQuyen i  j Tầm ảnh hưởng:

Nội dung: qi,qj  SinhVien qi.MaSV  qj.MaSV i  j Tầm ảnh hưởng:

Nội dung: qi,qj  SinhVien qi.IdNguoiDung  qj.IdNguoiDung i  j Tầm ảnh hưởng:

Nội dung: qi,qj  ThaoLuan qi.IdThaoLuan  qj.IdThaoLuan i  j

Nội dung: qi,qj  TruongBoMon qi.IdNguoiDung  qj.IdNguoiDung i  j Tầm ảnh hưởng:

Nội dung: qi  DotLamDoAn qi.ThoiGianBatDau < qi.ThoiGianBatDauDangKy Tầm ảnh hưởng:

Nội dung: qi  DotLamDoAn qi.ThoiGianBatDauDangKy < qi.ThoiGianKetThucDangKyTầm ảnh hưởng:

Nội dung: qi  DotLamDoAn qi.ThoiGianKetThucDangKy < qi.ThoiGianBatDauNop Tầm ảnh hưởng:

Nội dung: qi  DotLamDoAn qi.ThoiGianKetThucNop < qi.ThoiGianBatDauChamDiem Tầm ảnh hưởng:

Nội dung: qi  DotLamDoAn qi.ThoiGianBatDauChamDiem < qi.ThoiGianKetThucChamDiem

Nội dung: qi  DotLamDoAn qi.ThoiGianKetThucChamDiem < qi.ThoiGianKetThuc Tầm ảnh hưởng:

Nội dung: qi  DotLamDoAn qi.NamBatDau < qi.NamKetThuc Tầm ảnh hưởng:

Nội dung: qi  ChiTietTienDo qi.NamBatDau < qi.NamKetThuc

3.6.2 Ràng buộc toàn vẹn trên nhiều quan hệ

!qj  DanhSachDeTaiChamDiem qi.IdNhom = qj.IdNhom

!qj  DanhSachDeTaiChamDiem qi.IdHoiDong = qj.IdHoiDong Tầm ảnh hưởng:

!qj  DanhSachHoiDong qi.IdHoiDong = qj.IdHoiDong Tầm ảnh hưởng:

!qj  DanhSachNhom qi.MaSV = qj.MaSV Tầm ảnh hưởng:

!qj  DanhSachNhom qi.IdNhom = qj.IdNhom Tầm ảnh hưởng:

!qj  DanhSachNhom qi.IdDiem = qj.IdDiem Tầm ảnh hưởng:

!qj  DeTai qi.IdLoaiHinh = qj.IdLoaiHinh

!qj  DeTai qi.IdGiangVien = qj.IdGiangVien Tầm ảnh hưởng:

!qj  DeTai qi.IdDot = qj.IdDot Tầm ảnh hưởng:

!qj  DotLamDoAn qi.IdGiaoVu = qj.IdGiaoVu Tầm ảnh hưởng:

!qj  GiangVien qi.IdBoMon = qj.IdBoMon

!qj  GiangVien qi.IdNguoiDung = qj.IdNguoiDung Tầm ảnh hưởng:

!qj  GiaoVu qi.IdNguoiDung = qj.IdNguoiDung Tầm ảnh hưởng:

!qj  Menu qi.IdQuyen = qj.IdQuyen Tầm ảnh hưởng:

!qj  NguoiDung qi.IdQuyen = qj.IdQuyen

!qj  NhomThucHien qi.IdDeTai = qj.IdDeTai Tầm ảnh hưởng:

!qj  NhomThucHien qi.IdDot = qj.IdDot Tầm ảnh hưởng:

qj  NhomThucHien qi.IdNguoiDung = qj.IdNhomTruong Tầm ảnh hưởng:

!qj  SinhVien qi.IdLop = qj.IdLop

!qj  GiangVien qi.IdNguoiDung = qj.IdNguoiDung Tầm ảnh hưởng:

!qj  ThaoLuan qi.MaSV = qj.MaSV Tầm ảnh hưởng:

!qj  ThaoLuan qi.IdNhom= qj.IdNhom Tầm ảnh hưởng:

!qj  TruongBoMon qi.IdBoMon = qj.IdBoMon

!qj  TruongBoMon qi.IdNguoiDung = qj.IdNguoiDung Tầm ảnh hưởng:

!qj TienDo qi.IdNhom = qj.IdNhom Tầm ảnh hưởng:

!qj ChiTietTienDo qi.IdChiTiet = qj.IdChiTiet Tầm ảnh hưởng:

3.6.2.2 RBTC liên thuộc tính liên quan hệ

!qj  NhomThucHien qi.SoLuongThanhVien>= qj.SoLuong Tầm ảnh hưởng:

!qi  ThaoLuan qi.ThoiGian >= qj.ThoiGianKetThucDangKy & qi.ThoiGian

Ngày đăng: 30/10/2022, 20:13

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Trung tâm Tin học,2009, Lập trình ứng dụng Web với ASP.NET,Đại học Khoa học Tự nhiên Tp.HCM Sách, tạp chí
Tiêu đề: Lập trình ứng dụng Web với ASP.NET
Tác giả: Trung tâm Tin học
Nhà XB: Đại học Khoa học Tự nhiên Tp.HCM
Năm: 2009
[2] Dương Quang Thiện, 2005, Lập Trình Web Dùng ASP.NET Và C#, Nxb Thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Lập Trình Web Dùng ASP.NET Và C#
Tác giả: Dương Quang Thiện
Nhà XB: Nxb Thành phố Hồ Chí Minh
Năm: 2005
[3] Nguyễn Văn Lân, 2008, Kỹ Thuật Xây Dựng Ứng Dụng ASP.NET, Nxb Lao động Xã hộiTiếng Anh Sách, tạp chí
Tiêu đề: Kỹ Thuật Xây Dựng Ứng Dụng ASP.NET
Tác giả: Nguyễn Văn Lân
Nhà XB: Nxb Lao động Xã hộiTiếng Anh
Năm: 2008
[4] Jeffrey Palermo, Ben Scheirman, Jimmy Bogard, 2010, ASP.NET MVC in Action, United States of America Sách, tạp chí
Tiêu đề: ASP.NET MVC in Action
Tác giả: Jeffrey Palermo, Ben Scheirman, Jimmy Bogard
Năm: 2010
[5] Jon Galloway – Microsoft, 2011, ASP.NET MVC Music Store Tutorial Version 3.0, New York Sách, tạp chí
Tiêu đề: ASP.NET MVC Music Store Tutorial Version 3.0
Tác giả: Jon Galloway
Nhà XB: Microsoft
Năm: 2011
[6] Steven Sanderson, 2009, Pro ASP.NET MVC Framework, New York Website Sách, tạp chí
Tiêu đề: Pro ASP.NET MVC Framework
Tác giả: Steven Sanderson
Nhà XB: New York Website
Năm: 2009

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w