Phát triển phần mềm quản lí 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ÀI TẬP LỚN HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG JAVA Phát triển phần mềm Quản lí sinh viên BÀI TẬP LỚN HỌC PHẦN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG JAVA Mục lục Lời mở đầu………………………………………………………………………………4 CHƯƠNG I: TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA (OBJECT ORIENTED PROGRAMMING – OOP - WITH JAVA)………………… I TỔNG QUAN VỀ OOP…………………………………………………… II.TỔNG QUAN VỀ JAVA…………………………………………………….6 CHƯƠNG II: PHÁT BIỂU VÀ PHÂN TÍCH BÀI TỐN…………………………… 1, Phát biểu tốn………………………………………………………… 2, Phân tích tốn………………………………………………………… 3, Sơ đồ lớp…………………………………………………………………….9 CHƯƠNG III: XÂY DỰNG CSDL VÀ CÁC LỚP GIẢI QUYẾT CHỨC NĂNG CHƯƠNG TRÌNH…………………………………………………………………… 10 I Xây dựng CSDL……………………………………………………………10 II Các lớp giải chức chương trình……………………………11 CHƯƠNG IV: KIỂM THỬ VÀ ĐÁNH GIÁ………………………………………….34 Tài liệu tham khảo…………………………………………………………………….35 LỜI MỞ ĐẦU Ngày nay, tin học có bước tiến nhanh chóng ứng dụng trọng lĩnh vực sống tồn giới nói chung Việt Nam nói riêng Tin học máy tính với phần mềm cơng cụ đắc lực giúp ta quản lí, tổ chức, xếp xủa lý công việc cách nhanh chóng xác Ở nước ta nay, máy tính điện tử đặc biệt máy vi tính nhiều năm qua sử dụng phổ biến rộng rãi Sự phát triển tin học, công nghệ phần mềm, phần cứng đưa người bước tiếp cận với công nghệ thông tin Quản lý sinh viên đề tài khơng cịn q mẻ với toán quản lý Việc ứng dụng tin học vào tốn quản lí hữu ích, cần bỏ thời gian công sức mà lại thu lại hiệu cao, tiện lợi nhanh chóng Với khoảng thời gian lượng kiến thức nhiều hạn chế, vừa phân tích thiết kế, nghiên cứu tìm hiểu khai thác ngơn ngữ lập trình Java, vừa thực chương trình khó khăn em Bởi “ Quản lí sinh viên” đề tài có nội dung rộng, mặt khác khả am hiểu ngơn ngữ cịn nhiều hạn chế Xong với nỗ lực giảng thầy…, nhiều nguồn kiến thức từ bạn bè, anh chị khóa, thân em hồn thành chương trình đơn giản hạn Tuy nhiên, chương trình cịn nhiều thiếu sót hạn chế, khơng tránh khỏi sai sót mong đón nhận ý kiến đóng góp từ thầy (cô) bạn Em xin trân thành cảm ơn!!! CHƯƠNG I: TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA (OBJECT ORIENTED PROGRAMMING – OOP - WITH JAVA) I TỔNG QUAN VỀ OOP 1.1 Giới thiệu chung: Lập trình hướng đối tượng (object oriented programming- OOP), hay cịn gọi lập trình định hướng đối tượng, kĩ thuật lập trình hỗ trợ cơng nghệ đối tượng OOP xem giúp tăng suất, đơn giản hóa độ phức tạp bảo trì mở rộng phần mềm cách cho phép lập trình viên tập trung vào đối tượng phần mềm bậc cao Ngồi ra, nhiều người cịn cho OOP dễ tiếp thu cho người học lập trình phương pháp trước Một cách giản lược, khái niệm nỗ lực nhằm giảm nhẹ thao tác viết mã cho người lập trình, cho phép họ tạo ứng dụng mà yếu tố bên tương tác với chương trình giống tương tác với đối tượng vật lý Những đối tượng ngôn ngữ OOP kết hợp mã liệu mà chúng nhìn nhận đơn vị Mỗi đối tượng có tên riêng biệt tất tham chiếu đến đối tượng tiến hành qua tên Như vậy, đối tượng có khả nhận vào thông báo, xử lý liệu (bên nó), gửi hay trả lời đến đối tượng khác hay đến môi trường 1.2 Một số khái niệm: - Object: Các thực thể có trạng trái hành vi gọi object vd: bút, người, chim… - Class: Class vẽ thiết kế object(blueprint) Ví dụ nói đến xe đạp có hàng ngàn xe đạp mà khác giá, chất liệu, thiết kế… chúng xe đạp Vậy xe đạp hiểu class hàng ngàn xe đạp instance - Kế thừa (Inheritance): Kế thừa cho phép class xếp thành mối quan hệ theo thứ bâc (ông nội -> cha -> -> cháu) Class cấp thấp sử dụng thuộc tính, method… class cấp - Trừu tượng (Abstraction): Trừu tượng cho phép ẩn trình thực thi bên hiển thị chức Ví dụ: Khi bạn dùng điện thoại di dộng gọi điện nhắn tin bạn dùng để gọi điện nhắn tin cho bạn bè, bạn bên điện thoại làm để thực yêu cầu gọi nhắn tin cho phải khơng - Đóng gói (Encapsulation): Trong lập trình hướng đối tượng việc liên kết liệu method lại với giữ chúng an tồn khỏi tác động bên ngồi gọi tính đóng gói Trong java class cấp quyền cho thuộc tính hay phương thức bên ngồi dựa vào từ khố: • • • • public: Cho phép truy cập phạm vi private: Cho phép truy cập nội class protected: Chỉ cho phép class kế thừa truy cập default: Chỉ cho phép truy cập nội class package II TỔNG QUAN VỀ JAVA 1.1.Giới thiệu chung: Java ngơn ngữ lập trình hướng đối tượng Nó sử dụng phát triển phần mềm, trang web, game hay ứng dụng thiết bị di động Java khởi đầu James Gosling bạn đồng nghiệp Sun MicroSystem năm 1991 Ban đầu Java tạo nhằm mục đích viết phần mềm cho sản phẩm gia dụng, có tên Oak Java phát hành năm 1994, đến năm 2010 Oracle mua lại từ Sun MicroSystem Java tạo với tiêu chí “Viết (code) lần, thực thi khắp nơi” (Write Once, Run Anywhere – WORA) Chương trình phần mềm viết Java chạy tảng (platform) khác thông qua môi trường thực thi với điều kiện có mơi trường thực thi thích hợp hỗ trợ tảng 1.2 Đặc điểm ngôn ngữ: Sun Microsystem chịu trách nhiệm phát triển máy ảo Java chạy hệ điều hành kiến trúc CPU khác - Thông dịch: Java 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 ngơn ngữ lập trình Java có *.java biên dịch thành tập tin có *.class sau trình thơng dịch thơng dịch thành mã máy - Độc lập nền: Một chương trình viết ngơn ngữ Java chạy nhiều máy tính có hệ điều hành khác (Windows, Unix, Linux, ) có cài đặt máy ảo java (Java Virtual Machine) Viết lần chạy nơi (write once run anywhere) - Hướng đối tượng: Hướng đối tượng Java tương tự C++ Java ngôn ngữ lập trình hướng đối tượng hồn tồn Tất thứ đề cập đến Java liên quan đến đối tượng định nghĩa trước, chí hàm chương trình viết Java (đó hàm main) phải đặt bên lớp Hướng đối tượng Java khơng có tính đa kế thừa (multi inheritance) C++ mà thay vào Java đưa khái niệm interface để hỗ trợ tính đa kế thừa Vấn đề bàn chi tiết chương - Đ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 chạy song song thời điểm tương tác với - Khả chuyển (portable): Chương trình ứng dụng viết ngôn ngữ Java cần chạy máy ảo Java chạy máy tính, hệ điều hành có máy ảo Java “Viết lần, chạy 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 cụ thể như: J2SE (Java Standard Edition) hỗ trợ phát triển ứng dụng đơn, ứng dụng client-server; J2EE (Java Enterprise Edition) hỗ trợ phát triển ứng dụng thương mại, J2ME (Java Micro Edition) hỗ trợ phát triển ứng dụng thiết bị di động, không dây, … CHƯƠNG II: PHÁT BIỂU VÀ PHÂN TÍCH BÀI TỐN 1.Phát biểu tốn: Xây dựng chương trình “Quản lí sinh viên” nhằm hỗ trợ cho việc quản lí thơng tin sinh viên, điểm sinh viên,…Bài tốn đặt phân tích thiết kế hệ thống quản lí thơng tin giúp cho cơng việc có hiệu quả, tiết kiệm thời gian cho người dùng, giao diện dễ tiếp cận sử dụng Chương trình quản lí nhận thông tin sinh viên, diểm sinh viên từ người dùng lưu hệ quản trị sở liệu Người dùng thêm, sửa, cập nhập xóa thơng tin điểm sinh viên cho phù hợp (điểm sinh viên tính trung bình) Tất thông tin sinh viên phải hiển thị trực tiếp ứng dụng Hiện trường đại học Việt Nam, công ty hay doanh nghiệp ứng dụng mạnh mẽ phát triển cơng nghẹ thơng tin việc quản lí Các phầm mềm quản lí thay hồn tồn công việc thủ công trước đây, giảm đáng kể thời gian cơng sức người dùng Với chương trình “Quản lí sinh viên” đơn giản hi vọng giúp việc quản lí thơng tin sinh viên đơn giản tiết kiệm 2.Phân tích tốn: - u cầu: • Giao diện GUI (giao diện đồ họa- form) dễ dùng • Nhập/ xuất, tính tốn, hiển thị liệu • Sử dụng ngơn ngữ lập trình hướng đối tượng Java – công cụ NetBeans hệ quản trị sở liệu: SQL server, MySQL, MS Access - Chức năng: Chương trình gồm hai chức sau: • Quản lí thơng tin sinh viên: + Nhập/ xuất thông tin sinh viên + Lưu trữ thông tin sinh viên vào sở liệu + Lưu, xóa, cập nhập thơng tin sinh viên • Quản lí điểm sinh viên: + Nhập/ xuất điểm sinh viên + Lưu trữ điểm sinh viên vào sở liệu + Lưu, cập nhập, xóa điểm sinh viên Sơ đồ lớp CHƯƠNG III: XÂY DỰNG CSDL VÀ CÁC LỚP GIẢI QUYẾT CHỨC NĂNG CHƯƠNG TRÌNH I Xây dựng CSDL: Tạo Database Table: - Sử dụng Microsoft SQL Server để tạo sở liệu ( lấy tên “quanlisinhvien”) - Trong sở liệu tạo bảng theo liệu sau: + Table “SinhVien”: Thuộc tính MaSinhVien Mơ tả Mã sinh viên Kiểu liệu char(10) HoTen Họ tên sinh viên Nvarchar(50) Ràng buộc Primary key/ indentity Not null GioiTinh Giới tính smallint Not null Gmail Gmail Nvarchar(50) Not null SoDT Số điện thoại Varchar(30) Null DiaChi Địa Nvarchar(150) Null + Table “DiemSV”: Thuộc tính Ma Mơ tả Số thứ tự Kiểu liệu Int Ràng buộc Primary key MaSinhVien Mã sinh viên Char(10) DiemNam1 Điểm tổng kết năm Điểm tổng kết năm hai Điểm tổng kết năm ba Float Khóa ngoại SinhVien(MaSinhVien) Null Float Null Float Null DiemNam2 DiemNam3 Sơ đồ quan hệ: 10