Từnhững hiểu biết của bản thân và qua khảo sát thực tế mô hình của các trườngĐại học tôi đã xây dựng phần mềm đăng ký học theo mô hình tín chỉ, sửdụng ngôn ngữ C# cùng hệ quản trị CSDL S
Trang 1TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN
KHÓA LUẬN TỐT NGHIỆP
SỬ DỤNG C# XÂY DỰNG
PHẦN MỀM ĐĂNG KÝ HỌC
THEO MÔ HÌNH TÍN CHỈ
Giáo viên hướng dẫn: TS Phan Lê Na
Sinh viên thực hiện: Đào Thị Như Hoa Lớp : 43E3 – CNTT
Vinh, Tháng 5/2007
Trang 2LỜI NÓI ĐẦU
Giáo dục là nhân tố tích cực thúc đẩy quá trình phát triển của một đấtnước Ngày nay, trong cuộc chạy đua so tài giữa các quốc gia mà thực chất
là cuộc chạy đua về sức mạnh kinh tế và sức mạnh trí tuệ thì vai trò của giáodục càng đặc biệt được đề cao, vì vậy Đảng và Nhà nước ta luôn quán triệt
“Lấy giáo dục đào tạo, khoa học – công nghệ làm những quốc sách hàng
đầu” Để thực hiện chiến lược đó hiện nay giáo dục Việt Nam có rất nhiều
hình thức đào tạo trong các trường đại học và cao đẳng Trong đó phổ biếnnhất là hình thức quản lý đào tạo theo niên khoá Đây là mô hình quản lý đàotạo truyền thống Bên cạnh những mặt mạnh của nó thì hình thức này cũngbộc lộ những mặt hạn chế, đặc biệt trong xu thế toàn cầu hoá hiện nay như:không phát huy được hết các khả năng học tập và sáng tạo của sinh viên,sinh viên đôi khi bị bó hẹp trong những phạm vi nhất định của hình thức đàotạo này Do đó vấn đề được đặt ra là: cần phải xây dựng hình thức quản líđào tạo mới
Trên thế giới, hình thức quản lí đào tạo theo tín chỉ đã được áp dụngphổ biến rộng rãi Đây là hình thức quản lí có chương trình đào tạo hoànchỉnh cho phép sinh viên có nhiều lựa chọn về định hướng nghề nghiệp củabản thân Ngoài ra, đội ngũ giáo viên giảng dạy có nhiều kinh nghiệm vàkiến thức chuyên môn cao, tài liệu dụng cụ thí nghiệm phục vụ cho học tậpgiảng dạy đảm bảo chất lượng và đầy đủ Quản lí đào tạo theo tín chỉ còngiúp cho quá trình quản lí và đào tạo thêm thuận lợi, hiệu quả, sinh viên cóthể dễ dàng phát huy các khả năng của mình, có thể rút ngắn hay kéo dài thờigian đào tạo theo năng lực và nhu cầu Đối với hình thức đào tạo này cácsinh viên trở nên năng động, sáng tạo hơn, sẵn sàng cho một nền kinh tế hộinhập và phát triển
Trang 3Tại Việt Nam hình thức đào tạo theo tín chỉ đã được một số trườngđưa vào áp dụng Trường ĐH Dân Lập Thăng Long đã hoàn thành mô hìnhđào tạo tín chỉ khá cơ bản và đúng yêu cầu, trường ĐH Xây Dựng, KiếnTrúc đang còn chịu ảnh hưởng của hình thức đào tạo theo niên khóa nên môhình của trường chỉ là hình thức nửa tín chỉ Do đó đây chính là hình thứcquản lý đào tạo mới mà chúng ta cần đi tìm hiểu và áp dụng Với lí do thiếtthực trên tôi quyết định lựa chọn đề tài này làm bài khoá luận tốt nghiệp Từnhững hiểu biết của bản thân và qua khảo sát thực tế mô hình của các trườngĐại học tôi đã xây dựng phần mềm đăng ký học theo mô hình tín chỉ, sửdụng ngôn ngữ C# cùng hệ quản trị CSDL SQL Server 2000.
Khoá luận “Sử dụng C# xây dựng phần mềm đăng ký học theo mô
hình tín chỉ” đi sâu trình bày về quá trình xây dựng mô hình đăng ký học
theo hệ thống đào tạo tín chỉ, bao gồm tất cả các bước từ thu thập yêu cầu,phân tích thiết kế và cài đặt hệ thống Ngoài phần mở đầu, tài liệu thamkhảo, khoá luận trình bày về những kết quả đạt được và một số module càiđặt bằng ngôn ngữ lập trình C#
Cấu trúc của khoá luận như sau:
Chương I - Giới thiệu chung : Phần này trình bày khái quát về đặc điểm
của các hệ thống tín chỉ hiện tại, những yêu cầu đối với hệ thống cần xâydựng và sơ lược về đặc điểm ngôn ngữ lập trình C#
Chương II - Phân tích hệ thống : Nội dung này trình bày các bước phân
tích hệ thống bao gồm: biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu
Chương II - Thiết kế hệ thống : Nội dung này nói về các bước thiết kế hệ
thống: xây dựng các cơ sở dữ liệu cho hệ thống, mô hình liên kết
Chương IV - Cài đặt hệ thống : Phần này trình bày các giao diện hệ thống
và một số modul cài đặt
Kết luận
Trang 4CHƯƠNG I GIỚI THIỆU CHUNG
1 Khảo sát các hệ thống tín chỉ hiện tại
Trên thế giới quản lí học tập theo tín chỉ được phát triển rộng rãi Đây
là hình thức đào tạo phát huy được khả năng của sinh viên, giúp cho sinhviên có định hướng cho nghề nghiệp của mình Thay vì quản lí theo niên
khoá và đơn vị học trình, hình thức này quản lí theo tín chỉ: Tín chỉ là đơn vị
để đo khối lượng kiến thức đồng thời là đơn vị đánh giá kết quả học tập của sinh viên dựa theo số lượng tín chỉ đã tích luỹ được Đầu mỗi khoá
học, sinh viên được thông báo về chương trình đào tạo của toàn khoá theotừng ngành đào tạo, các qui chế học tập trong trường và trước mỗi kì họcsinh viên đều được hướng dẫn để có thể tự lựa chọn các môn học để đăng kíhọc trong học kỳ đó Hầu hết các trường đại học và cao đẳng có uy tín trênthế giới đều áp dụng hình thức đào tạo này như: ĐH Harvard của Mĩ, ĐHOxford của Anh,…
Tại Việt Nam, bước đầu cũng đã có một số trường áp dụng qui chếquản lí đào tạo theo tín chỉ, tuy nhiên đây chỉ là hình thức nửa tín chỉ nhưtrường ĐH Xây Dựng, ĐH Kiến Trúc Cũng có trường áp dụng quản lí đàotạo theo cả tín chỉ, như các trường ĐH Đà Lạt, ĐH Đà Nẵng, ĐH Dân LậpThăng Long Tuy nhiên đây vẫn không phải là hình thức hoàn chỉnh của đàotạo theo tín chỉ, bởi vì vẫn bị ảnh hưởng của niên khoá, sinh viên vẫn bị giớihạn trong khuôn khổ đào tạo kiểu này Do đây là hình thức đào tạo mới vàđặc điểm của nền kinh tế chính trị xã hội Việt Nam nên bước đầu áp dụngvẫn chịu ảnh hưởng của qui chế quản lí đào tạo cũ
Trang 5Qua khảo sát thực tế, ở Việt Nam yêu cầu cấp bách là cần phải xâydựng hình thức đào tạo kiểu mới: hình thức quản lí đào tạo hoàn toàn theotín chỉ.
2 Những khái niệm cơ bản về hệ thống học tập theo tín chỉ
2.1 Đặc điểm phương thức đào tạo theo tín chỉ
Kiến thức được cấu trúc thành các môđun (học phần)
Trước mỗi khoá học, sinh viên được thông báo về chương trình đàotạo của toàn khoá theo từng ngành đào tạo, các qui chế đào tạo và cácqui định của trường
Sinh viên có nhiều cơ hội lựa chọn giúp cho định hướng nghề nghiệpcủa bản thân
Quá trình học tập là sự tích lũy kiến thức của sinh viên theo từng họcphần (tín chỉ)
Kết quả học tập được đánh giá thường xuyên
Chương trình đào tạo linh hoạt, mềm dẻo
Đối với những học phần lý thuyết hoặc thực hành, thí nghiệm, để tiếpthu được 1 tín chỉ sinh viên phải dành ít nhất 15/30 giờ chuẩn bị cá nhân
Một tiết học được tính bằng 50 phút Một tín chỉ tương đương với 1.5đơn vị học trình
Trang 6từ nhiều môn học.
Có 2 loại học phần:
Học phần bắt buộc là những học phần chứa đựng những nội dung
kiến thức chính yếu của ngành hay nhóm ngành đào tạo, mà tất cả mọi sinhviên thuộc ngành hay nhóm ngành đào tạo đó đều phải theo học và tích luỹđược
Học phần tự chọn là những học phần chứa đựng những nội dung kiến
tức cần thiết nhưng sinh viên được tự chọn theo hướng dẫn của trường nhằm
đa dạng hóa hướng chuyên môn hoặc được lựa chọn tuỳ ý để tích luỹ đủ sốhọc phần quy định của ngành hay nhóm ngành đào tạo
c)Khóa học
Khoá học là thời gian để sinh viên hoàn thành chương trình đào tạocủa một chuyên ngành đào tạo ở trình độ đại học hoặc cao đẳng Thời giancủa một khoá học, được quy định tuỳ thuộc vào bậc học và chuyên ngànhđào tạo Tuỳ theo khả năng và điều kiện học tập, sinh viên có thể rút ngắnhoặc kéo dài thời gian học tối đa
d)Lớp học
Trang 7Lớp học phần: gồm những sinh viên theo học cùng một học phần
trong cùng một khoảng thời gian và cùng giảng viên Mỗi lớp học phần được
kí hiệu bằng một mã số riêng do trường qui định
Lớp gốc (Lớp sinh hoạt): gồm những sinh viên cùng khóa tuyển sinh,
đăng kí học cùng chuyên ngành đào tạo trong cùng một khóa đào tạo Lớpgốc có mã số riêng, được tổ chức tương đối ổn định từ đầu cho đến cuốikhóa học
e) Một số qui định, qui chế được sử dụng để xây dựng hệ thống
Đăng ký khối lượng học tập
Đầu mỗi năm học, nhà trường phải thông báo lịch trình học quy địnhcho từng chương trình đào tạo trong từng học kỳ, danh sách các học phần bắtbuộc và tự chọn sẽ dạy, đề cương chi tiết và điều kiện tiên quyết để đượcđăng ký học cho từng học phần
Trước khi bắt đầu mỗi kỳ học, từng sinh viên nhận phiếu đăng ký đểđăng ký các học phần sẽ học trong học kỳ đó tuỳ theo khả năng và điều kiệnhọc tập của mình với phòng Đào tạo của trường
- Đăng ký bình thường là hình thức đăng ký thực hiện khoảng 2 tuần
lễ trước thời điểm bắt đầu học kỳ
- Đăng ký muộn là hình thức đăng ký trong khoảng 2 tuần lễ đầu củamỗi học kỳ hoặc trong tuần lễ đầu của học kỳ hè cho những người muốnđăng ký học thêm hoặc đăng ký đổi sang học phần khác khi không có lớp
Trang 8Khối lượng kiến thức tối thiểu mà sinh viên phải đăng ký trong mỗihọc kỳ được quy định như sau :
- 20 đơn vị học trình / 14 tín chỉ cho mỗi học kỳ, trừ học kỳ cuối
- 15 đơn vị học trình / 10 tín chỉ cho mỗi học kỳ đối với những sinhviên đang trong thời gian bị xếp loại yếu
Bổ sung hoặc rút bớt các hoặc phần sau khi đăng ký
Viêc đăng ký thêm các học phần chỉ được chấp thuận trong vòng 2tuần lễ đầu của học kỳ
Việc rút bớt các học phần so với khối lượng đã đăng ký chỉ được chấpnhận sau 6 tuần lễ kể từ đầu học kỳ và không được muộn quá 8 tuần lễ.Ngoài thời hạn trên học phần vẫn được giữ trong phiếu đăng ký học và nếusinh viên không đi học sẽ được xem như tự ý bỏ học và phải nhận điểm 0
Đăng ký học lại
Nếu sinh viên nào có học phần bị điểm dưới 5 thì phải đăng ký học lạivào học kỳ kế tiếp đối với học phần bắt buộc Với học phần tự chọn thì cóthể đăng ký lại học phần đó hoặc xin đổi sang học phần tự chọn tương đươngkhác
3 Mục đích của hệ thống
Hệ thống bao gồm các chức năng chính sau :
Cập nhật thông tin và phân quyền đối với từng người sử dụng
Trang 9 Cập nhật các danh mục thông tin như : Cập nhật ngành đào tạo toàntrường, ngành đào tạo mỗi khoa, các thông tin liên quan đến hồ sơ sinhviên…
Cập nhật phiếu đăng ký từ sinh viên, xử lý phiếu và tạo các lớp họcphần dựa trên số lượng sinh viên đã đăng ký Đây là chức năng quan trọngnhất của hệ thống
Cập nhật thông tin của từng sinh viên và cho phép tìm kiếm, in ấnnhững thông tin theo yêu cầu
Thống kê và in ấn theo yêu cầu
- Có quyền cao nhất trong việc quản lý hệ thống
- Có thể truy nhập đến bất cứ một chức nào của hệ thống nhưng khôngthể đổi mật khẩu của người khác
Người cập nhật hồ sơ
- Cập nhật thông tin các danh mục như: Cập nhật khoa đào tạo, ngànhđào tạo toàn trường, ngành đào tạo cho từng khoa, nhập lớp gốc, cập nhật vềđối tượng, dân tộc, tôn giáo…phục vụ cho việc cập nhật hồ sơ sinh viên
- Cập nhật sinh viên theo từng lớp gốc của từng khoa
- Cho phép tìm kiếm, in ấn các thông tin theo yêu cầu
Người cập nhật phiếu đăng ký và xử lý phiếu đăng ký
- Cập nhật phiếu đăng ký của từng sinh viên
- Cập nhật khung chương trình cho từng khoa, từng ngành
Trang 10- Thống kê số sinh viên đăng ký của từng môn học để tạo lớp họcphần
- Xử lý việc hủy bỏ đăng ký nếu sinh viên yêu cầu
5 Giới thiệu ngôn ngữ C#
Ngôn ngữ C# khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệuđược xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thinhững khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấutrúc, thành phần component, lập trình hướng đối tượng Những tính chất đóhiện diện trong một ngôn ngữ lập trình hiện đại Và ngôn ngữ C# hội đủnhững điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của haingôn ngữ mạnh nhất là C++ và Java
Phần cốt lõi của bất cứ ngôn ngữ lập trình hướng đối tượng là sự hỗtrợ của nó cho việc định nghĩa và làm việc với những lớp Những lớp thìđịnh nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộng ngônngữ để tạo mô hình tốt hơn trong việc giải quyết vấn đề Ngôn ngữ C# chứanhững từ khóa cho việc khai báo những kiểu lớp đối tượng mới và nhữngphương thức hay thuộc tính của lớp, việc thực thi đóng gói, kế thừa, và đahình, ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình hướng đối tượng
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìmthấy trong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C#không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như trongngôn ngữ C++ Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèncác tag XML để phát sinh tự động các document cho lớp
C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết vớimột lớp cho những dịch vụ mà giao diện quy định Trong ngôn ngữ C#, mộtlớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừanhư trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện
Trang 11Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng kháiniệm về ngữ nghĩa của nó thay đổi khác với C++ Trong C#, một cấu trúcđược giới hạn, là kiểu dữ liệu nhỏ gọn, và khi thể hiện thì nó yêu cầu ít hơn
về hệ điều hành và bộ nhớ so với một lớp Một cấu trúc thì không thể kế thừa
từ một lớp hay được kế thừa nhưng một cấu trúc có thể thực thi một giaodiện
Ngôn ngữ C# cung cấp những đặc tính hướng thành phần (component
- oriented) như là những thuộc tính, những sự kiện Lập trình hướng thànhphần được hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho mộtlớp Metadata mô tả cho một lớp, bao gồm những phương thức và nhữngthuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tínhkhác Mã nguồn chứa đựng những logic cần thiết để thực hiện những chứcnăng của nó Do vậy, một lớp được biên dịch như là một khối self contained,nên môi trường hosting biết được cách đọc metadata của một lớp và mãnguồn cần thiết mà không cần những thông tin khác để sử dụng nó
Ngoài ra ngôn ngữ C# cũng hỗ trợ việc truy cập bộ nhớ trực tiếp sửdụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc [] trong toán tử Các
mã nguồn này là không an toàn (unsafe) Và bộ giải phóng bộ nhớ tự độngcủa CLR sẽ không thực hiện việc giải phóng những đối tượng được thamchiếu bằng sử dụng con trỏ cho đến khi chúng được giải phóng
Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nóđược tạo từ nền tảng phát triển hơn Những đặc tính của ngôn ngữ C# khágiống với những đặc tính trong ngôn ngữ Java Vì vậy Microsoft đã đưa ra
Trang 12một số mục đích khi xây dựng ngôn ngữ C# Những mục đích này đượcđược tóm tắt như sau:
C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối tượng
C# là ngôn ngữ mạnh mẽ và mềm dẻo
C# là ngôn ngữ có ít từ khóa
C# là ngôn ngữ hướng module
C# sẽ trở nên phổ biến
C# là ngôn ngữ hiện đại
Những đặc tính của C# như là: xử lý ngoại lệ, thu gom bộ nhớ tựđộng, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là những đặc tínhđược mong đợi trong một ngôn ngữ hiện đại C# chứa tất cả những đặc tínhtrên
Ghi chú : Con trỏ được tích hợp vào ngôn ngữ C++ Chúng cũng là
nguyên nhân gây ra những rắc rối của ngôn ngữ này C# loại bỏ những phứctạp và rắc rối phát sinh bởi con trỏ Trong C#, bộ thu gom bộ nhớ tự động vàkiểu dữ liệu an toàn được tích hợp vào ngôn ngữ, sẽ loại bỏ những vấn đề rắcrối của C++
C# là ngôn ngữ hướng đối tượng
Những đặc điểm chính của ngôn ngữ hướng đối tượng oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance),
(Object-và đa hình (polymorphism) C# hỗ trợ tất cả những đặc tính trên
C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo
Trang 13Khi tìm hiểu và sử dụng ngôn ngữ C# chúng ta chỉ bị giới hạn ở chínhbởi bản thân hay là trí tưởng tượng của chúng ta Ngôn ngữ này không đặtnhững ràng buộc lên những việc có thể làm C# được sử dụng cho nhiều dự
án khác nhau như là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bảntính, hay thậm chí những trình biên dịch cho các ngôn ngữ khác
C# là ngôn ngữ ít từ khóa
C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóađược sử dụng để mô tả thông tin Chúng ta có thể nghĩ rằng một ngôn ngữ cónhiều từ khóa thì sẽ mạnh hơn Điều này không phải sự thật, ít nhất là trongtrường hợp ngôn ngữ C#, chúng ta có thể tìm thấy rằng ngôn ngữ này có thểđược sử dụng để làm bất cứ nhiệm vụ nào Bảng sau liệt kê các từ khóa củangôn ngữ C#
Abstract default foreach object sizeof unsafe
As delegate goto operator stackalloc ushortBase Do if out static usingBool Double implicit override string virtualBreak Else in params struct volatileByte Enum int private switch voidCase Event interface protected this whileCatch explicit internal public throw
Char Extern is readonly true
Checked False lock ref try
Class Finally long return typeof
Const Fixed namespace sbyte uint
Continue Float new sealed ulong
Decimal For null short unchecked
C# là ngôn ngữ hướng module
Mã nguồn C# có thể được viết trong những phần được gọi là nhữnglớp, những lớp này chứa các phương thức thành viên của nó Những lớp vànhững phương thức có thể được sử dụng lại trong ứng dụng hay các chương
Trang 14trình khác Bằng cách truyền các mẫu thông tin đến những lớp hay phươngthức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả.
C# sẽ là một ngôn ngữ phổ biến
Microsoft muốn ngôn ngữ C# trở nên phổ biến Mặc dù một công tykhông thể làm một sản phẩm trở nên phổ biến, nhưng nó có thể hỗ trợ Cáchđây không lâu, Microsoft đã gặp sự thất bại về hệ điều hành Microsoft Bob.Mặc dù Microsoft muốn Bob trở nên phổ biến nhưng thất bại Tuy nhên, vớiC# thì khác, nó được sử dụng bởi Microsoft Nhiều sản phẩm của công tynày đã chuyển đổi và viết lại bằng C# Bằng cách sử dụng ngôn ngữ nàyMicrosoft đã xác nhận khả năng của C# cần thiết cho những người lập trình
Micorosoft NET là một lý do khác để đem đến sự thành công củaC# .NET sẽ mang lại sự thay đổi trong cách tạo và thực thi những ứng dụng
Ngoài hai lý do trên ngôn ngữ C# cũng sẽ trở nên phổ biến do nhữngđặc tính của ngôn ngữ như: đơn giản, hướng đối tượng, mạnh mẽ
Ngôn ngữ C# và những ngôn ngữ khác
Microsoft nói rằng C# mang đến sức mạnh của ngôn ngữ C++ với sự
dễ dàng của ngôn ngữ Visual Basic Có thể nó không dễ như Visual Basic,nhưng với phiên bản Visual Basic.NET thì ngang nhau Bởi vì chúng đượcviết lại từ một nền tảng Chúng ta có thể viết nhiều chương trình với ít mãnguồn hơn nếu dùng C#
Mặc dù C# loại bỏ một vài các đặc tính của C++, nhưng bù lại nótránh được những lỗi mà thường gặp trong ngôn ngữ C++ Điều này có thểtiết kiệm được hàng giờ hay thậm chí hàng ngày trong việc hoàn tất mộtchương trình
Một điều quan trọng khác với C++ là mã nguồn C# không đòi hỏi phải
có tập tin header Tất cả mã nguồn được viết trong khai báo một lớp
Trang 15Như đã nói ở bên trên .NET runtime trong C# thực hiện việc thu gom
bộ nhớ tự động Do điều này nên việc sử dụng con trỏ trong C# ít quan trọnghơn trong C++ Những con trỏ cũng có thể được sử dụng trong C#, khi đónhững đoạn mã nguồn này sẽ được đánh dấu là không an toàn (unsafe code)
C# cũng từ bỏ ý tưởng đa kế thừa như trong C++ Và sự khác nhaukhác là C# đưa thêm thuộc tính vào trong một lớp giống như trong VisualBasic Và những thành viên của lớp được gọi duy nhất bằng toán tử “.” khácvới C++ có nhiều cách gọi trong các tình huống khác nhau
Một ngôn ngữ khác rất mạnh và phổ biến là Java, giống như C++ vàC# được phát triển dựa trên C Điểm giống nhau giữa C# và Java là cả haicùng biên dịch ra mã trung gian: C# biên dịch ra MSIL còn Java biên dịch rabytecode Sau đó chúng được thực hiện bằng cách thông dịch hoặc biên dịchjust-in-time trong từng máy ảo tương ứng Tuy nhiên, trong ngôn ngữ C#nhiều hỗ trợ được đưa ra để biên dịch mã ngôn ngữ trung gian sang mã máy.C# chứa nhiều kiểu dữ liệu cơ bản hơn Java và cũng cho phép nhiều sự mởrộng với kiểu dữ liệu giá trị Ví dụ, ngôn ngữ C# hỗ trợ kiểu liệt kê(enumerator), kiểu này được giới hạn đến một tập hằng được định nghĩatrước và kiểu dữ liệu cấu trúc, đây là kiểu dữ liệu giá trị do người dùng địnhnghĩa Tương tự như Java, C# cũng từ bỏ tính đa kế thừa trong một lớp, tuynhiên mô hình kế thừa đơn này được mở rộng bởi tính đa kế thừa nhiều giaodiện
6 Yêu cầu đối với hệ thống
Trang 16 1 gigahertz (GHz) Pentium processor recommended
Hệ điều hành Microsoft® Windows® 2000 Professional SP4
Microsoft® Windows® 2000 Server SP4
Microsoft® Windows® 2000 Advanced Server SP4
Microsoft® Windows® 2000 Datacenter Server SP4
Microsoft® Windows® XP Professional x64 Edition(WOW)
Microsoft® Windows® XP Professional SP2
Microsoft® Windows® XP Home Edition SP2
Microsoft® Windows® XP Media Center Edition
Microsoft® Windows® XP Tablet PC Edition SP2
Microsoft® Windows Server™ 2003, StandardEdition SP1
Microsoft® Windows Server™ 2003, EnterpriseEdition SP1
Microsoft® Windows Server™ 2003, DatacenterEdition SP1
Microsoft® Windows Server™ 2003, Web EditionSP1
Microsoft® Windows Server™ 2003, Standard x64Edition (WOW)
Microsoft® Windows Server™ 2003, Enterprise x64Edition (WOW)
Microsoft® Windows Server™ 2003, Datacenter x64Edition (WOW)
Microsoft® Windows Server™ 2003 R2, StandardEdition
Microsoft® Windows Server™ 2003 R2, Standardx64 Edition (WOW)
Microsoft® Windows Server™ 2003 R2, EnterpriseEdition
Microsoft® Windows Server™ 2003 R2, Enterprise
Trang 17Một số khái niệm:
Biểu đồ phân cấp chức năng
Biểu đồ phân cấp chức năng là biểu đồ hình cây, trong đó mỗi nút là mộtchức năng, nó thể hiện sự phân rã các chức năng của hệ thống Mỗi chứcnăng được biểu diễn bằng hình chữ nhật, trong đó có ghi tên chức năng Kếtnối giữa các chức năng phân cấp được biểu diễn bằng đoạn thẳng hoặcđường gấp khúc
Trang 18 Biểu đồ luồng dữ liệu
Biểu đồ luồng dữ liệu là phương tiện diễn tả chức năng xử lý và việc trao đổithông tin giữa các chức năng Biểu đồ luồng dữ liệu gồm có 5 thành phần:
o Chức năng xử lý : Diễn tả các thao tác nhiệm vụ hay tiến
trình xử lý nào đó Các chức năng này được biểu diễn bởi hình tròn hoặchình ô van Trong đó có ghi tên chức năng
o Luồng dữ liệu : Luồng thông tin vào hay ra một chức
năng xử lý Luồng thông dữ liệu được biểu diễn bằng mũi tên, bên cạnh cóghi tên luồng, chiều của mũi tên chỉ chiều đi của luồng
Tên luồng dữ liệu
o Kho dữ liệu : Bao gồm các dữ liệu được lưu trữ lại
trong khoảng thời gian để các chức năng xử lý hoặc tác nhân trong sử dụng.Kho dữ liệu được biểu diễn bằng cặp đoạn thẳng song song ở giữa có ghi tênkho
Tên kho dữ liệu
o Tác nhân ngoài : Diễn tả một người, một nhóm người
hay một tổ chức ở bên ngoài hệ thống nhưng trao đổi thông tin với hệ thống
Tên chức năng xử lý
Trang 19Tác nhân ngoài được biểu diễn bằng một hình chữ nhật, trong đó có ghi têntác nhân ngoài.
o Tác nhân trong : Là một chức năng hay một hệ thống
con Tác nhân trong được biểu diễn bằng một hình chữ nhật hở một cạnh,trong đó có ghi tên tác nhân trong
Tên tác nhân trong
Biểu đồ phân cấp chức năng hệ thống
Tên tác nhân ngoài
Đăng ký học theo mô hình tín chỉ
CN tôn giáo
CN dân tộc
CN đốitượng
CN môn học
Đăng kýhọcTạo lớphọcLớp họcphần
Thông tinSVKhung CT
Phiếu đăngkýDSSV lớpgốcDSSV lớphọc phần
Trang 20 Biểu đồ luồng dữ liệu của hệ thống
o Biểu đồ luồng dữ liệu mức ngữ cảnh của hệ thống
4) Đáp ứng các yêu cầu xem các thông tin
5) Cập nhật thông tin sinh viên và yêu cầu xem, in ấn thông tin
Khoa đàotạoNgành đàotạo
Ngành ĐTkhoa
(7) (8)
DS môn học
đã đăng ký
Trang 216) Đáp ứng việc tìm kiếm, in ấn thông tin về sinh viên theo yêu cầu
7) Cập nhật phiếu đăng ký
8) Xử lý phiếu đăng ký, tạo lớp học phần, hiển thị danh sách sinh viên
lớp học phần theo yêu cầu
o Biểu đồ luồng dữ liệu mức đỉnh
Tệp quản lý
Chú thích :
1) Thông tin sinh viên
2) Yêu cầu dăng ký học của sinh viên
(10) (11)
Trang 226) Cập nhật thông tin sinh viên
7) Yêu cầu tìm kiếm thông tin sinh viên
o Biểu đồ luồng dữ liệu mức dưới đỉnh
Chức năng cập nhật thông tin sinh viên
Tệp quản lý
Chú thích :
1) Thông tin sinh viên như: Họ tên, ngày sinh, quê quán, dân tộc, tôngiáo, đối tượng…
2) Cập nhật thông tin của sinh viên
3) Cập nhật môn học, số tín chỉ, cấp độ môn học cho từng ngành củakhoa đào tạo
Sinh viên CN thông tin
sinh viên
Người CN hồ sơ
CN khung chương trình(1)
(2)
(3)
Trang 23 Chức năng cập nhật thông tin các danh mục
Trang 241 Yêu cầu đăng ký học của sinh viên
2 Phiếu đăng ký học
3 Cập nhật phiếu đăng ký của sinh viên
4 Thông tin phiếu đăng ký
Người CN hồ sơ(1)
(2)
(3)
(4)
Trang 25CHƯƠNG III THIẾT KẾ HỆ THỐNG
1 Thiết kế cơ sở dữ liệu
Bảng TBADMIN Tên trường Kiểu dữ liệu Kích thước Chú thích
IDAdmin Int 4 Mã người truy cập hệ thốngFullName Nvarchar 30 Tên đầy đủ truy cập hệ thốngUserName Nvarchar 30 Tên đăng nhập hệ thốngPassWords Nvarchar 30 Mật khẩu người truy cậpPortrait Nvarchar 100 Hình ảnh người truy cập
Bảng TBMENU
Tên trường Kiểu dữ liệu Kích thước Chú thích
IĐAdmin Int 4 Mã người truy cập hệ thốngMenuName Nvarchar 50 Tên menu được truy cập
Bảng KHOA
Tên trường Kiểu dữ liệu Kích thước Chú thích
MaKhoa Nvarchar 4 Mã khoa đào tạo
TenKhoa Nvarchar 30 Tên khoa đào tạo
Bảng NGANHDT Tên trường Kiểu dữ liệu Kích thước Chú thích
MaNganh Nvarchar 2 Mã ngành đào tạo
TenNganh Nvarchar 30 Tên ngành đào tạo
Trang 26 Bảng NGANHKHOA Tên trường Kiểu dữ liệu Kích thước Chú thích
IDNganhKhoa Int 4 Mã ngành tương ứng với khoaMaKhoa Nvarchar 4 Mã khoa đào tạo
MaNganh Nvarchar 2 Mã ngành đào tạo
Bảng DOITUONG
Tên trường Kiểu dữ liệu Kích thước Chú thích
MaDoiTuong Nvarchar 6 Mã đối tượng chính sáchTenDoiTuong Nvarchar 30 Tên đối tượng chính sách
Bảng QUOCTICH
Tên trường Kiểu dữ liệu Kích thước Chú thích
MaQuocTich Smalint 2 Mã quốc tịch
TenQuocTich Nvarchar 30 Tên quốc tịch
Bảng DANTOC
Tên trường Kiểu dữ liệu Kích thước Chú thích
MaDanToc Smalint 2 Mã dân tộc
TenDanToc Nvarchar 30 Tên dân tộc
Bảng TONGIAO Tên trường Kiểu dữ liệu Kích thước Chú thích
MaTonGiao Smalint 2 Mã tôn giáo
TenTonGiao Nvarchar 30 Tên tôn giáo
Trang 27 Bảng MONHOC
Tên trường Kiểu dữ liệu Kích thước Chú thích
MaMon Smalint 2 Mã môn học
TenMon Nvarchar 50 Tên môn học
SoLopDaHoc Smalint 2 Số lớp học phần được tạo
Bảng LOPGOC Tên trường Kiểu dữ liệu Kích thước Chú thích
IDLopGoc Int 4 Mã lớp tương ứng với khoaIDNganhKhoa Int 4 Mã ngành tương ứng với khoaTenLop Nvarchar 4 Tên lớp gốc
Bảng GIOITINH
Tên trường Kiểu dữ liệu Kích thước Chú thích
IDGioiTinh Tinyint 1 Mã giới tính
TenGioiTinh Nvarchar 3 Tên giới tính
Bảng HSSV
Tên trường Kiểu dữ liệu Kích thước Chú thích
MaSV Int 4 Mã sinh viên
IDLopGoc Int 4 Mã lớp tương ứng với khoa
Ho Nvarchar 20 Họ của sinh viên
Ten Nvarchar 15 Tên của sinh viên
NgaySinh Nvarchar 10 Ngày sinh của sinh viên
GioiTinh Bit 1 Giới tính
QueQuan Nvarchar 50 Quên quán của sinh viênDiaChi Nvarchar 50 Địa chỉ liên lạc của sinh viênDienThoai Nvarchar 10 Điện thoại liên lạc
MaQuocTich Smalint 2 Mã quốc tịch
MaDanToc Smalint 2 Mã dân tộc
MaTonGiao Smalint 2 Mã tôn giáo
MaDoiTuong Nvarchar 6 Mã đối tượng
Photo Nvarchar 100 File chứa tệp ảnh hồ sơ SV
Trang 28 Bảng KHUNGCT Tên trường Kiểu dữ liệu Kích thước Chú thích
IDKhungCT Int 4 Mã khung chương trình
IDNganhKhoa Int 4 Mã ngành tương ứng với khoaMaMon Smallint 2 Mã môn học
SoTinChi Smallint 2 Số tín chỉ
Bảng DANGKY
Tên trường Kiểu dữ liệu Kích thước Chú thích
MaSV Int 4 Mã sinh viên
MaMon Smallint 2 Mã môn học
SoTinChi Smallint 2 Số tín chỉ
NgayDangKy Nvarchar 10 Ngày đăng ký
HocKy Tinyint 1 Học kỳ
NamHoc Nvarchar 11 Năm học
SoLanDK Tinyint 1 Số lần đăng ký học phầnXepLop Bit 1 Lớp học phần đã tạo Xlop=1HoanThanh Bit 1 Sinh viên thi qua Hthanh=1
TenLop Nvarchar 50 Tên lớp học phần
NgayTaoLop Nvarchar 10 Ngày tạo lớp học phần
HocKy Tinyint 1 Học kỳ
NamHoc Nvarchar 11 Năm học
Trang 29 Bảng SVLOPHOCPHAN Tên trường Kiểu dữ liệu Kích thước Chú thích
IDLopHocPhan Int 4 ID lớp học phần
MaSV Int 4 Mã sinh viên
DiemCC Float 8 Điểm chuyên cần
DiemGK Float 8 Điểm giữa kỳ
DiemCK Float 8 Điểm cuối kỳ
DiemHP Float 8 Điểm học phần
Bảng RANGBUOCMON
Tên trường Kiểu dữ liệu Kích thước Chú thích
IDKhungCT Int 4 ID khung chương trìnhMaMon Smallint 2 Mã môn học
2 Lựa chọn hệ quản trị cơ sở dữ liệu và ngôn ngữ lập trình
Các hệ quản trị cở sở dữ liệu hiện nay có rất nhiều như: Foxpro,Microsoft Access, SQL Server, Oracle,…nhưng SQL Server đã trở thànhphổ dụng và cung cấp đầy đủ các công cụ cần thiết để tạo các cơ sở dữ liệuđạt hiệu quả cao và giao diện thân thiện với người dùng
Căn cứ vào những yêu cầu của hệ thống tôi đã quyết định chọn hệ quảntrị cơ sở dữ liệu SQL Server 2000 và ngôn ngữ lập trình C# để xây dựng hệthống này
Trang 303 Mô hình liên kết dữ liệu
Trang 31CHƯƠNG IV CÀI ĐẶT HỆ THỐNG
1 Form truy nhập hệ thống
Click vào nút “Đăng nhập” hệ thống yêu cầu người sử dụng phải
nhập tên và mật khẩu truy nhập Nếu nhập sai tên hoặc mật khẩu hệthống sẽ thông báo và yêu cầu nhập lại
Click vào nút “Bỏ qua” thì việc truy nhập vào hệ thống sẽ không
được thực hiện
Chọn thời gian làm việc của hệ thống dựa vào năm học và học kỳ.Mỗi năm học được chia làm 2 học kỳ Sinh viên sẽ đăng ký vàođầu mỗi học kỳ của năm học đó
Hệ thống có thể lưu thông tin của người sử dụng vào hệ thống hoặckhông lưu thông tin nếu người sử dụng không muốn
Trang 322 Form phân quyền và tạo người sử sụng
Click “Thêm mới” hệ thống yêu cầu người sử dụng phải khai báo đầy
đủ các thông tin như: Tên đầy đủ, Tên đăng nhập, Mật khẩu, Nhập lạimật khẩu
Khi nhập đầy đủ các thông tin sẽ tiến hành thực hiện phân quyền sửdụng bằng việc click vào các chức năng Với người quản trị hệ thống
sẽ được chọn toàn bộ các chức năng, còn những người sử dụng khácthì chỉ được chọn một trong số những chức năng mà hệ thống chophép
Click “Sửa” hay “Xoá” cho phép người sử dụng thay đổi thông tin
hoặc thay đổi chức năng sử dụng