2 Mục đích nghiên cứu Xây dựng chương trình “Quản lý sinh viên” nhằm hỗ trợ cho công tácquản lý thông tin sinh viên một cách tốt hơn, giúp cho việc điều chỉnh và bổsung thông tin được t
Trang 1TRƯỜNG CAO ĐẲNG SƯ PHẠM ĐẮK LẮK KHOA NGOẠI NGỮ-TIN HỌC–KINH TẾ
Trang 2PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
“Quản lý sinh viên” luôn là vấn đề được nhà trường quan tâm Trongtrường cao đẳng sư phạm em đang học việc quản lý sinh viên vẫn chưa đượchoàn thiện đôi khi vẫn còn những sai sót về thông tin sinh viên Nhữngthông tin cũ và sai tuy đã được sửa nhưng chưa đồng nhất trong giấy tờ ởcác phòng, khoa tạo ra việc không đồng nhất thông tin
Thêm vào đó chúng em muốn thể hiện đầy đủ thông tin để việc tìmkiếm, tra cứu thông tin về sinh viên được đầy đủ hơn nhằm tiết kiệm thờigian Vì vậy nhóm em chọn đề tài “Quản lý sinh viên”
2 Mục đích nghiên cứu
Xây dựng chương trình “Quản lý sinh viên” nhằm hỗ trợ cho công tácquản lý thông tin sinh viên một cách tốt hơn, giúp cho việc điều chỉnh và bổsung thông tin được thực hiện dễ dàng và chính xác, việc tìm kiếm thông tinkhông mất nhiều thời gian, nâng cao hiệu quả công việc và tiết kiệm đượcnhiều thời gian
3 Phạm vi nghiên cứu
Nghiên cứu quản lý sinh viên theo hệ thống tín chỉ, trong đó quản lýthông tin sinh viên theo ngành, khóa, khoa, ngày sinh, dân tộc, giới tính,theo học chương trình đào tạo chính quy, văn bằng 2 hay tại chức, thông tin
về điểm đánh giá rèn luyện, xếp loại rèn luyện
Trang 3PHẦN NỘI DUNG
CHƯƠNG I CƠ SỞ LÝ THUYẾT
I.1 Ngôn ngữ Java
- Máy ảo Java (JVM - Java Virtual Machine)
Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra
mã máy Mã máy của từng kiến trúc CPU của mỗi máy tính là khác nhau (tập lệnh mã máy của CPU Intel, CPU Solarix, CPU Macintosh … là khác nhau), vì vậy trước đây một chương trình sau khi được biên dịch xong chỉ cóthể chạy được trên một kiến trúc CPU cụ thể nào đó Đối với CPU Intel chúng ta có thể chạy các hệ điều hành như Microsoft Windows, Unix,Linux,OS/2, …
Chương trình thực thi được trên Windows được biên dịch dưới dạng file
có đuôi EXE còn trên Linux thì được biên dịch dưới dạng file có đuôi ELF,
vì vậy trước đây một chương trình chạy được trên Windows muốn chạy được trên hệ điều hành khác như Linux chẳng hạn thì phải chỉnh sửa và biêndịch lại
Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên
đã được khắc phục Một chương trình viết bằng ngôn ngữ lập trình Java sẽ được biên dịch ra mã của máy ảo java (mã java bytecode) Sau đó máy ảo Java chịu trách nhiệm chuyển mã java bytecode thành mã máy tương ứng Sun Microsystem chịu trách nhiệm phát triển các máy ảo Java chạy trên các
hệ điều hành trên các kiến trúc CPU khác nhau
- Thông dịch:
Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch Chương trình nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy
Trang 4- Độc lập nền:
Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều máy tính có hệ điều hành khác nhau (Windows, Unix, Linux, …) với điều kiện ở
đó có cài đặt máy ảo java (Java Virtual Machine)
- Hướng đối tượng:
Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngônngữ lập trình hướng đối tượng hoàn toàn Tất cả mọi thứ đề cập đến trong Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chương trình viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa
- Đa nhiệm - đa luồng (MultiTasking - Multithreading):
Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thể chạy song song cùng một thời điểm và tương tác với nhau
- Khả chuyển (portable):
Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trên máy ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy ảo Java “Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere)
- Hỗ trợ mạnh cho việc phát triển ứng dụng:
Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem”cung cấp nhiều công cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác nhau cụ thể như:
+ J2SE (Java 2 Standard Edition) hỗ trợ phát triển những ứng dụng đơn, ứng dụng client-server
+ J2EE (Java 2 Enterprise Edition) hỗ trợ phát triển các ứng dụng thương mại
Trang 5+ J2ME (Java 2 Micro Edition) hỗ trợ phát triển các ứng dụng trên các thiết bị di động, không dây, …
I.2 MySQL
Tính linh hoạt: Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh
hoạt, có sức chứa để xử lý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ liệu đồ sộ lên đến hàng terabytes thông tin Sự linhhoạt về flatform là một đặc tính lớn của MySQL với tất cả các phiên bản củaLinux, Unix, và Windows đang được hỗ trợ Và dĩ nhiên, tính chất mã
nguồn mở của MySQL cho phép sự tùy biến hoàn toàn theo ý muốn để thêm
vào các yêu cầu thích hợp cho database server
Tính thực thi cao: Kiến trúc storage-engine cho phép các chuyên gia
cơ sở dữ liệu cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù Dù ứng dụng là một hệ thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụ hàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi khắt khe nhất của bất kì hệ thống nào Với các tiện ích tải tốc độ cao, đặc biệt bộ nhớ caches, và các cơ chế xử
lý nâng cao khác, MySQL đưa ra tất cả các vũ khí cần phải có cho các hệ thống doanh nghiệp khó tính ngày nay
Có thể sử dụng ngay: Sự đáng tin cậy cao và tính “mì ăn liền” là
những tiêu chuẩn đảm bảo của MySQL MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạo chủ/tớ tốc độ cao, để các nhà phân phối thứ
3 đưa ra những giải pháp có thể dùng ngay duy nhất cho server cơ sở dữ liệuMySQL
Hỗ trợ giao dịch mạnh: MySQL đưa ra một trong số những engine
giao dịch cơ sở dữ liệu mạnh nhất trên thị trường Các đặc trưng bao gồm hỗtrợ giao dịch ACID hoàn thiện ( Atomic – tự động, Consistent – thống nhất,
Trang 6Isolated – độc lập, Durable – bền vững), khóa mức dòng không hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa dạng (multi-version)
mà người đọc không bao giờ gây trở ngại cho người viết và ngược lại Tính toàn vẹn của dữ liệu cũng phải được bảo đảm trong suốt quá trình server có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa, và phát hiện khóa chết ngay lập tức
Nơi lưu trữ Web và Data đáng tin cậy: MySQL là nhà máy chuẩn
cho các web sites phải trao đổi thường xuyên vì nó có engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh, và hỗ trợ mạnh cho các chức năng chuyêndụng của web như tìm kiếm văn bản nhanh Những tính năng này cũng được
áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cường đến hàng terabyte cho các server đơn Các tính năng khác như bảng nhớ chính, cây B
và chỉ số băm, và bảng lưu trữ đã được cô lại để giảm các yêu cầu lưu trữ đến 80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng dụng web
và các ứng dụng doanh nghiệp
Chế độ bảo mật dữ liệu mạnh: Vì bảo mật dữ liệu cho một công ty là
công việc số một của các chuyên gia về cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽ được bảo mật tuyệt đối Trong
việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp các kĩ thuật mạnh mà
chắc chắn chỉ có người sử dụng đã được xác nhận mới có thể truy nhập đượcvào server cơ sở dữ liệu, với khả năng này để chặn người dùng ngay từ mức máy khách là điều có thể làm được SSH và SSL cũng được hỗ trợ để chắc chắn các kết nối được an toàn và bảo mật Một đối tượng framework đặc quyền được đưa ra mà người sử dụng chỉ có thể nhìn thấy dữ liệu, các hàm
mã hóa và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ được bảo mật Cuối cùng, tiện ích backup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 cho phép backup logic và vật lý hoàn thiện cũng như
Trang 7recovery toàn bộ hoặc tại một thời điểm nào đó.
Sự phát triển ứng dụng hỗn hợp: Một trong số các lý do khiến cho
MySQL là cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới là nó cung cấp
hỗ trợ hỗn hợp cho bất kì sự phát triển ứng dụng nào cần Trong cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong các stored procedure, trigger,
function, view, cursor, ANSI-standard SQL, và nhiều nữa Với các ứng dụngnhúng, thư viện plug-in có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗ
trợ trong bất kì ứng dụng nào MySQL cũng cung cấp các bộ kết nối như: ODBC, JDBC, … để cho phép tất cả các form của ứng dụng sử dụng
MySQL như một server quản lí dữ liệu được ưu tiên
Dễ dàng quản lý: MySQL trình diễn khả năng cài đặt nhanh đặc biệt
với thời gian ở mức trung bình từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất chưa đầy 15 phút Điều này đúng cho dù flatform là Microsoft Windows, Linux, Macintosh hay Unix Khi đã được cài đặt, tính năng tự quản lý như tự động mở rộng không gian, tự khởi động lại, và cấu
hình động sẵn sàng cho người quản trị cơ sở dữ liệu làm việc MySQL cũng
cung cấp một bộ hoàn thiện các công cụ quản lý đồ họa cho phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của nhiều server MySQL từ một máy trạm đơn Nhiều công cụ của các hãng phần mềm thứ 3 cũng có sẵn
trong MySQL để điều khiển các tác vụ từ thiết kế dữ liệu và ETL, đến việc
quản trị cơ sở dữ liệu hoàn thiện, quản lý công việc, và thực hiện kiểm tra
Mã nguồn mở: Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho
phần mềm mã nguồn mở vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục vụ chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn về sự thành công toàn diện cho các ứng dụng chủ chốt của họ Những lo lắng của họ có thể được dẹp bỏ với
MySQL, sự bồi thường là có trong mạng lưới MySQL
Trang 8Chi phí thấp: Bằng cách sử dụng MySQL cho các dự án phát triển
mới, các công ty đang thấy rõ việc tiết kiệm chi phí Được hoàn thành thông qua sử dụng server cơ sở dữ liệu MySQL và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạt được ở mức ngạc nhiên về khả năng xử
lý Thêm vào đó, tính tin cậy và dễ duy trì của MySQL ở mức trung bình mà
người quản trị cơ sở dữ liệu không phải mất nhiều thời gian sửa chữa hay vấn đề thời gian chết
I.3 Lý thuyết về Phân tích thiết kế hệ thống
- Là quy trình để phát triển và bảo trì một ứng dụng hệ thống thông tinvới mục đích nâng cao hiệu quả công việc
- PTTK HT được thực hiện dựa trên quy trình công nghệ phần mềmgồm phương pháp luận, công nghệ và công cụ
- Phương pháp luận: trình tự của cách tiếp cận từng bước để phát triểnsản phẩm cuối cùng là HTTT
- Kỹ năng: trình tự mà người phân tích hệ thống theo để thực hiện cáccông việc như phỏng vấn người dùng để xác nhận yêu cầu, lập kế hoạch, vẽbiểu đồ,…
- Công cụ: chương trình máy tính Ví dụ như CASE( computer- aidedsofware engineering) để thực hiện các kỹ năng cụ thể một cách dễ dàng
- Phương pháp luận, kỹ thuật, công cụ tạo nên một cách tiếp cận có hệthống để phân tích và thiết kế hệ thống
- Đóng vai trò cốt lõi trong việc phát triển hệ thống: Phân tích hệ thống là nghiên cứu vấn đề trong tổ chức, đưa ra giải pháp để nâng cao tổ chức.
CHƯƠNG II PHÂN TÍCH THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN
Trang 9II.1 Phân tích hiện trạng và yêu cầu
Hệ thống quản lý sinh viên ở trường còn vấp phải sự bất cập giữa cácphòng và khoa, nhờ việc sữa đổi thông tin về sinh viên ở khoa, nhưng ở cácphòng khác vẫn giữ nguyên thông tin cũ chưa được cập nhật Hằng nămnhững phiếu xếp loại rèn luyện và điểm đánh giá rèn luyện của sinh viên laichất đầy phòng khoa, mất thời gian lưu trữ và tìm kiếm Muốn tìm thông tìmnào đó của sinh viên phải mất nhiều thời gian
Yêu cầu đặt ra là chương trình phải khắc phục được những hạn chế nêutrên, việc chỉnh sửa thông tin phải được đồng nhất Quản lý sinh viên cầnphải có đầy đủ thông tin của sinh viên theo học ngành nào? Khóa nào?Khoa nào? Đang theo học hình thức nào? (văn bằng 2, chính qui, tại chức),quản lý điểm đánh giá rèn luyện và xếp loại rèn luyện của sinh viên
II.2 Quy trình nghiệp vụ hệ thống
Hệ thống phải có chức năng cập nhật, chỉnh sửa và bổ sung thông tin
một cách đầy đủ và chính xác, chức năng quản lý sinh viên theo ngành,khóa, khoa, hình thức đang theo học và điểm rèn luyện Cung cấp được đầy
đủ, chi tiết thông tin về sinh viên khi tìm kiếm, sinh viên theo học ngànhnào? Khóa nào? Khoa nào? Đang theo học hình thức nào? (văn bằng 2,chính qui, tại chức), điểm đánh giá rèn luyện và xếp loại rèn luyện của sinhviên
PHẦN
II.3 Phân rã chức năng
Trang 10II.4 Thiết kế cơ sở dữ liệu
Bảng II.4.1: Hososv (Hồ sơ sinh viên)
STT Tên trường Kiểu dữ liệu Chú thích
1 Masv (KC) Varchar(10) Mã sinh viên
2 Hotensv Varchar(40) Họ và tên sinh viên
3 Ngaysinh Datetime(10) Ngày sinh
4 Gioitinh Varchar(5) Giới tính
5 Dantoc Varchar(10) Tên dân tộc
6 Tongiao Varchar(15) Tên tôn giáo
7 Hotencha Varchar(40) Tên cha
8 Nghenghiepcha Varchar(15) Nghề ngiệp của cha
9 Diachicha Varchar(50) Địa chỉ của cha
10 Hotenme Varchar(40) Tên mẹ
11 Nghenghiepme Varchar(15) Nghề ngiệp của mẹ
11 Diachime Varchar(50) Địa chỉ của mẹ
theo thông tin sinh viên
Trang 1112 HKTT Varchar(50) Hộ khẩu thường trú
Bảng II.4.2: DanhgiaRL ( Đánh giá rèn luyện)
STT Tên trường Kiểu dữ liệu Chú thích
1 Masv (KN) Varchar(10) Mã sinh viên
2 Kyhoc (KC) Varchar(15) Kỳ học
3 Diemsv Float Điểm sinh viên tự đánh giá rèn luyện
4 DiemCVHT Float Điểm cố vấn học tập
5 Diemkhoa Float Điểm đánh giá rèn luyện của khoa
6 XeploaiRL Varchar(10) Xếp loại rèn luyện
STT Tên trường Tên trường Chú thích
1 Makhoa (KC) Varchar(10) Mã khoa
2 Tenkhoa Varchar(40) Tên Khoa
Bảng II.4.5: Theohoc (Theo học)
STT Tên trường Tên trường Chú thích
1 Masv ( KN) Varchar(10) Mã sinh viên
2 Manganh (KN) Varchar(10) Mã ngành
3 Makhoahoc (KC) Varchar(10) Mã khoá học
4 LoaihinhDT Varchar(15) Loại hình đạo tạo
II.5 Thiết kế giao diện
Phần mềm có một login gồm có: Tài khoản và Mật khẩu Người dùng phải nhập đúng tên Tài khoản và Mật khẩu đã đăng ký thì mới có thể đăng nhập vào hệ thống
Trang 12Hình II.5.1: Đăng nhập Nếu người dùng đăng nhập vào hệ thống với tài khoản admin thì người
dùng có thể thực hiện tất cả chức năng của chương trình Còn nếu ngườidùng đăng nhập với tài khoản khác thì sẽ bị giới hạn chức năng quản lý dữliệu
Và đây là một số form chức năng quản lý của chương trình, với quyềnđăng nhập là ADMIN thì bạn có thể sử dụng được các chức năng thêm, sửa,xóa dữ liệu
- Hồ sơ sinh viên:
Trang 13Hình II.5.2: Thông tin sinh viên
- Đánh giá rèn luyện:
Trang 14Hình II.5.3: Thông tin về đánh giá rèn luyện
- Khoa:
Trang 15Hình II.5.4: Thông tin về khoa
- Ngành:
Trang 16Hình II.5.5: Thông tin về ngành học
- Theo học:
Trang 17Hình II.5.6: Thông tin về theo học
- Tìm kiếm theo mã sinh viên:
Trang 18Hình II.5.7: Tìm kiếm theo mã sinh viên
- Tìm kiếm theo mã ngành:
Trang 19Hình II.5.8: Tìm kiếm theo mã ngành
- Tìm kiếm theo mã khóa học:
Trang 20Hình II.5.9: Tìm kiếm theo mã khóa học
PHẦN KẾT LUẬN
Trang 21- Bổ sung thêm nhiều chức năng nữa cho phù hợp với công việcquản lí sinh viên như đăng kí học, thời khóa biểu, lịch thi, sinh viênđăng nhập để nhập phiếu tự đăng kí rèn luyện.
- Tối ưu chương trình và xây dựng hệ thống có thể thực hiện vớiviệc sử dụng Online tiện cho việc tiếp cận hệ thống của giáo viên,sinh viên
TÀI LIỆU THAM KHẢO