UBND TỈNH QUẢNG NAM TRƢỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN ----- ----- HÀ QUỐC DŨNG ỨNG DỤNG WINFORM C# NET XÂY DỰNG PHẦN MỀM QUẢN LÝ ĐIỂM HỌC SINH TRƢỜNG THCS CHU VĂN AN – DUY XUYÊN – QUẢNG NAM KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng nam, tháng 4 năm 2019 UBND TỈNH QUẢNG NAM TRƢỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN ----- ----- KHÓA LUẬN TỐT NGHI ỆP ĐẠI HỌC Tên đề tài: ỨNG DỤNG WINFORM C# NET XÂY DỰNG PHẦN MỀM QUẢN LÝ ĐIỂM HỌC SINH TRƢỜNG THCS CHU VĂN AN – DUY XUYÊN – QUẢNG NAM Sinh viên thực hiện HÀ QUỐC DŨNG MSSV: 2115011005 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2015 – 2019 Cán bộ hƣớn g dẫn Th S NGUYỄN VĂN KHƢƠNG MSCB: Quảng Nam, tháng 4 năm 2019 LỜI CẢM ƠN Em xin chân thành cảm ơn các thầy cô giáo Khoa Công Nghệ Thông Tin cũng nhƣ các thầy cô trong Trƣờng Đại Học Quảng Nam đã tận tình chỉ dạy, tạo điều kiện học tập tốt và giúp đỡ em trong suốt quá trình học tập tại trƣờng Đặc biệt , em xin chân thành cảm ơn sự nhiệt tình hƣớng dẫn, giúp đỡ của thầy Nguyễn Văn Khƣơng trong suốt thời gian em làm báo cáo khóa luận Xin gửi lời cảm ơn tới gia đình, bạn bè, những ngƣời luôn bên cạnh ủng hộ, động viên, giúp đỡ em trong suốt thời g ian qua Trong quá trình làm đồ án, em đã rất nỗ lực nhƣng không tránh khỏi những thiếu sót, hạn chế Em mong nhận đƣợc sự đóng góp ý kiến của thầy cô cùng các bạn để đề tài của em ngày một hoàn thiện hơn Em xin chân thành cảm ơn! Quản g Nam, Ngày 10 tháng 4 năm 201 9 S inh viên thực hiện Hà Quốc Dũng MỤC LỤC L Ờ I C ẢM ƠN A PH Ầ N M Ở ĐẦ U 1 1 1 Lý do ch ọn đề tài 1 1 2 M ụ c tiêu c ủa đề tài 2 1 3 Đối tƣợ ng và ph ạ m vi nghiên c ứ u 2 1 4 Phƣơng pháp nghiên cứ u 2 1 5 Đóng góp của đề tài 2 1 6 C ấu trúc đề tài 2 B N Ộ I DUNG NGHIÊN C Ứ U 3 C HƢƠNG 1: CỞ S Ở LÝ THUY Ế T 3 1 1 GI Ớ I THI Ệ U V Ề NGÔN NG Ữ L Ậ P TRÌNH C# 3 1 1 1 Khái ni ệ m ngôn ng ữ C# 3 1 1 2 Đặc trƣng củ a ngôn ng ữ C# 3 1 2 GI Ớ I THI Ệ U H Ệ QU Ả N TR Ị CƠ SỞ D Ữ LI Ệ U SQL SERVER 4 1 3 GI Ớ I THI Ệ U T Ổ NG QUAN V Ề UML 6 1 3 1 Gi ớ i thi ệ u chung v ề UML 6 1 3 2 Bi ểu đồ Use Case 8 CHƢƠ NG 2: PHÂN TÍCH VÀ THI Ế T K Ế H Ệ TH Ố NG 9 2 1 KH Ả O SÁT HI Ệ N TR Ạ NG 9 2 1 1 Thông tin chung 9 2 1 1 1 Th ờ i gian kh ả o sát 9 2 1 1 2 Địa điể m 9 2 1 1 3 Thành ph ầ n cung c ấ p thông tin 9 2 1 2 N ộ i dung kh ả o sát 9 2 1 2 1 Thông tin liên h ệ 9 2 1 2 2 Thông tin d ự án 9 2 1 2 3 Cơ sở h ạ t ầ ng c ủa nhà trườ ng trong vi ệ c qu ản lý điể m 10 2 1 2 4 Hướ ng tri ể n khai th ự c hi ện đề tài 10 2 2 PHÂN TÍCH THI Ế T K Ế H Ệ TH Ố NG 10 2 2 1 Danh sách các Use Case 10 2 2 2 Các bi ểu đồ Use Case c ủ a h ệ th ố ng 11 2 2 2 1 Bi ểu đồ Use Case t ổ ng quát 11 2 2 2 2 Bi ểu đồ Use Case đăng nhậ p 11 2 2 2 3 Bi ểu đồ Use Case Qu ả n lý giáo viên 11 2 2 2 4 Bi ểu đồ Use Case Qu ả n lý h ọ c sinh 12 2 2 2 5 Bi ểu đồ Use Case Qu ả n lý l ớ p 13 2 2 2 6 Bi ểu đồ Use Case Qu ản lý điể m 13 2 2 2 7 Bi ểu đồ Use Case Qu ả n lý h ọ c k ỳ 14 2 2 2 8 Bi ểu đồ Use Case Qu ả n lý môn h ọ c 14 2 2 2 9 Bi ểu đồ Use Case tìm ki ế m thông tin h ọ c sinh 15 2 2 2 10 Bi ểu đồ Use Case tìm ki ế m thông tin giáo viên 15 2 2 2 11 Bi ểu đồ Use Case th ố ng kê 15 2 2 3 Đặ c t ả các Use Case 16 2 2 3 1 Đặ c t ả Use Case đăng nhậ p 16 2 2 3 2 Đặ c t ả Use Case Qu ả n lý giáo viên 16 2 2 3 3 Đặ c t ả Use Case Qu ả n lý h ọ c sinh 16 2 2 3 4 Đặ c t ả Use Case Qu ả n lý l ớ p 17 2 2 3 5 Đặ c t ả Use Case Qu ản lý điể m 17 2 2 3 6 Đặ c t ả Use Case Qu ả n lý h ọ c k ỳ 17 2 2 3 7 Đặ c t ả Use Case Qu ả n lý môn h ọ c 18 2 2 3 8 Đặ c t ả Use Case tìm ki ế m giáo viên 18 2 2 3 9 Đặ c t ả Use Case tìm ki ế m h ọ c sinh 19 2 2 3 10 Đặ c t ả Use Case th ố ng kê h ọ c sinh 19 2 2 3 11 Đặ c t ả Use Case th ống kê điể m 19 2 3 THI Ế T K Ế CƠ SỞ D Ữ LI Ệ U 20 2 3 1 Gi ớ i thi ệ u b ảng đăng nhậ p 20 2 3 2 Gi ớ i thi ệ u b ả ng h ọ c sinh 20 2 3 3 Gi ớ i thi ệ u b ả ng môn h ọ c 21 2 3 4 Gi ớ i thi ệ u b ả ng l ớ p 21 2 3 5 Gi ớ i thi ệ u b ả ng giáo viên 22 2 3 6 Gi ớ i thi ệ u b ả ng h ọ c k ỳ 23 2 3 7 Gi ớ i thi ệ u b ảng điể m 24 2 3 8 Mô hình quan h ệ các b ả ng 25 2 4 CÀI ĐẶ T PH Ầ N M Ề M CH Ạ Y QUA CÁC MÁY TR Ạ M 25 2 4 1 T ạ o tài kho ả n sa 25 2 4 2 Các bƣớ c chia s ẻ d ữ li ệ u SQL Server 29 CHƢƠNG 3: DEMO CHƢƠNG TRÌNH 36 3 1 YÊU C Ầ U H Ệ TH Ố NG 36 3 2 GI Ớ I THI Ệ U CÁC GIAO DI ỆN CHƢƠNG TRÌNH 36 3 2 1 Giao di ện đăng nhậ p 36 3 2 2 Giao di ệ n màn hình chính 37 3 2 3 Giao di ệ n qu ả n lý thông tin giáo viên 38 3 2 4 Giao di ệ n qu ả n lý h ọ c sinh 39 3 2 5 Giao di ệ n qu ả n lý h ọ c k ỳ 40 3 2 6 Giao di ệ n qu ả n lý môn h ọ c 41 3 2 7 Giao di ệ n qu ả n lý l ớ p h ọ c 42 3 2 8 Giao di ệ n th ố ng kê h ọ c sinh 43 3 2 9 Giao di ệ n tìm ki ế m h ọ c sinh 44 3 2 10 Giao di ệ n tác gi ả 45 C K Ế T LU Ậ N 46 1 K ế t qu ả đạt đƣợ c 46 2 H ạ n ch ế 46 3 Ki ế n ngh ị 46 D TÀI LI Ệ U THAM KH Ả O 47 NH Ậ N XÉT C Ủ A GI Ả NG VIÊN 48 1 A PHẦN MỞ ĐẦU 1 1 Lý do chọn đề tài Hiện nay, công nghệ thông tin đƣợc xem là một ngành công nghiệp mũi nhọn của các quốc gia, đặc biệt là các quốc gia đang phát triển, tiến hành công nghiệp hóa hiện đại hóa nhƣ nƣớc ta Sự bùng nổ của thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật số, yêu cầu muốn phát triển thì phải tin học hóa vào 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áy tí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ần mềm hiện nay ngày càng mô phỏng đƣợc rất chuyên 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 hóa cao Do vậy mà trong việc phát triển phần mềm, sự đòi hỏi không chỉ là sự chính xác, xử lý đƣợc nhiều nghiệp vụ thực tế mà còn phải yêu cầu khác nhƣ về tốc độ, giao diện thân thiện, mô hình hóa đƣợc thực tế vào máy tính để giúp ngƣời sử dụng tiện lợi, quen thuộc, tính tƣơng thích cao, bảo mật cao…Các phần mềm giúp tiết kiệm một phần lớn thời gian, công sức của con ngƣời, và tăng độ chính xác hiệu quả trong công việc Một ví dụ cụ thể, việc quản lý điểm trong trƣờng trung học cơ sở, THCS Chu Văn An, huyện Duy Xuyên, tỉnh Quảng Nam Nếu không có sự hỗ trợ của tin học, việc quản lý này phải cần khá nhiều ngƣời, chia thành nhiều khâu mới có thể q uản lý đƣợc toàn bộ hồ sơ điểm của học sinh, lớp học…cũng nhƣ các nghiệp vụ tính điểm trung bình và xếp lực học tập cho học sinh toàn trƣờng Các công việc nà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 Chính vì những điều đó mà em đã chọn đề tài báo cáo khoá luận : “ Ứng dụng Winform C# net xây dựng phần mềm quản l ý điểm học sinh Trường THCS Chu Văn An – Duy Xuyên – Quảng Nam ” nhằm mong muốn phần mềm này sẽ đƣợc đƣa vào nhà trƣờn g để giúp các giáo vụ trong trƣờng quản lý học sinh dễ dàng hơn 2 1 2 Mục tiêu của đề tài Xây dựng đƣợc một phần mềm quản lý điểm tại trƣờng THCS Chu Văn An – Duy Xuyên – Quảng Nam, nâng cao chất lƣợng và hiệu quả trong việc quản lý điểm tại trƣờng 1 3 Đối tƣợng và phạm vi nghiên cứu Đối tƣợng nghiên cứu: - Ngôn ngữ lập trình C# - SQL Server - Phân tích thiết kế chương trình quản lý điểm của học sinh THCS Phạm vi nghiên cứu: - Trường THCS Chu Văn An, Duy Xuyên, Quảng Nam 1 4 Phƣơng pháp nghiên cứu - Đọc tài liệu - Phân tích, t ổng hợp tài liệu - Thống kê, phân tích dữ liệu - Phân tích, thiết kế trong xây dựng hệ thống 1 5 Đóng góp của đề tài - Ý nghĩa lý luận của đề tài: Đề tài là một tài liệu để tham khảo, nghiên cứu và là tiền đề để phát triển khi xây dựng các phần mềm khác có liên q uan - Ý nghĩa thực tiễn của đề tài: Ứng dụng đề tài vào việc quản lý điểm tại trƣờng THCS Chu Văn An đƣợc thuận tiện, đạt hiệu quả công việc, giảm thời gian công sức quản lý bằng sổ sách 1 6 Cấu trúc đề tài Chƣơng 1: CƠ SỞ LÝ THUYẾT Chƣơng 2: PHÂN TÍCH VÀ THI ẾT KẾ HỆ THỐNG Chƣơng 3: DEMO CHƢƠNG TRÌNH 3 B NỘI DUNG NGHIÊN CỨU C HƢƠNG 1 : CỞ SỞ LÝ THUYẾT 1 1 GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH C# 1 1 1 Khái niệm ngôn ngữ C# Ngôn ng ữ C# là m ộ t ngôn ng ữ l ập trình đƣợ c phát tri ể n t ừ ngôn ng ữ C và C++, nhƣng nó đƣợ c t ạ o t ừ n ề n t ả ng phát tri ển hơn, Microsoft thêm vào nhữ ng đặ t tính m ới để làm cho ngôn ng ữ này d ễ s ử d ụng hơn, nhiề u trong s ố nh ững đặ c tính này khá gi ố ng v ớ i ngôn ng ữ java Ngôn ng ữ C# là ngôn ng ữ đƣợ c thi ế t k ế cho Common Language Infrastructure (CLI), mà g ồ m Executable Code và Runtime Environment, cho phép ngƣờ i s ử d ụ ng các ngôn ng ữ high – level đa dạ ng trên các n ề n t ả ng và c ấ u trúc máy tính khác nhau Ngôn ng ữ C# v ớ i s ự h ỗ tr ợ m ạ nh m ẽ c ủ a NET Framework giúp cho vi ệ c t ạ o m ộ t ứ ng d ụ ng Windows Forms hay WPF, tr ở nên r ấ t d ễ dàng 1 1 2 Đặc trƣng của ngôn ngữ C# Các đặc điểm để làm cho C# là ngôn ngữ lập trình chuyên nghiệp đƣợc sử dụng rộng rãi: C# là ngôn ngữ đơn giản Nhƣ ta biết thì Ngôn ng ữ C# là m ộ t ngôn ng ữ l ập trình đƣợ c phát tri ể n t ừ ngôn ng ữ C và C++, nhƣng nó đƣợ c t ạ o t ừ n ề n t ả ng phát tri ển hơn, Microsoft thêm vào nh ững đặ t tính m ới để làm cho ngôn ng ữ này d ễ s ử d ụng hơn, nhiề u trong s ố nh ững đặ c tính này khá gi ố ng v ớ i ngôn ng ữ java C# là ngôn ngữ hiện đại Một vài khái niệm khá mới mẻ khá mơ hồ với ngƣời vừa mớ i học lập trình, nhƣ xử lý ngoại lệ, những kiểu dữ liệu mở rộng, bảo mật mã nguồn Đây là những đặc tính đƣợc cho là của một ngôn ngữ hiện đại cần có Và C# chứa tất cả các đặt tính ta vừa nêu trên Ta sẽ dần tìm hiểu đƣợc các đặt tính trên qua các bài học trong series này C# là ngôn ngữ lập trình thuần hƣớng đối tƣợng 4 Lập trình hƣớng đối tƣợng (Object - oriented programming, viết tắt: OOP) là một phƣơng pháp lập trình có 4 tính chất Đó là tính trừu tƣợng (abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa (interitance) C# hỗ trợ cho chúng ta tất cả những đặc tính trên C# là một ngôn ngữ ít từ khóa Nếu ta nghĩ rằng ngôn ngữ có càng nhiều khóa thì sẽ chƣơng trình sẽ tốt hơn Điều này không phải sự thật, lấy ví dụ ngôn ngữ C# làm điển hình Nếu bạn học sâu về C# bạn sẽ 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 Ngoài những đặc điểm trên thì còn một số ƣu điểm nổi bất của C#: + C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thố ng, nên cũng khá dễ dàng tiếp cận và học nhanh + C# có thể biên dịch trên nhiều nền tảng máy tính khác nhau + C# đƣợc xây dựng trên nền tảng của C++ và Java nên nó đƣợc thừa hƣởng những ƣu điểm của ngôn ngữ đó + C# là một phần của NET Framework nên đƣợc sự chống lƣng khá lớn đến từ bộ phận này + C# có IDE Visual Studio cùng nhiều plup - in vô cùng mãnh mẽ 1 2 GI Ớ I THI Ệ U H Ệ QU Ả N TR Ị CƠ SỞ D Ữ LI Ệ U SQL SERVER Microsoft SQL Server là m ộ t h ệ th ố ng qu ản lý cơ sở d ữ li ệ u quan h ệ (Relational Database Management Sye – RDBMS) s ử d ụng Transact SQL để trao đổ i d ữ li ệ u gi ữ a máy khác (Client computer) và máy ch ủ SQL Server M ộ t RDBMS bao g ồm các cơ sở d ữ li ệ u (CSDL), h ệ th ố ng qu ả n lý các CSDL này (database engine) và các ứ ng d ụng dùng để qu ả n lý d ữ li ệu cũng nhƣ các bộ ph ậ n khác nhau trong RDBMS SQL Server đƣợ c t ối ƣu để có th ể ch ạy trên môi trƣờng cơ sở d ữ li ệ u r ấ t l ớ n lên đế n Tera-Byte và có th ể ph ụ c v ụ cùng lúc cho hàng ngàn ngƣờ i s ử d ụ ng (user) SQL Server có th ể k ế t h ợp “ăn ý” với các server khác nhƣ Microsoft Internet Server (IIS), E- Commerce Server, Proxy Server… SQL Server có các ƣu điể m sau: 5 M ở r ộ ng kh ả năng quả n lý d ữ li ệ u c ủ a doanh nghi ệ p C ả i thi ệ n hi ệ u qu ả làm vi ệ c c ủ a l ậ p trình viên H ỗ tr ợ x ử lý thông minh các thao tác Các ch ức năng hỗ tr ợ phân quy ề n và b ả o m ậ t M ỗ i h ệ qu ả n tr ị cơ sở d ữ li ệ u có m ộ t ngôn ng ữ định nghĩa dự li ệ u riêng (DDL – Data Definition Languague) Đây là ngôn ngữ dùng để định nghĩa khai báo cấ u trúc c ủa cơ sở d ữ li ệ u Nh ững ngƣờ i thi ế t k ế và qu ả n tr ị cơ sở d ữ li ệ u th ự c hi ệ n các công vi ệ c khai báo c ấu trúc cơ sở d ữ li ệu Các chƣơng trình khai báo cấ u trúc CSDL đƣợ c vi ế t b ằ ng ngôn ng ữ DDL mà h ệ qu ả n tr ị CSDL cho phép Các chƣơng trình ứ ng d ụng đƣợ c vi ế t b ằ ng ngôn ng ữ l ậ p trình C++/ C#/ JAVA k ế t h ợ p v ớ i ngôn ng ữ thao tác d ữ li ệ u (DML – Data Manipulation Language) thông qua các thƣ việ n ho ặc đối tƣợ ng k ế t n ối CSDL đƣợ c ngôn ng ữ l ậ p trình h ỗ tr ợ : ODBC, RDO, ADO Các h ệ qu ả n tr ị cơ sở d ữ li ệ u quan h ệ ngày nay ph ổ bi ế n s ử d ụ ng các ngôn ng ữ DDL và DML d ự a trên ngôn ng ữ SQL Mô hình ho ạt độ ng c ủ a h ệ qu ả n tr ị cơ sở d ữ li ệ u 6 Mô hình tương tác củ a h ệ qu ả n tr ị cơ sở d ữ li ệ u 1 3 GI Ớ I THI Ệ U T Ổ NG QUAN V Ề UML 1 3 1 Gi ớ i thi ệ u chung v ề UML UML (Unifiled Modeling Language) là mô hình hóa th ố ng nh ấ t, là m ộ t ngôn ng ữ bi ể u di ễn mô hình theo hƣớng đối tƣợng đƣợ c xây d ự ng v ớ i ba tác gi ả trên v ớ i ch ủ đích là: Mô hình hóa các h ệ th ố ng s ử d ụ ng các khái ni ệm hƣớng đối tƣợ ng Thi ế t l ậ p m ộ t k ế t n ố i t ừ nh ậ n th ứ c c ủa con ngƣời đế n các s ự ki ệ n c ầ n mô hình hóa Gi ả i quy ế t v ấn đề v ề m ức độ th ừ a k ế trong các h ệ th ố ng ph ứ c t ạ p, có nhi ề u ràng bu ộ c khác nhau T ạ o m ộ t ngôn ng ữ mô hình hóa có th ể s ử d ụng đƣợ c b ởi ngƣờ i và máy UML t ổ ch ứ c m ộ t mô hình thành m ộ t lo ạt các hƣớ ng nhìn, th ể hi ệ n các khía c ạ nh khác nhau c ủ a h ệ th ố ng Khi k ế t h ợ p t ấ t c ả các hƣớ ng nhìn l ạ i v ớ i nhau, ta m ới có đƣợ c m ộ t b ứ c tranh tr ọ n v ẹ n v ề h ệ th ố ng M ột hƣớ ng nhìn không ph ả i là m ộ t hình v ẽ , n ội dung đƣợ c miêu t ả qua các bi ểu đồ, đây là nhữ ng hình v ẽ ch ứ a 7 đự ng các ph ầ n t ử mô hình hóa M ộ t bi ểu đồ bình thƣờ ng ch ỉ trình bày m ộ t ph ầ n n ộ i dung c ủ a m ột hƣớ ng nhìn, và m ột hƣớng nhìn đƣợc định nghĩa vớ i r ấ t nhi ề u bi ểu đồ M ộ t bi ểu đồ ch ứ a các ph ầ n t ử mô hình, ví d ụ nhƣ lớp, đối tƣợ ng, nút m ạ ng, thành ph ầ n và nh ữ ng m ố i quan h ệ nhƣ nố i k ế t, khái quát hóa, ph ụ thu ộ c Các ph ầ n t ử này có ý nghĩa và các ký hiệ u hình h ọ c UML có m ộ t s ố cơ chế chung để b ổ sung thông tin không th ể đƣợ c th ể hi ệ n trong quá trình v ẽ bi ểu đồ Nh ữ ng thông tin này bao g ồ m ví d ụ nh ữ ng thành ph ầ n trang trí, các l ờ i ghi chú có th ể ch ứ a b ấ t k ỳ lo ại thông tin nào cũng nhƣ các thuộ c tính đặ c t ả Ngoài ra còn có các cơ chế m ở r ộ ng, bao g ồ m giá tr ị đính kèm, hạ n ch ế đố i v ớ i ph ầ n t ử , và khuôn m ẫu, định nghĩa mộ t lo ạ i ph ầ n t ử , và khuôn m ẫ u, định nghĩa mộ t lo ạ i ph ầ n t ử mô hình m ớ i d ự a trên m ộ t ph ầ n t ử s ẵ n có M ộ t h ệ th ố ng s ẽ đƣợ c miêu t ả trong nhi ề u lo ạ i mô hình khác nhau, m ỗ i lo ạ i mô hình nh ằ m m ộ t m ục đích khác nhau Mô hình phân tích miêu tả nh ữ ng yêu c ầ u v ề m ặ t ch ức năng và mô hình hóa các lớp ngoài đờ i th ự c Mô hình thi ế t k ế chuy ể n t ả i k ế t qu ả phân tích thành m ộ t gi ả i pháp k ỹ thu ậ t, theo khái ni ệ m c ủ a m ộ t thi ế t k ế ph ầ n m ề m ho ạt độ ng hoàn ch ỉ nh Mô hình xây d ự ng code th ể hi ệ n h ệ th ố ng qua vi ệ c th ảo chƣơng cho nó trong mộ t ngôn ng ữ l ập trình hƣớng đố i tƣợ ng Và cu ố i cùng, mô hình tri ển khai đị nh v ị chƣơng trình vừa đƣợ c t ạ o nên trong m ộ t ki ế n trúc v ậ t lý bao g ồ m các máy tính và các trang thi ế t b ị Công vi ệ c đƣợ c làm theo nhi ề u vòng l ặ p khác nhau ch ứ không ph ả i ch ỉ là m ộ t chu ỗ i th ự c hi ệ n m ộ t l ầ n Mô hình UML có tác d ụ ng: Cho ta th ấy cái nhìn rõ hơn về h ệ th ống (cái nhìn tĩnh và độ ng) Có nhi ề u công v ụ có th ể sinh ra mã t ừ UML và ngƣợ c l ạ i UML không ph ả i là m ộ t ngôn ng ữ l ậ p trình UML th ể hi ện phƣơng pháp phân tích hƣớng đối tƣợ ng nên không l ệ thu ộ c ngôn ng ữ l ậ p trình Nhi ề u công c ụ có th ể sinh ra mã t ừ UML và ngƣợ c l ạ i Có r ấ t nhi ề u công c ụ ph ầ n m ề m h ỗ tr ợ phân tích thi ế t k ế dùng UML 8 UML dùng các ký hi ệ u ho ặc phong phú để bi ể u di ễ n h ệ th ống đang đƣợ c nghiên c ứ u H ệ th ố ng ký hi ệ u ch ặ t ch ẽ , th ể hi ệ n nhi ề u công c ụ khác nhau, giúp ngƣờ i thi ế t k ế khác bi ệ t v ề ngôn ng ữ đề u có th ể hi ểu đƣợ c UML giúp xây d ựng mô hình chính xác, đầy đủ t ấ t c ả các công đoạ n t ừ phân tích, thi ế t k ế cho đế n khi tri ể n khai Use Case dùng cho phân tích, Class, Senquence …dùng cho thiế t k ế , Component, Deployment dùng cho tri ể n khai Các mô hình c ủ a UML có th ể k ế t n ố i v ớ i nhi ề u ngôn ng ữ l ậ p trình Có th ể ánh x ạ các mô hình UML v ề m ộ t ngôn ng ữ l ập trình nhƣ C++, Java/ UML giúp xây d ự ng các tài li ệu đặ c t ả , tài li ệ u ki ế n trúc, tài li ệ u thi ế t k ế… 1 3 2 Biểu đồ Use Case M ộ t bi ểu đồ Use Case ch ỉ ra m ộ t s ố lƣợ ng tác nhân ngo ạ i c ả nh và m ố i liên k ế t c ủa chúng đố i v ớ i Use Case mà h ệ th ố ng cung c ấ p M ộ t Use Case là m ộ t l ờ i miêu t ả c ủ a m ộ t ch ức năng mà hệ th ố ng cung c ấ p L ờ i miêu t ả c ủ a Use Case thƣờ ng là m ột văn bả n tài li ệu, nhƣng kèm theo đó cũng có thể là m ộ t bi ể u đồ ho ạt động Các Use Case đƣợ c miêu t ả duy nh ất theo hƣớ ng nhìn t ừ ngoài vào c ủ a các tác nhân (hành vi c ủ a h ệ th ống theo nhƣ sự mong đợ i c ủa ngƣờ i s ử d ụ ng), không miêu t ả ch ức năng đƣợ c cung c ấ p s ẽ ho ạt độ ng n ộ i b ộ bên trong h ệ th ố ng ra sao Các Use Case định nghĩa các yêu cầ u v ề m ặ t ch ức năng đố i v ớ i h ệ th ố ng M ộ t tác nhân (Actor) là m ột ngƣờ i ho ặ c m ộ t v ật nào đó tƣơng tác vớ i h ệ th ố ng, s ử d ụ ng h ệ th ố ng 9 CHƢƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐ NG 2 1 KH Ả O SÁT HI Ệ N TR Ạ NG 2 1 1 Thông tin chung 2 1 1 1 Th ờ i gian kh ả o sát 8h – 10h ngày 4/2/2019 2 1 1 2 Địa điể m - Trƣờng THCS Chu Văn AN, Thị tr ấn Nam Phƣớ c, huy ệ n Duy Xuyên, Qu ả ng Nam 2 1 1 3 Thành ph ầ n cung c ấ p thông tin Đại diện Trƣờng THCS Chu Văn An: thầy hiệu trƣởng Nguyễn Lợi 2 1 2 N ộ i dung kh ả o sát 2 1 2 1 Thông tin liên h ệ Trƣờng THCS Chu Văn An, Thị trấn Nam Phƣớc, huyện Duy Xuyên, Quảng Nam 2 1 2 2 Thông tin d ự án Ngày nay công nghệ thông tin đóng một vai trò rất quan trọng trong đời sống Tin học có rất nhiều ứng dụng trong lĩnh vực quản lý Đặc biệt, việc sử dụng tin học để quản lý điểm của trƣờng học đã làm đơn giản hóa một công việc vốn dĩ rất phức tạp Vì vậy, tôi đã chọn đề tài xây dựng phần mềm quản lý điểm của trƣờng THCS nhằm giúp cho các trƣờng học có một phần mềm chuyên dụng đầy đủ các yêu cầu, chức năng phục vụ cho công việc nhập, tính điểm, thống kê bảng điểm,…Dự án phát triển phần mềm quản lý điểm đƣợc sử dụng để hỗ trợ để giúp cho công việc quản lý điểm của trƣờng học đƣợc thuận lợi Qua quá trình khảo sát thực tế, tôi nhận thấy rằng các trƣờng học vẫn quản lý điểm bằng sổ sách và cao hơn là sử dụng công cụ Excel trong quá trình quản lý điểm Việc quản lý điểm, lƣu trữ thông tin học sinh, thông tin lớp học, báo cáo thống kê là công việc rất vất vả tốn rất nhiều thời gian, hơn nữa sẽ xảy ra sự thiếu chính xác khi quản lý nhiều thông tin nhƣ vậy Mỗi khi có sự thay đổi thông tin của một học sinh thì ngƣời quản lý phải thay đổi lại giấy tờ hiện tại cho phù hợp…Vì vậy việc quản lý bằng phƣơng pháp thủ công mang lại hiệu quả 10 kém hơn hẳn so với việc áp dụng CNTT vào quản lý mang lại hiệu quả n hanh chóng, chính xác và tiện lợi, ít tốn chi phí hơn cho ngƣời quản lý 2 1 2 3 Cơ sở h ạ t ầ ng c ủa nhà trườ ng trong vi ệ c qu ản lý điể m Qua quá trình khảo sát tôi đƣợc biết công tác quản lý điểm nhà trƣờng vẫn dựa trên công cụ lƣu trữ bằng sổ sách, và các ứng dụng lƣu trữ cơ bản nhƣ Word, excel Việc lƣu trữ thủ công sẽ nhiều thời gian, công tác quản lý cồng kềnh, dẫn đến sự mất mát thông tin, hoặc thông tin sai hỏng sửa chữa lại phải làm lại giấy tờ 2 1 2 4 Hướ ng tri ể n khai th ự c hi ện đề tài Dựa vào tài liệu thu thập đƣợc qua buổi khảo sát tại trƣờng nắm vững dƣợc sơ bộ về công tác quản lý điểm, từ đó đi vào phân tích và thiết kế hệ thống quản lý điểm các thông tin liên quan Tìm hiểu các tài liệu liên quan đến công tác quản lý điểm, tham khảo một số phần mềm quản lý điểm đã đƣợc ứng dụng trực tiếp tại một số trƣờng Xây dựng phần mềm với bản phân tích thiết kế trên 2 2 PHÂN TÍCH THI Ế T K Ế H Ệ TH Ố NG 2 2 1 Danh sách các Use Case ST T Tên Các Use Case Ý nghĩa/ Ghi chú 1 Tổng quát Đây là Use Case tổng quát nhất của toàn hệ thống 2 Đăng Nhập Mọi ngƣời dùng muốn sử dụng hệ thống đều phải đăng nhập với tên đăng nhập và mật khẩu hợp lệ 3 Quản lý giáo viên Quản lý thông tin giáo viên 4 Quản lý học sinh Quản lý thông tin học sinh 5 Quản lý lớp Quản lý thông tin về lớp học 6 Quản lý môn học Quản lý thông tin về môn học 7 Quản lý học kỳ Quản lý học kỳ 8 Quản lý điểm Quản lý điểm học sinh 11 9 Thống kê Thống kê về điểm của học sinh , thống kê học sinh 10 Tìm kiếm Tìm kiếm thông tin học sinh , giáo viên 2 2 2 Các bi ểu đồ Use Case c ủ a h ệ th ố ng 2 2 2 1 Bi ểu đồ Use Case t ổ ng quát 2 2 2 2 Bi ểu đồ Use Case đăng nhậ p 2 2 2 3 Bi ểu đồ Use Case Qu ả n lý giáo viên 12 2 2 2 4 Bi ểu đồ Use Case Qu ả n lý h ọ c sinh 13 2 2 2 5 Bi ểu đồ Use Case Qu ả n lý l ớ p 2 2 2 6 Bi ểu đồ Use Case Qu ản lý điể m 14 2 2 2 7 Bi ểu đồ Use Case Qu ả n lý h ọ c k ỳ 2 2 2 8 Bi ể u đồ Use Case Qu ả n lý môn h ọ c 15 2 2 2 9 Bi ểu đồ Use Case tìm ki ế m thông tin h ọ c sinh 2 2 2 10 Bi ểu đồ Use Case tìm ki ế m thông tin giáo viên 2 2 2 11 Bi ểu đồ Use Case th ố ng kê \ 16 2 2 3 Đặ c t ả các Use Case 2 2 3 1 Đặ c t ả Use Case đăng nhậ p Tóm t ắ t: Use Case này dùng để th ự c hi ệ n ch ứ c năng đăng nhậ p vào h ệ th ố ng qu ản lý Khi đăng nhậ p thành công vào h ệ th ống thì ngƣờ i s ử d ụ ng có th ể qu ả n lý các ch ức năng củ a h ệ th ố ng Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng đăng nhậ p t ừ giao di ệ n c ủ a h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ện đăng nhậ p - Ngƣờ i dùng nh ậ p tài kho ả n c ủ a mình (bao g ồm tên đăng nhậ p, m ậ t kh ẩ u) - H ệ th ố ng xác nh ận thông tin đăng nhậ p - Hi ể n th ị giao di ệ n - K ế t thúc Use Case 2 2 3 2 Đặ c t ả Use Case Qu ả n lý giáo viên Tóm t ắ t: Use Case này dùng để th ự c hi ệ n ch ức năng quả n lý thông tin giáo viên, ngƣờ i dùng có th ể c ậ p nh ậ t thông tin giáo viên v ớ i các ch ức năng: Thêm giáo viên, s ử a thông tin giáo viên, xóa giáo viên ra kh ỏ i danh sách qu ả n lý Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng quả n lý giáo viên t ừ giao di ệ n c ủ a h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n qu ả n lý giáo viên - Ngƣờ i dùng ch ọ n ch ức năng cậ p nh ậ t H ệ th ố ng xác nh ậ n thông tin c ậ p nh ậ t - Hi ể n th ị giao di ệ n - K ế t thúc Use Case 2 2 3 3 Đặ c t ả Use Case Qu ả n lý h ọ c sinh Tóm t ắ t: Use Case này dùng để th ự c hi ệ n ch ức năng quả n lý thông tin h ọ c sinh, ngƣờ i dùng có th ể c ậ p nh ậ t thông tin h ọ c sinh v ớ i các ch ức năng: Thêm, s ử a, xóa thông tin h ọ c sinh ra kh ỏ i danh sách qu ả n lý Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng quả n lý h ọ c sinh t ừ giao di ệ n c ủ a h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n qu ả n lý h ọ c sinh 17 - Ngƣờ i dùng th ự c hi ệ n ch ức năng cậ p nh ậ t H ệ th ố ng xác nh ậ n thông tin c ậ p nh ậ t - Hi ể n th ị giao di ệ n - K ế t thúc Use Case 2 2 3 4 Đặ c t ả Use Case Qu ả n lý l ớ p Tóm t ắ t: Use Case này dùng để th ự c hi ệ n ch ức năng quả n lý thông tin l ớ p h ọc, ngƣờ i dùng có th ể c ậ p nh ậ t thông tin l ớ p h ọ c v ớ i các ch ức năng: Thêm, sử a, xóa thông tin l ớ p ra kh ỏ i danh sách qu ả n lý Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng quả n lý l ớ p t ừ giao di ệ n c ủ a h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n qu ả n lý l ớ p - Ngƣờ i dùng th ự c hi ệ n ch ức năng cậ p nh ậ t H ệ th ố ng xác nh ậ n thông tin c ậ p nh ậ t - Hi ể n th ị giao di ệ n - K ế t thúc Use Case 2 2 3 5 Đặ c t ả Use Case Qu ản lý điể m Tóm t ắ t: Use Case này dùng để c ậ p nh ật điể m h ọ c sinh c ủ a t ừ ng môn h ọ c Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng nh ập điể m t ừ giao di ệ n c ủ a h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n c ậ p nh ật điể m - Thông tin c ậ p nh ật điể m g ồ m: l ớ p, h ọ c sinh, môn h ọc, năm họ c, h ọ c k ỳ, điể m - Ngƣờ i dùng th ự c hi ệ n các ch ức năng cậ p nh ậ t H ệ th ố ng xác nh ậ n thông tin c ậ p nh ậ t - Hi ể n th ị giao di ệ n - K ế t thúc Use Case 2 2 3 6 Đặ c t ả Use Case Qu ả n lý h ọ c k ỳ Tóm t ắ t: Use Case này dùng để th ự c hi ệ n ch ức năng quả n lý h ọ c k ỳ, ngƣờ i dùng có th ể c ậ p nh ậ t thông tin h ọ c k ỳ v ớ i các ch ức năng: Thêm, sử a, xóa thông tin h ọ c k ỳ ra kh ỏ i danh sách qu ả n lý 18 Dòng s ự ki ệ n: - Ng ƣờ i dùng ch ọ n ch ức năng quả n lý h ọ c k ỳ t ừ giao di ệ n c ủ a h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n qu ả n lý h ọ c k ỳ - Ngƣờ i dùng th ự c hi ệ n ch ức năng cậ p nh ậ t H ệ th ố ng xác nh ậ n thông tin c ậ p nh ậ t - Hi ể n th ị giao di ệ n - K ế t thúc Use Case 2 2 3 7 Đặ c t ả Use Case Qu ả n lý môn h ọ c Tóm t ắ t: Use Case này dùng để th ự c hi ệ n ch ức năng quả n lý môn h ọc, ngƣờ i dùng có th ể c ậ p nh ậ t thông tin môn h ọ c v ớ i các ch ức năng: Thêm, sử a, xóa thông tin môn h ọ c ra kh ỏ i danh sách qu ả n lý Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng quả n lý môn h ọ c t ừ giao di ệ n c ủ a h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n qu ả n lý môn h ọ c - Ngƣờ i dùng th ự c hi ệ n ch ức năng cậ p nh ậ t H ệ th ố ng xác nh ậ n thông tin c ậ p nh ậ t - Hi ể n th ị giao di ệ n - K ế t thúc Use Case 2 2 3 8 Đặ c t ả Use Case tìm ki ế m giáo viên Tóm t ắ t: Use Case này dùng để tìm ki ế m thông tin giáo viên m ộ t cách nhanh chóng và chính xác nh ấ t Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng tìm kiế m giáo viên trên giao di ệ n h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n tìm ki ế m giáo viên - Ngƣờ i dùng ch ọ n tiêu chí c ầ n tìm ki ế m theo: mã giáo viên hay tên giáo viên Sau đó chọ n ch ức năng tìm kiế m H ệ th ố ng xác nh ậ n thông tin tìm ki ế m - Hi ể n th ị thông tin tìm đƣợ c trên giao di ệ n - K ế t thúc Use Case 19 2 2 3 9 Đặ c t ả Use Case tìm ki ế m h ọ c sinh Tóm t ắ t: Use Case này dùng để tìm ki ế m thông tin h ọ c sinh m ộ t cách nhanh chóng và chính xác nh ấ t Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng tìm kiế m h ọ c sinh trên giao di ệ n h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n tìm ki ế m h ọ c sinh - Ngƣờ i dùng ch ọ n tiêu chí c ầ n tìm ki ế m theo: mã h ọ c sinh hay tên h ọ c sinh Sau đó chọ n ch ức năng tìm kiế m H ệ th ố ng xác nh ậ n thông tin tìm ki ế m - Hi ể n th ị thông tin tìm đƣợ c trên giao di ệ n - K ế t thúc Use Case 2 2 3 10 Đặ c t ả Use Case th ố ng kê h ọ c sinh Tóm t ắ t: Use Case này dùng để th ố ng kê thông tin h ọ c sinh m ộ t cách nhanh chóng và chính xác nh ấ t Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng thố ng kê h ọ c sinh trên giao di ệ n h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n th ố ng kê h ọ c sinh - H ệ th ố ng xác nh ậ n thông tin c ầ n th ố ng kê - Hi ể n th ị thông tin tìm đƣợ c trên giao di ệ n - K ế t thúc Use Case 2 2 3 11 Đặ c t ả Use Case th ống kê điể m Tóm t ắ t: Use Case này dùng để th ống kê thông tin điể m m ộ t cách nhanh chóng và chính xác nh ấ t Dòng s ự ki ệ n: - Ngƣờ i dùng ch ọ n ch ức năng thống kê điể m trên giao di ệ n h ệ th ố ng - H ệ th ố ng hi ể n th ị giao di ệ n th ống kê điể m - H ệ th ố ng xác nh ậ n thông tin c ầ n th ố ng kê - Hi ể n th ị thông tin tìm đƣợ c trên giao di ệ n - K ế t thúc Use Case 20 2 3 THI Ế T K Ế CƠ SỞ D Ữ LI Ệ U 2 3 1 Gi ớ i thi ệ u b ảng đăng nhậ p 2 3 2 Gi ớ i thi ệ u b ả ng h ọ c sinh 21 2 3 3 Gi ớ i thi ệ u b ả ng môn h ọ c 2 3 4 Gi ớ i thi ệ u b ả ng l ớ p 22 2 3 5 Gi ớ i thi ệ u b ả ng giáo viên 23 2 3 6 Gi ớ i thi ệ u b ả ng h ọ c k ỳ 24 2 3 7 Gi ớ i thi ệ u b ảng điể m 25 2 3 8 Mô hình quan h ệ các b ả ng 2 4 CÀI ĐẶT PHẦN MỀM CHẠY QUA CÁC MÁY TRẠM 2 4 1 Tạo tài khoản sa Bước 1: Đăng nhập vào SQL Management Studio bằng Windows Authentication 26 Bước 2: Vào phần Security/Logins Bước 3: Click chuột phải vào sa chọn Properties 27 Bước 4: Ở Tab General , ta tiến hành đặt Password cho tài khoản sa Nhớ đánh dấu tích vào Enforce password policy 28 Bước 5: Ở Status tab , ta chọn: Permission = Grant, Login = Enabled 29 Sau đó bấm OK , tài khoản sa sẽ đƣợc bật Bây giờ bạn có thể đăng nhập vào SQL Management System bằng tài khoản sa 2 4 2 Các bƣớc chia sẻ dữ liệu SQL Server Cấu hình SQL Server, đây là việc quan trọng, các cấu hình này cho phép bạn kết nối vào cơ sở dữ liệu từ một máy tính khác trong mạng LAN Bước 1: Vào chức năng: Vào Start > All Programs > SQL Server 2014 R2 > Configuration Tools > SQL Server 2014 Configuration Manager (tùy thuộc vào phiên bản bạn đang sử dụng) Chức năng này cho phép bạn cấu hình để có thể từ một máy tính khác truy cập vào SQL Server thông qua IP hoặc Server name Bước 2: Bạn cần vào Start service: SQL Server Browser Nhấn phải chuột vào nó chọn Proprety 30 Chuyển chế độ Start service sang Automatic Sau đó nhấn Start , để khởi động dịch vụ 31 B ước 3: Tiếp theo bật TPC/IP cho phép máy tính khác kết nối vào SQL Server thông qua IP Click chuột phải vào TCP/TP chọn Properties Chuyển qua tab IP Address Tại ô TCP Port của IP1 và IPALL đặt là 1433 (đây là cổng kết nối của SQL Server) Sau đó nhấn chọn OK 32 Tƣơng tự bật: Named Pipes , cho phép máy tính khác kết nối vào SQL Server thông qua Server name Bước 4: Tiếp theo, đảm bảo rằng SQL Server của bạn đang chạy dƣới chế độ Network Service 33 Sau khi cấu hình xong, restart lại service của SQL Server Bước 5: Để cho chắn chắc hơn là đã có thể truy cập từ máy khác thông qua mạng LAN, bạn nên cho phép cổng 1433 lƣu thông dễ dàng hơn qua cái tƣờng lửa: Vào Control Panel, chọn Windows Firewall, chọn Advanced settings 34 Phần Inbound Rules , chọn New Rule , chọn Port, chọn next , chọn TCP , chọn Specific local ports : để là 1433 , chọn Next , chọn Allow the connection , chọn Next , chọn Next , ô Name để là SQL cho dễ nhớ Chọn Finish 35 Làm tƣơng tự với bên Outbound Rules 36 CHƢƠNG 3: DEMO CHƢƠNG TRÌNH 3 1 YÊU CẦU HỆ THỐNG Muốn chạy phần mềm trên hệ thống ngƣời dùng phải cài đặt hệ điều hành máy tính và các công cụ hỗ trợ: Chạy trên windows 8, windows 10 Cài đặt visual studio 10, 12 Cài đặt sql server 2008, 2012 3 2 GIỚI THIỆU CÁC GIAO DIỆN CHƢƠNG TRÌNH 3 2 1 Giao diện đăng nhập Mô t ả : 37 Khi ch ạ y h ệ th ố ng s ẽ hi ện lên khung để ngƣờ i dùng nh ậ p thông tin tài kho ả n g ồm tên đăng nhậ p và m ậ t kh ẩ u N ếu đă ng nh ậ p sai thông tin thì s ẽ xu ấ t hi ệ n b ả ng thông báo l ỗ i Và khi đăng nhập đ úng xu ấ t hi ệ n giao di ện chƣơng trình chính 3 2 2 Giao di ệ n màn hình chính Mô tả: Khi đăng nhập hệ thống thành công sẽ xuất hiện màn hình giao diện chính Nơi sẽ hiển thị những chức năng để thực hiện thao tác quản lý hệ thống 38 3 2 3 Giao diện quản lý thông tin giáo viên Mô tả: Đây là màn hình giao diện để thực hiện thao tác quản lý giáo viên trong trƣờng Chọn thông tin giáo viên cần sửa Thực hiện click vào nút sửa sẽ hiện lên bảng thông báo Bạn có muốn sửa không? Bấm yes và chọn thông tin cần sửa Sau đó bấm nút lƣu để cập nhật thông tin vào cơ sở dữ liệu N ếu muốn thêm hay xóa thông tin thì chỉ cần bấm vào các nút thao tác Khi thực hiện xong thao tác thì phải lƣu để thông tin đƣợc cập nhật vào cơ sở dữ liệu 39 3 2 4 Giao diện quản lý học sinh Mô tả: Đây là màn hình giao diện để thực hiện thao tác quản lý học sinh trong trƣờng Chọn thông tin học sinh cần sửa Thực hiện click vào nút sửa sẽ hiện lên bảng thông báo Bạn có muốn sửa không? Bấm yes và chọn thông tin cần sửa Sau đó bấm nút lƣu để cập nhật thông tin vào cơ sở dữ liệu N ếu muốn thêm hay xóa thông tin thì chỉ cần bấm vào các nút thao tác Khi thực hiện xong thao tác thì phải lƣu để thông tin đƣợc cập nhật vào cơ sở dữ liệu 40 3 2 5 Giao diện quản lý học kỳ Mô tả: Đây là màn hình giao diện để thực hiện thao tác quản lý học kỳ trong trƣờng Chọn thông tin học cần sửa Thực hiện click vào nút sửa sẽ hiện lên bảng thông báo Bạn có muốn sửa không? Bấm yes và chọn thông tin cần sửa Sau đó bấm nút lƣu để cập nhật thông tin vào cơ sở dữ liệu N ếu muốn thêm hay xóa thông tin thì chỉ cần bấm vào các nút thao tác Khi thực hiện xong thao tác thì phải lƣu để thông tin đƣợc cập nhật vào cơ sở dữ liệu 41 3 2 6 Giao diện quản lý môn học Mô tả: Đây là màn hình giao diện để thực hiện thao tác quản lý môn học trong trƣờng Chọn thông tin môn học cần sửa Thực hiện click vào nút sửa sẽ hiện lên bảng thông báo Bạn có muốn sửa không? Bấm yes và chọn thông tin cần sửa Sau đó bấm nút lƣu để cập nhật thông tin vào cơ sở dữ liệu N ếu muốn thêm hay xóa thông tin thì chỉ cần bấm vào các nút thao tác Khi thực hiện xong thao tác thì phải lƣu để thông tin đƣợc cập nhật vào cơ sở dữ liệu 42 3 2 7 Giao diện quản lý lớp học Mô tả: Đây là màn hình giao diện để thực hiện thao tác quản lý lớp học trong trƣờng Chọn thông tin lớp học cần sửa Thực hiện click vào nút sửa sẽ hiện lên bảng thông báo Bạn có muốn sửa không? Bấm yes và chọn thông tin cần sửa Sau đó bấm nút lƣu để cập nhật thông tin vào cơ sở dữ liệu N ếu muốn thêm hay xóa thông tin thì chỉ cần bấm vào các nút thao tác Khi thực hiện xong thao tác thì phải lƣu để thông tin đƣợc cập nhật vào cơ sở dữ liệu 43 3 2 8 Giao diện thống kê học sinh Mô tả: Đây là màn hình giao diện để xem thông tin thống kê học sinh của trƣờng THCS Chu Văn An 44 3 2 9 Giao diện tìm kiếm học sinh Mô tả: Đây là màn hình giao diện tìm kiếm thông tin học sinh một cách nhanh chóng Có thể tìm theo mã học sinh hoặc tìm theo tên của học sinh đó 45 3 2 10 Giao diện tác giả Mô tả: Đây là màn hình giao diện hiển thị thông tin của tác giả 46 C KẾT LUẬN 1 Kết quả đạt đƣợc - Xây dựng thành công hệ thống quản lý điểm trƣờng THCS Chu Văn An - Tìm hiểu tƣơng đối kỹ về nghiệp vụ: Quản lý, Thống kê - Tì m hiểu tƣơng đối căn bản và đầy đủ về C#, Windown From - Phân tích thiết kế hệ thống tƣơng đối đầy đủ - Giao diện hệ thống đƣợc thiết kế đơn giản, thân thiện, dễ sử dụng - Tiếp cận và ứng dụng phƣơng pháp lập trình theo hƣớng đối tƣợng - Quản lý dễ dàng thông tin học sinh, lớp, giáo viên, điểm - Thống kê, tìm kiếm theo các tiêu chí khác nhau, từ đó giúp cho việc quản lý đƣợc thuận lợi hơn - Hệ thống có thể đƣợc chạy trên mạng LAN 2 Hạn chế - Việc khảo sát cũng nhƣ xây dựng hệ thống còn nhiều vƣớng mắc dẫn đến thiết kế hệ thống chƣa tối ƣu, mức độ hóa chƣa cao - Do kỹ năng lập trình còn hạn chế đặc biệt là vận dụng các tính năng mới của C# và lập trình CSDL - Chƣa khai thác hết khả năng tối đã giữa các ngôn ngữ nhằm tối ƣu hóa và cải tiến tốc độ chạy của chƣơng trình 3 Ki ến nghị Mong đƣợc thầy cô đánh giá và góp ý để bài báo cáo khóa luận đƣợc hoàn thiện hơn 47 D TÀI LIỆU THAM KHẢ O [1] ThS Đỗ Quang Khôi - Bài giảng Phân tích và thiết kế hệ thống hướng đối tượng –– Trƣờng Đại học Quảng Nam [2] ThS Đỗ Quang Khôi – B ài giảng Công Nghệ Phần Mềm –Trƣờng Đại Học Quảng Nam [3] ThS Nguyễn Văn Khƣơng - Bài giảng Lập trình ngôn ngữ winform C# NET –Trƣờng Đại Học Quảng Nam [4] Trang web: https://www youtube com/watch?v=uZK8H97MwD0 48 NHẬN XÉT CỦA GIẢNG VIÊN …………………………………………………………………… …………………………………………………………………… …………………………………………………………………… …………………………………………………………………… …………………………………………………………………… ………………………… Cán bộ hƣớng dẫn Th s Nguyễn Văn Khƣơng Sinh viên thực hiện Hà Quốc Dũng Cán bộ chấm 1 ………………… Cán bộ chấm 2 ……………………
UBND TỈNH QUẢNG NAM TRƢỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN - - HÀ QUỐC DŨNG ỨNG DỤNG WINFORM C#.NET XÂY DỰNG PHẦN MỀM QUẢN LÝ ĐIỂM HỌC SINH TRƢỜNG THCS CHU VĂN AN – DUY XUYÊN – QUẢNG NAM KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng nam, tháng năm 2019 UBND TỈNH QUẢNG NAM TRƢỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN - - KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: ỨNG DỤNG WINFORM C#.NET XÂY DỰNG PHẦN MỀM QUẢN LÝ ĐIỂM HỌC SINH TRƢỜNG THCS CHU VĂN AN – DUY XUYÊN – QUẢNG NAM Sinh viên thực HÀ QUỐC DŨNG MSSV: 2115011005 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2015 – 2019 Cán hƣớng dẫn Th.S NGUYỄN VĂN KHƢƠNG MSCB: Quảng Nam, tháng năm 2019 LỜI CẢM ƠN Em xin chân thành cảm ơn thầy cô giáo Khoa Công Nghệ Thông Tin nhƣ thầy cô Trƣờng Đại Học Quảng Nam tận tình dạy, tạo điều kiện học tập tốt giúp đỡ em suốt trình học tập trƣờng Đặc biệt, em xin chân thành cảm ơn nhiệt tình hƣớng dẫn, giúp đỡ thầy Nguyễn Văn Khƣơng suốt thời gian em làm báo cáo khóa luận Xin gửi lời cảm ơn tới gia đình, bạn bè, ngƣời bên cạnh ủng hộ, động viên, giúp đỡ em suốt thời gian qua Trong trình làm đồ án, em nỗ lực nhƣng khơng tránh khỏi thiếu sót, hạn chế Em mong nhận đƣợc đóng góp ý kiến thầy cô bạn để đề tài em ngày hoàn thiện Em xin chân thành cảm ơn! Quảng Nam, Ngày 10 tháng năm 2019 Sinh viên thực Hà Quốc Dũng MỤC LỤC LỜI CẢM ƠN A PHẦN MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục tiêu đề tài 1.3 Đối tƣợng phạm vi nghiên cứu 1.4 Phƣơng pháp nghiên cứu 1.5 Đóng góp đề tài 1.6 Cấu trúc đề tài B NỘI DUNG NGHIÊN CỨU CHƢƠNG 1: CỞ SỞ LÝ THUYẾT 1.1 GIỚI THIỆU VỀ NGƠN NGỮ LẬP TRÌNH C# 1.1.1 Khái niệm ngôn ngữ C# 1.1.2.Đặc trƣng ngôn ngữ C# 1.2 GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER 1.3 GIỚI THIỆU TỔNG QUAN VỀ UML 1.3.1 Giới thiệu chung UML 1.3.2 Biểu đồ Use Case CHƢƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 KHẢO SÁT HIỆN TRẠNG 2.1.1 Thông tin chung 2.1.1.1 Thời gian khảo sát 2.1.1.2 Địa điểm 2.1.1.3 Thành phần cung cấp thông tin 2.1.2 Nội dung khảo sát 2.1.2.1 Thông tin liên hệ 2.1.2.2 Thông tin dự án 2.1.2.3 Cơ sở hạ tầng nhà trường việc quản lý điểm 10 2.1.2.4 Hướng triển khai thực đề tài 10 2.2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 10 2.2.1 Danh sách Use Case 10 2.2.2 Các biểu đồ Use Case hệ thống 11 2.2.2.1 Biểu đồ Use Case tổng quát 11 2.2.2.2 Biểu đồ Use Case đăng nhập 11 2.2.2.3 Biểu đồ Use Case Quản lý giáo viên 11 2.2.2.4 Biểu đồ Use Case Quản lý học sinh 12 2.2.2.5 Biểu đồ Use Case Quản lý lớp 13 2.2.2.6 Biểu đồ Use Case Quản lý điểm 13 2.2.2.7 Biểu đồ Use Case Quản lý học kỳ 14 2.2.2.8 Biểu đồ Use Case Quản lý môn học 14 2.2.2.9 Biểu đồ Use Case tìm kiếm thơng tin học sinh 15 2.2.2.10 Biểu đồ Use Case tìm kiếm thơng tin giáo viên 15 2.2.2.11 Biểu đồ Use Case thống kê 15 2.2.3 Đặc tả Use Case 16 2.2.3.1 Đặc tả Use Case đăng nhập 16 2.2.3.2 Đặc tả Use Case Quản lý giáo viên 16 2.2.3.3 Đặc tả Use Case Quản lý học sinh 16 2.2.3.4 Đặc tả Use Case Quản lý lớp 17 2.2.3.5 Đặc tả Use Case Quản lý điểm 17 2.2.3.6 Đặc tả Use Case Quản lý học kỳ 17 2.2.3.7 Đặc tả Use Case Quản lý môn học 18 2.2.3.8 Đặc tả Use Case tìm kiếm giáo viên 18 2.2.3.9 Đặc tả Use Case tìm kiếm học sinh 19 2.2.3.10 Đặc tả Use Case thống kê học sinh 19 2.2.3.11 Đặc tả Use Case thống kê điểm 19 2.3 THIẾT KẾ CƠ SỞ DỮ LIỆU 20 2.3.1 Giới thiệu bảng đăng nhập 20 2.3.2 Giới thiệu bảng học sinh 20 2.3.3 Giới thiệu bảng môn học 21 2.3.4 Giới thiệu bảng lớp 21 2.3.5 Giới thiệu bảng giáo viên 22 2.3.6 Giới thiệu bảng học kỳ 23 2.3.7 Giới thiệu bảng điểm 24 2.3.8 Mô hình quan hệ bảng 25 2.4 CÀI ĐẶT PHẦN MỀM CHẠY QUA CÁC MÁY TRẠM 25 2.4.1 Tạo tài khoản sa 25 2.4.2 Các bƣớc chia sẻ liệu SQL Server 29 CHƢƠNG 3: DEMO CHƢƠNG TRÌNH 36 3.1 YÊU CẦU HỆ THỐNG 36 3.2 GIỚI THIỆU CÁC GIAO DIỆN CHƢƠNG TRÌNH 36 3.2.1 Giao diện đăng nhập 36 3.2.2 Giao diện hình 37 3.2.3 Giao diện quản lý thông tin giáo viên 38 3.2.4 Giao diện quản lý học sinh 39 3.2.5 Giao diện quản lý học kỳ 40 3.2.6 Giao diện quản lý môn học 41 3.2.7 Giao diện quản lý lớp học 42 3.2.8 Giao diện thống kê học sinh 43 3.2.9 Giao diện tìm kiếm học sinh 44 3.2.10 Giao diện tác giả 45 C KẾT LUẬN 46 Kết đạt đƣợc 46 Hạn chế 46 Kiến nghị 46 D TÀI LIỆU THAM KHẢO 47 NHẬN XÉT CỦA GIẢNG VIÊN 48 A PHẦN MỞ ĐẦU 1.1 Lý chọn đề tài Hiện nay, công nghệ thông tin đƣợc xem ngành công nghiệp mũi nhọn quốc gia, đặc biệt quốc gia phát triển, tiến hành công nghiệp hóa đại hóa nhƣ nƣớc ta Sự bùng nổ thông tin phát triển mạnh mẽ công nghệ kỹ thuật số, yêu cầu muốn phát triển phải tin học hóa vào tất ngành lĩnh vực Cùng với phát triển nhanh chóng phần cứng máy tính, phần mềm ngày trở nên đa dạng, phong phú, hoàn thiện hỗ trợ hiệu cho ngƣời Các phần mềm ngày mô đƣợc chuyên 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, số nghiệp vụ đƣợc tự động hóa cao Do mà việc phát triển phần mềm, địi hỏi khơng xác, xử lý đƣợc nhiều nghiệp vụ thực tế mà phải yêu cầu khác nhƣ tốc độ, giao diện thân thiện, mơ hình hóa đƣợc thực tế vào máy tính để giúp ngƣời sử dụng tiện lợi, quen thuộc, tính tƣơng thích cao, bảo mật cao…Các phần mềm giúp tiết kiệm phần lớn thời gian, công sức ngƣời, tăng độ xác hiệu cơng việc Một ví dụ cụ thể, việc quản lý điểm trƣờng trung học sở, THCS Chu Văn An, huyện Duy Xun, tỉnh Quảng Nam Nếu khơng có hỗ trợ tin học, việc quản lý phải cần nhiều ngƣời, chia thành nhiều khâu quản lý đƣợc tồn hồ sơ điểm học sinh, lớp học…cũng nhƣ nghiệp vụ tính điểm trung bình xếp lực học tập cho học sinh tồn trƣờng Các cơng việc địi hỏi nhiều thời gian cơng sức, mà xác hiệu khơng cao đa số làm thủ cơng tự động Chính điều mà em chọn đề tài báo cáo khoá luận: “Ứng dụng Winform C#.net xây dựng phần mềm quản lý điểm học sinh Trường THCS Chu Văn An – Duy Xuyên – Quảng Nam” nhằm mong muốn phần mềm đƣợc đƣa vào nhà trƣờng để giúp giáo vụ trƣờng quản lý học sinh dễ dàng 1.2 Mục tiêu đề tài Xây dựng đƣợc phần mềm quản lý điểm trƣờng THCS Chu Văn An – Duy Xuyên – Quảng Nam, nâng cao chất lƣợng hiệu việc quản lý điểm trƣờng 1.3 Đối tƣợng phạm vi nghiên cứu Đối tƣợng nghiên cứu: - Ngôn ngữ lập trình C# - SQL Server - Phân tích thiết kế chương trình quản lý điểm học sinh THCS Phạm vi nghiên cứu: - Trường THCS Chu Văn An, Duy Xuyên, Quảng Nam 1.4 Phƣơng pháp nghiên cứu - Đọc tài liệu - Phân tích, tổng hợp tài liệu - Thống kê, phân tích liệu - Phân tích, thiết kế xây dựng hệ thống 1.5 Đóng góp đề tài - Ý nghĩa lý luận đề tài: Đề tài tài liệu để tham khảo, nghiên cứu tiền đề để phát triển xây dựng phần mềm khác có liên quan - Ý nghĩa thực tiễn đề tài: Ứng dụng đề tài vào việc quản lý điểm trƣờng THCS Chu Văn An đƣợc thuận tiện, đạt hiệu công việc, giảm thời gian công sức quản lý sổ sách 1.6 Cấu trúc đề tài Chƣơng 1: CƠ SỞ LÝ THUYẾT Chƣơng 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Chƣơng 3: DEMO CHƢƠNG TRÌNH B NỘI DUNG NGHIÊN CỨU CHƢƠNG 1: CỞ SỞ LÝ THUYẾT 1.1 GIỚI THIỆU VỀ NGƠN NGỮ LẬP TRÌNH C# 1.1.1 Khái niệm ngôn ngữ C# Ngôn ngữ C# ngơn ngữ lập trình đƣợc phát triển từ ngơn ngữ C C++, nhƣng đƣợc tạo từ tảng phát triển hơn, Microsoft thêm vào đặt tính để làm cho ngôn ngữ dễ sử dụng hơn, nhiều số đặc tính giống với ngôn ngữ java Ngôn ngữ C# ngôn ngữ đƣợc thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code Runtime Environment, cho phép ngƣời sử dụng ngôn ngữ high – level đa dạng tảng cấu trúc máy tính khác Ngôn ngữ C# với hỗ trợ mạnh mẽ NET Framework giúp cho việc tạo ứng dụng Windows Forms hay WPF, trở nên dễ dàng 1.1.2 Đặc trƣng ngôn ngữ C# Các đặc điểm để làm cho C# ngơn ngữ lập trình chun nghiệp đƣợc sử dụng rộng rãi: C# ngôn ngữ đơn giản Nhƣ ta biết Ngơn ngữ C# ngơn ngữ lập trình đƣợc phát triển từ ngơn ngữ C C++, nhƣng đƣợc tạo từ tảng phát triển hơn, Microsoft thêm vào đặt tính để làm cho ngơn ngữ dễ sử dụng hơn, nhiều số đặc tính giống với ngôn ngữ java C# ngôn ngữ đại Một vài khái niệm mẻ mơ hồ với ngƣời vừa học lập trình, nhƣ xử lý ngoại lệ, kiểu liệu mở rộng, bảo mật mã nguồn Đây đặc tính đƣợc cho ngơn ngữ đại cần có Và C# chứa tất đặt tính ta vừa nêu Ta dần tìm hiểu đƣợc đặt tính qua học series C# ngơn ngữ lập trình hƣớng đối tƣợng Lập trình hƣớng đối tƣợng (Object-oriented programming, viết tắt: OOP) phƣơng pháp lập trình có tính chất Đó tính trừu tƣợng (abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) tính kế thừa (interitance) C# hỗ trợ cho tất đặc tính C# ngơn ngữ từ khóa Nếu ta nghĩ ngơn ngữ có nhiều khóa chƣơng trình tốt Điều khơng phải thật, lấy ví dụ ngơn ngữ C# làm điển hình Nếu bạn học sâu C# bạn thấy ngơn ngữ đƣợc sử dụng để làm nhiệm vụ Ngồi đặc điểm cịn số ƣu điểm bất C#: + C# có cấu trúc gần gũi với ngơn ngữ lập trình truyền thống, nên dễ dàng tiếp cận học nhanh + C# biên dịch nhiều tảng máy tính khác + C# đƣợc xây dựng tảng C++ Java nên đƣợc thừa hƣởng ƣu điểm ngơn ngữ + C# phần NET Framework nên đƣợc chống lƣng lớn đến từ phận + C# có IDE Visual Studio nhiều plup-in vô mãnh mẽ 1.2 GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER Microsoft SQL Server hệ thống quản lý sở liệu quan hệ (Relational Database Management Sye – RDBMS) sử dụng Transact SQL để trao đổi liệu máy khác (Client computer) máy chủ SQL Server Một RDBMS bao gồm sở liệu (CSDL), hệ thống quản lý CSDL (database engine) ứng dụng dùng để quản lý liệu nhƣ phận khác RDBMS SQL Server đƣợc tối ƣu để chạy môi trƣờng sở liệu lớn lên đến Tera-Byte phục vụ lúc cho hàng ngàn ngƣời sử dụng (user) SQL Server kết hợp “ăn ý” với server khác nhƣ Microsoft Internet Server (IIS), E-Commerce Server, Proxy Server… SQL Server có ƣu điểm sau: