Tải bản đầy đủ (.doc) (59 trang)

Hệ thống quản lý đăng ký học phần trực tuyến cho trường đại học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.02 MB, 59 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ
KHOA CÔNG NGHỆ THÔNG TIN
  
LUẬN VĂN TỐT NGHIỆP
Đề tài:
QUẢN LÝ HỆ THỐNG ĐĂNG KÝ
HỌC PHẦN TRỰC TUYẾN CHO
TRƯỜNG ĐẠI HỌC
GVHD: VŨ THANH HIỀN
SVTH: NGUYỄN TRỌNG TUẤN
MSSV: 10102205
TP. Hồ Chí Minh
Năm 2006
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

















GIÁO VIÊN HƯỚNG DẪN
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

















GIÁO VIÊN PHẢN BIỆN
LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến quý Thầy Cô trường Đai
Học Dân Lập Kỹ Thuật Công Nghệ nói chung và khoa Công Nghệ
Thông Tin nói riêng, quý thầy cô đã truyền đạt cho chúng em nhiều
kiến thức qúy báu trong suốt bốn năm học vừa qua.
Đặc biệt, em xin gửi lời cảm ơn đến thầy Vũ Thanh Hiền - thầy
hướng dẫn luận văn của em - thầy đã tận tình hướng dẫn, chỉ bảo và
giúp đỡ em từ lúc bắt đầu cho đến khi hoàn thành luận văn tốt nghiệp
này.
Mục lục

3 CHƯƠNG 1: GIỚI THIỆU CHUNG 1
1.1 Giới thiệu chung 1
1.2 Giới thiệu đề tài 2
1.3 Các công cụ sử dụng 2
CHƯƠNG 2: CÁC KIẾN THỨC LIÊN QUAN 3
2.1 Giới thiệu .NET Framework 3
2.2 Ngôn ngữ lập trình và bộ .NET Framework 3
2.3 Kiến trúc ứng dụng .NET 5
2.4 Thực thi và biên dịch ứng dụng .NET 5
2.5 Tìm hiểu ASP.NET 6
2.5.1 Giới thiệu ASP.NET 6
2.5.2 Các điểm thuận lợi của ASP.NET 7
2.5.3 Tương tác Client - Server 7
2.5.4 Xử lý trên Server 8
2.5.5 Biên dịch và phân phối đến trang ASP.NET 8
2.6 Các mô hình truy cập dữ liệu 9
2.6.1 Giới thiệu 9
2.6.2 Định nghĩa cấu trúc n-tier 9
2.6.3 Bảng so sánh giữa các mô hình truy cập dữ liệu 10
4 CHƯƠNG 3: NHIỆM VỤ 13
4.1 Phân tích nhiệm vụ 13
4.2 Giải thích phương án lựa chọn 13
CHƯƠNG 4: PHÂN TÍCH - THIẾT KẾ - HIỆN THỰC - KẾT QUẢ 15
4.1 Sơ đồ use case 15
4.2 Phân tích các use case 15
4.2.1 Nghiệp vụ: “Đăng nhập” 15
4.2.2 Nghiệp vụ: "Quản lý lớp học phần" 16
4.2.3 Nghiệp vụ “Đăng ký lớp học phần” 18
4.2.4 Nghiệp vụ “Xem điểm” 20
4.2.5 Nghiệp vụ “Xem chương trình đào tạo” 21

4.2.6 Nghiệp vụ “Quản lý chương trình đào tạo” 21
4.2.7 Nghiệp vụ “Quản lý thông báo” 23
4.3 Phân tích sơ đồ lớp 24
4.3.1 Nghiệp vụ: Quản lý chương trình đào tạo 24
4.3.2 Nghiệp vụ “Đăng ký lớp học phần” 25
4.3.3 Nghiệp vụ “Quản lý lớp học phần” 27
4.4 Thiết kế các bảng dữ liệu 29
4.5 Mô hình quan hệ 34
4.5.1 Chương trình đào tạo 34
4.5.2 Các lớp học phần 34
4.5.3 Đăng ký học phần 35
4.5.4 Điểm 35
4.5.5 Đăng nhập 35
4.6 Hiện thực – Kết quả 36
4.6.1 Tổ chức lập trình 36
4.6.1.1 Client Logic 36
4.6.1.2 Business Logic 50
4.6.1.3 Data Storage 50
CHƯƠNG 5: KẾT LUẬN - HƯỚNG PHÁT TRIỂN 51
5.1 Các mục tiêu đã thực hiện trong đề tài 51
5.2 Các yêu cầu chưa đạt được 51
5.3 Hướng phát triển 52
Phụ lục: Tài liệu tham khảo 53
Hình 1: Trang Home 37
Hình 2: Trang ListNews 38
Hình 3: Trang ThongBao 38
Hình 4: Trang Login 39
Hình 5: Trang NewDetail 39
Hình 6: Trang InitRegister 40
Hình 7: Trang RegisterCourse 40

Hình 8: Trang ListClassRegister 41
Hình 9: Trang ConditionSubject 41
Hình 10: Trang ViewMark 42
Hình 11: Trang GeneralCurriculumnDetails 43
Hình 12: Trang InitCourse 43
Hình 13: Trang ListCourse 44
Hình 14: Trang OpenCourse 45
Hình 15: Trang CourseDetail 46
Hình 16: ListStudentRegister 46
Hình 17: Trang GeneralCurriculumnView 47
Hình 18: Trang GeneralCurriculumnEdit 47
Hình 19: Trang GeneralCurriculumnAddSubject 48
Hình 20: Trang SpecialityCurriculumnView 48
Hình 21: Trang SpecialityCurriculumnEdit 49
Hình 22: Trang SpecialityCurriculumnAddSubject 49
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
3 CHƯƠNG 1: GIỚI THIỆU CHUNG
1.1 Giới thiệu chung
Ngày nay, cùng với sự phát triển của hệ thống máy tính thì hệ thống
mạng Internet đang phát triển như vũ bão. Con người có thể liên lạc, trao đổi
thông tin với nhau qua hệ thống này. Điều này khiến cho con người có thể dễ
dàng đến gần với Internet hơn, trong đó có một bộ phận không nhỏ luôn tiếp
xúc với Internet là sinh viên. Sinh viên thông qua trang web của nhà trường chỉ
để nắm bắt được các hoạt động trong nhà trường, như là: xem tin tức, thời sự,
xem chương trình giảng dạy, xem thời khoá biểu, xem điểm, v.v mà chưa có
một chức năng nào trên web để hỗ trợ đăng ký học phần.
Công việc đăng ký học phần là một công việc thường xuyên đối với sinh
viên và với cán bộ giáo vụ của khoa của một trường đại học. Tuy nhiên đây là
một công việc rất phức tạp và tốn rất nhiều thời gian và công sức của cán bộ
giáo vụ mỗi khi vào đầu một học kỳ. Để mở được một lớp học phần trong học

kỳ, cán bộ giáo vụ phải trải qua rất nhiều giai đoạn, như là: xem chương trình
đào tạo, viết thư mời cho giảng viên để mời tham gia giảng dạy học phần, phải
thống kê các số lượng sinh viên của các khoá học để từ đó có thể mở được các
lớp học phần với số lượng sinh viên thích hợp và số lượng lớp cần mở, thông
báo các lớp phần dự định mở trong học kỳ, phát phiếu đăng ký học phần,nhận
phiếu đăng ký học phần của sinh viên,kiểm tra việc đăng ký của sinh viên có
hợp lệ hay không,thống kê tình hình đăng ký v.v… Còn đối với sinh viên thì
việc đăng ký học phần cũng gặp rất nhiều khó khăn, như là phải tìm hiểu kỹ về
các lớp dự định mở để có thể đăng ký, không biết lớp đó đã đủ số lượng đăng
ký chưa, đăng ký lớp đó có hợp lệ hay không. Nói chung là tốn rất nhiều thời
gian cho cả cán bộ giáo vụ và sinh viên.
Xuất phát từ nhu cầu đó, việc phát triển 1 hệ thống hỗ trợ đăng ký học
phần trực tuyến là rất cần thiết. Hệ thống phải có khả năng hỗ trợ cho cán bộ
giáo vụ của khoa trong việc quản lý đăng ký học phần, làm đơn giản hoá việc
mở lớp học phần, thống kê tình hình đăng ký của sinh viên. Mặt khác sinh viên
SVTH: Nguyễn Trọng Tuấn Trang 1
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
có thể thông qua hệ thống này để đăng ký học phần một cách nhanh chóng và
hiệu quả, tránh được những đăng ký không hợp lệ hay xảy ra.
1.2 Giới thiệu đề tài
- Quản lý hệ thống đăng ký học phần trực tuyến ra đời từ nhu cầu thực tế
của công việc đăng ký học phần, đồng thời ứng dụng công nghệ mới với
mục đích làm cho chương trình có thể thực thi nhanh, ổn định,giao diện
thân thiện và dễ sử dụng và đáp ứng được nhu cầu quản lý đăng ký học
phần.
- Hệ thống đăng ký học phần trực tuyến hỗ trợ đầy đủ các chức năng
chính cho công việc đăng ký học phần, như là:
• Quản lý chương trình đào tạo, bao gồm 2 giai đoạn: đại cương và
chuyên ngành, cho phép cán bộ giáo vụ thêm, xoá, cập nhật học
phần.

• Quản lý các lớp học phần: cho phép cán bộ giáo vụ mở lớp học phần
thích hợp dựa vào chương trình đào tạo, xoá hoặc cập nhật các lớp
học phần trong một học kỳ của năm học, thống kê được tình hình
đăng ký của các lớp học phần.
• Đăng ký học phần: cho phép sinh viên thông qua trang web để đăng
ký học phần.
- Ngoài ra, hệ thống còn hỗ trợ một số chức năng khác, như là:
• Quản lý thông báo: giúp cho cán bộ giáo vụ có thể đăng các thông
báo cần thiết của khoa mình, hoặc xoá các thông báo đã hết thời hạn
đăng.
• Cho phép sinh viên xem chương trình đào tạo của trường, xem điểm
của một học kỳ và các phần trợ giúp khác.
1.3 Các công cụ sử dụng
- Database: Microsoft SQL Server 2000
- Ngôn ngữ lập trình: Microsoft Visual Studio .NET C#.
- Kiểu Web: ASP.NET
SVTH: Nguyễn Trọng Tuấn Trang 2
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
- Thiết kế các sơ đồ: UML
CHƯƠNG 2: CÁC KIẾN THỨC LIÊN QUAN
2.1 Giới thiệu .NET Framework
Bộ .NET Framework là một môi trường dùng dễ quản lý việc phát
triển và thực thi ứng dụng. Framework quản lý các vấn đề thực thi của chương
trình như: cấp phát bộ nhớ cho việc lưu trữ dữ liệu và các câu lệnh, gán hoặc
phục hồi quyền cho phép tương tác với chương trình, khởi tạo và quản lý việc
thực thi ứng dụng và quản lý việc cấp phát lại bộ nhớ cho tài nguyên đã lâu
không sử dụng đến. Bộ .NET Framework bao gồm 2 thành phần chính:
Common Language Runtime và thư viện lớp của của bộ .NET Framework.
 Common Language Runtime (CLR): là môi trường quản lý việc thực
thi code. Nó cung cấp các dịch vụ như: biên dịch code, cấp phát bộ nhớ,

quản lý phân luồng và bộ thu gom rác. Thông qua Common Type
System (CTS) nó bảo đảm rằng các đoạn code được thực thi trong môi
trường an toàn bằng cách buộc các đoạn code phải truy cập vào phần
bảo mật.
 Thư viện lớp của bộ .NET Framework cung cấp tập hợp các kiểu
được thiết kế để tích hợp với Common Language Runtime. Các kiểu dữ
liệu do bộ .NET Framework cung cấp đều là hướng đối tượng và cho
phép tích hợp các ứng dụng từ bộ .NET Framework
2.2 Ngôn ngữ lập trình và bộ .NET Framework
Bộ .NET Framework được thiết kế cho khả năng tương thích đa ngôn
ngữ, điều này có nghĩa là các component của .NET có thể tương tác với nhau
mà không quan tâm chúng được viết bằng ngôn ngữ lập trình nào. Vì thế, 1 ứng
dụng được viết bằng Visual Basic .NET có thể tham chiếu đến 1 tập tin thư
viện dll viết bằng ngôn ngữ Visual C# hoặc bất kỳ ngôn ngữ .NET nào. Khả
năng này làm mở rộng tính kế thừa trong hướng đối tượng. Ví dụ: 1 lớp trong
Visual Basic .NET có thể kế thừa 1 lớp trong Visual C# và ngược lại.
Tính tương thích đa ngôn ngữ lập trình như vậy là do Common
Language Runtime. Khi một ứng dụng .NET được biên dịch, nó sẽ chuyển đổi
SVTH: Nguyễn Trọng Tuấn Trang 3
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
từ ngôn ngữ lập trình .NET nào sang dạng Microsoft Intermediate Language
(MSIL hay IL). Ngôn ngữ cấp thấp này được thiết kế để mà CRL có thể đọc và
hiểu được. Bởi vì các phần mang tính thực thi và dll của .NET tồn tại dưới
dạng IL, nên chúng có thể vận hành 1 cách tự do. Common Language
Specification (CLS) định ra những tiêu chuẩn tối thiểu mà trình biên dịch ngôn
ngữ .NET phải đảm bảo rằng bất cứ mã nguồn nào được biên dịch từ trình biên
dịch .NET có thể vận hành với .NET Framework được.
CLS bảo đảm cho sự tương thích giữa các component của .NET, do các
ứng dụng .NET được chuyển sang IL trước khi thực thi, nên các loại dữ liệu cơ
bản được biểu diễn lại thành loại dữ liệu của .NET. Vì thế cả 2 kiểu dữ liệu

Integer trong VB.NET và Int trong VC# đều được biểu diễn lại trong IL là
System.Int32. Bởi vì cả 2 ngôn ngữ đều dùng chung 1 kiểu dữ liệu hệ thống có
thể chuyển đổi cho nhau, nên nó có thể truyền dữ liệu giữa các component và
tránh mất thời gian cho việc chuyển đổi hay các lỗi phát sinh khó phát hiện
được.
Visual Studio .NET đưa ra các ngôn ngữ lập trình như Visual Basic
.NET, C#, Visual C++ và ngôn ngữ script là JScript. Ta cũng có thể viết code
SVTH: Nguyễn Trọng Tuấn Trang 4
Common Language Runtime
Thư viện hỗ trợ BCL
Xử lý tiểu trình
Kiểm tra dữ liệu
Trình bảo mật
Quản lý COM
Quản lý lỗi ngoại lệ
Bộ gỡ lỗi
Trình biên
dịch tức thời
ngôn ngữ IL
Quản lý đoạn
code
Bộ thu gom
rác
Trình nạp các lớp vào để xử lý
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
xử lý cho bộ .NET Framework bằng các ngôn ngữ lập trình khác. Có rất nhiều
trình biên dịch của các công ty như Fortran .NET, Cobol .NET, Perl .NET v.v
và các ngôn ngữ lập trình này chia sẻ tính tương thích đa ngôn ngữ và thừa kế.
Do đó ta có thể viết code cho bộ .NET Framework bằng ngôn ngữ nào theo ta
chọn và nó sẽ có thể tương tác với code được viết cho bộ .NET Framework

bằng bất cứ ngôn ngữ nào.
2.3 Kiến trúc ứng dụng .NET
Assembly là tập hợp code, tài nguyên và metadata mô tả ứng dụng.
Assembly Manifest chứa thông tin nằm trong Assembly. Assembly Manifest:
• Định danh thông tin, như là tên và số phiên bản của Assembly.
• Danh sách các kiểu do Assembly đưa ra.
• Danh sách các Assembly yêu cầu khác phục vụ cho Assembly của ứng
dụng.
• Danh sách các câu lệnh bảo mật truy cập code cho Assembly. Phần này
bao gồm danh sách các quyền do Assembly yêu cầu và các quyền bị
Assembly từ chối.
1 Assembly có 1 hay nhiều Assembly Manifest và nó chứa tất cả các
thông tin mô tả cho Assembly.Assembly Manifest có thể được lưu trong 1 tập
tin riêng hoặc có thể được lưu vào 1 trong các module của Assembly.
1 Assembly cũng có thể chứa 1 hay nhiều module, module chứa code
tạo ứng dụng hay thư viện và metadata mô tả đoạn code đó. Khi biên dịch 1 dự
án sang Assembly, đoạn code sẽ được chuyển từ ngôn ngữ cấp cao sang IL.
Bởi vì tất cả code xử lý đầu tiên phải được chuyển sang code IL để các ứng
dụng được viết bằng các ngôn ngữ khác có thể dễ dàng tương tác.
2.4 Thực thi và biên dịch ứng dụng .NET
Khi biên dịch ứng dụng .NET, nó được biên dịch sang mã nhị phân, một
hay nhiều Assembly bao gồm các tập tin thực thi và dll dưới dạng dưới dạng
IL, có ít nhất là một trong các Assembly sẽ chứa 1 tập tin có thể thực thi được
làm điểm khởi tạo cho ứng dụng.
SVTH: Nguyễn Trọng Tuấn Trang 5
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
Khi thực thi chương trình, Assembly đầu tiên được nạp vào bộ nhớ. Lúc
này, CLR sẽ dò xét trong Assembly Manifest và phân tích các yêu cầu để chạy
ứng dụng. Nó dò xét các quyền bảo mật do Assembly yêu cầu và so sánh chúng
với chính sách bảo mật của hệ thống. Nếu không thoả mãn thì ứng dụng sẽ

không chạy. Nếu thoả mãn CLR sẽ thực thi đoạn code. Nó sẽ tạo ra 1 tiến trình
để ứng dụng chạy và bắt đầu thực thi ứng dụng. Khi khởi động xong, phần
code nào cần thực thi sẽ được nạp vào bộ nhớ và biên dịch sang mã máy nhị
phân từ IL bằng trình biên dịch Just-In-Time (JIT) của CLR. Khi được biên
dịch xong, mã lệnh được biên dịch lưu vào bộ nhớ, vì thế mỗi phần của đoạn
code được biên dịch chỉ 1 lần trong suốt quá trình thực thi ứng dụng. Bất cứ khi
nào chương trình thực thi 1 nhánh của đoạn code mà chưa được thực thi, trình
biên dịch JIT sẽ biên dịch nó trước khi thực hiện và lưu vào bộ nhớ dạng mã
nhị phân. Theo cách này, sự trình diễn ứng dụng sẽ đạt được tối ưu bởi vì chỉ 1
phần của chương trình nào cần thực thi mới được biên dịch.
2.5 Tìm hiểu ASP.NET
2.5.1 Giới thiệu ASP.NET
Mặc dù ASP.NET có tên giống như 1 công nghệ phát triển ứng dụng
web trước đây của Microsoft là ASP nhưng chúng hoàn toàn khác nhau.
Microsoft đã xây dựng lại hoàn toàn trong ASP.NET dựa trên cơ sở của CLR
thuộc nền .NET. Người lập trình có thể viết code ASP.NET bằng cách sử dụng
nhiều ngôn ngữ lập trình khác nhau mà được hỗ trợ bởi nền .NET. ASP.NET
thực thi nhanh hơn so với các trang web được viết bằng script trước đây bởi vì
toàn bộ trang web được biên dịch thành 1 hoặc vài tập tin dll dựa trên web
server.
ASP.NET cố gắng làm đơn giản hoá cho người phát triển chương trình
chuyển đổi ứng dụng desktop thành các ứng dụng web bằng cách nó cho phép
các nhà lập trình viên xây dựng trang web từ các control tương tự như các
control trong ứng dụng window.
ASP.NET khuyến khích các nhà lập trình viên phát triển ứng dụng web
bằng mô hình event-driven GUI, và nó có khả năng kết hợp các công nghệ phát
SVTH: Nguyễn Trọng Tuấn Trang 6
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
triển web trước đây như là Javascript vào bên trong các component, nghĩa là 1
control trên ASP.NET vừa có sự kiện của client và server.

ASP.NET sử dụng .NET Framework như là một cơ sở hạ tầng, .NET
Framework yêu cầu quản lý môi trường runtime - bằng cách cung cấp các máy
ảo ( virtual machine) với JIT và các lớp thư viện.
2.5.2 Các điểm thuận lợi của ASP.NET
- Code được biên dịch chỉ 1 lần kể từ lần thay đổi nội dung cuối cùng nên
khả năng thực thi nhanh hơn.
- Có chế độ điều khiển lỗi: bắt lỗi và xử lý lỗi
- ASP.NET mang lại sự thuận lợi cho các nhà phát triển ứng dụng web vì
nó hỗ trợ hơn 20 ngôn ngữ như: C#, VisualBasic.NET, Visual C.NET,
Visual J#, Perl.NET v.v và tất cả các thư viện phần mềm của .Net
Framework.
- Hỗ trợ nhiều control và các lớp thư viện cho phép ứng dụng ứng dụng
web 1 cách nhanh chóng.
- Nó có khả năng lưu trữ vào bộ nhớ cache toàn bộ trang web hoặc chỉ 1
phần, điều này làm cải tiến hiệu suất thực thi của trang web.
- Các ứng dụng web được viết bằng ASP.NET chạy nhanh, hiệu quả cao,
dễ quản lý, mở rộng, mềm dẻo nhưng trên hết tất cả là rất dễ hiểu và dễ
code.
- Độ bảo mật cao bởi vì hỗ trợ chế độ bảo mật ở mức Windows và ứng
dụng.
2.5.3 Tương tác Client - Server
- Các ứng dụng ASP.NET là 1 sự pha trộn giữa đoạn mã - ngôn ngữ đánh
dấu về phía client với xử lý về phía server. Khi 1 trang web ASP.NET
được tải về phía trình duyệt của người dùng, các mã được thêm vào bao
gồm cả các mã của phiên bản ASP trước đó. Điều này làm cho các chức
năng trong thẻ form sẽ được nhiều hơn, bao gồm các sự kiện về phía
client và server, sự xác nhận các tính hợp lệ, và khả năng lưu giữ giá trị.
SVTH: Nguyễn Trọng Tuấn Trang 7
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
Server sẽ xác định loại trình duyệt của người dùng, và gửi các ngôn ngữ

đánh dấu tương ứng đối với trình duyệt đó.
- Một vài sự tương tác của client sẽ được thực hiện trong trình duyệt trong
khi đó một số thông tin yêu cầu sẽ được gửi cho server xử lý và trang bị
thay đổi sẽ được trả về.
2.5.4 Xử lý trên Server
Khi server nhận được 1 request, nó sẽ tìm đến trang đưa ra request bằng
cách sử dụng thông tin đường dẫn được chỉ định, và các hệ thống liên quan sẽ
xử lý trên trang đó. Nhưng đối với ASP cổ điển, không có nhiều việc xử lý này
mặc dù chắc chắn bộ nhớ cache đã thực hiện xử lý này.
Server sẽ xử lý trang ASP.NET bằng cách sử dụng các tập tin dll riêng
biệt, đặc biệt cho ASP.NET. Khác với những phiên bản trước của ASP,
ASP.NET là một tập hợp rất lớn các đối tượng để thực hiện các chức năng xử
lý như là các HTTP request, cơ sở dữ liệu, hệ thống tập tin và định hình cho
response.
Khi một response kết thúc, nó sẽ được đưa ra cho trình duyệt của người
dùng, thông thường là các thẻ HTML và trình duyệt sẽ hiển thị nội dung lên
màn hình.
2.5.5 Biên dịch và phân phối đến trang ASP.NET
IIS sẽ so khớp đường dẫn URL trong request dựa vào tập tin vật lý trên
đĩa bằng cách biên dịch đường dẫn ảo vào trong đường dẫn quan hệ với thư
mục gốc của Web (wwwroot).
Trong khi tập tin được tìm thấy, phần mở rộng của tập tin (.aspx) được
so khớp với danh sách các định dạng kiểu tập tin để gửi cho khách hoặc việc
xử lý.
Nếu đây là lần đầu trang được mở kể từ khi có sự thay đổi, mã ASP
được biên dịch thành assembly bằng cách dùng CRL biên dịch thành MSIL và
sau đó thành các mã nhị phân cho việc thực thi trang web.
Mã nhị phân này là một lớp dll của NET và được lưu trữ trong một vị trí
tạm thời.
SVTH: Nguyễn Trọng Tuấn Trang 8

LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
Lần kế mà trang được yêu cầu, server sẽ kiểm tra xem mã có bị thay đổi
không? Nếu không, thì giai đoạn biên dịch được bỏ qua và các mã của lớp
được biên dịch lúc trước sẽ được thực thi. Trái lại, lớp sẽ bị xoá và được biên
dịch là từ đoạn mã mới.
Đoạn mã sau khi biên dịch được thực thi và các giá trị gửi đi được thông
dịch, như là các giá trị trong thẻ form hoặc trong URL.
Nếu các nhà phát triển sử dụng Web Form thì sau đó server có thể nhận
ra phần mềm nào mà người dùng sử dụng và những trang được trả về cho
người dùng sẽ được biến đổi theo những yêu cầu về phía người dùng, ví dụ: trả
về các đoạn mã theo trình duyệt của Netscape hoặc đoạn mã cho thiết bị di
động ( Wireless Markup Language [WML] ).
Các kết quả sẽ được trả về cho trình duyệt của người dùng.
Các thành viên trong thẻ Form được chuyển đổi thành ngôn ngữ script
và các ngôn ngữ đánh dấu về phía client như HTML và Javascript cho trình
duyệt web hoặc WML và WMLScript cho thiết bị di động.
2.6 Các mô hình truy cập dữ liệu
2.6.1 Giới thiệu
Các mô hình truy cập dữ liệu liên quan đến quá trình phát triển của máy
tính, từ cục bộ cho đến phân bố. Khi số lượng người dùng và dữ liệu tăng lên,
các mô hình truy cập dữ liệu phát triển từ 1 người sử dụng trên 1 ứng dụng
thành nhiều người sử dụng trên mạng Internet. Sự phát triển mới nhất của mô
hình hiện này là XML Web Service.
2.6.2 Định nghĩa cấu trúc n-tier
- Trong mô hình truy cập dữ liệu, 1 tier là một mức cục bộ hoặc là một
lớp chứa các thành phần cục bộ của một ứng dụng. Các tier có thể nằm
trên một hoặc nhiều máy hay nằm trên các tier vật lý. Số lượng tier phản
ánh số lượng các dịch vụ được chia thành các mức nhỏ, nhưng không
phải là số lượng máy tính. Các mức này bao gồm:
 Client tier: được gọi là mức trình diễn hoặc lớp dịch cho người sử

dụng, lớp này chứa giao diện người dùng.
SVTH: Nguyễn Trọng Tuấn Trang 9
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
 Business logic tier: chịu trách nhiệm tương tác với tài nguyên dữ
liệu, còn gọi là “middle” tier, nó thường được hiện thực trong hầu
hết các lớp 1 cách vật lý, ví dụ như là store procedure trong CSDL,
các class trong ứng dụng Server hoặc các đoạn code trong ứng dụng
client.
 Data Service tier: chứa dữ liệu mà business logic dùng trong ứng
dụng.
 Interoperability tier: cho phép tương tác giữa các ứng dụng trên các
hệ điều hành khác nhau hoặc các loại dữ liệu khác nhau.
- Ưu điểm của việc sử dụng nhiều tier là khả năng mở rộng của ứng dụng.
Mỗi 1 tier được thêm vào cho phép ta thêm vào nhiều người dùng hơn
và tách riêng ra các mức của ứng dụng. Việc tách riêng các mức như vậy
cho phép thực hiện thay đổi chỉ tại 1 vùng nào đó trong ứng dụng mà
không làm thay đổi toàn bộ các tier khác. Ví dụ như trong ứng dụng 1
tier, bất cứ 1 sự thay đổi nào đều yêu cầu toàn bộ ứng dụng phải được
biên dịch lại và phân bố lại từ đầu.
2.6.3 Bảng so sánh giữa các mô hình truy cập dữ liệu
Mô hình Mô tả Ưu điểm Khuyết điểm
1 tier
Monolithic
Mô hình này đặc
trưng cho 1 người
sử dụng và tất cả
các lớp đều nằm
trên 1 máy tính
đơn
Do mọi thứ đều

nằm tại 1 nơi nên
việc truy xuất rất
dễ dàng
Cập nhật chương trình
yêu cầu phải chỉnh sửa
mã nguồn, biên dịch lại
và phân bố cho từng
người sử dụng, điều
này làm giảm khả năng
mở rộng ứng dụng
2 tier
Client/Server
Lớp user và lớp
business logic
nằm trên 1 tier,
các dịch vụ dữ liệu
nằm trên 1 máy
tính khác. Mô
Cung cấp 1 vài
chức năng tách
biệt
Khó mở rộng vì client
đang là “fat client” do
vừa chứa lớp trình diễn
và business logic. Việc
bảo trì và phân bố phần
mềm sẽ gặp khó khăn
SVTH: Nguyễn Trọng Tuấn Trang 10
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
hình này đặc trưng

cho 2 hay nhiều
máy tính
3 tier Mỗi 1 dịch vụ
nằm trong 1 lớp
riêng biệt.
Business logic trở
thành 1 lớp mới
gọi là “middle”
tier
Các lớp client
bây giờ là “thin
client” do chỉ
chứa client logic
hoặc lớp trình
diễn
Việc quản lý sẽ phức
tạp hơn, sự bảo mật
không được linh hoạt
và mở rộng như mô
hình n-tier
N-tier CSDL phân bố ở
mức mô hình xí
nghiệp cho phép
nhiều client truy
cập vào 1 ứng
dụng server đơn.
Các tier mới được
thêm vào nếu nhu
cầu về tier mới là
cần thiết

Cho phép các
ứng dụng khác
nhau trên các hệ
điều hành khác
nhau tương tác
với người dùng
và dữ liệu
Các lời gọi thủ tục từ
xa (RPC) không thể
vượt qua firewall
N-tier với
giao diện
Web
Các dịch vụ được
phân bố giữa
Internet và
Intranet
Không mất chi
phí cài đặt trên
client, quá trình
cập nhật chỉ xảy
ra trên Web hay
ứng dụng máy
Server.
Do sử dụng giao
thức HTTP nên
có thể vượt qua
firewall
Lưu ý: khi số tier tăng thì độ phức tạp và khả năng mở rộng của mô hình truy
cập dữ liệu tăng theo.

SVTH: Nguyễn Trọng Tuấn Trang 11
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
SVTH: Nguyễn Trọng Tuấn Trang 12
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
4 CHƯƠNG 3: NHIỆM VỤ
4.1 Phân tích nhiệm vụ
Tìm hiểu công nghệ .NET của Microsoft từ đó thấy được các lợi ích khi
phát triển ứng dụng trên nền này.
Tìm hiểu web ASP.NET, từ đó thấy được các ưu điểm khi phát triển ứng
dụng web với ASP.NET so với các loại web khác.
Tìm hiểu các nghiệp vụ cơ bản của việc quản lý lớp học phần và đăng
ký học phần tại các trường đại học, từ đó đưa ra được các chức năng cơ bản của
hệ thống như là:
- Quản lý chương trình đào tạo của nhà trường
- Quản lý các lớp học phần.
- Quản lý đăng ký học phần.
- Quản lý các thông báo.
- Xem chương trình đào tạo, xem điểm
Thiết kế một cơ sở dữ liệu cho hệ thống đăng ký học phần trực tuyến.
Xây dựng trang web mang tính chất demo thực hiện các chức năng cơ
bản trên.
4.2 Giải thích phương án lựa chọn
Tại sao hệ thống quản lý đăng ký học phần trực tuyến được viết bằng Web
ASP.NET trên ngôn ngữ của C#, cơ sở dữ liệu quản lý SQL Server 2000
Nền .NET Framework, là môi trường nền cho các dịch vụ Web (Web
Service). Web Service cho phép các ứng dụng trao đổi và chia sẻ dữ liệu trên
Internet mà không cần biết đang ở hệ điều hành nào và ngôn ngữ nào
Sử dụng Web ASP.NET: như đã phân tích trên ta thấy việc phát triển
Web với ASP.NET có rất nhiều thuận lợi, như là: hỗ trợ đa ngôn ngữ, code
được biên dịch chỉ một lần kể từ lần thay đổi sau cùng nên hiệu quả thực thi

trang web, có thể chạy trình nhiều trình duyệt khác nhau, rất dễ code bởi vì hỗ
trợ hơn 5000 lớp phục vụ cho việc truy xuất tài nguyên, dễ mở rộng ứng dụng.
Đặc biệt nhất là nó có thể giao tiếp với các dịch vụ web khác nhờ hỗ trợ mô
hình web với XML.
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
Ngôn ngữ C#: là ngôn ngữ rất quen thuộc đối với các lập trình viên, bởi
vì nó có cấu trúc gần giống như ngôn ngữ C, C++. Đây là ngôn ngữ hướng đối
tượng mà trên nền .NET mọi thứ đều là đối tượng. Vì vậy việc phát triển các
ứng dụng với ngôn ngữ C# là rất dễ dàng và nhanh chóng.
Lưu trữ dữ liệu trên SQL Server:
- Khả năng lưu trữ lớn
- Hỗ trợ sao lưu dữ liệu tránh dữ liệu bị mất
- Hỗ trợ các giao tác ( transaction)
- Hỗ trợ các thủ tục giúp cho hiệu suất thực thi của trang Web trên mỗi
khi có nhiều người dùng cùng sử dụng hệ thống.
- Hệ thống bảo mật tương đối ổn định.
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
CHƯƠNG 4: PHÂN TÍCH - THIẾT KẾ - HIỆN THỰC -
KẾT QUẢ
4.1 Sơ đồ use case
4.2 Phân tích các use case
4.2.1 Nghiệp vụ: “Đăng nhập”
Tên use case “Đăng nhập”
Mã use case: USC1
Mô tả: cho phép người dùng đăng nhập vào hệ thống đăng ký môn học trực
tuyến.
Dòng chảy sự kiện ( dòng logic chung): người dùng chọn chức năng “Đăng
nhập” trên phần menu của trang web.
Dòng hành động chính: người dùng nhập “Tên đăng nhập” và “Mật khẩu” và
“Quyền đăng nhập”. Sau đó hệ thống sẽ kiểm tra “Tên đăng nhập” và “Mật

khẩu” và cho phép người dùng đăng nhập vào hệ thống hay không ?
Dòng hành động thay thế:
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
- Người dùng nhập sai “Tên đăng nhập” và “Mật khẩu”, hệ thống sẽ
thông báo lỗi đăng nhập. Khi đó người dùng có thể:
• Đăng nhập lại: trở về dòng hành động chính
• Huỷ bỏ: use case “Đăng nhập” sẽ kết thúc.
- Hệ thống không tìm thấy CSDL hoặc vì một lý do nào đó thì use case
“Lỗi” sẽ được kích hoạt.
Điều kiện thoát: người dùng không tiếp tục đăng nhập hoặc chọn các chức
năng khác của hệ thống ( mà các chức năng không yêu cầu phải đăng nhập
trước khi thực hiện)
Các yêu cầu đặc biệt: không có
Điều kiện trước đó: không có
Điều kiện sau đó: người dùng có thể thực hiện được các chức năng khác mà
hệ thống phải yêu cầu đăng nhập trước khi thực hiện.
4.2.2 Nghiệp vụ: "Quản lý lớp học phần"
Tên use case: “Quản lý lớp học phần”
Mã use case: USC2
Mô tả: use case này cho phép bộ phận giáo vụ của khoa mở 1 lớp học phần
mới, cập nhật, hoặc xoá một lớp học phần trong một học kỳ của một năm học.
Dòng hành động chính: use case này bắt đầu sau khi người dùng đăng nhập
thành công vào hệ thống. Sau đó, người dùng tiếp tục chọn khoa, năm học, học
kỳ để xử lý
Sau đó, hệ thống sẽ liệt kê danh sách các lớp học phần được mở trong
năm học, học kỳ và khoa mà người dùng vừa chọn. Khi đó người dùng có thể
chọn 1 trong các chức năng sau: mở 1 lớp học phần, cập nhật lớp học phần, xoá
lớp học phần, xem thông tin chi tiết đăng ký của một lớp học phần.
Sau khi cán bộ chọn 1 trong các chức năng trên thì 1 trong các luồng
phụ sau được thực hiện:

Mở 1 lớp học phần:
- Hệ thống yêu cầu người dùng nhập vào thông tin của một lớp học phần
sẽ được mở trong học kỳ của năm học hiện hành.
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
- Người dùng chọn chức năng “Lưu”. Khi đó hệ thống sẽ lưu lớp học
phần này vào trong CSDL
- Người dùng có thể tiếp tục mở 1 lớp học phần khác hoặc kết thúc luồng
phụ này.
Điều kiện thoát: người dùng chọn chức năng kết thúc luồng phụ hoặc
sau khi chọn chức năng lưu
Cập nhật lớp học phần
- Người dùng chọn 1 lớp học phần cần thay đổi thông tin chi tiết.
- Hệ thống sẽ xác định mã lớp học phần và hiển thị thông tin chi tiết của
lớp học phần đó.
- Người dùng có thể thay đổi bất kỳ thông tin nào của lớp học phần.
- Người dùng chọn chức năng “Cập nhật”.
- Hệ thống sẽ cập nhật lại những thông tin đã thay đổi về lớp học phần đó.
- Sau đó, người dùng có thể tiếp tục thay đổi thông tin của lớp học phần
đó hoặc kết thúc luồng phụ này và trở lại luồng chính.
Điếu kiện thoát: người dùng chọn chức năng kết thúc luồng này.
Xoá lớp học phần
- Người dùng chọn các lớp học phần cần xoá, sau đó chọn chức năng
“Xoá”
- Hệ thống sẽ:
• Xác định mã lớp học phần của các lớp được chọn
• Xoá đăng ký của sinh viên có trong lớp học phần được chọn để xoá
• Xoá thông tin của các lớp học phần được chọn để xoá.
• Cập nhật lại danh sách các lớp học phần có trong năm học của học
kỳ hiện tại.
Điều kiện thoát: sau khi thực hiện xong chức năng xoá.

Xem thông tin chi tiết đăng ký
- Người dùng chọn vào cột số lượng sinh viên đăng ký của một lớp học
phần
- Hệ thống sẽ xác định mã của lớp học phần đó và liệt kê danh sách sinh
viên đã đăng ký lớp học phần đó.
LVTN: Quản lý hệ thống đăng ký học phần trực tuyến cho trường ĐH
- Người dùng có thể trở về luồng chính hoặc xoá đăng ký của sinh
viên…
Điều kiện thoát: người dùng chọn chức năng kết thúc luồng phụ.
Các sự kiện khác:
Chưa có lớp học phần
- Khi luồng chính được bắt đầu, nếu chưa có 1 lớp học phần nào được mở
thì hệ thống sẽ thông báo cho người dùng.
Không tìm thấy mã lớp học phần
- Sau khi chọn một lớp học phần, hệ thống không tìm thấy mã lớp học
phần thì use case lỗi sẽ được thực hiện.
Không nhập đầy đủ thông tin của 1 lớp học phần
- Nếu trong luồng phụ “Mở 1 lớp học phần” người dùng chưa nhập đầy
đủ thông tin thì hệ thống sẽ nhắc nhở các thông tin cần phải được nhập.
Đã tồn tại mã lớp học phần
- Nếu trong luồng phụ “Mở 1 lớp học phần” người dùng nhập mã lớp học
phần đã tồn tại trong CSDL thì hệ thống sẽ nhắc nhở người dùng nhập 1
mã lớp khác.
Điều kiện trước đó: người dùng phải đăng nhập vào hệ thống (với quyền đăng
nhập là giáo vụ).
Điều kiện sau đó: nếu use case thành công thì lớp học phần sẽ được mở, cập
nhật hoặc xoá. Ngược lại, trạng thái của hệ thống không thay đổi.
4.2.3 Nghiệp vụ “Đăng ký lớp học phần”
Tên use case: Đăng ký lớp học phần
Mã use case: USC3

Mô tả: use case này cho phép sinh viên đăng ký các lớp học phần được mở
trong 1 học kỳ của một năm học. Sinh viên được phép đăng ký, huỷ đăng ký
các lớp học phần nếu thoả mãn một số điều kiện cho phép.
Dòng chảy sự kiện: sinh viên chọn “Đăng ký học phần” trên menu của trang
web.
Dòng sự kiện chính:

×