PHÂN TÍCH YÊU CẦU VÀ CƠ SỞ DỮ LIỆU
PHÂN TÍCH ĐỀ TÀI
1.1.1 Tính cấp thiết của đề tài
Sự phát triển mạnh mẽ của Công nghệ thông tin và sự xâm nhập nhanh chóng của Tin học vào mọi lĩnh vực đời sống xã hội đã khiến việc sử dụng máy tính trong quản lý trở thành nhu cầu cấp bách Việc này không chỉ nâng cao chất lượng mà còn cải thiện hiệu quả trong công tác quản lý.
Do đó việc Tin học hóa các hoạt động trong quản lý sinh viên vào phần mềm
Quản lý sinh viên đang trở thành một chủ đề ngày càng quan trọng Việc ứng dụng công nghệ thông tin trong quản lý không chỉ giúp giảm thiểu lao động thủ công mà còn nâng cao hiệu quả công việc và tiết kiệm thời gian đáng kể.
1.1.2 Mục đích và yêu cầu
Với số lượng sinh viên, báo cáo và giáo viên lớn, việc quản lý thủ công qua giấy tờ và sổ sách trở nên khó khăn Do đó, phần mềm này được phát triển nhằm nâng cao hiệu quả quản lý, cải thiện công nghệ thông tin và tiết kiệm thời gian trong việc quản lý sinh viên và đề tài so với phương pháp truyền thống.
Phần mềm "Quản lý sinh viên – đề tài" giúp quản lý toàn bộ thông tin của sinh viên, bao gồm báo cáo thực hiện, giáo viên hướng dẫn và đề tài mà sinh viên đã chọn Ngoài ra, phần mềm còn hỗ trợ việc chọn đề tài cho sinh viên chưa đăng ký, tạo điều kiện thuận lợi cho quá trình học tập và nghiên cứu.
Bài toán phân tích thiết kế hệ thống thông tin đặt ra những câu hỏi quan trọng về lý do cần quản lý, nội dung cần quản lý và phương pháp quản lý hiệu quả Việc quản lý hợp lý không chỉ giúp công việc trở nên hiệu quả hơn mà còn tiết kiệm thời gian cho con người.
1.1.3 Phạm vi áp dụng đề tài Áp dụng cho môi trường Đại học, cụ thể là áp dụng cho phạm vi toàn bộ khoa Công nghệ thông tin trường Đại học Vinh
1.1.4 Khảo sát hệ thống thực tế Đối tượng được quản lý bao gồm:
Mối quan hệ chính được quản lý bao gồm thông tin sinh viên, báo cáo thực hiện của sinh viên, giáo viên hướng dẫn, cùng với việc chọn đề tài cho sinh viên đã đăng ký và hỗ trợ sinh viên chưa đăng ký trong việc chọn đề tài.
CƠ SỞ DỮ LIỆU QUAN HỆ
1.2.1 Cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu
Cơ sở dữ liệu là hệ thống thông tin có cấu trúc, được lưu trữ trên thiết bị nhằm phục vụ nhu cầu khai thác thông tin đồng thời cho nhiều người dùng và ứng dụng khác nhau Nó cung cấp dữ liệu cho hệ thống thông tin, với cấu trúc được thiết lập theo quy định để giảm thiểu sự dư thừa và đảm bảo tính toàn vẹn của dữ liệu.
Hệ quản trị cơ sở dữ liệu là một chương trình quản lý có khả năng tổ chức, lưu trữ và tìm kiếm thông tin, đồng thời thực hiện các thao tác thêm, bớt và thay đổi dữ liệu trong cơ sở dữ liệu.
1.2.2 Chuẩn hóa cơ sở dữ liệu
Một lược đồ được coi là đạt chuẩn 1 (First Normal Form - 1NF) khi tên miền của mỗi thuộc tính là kiểu nguyên tố, không phải là tập hợp hay kiểu có cấu trúc phức tạp.
Lược đồ quan hệ ER được xem là chuẩn thứ hai (2NF) khi nó đáp ứng yêu cầu của chuẩn thứ nhất và tất cả các thuộc tính không khóa đều phụ thuộc hoàn toàn vào khóa.
Lược đồ quan hệ được gọi là thuộc dạng chuẩn 3 (3NF) nếu nó thuộc dạng chuẩn
2 và mọi thuộc tính không khóa đều không phụ thuộc hàm bắc cầu vào khóa chính
1.2.3 Mô hình liên kết thực thể E-R Định nghĩa: Mô hình liên kết thực thể E-R là một mô tả logic chi tiết dữ liệu của một tổ chức hay một lĩnh vực nghiệp vụ
Mô hình E-R là công cụ trực quan mô tả các thực thể, thuộc tính và mối quan hệ trong môi trường nghiệp vụ Nó giúp thể hiện rõ ràng thế giới thực thông qua các khái niệm và ký hiệu, từ đó hỗ trợ việc phân tích và thiết kế cơ sở dữ liệu hiệu quả.
MÔ TẢ BÀI TOÁN VÀ GIẢI PHÁP
Phân tích hệ thống là bước quan trọng trong việc xây dựng và triển khai hệ thống quản lý trên máy tính Hiệu quả của hệ thống phụ thuộc vào kết quả phân tích ban đầu; nếu thiết kế hệ thống tốt, phần mềm quản lý sẽ được triển khai đúng mục đích và đối tượng, từ đó nâng cao hiệu quả sử dụng Hơn nữa, phần mềm sẽ trở nên rõ ràng, dễ hiểu và dễ bảo trì, giúp giảm thiểu chi phí phát sinh.
Sau khi thực hiện khảo sát thực tế, mô hình mới đã được phát triển với các chức năng xử lý được chia thành những chức năng nhỏ hơn.
1.3.2 Cơ cấu sinh viên đề tài
Sơ đồ 1.3: Sơ đồ quản lý sinh viên đề tài
1.3.3 Môi trường cài đặt Để thực hiện được yêu cầu phải cần có một ngôn ngữ lập trình có thể kết nối đến cơ sở dữ liệu và một hệ quản trị cơ sở dữ liệu
- Hệ quản trị cơ sở dữ liệu: Microsoft SQL Sever 2008
- Ngôn ngữ lập trình C#: Visual Studio 2010
1.3.3.1 Giới thiệu ngôn ngữ lập trình C#
* C# là ngôn ngữ đơn giản
+ C# loại bỏ được một vài sự phức tạp và rối rắm của các ngôn ngữ C++ và Java
CHỌN ĐỀ TÀI ĐỀ TÀI GIÁO
+ C# khá giống C / C++ về diện mạo, cú pháp, biểu thức, toán tử
+ Các chức năng của C# được lấy trực tiếp từ ngôn ngữ C / C++ nhưng được cải tiến để làm cho ngôn ngữ đơn giản hơn
* C# là ngôn ngữ hiện đại
C# có được những đặc tính của ngôn ngữ hiện đại như:
+ Thu gom bộ nhớ tự động
+ Có những kiểu dữ liệu mở rộng
* C# là ngôn ngữ hướng đối tượng
C# hỗ trợ tất cả những đặc tính của ngôn ngữ hướng đối tượng là:
* C# là ngôn ngữ mạnh mẽ và mềm dẻo
Ngôn ngữ C# mang đến sự tự do sáng tạo cho lập trình viên, cho phép họ vượt qua mọi giới hạn do chính mình đặt ra Không có ràng buộc nào từ ngôn ngữ này, giúp người dùng thoải mái thực hiện các ý tưởng và dự án của mình.
C# là ngôn ngữ lập trình đa năng, được sử dụng cho nhiều loại dự án khác nhau, bao gồm phát triển ứng dụng xử lý văn bản, ứng dụng đồ họa, xử lý bảng tính, và thậm chí là xây dựng trình biên dịch cho các ngôn ngữ lập trình khác.
C# là một ngôn ngữ lập trình mạnh mẽ với một tập hợp từ khóa hạn chế, chủ yếu dùng để mô tả thông tin Tuy nhiên, điều này không làm giảm khả năng của C#, vì nó có thể được áp dụng cho nhiều loại nhiệm vụ khác nhau.
* C# là ngôn ngữ hướng đối tượng
+ Mã nguồn của C# được viết trong Class (lớp) Những Class này chứa các Method (phương thức) thành viên của nó
+ Class (lớp) và các Method (phương thức) thành viên của nó có thể được sử dụng lại trong những ứng dụng hay chương trình khác
* C# đã và đang trở nên phổ biến
C# mang đến sức mạnh của C++ cùng với sự dễ dàng của ngôn ngữ Visual Basic
1.3.3.2 Giới thiệu về Microsoft SQL Sever 2008
Microsoft SQL Server is a relational database management system (RDBMS) developed by Microsoft It operates on a client-server model, enabling multiple users to access data simultaneously while managing valid access and user permissions across the network The primary query language for Microsoft SQL Server is Transact-SQL, an extension of the standard SQL defined by the International Organization for Standardization (ISO) and the American National Standards Institute (ANSI).
Những điểm mới và tiến bộ của Microsoft SQL Sever 2008 là:
The new feature for classifying jargon offers significant benefits across four main areas: Enterprise Data Platform, Dynamic Development, Beyond Relational Database, and Pervasive Insight.
SQL Server 2008 đóng vai trò quan trọng trong việc nâng cao công nghệ NET 3.0 thông qua LINQ (Language Integrated Query), giúp cải thiện khả năng truy vấn dữ liệu Ngoài ra, nó còn cung cấp hỗ trợ tốt hơn cho các thực thể dữ liệu doanh nghiệp và các tùy chọn đồng bộ hóa dữ liệu hiệu quả.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
THIẾT KẾ CƠ SỞ DỮ LIỆU
2.2.1 Mô hình thực thể liên kết (ER)
Hình 2.2.1: Mô hình thực thể liên kết
2.2.2.1 Thuộc tính các đối tượng a tblDangnhap
Bảng Dangnhap gồm có tên đăng nhập và mật khẩu
Tên đăng nhập là khóa chính và cố định là admin
Mật khẩu cấp sẵn là admin
Người dùng muốn đổi mật khẩu thì thực hiện chức năng đổi mật khẩu trong Form TrangChu tblDangnhap
Bảng 2.2.2.1a: Thuộc tính đối tượng tblDangnhap b tblSinhvien
Mỗi sinh viên có: mã sinh viên, họ sinh viên, tên sinh viên, tuổi, giới tính, địa chỉ, mã báo cáo, mã giáo viên
Sinh viên khác nhau được xác định thông qua mã sinh viên
Mã sinh viên là khóa chính và là trường tự động tblSinhvien kết nối với bảng tblSinhvienDetai qua Masv tblSinhvien.Masv = tblSinhvienDetai.Masv tblSinhvien
Bảng 2.2.2.1b: Thuộc tính đối tượng tblSinhvien c tblBaocao
Mỗi báo cáo có: mã báo cáo, tên báo cáo, ngày bắt đầu, ngày kết thúc, ngày bảo vệ
Các báo cáo khác nhau được xác định thông qua mã báo cáo
Mã báo cáo là khóa chính và là trường tự động tblBaocao kết nối với tblSinhvien thông qua Mabaocao tblBaocao.Mabaocao = tblSinhvien.Mabaocao tblBaocao
Bảng 2.2.2.1c: Thuộc tính đối tượng tblBaocao d tblGiaovien
Mỗi giáo viên có: mã giáo viên, tên giáo viên, mã tổ
Các giáo viên khác nhau được xác định thông qua mã giáo viên
Mã giáo viên là khóa chính và là trường tự động tblGiaovien kết nối với bảng tblSinhvien thông qua Magv tblGiaovien.Magv = tblSinhvien.Magv tblGiaovien
Bảng 2.2.2.1d: Thuộc tính đối tượng tblGiaovien e tblTo
Mỗi tổ có: mã tổ, tên tổ
Các tổ khác nhau được xác định thông qua mã tổ
Mã tổ là khóa chính và là trường tự động tblTo kết nối với tblGiaovien thông qua Mato tblTo.Mato = tblGiaovien.Mato tblTo
Bảng 2.2.2.1e: Thuộc tính đối tượng tblTo f tblDetai
Mỗi đề tài có: mã đề tài, tên đề tài, diễn giải
Các đề tài khác nhau được xác định thông qua mã đề tài
Mã đề tài là khóa chính và là trường tự động tblDetai kết nối với tblSinhvienDetai thông qua Madetai tblDetai.Madetai = tblSinhvienDetai.Madetai tblDetai
Bảng 2.2.2.1f: Thuộc tính đối tượng tblDetai g tblSinhvienDetai
Mỗi sinh viên đề tài có: số thứ tự, mã sinh viên, mã đề tài
Các sinh viên đề tài khác nhau được xác định thông qua số thứ tự
Số thứ tự là khóa chính và là trường tự động tblSinhvienDetai
Bảng 2.2.2.1g: Thuộc tính đối tượng tblSinhvienDetai
Hình 2.2.2.2: Sơ đồ mô hình quan hệ
2.2.2.3 Các bảng dữ liệu vật lý a tblDangnhap
Tên trường Kiểu Cỡ Khuôn dạng Ràng buộc
Tendangnhap Nvarchar 50 Chữ và số Khóa chính
Matkhau Nvarchar 50 Chữ và số
Bảng 2.2.2.3a: Bảng dữ liệu vật lý tblDangnhap
Hình 2.2.2.3a: Dữ Liệu mẫu tblDangnhap b tblStudent
Tên trường Kiểu Cỡ Khuôn dạng Ràng buộc
Masv Int Số Khóa chính
Hosv Nvarchar 50 Chữ đầu viết hoa
Tensv Nvarchar 50 Chữ đầu viết hoa
Gioitinh Bit True: Nam, False: Nữ
Diachi Nvarchar 50 Chữ đầu viết hoa
Bảng 2.2.2.3b: Bảng dữ liệu vật lý tblStudent
Hình 2.2.2.3b: Dữ liệu mẫu tblSinhvien c tblBaocao
Tên trường Kiểu Cỡ Khuôn dạng Ràng buộc
Mabaocao Int Số Khóa chính
Tenbaocao Nvarchar 50 Chữ đầu viết hoa
Bảng 2.2.2.3c: Bảng dữ liệu vật lý tblClass
Hình 2.2.2.3c: Dữ liệu mẫu tblBaocao d tblGiaovien
Tên trường Kiểu Cỡ Khuông dạng Ràng buộc
Magv Int Số Khóa chính
Tengv Nvarchar 50 Chữ đầu viết hoa
Bảng 2.2.2.3d: Bảng dữ liệu vật lý tblGiaovien
Hình 2.2.2.3d: Dữ liệu mẫu tblGiaovien e tblTo
Tên trường Kiểu Cỡ Khuông dạng Ràng buộc
Mato Int Số Khóa chính
Tento Nvarchar 50 Chữ đầu viết hoa
Bảng 2.2.2.3e: Bảng dữ liệu vật lý tblTo
Hình 2.2.2.3e: Dữ liệu mẫu tblTo f tblDetai
Tên trường Kiểu Cỡ Khuôn dạng Ràng buộc
Madetai Int Số Khóa chính
Tendetai Nvarchar 50 Chữ đầu viết hoa
Diengiai Nvarchar 4000 Chữ đầu viết hoa
Bảng 2.2.2.3f: Bảng dữ liệu vật lý tblDetai
Hình 2.2.2.3f: Dữ liệu mẫu tblDetai g tblSinhvienDetai
Tên trường Kiểu Cỡ Khuôn dạng Ràng buộc
Stt Int Số Khóa chính
Bảng 2.2.2.3g: Bảng dữ liệu vật lý tblSinhvienDetai
Hình 2.2.2.3g: Dữ liệu mẫu tblSinhvienDetai
THIẾT KẾ GIAO DIỆN
GIAO DIỆN ĐĂNG NHẬP
Giao diện đăng nhập cho phép người dùng truy cập hệ thống bằng tên đăng nhập và mật khẩu Nếu nhập sai mật khẩu, hệ thống sẽ thông báo lỗi và từ chối đăng nhập Người dùng có thể chọn nút thoát nếu không muốn tiếp tục đăng nhập, và có tùy chọn hiển thị mật khẩu bằng cách tích vào ô tương ứng.
GIAO DIỆN TRANG CHỦ
Giao diện trang chủ của chương trình bao gồm các nút chức năng như Sinh Viên, Báo Cáo, Giáo Viên, Đề Tài, Chọn Đề Tài và Thoát, cho phép người dùng truy cập vào các biểu mẫu tương ứng MenuStrip cung cấp các danh mục cho sinh viên, báo cáo, giáo viên, đề tài, cùng với tùy chọn đổi mật khẩu và thoát khỏi chương trình Ngoài ra, giao diện còn có hai nhãn Time và Date để hiển thị thời gian và ngày tháng hiện tại của hệ thống.
GIAO DIỆN ĐỔI MẬT KHẨU
Sau khi đăng nhập thành công vào hệ thống, người dùng có thể thay đổi mật khẩu sang một mật khẩu dễ nhớ để quản lý sinh viên và đề tài hiệu quả hơn, đồng thời tránh việc người khác biết mật khẩu ban đầu Tên đăng nhập sẽ luôn là "admin" Nếu nhập sai mật khẩu cũ hoặc mới, hoặc không nhập lại mật khẩu, hệ thống sẽ thông báo lỗi Khi mật khẩu cũ và mật khẩu mới khớp với nhau, người dùng sẽ nhận thông báo đổi mật khẩu thành công Để thoát khỏi chương trình, người dùng chỉ cần nhấn nút thoát khi không còn thao tác với Form.
GIAO DIỆN QUẢN LÝ SINH VIÊN
Trong giao diện quản lý sinh viên, DataGridView hiển thị thông tin sinh viên được liên kết với các ô TextBox và ComboBox Để thêm sinh viên mới, người dùng nhấn nút Thêm, sau đó điền đầy đủ thông tin cần thiết trước khi lưu vào hệ thống Khi cần sửa thông tin, người dùng chỉ cần chỉnh sửa dữ liệu trong các ô tương ứng và nhấn nút Sửa để cập nhật vào cơ sở dữ liệu Nút Xóa cho phép xóa toàn bộ thông tin của một sinh viên khỏi hệ thống Các chức năng Sửa và Xóa được thực hiện trực tiếp trên Form quản lý sinh viên, trong khi nút Thêm hoạt động trên Form thêm sinh viên.
GIAO DIỆN QUẢN LÝ BÁO CÁO
Trong giao diện quản lý báo cáo, DataGridView hiển thị thông tin báo cáo được liên kết với các ô TextBox và DateTimePicker tương ứng Để thêm báo cáo mới, người dùng nhấn vào nút "Thêm" để mở Form thêm báo cáo và nhập đầy đủ thông tin trước khi lưu và cập nhật vào hệ thống Khi cần sửa dữ liệu, người dùng chỉ cần chỉnh sửa thông tin trong các ô TextBox và DateTimePicker, sau đó nhấn nút "Sửa" để cập nhật vào cơ sở dữ liệu Để xóa báo cáo, người dùng chọn nút "Xóa", hệ thống sẽ xóa toàn bộ thông tin của báo cáo đã chọn Các nút "Sửa" và "Xóa" được thực hiện trực tiếp trên Form quản lý báo cáo, trong khi nút "Thêm" được sử dụng trên Form thêm báo cáo.
GIAO DIỆN QUẢN LÝ GIÁO VIÊN
Trong giao diện quản lý giáo viên, DataGridView hiển thị thông tin giáo viên được liên kết với các ô TextBox và ComboBox Để thêm mới giáo viên, người dùng nhấn nút "Thêm" để mở Form thêm giáo viên, nhập đầy đủ thông tin theo yêu cầu trước khi lưu và cập nhật vào hệ thống Khi cần sửa thông tin, người dùng có thể chỉnh sửa dữ liệu trong các ô TextBox và ComboBox, sau đó nhấn nút "Sửa" để cập nhật vào cơ sở dữ liệu Đối với việc xóa, nhấn nút "Xóa" sẽ xóa toàn bộ thông tin về giáo viên đã chọn Các chức năng sửa và xóa được thực hiện trực tiếp trên Form quản lý giáo viên, trong khi nút "Thêm" được sử dụng trên Form thêm giáo viên.
GIAO DIỆN ĐỀ TÀI
Trong giao diện quản lý đề tài, có một DataGridView hiển thị thông tin về giáo viên, được liên kết với các ô TextBox tương ứng Để thêm mới một đề tài, người dùng chỉ cần chọn vào ô tương ứng.
Để thêm đề tài, người dùng cần nhấn nút "Thêm", sau đó điền đầy đủ thông tin giáo viên theo yêu cầu để có thể lưu và cập nhật vào hệ thống Khi muốn sửa dữ liệu, người dùng chỉ cần chọn nút "Sửa", chỉnh sửa thông tin trong các ô TextBox tương ứng và nhấn "Sửa" để cập nhật vào cơ sở dữ liệu Đối với việc xóa, chọn nút "Xóa" sẽ xóa toàn bộ thông tin về đề tài đã chọn Các chức năng sửa và xóa được thực hiện trực tiếp trên Form quản lý đề tài, trong khi nút "Thêm" được sử dụng trên Form thêm đề tài.
GIAO DIỆN CHỌN ĐỀ TÀI
Trong giao diện chọn đề tài, có một DataGridView hiển thị thông tin về sinh viên, báo cáo, giáo viên hướng dẫn và đề tài mà sinh viên đã chọn Để chọn đề tài cho sinh viên, người dùng chỉ cần chọn đề tài và nhấn vào nút "Chọn" Để in bảng thống kê về sinh viên và đề tài đã chọn, người dùng có thể nhấn nút "Xuất Excel" để xuất dữ liệu ra file Excel.
Dữ liệu sau khi xuất ra exel: