Trong bài viết này, mình sẽ hướng dẫn mọi người làm bài tập lớn một cách chi tiết nhất. Nếu ae có thắc mắc, xin để lại ý kiến ở bình luận. Dựa trên đề tài của nhóm mình để ae có cái nhìn tốt nhất.

Đề tài "quản lý thiết bị máy tính"

Với đề tài trên, ae cần xác định đối tượng của bài toán, các lớp kế thừa và còn danh sách các đối tượng cần quản lý. Từ đó, viết chương trình để quản lý tất cả đối tượng. Trước khi phân tích chi tiết, ae có thể xem báo cáo bài tập lớn của nhóm mình:

1, Xác định các đối tượng

Cửa hàng bán thiết bị máy tính sẽ quản lý các đối tượng tồn tại ở trong cửa hàng như người bán, người mua, thiết bị máy tính, hóa đơn, kho hàng, ... và còn có thể nhiều đối tượng khác nữa. Nhưng với yêu cầu từ thầy cô thì chỉ cần quản lý khoảng 3 đối tượng là đủ. Vậy nên, mình chọn ra các đối tượng sau:
  • Nhân viên
  • Khách hàng
  • Mặt hàng
  • Hóa đơn

2, Xác định các lớp 

Dựa trên các đối tượng ở mục 1, sẽ phân ra các lớp khác nhau để quản lý các đối tượng đó. Các lớp kế thừa phải thể hiện được tính đa hình, mà cụ thể các lớp được diễn đạt như sau:
  • Lớp NGUOI 
  • Lớp KHACHHANG kế thừa(extends) từ NGUOI
  • Lớp NHANVIEN kế thừa(extends) từ NGUOI
  • Lớp MATHANG
  • Lớp HOADON
Ngoài ra, phải có danh sách để quản lý nhiều cá thể của một đối tượng. Ví dụ như phải có lớp DSHOADON để quản lý nhiều hóa đơn vậy. Với yêu cầu từ thầy cô (cụ thể mình học cô Xuân), thì chỉ cần quản lý một đối tượng là đủ, nhưng nếu ae làm thêm thì còn tốt hơn nữa. Các danh sách mà mình quản lý gồm:
  • Lớp DSKHACHHANG 
  • Lớp DSNHANVIEN
  • Lớp DSMATHANG
  • Lớp DSHOADON
  • Lớp MHHOADON - Quản lý các mặt hàng được mua trong hóa đơn

3, Các chức năng chính của đối tượng

Khi đã xác định được đối tượng và các lớp, chúng ta sẽ phân tích và chọn một số chức năng chính cho chương trình, cụ thể như sau:
Sơ đồ chức năng các đối tượng bằng phần mềm mindnode

4, Viết chương trình và hoàn thiện

Với yêu cầu từ thầy cô, ae sẽ viết chương trình bằng java trong đó có sử dụng menu để gọi các đối tượng quản lý ra. Với thầy cô thì chỉ cần giao diện console là đủ. Ở bài của nhóm, mình không dùng console mà dùng giao diện đồ họa JFrame như sau để làm:
Giao diện đồ họa viết bằng netbrains


Đây không là bắt buộc, nhưng mình nghĩ ae nên làm theo vì sẽ nâng cao khả năng bản thân. Mình có quay lại video demo các chức năng của phần mềm:

 

5, Chia sẻ code BTL

Phần cuối này, mình sẽ chia sẻ source code với đề tài "quản lý thiết bị máy tính". Ở đây, có 2 bản code là giao diện console và giao diện Jframe. 

Giao diện Console

Giao diện JFrame

Ở phần giao diện đồ họa, đây là phần nâng cao nên ae nào cần thì để lại email hoặc link facebook cá nhân mình sẽ gửi trực tiếp nhé!