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