Phần mềm Quản lý điểm sinh viên với Java | Học phần lập trình hướng đối tượng với Java giúp sinh viên năm được phương pháp lập trình hướng đối tượng (OOP) và ngôn ngữ lập trình Java cơ bản. Bài tập lớn môn học là tổng hợp kiến thức, kỹ năng về phương pháp lập trình hướng đối tượng và ngôn ngữ lập trình Java. Nội dung bài tập lớn gồm: Phân tích bài toán, giới thiệu tông quan về phương pháp lập trình hướng đối tượng, đặc trưng của ngôn ngữ lập trình Java, cài đặt phần mềm với ngôn ngữ Java trong đó sử dụng các lớp kế thừa, lớp trừu tượng vào giao diện (interface) của lập trình hướng đối tượng. Bài tập lớn là tài liệu tham khảo hữu ích cho SV ngành CNTT.
BÁO CÁO BÀI TẬP LỚN HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TÊN BÀI TẬP LỚN: QUẢN LÝ ĐIỂM SINH VIÊN MỤC LỤC LỜI MỞ ĐẦU NỘI DUNG Chương 1- TỔNG QUAN VỀ MƠN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ NGÔN NGỮ JAVA 1.1: Mơn học lập trình hướng đối tượng: 1.2: Ngơn ngữ lập trình Java: 10 Chương 2- VIẾT CHƯƠNG TRÌNH QUẢN LÝ SINH VIÊN 12 2.1: Bài làm 12 2.2: Cơ sở liệu 13 KẾT LUẬN 22 LỜI MỞ ĐẦU Trong năm gần đây, khoa học công nghệ Việt Nam bước hội nhập vào dịng chảy khoa học cơng nghệ tiên tiến giới Công nghệ thông tin nước ta song tốc độ phát triển nhanh mạnh, chiếm vị trí quan trọng ngành khoa học công nghệ Một lĩnh vực ứng dụng tin học hóa phổ biến nước ta lĩnh vực quản lý Tin học hóa quản lý giúp cho nhà quản lý điều hành công việc cách khoa học, xác hiệu qủa Quản lý điểm công việc tương đối phức tạp, tốn nhiều thời gian cơng sức Chính vậy, tin học hóa lĩnh vực quản lí điểm yêu cầu tất yếu Muốn quản lý tốt cần có phần mềm tốt, phần mềm phải đảm bảo độ bảo mật cao, dễ sử dụng nhiều tiện ích Đề tài yêu cầu thiết thực quản lý hầu hết tất trường học hoạt động Số lượng sinh viên đơng điểm cần nhập vào nhiều, chắn gây nhiều khó khăn việc quản lý điểm sinh viên Với đề tài này, em mong muốn áp dụng kiến thức học trường với việc tìm hiểu nghiên cứu ngơn ngữ mơi trường lập trình để xây dựng hệ thống quản lý điểm hiệu Theo yêu cầu thầy giáo, tập lớn nhóm chúng em viết chương trình quản lý nhân viên công ty phần mềm ngôn ngữ java để biết sâu vai trị ngôn ngữ ngành Công nghệ Thông tin chúng em theo học Trong chương trình, nhóm chúng em cần phải: +) Sử dụng ngơn ngữ lập trình Java công cụ Netbean + SQL Server +)Yêu cầu dự án: • Chức năng: Nhập / xuất, tính tốn, thống kế, báo cáo • Phi chức năng: Giao diện GUI (giao diện đồ hoạ - form), đơn giản, dễ sử dụng • Yêu cầu khác: Sử dụng kế thừa, hình, lớp trừu tượng, phương thức trừu tượng linh hoạt tận dụng đặc điểm modifier cho thuộc tính phương thức • Lưu trữ liệu database • Báo cáo: Bản PDF: Tóm tắt Java, Phát biểu toán, cài đặt ứng dụng • Code phương pháp OOP (Class, Object, Method ) Do thời gian hạn chế chưa có kinh nghiệm nghiên cứu thực hành nên báo cáo nhiều thiếu sót Em mong nhận đóng góp ý kiến thầy để đề hồn thiện NỘI DUNG Chương 1- TỔNG QUAN VỀ MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ NGƠN NGỮ JAVA 1.1: Mơn học lập trình hướng đối tượng: 1.1.1: Sự tiến hố phương pháp lập trình: Đầu tiên lập trình khơng có cấu trúc: +) Là phương pháp xuất Phương pháp đơn giản viết tất mã lệnh vào hàm main chạy +) Ngôn ngữ sử dụng phương pháp Assembly (hợp ngữ) +) Nhược điểm phương pháp này: • Chỉ sử dụng biến tồn cục dẫn đến tốn nhớ • Vì có đoạn chương trình cần sử dụng lại nhiều lần nên dẫn đến lạm dụng lệnh goto • Khó hiểu, khó bảo trì, khơng thể tái sử dụng • Khó phát triển ứng dụng lớn Tiếp theo lập trình có cấu trúc (lập trình thủ tục): +) Sau thời gian tồn người ta dần nhận nhược điểm phương pháp đưa giải pháp chia chương trình lớn thành chức năng, chức đưa vào hàm Khi cần dùng đến chức ta gọi hàm tương ứng +) Mỗi chương trình lại chia nhỏ +) Hầu hết ngơn ngữ lập trình hỗ trợ phương pháp +) Ưu điểm: • Chương trình module hố, dễ hiểu, dễ bảo trì • Dễ dàng tạo thư viện phần mềm +) Nhược điểm: • Dữ liệu xử lý tách rời • Khi cấu trúc liệu thay đổi dẫn đến thuật toán bị thay đổi • Khơng tự động khởi tạo, giải phóng liệu động • Khơng mơ tả đầy đủ, trung thực hệ thống thực tế Tiếp theo lập trình hướng đối tượng 1.1.2: Một số khái niệm lập trình hướng đối tượng: 1.1.2.1: Đối tượng: +) Trong lập trình hướng đối tượng, đối tượng hiểu thực thể: người, vật bảng liệu, +) Một đối tượng bao gồm hai thơng tin: Thuộc tính phương thức: • Thuộc tính thơng tin, đặc điểm đối tượng Ví dụ: người có họ tên, ngày sinh, màu da, kiểu tóc, • Phương thức thao tác, hành động mà đối tượng thực Ví dụ: người thực hành động nói, đi, ăn, uống, 1.1.2.2: Lớp: +) Các đối tượng có đặc tính tương tự gom lại thành lớp đối tượng +) Bên lớp có hai thành phần thuộc tính phương thức +) Ngồi ra, lớp cịn dùng để định nghĩa kiểu liệu 1.1.2.3: Sự khác đối tượng lớp: +) Lớp khn mẫu cịn đối tượng thể cụ thể dựa khn mẫu +) Để dễ hiểu lấy ví dụ thực tế: Nói mèo lớp lồi mèo Lồi mèo có: • Các thơng tin, đặc điểm chân, mắt, có đi, có chiều cao, có cân nặng, màu lơ, • Các hành động như: kêu meo meo, đi, ăn, ngủ, Như động vật thuộc lồi mèo có đặc điểm Đối tượng mèo cụ thể mèo nằm chân +) Một ví dụ khác Ví dụ dùng hình ảnh để minh hoạ: Có thể thấy, nói đến xe oto lớp khn mẫu xe với đặc trưng có bốn bánh có thiết kế tương tự hình vẽ Đối tượng xe oto cụ thể Toyota camry, Honda city, Ford ranger +) Sự xuất hai khái niệm lớp đối tượng đặc trưng phương pháp lập trình hướng đối tượng Nó giải khuyết điểm phương pháp lập trình hướng cấu trúc để lại Ngoài khái niệm giúp biểu diễn tốt giới thực máy tính 1.1.3: Các đặc điểm lập trình hướng đối tượng: Lập trình hướng đối tượng có đặc điểm chính: +) Tính đóng gói: • Các liệu phương thức có liên quan với đóng gói thành lớp để tiện cho việc quản lý sử dụng • Ngồi ra, đóng gói cịn để che giấu số thông tin chi tiết cài đặt nội để bên ngồi khơng thể nhìn thấy +) Tính trừu tượng: Khi viết chương trình theo phong cách hướng đối tượng, việc thiết kế đối tượng ta cần rút tỉa đặc trưng chung chúng trừu tượng thành interface thiết kế xem chúng tương tác với +) Tính kế thừa: Lớp cha chia liệu phương thức cho lớp con, lớp khỏi phải định nghĩa lại, giúp chương trình ngắn gọn +) Tính đa hình: Là tượng đối tượng thuộc lớp khác hiểu thông điệp theo cách khác 1.2: Ngơn ngữ lập trình Java: Ban đầu phát triển Sun Microsystems James Gosling khởi xướng phát hành vào năm 1995 (Java 1.0 [J2SE]) Tính đến thời điểm (tháng năm 2015) phiên Java Standard Edition (JSE) Với ưu đa tảng (multi platform) Java lúc ứng dụng rộng rãi nhiều thiết bị từ máy tính đến mobile nhiều thiết bị phần cứng khác Java ngơn ngữ lập trình hướng đối tượng nên có đặc điểm chung ngơn ngữ hướng đối tượng: • Tính trừu tượng (Abstraction): tiến trình xác định nhóm thuộc tính, hành động liên quan đến thực thể đặc thù, xét mối tương quan với ứng dụng phát triển • Tính đa hình (Polymorphism): cho phép phương thức có tác động khác nhiều loại đối tượng khác Với tính đa hình, phương thức ứng dụng cho đối tượng thuộc lớp khác đưa đến kết khác Bản chất việc phương thức bao gồm số lượng tham số • Tính kế thừa (Inheritance): Điều cho phép đối tượng chia sẻ hay mở rộng đặc tính sẵn có mà khơng phải tiến hành định nghĩa lại • Tính đóng gói (Encapsulation): tiến trình che giấu việc thực thi chi tiết đối tượng người sử dụng đối tượng 10 Bên cạnh Java cịn có số đặc tính khác: • Độc lập (Write Once, Run Anywhere): Khơng giống nhiều ngơn ngữ lập trình khác C C ++, Java biên dịch, khơng biên dịch sang mã máy cụ thể, mà thay vào mã byte code chạy máy ảo Java (JVM) Điều đồng nghĩa với việc thiết bị có cài đặt JVM thực thi chương trình Java • Đơn giản: Học Java thật dễ nhiều so với C/C++, bạn quen với ngôn ngữ lập trình hướng đối tượng việc học Java dễ dàng Java trở nên đơn giản so với C/C++ loại bỏ tính đa kế thừa phép tốn trỏ từ C/C++ • Bảo mật: Java hỗ trợ bảo mật tốt thuật tốn mã hóa mã hóa chiều (one way hashing) mã hóa cơng cộng (public key) • Đa luồng: Với tính đa luồng Java viết chương trình thực thi nhiều task lúc Tính thường xử dụng nhiều lập trình game • Hiệu suất cao: Nhờ vào trình thu gom rác (garbage collection), giải phóng nhớ đối tượng không dùng đến • Linh hoạt: Java xem linh hoạt C/C ++ thiết kế để thích ứng với nhiều môi trường phát triển 1.2.1: Java sử dụng để làm gì? • Viết ứng dụng web (J2EE): Java thường sử dụng để xây dựng hệ thống web lớn đòi hỏi độ bảo mật cao, số lượng người dùng lớn ngân 11 hàng, phần mềm quản lý bệnh viện, CRM, HRM Đối với website nhỏ thơng thường viết Java • Viết ứng dụng mobile (J2ME): Trước tảng J2ME thường sử dụng để viết game app cho di động feature phone (file jar) smartphone Android lên Java lại tiếp tục sử dụng để viết app game cho tảng Android (file apk) • Viết ứng dụng desktop (J2SE): Các ứng dụng desktop viết Java thật khơng nhiều kể đến số phần mềm JMeter Designer Vista Lợi lớn ứng dụng Java bạn viết lần sau đem chương trình lên Windows, Linux hay Mac để chạy mà không cần phải viết lại Tuy nhiên chạy JVM nên performance ứng dụng thấp chút so với ngôn ngữ C/C++, C# 1.2.2: Sử dụng để lập trình Java? Để lập trình Java bạn cần đến: • JDK (Java Development KIT): Bao gồm JRE (Java Runtime Enviroment) thư viện để phát triển • IDE (Integrated Development Environment): Là ứng dụng giúp lập trình viên phát triển dễ dàng nhanh chóng Bạn sử dụng Netbeans, Eclipse IntellịIDEA để phát triển Chương 2- VIẾT CHƯƠNG TRÌNH QUẢN LÝ SINH VIÊN 2.1: Bài làm Input: Thông tin sinh viên (bao gồm môn học, sinh viên, lớp, điểm môn học) Output: Điểm trung bình Với cách quản lý điểm hồn tồn phương pháp thủ cơng cịn gặp nhiều khó khăn việc lưu trữ xử lý thơng tin Bởi cần xây dựng chương trình quản lý máy tính giúp việc quản lý cách xác hiệu làm giảm nhẹ phần đáng kể - Yêu cầu hệ thống quản lý máy tính: • Quản lý thơng tin sinh viên • Xử lí thơng tin xác khoa học 12 • Tạo form đơn giản dễ sử dụng hiệu • Có khả hỗ trợ người dùng dễ dàng tìm kiếm - Chức hệ thống quản lý điểm: • Cập nhật thơng tin o o o o Môn học Sinh viên Lớp Điểm mơn học • Xử lý thơng tin o Tính điểm trung bình • In liệu hình o o o o o In sinh viên In mã sinh viên In tên sinh viên In lớp In điểm trung bình - Thiết kế mơ hình liệu 2.2: Cơ sở liệu Để nắm yêu cầu toán, cần hiểu dõ sở liệu mà toán cần Ở em xin đưa thông tin mà phần mềm quản lý điểm cần có sau: 13 Tạo project: 14 Code điểm: 15 Code sinh viên: 16 17 Code from: 18 19 20