Xây dựng bài toán Quản Lý Dự Án | Báo cáo bài tập lớn Lập trình hướng đối tượng | Trường Đại học Phenikaa
Dự án quản lý dự án trong Java được xây dựng với mục đích cung cấp một nền tảng cho việc quản lý thông tin liên quan đến các dự án phát triển phần mềm. Ứng dụng này cho phép quản lý thông tin về các nhân viên, dự án và các nhiệm vụ trong các dự án đó. Trong quá trình phát triển, nhóm chúng em đã sử dụng các nguyên lý và mô hình thiết kế phần mềm tiên tiến để đảm bảo tính linh hoạt, mở rộng và bảo trì của dự án. Cụ thể, nhóm chúng em đã áp dụng các design pa ern như DAO (Data Access Object) và Singleton để quản lý cơ sở dữ liệu và tối ưu hóa việc truy cập dữ liệu. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đón xem.
Môn: Lập trình hướng đối tượng (Phenikaa)
Trường: Đại học Phenika
Thông tin:
Tác giả:
Preview text:
TRƯỜNG ĐẠI HỌC PHENIKAA KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
Môn lập trình hướng đối tượng Nhóm 3 - Lớp N04
ĐỀ TÀI: Xây dựng bài toán Quản Lý Dự Án
STT Mã sinh viên Họ và tên 1 22010479 Phạm Đức Hưng 2 22013820 Bùi Trung Hiếu 3 22010044 Dương Thanh Bình
Giảng viên: Phạm Đức Bắc
GIỚI THIỆU ..................................................................................................... 3
I. Xác định yêu cầu ....................................................................................... 5
1. Mục tiêu của bài tập lớn: .................................................................. 5
2. Đối tượng sử dụng: ............................................................................. 5
3. Công nghệ sử dụng: ............................................................................ 6
II. Phân tích, thiết kế hệ thống ................................................................ 6
1. Quy trình thực hiện của hệ thống .................................................. 6
2. Các chức năng chính của phần mềm: ............................................ 7
III. Thiết kế kiến trúc: ................................................................................. 7
1. 3 gói chính trong mô hình MVC: .................................................... 8
2. Thiết kế giao diện .............................................................................. 20
3.Thiết kế cơ sở dữ liệu ........................................................................ 21
KẾT LUẬN ..................................................................................................... 21 GIỚI THIỆU
Trong môi trường công nghệ hiện đại, quản lý dự án đóng
vai trò quan trọng trong việc đảm bảo sự thành công của các dự
án phát triển phần mềm. Để giúp quản lý dự án trở nên hiệu quả
hơn và dễ dàng hơn, việc sử dụng các ứng dụng và công cụ phần
mềm là điều cần thiết. Trong bối cảnh này, bài tập lớn này giới
thiệu về một ứng dụng quản lý dự án được phát triển bằng ngôn ngữ lập trình Java.
Dự án quản lý dự án trong Java được xây dựng với mục đích
cung cấp một nền tảng cho việc quản lý thông tin liên quan đến
các dự án phát triển phần mềm. Ứng dụng này cho phép quản lý
thông tin về các nhân viên, dự án và các nhiệm vụ trong các dự án đó.
Trong quá trình phát triển, nhóm chúng em đã sử dụng các
nguyên lý và mô hình thiết kế phần mềm tiên tiến để đảm bảo tính
linh hoạt, mở rộng và bảo trì của dự án. Cụ thể, nhóm chúng em
đã áp dụng các design pa ern như DAO (Data Access Object) và
Singleton để quản lý cơ sở dữ liệu và tối ưu hóa việc truy cập dữ
liệu. Ngoài ra, mô hình MVC cũng được sử dụng (Model-View-
Controller) để tổ chức mã nguồn một cách rõ ràng và dễ bảo trì.
Báo cáo này sẽ đi vào chi tiết về cấu trúc của dự án, các lớp và
chức năng của chúng, cũng như giải thích về cách triển khai các
design pa ern và mô hình MVC trong dự án. Cuối cùng, báo cáo sẽ
đề xuất một số cải tiến và hướng phát triển tiềm năng cho dự án
quản lý dự án trong tương lai.
Chi tiết quá trình xây dựng bài toán thiết kế phần mềm quản lý dự án, bao gồm:
+ Xác định yêu cầu: Mục tiêu, đối tượng sử dụng, ràng buộc của phần mềm.
+ Phân tích hệ thống: Xác định chức năng, luồng dữ liệu,
nghiệp vụ xử lý, ràng buộc hệ thống.
+ Thiết kế kiến trúc: Mô hình 3 lớp, phân chia thành phần và mối quan hệ.
+ Thiết kế giao diện: Giao diện người dùng, bố cục, thành phần giao diện.
+ Thiết kế cơ sở dữ liệu: Cấu trúc bảng dữ liệu, kiểu dữ liệu, ràng buộc dữ liệu
I. Xác định yêu cầu
Bước đầu tiên trong quá trình phát triển phần mềm là xác
định rõ ràng mục tiêu của dự án, đối tượng sử dụng phần mềm
và các ràng buộc kỹ thuật, chức năng và phi chức năng cần phải
đáp ứng. Trong quá trình này, nhóm chúng em tập trung vào việc
thu thập và phân tích thông tin từ khách hàng và các bên liên quan
để xác định một bộ yêu cầu chi tiết và cụ thể.
1. Mục tiêu của bài tập lớn:
- Hiểu khái niệm, phân tích và giải quyết bài toán lập trình hướng
đối tượng: Xác định các lớp đối tượng, mối quan hệ giữa các đối
tượng trong một hệ thống thông tin.
- Sử dụng ngôn ngữ Java để xây dựng, phát triển ứng dụng Quản lý dự án:
- Giúp quản lý thông tin dự án hiệu quả và chính xác. Điều này bao
gồm: Thông tin về nhân viên, quản lý, dự án, nhiệm vụ, …
- Tăng cường khả năng kiểm soát và theo dõi tình trạng dự án: Đem
đến khả năng theo dõi và cập nhật tình trạng của các nhiệm vụ
trong dự án một cách thuận tiện và nhanh chóng cho người dùng.
- Tối ưu hóa quản lý dự án: Hỗ trợ người quản lý trong việc
thêm, chỉnh sửa, và xóa thông tin liên quan đến các nhân viên,
nhiệm vụ của dự án, mang lại tính linh hoạt và sự tiện lợi trong quản lý.
2. Đối tượng sử dụng:
- Đối tượng sử dụng chính của phần mềm là nhân viên hoặc
các quản lý dự án bao gồm các chức năng như hiển thị thông tin
người dùng, thông tin dự án đang tham gia, thêm, sửa, xóa, tìm
kiếm các hạng mục và theo dõi tình trạng của chúng. Với giao diện
thân thiện và dễ sử dụng, phần mềm giúp nhân viên quản lý có
thể thực hiện các nhiệm vụ của mình một cách hiệu quả.
3. Công nghệ sử dụng:
- Bài tập lớn được thiết kế theo phương pháp “Lập trình hướng đối
tượng” được xây dựng theo nguyên lý Allan-Kay, bằng ngôn ngữ
Java do Sun MicroSystem đưa ra vào năm 1991 (nổi bật như các
thư viện tích hợp sẵn của Java như Java.sql, java.util,
java.awt,.v.v…), sử dụng mô hình MVC (Model-View-Control).
- Kết hợp với ngôn ngữ Java là cơ sở dữ liệu được tạo bằng MySQL
Workbench- một công cụ thiết kế cơ sở dữ liệu trực quan tích hợp
phát triển, quản trị, thiết kế, tạo và bảo trì cơ sở dữ liệu SQL vào
một môi trường phát triển tích hợp duy nhất cho hệ thống cơ sở dữ liệu MySQL.
- Sử dụng các công nghệ này giúp đảm bảo tính linh hoạt, bảo mật
và hiệu suất của phần mềm. Vì vậy nó giải quyết được những
vướng mắc gặp khi thiết kế theo phương pháp lập trình thủ tục thuần túy:
+ Mã chương trình (code) rõ ràng, dễ đọc, dễ hiểu và dễ bảo trì
+ Chương trình được tổ chức thành những Class lắp ghép với
nhau tạo thành một khối thống nhất
+ Mỗi Class gồm có nhiều Method đảm nhận các vai trò khác nhau trong chương trình
+ Có khả năng tái sử dụng tài nguyên
II. Phân tích, thiết kế hệ thống
1. Quy trình thực hiện của hệ thống
- Người dùng đăng nhập vào hệ thống
- Người dùng thao tác với các chức năng của hệ thống (xem
thông tin, thêm, sửa, xóa, tìm kiếm, hiển thị danh sách)
- Tự động lưu các dữ liệu đã thay đổi vào trong database
- Người dùng thoát hệ thống sau khi thao tác xong
2. Các chức năng chính của phần mềm:
2.1. Quản lý danh sách các nhân viên (gồm mã nhân viên, tên, số
điện thoại, email, địa chỉ, vai trò, tên đăng nhập, mật khẩu và trạng
thái): Chỉnh sửa thông tin nhân viên, truy xuất các dự án mà nhân viên
đó đang tham gia/ chịu trách nhiệm, thêm, sửa, xóa các nhiệm vụ của dự án.
2.2. Quản lý danh sách quản lý ( gồm mã quản lý, tên, số
điện thoại, email, địa chỉ, vai trò, tên đăng nhập, mật khẩu và
trạng thái ): Chỉnh sửa thông tin quản lý, truy xuất các dự án mà
quản lý đang tham gia/ chịu trách nhiệm, thêm, xóa nhân viên ở
các dự án, thêm, sửa xóa, các nhiệm vụ của dự án.
2.3. Quản lý thông tin dự án (gồm mã, tên, dung lượng phòng
học, mã, tên , số lượng thiết bị trong phòng học): Thêm, sửa, xóa các
dự án, cập nhật nhân viên, quản lý đang thực hiện dự án đó.
2.4. Tương tác với cơ sở dữ liệu: Truy vấn dữ liệu từ database:
Phần mềm có khả năng truy vấn dữ liệu từ cơ sở dữ liệu MySQL để lấy
thông tin về các đối tượng và mối liên hệ giữa chúng. Điều này đảm bảo
rằng dữ liệu hiển thị trong phần mềm luôn được đồng bộ và chính xác.
Nhìn chung, các chức năng này cho phép người dùng quản lý và
theo dõi tình trạng của các thiết bị một cách tỉ mỉ và linh hoạt,
đồng thời tương tác hiệu quả với cơ sở dữ liệu để đảm bảo tính
chính xác và hiệu suất của hệ thống.
III. Thiết kế kiến trúc:
- Sử dụng Mô hình MVC (Model-View-Controller) gồm nhiều gói trong đó có 3 gói chính: + Gói mô hình (model) :
● Gói này chứa các thành phần liên quan đến dữ liệu và logic của ứng dụng.
● Model biểu diễn dữ liệu và quản lý tất cả các hoạt
động liên quan đến nó, bao gồm truy vấn, cập nhật và xử lý logic.
● Trong ngữ cảnh của một ứng dụng quản lý dự án, các
lớp như Staff, Project và Task có thể đóng vai trò là các model. + Gói giao diện (view) :
● Gói này chứa các thành phần liên quan đến giao diện
người dùng của ứng dụng.
● View là nơi mà dữ liệu từ Model được hiển thị và
tương tác với người dùng.
● Trong một ứng dụng quản lý dự án, các giao diện
người dùng được tạo ra bằng Java Swing hoặc JavaFX
có thể đóng vai trò là các view.
+ Gói điều khiển (controller):
● Gói này chứa các thành phần liên quan đến xử lý logic
và điều khiển các sự kiện từ người dùng.
● Controller nhận các yêu cầu từ view, thực hiện các
hành động tương ứng và cập nhật model hoặc view tương ứng.
● Trong một ứng dụng quản lý dự án, các lớp điều khiển
có thể xử lý các tương tác của người dùng như thêm,
sửa, xóa nhân viên, dự án hoặc nhiệm vụ.
- Ngoài ra nhóm chúng em còn thiết kế gói truy cập dữ liệu của đối
tượng (dao-Data access object): chứa các lớp để truy vấn dữ liệu.
1. 3 gói chính trong mô hình MVC: a.
Gói Dữ Liệu (model):
Hình ảnh lớp Dự án
Hình ảnh lớp nhân viên
Hình ảnh lớp quản lý b.
Gói Giao diện (view):
Hình ảnh giao diện dự án
Hình ảnh giao diện nhân viên
Hình ảnh giao diện quản lý
Hình ảnh giao diện ăng nhập c.
Gói nghiệp vụ điều khiển (controller) :
Hình ảnh iều khiển ăng nhập
Hình ảnh iều khiển nhân viên
Hình ảnh iều khiển dự án d.
Gói thao tác, truy vấn đối tượng dữ liệu (dao):
Hình ảnh lớp ManagerDao
Hình ảnh lớp StaffDao
Hình ảnh lớp ProjectDao
- Qua việc sử dụng kiến trúc 3 lớp của mô hình MVC , nhóm
chúng em đảm bảo tính mô-đun của ứng dụng, giúp dễ
dàng bảo trì và mở rộng trong tương lai. Mỗi lớp đảm nhận
một vai trò cụ thể, giúp chia nhỏ vấn đề thành các phần nhỏ
hơn và tăng khả năng tái sử dụng mã nguồn.
2. Thiết kế giao diện
Hình ảnh giao diện đăng nhập của người dùng
- Phần giao diện của ứng dụng này được thiết kế với nguyên
tắc đơn giản và dễ sử dụng, đảm bảo người dùng có trải
nghiệm mượt mà và thuận tiện nhất có thể. Mọi thành phần,
từ các nút chức năng đến các hộp thoại và menu, đều được
sắp xếp một cách logic và trực quan. Thông tin được hiển thị
một cách rõ ràng và dễ hiểu, giúp người dùng nắm bắt nhanh
chóng mọi thông tin mà họ cần.