MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ, BIỂU ĐỒ MỞ ĐẦU 1 1. Đặt vấn đề 1 2. Mục tiêu của đề tài 2 3. Nội dung nghiên cứu 2 4. Phương pháp nghiên cứu 2 5. Bố cục của đồ án 3 CHƯƠNG 1: TỔNG QUAN BÀI TOÁN 4 1.1. Mô tả bài toán 4 1.1.1. Cơ cấu tổ chức 4 1.1.2. Tiêu chuẩn đánh giá 4 1.2. Yêu cầu về giao diện phần mềm 6 1.3. Môi trường phát triển phần mềm 6 1.3.1. Ngôn ngữ lập trình c 6 1.3.2. Mô hình 3 Lớp: 8 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 16 2.1. Sơ đồ usecase: 16 2.2. Biểu đồ trạng thái 21 2.3. Biểu đồ hoạt động 23 2.4. Biểu đồ tuần tự 27 2.5. Sơ đồ lớp 37 2.6. Thiết kế cơ sở dữ liệu: 38 CHƯƠNG 3: XÂY DỰNG PHẦN MỀM 42 3.1. Thiết kế giao diện: 42 3.1.1. Giao diện Phân quyền tác vụ hệ thống: 42 3.1.2. Giao diện Menu chương trình: 45 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58 TÀI LIỆU THAM KHẢO
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
LÊ THỊ THU HUYỀN
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG PHẦN MỀM QUẢN LÝ HỌC SINH
TRƯỜNG TIỂU HỌC THANH CHÂU
Chuyên ngành: Công Nghệ Thông Tin
Mã ngành: D480201
NGƯỜI HƯỚNG DẪN : TS PHẠM MINH HẢI
Hà Nội –2017
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan
Những nội dung trong báo cáo này là do tôi thực hiệndưới sự hướng dẫn trực tiếp của thầy giáo TS Phạm Minh Hải
Mọi tham khảo trong báo cáo này đều được trích dẫn đầy
Trang 3LỜI CẢM ƠN
Để hoàn thành đồ án tốt nghiệp này em đã nhận được sự giúp đỡ nhiệttình của các thầy cô trong trường, bạn bè và gia đình Đầu tiên em xin gửi lờicảm ơn chân thành đến các thầy cô giáo trong khoa Công Nghệ Thông Tincủa trường Đại học Tài nguyên và Môi trường Hà Nội đã tạo điều kiện, quantâm, giúp đỡ em trong suốt quá trình học tập và làm đồ án
Đặc biệt, em xin gửi lời cảm ơn sâu sắc nhất tới T.S Phạm Minh Hải,
đã quan tâm, chỉ bảo, hướng dẫn em rất tận tình trong suốt quá trình em thựchiện đồ án
Cuối cùng em xin gửi lời cảm ơn tới gia đình, bạn bè đã luôn quantâm, động viên giúp đỡ để em hoàn thành tốt đồ án này
Em xin chân thành cảm ơn!
Hà Nội, ngày tháng năm 2017
SINH VIÊN
Lê Thị Thu Huyền
Trang 4MỤC LỤC
Trang 5DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Danh sách các từ viết tắt:
2 DMTB Điểmtrung bình kiểm tra miệng
3 D15TB Điểm trung bìnhkiểm tra 15’
4 D1TTB Điểm trung bình kiểm tra 1 tiết
6 ĐTBMHK Điểm trung bình chung học kỳ của môn học
7 ĐTBHK Điểm trung bình theo học kỳ
8 ĐTBCN Điểm trung bình cả năm
Danh sách các ký hiệu[2]
- Sơ đồ use-case: Dùng để mô hình hóa các chức năng của hệ thống.
(Tác nhân) Chỉ các đối tượng tương tác vớichương trình
2 Use- case Các chức năng mà Actor có thể sử
dụng trên chương trình
3 Asociation Mô tả mối quan hệ giữa Actor và
Use- case hoặc giữa các Use-casevới nhau
4 Generation Mô tả mối qua hệ kế thừa giữa
các Actor với Actor hoặc Use-casevới Use-case
5 <<include>> Mô tả mối quan hệ điều kiện giữa
các Use- case: Phải thực hiện Btrước thì mới thực hiện được A
6 <<extend>> Mô tả mối quan hệ bổ sung giữa
các Use-case: B là chức năng mởrộng của A hay B là Use-case concủa A
Trang 6STT Kí hiệu Tên gọi Ý nghĩa
bounadary(Ranh giới
hệ thống)
Phân vùng của hệ thống, chươngtrình hoặc quy trình nghiệp vụ
- Biểu đồ trạng thái: Dùng để chỉ ra cách các đối tượng phản ứng với các sự
kiện và cách biến đổi theo sự kiện đó
(Sự kiện) Thể hiện tác động làm thay đổitrạng thái của đối tượng.-
Trang 7- Biểu đồ hoạt động: Dùng để mô hình hóa các hoạt động trong 1 quy trình
Điểm kết thúc của 1 quy trìnhnghiệp vụ
(Hành động) Các hành động có trong quytrình
(Dòng điềukhiển)
Kết nối các hoạt động với nhau
(Rẽ nhánh) Thể hiện điều kiện rẽ nhánh.
(Đường phân tách)
Đường phân tách nhóm hoạtđộng liên quan đến các đốitượng cụ thể
Trang 8
Biểu đồ tuần tự : Mô tả sự tương tác của các đổi tượng để tạo nên chức năng
của hệ thống
(Đối tượng) Mô tả 1 đối tượng trong hệthống với đường đời là phần
gạch rời thẳng đứng phía dưới
(Đối tượng) Đối tượng thao tác với hệthống
3 Activation Thời gian gian sống của đổi
6. 5 Return mesage Thông điệp trả về
7 Procedure Là 1 phương thức của B mà gọi
đối tượng A thực hiện
Trang 9DANH MỤC CÁC HÌNH VẼ, BIỂU ĐỒ
Trang 10MỞ ĐẦU
1 Đặt vấn đề
Hiện nay, công nghệ thông tin được xem là một ngànhmũi nhọn của các quốc gia, đặc biệt là các quốc gia đangphát triển, tiến hành công nghiệp hóa và hiện đại hoá nhưnước ta Sự bùng nổ thông tin và sự phát triển mạnh mẽ củacông nghệ kỹ thuật số, yêu cầu muốn phát triển thì phải tinhọc hoá tất cả các ngành, các lĩnh vực
Cùng với sự phát triển nhanh chóng về phần cứng máytính, các phần mềm ngày càng trở nên đa dạng, phong phú,hoàn thiện hơn và hỗ trợ hiệu quả cho con người Các phầnmềm hiện nay ngày càng mô phỏng được rất nhiều nghiệp vụkhó khăn, hỗ trợ cho người dùng thuận tiện sử dụng, thời gian
xử lý nhanh chóng, và một số nghiệp vụ được tự động hoácao
Do vậy mà trong việc phát triển phần mềm, sự đòi hỏikhông chỉ là sự chính xác, xử lý được nhiều nghiệp vụ thực tế
mà còn phải đáp ứng các yêu cầu khác như về tốc độ, giaodiện thân thiện, mô hình hoá được thực tế vào máy tính đểngười sử dụng tiện lợi, quen thuộc, tính tương thích cao, bảomật cao (đối với các dữ liệu nhạy cảm),… Các phần mềm giúptiết kiệm một lượng lớn thời gian, công sức của con người, vàtăng độ chính xác và hiệu quả trong công việc (nhất là việcsửa lỗi và tự động đồng bộ hoá)
Ví dụ như việc quản lý học sinh một trường tiểu học, nếukhông có sự hỗ trợ của tin học, việc quản lý này phải cần khá
Trang 11nhiều người, chia thành nhiều khâu, mới có thể quản lý đượctoàn bộ hồ sơ học sinh (thông tin, học bạ, lớp học, …), lớp học(sĩ số, giáo viên chủ nhiệm,…), giáo viên,… Các công việcnày đòi hỏi nhiều thời gian và công sức, mà sự chính xác vàhiệu quả không cao, vì đa số đều làm bằng thủ công rất ít tựđộng Một số nghiệp vụ như tra cứu, thống kê, và hiệu chỉnhthông tin khá vất vả Ngoài ra còn có một số khó khăn về vấn
đề lưu trữ khá đồ sộ, dễ bị thất lạc, tốn kém,… Trong khi đó,các nghiệp vụ này hoàn toàn có thể tin học hoá một cách dễdàng Với sự giúp đỡ của tin học, việc quản lý học sinh sẽ trởnên đơn giản, thuận tiện, nhanh chóng và hiệu quả hơn rấtnhiều
2 Mục tiêu của đề tài
- Với đề tài Quản lý học sinh trường tiểu học, mục đích là xâydựng một chương trình hỗ trợ cho công tác quản lý học sinhhiệu quả và có thể ứng dụng trong thực tế
- Quản lý tốt các vấn đề về hồ sơ học sinh cũng như giáo viên
đỡ giúp tiết kiệm đáng kể thời gian
3 Nội dung nghiên cứu
- Nghiên cứu cách thức hoạt động trong việc quản lý trườngtiểu học Thanh Châu
- Xây dựng phần mềm quản lý theo sát thực tiễn với các chứcnăng cụ thể:
o Quản lý được cán bộ trong trường: thông tin cá nhân, chức vụ
o Quản lý học sinh trong trường: với số lượng học sinh rất lớn,chương trình sẽ cho phép quản lý thông tin học sinh, chỉnhsửa, thêm mới, tìm kiếm học sinh, phân lớp
o Quản lý các lớp học: số lớp, tình trạng mỗi lớp, sĩ số tối đa
Trang 12o Quản lý giáo viên: Phân công quyền tác vụ, phân cônggiáoviên bộ môn, giáo viên chủ nhiệm…
4 Phương pháp nghiên cứu
- Khảo sát trường tiểu học Thanh Châu, tìm hiểu về dãy phònghọc, số lớp, môn học của từng khối, cách thức quản lý cán bộ
và học sinh
- Tìm hiểu ngôn ngữ lập trình C#, cơ sở dữ liệu SQL Server
- Phân tích các chức năng của bài toán
- Thiết kế cơ sở dữ liệu
Trang 13CHƯƠNG 1: TỔNG QUAN BÀI TOÁN
1.1. Mô tả bài toán
1.1.1. Cơ cấu tổ chức
Hình 1.1 : Cơ cấu tổ chức trường tiểu học Thanh Châu
- Một trường tiểu học cần quản lý 5 khối lớp: Khối lớp 1, khốilớp 2, khối lớp 3, khối lớp 4, khối lớp 5
- BAN GIÁM HIỆU có trách nhiệm phân công giáo viên giảngdạy,thay đổi các quy định
- GIÁO VỤ có trách nhiệm quản lý học sinh, nhập điểm họcsinh, thống kê kết quả học kỳ,kết quả cuối năm, …
- GIÁO VIÊN có thể tìm kiếm học sinh, xem thông tin học sinh
và quản lý thông tin chương trình
1.1.2. Tiêu chuẩn đánh giá
- Tiêu chuẩn xét kết quả cuối kỳ, cuối năm:
Trang 14o Theo quy định về điểm đạt trong quy định chung, ta thống kêđược số lượng, % học sinh đạt của một lớp hoặc 1 môn cụ thể
- Quy định thanh điểm:
o Điểm kiểm tra miệng và 15 phút hệ số 1, điểm kiểm tra 1 tiết
1 :
Trang 15 Điểm trung bình chung cả năm: là trung bình cộng của điểmtrung bình học kỳ 1(DTBHK_1) và học kỳ 2(DTBHK_2) có nhân
hệ số, ở đây điểm trung bình học kỳ 1là hệ số 1 và điểm trungbình học kỳ 2 là hệ số 2:
1.2. Yêu cầu về giao diện phần mềm
- Yêu cầu thể hiện được các chức năng chính của chương trìnhquản lý học sinh trường tiểu học
- Giao hiện có màu sắc hài hòa, đơn giản, dễ sử dụng, tạo sựthân thiện với người dùng
1.3 Môi trường phát triển phần mềm
Trang 16Kế thừa và phát triển từ các ngôn ngữ lập trình trước được sự ưu ái từ
hệ điều hành Window, sau đây là một số điểm nổi bật của ngôn ngữ C#:
- Cú pháp C# hàm ý, nhưng nó cũng đơn giản và dễ dàng để học Nếu có kinhnghiệm với C, C++ hoặc Java thì bạn có thể bắt đầu làm việc hiệu quả trongC# với một thời gian rất ngắn vì c# có cú pháp tương tự, tuy nhiên C# đơngiản hơn so với C++ và cung cấp các tính năng mạnh mẽ như các loại giá trịnullable, enumerator, delegate, biểu thức lambda và việc truy cập bộ nhớ trựctiếp (unsafe code) mà bạn không tìm thấy trong ngôn ngữ Java
- C# hỗ trợ kiểu dữ liệu và phương thức chung (giống Java), ứng dụng C#nhanh bảo mật và mã nguồn có thể tái sử dụng
- C# Là một ngôn ngữ hướng đối tượng, C# hỗ trợ các khái niệm về đóng góincapsulation, thừa kế inheritance và đa hình polymorphism Tất cả các biến
và phương thức, bao gồm cả phương thức override virtual methods, đượcđóng gói trong Class Một lớp có thể kế thừa trực tiếp từ một lớp cha, nhưng
nó có thể có thực hiện nhiều interfaces khác nhau… Ngoài những nguyên tắc
cơ bản của ngôn ngữ hướng đối tượng, C# còn có những sáng tạo riêng:Encapsulation, Properties, Attribute, XML, Language-Integrated Query(LINQ)
- Việc sử dụng đối tượng COM hoặc Win32 DLLs thông qua "Interop" trở nên
dể dàng Thậm chí C# hỗ trợ con trỏ và các khái niệm của mã "không an toàn"đối với những trường hợp mà trong đó truy cập bộ nhớ trực tiếp là tuyệt đốiquan trọng
- Quy trình xây dựng ứng dụng C# đơn giản hơn so với C và C++ và linh hoạthơn trong Java
1.3.2. Mô hình 3 Lớp:
Mô hình 3 lớp là mô hình logic dùng để nhóm các thànhphần có cùng chức năng lại với nhau và phân chia nhiệm vụcho từng nhóm để công việc không bị chồng chéo và ảnh
Trang 17hưởng lẫn nhau Mô hình này gồm có 3 thành phần:Presentation layer(GUI), Business Logic Layer(BLL), DataAccess Layer(DAL).
để lưu dữ liệu xuống cơ sở dữ liệu (CSDL)
o Đây là nơi kiểm tra các yêu cầu ràng buộc, các yêu cầunghiệp vụ, tính toán, xử lý các yêu cầu và lựa chọn kết quảtrả về cho GUI
- DAL:
o Thực hiện nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệucủa ứng dụng như đọc, lưu, cập nhật CSDL
Trang 18Ưu điểm của việc sử dụng 3 lớp:
- Việc phân chia thành từng lớp giúp cho code được tường minh hơn Nhờ vàoviệc chia ra từng lớp đảm nhận các chức năng khác nhau và riêng biệt nhưgiao diện, xử lý, truy vấn thay vì để tất cả lại một chỗ Nhằm giảm sự kếtdính
- Dễ bảo trì khi được phân chia, thì một thành phần của hệ thống sẽ dễ thay đổi.Việc thay đổi này có thể được cô lập trong 1 lớp, hoặc ảnh hưởng đến lớp gần
Trang 19nhất mà không ảnh hưởng đến cả chương trình Một điều cũng vô cùng quantrọng đối với người lập trình viên đó là việc xử lý và bẫy các lỗi runtime Môhình 3 lớp hỗ trợ cho người lập trình xác định loại lỗi xuất hiện tại lớp nào và
dễ dàng đưa ra cách xử lý chúng ở từng lớp cụ thể
- Dễ phát triển, tái sử dụng: khi chúng ta muốn thêm một chức năng nào đó thìviệc lập trình theo một mô hình sẽ dễ dàng hơn vì chúng ta đã có chuẩn đểtuân theo Và việc sử dụng lại khi có sự thay đổi giữa hai môi trường(Winform sang Webfrom) thì chỉ việc thay đổi lại lớp GUI
- Dễ bàn giao Nếu mọi người đều theo một quy chuẩn đã được định sẵn, thìcông việc bàn giao, tương tác với nhau sẽ dễ dàng hơn và tiết kiệm đượcnhiều thời gian
- Dễ phân phối khối lượng công việc Mỗi một nhóm, một bộ phận sẽ nhận mộtnhiệm vụ trong mô hình 3 lớp Việc phân chia rõ ràng như thế sẽ giúp các lậptrình viên kiểm soát được khối lượng công việc của mình
Áp dụng mô hình 3 lớp vào xây dựng phần mềm “Quản
lý học sinh trường tiểu học Thanh Châu”
- Cấu trúc chương trình được xây dựng gồm các phần sau:
Về cơ bản cấu trúc chương trình được xây dựng theo mô hình 3 lớp vớicác chức năng tương đương như đã nêu ở trên, và có thay đổi 1 chút cho hợp
lý hơn với thực tiễn lập trình:
• FirstConnectDB
Trang 20Chứa form kết nối cơ sở dữ liệu, thực hiện chức năng tìm kiếm máychủ, thiết lập kết nối với cơ sở dữ liệu, giúp loại bỏ các câu lệnh kết nối vớiCSDL ở từng form gây tốn thời gian lập trình, và tài nguyên máy.
• QLHS.BUS[5]
Trang 21Gồm các class có chức năng: Xử lý dữ liệu, kiểm tra cácđiêu kiện ràng buộc, thực hiện tính toán.
Các lớp QLHS.BUS truy xuất tới : QLHS.DAL, QLHS.DTO
Trang 24Gồm các form giao diện chương trình, giúp người dùng tương tác với
hệ thống
Trang 25CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Tên Actor Ý nghĩa/Ghi chú
1 Ban giám hiệu Người có quyền quản lý mọi chức
năng trong hệ thống
2 Người dùng Nhân viên , công chức làm việc trong
trường học
- Giáo vụ Người quản lý hầu hết các chức năng
trong hệ thống, ngoại trừ chức năng:Quy định chung và Kết nối CSDL
- Giáo viên Người quản lý chức năng: Tìm kiếm
học sinh, thông tin chương trình
2 Đăng xuất Thoát khỏi trạng thái đăng nhập
3 Đổi mật khẩu Đổi mật khẩu đăng nhập vào hệ thống
4 Kết nối CSDL Lựa chọn sơ sở dữ liệu update vào
6 Quản lý hồ sơ Bao gồm các danh mục quản lý như:
Quản lý hồ sơ năm học: Quản lý năm
Trang 267 Quản lý điểm Bao gồm các danh mục quản lý như:
Nhập điểm môn học, bảng điển, tổngkết môn học, tổng kết học kỳ
Trang 27Hình 2.2 : Sơ đồ use-case tổng quát
Sơ đồ use-case phân rã các chức năng:
Hình 2.2 : Sơ đồ use-case phân rã chức năng Quản lý
hồ sơ
Trang 28Hình 2.3 : Sơ đồ use-case phân rã chức năng Quản lý
Trang 29Hình 2.5 : Nhiệm vụ của actor "Ban giám hiệu"
Nhiệm vụ của actor “Giáo vụ”:
Trang 30Hình 2.6 : Nhiệm vụ của actor “Giáo vụ”
Nhiệm vụ của actor “Giáo viên”:
Hình 2.7 : Nhiệm vụ của actor “Giáo viên”
2.2. Biểu đồ trạng thái
Biểu đồ trạng thái hệ thống
Trang 31Hình 2 8 : Bi ểu đồ trạng thái hệ thống
Trang 32 Biểu đồ trạng thái chức năng cập nhật
- Biểu đồ trạng thái chức năng cập nhật-Thêm
Hình 2 9 : Bi ểu đồ trạng thái chức năng cập nhật- Thêm
- Biểu đồ trạng thái chức năng cập nhật-Sửa
Hình 2.10: Bi ểu đồ trạng thái chức năng cập nhật- Sửa
Trang 33- Biểu đồ trạng thái chức năng cập nhật-Xóa:
Hình 2.1 1 : Bi ểu đồ trạng thái chức năng cập nhật- Xóa
2.3. Biểu đồ hoạt động
Trang 34Hình 2.12 : Bi ểu đồ hoạt động chức năng báo cáo tổng
kết
Hình 2.13 : Bi ểu đồ hoạt động chức năng đăng nhập
Trang 36Hình 2.14 : Bi ểu đồ hoạt động chức năng cập nhật
Trang 37 Chức năng tìm kiếm
Hình 2.15 : Bi ểu đồ hoạt động chức năng tìm kiếm
Trang 382.4. Biểu đồ tuần tự
Hình 2.16 : Bi ểu đồ tuần tự chức năng quản lý người
dùng(Thêm)
Trang 39- Chức năng quản lý người dùng-Sửa, Xóa:
Hình 2.17 : Bi ểu đồ tuần tự chức năng quản lý người
dùng(Sửa)
Trang 40Hình 2.18 : Bi ểu đồ tuần tự chức năng quản lý người
dùng(Xóa)
Trang 41Hình 2.19 : Bi ểu đồ tuần tự chức năng quản lý năm học
Trang 42 Chức năng quản lý môn học
Hình 2.20 : Bi ểu đồ tuần tự chức năng quản lý môn học
Hình 2.21 : Bi ểu đồ tuần tự mở form quản lý lớp học
Trang 43- Chức năng quản lý lớp học-Thêm:
Hình 2.22 : Bi ểu đồ tuần tự chức năng quản lý lớp học
(Thêm)
Trang 45Hình 2.23 : Bi ểu đồ tuần tự chức năng quản lý lớp học
(Sửa)
Trang 46Hình 2.24 : Bi ểu đồ tuần tự chức năng quản lý lớp học
(Xóa)
Trang 47Hình 2.25 : Bi ểu đồ tuần tự chức năng quản lý giáo viên
Trang 48 Chức năng tiếp nhận học sinh
Hình 2.26 : Bi ểu đồ tuần tự mở form tiếp nhận học sinh
Trang 49 Chức năng tìm kiếm học sinh
Hình 2.27 : Bi ểu đồ tuần tự chức năng tìm kiếm học
sinh
Trang 50 Chức năng cập nhật quy định
(Cập nhật quy định thành công)
Hình 2.28 : Bi ểu đồ tuần tự chức năng cập nhật quy
định
Trang 512.5. Sơ đồ lớp
Hình 2.29 : Sơ đồ lớp
Trang 522.6. Thiết kế cơ sở dữ liệu:
2 MaLoaiND varchar(10) Mã loại người dùng
Trang 535 TrangThai int Trạng thái
Bảng GIAOVIEN – Giáo viên
ST
T Tên trường Kiểu dữ liệu PK Diễn giải
1 MaGiaoVien varchar(10) PK Mã giáo viên
2 TenGiaoVien nvarchar(50) Tên giáo viên
2 TenHocSinh nvarchar(50) Họ tên học sinh