Lịch sử giải quyết vấn đề Sau khi khảo sát thì em thấy đề tài này chưa từng có sinh viên nào thực hiện,nên em đã lập ra kế hoạch thực hiện bao gồm các bước: thu thập thông tin, tạo dựng
Trang 1MỤC LỤC
DANH MỤC HÌNH 1
CHƯƠNG 1 TỔNG QUAN 2
I.Bối cảnh 2
II.Lịch sử giải quyết vấn đề 2
III.Phạm vi đề tài 2
IV Phương pháp nghiên cứu 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3
I.Đặc tả đề tài 3
II.Giới thiệu về môi trường lập trình 4
II.1.Môi trường lập trình 4
II.2.Môi trường lập trình Visual Studio 5
III.Giới thiệu về ngôn ngữ lập trình 6
III.1.Ngôn ngữ lập trình C#(C Sharp) 6
III.2.Ứng dụng Windows Form 9
III.3.Ứng dụng Web 10
III.4.Giới thiệu về mô hình DataSet 10
IV Giới thiệu về hệ quản trị cơ sở dữ liệu 12
IV.1.Hệ quản trị cơ sở dữ liệu 12
IV.2.Hệ quản trị cơ sở dữ liệu SQL Server 12
IV.3.SQL Server Management Studio 13
V.DevExpress là gì? 13
VI.Kế hoạch thực hiện 14
CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 15
I.Phân tích hệ thống 15
I.1.Phân tích hệ cơ sở dữ liệu 15
I.2.Mô hình CDM 18
I.3.Mô hình PDM 18
I.4.Mô hình LDM 19
II.Giao diện và chức năng phần mềm 19
II.1.Giao diện màn hình chính 19
II.2.Giao diện khoa 20
II.3.Giao diện ngành 20
II.4.Giao diện nghiệp vụ sinh viên 21
II.5.Giao diện đánh giá sinh viên 22
II.6.Báo cáo thống kê 22
CHƯƠNG 4 KẾT LUẬN 24
TÀI LIỆU THAM KHẢO 25
Trang 2DANH MỤC HÌNH
DANH MỤC HÌNH 1
CHƯƠNG 1 TỔNG QUAN 2
I.Bối cảnh 2
II.Lịch sử giải quyết vấn đề 2
III.Phạm vi đề tài 2
IV Phương pháp nghiên cứu 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3
I.Đặc tả đề tài 3
II.Giới thiệu về môi trường lập trình 4
II.1.Môi trường lập trình 4
II.2.Môi trường lập trình Visual Studio 5
III.Giới thiệu về ngôn ngữ lập trình 6
III.1.Ngôn ngữ lập trình C#(C Sharp) 6
III.2.Ứng dụng Windows Form 9
III.3.Ứng dụng Web 10
III.4.Giới thiệu về mô hình DataSet 10
IV Giới thiệu về hệ quản trị cơ sở dữ liệu 12
IV.1.Hệ quản trị cơ sở dữ liệu 12
IV.2.Hệ quản trị cơ sở dữ liệu SQL Server 12
IV.3.SQL Server Management Studio 13
V.DevExpress là gì? 13
VI.Kế hoạch thực hiện 14
CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 15
I.Phân tích hệ thống 15
I.1.Phân tích hệ cơ sở dữ liệu 15
I.2.Mô hình CDM 18
I.3.Mô hình PDM 18
I.4.Mô hình LDM 19
II.Giao diện và chức năng phần mềm 19
II.1.Giao diện màn hình chính 19
II.2.Giao diện khoa 20
II.3.Giao diện ngành 20
II.4.Giao diện nghiệp vụ sinh viên 21
II.5.Giao diện đánh giá sinh viên 22
II.6.Báo cáo thống kê 22
CHƯƠNG 4 KẾT LUẬN 24
TÀI LIỆU THAM KHẢO 25
Trang 3CHƯƠNG 1 TỔNG QUAN
Một trường đại học muốn quản lý sinh viên của mình thật tốt cần có một phầnmềm quản lý thông tin sinh viên bao gồm sinh viên đã từng học và đang học tạitrường Nhận thấy đề tài gần gũi và thực tế nên em đã quyết định chọn đề tài quản lýthông tin sinh viên để làm đề tài tiểu luận
II Lịch sử giải quyết vấn đề
Sau khi khảo sát thì em thấy đề tài này chưa từng có sinh viên nào thực hiện,nên em đã lập ra kế hoạch thực hiện bao gồm các bước: thu thập thông tin, tạo dựng cơ
sở dữ liệu, tìm hiểu về ngôn ngữ lập trình và tiến hành viết phần mềm
Xếp loại rèn luyện cho sinh viên theo từng học kì, năm học
Quản lý giảng viên thuộc khoa nào
Quản lý khoa gồm những ngành nào, lớp nào
Quản lý chính là quản lý thông tin sinh viên Sinh viên đó thuộc lớp nào, ngành nào,khoa nào
IV Phương pháp nghiên cứu
Để giải quyết được các vấn đề trên, trước hết phải thu thập thông tin, xử lýthông tin, trao đổi và tìm hướng giải quyết tối ưu nhất
Tìm hiểu sâu về các ngôn ngữ lập trình, tìm hiểu về hệ cơ sở dữ liệu và chọnngôn ngữ, cơ sở dữ liệu phù hợp nhất để tiến hành viết chương trình
Trang 4CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
I Đặc tả đề tài
Một trường đại học mỗi năm tiếp nhận số lượng lớn sinh viên đến trường nhậphọc, vì vậy nhà trường cần tin học hóa khâu quản lý thông tin sinh viên Mỗi sinh viênsau khi hoàn thành thủ tục nhập học phải cung cấp đầy đủ các thông tin như: họ tên,ngày sinh, giới tính, số điện thoại, email, địa chỉ thường trú, địa chỉ tạm trú, dân tộc,tôn giáo Để thuận tiện cho việc quản lý nhà trường cung cấp cho mỗi sinh viên mộtthẻ sinh viên trên thẻ có một mã số sinh viên không thay đổi trong suốt quá trình sinhviên học tại trường
Mỗi sinh viên đều học mỗi ngành khác nhau vì vậy cần phải có mã ngành, tênngành để dễ dàng phân biệt Căn cứ vào ngành học của mỗi sinh viên để biết sinh viên
đó thuộc sự quản lý của khoa nào, không tồn tại một ngành học thuộc sự quản lý củahai hoặc nhiều khoa và mỗi khoa đều có mã khoa và tên khoa riêng biệt
Mỗi khoa sẽ có các ngành học khác nhau và mỗi ngành sẽ tương ứng với mộtlớp học, có ngành cũng được nhà trường chia ra nhiều lớp do sinh viên đăng ký họcngành đó với số lượng lớn và sẽ được sắp xếp theo thứ tự bảng chữ cái Mỗi lớp họcsẽ
có duy nhất một mã lớp và tên lớp Trong quá trình học tại trường, sinh viên phải họccác môn học mà khoa sắp xếp cho lớp, thông tin về môn học gồm: mã môn học, tênmôn học, số tín chỉ Và mỗi môn học sẽ do một hoặc nhiều giảng viên phụ trách giảngdạy Mỗi giảng viên đều có những thông tin cá nhân khác như: họ tên, ngày sinh, giớitính, số điện thoại, email, địa chỉ và chứng minh nhân dân Để phân biệt từng giảngviên của từng khoa nhà trường đã cung cấp cho mỗi giảng viên một mã giảng viên
Và vào cuối mỗi học kỳ sinh viên sẽ được đánh giá điểm rèn luyện và sẽ có lịchthi từng môn học trong học kì mà sinh viên đã học để sinh viên có thể kết thúc học kì
đó Mỗi sinh viên sẽ có 2 lần thi, nếu sinh viên đó thi trượt lần 1 thì sẽ được thi lại lần
2, nếu tiếp tục trượt lần 2 thì sinh viên đó bắt buộc phải học lại môn học đó để tích lũy
đủ số tín chỉ trong chương trình đào tạo của trường
Trang 5II Giới thiệu về môi trường lập trình
II.1 Môi trường lập trình
Môi trường lập trình hay còn gọi là môi trường phát triển tích hợp (tiếngAnh: Integrated Development Environment; viết tắt: IDE) còn được gọi là "Môitrường thiết kế hợp nhất" (tiếng Anh: Integrated Design Environment) hay "Môitrường gỡ lỗi hợp nhất" (tiếng Anh: Integrated Debugging Environment) là mộtloại phần mềm máy tính có công dụng giúp đỡ các lập trình viên trong việc phát triểnphần mềm
Các môi trường phát triển hợp nhất thường bao gồm:
• Một trình soạn thảo mã (source code editor): dùng để viết mã
• Trình biên dịch (compiler) và/hoặc trình thông dịch (interpreter)
• Công cụ xây dựng tự động: khi sử dụng sẽ biên dịch (hoặc thông dịch) mãnguồn, thực hiện liên kết (linking), và có thể chạy chương trình một cách tựđộng
• Trình gỡ lỗi (debugger): hỗ trợ dò tìm lỗi
• Ngoài ra, còn có thể bao gồm hệ thống quản lý phiên bản và các công cụ nhằmđơn giản hóa công việc xây dựng giao diện người dùng đồ họa (GUI)
Nhiều môi trường phát triển hợp nhất hiện đại còn tích hợp trình duyệt lớp (classbrowser), trình quản lý đối tượng (object inspector), lược đồ phân cấp lớp (classhierarchy diagram), để sử dụng trong việc phát triển phần mềm theo hướng đốitượng
Phân theo số lượng các ngôn ngữ được hỗ trợ, ta có thể chia các môi trường phát triểnhợp nhất được sử dụng rộng rãi ngày nay thành hai loại:
• Môi trường phát triển hợp nhất một ngôn ngữ: làm việc với một ngôn ngữ cụthể, ví dụ: Microsoft Visual Basic 6.0 IDE
• Môi trường phát triển hợp nhất nhiều ngôn ngữ: có thể làm việc với nhiều ngônngữ lập trình, ví dụ: Eclipse IDE, NetBeans, Microsoft Visual Studio
Trang 6II.2 Môi trường lập trình Visual Studio
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft
Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũngnhư các trang web, các ứng dụng web và các dịch vụ web Visual Studio sử dụng nềntảng phát triển phần mềm của Microsoft như Windows API, Window Forms, WindowsPresentation Foundation, Windows Store và Microsoft Silverlight Nó có thể sản xuất
cả hai ngôn ngữ máy và mã số quản lý
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập
mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình Các ngônngữ tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C++), VB.NET (thông
Trang 7qua Visual Basic.NET), C# (thông qua Visual C#) và F# (như của Visual Studio 2010).
Hỗ trợ cho các ngôn ngữ khác như J++/J#, Python và Ruby thông qua dịch vụ cài đặtriêng rẽ Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS
Microsoft cung cấp phiên bản "Express" (đối với phiên bản Visual Studio 2013 trở
về trước) và "Comunity" (đối với bản Visual Studio 2015) là phiên bản miễn phí củaVisual Studio
III Giới thiệu về ngôn ngữ lập trình
Ngôn ngữ lập trình là một tập con của ngôn ngữ máy tính, được thiết kế và chuẩnhóa để truyền các chỉ thị cho các máy có bộ xử lý(CPU), nói riêng là máy tính Ngônngữ lập trình được dùng để lập trình máy tính, tạo ra các chương trình máy nhằm mụcđích điều khiển máy tính hoặc mô tả các thuật toán để người khác đọc hiểu
III.1 Ngôn ngữ lập trình C#(C Sharp)
Hình 2.2 Ngôn ngữ lập trình C#
Ngôn ngữ lập trình C# (đọc là "C thăng" hay "C sharp" ("xi-sáp")) là một ngôn ngữlập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kếhoạch NET của họ Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưngtheo ECMA là C#, chỉ bao gồm dấu số thường Microsoft phát triển C# dựa trên C++ và Java C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, VisualBasic, Delphi và Java
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng vớicác sản phẩm Turbo Pascal, Delphi, J++, WFC
C # là một ngôn ngữ lập trình hiện đại được phát triển bởi Microsoft và được phê duyệt bởi European Computer Manufacturers Association (ECMA)
và International Standards Organization (ISO)
Trang 8C # được phát triển bởi Anders Hejlsberg và nhóm của ông trong việc phát triển.Net Framework Được thiết kế cho các ngôn ngữ chung cơ sở hạ tầng (Common Language Infrastructure – CLI), trong đó bao gồm các mã (Executable Code) và môi trường thực thi (Runtime Environment) cho phép sử dụng các ngôn ngữ cấp cao khác nhau trên đa nền tảng máy tính và kiến trúc khác nhau.
Ngôn ngữ ra đời cùng với NET: Kết hợp C++ và Java, hướng đối tượng, hướng thành phần mạnh mẽ (robust) và bền vững (durable), mọi thứ trong C# đều Object oriented,
kể cả kiểu dữ liệu cơ bản, chỉ cho phép đơn kế thừa, dùng interface để khắc phục, lớp Object là cha của tất cả các lớp, mọi lớp đều dẫn xuất từ Object
Cho phép chia chương trình thành các thành phần nhỏ độc lập nhau
Mỗi lớp gói gọn trong một file, không cần file header như C/C++
Bổ sung khái niệm namespace để gom nhóm các lớp
Bổ sung khái niệm “property” cho các lớp
Khái niệm delegate & event
C# – mạnh mẽ & bền vững:
Garbage Collector: Tự động thu hồi vùng nhớ không dùng
Kiểm soát và xử lý ngoại lệ exception: Đoạn mã bị lỗi sẽ không được thực thi.Type – safe: Không cho gán các kiểu dữ liệu khác nhau
Versioning: Đảm bảo sự tương thích giữa lớp con và lớp cha
Vai trò C# trong NET Framework
.NET runtime sẽ phổ biến và được cài trong máy client
Việc cài đặt App C# như là tái phân phối các thành phần NET
Nhiều App thương mại sẽ được cài đặt bằng C#
C# tạo cơ hội cho tổ chức xây dựng các App Client/Server n-tier
Kết nối ADO.NET cho phép truy cập nhanh chóng & dễ dàng với SQL Server.Cách tổ chức NET cho phép hạn chế những vấn đề phiên bản
Loại bỏ “DLL Hell”…
ASP.NET viết bằng C#
GUI thông minh
Chạy nhanh hơn (đặc tính của NET)
Mã ASP.NET ko còn là mới hỗn độn
Khả năng bẫy lỗi tốt, hỗ trợ mạnh trong quá trình xây dựng App Web
Trang 9Quá trình dịch CT C#
Mã nguồn C# (tập tin *.cs) được biên dịch qua MSIL
MSIL: tập tin exe hoặc dll
MSIL được CLR thông dịch qua mã máy
Dùng kỹ thuật JIT (just-in-time) để tăng tốc độ
Giao tiếp với người dùng bằng bàn phím
Không có giao diện đồ họa (GUI)
Ứng dụng Console là ứng dụng có giao diện text, chỉ xử lý nhập xuất trên màn hình Console, tương tự với các ứng dụng DOS trước đây
Ứng dụng Console thường đơn giản, ta có thể nhanh chóng tạo chương trình hiển thị kết xuất trên màn hình Do đó, các minh hoạ, ví dụ ngắn gọn ta thường sử dụng dạng chương trình Console để thể hiện
Để tạo ứng dụng Console ta làm như sau
Trong Visual Studio, chọn File → New → Project Visual Studio sẽ trình bày hộp thoạiNew Project
Trong hộp thoại New Project, kích biểu tượng ứng dụng ConSole (Console
Application) Trong ô name, gõ tên chương trình (dự án) Trong ô Location, gõ tên củathư mục mà ta muốn Visual Studio lưu dự án Nhấn OK
Visual Studio sẽ hiển thị cửa sổ Ta nhập code vào trong cửa sổ này
Trang 10Ví dụ: Chương trình Console sau đây sử dụng hai phương thức Console.ReadLine và Console.Writeline để nhập và xuất số nguyên a ra màn hình:
III.2 Ứng dụng Windows Form
Giao tiếp với người dùng bằng bàn phím và mouse
Có giao diện đồ họa và xử lý sự kiện
Là ứng dụng được hiển thị với giao diện cửa sổ đồ họa Chúng ta chỉ cần kéo và thả các điều khiển (control) lên cửa sổ Form Visual Studio sẽ sinh mã trong chương trình
để tạo ra, hiển thị các thành phần trên cửa sổ
Để tạo ứng dụng Window ta làm như sau:
File → New → Project Visual Studio sẽ trình bày hộp thoại New Project
Hình 2.4 Minh họa tạo một dự án bằng C#
Trong hộp thoại New Project, kích biểu tượng ứng dụng Windows (Windows
Application) Trong ô Name, gõ tên mô tả chương trình mà ta dự định tạo (tên dự án) Tiếp theo, trong ô Location, gõ tên của thư mục mà ta muốn Visual Studio lưu dự án
Trang 11Nhấn OK Visual Studio sẽ hiển thị cửa sổ thiết kế Ta có thể kéo và thả các thành phần giao diện (control) lên Form.
Để hiển thị cửa sổ Toolbox chứa những điều khiển mà ta có thể kéo và thả lên Form, tachọn View → Toolbox từ menu
Biên dịch và chạy chương trình: Để biên dịch chương trình, ta chọn Build → Build Solution Để chạy chương trình, ta chọn Debug → Start Nếu ta có thay đổi nội dung của Form, như đặt thêm điều khiển khác lên Form chẳng hạn, ta phải yêu cầu Visual Studio biên dịch lại
III.3 Ứng dụng Web
Kết hợp với ASP NET, C# đóng vài trò xử lý bên dưới (underlying code)
Có giao diện đồ họa và xử lý sự kiện
Môi trường NET cung cấp công nghệ ASP.NET giúp xây dựng những trang Web động Để tạo ra một trang ASP.NET, người lập trình sử dụng ngôn ngữ biên dịch như C# hoặc C# để viết mã Để đơn giản hóa quá trình xây dựng giao diện người dùng cho trang Web, NET giới thiệu công nghệ Webform Cách thức tạo ra các Web control tương tự như khi ta xây dựng ứng dụng trên Window Form
Để tạo ứng dụng Web ta làm như sau
File → New → Project → Visual Basic Projects → ASP.NET Web Application
Hình 2.5 Minh họa tạo một dự án web bằng C#
III.4 Giới thiệu về mô hình DataSet
DataSet là một đối tượng có thể chứa nhiều DataTable cùng với mối liên hệ giữachúng (relationship) và kể các ràng buộc (constraint) được lưu hoàn toàn trong bộ nhớ
Trang 12để làm việc offline Qua bài viết này, bạn có thể hiểu cấu trúc của DataSet, DataTablecũng như nạp dữ liệu, tạo relation, constraint và thao tác dữ liệu trên các đối tượng dữliệu này.
• Cấu trúc của DataSet và DataTable
Namespace: System.Data
Một DataSet tương tự như một tập tin database vật lý hoàn chỉnh nhưng được lưutrong bộ nhớ DataSet bao gồm các DataTable, DataTable bao gồm các DataColumn,DataRow, các constraint
• Nạp dữ liệu vào DataTable và DataSet
Để thực hiện các ví dụ với DataSet và DataTable, chúng ta cần chuẩn bị một databaseđơn giản trên SQL Server ít nhất là hai bảng Để thực hiện được bước này, yêu cầuphải có kiến thức về kết nối database trong ADO.Net
Hình 2.6 Minh họa về DataSet
Trang 13IV. Giới thiệu về hệ quản trị cơ sở dữ liệu
IV.1 Hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu(HQTCSDL) (tiếng Anh: Database Management
System - DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ
liệu Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa vàtìm kiếm thông tin trong một cơ sở dữ liệu (CSDL) Có rất nhiều loại hệ quản trịCSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệquản trị phức tạp chạy trên một hoặc nhiều siêu máy tính
Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc điểm chung là sử
dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi là Structured Query Language (SQL) Các hệ quản trị CSDL phổ biến được nhiều người biết đến
là MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix, v.v Phần lớn các hệ quảntrị CSDL kể trên hoạt động tốt trên nhiều hệ điều hành khác nhaunhư Linux, Unix và MacOS ngoại trừ SQL Server của Microsoft chỉ chạy trên hệ điềuhành Windows
- Ưu điểm của HQTCSDL:
• Quản lý được dữ liệu dư thừa
• Đảm báo tính nhất quán cho dữ liệu
• Tạo khả năng chia sẻ dữ liệu nhiều hơn
• Cải tiến tính toàn vẹn cho dữ liệu
- Nhược điểm:
• HQTCSDL tốt thì khá phức tạp
• HQTCSDL tốt thường rất lớn chiếm nhiều dung lượng bộ nhớ
• Giá cả khác nhau tùy theo môi trường và chức năng
• HQTCSDL được viết tổng quát cho nhiều người dùng thì thường chậm
IV.2 Hệ quản trị cơ sở dữ liệu SQL Server
SQL (Structured Query Language) hay ngôn ngữ truy vấn mang tính cấu trúc, là mộtloại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữliệu quan hệ Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để phục vụcác hệ quản trị cơ sở dữ liệu đối tượng-quan hệ Nó là một tiêu chuẩn ANSI/ISO