Đồ án cá nhân môn học lập trình hướng đối tượng Đồ án cá nhân môn học lập trình hướng đối tượng Đồ án cá nhân môn học lập trình hướng đối tượng Đồ án cá nhân môn học lập trình hướng đối tượng Đồ án cá nhân môn học lập trình hướng đối tượng Đồ án cá nhân môn học lập trình hướng đối tượng Đồ án cá nhân môn học lập trình hướng đối tượng Đồ án cá nhân môn học lập trình hướng đối tượng
Trang 1ĐẠI HỌC DUY TÂN TRƯỜNG KHOA HỌC MÁY TÍNH KHOA KỸ THUẬT MẠNG MÁY TÍNH & TRUYỀN THÔNG
ĐỒ ÁN CÁ NHÂN MÔN HỌC:
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
GIẢNG VIÊN HƯỚNG DẪN : NGUYỄN MINH NHẬT
Trang 2CHƯƠNG I GIỚI THIỆU BÀI TOÁN
1.1 Giới thiệu bài toán
Để quản lý biên lai thu tiền điện, người ta cần các thông tin sau:
Với mỗi biên lai: Thông tin về hộ sử dụng điện, chỉ số điện cũ, chỉ số mới, số tiềnphải trả
Các thông tin riêng của từng hộ gia đình sử dụng điện: Họ tên chủ hộ, số nhà, mã sốcông tơ điện
Yêu cầu 1: Hãy xây dựng lớp khachHang để lưu trữu các thông tin riêng của mỗi hộ gia
Thiết kế giao diện GUI để thực hiện được tất cả các chức năng nêu trên
Thiết kế cơ sở dữ liệu phù hợp cho project Dữ liệu đọc và lưu từ file hoặc từ HệQuản Trị CSDL như: MS Access, SQL Server, MySQL v.v
Trang 3Yêu cầu 3: Xây dựng các phương thức thêm, xoá sửa các thông tin riêng của mỗi hộ sử
+KhachHang kế thừa lớp BienLai class
Xây dựng lớp QLBl (quản lý biên lai) với các phương thức:
+ Thêm mới thông tin của các hộ
+ Xóa thông tin của các hộ
+ Chỉnh Sửa thông tin của các hộ
+ Thoát khỏi chương trình
Trang 4CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ1.1 Phân tích
1.1.1 Lựa chọn ngôn ngữ lập trình
Ngôn ngữ lập trình: Java
Công cụ phát triển: NetBean
Môi trường vận hành: Thực hiện PC, Desktop với hệ điều hành Window X
1.2 Thiết kế
1.2.1 Thiết kế cơ sở dữ liệu
Hệ thống lưu trữ: Hệ thống File văn bản (dạng *.txt)
Gồm các file có cấu trúc như sau:
a BienLai.txt: Lưu trữ về thông tin các hộ
Thông Tin Hộ chỉ số điện cũ chỉ số điện mới số tiền phải trảNguyễn Văn A 540000 300000 1200000
Trần Thị B 647000 340000 1535000
Lê Vĩnh C 300000 100000 500000
…
b KhachHangtxt: Lưu trữ về thông tin khách hàng
Họ Tên Số Nhà Mã Công Tơ Điện
Trang 51.2.2 Thiết kế giao diện
1.2.2.1 Giao diện Command Line
Hình 1 Giao diện chinh dạng Command Line
1 Thêm mới thông tin của các hộ
2 Xóa thông tin của các hộ
3 Chỉnh Sửa thông tin của các hộ
4 Thoát khỏi chương trình
Hãy chọn mục: _
Trang 6Hình 2 Giao diện chinh dạng đồ hoạ
Trang 7private int soDienCu;
private int soTienPhaiTra; >
Trang 8public String toString() {
return "BienLai{" + "thongTinHo=" + thongTinHo + ", soDienMoi=" + soDienMoi + ", soDienCu=" + soDienCu + ", soTienPhaiTra=" +
soTienPhaiTra + '}';
}
Trang 9
Hình 3 Hình code BienLai trong NeaBeans trong lớp BienLai
Trang 10b Lớp KhachHang
Tên lớp: KhachHang.java
Thuộc tính: < private int soNha;
private int maCongToDien;
private int chiSoCu;
private int chiSoMoi;
private int soTienPhaiTra; >
BienLai kha = new BienLai();
private String hoTenChuHo;
public KhachHang() {
}
Trang 11
public int getSoTienPhaiTra() {
return (this.getChiSoMoi() - this.getChiSoCu())*5;
Trang 12public int getSoNha() {
public String toString() {
return "KhachHang{" + "hoTenChuHo=" + hoTenChuHo + ", soNha=" +soNha + ", maCongToDien=" + maCongToDien + '}';
}
>
Trang 13Hình 4 Hình code trong NeaBeans lớp KhachHang
c Lớp QLBLModel
Tên lớp: QLBLModel.java
Thuộc tính: <
Trang 14private ArrayList<KhachHang> khachhang;
BienLai bl = new BienLai();
Trang 15public void edit(KhachHang kh){
this.khachhang.remove(kh);
this.khachhang.add(kh);
}
public int tinhTongTien(){
return (this.bl.getSoDienMoi() - this.bl.getSoDienCu())*5;
}
Hình 5 Hình code trong NeaBeans trong lớp QLBLModel
d Lớp QLBLView
Trang 22Hình 6 Soure code view của Jframe
e Lop QLBLController
Trang 24Hình 7 Code của QLBLController
Trang 25CHƯƠNG III CÀI ĐẶT VÀ KIỂM THỬ3.1 GIAO DIỆN CHÍNH
3.1.1 Giao diện Comman Line
3.1.1 Giao diện GUI
Trang 263.2 Một số kết quả
3.2.1 Thêm mới khách hàng
Trang 273.2.1.2 Giao diện đồ hoạ
Trước khi thêm:
Sau khi thêm:
Trang 28Bấm ok > Kết quả đã được đưa lên danh sách
3.2.2 Xóa khách hàng ra khỏi danh sách
3.2.2.1 Giao diện Comman Line
Trang 293.2.2.2 Giao diện đồ hoạ
Trước khi xóa ta cần nhấp vào cột ta mốn xóa(VD: Lê Vĩnh C)
Trang 30Sau đó bấm nút xóa hiện thông báo
Sau khi bấm ok nó sẽ cho ta thêm 1 cảnh báo ta có thực sự muốn xóa
Trang 31Nếu chúng ta bấm Yes sẽ cho ra kết quả như sau và theo đó cũng tính tổng tiền tiện theo
yêu cầu cu:
3.2.2 Chỉnh sửa khách hàng
3.2.2.2 Giao diện đồ hoạ
Trang 343.2.3 Tính tổng tiền điện của khách hàng
3.2.3.2 Giao diện đồ hoạ
Khi ta bấm thêm tức là sẽ tính tổng vào của các hộ
Trang 353.2.4 Thoát chương trình
3.2.4.2 Giao diện đồ họa
Chương trình đã bị hủy và thoát ra
Trang 36KẾT LUẬN
1 Các vấn đề đạt được
- Hiểu biết về các hệ thống Java
- Các kỹ năng Java Core
- Các công cụ dựng của Java
- Làm việc nhóm
- Khả năng sáng tạo
- Để ý các chi tiết
2 Các vấn đề chưa đạt được
- Liên kết chức năng chưa bắt lỗi đầy đủ
- Cơ sở dữ liệu còn sơ sài
- Giao diện đồ họa chưa hoàn thiện
3 Hướng phát triển
- Tiếp tục hoàn thiện các chức năng còn hạn chế
Trang 37TÀI LIỆU THAM KHẢO
[1] overflow
https://meta.stackoverflow.com/questions/302471/how-to-put-tables-in-stack-[2] https://www.youtube.com/watch?v=8e_IvPvr
NY&list=PLhs1urmduZ2_ZFO6vu63QNWTL5XHriWKu
[3].https://www.youtube.com/watch?
v=L95658yXRgI&list=PLsyeobzWxl7rmuFYRpkqLanwoG4pQQ7oW